[IOP1]

##The field value MAY be preceded by any amount of LWS(linear white space), 
##though a single SP is preferred.Header fields can be extended over \
##multiple lines by preceding each extra line with at least one SP or HT.

##Use Case 1

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 1"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length:        6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Header1= "Content-Length"
Header1.Val1= "6"


[IOP2]

##TF replaces all LWS and extra SP's in the response 
##between field content/value pairs with a single SP.

##Use Case 2

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 2"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 Ok \r\nWWW-Authenticate: Basic        realm="String"\r\nContent-Length: 0\r\n\r\n" 
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "WWW-Authenticate"
Header1.Val1= "Basic"


[IOP3]

##TF stores all the values of duplicate header fields(some header fields can 
##have values as  comma seperated list OR as duplicate header field -value 
##pairs.TF shd be able to handle both cases correctly.) 

##Use Case 3

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 3"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nUpgrade: HTTP/2.0\r\nUpgrade: SHTTP/1.3 \r\nContent-Length: 0\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Upgrade"
Header1.Val1= "HTTP/2.0"
Header1.Val2= "SHTTP/1.3"


[IOP4]

##TF stores all the values of duplicate header fields(some header fields can 
##have values as  comma seperated list OR as duplicate header field -value 
##pairs.TF shd be able to handle both cases correctly.) 

##Use Case 3

RunTest= 1	 
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 3A"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nUpgrade: HTTP/2.0,SHTTP/1.3\r\nContent-Length: 0\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Upgrade"
Header1.Val1= "HTTP/2.0"
Header1.Val2= "SHTTP/1.3"


[IOP5]

##TF stores all the values of duplicate header fields(some header fields can 
##have values as  comma seperated list OR as duplicate header field -value 
##pairs.TF shd be able to handle both cases correctly.) 

##Use Case 3

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 4"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Language: mi,en\r\nContent-Length: 0\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Language"
Header1.Val1= "mi"
Header1.Val2= "en"


[IOP6]

##TF stores all the values of duplicate header fields(some header fields can 
##have values as  comma seperated list OR as duplicate header field -value 
##pairs.TF shd be able to handle both cases correctly.) 

##Use Case 3

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 4A"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Language: mi\r\nContent-Language: en\r\nContent-Length: 0\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Language"
Header1.Val1= "mi"
Header1.Val2= "en"


[IOP7]

##TF is able to ignore/correctly -handle entity field/ message body 
##when a  faulty server response to a HEAD request contains a message body

##Use Case 4
 
RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 5"
Pipelining= 1
RawRequest1= "HEAD / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "HEAD"
Header1= "Content-Length"
Header1.Val1= "6"
Header2= "MsgBody"
Header2.Val1= "Null"


[IOP8]

##TF is able to ignore/correctly -handle entity field/ message body 
##when a  faulty server response to a HEAD request contains a message body

##Use Case 4
 
RunTest= 1                       
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 5A"
Pipelining= 1
RawRequest1= "HEAD / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "HEAD"
Header1= "Content-Length"
Header1.Val1= "6"
Header2= "MsgBody"
Header2.Val1= "Null"


[IOP9]

##	All 1xx(informational), 204 (no content), and 304 (not modified)  
##	Responses MUST NOT include a message-body.

##	Check the httpclienthandler logs, it shuld be say:
##	informational 1xx status - consuming response
##	informational 1xx status - Headers will not be added
##	no response entity body

##Use Case 5
 
RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 6"
Pipelining= 1
RawRequest1= "POST / HTTP/1.1\r\nHost: 127.0.0.1\r\nExpect: 100-Continue\r\n\r\n"
RawResponse1= "HTTP/1.1 100 Continue\r\nContent-Length: 6\r\n\r\nHTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "POST"
Header1= "MsgBody"
Header1.Val1= "hello!"


[IOP10]

##	All 1xx(informational), 204 (no content), and 304 (not modified)  
##	Responses MUST NOT include a message-body.

##Use Case 5
 
RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 6A"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 204 No Content\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "MsgBody"
Header1.Val1= "Null"


[IOP11]

##	All 1xx(informational), 204 (no content), and 304 (not modified)  
##	Responses MUST NOT include a message-body.

##Use Case 5
 
RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 6B"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 304 Not Modified\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "MsgBody"
Header1.Val1= "Null"


[IOP12]

##TF ignores everything beyond an empty line for 1xx, 204, 
##304 responses to HEAD request.

##Use Case 6
 
RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 7"
Pipelining= 1
RawRequest1= "HEAD / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 100 Continue\r\n\r\nHTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "HEAD"
Header1= "MsgBody"
Header1.Val1= "Null"


[IOP13]

##TF ignores everything beyond an empty line for 1xx, 204, 
##304 responses to HEAD request.

##Use Case 6
 
RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 7A"
Pipelining= 1
RawRequest1= "HEAD / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 204 No Content\r\nContent-Length: 6\r\n\r\nHello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "HEAD"
Header1= "Content-Length"
Header1.Val1= "6"
Header2= "MsgBody"
Header2.Val1= "Null"


[IOP14]

##TF ignores everything beyond an empty line for 1xx, 204, 
##304 responses to HEAD request.

##Use Case 6
 
RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 7B"
Pipelining= 1
RawRequest1= "HEAD / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 304 Not Modified\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "HEAD"
Header1= "Content-Length"
Header1.Val1= "6"
Header2= "MsgBody"
Header2.Val1= "Null"


[IOP15]

##TF ignores everything beyond an empty line for 1xx, 204, 
##304 responses to HEAD request.

##Use Case 6

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 8"
Pipelining= 1
RawRequest1= "HEAD / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 204 No Content\r\nContent-Length: 6\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "HEAD"
Header1= "Content-Length"
Header1.Val1= "6"
Header2= "MsgBody"
Header2.Val1= "Null"


[IOP16]

##TF ignores everything beyond an empty line for 1xx, 204, 
##304 responses to HEAD request.

##Use Case 6
 
RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 8A"
Pipelining= 1
RawRequest1= "HEAD / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 304 Not Modified\r\nContent-Length: 6\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "HEAD"
Header1= "Content-Length"
Header1.Val1= "6"
Header2= "MsgBody"
Header2.Val1= "Null"


[IOP17]

##TF ignores everything beyond an empty line for 1xx, 204, 
##304 responses to HEAD request.

##Use Case 6
 
RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 8B"
Pipelining= 1
RawRequest1= "HEAD / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 100 Continue\r\n\r\nHTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "HEAD"
Header1= "MsgBody"
Header1.Val1= "Null"


[IOP18]

##Client is able to parse and display non-http rfc compliant date formats
##Test for rfc compliant date format

##Use Case 8

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 9"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nDate: Tue, 30 May 2006 16:00:00 GMT\r\nContent-Length: 0\r\n\r\n"  
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"


[IOP19]

