applayerprotocols/httptransportfw/Test/T_HttpRegression/readme.txt
changeset 0 b16258d2340f
equal deleted inserted replaced
-1:000000000000 0:b16258d2340f
       
     1 T_HTTPONLINE
       
     2 
       
     3 This is a test suite of all the online unit tests for HTTP. It consists of the following tests
       
     4 
       
     5 1 Single POST transaction, with request body submitted in chunks
       
     6 2 Multiple simultaneous transactions
       
     7 3 Persistent connections
       
     8 4 Proxies
       
     9 5 TCP Transport Handler
       
    10 6 TCP Transport Handler Server Time-out
       
    11 7 Response Chunk Size variation
       
    12 8 Cancellation of single transactions
       
    13 9 Cancellation of multiple transactions
       
    14 
       
    15 
       
    16 
       
    17 1 Single POST transaction, with request body submitted in chunks
       
    18 ----------------------------------------------------------------
       
    19 Requires: http://<test server>/perl/dumpform.pl
       
    20 
       
    21 Tests client API, protocol handler and transport handler mechanisms for transmitting a request
       
    22 whose body is submitted by the client in three data chunks, each separated by a time interval
       
    23 
       
    24 1.1 Runs the test using a 1 second delay between each chunk
       
    25 
       
    26 
       
    27 
       
    28 2 Multiple simultaneous transactions
       
    29 ------------------------------------
       
    30 Requires: http://<test server>/http_tests/prothnd/1.txt through 8.txt
       
    31 
       
    32 Launches a number of transactions in parallel, each to a different URL.  The response body data
       
    33 is checked to ensure that each block of data is associated with the correct transaction.  This is
       
    34 easily done by using test files where a repeated single character is present in each file - i.e.
       
    35 1.txt contains repeated '1' characters, etc.
       
    36 
       
    37 2.1 Test 1 transaction
       
    38 2.2 Test 2 concurrent transactions
       
    39 2.3 Test 3 concurrent transactions
       
    40 2.4 Test 4 concurrent transactions
       
    41 2.5 Test 5 concurrent transactions
       
    42 2.6 Test 6 concurrent transactions
       
    43 2.7 Test 7 concurrent transactions
       
    44 2.8 Test 8 concurrent transactions
       
    45 
       
    46 
       
    47 
       
    48 3 Persistent Connections
       
    49 ------------------------
       
    50 Requires: http://<test server>/perl/dumpform.pl
       
    51 
       
    52 Launches a number of transactions sequentially.  Each one is identical (ie. the same method and URL)
       
    53 but the last in a sequence includes the 'Connection: close' header.  Since HTTP/1.1 is used for all
       
    54 transactions the sequence should re-use a single socket connection.  This must be verified by
       
    55 checking the log-file C:\logs\http\httptcphnd.txt manually; the message 'Socket closed by local host'
       
    56 or 'Socket closed by remote host' should only be seen following the final transaction in the sequence
       
    57 
       
    58 3.1 Test 1 transaction
       
    59 3.2 Test 2 sequential transactions
       
    60 3.3 Test 3 sequential transactions
       
    61 3.4 Test 4 sequential transactions
       
    62 3.5 Test 5 sequential transactions
       
    63 
       
    64 
       
    65 
       
    66 4 Proxies
       
    67 ---------
       
    68 Requires:  http://<test server>/perl/dumpform.pl  and a proxy at 10.35.2.4:9003
       
    69 
       
    70 Tests the protocol handler's ability to form correct requests based on the session's proxy settings,
       
    71 the presence/absence of a Host header and the type of URL.
       
    72 
       
    73 4.1 Absolute URL; compatible Host header; proxy on
       
    74 4.2 Absolute URL; incorrect Host header; proxy on
       
    75 4.3 Absolute URL; missing Host header; proxy on
       
    76 4.4 Relative URL; correct Host header; proxy on
       
    77 4.5 Relative URL; missing Host header; proxy on
       
    78 4.6 Absolute URL; compatible Host header; proxy off
       
    79 4.7 Absolute URL; incorrect Host header; proxy off
       
    80 4.8 Absolute URL; missing Host header; proxy off
       
    81 4.9 Relative URL; correct Host header; proxy off
       
    82 4.10 Relative URL; missing Host header; proxy off
       
    83 
       
    84 
       
    85 
       
    86 5 TCP Transport Handler
       
    87 -----------------------
       
    88 Requires: http://<test server 1>/http_tests/tcphnd/testxy.html where x := 1->15 and y := a|b
       
    89       and http://<test server 2>/http_tests/tcphnd/testxy.html where x := 1->15 and y := a|b
       
    90 
       
    91 Tests the TCP Transport Handler's ability to correctly queue submissions and maintain the socket
       
    92 connection appropriately.  This is done by issuing individual and paired requests in a variety of
       
    93 situations - HTTP/1.0 or HTTP/1.1 mode; persistent or non-persistent; queued or separate; same or
       
    94 different hosts.
       
    95 
       
    96        | HTTP Level | Persistent? | No. requests | use queuing? | same host?
       
    97 -------+------------+-------------+--------------+--------------+------------
       
    98 5.1    |     1.0    |      /      |       1      |       /      |      /
       
    99 5.2    |     1.0    |      /      |       2      |       y      |      y
       
   100 5.3    |     1.0    |      /      |       2      |       y      |      n
       
   101 5.4    |     1.0    |      /      |       2      |       n      |      y
       
   102 5.5    |     1.0    |      /      |       2      |       n      |      n
       
   103 5.6    |     1.1    |      n      |       1      |       /      |      /
       
   104 5.7    |     1.1    |      n      |       2      |       y      |      y
       
   105 5.8    |     1.1    |      n      |       2      |       y      |      n
       
   106 5.9    |     1.1    |      n      |       2      |       n      |      y
       
   107 5.10   |     1.1    |      n      |       2      |       n      |      n
       
   108 5.11   |     1.1    |      y      |       1      |       /      |      /
       
   109 5.12   |     1.1    |      y      |       2      |       y      |      y
       
   110 5.13   |     1.1    |      y      |       2      |       y      |      n
       
   111 5.14   |     1.1    |      y      |       2      |       n      |      y
       
   112 5.15   |     1.1    |      y      |       2      |       n      |      n
       
   113 
       
   114 
       
   115 
       
   116 6 TCP Transport Handler Server Time-out
       
   117 ---------------------------------------
       
   118 Requires: http://<test server>/http_tests/tcphnd/test12a.html
       
   119       and http://<test server>/http_tests/tcphnd/test12b.html
       
   120 
       
   121 Tests the TCP Transport Handler's ability to correctly detect the end of a persistent connection
       
   122 when the server times out and drops it.  With Apache, this seems to happen at around 17s but this
       
   123 may vary; so the first two or three tests should use a persistent connection and the remainder will
       
   124 make a new connection for the second transaction.
       
   125 
       
   126        | HTTP Level | Persistent? | No. requests | use queuing? | same host? | time-out between trans
       
   127 -------+------------+-------------+--------------+--------------+------------+------------------------
       
   128 6.1    |     1.1    |      y      |       2      |       y      |      y     |            5
       
   129 6.2    |     1.1    |      y      |       2      |       y      |      y     |           10
       
   130 6.3    |     1.1    |      y      |       2      |       y      |      y     |           15
       
   131 6.4    |     1.1    |      y      |       2      |       y      |      y     |           20
       
   132 6.5    |     1.1    |      y      |       2      |       y      |      y     |           25
       
   133 
       
   134 
       
   135 
       
   136 
       
   137 7 Response Chunk Size variation
       
   138 -------------------------------
       
   139 Requires: (EPOC) C:\req1.txt and C:\resp1.txt - which contain a dummy SyncML request and the
       
   140           matching response to send if the request is correctly validated .
       
   141 
       
   142 The test uses a dummy proxy server running on the EPOC device (as part of the test harness) to check
       
   143 that the client request is valid, and to return an appropriate response if it is.  The proxy is
       
   144 configured by the test harness to return the response in data chunks of a preset size.  This test
       
   145 exercises the protocol handler's independence of operation from the size of the data chunks being
       
   146 sent to it.
       
   147 
       
   148 6.1 Chunk size = 8 bytes
       
   149 6.2 Chunk size = 16 bytes
       
   150 6.3 Chunk size = 24 bytes
       
   151 6.4 Chunk size = 32 bytes
       
   152 ...
       
   153 6.30 Chunk size = 240 bytes
       
   154 6.31 Chunk size = 248 bytes
       
   155 6.32 Chunk size = 256 bytes
       
   156 
       
   157 
       
   158 
       
   159 8 Cancellation of single transactions
       
   160 -------------------------------------
       
   161 Requires: http://<test server>/http_tests/prothnd/rfc2616.txt
       
   162 
       
   163 The test issues a transaction then cancels it after a preset time interval.  This time interval is
       
   164 initially set small then gradually increased, to cover a variety of points in the transaction
       
   165 processing.
       
   166 
       
   167 7.1 Interval length = 50 ms
       
   168 7.2 Interval length = 100 ms
       
   169 7.3 Interval length = 150 ms
       
   170 7.4 Interval length = 200 ms
       
   171 ...
       
   172 7.48 Interval length = 2400 ms
       
   173 7.49 Interval length = 2450 ms
       
   174 7.50 Interval length = 2500 ms
       
   175 
       
   176 
       
   177 
       
   178 9 Cancellation of multiple transactions
       
   179 ---------------------------------------
       
   180 Requires: http://<test server>/http_tests/prothnd/1.txt through 9.txt
       
   181 
       
   182 Launches a number of transactions in parallel, each to a different URL.  One of the transactions
       
   183 will be cancelled after a particular time interval.  The data received from the remaining
       
   184 transactions is checked to ensure that no data is obtained from the cancelled transaction.
       
   185 
       
   186 2.1  Test with: 1 transaction launched;    1st transaction gets cancelled after 50 ms
       
   187 2.2  Test with: 1 transaction launched;    1st transaction gets cancelled after 100 ms
       
   188 2.3  Test with: 2 transactions launched;   1st transaction gets cancelled after 50 ms
       
   189 2.4  Test with: 2 transactions launched;   1st transaction gets cancelled after 100 ms
       
   190 2.5  Test with: 2 transactions launched;   2nd transaction gets cancelled after 50 ms
       
   191 2.6  Test with: 2 transactions launched;   2nd transaction gets cancelled after 100 ms
       
   192 2.7  Test with: 3 transactions launched;   1st transaction gets cancelled after 50 ms
       
   193 2.8  Test with: 3 transactions launched;   1st transaction gets cancelled after 100 ms
       
   194 2.9  Test with: 3 transactions launched;   2nd transaction gets cancelled after 50 ms
       
   195 2.10 Test with: 3 transactions launched;   2nd transaction gets cancelled after 100 ms
       
   196 2.11 Test with: 3 transactions launched;   3rd transaction gets cancelled after 50 ms
       
   197 2.12 Test with: 3 transactions launched;   3rd transaction gets cancelled after 100 ms
       
   198 ...
       
   199 2.58 Test with: 9 transactions launched; 7th transaction gets cancelled after 100ms
       
   200 2.59 Test with: 9 transactions launched; 8th transaction gets cancelled after 50ms
       
   201 2.60 Test with: 9 transactions launched; 8th transaction gets cancelled after 100ms