##Client is able to parse and display non-http rfc compliant date formats
##Test for rfc compliant date format

##Use Case 8

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 9A"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nDate: Tuesday, 03-Oct-2005 02:16:00 GMT\r\nContent-Length: 0\r\n\r\n"   
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"


[IOP20]

##Client is able to parse and display non-http rfc compliant date formats
##Test for rfc compliant date format

##Use Case 8

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 9B"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nDate: Tue Oct 03 02:16:00 2005\r\nContent-Length: 0\r\n\r\n"   
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"


[IOP21]

##Client is able to parse and display non-http rfc compliant date formats
##Test for non-rfc compliant date format

##Use Case 8

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 9C"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nDate: Tue, 4 Jul 2006 16:00:00 GMT\r\nContent-Length: 0\r\n\r\n"  
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"


[IOP22]

##   When comparing two URIs to decide if they match or not,a client 
##   SHOULD use a case-sensitive octet-by-octet comparison of the 
##   entire URIs

##Use Case 9

RunTest= 1
Uri1= "http://localhost/"
TestCaseName= "IOP TEST CASE 10"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: localhost\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length:6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Host"
Header1.Val1= "localhost"


[IOP23]

##   When comparing two URIs to decide if they match or not,a client 
##   SHOULD use a case-sensitive octet-by-octet comparison of the 
##   entire URIs, with these exceptions- 
##   a)empty port is equivalent to default port.

##Use Case 9

RunTest= 1
Uri1= "http://127.0.0.1/"
TestCaseName= "IOP TEST CASE 10A"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"


[IOP24]

##   Unexpected 100 response must be ignored by the browser.A server sends
##   the 100 (Continue) status in response to a HTTP/1.1 GET request that 
##   does not include an Expect request-header field with the “100-continue” 
##   expectation. The browser must be prepared to ignore unexpected 100 
##   (continue) status in response to client request, otherwise the browser 
##   may try to send some unwanted data or it may crash.

##Use Case 10

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 11"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 100 Continue\r\n\r\nHTTP/1.1 200 Ok\r\nContent-Length: 0\r\n\r\n" 
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"


[IOP25]

##A HTTP server challenge-response can contain more than one 
##WWW-Authenticate header or the WWW-Authenticate header 
##can contain more than one challenge. The user agent should take extra care to 
##parse the header properly.

##Use Case 11

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 12"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 401 Authorization Required\r\nContent-Length: 0\r\nWWW-Authenticate: Basic realm="Something"\r\nWWW-Authenticate: Digest\r\n\r\n" 
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "WWW-Authenticate"
Header1.Val1= "Basic"
Header1.Val2= "Digest"


[IOP26]

##A HTTP server challenge-response can contain more than one 
##WWW-Authenticate header or the WWW-Authenticate header 
##can contain more than one challenge. The user agent should take extra care to 
##parse the header properly.

##Use Case 11

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 12 A"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 401 Authorization Required\r\nContent-Length: 0\r\nWWW-Authenticate: Basic realm="Something", Digest\r\n\r\n" 
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "WWW-Authenticate"
Header1.Val1= "Basic"
Header1.Val2= "Digest"


[IOP27]

##   Parameters MAY follow the type/subtype in the form of 
##   attribute/value pairs.
##   Client is able to parse parameters in the form of (chained) 
##   attribute-value pairs correctly.
##   In this test case, we pass on a list of media type/subtype 
##   seperated by a semicolon and see that TF parses it properly.

##Use Case 12

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 13"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length: 0\r\nContent-Type: text/html; charset=ISO-8859-4\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Type"
Header1.Val1= "text/html"


[IOP28]

##   Product tokens SHOULD be short and to the point. Although any 
##   token character MAY appear in a product-version,this token  
##   SHOULD only be used for a version identifier (i.e.,successive  
##   versions of the same product SHOULD only differ in the  
##   product-version portion of the product value).

##   Product tokens are used to allow communicating applications to 
##   identify themselves by software name and version. Most fields 
##   using product tokens also allow sub-products which form a 
##   significant part of the application to be listed, separated by 
##   white space. 

##Use Case 13

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 14"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK \r\nServer: Apache/0.8.4 modperl/2.3.4\r\nContent-Length: 0\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Server"
Header1.Val1= "Apache/0.8.4 modperl/2.3.4"


[IOP29]

##   Servers SHOULD ignore any empty line(s) received where a Request-Line 
##	is expected.In other words, if the server is reading the protocol stream at 
##	the beginning of a message and receives a CRLF first, it should ignore the CRLF.

##Use Case 14

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 15"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "\r\n\r\n HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "6"


[IOP30]

##   Client should be able to handle the case where a header parameter 
##	has only the name defined but leaves the value empty. The entire 
##	parameter should be ignored. A browser may choose to treat the 
##	parameter as if it contained an empty string, if it makes sense in context.

##Use Case 15

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 16- DEF048287"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 0\r\nContent-Type: text/html; charset=\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Type"
Header1.Val1= "text/html"


[IOP31]

##   A faulty http server sends a response that has more than one 
##   CRLF marker . Browser is able to ignore unnecessary CRLF's 
##   and display the page correctly.

##Use Case 16

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 17 -DEF054321"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length:6\r\n\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "6"
Header2= "MsgBody"
Header2.Val1= "hello!"


[IOP32]

##   A browser does not pipeline the first request to an unknown 
##   server. Based on the presence of a "Connection:Keep-Alive" 
##   header in the first response, the rest of the transactions 
##   will or will not be pipelined. 

##Use Case 17

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP  TEST CASE 18 -DEF05248  & DEF053136"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.0 200 Ok\r\nContent-Length:6\r\n\r\nhello1!"
RawRequest2= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse2= "HTTP/1.0 200 Ok\r\nContent-Length:6\r\n\r\nhello2!"
RawRequest3= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse3= "HTTP/1.1 200 Ok\r\nConnection: Close\r\nContent-Length:6\r\n\r\nhello3!"
TotalTransactionCount= 3
ConnectionCount= 3
TransactionList= 1, 1, 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Conn2.ExpectedRequests= 2
Conn2.ExpectedResponses= 2
Conn3.ExpectedRequests= 3
Conn3.ExpectedResponses= 3
Method= "GET"


[IOP33]

##   A browser does not pipeline the first request to an unknown 
##   server. Based on the presence of a "Connection:Keep-Alive" 
##   header in the first response, the rest of the transactions 
##   will or will not be pipelined. 

##Use Case 17

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP  TEST CASE 18 A -DEF05248  & DEF053136"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nConnection: Close\r\nContent-Length:6\r\n\r\nhello1!"
RawRequest2= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse2= "HTTP/1.0 200 Ok\r\nContent-Length:6\r\n\r\nhello2!"
RawRequest3= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse3= "HTTP/1.0 200 Ok\r\nContent-Length:6\r\n\r\nhello3!"
TotalTransactionCount= 3
ConnectionCount= 3
TransactionList= 1, 1, 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Conn2.ExpectedRequests= 2
Conn2.ExpectedResponses= 2
Conn3.ExpectedRequests= 3
Conn3.ExpectedResponses= 3
Method= "GET"


[IOP34]

##   A browser does not pipeline the first request to an unknown 
##   server. Based on the presence of a "Connection:Keep-Alive" 
##   header in the first response, the rest of the transactions 
##   will or will not be pipelined. 

##Use Case 17

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP  TEST CASE 18 B -DEF05248  & DEF053136"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.0 200 Ok\r\nContent-Length:6\r\n\r\nhello1!"
RawRequest2= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse2= "HTTP/1.1 200 Ok\r\nContent-Length:6\r\n\r\nhello2!"
RawRequest3= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse3= "HTTP/1.1 200 Ok\r\nContent-Length:6\r\n\r\nhello3!"
TotalTransactionCount= 3
ConnectionCount= 3
TransactionList= 1, 1, 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Conn2.ExpectedRequests= 2
Conn2.ExpectedResponses= 2
Conn3.ExpectedRequests= 3
Conn3.ExpectedResponses= 3
Method= "GET"


[IOP35]

##  Response contains header values and parameters on a single line. The browser is able to parse them 
##  correctly. We Test this by parsing a content Type header
##  (Content-Type:image/jpeg; charset="ISO-8859-4") and see to that the 
##  TF saves both the header values and the parameters seperately.
 
RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 19 DEF059094"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length: 0\r\nContent-Type: image/jpeg; charset="ISO-8859-4"\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Type"
Header1.Val1= "image/jpeg"


[IOP36]

##	A faulty http server sends a response that has more than one CRLF marker . 
##   Browser is able to ignore unnecessary CRLF's and display the page correctly.
##   CASE 1 -Extra CR's  between header field values. Tf should ignore the extra CR
##   between the header values "en" and "mi" and simply save them seperately

##Use Case 15

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 20 DEF054321"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Language: mi,\r\ren\r\nContent-Length: 0\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Language"
Header1.Val1= "mi"
Header1.Val2= "en"


[IOP37]

## A faulty http server sends a response that has more than one CRLF marker.
##   Browser is able to ignore unnecessary CRLF's and display the page correctly.
##   CASE 2 - Extra CR's between header field value pairs. Tf should ignore the extra 
##   CR between the header field value pairs like  here we added extra CR's between
##   Header field WWWAuthenticate:Basic realm and its value "Something".TF should be 
##   able to ignore thse and only save the value.

##Use Case 15

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 20 A DEF054321"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 401 Authorization Required \r\nContent-Length: 0\r\nWWW-Authenticate: Basic realm=\r\r"Something"\r\n\r\n" 
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "WWW-Authenticate"
Header1.Val1= "Basic"


[IOP38]

##   A faulty http server sends a response that has more than one CRLF marker.
##   Browser is able to ignore unnecessary CRLF's and display the page correctly.
##   CASE 3 - Extra CR's between Header and  Body.Tf  should ignore the unnecessary 
##   CR's between header and body.

##Use Case 15

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 20 B DEF054321"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length: 6\r\r\r\n\r\nhello!" 
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "6"
Header2= "MsgBody"
Header2.Val1= "hello!"


[IOP39]

##   A browser does not pipeline the first request to an unknown server. Based on the 
##   presence of a "Connection:Keep-Alive" header in the first response, the rest of 
##   the transactions will or will not be pipelined. In this test case , we are 
##   sending 3 requests out of which the first two have a 1.0 Response which means
##   the server doesnt support Pipelining so the three requests should not be pipelin
##   ed and the no of connections should be three.

##Use Case 17  

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 21 DEF05248 & DEF053136"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.0 200 OK\r\nContent-Length: 6\r\n\r\nhello!"
RawRequest2= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse2= "HTTP/1.0 200 OK\r\nContent-Length: 6\r\n\r\nhello!"
RawRequest3= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse3= "HTTP/1.1 200 OK\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 3
ConnectionCount= 3
TransactionList= 1,1,1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Conn2.ExpectedRequests= 1
Conn2.ExpectedResponses= 1
Conn3.ExpectedRequests= 1
Conn3.ExpectedResponses= 3
Method= "GET"


[IOP40]

##   A server sends a chunk encoded response, with one of the chunks containing a 
##   single byte which is CR. The browser interprets the byte as body content, and 
##   not an extra CR after the chunk size.Here , we sent a response which has a extra 
##   CR which should not be  considered as chunked  data. Not sure , how Tf would 
##   respond to it.

##Use Case 18

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 22 DEF05248 & DEF053136"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK \r\nTransfer-Encoding: chunked\r\n1;\r\n\r\r\n0;\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "MsgBody"
Header1.Val1= "\r"


[IOP41]

##A server sends a response with duplicate header names for a field 
##which can only appear once (ie more than one Content-Length). 
##The browser only uses the first insteance of the field and ignores the rest.

##Use Case 40

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 23"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length: 6\r\nContent-Length: 7\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "6"


[IOP42]

##A HTTP server sends a response with Content-Length = 0,
##the client should be able to understand that this means there is body but of 0 byte size

##Use Case 56

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 24"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "0"
Header2= "MsgBody"
Header2.Val1= ""


[IOP43]

##A HTTP server sends a response with Content-Length = 0,
##the client should be able to understand that this means there is body but of 0 byte size

##Use Case 56

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 24 A"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\nhello"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "0"
Header2= "MsgBody"
Header2.Val1= ""


[IOP44]

##A Http Server sends a response with a LF as line terminator. 
##The tolerant browser ignores the lack of a leading CR and displays the page correctly

##Use Case 57

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 25"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length: 5\n\nHello"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "5"


[IOP45]

##A Http Server sends a response with a LF as line terminator. 
##The tolerant browser ignores the lack of a leading CR and displays the page correctly

##Use Case 57

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 25 A"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length: 5\n\r\nHello"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "5"


[IOP46]

##A Http Server sends a response with a LF as line terminator. 
##The tolerant browser ignores the lack of a leading CR and displays the page correctly

##Use Case 57

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 25 B"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\nHello"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "5"


[IOP47]

##A Http Server sends a response with a LF as line terminator. 
##The tolerant browser ignores the lack of a leading CR and displays the page correctly

##Use Case 57

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 25 C"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length: 0\n\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "0"


[IOP48]

##Server sends 0.9 response to a 1.0 client, (and other combos) 
##Browser does not crash or panic, (TF passes correct  info to the browser)

##Use Case 70

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 26"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/0.9 200 OK\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "6"


[IOP49]

##Server sends 1.0 response to a 1.1 client, (and other combos) 
##Browser does not crash or panic, (TF passes correct  info to the browser)

##Use Case 70

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 26 A"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.0 200 OK\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "6"


[IOP50]

##A faulty HTTP server sends a response with a field but no value 
##( HTTP/1.1 200 Ok\r\nContent-Type: text/vnd.wap.wml\r\n 
##Connection\r\nContent-Length: 253  

##Use Case 49

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 27"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nConnection: \r\nContent-Length: 6\r\n\r\nHello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "6"


[IOP51]

##A faulty HTTP server sends a response with more than one status line. 
##Browser correctly inteprets them as 3 separate status lines.
##Only the first status is considered and the rest are ignored

##The result is apparent in "httpclienthandler.txt"

##Use Case 53

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 28"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nHTTP/1.1 404 NOT FOUND\r\nHTTP/1.1 302 MOVED\r\nContent-Length: 6\r\n\r\nHello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "6"


[IOP52]

##Some servers may send 201 response without including the list of resource 
##characteristics and location(s). The browser must be prepared to handle 
##such situation.

##Use Case 60

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 29"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 201 Created\r\nContent-Length: 0\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "0"


[IOP53]

##Browser must handle 4xx and 5xx class of status code even 
##though it doesn't contain an entity containing an explanation 
##of the error situation.
##This test case simulates a 404 (Not Found) response.
##The server responds with this code if its not able to find the request-uri

##Use Case 61

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 30"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 404 \r\nContent-Length: 0\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"


[IOP54]

##Browser must handle 4xx and 5xx class of status code even 
##though it doesn't contain an entity containing an explanation 
##of the error situation.
##This test case simulates a 500 (Internal server error) response.
##The server responds with this code if it encounters an unexpected 
##condition though it is able to interpret the request 

##Use Case 61

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 30 A"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 500 \r\nContent-Length: 0\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"


[IOP55]

##TF handles responses even with zero length.
##Send responses of 1xx (informational), 204 (no content), and 304  types, 
##with a zero length body, TF is able to parse it correctly

##Use Case 94

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 31"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 204 No Content\r\nContent-Length: 0\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "0" 
Header2= "MsgBody"
Header2.Val1= "Null"


[IOP56]

##TF handles responses even with zero length.
##Send responses of 1xx (informational), 204 (no content), and 304  types, 
##with a zero length body, TF is able to parse it correctly

##Use Case 94

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 31 A"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 304 Not Modified\r\nDate: Thu, 12 Jan 2006 12:00:00 GMT\r\nContent-Length: 0\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "0" 
Header2= "MsgBody"
Header2.Val1= "Null"
Header3= "Date"
Header3.Val1= "Thu, 12 Jan 2006 12:00:00 GMT"


[IOP57]

##Browser must re-link all the references to the Request-URI to the newly returned URIs.
##Any further references to the old URI can result in loss of resources or a waste of bandwidth.

##Result apparent in "httpclienthandler.txt"

##Use Case 62

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 32"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 301 Moved Permanently\r\nLocation: http://10.29.23.12/IMG/eclipse_full.jpg \r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"


[IOP58]

##A faulty HTTP server sends a response with a relative URI in the Location header field. 
##This should be treated as a failure.
##The web addr http://citibank.com is redirected to http://citibank.com/us/d.htm

##Use Case 54

##SUPPOSIDLY THE LOCATION FIELD MUST HAVE AN ABSOLUTE URI ONLY
##Location       = "Location" ":" absoluteURI
##SEE RFC2616 - 14.30

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 33"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\n"
RawResponse1= "HTTP/1.1 301 Moved Permanently\r\nLocation: /us/d.htm \r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"


[IOP59]

##A user submits a uri with a numeric IP. 
##The browser sets the host address as empty and only uses the relative uri 
##unless its going through a proxy in which case it will set the absolute uri.

#Use Case 59

RunTest= 1
Uri1= "http://127.0.0.1/index.html"
TestCaseName= "IOP TEST CASE 34"
Pipelining= 1
RawRequest1= "GET /index.html HTTP/1.1\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\n \r\nContent-Length: 0\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"


[IOP60]

##Server sends 1.1 response to a 1.0 client with some unsupported headers
##TF does not panic/crash & renders information correctly

##Use Case 71

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Test Case 35"
Pipelining= 1
RawRequest1= "GET / HTTP/1.0\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nConnection: Close\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 2
TransType2= "HTTP: 1.0"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"


[IOP61]

##A faulty HTTP server sends a response with a field, a colon a CRLF 
##and then the value for that field. The browser is able to ignore the useless CRLF 
##and parse the header for the field:value pair correctly

##Use Case 50

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 36"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Header1= "Content-Length"
Header1.Val1= "6"


[IOP62]

##A faulty HTTP server sends a response with a field, a colon a CRLF 
##and then the value for that field. The browser is able to ignore the useless CRLF 
##and parse the header for the field:value pair correctly text/vnd.wap.wml

##Use Case 50

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 37"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length:\r\n 0\r\nContent-Type:\r\n text/vnd.wap.wml\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "Content-Length"
Header1.Val1= "0"
Header2= "Content-Type"
Header2.Val1= "text/vnd.wap.wml"


[IOP63]

##If a Content-Length header field is present, its decimal value in OCTETs represents 
##both the entity-length and the transfer-length. The Content-Length header field 
##MUST NOT be sent if these two lengths are different (i.e., if a Transfer-Encoding header field is present).
##If a message is received with both a Transfer-Encoding header field and a Content-Length header field,
##the latter MUST be ignored.

##Use Case 95

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 38"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK \r\nContent-Length: 0\r\nTransfer-Encoding: chunked\r\n1;\r\n\r\r\n0;\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"
Header1= "MsgBody"
Header1.Val1= "\r"


[IOP64]

##The page is sent with a connect close message and no body data size (like HTTP 1.0 format)
##if only the header (no body data) is received by the parser, this is not normally the case 
##and we only found this because of a problem in comms, then the parser assumes that there is no body.  

##Use Case 47

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 39"  
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nConnection: Close\r\nContent-Length: \r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1

[IOP65]

##A faulty HTTP server sends a malformed start line in the http response.
##This should be treated as a failure.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 40"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP\r\nConnection: Close\r\nContent-Length: \r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1

[IOP66]

##A faulty HTTP server sends a malformed start line in the http response.
##This should be treated as a failure.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 40 A"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/\r\nConnection: Close\r\nContent-Length: \r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1

[IOP67]

##A faulty HTTP server sends a malformed start line in the http response.
##This should be treated as a failure.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 40 B"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1 \r\nConnection: Close\r\nContent-Length: \r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1

[IOP68]

##A faulty HTTP server sends a malformed start line in the http response.
##This should be treated as a failure.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 40 C"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1\r\nConnection: Close\r\nContent-Length: \r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1

[IOP69]

##A faulty HTTP server sends a malformed start line in the http response.
##This should be treated as a failure.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 40 D"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1\r\n 200\r\nConnection: Close\r\nContent-Length: \r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1

[IOP70]

##A faulty HTTP server sends a malformed start line in the http response.
##This should be treated as a failure.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 40 E"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.\r\nConnection: Close\r\nContent-Length: \r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1


[IOP71]

##A faulty HTTP server sends a malformed start line in the http response.
##This should be treated as a failure.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 40 F"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/ \r\n\r\nConnection: Close\r\nContent-Length: \r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1


[IOP72]

##A faulty HTTP server sends a malformed start line in the http response.
##This should be treated as a failure.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 40 G"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1\n0 200 ok\r\nConnection: Close\r\nContent-Length: \r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1

[IOP73]

##A faulty HTTP server sends a malformed start line in the http response.
##This should be treated as a failure.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 40 H"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.\n200 ok\r\nConnection: Close\r\nContent-Length: \r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1

[IOP74]

##A faulty HTTP server sends a malformed start line in the http response.
##This should be treated as a failure.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 40 I"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/.1\n200 ok\r\nConnection: Close\r\nContent-Length: \r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1


[IOP75]

##A faulty HTTP server sends a malformed start line in the http response.
##This should be treated as a failure.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 40 J"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/.\n200 ok\r\nConnection: Close\r\nContent-Length: \r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1

[IOP76]
 
##Content-Length has decimal value.
 
RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 76"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length: 6.5\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Header1= "Content-Length"
Header1.Val1= "6"
 
 
[IOP77]
 
##Content-Length has a value that begins with a decimal point.
 
RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "IOP TEST CASE 77"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length: .5\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Header1= "Content-Length"
Header1.Val1= "0"

 

[PIPELINING1]

##	Pipelining 5 simple request to pipelining test server.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Test Case 1"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 5
ConnectionCount= 1
TransactionList= 1, 1, 1, 1, 1
Conn1.ExpectedRequests= 1, 1, 1, 1, 1
Conn1.ExpectedResponses= 1, 1, 1, 1, 1
Method= "GET"


[PIPELINING2]

##	Pipelining 5 simple request to pipelining test server. The 3rd request has a
##	Connection: Close header. This expects the first 3 requests are pipelined and
##	the last 2 are pipelined on a another connection.

TestCaseName=			"Test Case 2"
RunTest= 1
Uri= "http://127.0.0.1"
Batching= 0
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawRequest2= "GET / HTTP/1.1\r\nConnection: Close\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 5
ConnectionCount= 2
TransType2= "Connection: Close"
TransactionList= 1, 1, 2, 1, 1
Conn1.ExpectedRequests= 1, 1, 2
Conn1.ExpectedResponses= 1, 1, 1
Conn2.ExpectedRequests= 1, 1
Conn2.ExpectedResponses= 1, 1
Method= "GET"


[PIPELINING3]

##	Pipelining 5 simple request to pipelining test server. The 3rd response has a
##	Connection: Close header. This expects the first 3 requests are pipelined and
##	the last 2 are not pipelined. 

TestCaseName=			"Test Case 3"
RunTest= 1
Uri= "http://127.0.0.1"
Batching= 0
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
RawResponse2= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\nConnection: Close\r\n\r\nhello!"
TotalTransactionCount= 5
ConnectionCount= 3
TransactionList= 1, 1, 1, 1, 1
Conn1.ExpectedRequests= 1, 1, 1
Conn1.ExpectedResponses= 1, 1, 2
Conn2.ExpectedRequests= 1
Conn2.ExpectedResponses= 1
Conn3.ExpectedRequests= 1
Conn3.ExpectedResponses= 1
Method= "GET"


[PIPELINING4]

##	Pipelining 5 simple request to pipelining test server. The last request has a
##	Connection: Close header. This expects the all the requests to be pieplined
##	on one connection.

TestCaseName=			"Test Case 4"
RunTest= 1
Uri= "http://127.0.0.1"
Batching= 0
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawRequest2= "GET / HTTP/1.1\r\nConnection: Close\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 5
TransType2= "Connection: Close"
ConnectionCount= 1
TransactionList= 1, 1, 1, 1, 2
Conn1.ExpectedRequests= 1, 1, 1, 1, 2
Conn1.ExpectedResponses= 1, 1, 1, 1, 1
Method= "GET"


[PIPELINING5]

##	Warning: Needs to be able to parse number of transactions via a () operator, eg: 50 transactions of type 1 = (50) 1
##	Pipelining 50 simple requests to pipelining test server. Medium stress test.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Test Case 5"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 50
ConnectionCount= 1
TransactionList= 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Conn1.ExpectedRequests= 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 
Conn1.ExpectedResponses= 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Method= "GET"


[PIPELINING6]

##	Warning:Needs to be able to parse number of transactions via a () operator, eg: 100 transactions of type 1 = (100) 1
##	Pipelining 100 simple requests to pipelining test server. High stress test.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Test Case 6"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 100
ConnectionCount= 1
TransactionList= 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Conn1.ExpectedRequests= 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 
Conn1.ExpectedResponses= 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Method= "GET"


[PIPELINING7]

##	Pipelining 10 simple requests, once the client has started, the 5th transaction is cancelled.
##	It is expected that the cancelled transaction will fail but the rest must complete successfully.
##	We expect that all the data would have been sent so any responses that have not been received
##	will have to be resent.

RunTest= 1
Uri1= "http://10.29.23.60/pipeline/hello.txt"
TestCaseName= "Test Case 7"
Pipelining= 1
Error= "KErrCancel"
RawRequest1= ""
RawResponse1= ""
TotalTransactionCount= 10
ConnectionCount= 0
TransactionList= 1, 1, 1, 1, 2, 1, 1, 1, 1, 1
TransType2= "Transaction: Cancel"
Conn1.ExpectedRequests= 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Conn1.ExpectedResponses= 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Method= "GET"


[PIPELINING8]

##	Pipelining 3 simple requests to a HTTP/1.0 test server. 1.0 servers do not support pipelining
##	so it expected that a connection is opened for each request

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Test Case 8"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.0 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 3
ConnectionCount= 3
TransactionList= 1, 1, 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Conn2.ExpectedRequests= 1
Conn2.ExpectedResponses= 1
Conn3.ExpectedRequests= 1
Conn3.ExpectedResponses= 1
Method= "GET"


[PIPELINING9]

##	Pipelining 3 simple requests as a HTTP/1.0 client. As HTTP/1.0 does not support pipelining,
##	it expected that a connection is opened for each request

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Test Case 9"
Pipelining= 1
RawRequest1= "GET / HTTP/1.0\r\n\r\n"
RawResponse1= "HTTP/1.0 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 3
ConnectionCount= 3
TransactionList= 2, 2, 2
TransType2= "HTTP: 1.0"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Conn2.ExpectedRequests= 1
Conn2.ExpectedResponses= 1
Conn3.ExpectedRequests= 1
Conn3.ExpectedResponses= 1
Method= "GET"


[PIPELINING10]

##	Pipelining 14 simple request to test apache server to simulate a browser.
##	First request to the homepage and following requests to the same server
##	getting different resources.

RunTest= 1
TestCaseName= "Test Case 10"
Pipelining= 1
RawRequest1= ""
RawResponse1= ""
TotalTransactionCount= 14
ConnectionCount= 0
TransactionList= 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Conn1.ExpectedRequests= 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Conn1.ExpectedResponses= 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Uri1= "http://10.29.23.12"
Uri2= "http://10.29.23.12/manual/index.html"
Uri3= "http://10.29.23.12/manual/new_features_1_3.html"
Uri4= "http://10.29.23.12/wap/suite-08Jun2000/"
Uri5= "http://10.29.23.12/wap/suite-20Jun2000/"
Uri6= "http://10.29.23.12/manual/upgrading_to_1_3.html"
Uri7= "http://10.29.23.12/manual/install.html"
Uri8= "http://10.29.23.12/manual/invoking.html"
Uri9= "http://10.29.23.12/stats.html"
Uri10= "http://10.29.23.12/manual/stopping.html"
Uri11= "http://10.29.23.12/manual/mod/directives.html"
Uri12= "http://10.29.23.12/manual/images/custom_errordocs.gif"
Uri13= "http://10.29.23.12/manual/images/home.gif"
Uri14= "http://10.29.23.12/manual/images/index.gif"
Method= "GET"


[PIPELINING11]

##	Pipelining 20 simple requests to test server with batching enabled. This should allow
##	us to see that the first request is not batched and subsequent requests are.

RunTest= 1 
Uri1= "http://127.0.0.1"
TestCaseName= "Test Case 11"
Pipelining= 1
Batching= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 20
ConnectionCount= 1
TransactionList= 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Conn1.ExpectedRequests= 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Conn1.ExpectedResponses= 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Method= "GET"


[PIPELINING12]

##	Pipelining 2 simple requests to test server with batching enabled. The first request as
##	a simple small request and the second request a very large request greater than the
##	buffer size. The buffer size is reduced to 100bytes to simplify the request.The first
##	request should be sent immediately and the 2nd sent over 2 batches.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Test Case 12"
Pipelining= 1
Batching= 1
BufferSize= 100
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawRequest2= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\nThis_Is_A_Long_Header_Name: This_Is_A_Long_Header_Value_abcdefghijklmnopqrstuvwxyz1234567890\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 2
ConnectionCount= 1
TransactionList= 1, 2
TransType2= "Batching: True"
Conn1.ExpectedRequests= 1, 2
Conn1.ExpectedResponses= 1, 1
Method= "GET"


[PIPELINING13]

##	Pipelining 2 simple requests to test server with batching enabled. Both requests are
##	very small, the first request is sent immediately, and the second is sent on the timer
##	expiry as the second request is small and the buffer will not get filled up.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Test Case 13"
Pipelining= 1
Batching= 1
BufferSize= 100
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 2
ConnectionCount= 1
TransactionList= 1, 1
Conn1.ExpectedRequests= 1, 1
Conn1.ExpectedResponses= 1, 1
Method= "GET"


[PIPELINING14]

##	Pipelining 3 requests to test server with batching enabled. The first request as
##	a simple small request and the second request a very large request greater than the
##	buffer size. The request is large enough that it spans over multiple buffers. The
##	buffer size is reduced to 25 bytes to simplify the request. The third request is
##	a simple small request. The first request should be sent immediately and the 2nd 
##	sent over multiple batches and the third to ensure that it is sent correctly.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Test Case 14"
Pipelining= 1
Batching= 1
BufferSize= 25
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawRequest2= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\nThis_Is_A_Long_Header_Name: This_Is_A_Long_Header_Value_abcdefghijklmnopqrstuvwxyz1234567890\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 3
ConnectionCount= 1
TransactionList= 1, 2, 1
TransType2= "Batching: True"
Conn1.ExpectedRequests= 1, 2, 1
Conn1.ExpectedResponses= 1, 1, 1
Method= "GET"


[PIPELINING15]

##	Pipelining 3 requests to test server with batching enabled. The first and second
##	requests as simple small requests and the thrid request a very large request
##	greater than the buffer size. The last request is large enough that it spans
##	over multiple buffers. The buffer size is reduced to 25 bytes to simplify the
##	request. The first request should be sent immediately and the last sent over
##	multiple batches as the last request to ensure that it is sent correctly.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Test Case 15"
Pipelining= 1
Batching= 1
BufferSize= 25
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawRequest2= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\nThis_Is_A_Long_Header_Name: This_Is_A_Long_Header_Value_abcdefghijklmnopqrstuvwxyz1234567890\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 3
ConnectionCount= 1
TransactionList= 1, 1, 2
TransType2= "Batching: True"
Conn1.ExpectedRequests= 1, 1, 2
Conn1.ExpectedResponses= 1, 1, 1
Method= "GET"


[PIPELINING16]

##	Pipelining 5 simple requests to test server with batching enabled. The 3rd request
##	has a Connection: Close header. This expects the first 3 requests are batched and
##	the last 2 are batched on a another connection. This test case will ensure that
##	the time-out batching is correcly handled when multiple connections are used requested
##	by the client.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Test Case 16"
Pipelining= 1
Batching= 1
BufferSize= 25
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawRequest2= "GET / HTTP/1.1\r\nConnection: Close\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 5
ConnectionCount= 2
TransactionList= 1, 1, 2, 1, 1
TransType2= "Connection: Close"
Conn1.ExpectedRequests= 1, 1, 2
Conn1.ExpectedResponses= 1, 1, 1
Conn2.ExpectedRequests= 1, 1
Conn2.ExpectedResponses= 1, 1
Method= "GET"


[PIPELINING17]

##	Batching 5 simple requesst to test server. The 3rd response has a
##	Connection: Close header. This expects the first 3 requests are batched and
##	the last 2 are not batched. This test case will ensure that time-out 
##	batching is handled correctly with multiple connections requested by the server.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Test Case 17"
Pipelining= 1
Batching= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
RawResponse2= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\nConnection: Close\r\n\r\nhello!"
TotalTransactionCount= 5
ConnectionCount= 3
TransactionList= 1, 1, 1, 1, 1
Conn1.ExpectedRequests= 1, 1, 1
Conn1.ExpectedResponses= 1, 1, 2
Conn2.ExpectedRequests= 1
Conn2.ExpectedResponses= 1
Conn3.ExpectedRequests= 1
Conn3.ExpectedResponses= 1
Method= "GET"


[PIPELINING18]

##	Pipelining 5 simple requests to test server with batching enabled. The 3rd request
##	has a Connection: Close header. This expects the first 3 requests are batched and
##	the last 2 are batched on a another connection. This test case will ensure that
##	the buffersize batching is correcly handled when multiple connections are used
##	requested by the client. The buffer size is reduced to 10 bytes to simplify the
##	request.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Test Case 18"
Pipelining= 1
Batching= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawRequest2= "GET / HTTP/1.1\r\nConnection: Close\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 5
ConnectionCount= 2
TransactionList= 1, 1, 2, 1, 1
TransType2= "Connection: Close"
Conn1.ExpectedRequests= 1, 1, 2
Conn1.ExpectedResponses= 1, 1, 1
Conn2.ExpectedRequests= 1, 1
Conn2.ExpectedResponses= 1, 1
Method= "GET"


[PIPELINING19]

##	Batching 5 simple requesst to test server. The 3rd response has a
##	Connection: Close header. This expects the first 3 requests are batched and
##	the last 2 are not batched. This test case will ensure that buffersize batching
##	is handled correctly with multiple connections requested by the server. The 
##	buffer size is reduced to 10 bytes to simplify the requests.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Test Case 19"
Pipelining= 1
Batching= 1
BufferSize= 10
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
RawResponse2= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\nConnection: Close\r\n\r\nhello!"
TotalTransactionCount= 5
ConnectionCount= 3
TransactionList= 1, 1, 1, 1, 1
Conn1.ExpectedRequests= 1, 1, 1
Conn1.ExpectedResponses= 1, 1, 2
Conn2.ExpectedRequests= 1
Conn2.ExpectedResponses= 1
Conn3.ExpectedRequests= 1
Conn3.ExpectedResponses= 1
Method= "GET"


[PIPELINING20]

##	Pipelining 2 requests to test server with batching enabled. Both requests are simple
##	small requests but the buffer size is set the same size as the request. The request
##	size is 26 bytes.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Test Case 20"
Pipelining= 1
Batching= 1
BufferSize= 26
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 2
ConnectionCount= 1
TransactionList= 1, 1
Conn1.ExpectedRequests= 1, 1
Conn1.ExpectedResponses= 1, 1
Method= "GET"


[PIPELINING21]

##	Pipelining 3 requests to test server with batching enabled. All requests are simple
##	small requests but the buffer size is set the same size as the request. The request
##	size is 26 bytes.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Test Case 21"
Pipelining= 1
Batching= 1
BufferSize= 26
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 3
ConnectionCount= 1
TransactionList= 1, 1, 1
Conn1.ExpectedRequests= 1, 1, 1
Conn1.ExpectedResponses= 1, 1, 1
Method= "GET"


[PIPELINING22]

##	Test case for defect fix INC025140. Test server returns response with status line without
##	status text, ie 'HTTP/1.1 200 ' (Note space after status code). The test case ensures that
##	this case is handled correctly.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Defect Fix INC025140"
Pipelining= 1
Batching= 1
BufferSize= 26
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 \r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"


[PIPELINING23]

##	Test case for defect fix INC036954. 
##	HTTP stack reports OK when transaction has been disconnected because of long GPR 
##	Though the connection count is 1, when the error is KErrDisconnected, the Transport Framework tries to reconnect
##	to the server thrice. This is as part of the fix for INC099971

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Defect Fix INC036954"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 \r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Conn2.ExpectedRequests= 1
Conn2.ExpectedResponses= 1
Conn3.ExpectedRequests= 1
Conn3.ExpectedResponses= 1
Error= "KErrDisconnected"
Method= "GET"


[PIPELINING24]

##	Test case for defect fix INC036384. Test server returns response with status line without
##	status text, ie 'HTTP/1.1 200 ' (Note space after status code). The test case ensures that
##	this case is handled correctly.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Defect Fix INC036384"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 OK \r\nTransfer-Encoding: chunked\r\n\r\n4\r\ntest\r\n4\r\ntest chunk that is bigger than the chunk size\r\n0\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"


[PIPELINING25]

##	Test case for defect fix INC037440. Test server returns response with status line without
##	status text, ie 'HTTP/1.1 200 ' (Note space after status code). The test case ensures that
##	this case is handled correctly.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Defect Fix INC037440"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nWWW-Authenticate: BASIC realm=\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
HeaderToProcess= "WWWAuthenticate"
Method= "GET"


[PIPELINING26]

##	Test case for defect fix INC052596. 
##	Not really a pipelining test case.
##	This test checks that if connecting to a http/1.0 server we do not switch to non-persistent
##	connection (and thereby close it) IF the server response contains the folllowing header :
##	"connection: keep-alive"

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Defect Fix INC052596"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.0 200 OK\r\nContent-Length: 6\r\nConnection: keep-alive\r\n\r\nhello!"
TotalTransactionCount= 2
ConnectionCount= 1
TransactionList= 1, 1
Conn1.ExpectedRequests= 1, 1
Conn1.ExpectedResponses= 1, 1
HeaderToProcess= "WWWAuthenticate"
Method= "GET"


[PIPELINING27]

##	Test case for the following defects:
##	DEF041101 - HTTP Codec cannot handle Server sending back two Content-Length header fields
##	INC040893 - Nokia 6600 sends incorrect parameter in Accept-Language HTTP header when Finnish

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Header Decode"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nWWW-Authenticate: BASIC realm=\r\nContent-Length: 6\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
HeaderToProcess= "ContentLength"
Method= "GET"


[PIPELINING28]

##	Test case for the following defects:
##	DEF041101 - HTTP Codec cannot handle Server sending back two Content-Length header fields
##	INC040893 - Nokia 6600 sends incorrect parameter in Accept-Language HTTP header when Finnish

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Header Decode"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nWWW-Authenticate: BASIC realm=\r\nContent-Length: 6\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
HeaderToProcess= "WWWAuthenticate"
Method= "GET"


[PIPELINING29]

##	Test case for the following defects:
##	INC073400 - HTTP stack does not allow filters to implement buffering properly

TestCaseName=			"Test Case INC073400"
RunTest= 1
Uri= "http://127.0.0.1"
Batching= 0
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
RawResponse2= "HTTP/1.1 200 Ok\r\nConnection: Close\r\n\r\nhello!"
TotalTransactionCount= 5
ConnectionCount= 3
TransactionList= 1, 1, 1, 1, 1
Conn1.ExpectedRequests= 1, 1, 1
Conn1.ExpectedResponses= 1, 1, 2
Conn2.ExpectedRequests= 1
Conn2.ExpectedResponses= 1
Conn3.ExpectedRequests= 1
Conn3.ExpectedResponses= 1
Method= "GET"


[PIPELINING30]

##	INC078630 - Cannot send HTTP Post with msg body length= 0 with no Content-Type HTTP header

TestCaseName=			"Test Case INC078630"
RunTest= 1
Uri= "Microsoft-Server-ActiveSync?DeviceId=Foo&DeviceType=9999&Cmd=Ping"
Batching= 0
Pipelining= 1
RawRequest1= "POST Microsoft-Server-ActiveSync?DeviceId=Foo&DeviceType=9999&Cmd=Ping HTTP/1.1\r\nHost: 127.0.0.1\r\nAccept-Language: en-us\r\nMS-ASProtocolVersion: 2.5\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "GET"

[PIPELINING31]

##	Test case for defect fix INC114315. Test server returns response with content-length header without
##	value, ie 'Content-Length: ' (Note WS after colon). The test case ensures that
##	this case is handled correctly.

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Defect Fix INC114315"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length: \r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Header1= "MsgBody"
Header1.Val1= "hello!"


[CONFIG_TEST1]

RunTest= 1
TestCaseName=			"Pipelining Config Tests 1"


[CONFIG_TEST2]

RunTest= 1
TestCaseName=			"Pipelining Config Test 2"


[CONFIG_TEST3]

RunTest= 1
TestCaseName=			"Pipelining Config Test 3"


[CONFIG_TEST4]

RunTest= 1
TestCaseName=			"Pipelining Config Test 4"


[PERFORMANCE1]

##An OPTIONS request with a request URI
##EC067 Use Case 1

RunTest= 1
TestCaseName= "Performance Test Case 1"
Pipelining= 1
RawRequest1= "OPTIONS http://10.29.23.12 HTTP/1.1\r\n"
RawResponse1= ""
TotalTransactionCount= 1
ConnectionCount= 0
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Uri1= "http://10.29.23.12"
Method= "OPTIONS"


[PERFORMANCE2]

##A GET request with an absolute request URI
##EC067 Use Case 2
##PERFORMANCE2 and PERFORMANCE4 give the same results

RunTest= 1
TestCaseName= "Performance Test Case 2"
Pipelining= 1
RawRequest1= "GET http://10.29.23.12 HTTP/1.1\r\n"
RawResponse1= ""
TotalTransactionCount= 1
ConnectionCount= 0
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Uri1= "http://10.29.23.12"
Method= "GET"


[PERFORMANCE3]

##A GET request with a relative request URI
##EC067 Use Case 3

RunTest= 1
TestCaseName= "Performance Test Case 3"
Pipelining= 1
RawRequest1= "GET /manual/index.html HTTP/1.1\r\n"
RawResponse1= ""
TotalTransactionCount= 1
ConnectionCount= 0
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Uri1= "http://10.29.23.12/manual/index.html"
Method= "GET"


[PERFORMANCE4]

##A simple GET request
##EC067 Use Case 4
##PERFORMANCE2 and PERFORMANCE4 give the same results


RunTest= 1
Uri1= "http://10.29.23.12"
TestCaseName= "Performance Test Case 4"
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\n"
RawResponse1= ""
TotalTransactionCount= 1
ConnectionCount= 0
TransactionList= 1
Method= "GET"
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1


[PERFORMANCE5]

##A GET request where the response has Transfer-Encoding
##EC067 Use Case 5

RunTest= 1
TestCaseName= "Performance Test Case 5"
Batching= 0
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 194.146.227.34\r\n"
RawResponse1= ""
TotalTransactionCount= 1
ConnectionCount= 0
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Uri1= "http://www.newlc.com/Symbian-OS-Error-Codes.html"
Method= "GET"


[PERFORMANCE6]

##A HEAD request where the response has no body
##EC067 Use Case 6

RunTest= 1
Uri1= "http://127.0.0.1"
TestCaseName= "Performance Test Case 6"
Pipelining= 1
RawRequest1= "HEAD / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 0\r\n\r\n"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "HEAD"


[PERFORMANCE7]

##A HEAD request where the response has a body, which 
##of course, will be ignored by the TF
##EC067 Use Case 7

RunTest= 1
Uri1= "http://10.29.23.12"
TestCaseName= "Performance Test Case 7"
Pipelining= 1
RawRequest1= "HEAD / HTTP/1.1\r\n"
RawResponse1= ""
TotalTransactionCount= 1
ConnectionCount= 0
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "HEAD"


[PERFORMANCE8]

##A POST request with no content
##EC067 Use Case 8


TestCaseName= "Performance Test Case 8"
RunTest= 1
Uri= "Microsoft-Server-ActiveSync?DeviceId=Foo&DeviceType=9999&Cmd=Ping"
Batching= 0
Pipelining= 1
RawRequest1= "POST Microsoft-Server-ActiveSync?DeviceId=Foo&DeviceType=9999&Cmd=Ping HTTP/1.1\r\nHost: 127.0.0.1\r\nAccept-Language: en-us\r\nMS-ASProtocolVersion: 2.5\r\n\r\n"
RawResponse1= "HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 1
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Method= "POST"


[PERFORMANCE9]

##A POST request with non-zero Content-Length
##EC067 Use Case 9

##A POST request where the response has Chunked Transfer-Encoding
##EC067 Use Case 10

RunTest= 1
TestCaseName= "Performance Test Case 9"
Batching= 0
Pipelining= 1
RawRequest1= "POST /Symbian-OS-Error-Codes.html HTTP/1.1\r\nHost: 194.146.227.34\r\nContent-Type: */*\r\n\r\nrecherche=asdf"
RawResponse1= ""
TotalTransactionCount= 1
ConnectionCount= 0
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Uri1= "http://www.newlc.com/Symbian-OS-Error-Codes.html"
Method= "POST"

[TSWDEFECT1]
##JKUN-7VVGB6	OMJ: Mobilicrash in Autotest Acceptance Testing GATLING 
##Send a request to local host
##Once the response is received send a request to remote host. Create and start the network connection and set to HTTP stack
##Once the response is received send another request to local host

RunTest= 1
TestCaseName= "TSWDEFECT1 JKUN-7VVGB6"
Batching= 0
Pipelining= 1
RawRequest1= "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n"
RawResponse1= "HTTP/1.1 200 OK\r\nContent-Length: 6\r\n\r\nhello!"
TotalTransactionCount= 1
ConnectionCount= 3
TransactionList= 1
Conn1.ExpectedRequests= 1
Conn1.ExpectedResponses= 1
Uri1= "http://127.0.0.1"
Method= "GET"

[TSWDEFECT2]
##JKUN-7VVGB6	OMJ: Mobilicrash in Autotest Acceptance Testing GATLING 
##Disconnect the local loopback server. Send a request to local host
##Send another request to remote host.
##One transaction will fail and another one will succeed.

RunTest= 1
TestCaseName= "TSWDEFECT2 JKUN-7VVGB6"
Batching= 0
Pipelining= 1
RawRequest1= ""
RawResponse1= ""
TotalTransactionCount= 2
ConnectionCount= 1
TransactionList= 1, 1
Conn1.ExpectedRequests= 1, 1
Conn1.ExpectedResponses= 1, 1
Uri1= "http://127.0.0.1"
Uri2= "http://10.29.23.12/"
Method= "GET"

[#Done]

