--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/servicediscoveryandcontrol/pnp/test/upnp/unittests/upnpmessagetest/data/upnpmessagetest.ini Tue Feb 02 01:12:20 2010 +0200
@@ -0,0 +1,1087 @@
+///////////////////////////////////////////////////////////////////////////////
+//////////////// ***** Response Parser Test ***** ////////////////
+///////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple response /////
+///// No excess data in the response /////
+///// Only One data chunk in the response /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_1]
+DataChunk1 = HTTP/1.1 200 Ok\r\nContent-Length: 6\r\nServer: Local-Test\r\nDate: Thu, 20 Dec 2007 03:08:55 GMT\r\nContent-Type: text/html; charset=ISO-8859-1\r\n\r\nHELLO!
+ParseExcessData = EFalse
+ExpectedResponses = 1
+DataChunkCount = 1
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 2 responses /////
+///// 2nd response present as excess data of the 1st response /////
+///// Only One data chunk in the response /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_2]
+DataChunk1 = HTTP/1.1 200 Ok\r\nContent-Length: 6\r\nServer: Local-Test\r\nDate: Thu, 20 Dec 2007 03:08:55 GMT\r\n\r\nHELLO!HTTP/1.1 200 Ok\r\nContent-Type: text/html\r\nContent-Length: 4\r\n\r\nBODY
+ParseExcessData = ETrue
+ExpectedResponses = 2
+DataChunkCount = 1
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple response /////
+///// Response has chunked body /////
+///// No excess data in the response /////
+///// Only One data chunk in the response /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_3]
+DataChunk1 = HTTP/1.1 200 Ok\r\nTransfer-Encoding: chunked\r\n\r\n10\r\n1234567890abcdef\r\n0\r\n\r\n
+ParseExcessData = EFalse
+ExpectedResponses = 1
+DataChunkCount = 1
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 2 responses /////
+///// 2nd response is present as excess data of the 1st response /////
+///// Only One data chunk in the response /////
+///// Both responses have chunked body /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_4]
+DataChunk1 = HTTP/1.1 200 Ok\r\nTransfer-Encoding: chunked\r\n\r\n10\r\n1234567890abcdef\r\n0\r\n\r\nHTTP/1.1 200 Ok\r\nContent-Type: text/html\r\nTransfer-Encoding: chunked\r\n\r\n4\r\ntest\r\n5\r\nchunk\r\n0\r\n\r\n
+ParseExcessData = ETrue
+ExpectedResponses = 2
+DataChunkCount = 1
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 2 responses /////
+///// 2nd response is present as excess data of the 1st response /////
+///// Only One data chunk in the response /////
+///// One response has content length the other has chunked body /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_5]
+DataChunk1 = HTTP/1.1 200 Ok\r\nContent-Type: text/html\r\nContent-Length: 4\r\n\r\nBODYHTTP/1.1 200 Ok\r\nContent-Type: text/html\r\nTransfer-Encoding: chunked\r\n\r\n4\r\ntest\r\n5\r\nchunk\r\n0\r\n\r\n
+ParseExcessData = ETrue
+ExpectedResponses = 2
+DataChunkCount = 1
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 2 responses /////
+///// 2nd response is present as excess data of the 1st response /////
+///// Only One data chunk in the response /////
+///// One response has content length the other has chunked body /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_6]
+DataChunk1 = HTTP/1.1 200 Ok\r\nContent-Type: text/html\r\nTransfer-Encoding: chunked\r\n\r\n4\r\ntest\r\n5\r\nchunk\r\n0\r\n\r\nHTTP/1.1 200 Ok\r\nContent-Type: text/html\r\nContent-Length: 4\r\n\r\nBODY
+ParseExcessData = ETrue
+ExpectedResponses = 2
+DataChunkCount = 1
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple response /////
+///// No excess data in the response /////
+///// Response is split into 4 data chunks /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_7]
+DataChunk1 = HTTP/1.1 200 Ok\r\nContent-Length: 6\r\n
+DataChunk2 = Server: Local-Test\r\n
+DataChunk3 = Date: Thu, 20 Dec 2007 03:08:55 GMT\r\n\r\n
+DataChunk4 = HELLO!
+ParseExcessData = EFalse
+ExpectedResponses = 1
+DataChunkCount = 4
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple response /////
+///// Response has chunked body /////
+///// No excess data in the response /////
+///// Response is split into 4 data chunks /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_8]
+DataChunk1 = HTTP/1.1 200 Ok\r\n
+DataChunk2 = Transfer-Encoding: chunked\r\n\r\n
+DataChunk3 = 10\r\n
+DataChunk4 = 1234567890abcdef\r\n0\r\n\r\n
+ParseExcessData = EFalse
+ExpectedResponses = 1
+DataChunkCount = 4
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple response /////
+///// No excess data in the response /////
+///// Response body is split into 7 data chunks /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_9]
+DataChunk1 = HTTP/1.1 200 Ok\r\nContent-Length: 48\r\nServer: Local-Test\r\nDate: Thu, 20 Dec 2007 03:08:55 GMT\r\n\r\n
+DataChunk2 = BIG BODY
+DataChunk3 = THAT HAS
+DataChunk4 = BEEN SPLIT
+DataChunk5 = INTO
+DataChunk6 = MANY
+DataChunk7 = SMALLER CHUNKS
+ParseExcessData = EFalse
+ExpectedResponses = 1
+DataChunkCount = 7
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple response /////
+///// Response has chunked body /////
+///// No excess data in the response /////
+///// chunked response body is split into 8 data chunks /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_10]
+DataChunk1 = HTTP/1.1 200 Ok\r\n
+DataChunk2 = Transfer-Encoding: chunked\r\n\r\n
+DataChunk3 = 11\r\n
+DataChunk4 = BIG BODY THAT HAS\r\n
+DataChunk5 = 4\r\nBEEN\r\n
+DataChunk6 = 5\r\nSPLIT\r\n
+DataChunk7 = 9\r\nINTO MANY
+DataChunk8 = \r\ne\r\nSMALLER CHUNKS\r\n0\r\n\r\n
+ParseExcessData = EFalse
+ExpectedResponses = 1
+DataChunkCount = 8
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 2 responses /////
+///// 2nd response present as excess data of the 1st response /////
+///// 1st response is split into 4 data chunks /////
+///// 2nd response is split into 3 data chunks /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_11]
+DataChunk1 = HTTP/1.1 200 Ok\r\nContent-Length:
+DataChunk2 = 6\r\nServer: Local-Test\r\nDate: Thu, 20 Dec 20
+DataChunk3 = 07 03:08:55 GMT\r\n\r\nHE
+DataChunk4 = LLO!HTTP/1.1 200 Ok\r\nContent-Type:
+DataChunk5 = text/html\r\nContent-Length: 4\r\n\r\n
+DataChunk6 = BODY
+ParseExcessData = ETrue
+ExpectedResponses = 2
+DataChunkCount = 6
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 2 responses /////
+///// Response has chunked body /////
+///// 2nd response present as excess data of the 1st response /////
+///// 1st response is split into 4 data chunks /////
+///// 2nd response is split into 4 data chunks /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_12]
+DataChunk1 = HTTP/1.1 200 Ok\r\nTransfer-Encoding:
+DataChunk2 = chunked\r\n\r\n10\r\n
+DataChunk3 = 1234567890abc
+DataChunk4 = def\r\n0\r\n\r\nHTTP/1.1 200 Ok\r\nTran
+DataChunk5 = sfer-Encoding: chunked\r\n\r\n
+DataChunk6 = 10\r\n1234567890abcdef\r\n
+DataChunk7 = 0\r\n\r\n
+ParseExcessData = ETrue
+ExpectedResponses = 2
+DataChunkCount = 7
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 2 responses /////
+///// 2nd response is present as excess data of the 1st response /////
+///// 1st response is split into 3 data chunks /////
+///// 2nd response is split into 4 data chunks /////
+///// One response has content length the other has chunked body /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_13]
+DataChunk1 = HTTP/1.1 200 Ok\r\nContent-Type:
+DataChunk2 = text/html\r\nContent-
+DataChunk3 = Length: 4\r\n\r\nBODYHTTP/1.1 200 Ok\r\n
+DataChunk4 = Content-Type: text/html\r\nTransfer-Encoding: chun
+DataChunk5 = ked\r\n\r\n4\r\ntest\r\n
+DataChunk6 = 5\r\nchunk\r\n0\r\n\r\n
+ParseExcessData = ETrue
+ExpectedResponses = 2
+DataChunkCount = 6
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a 100-Continue responses /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_14]
+DataChunk1 = HTTP/1.1 100 Continue\r\nContent-Length: 0\r\n\r\nHTTP/1.1 200 Ok\r\nContent-Length: 0\r\n\r\nHTTP/1.1 204 No Content\r\n\r\nHTTP/1.1 304 Not Modified\r\nContent-length: 0\r\n\r\n
+ParseExcessData = ETrue
+ExpectedResponses = 3
+DataChunkCount = 1
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple response /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_15]
+DataChunk1 = HTTP/1.1 200 Ok\r\nContent-Length: 0\r\n\r\n
+ParseExcessData = ETrue
+ExpectedResponses = 1
+DataChunkCount = 1
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple response /////
+///// HTTP version 1.0 /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_16]
+DataChunk1 = HTTP/1.0 200 Ok\r\nContent-Length: 0\r\n\r\n
+ParseExcessData = EFalse
+ExpectedResponses = 1
+DataChunkCount = 1
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple response /////
+///// HTTP version 0.1 /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_17]
+DataChunk1 = HTTP/0.1 200 Ok\r\nContent-Length: 0\r\n\r\n
+ParseExcessData = EFalse
+ExpectedResponses = 1
+DataChunkCount = 1
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple response /////
+///// No excess data in the response /////
+///// Only One data chunk in the response /////
+///// Response has a non-HTTP protocol /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_18]
+DataChunk1 = WSP/1.1 200 Ok\r\nContent-Length: 6\r\nServer: Local-Test\r\nDate: Thu, 20 Dec 2007 03:08:55 GMT\r\nContent-Type: text/html; charset=ISO-8859-1\r\n\r\nHELLO!
+ParseExcessData = EFalse
+ExpectedResponses = 1
+DataChunkCount = 1
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple response /////
+///// No excess data in the response /////
+///// Only One data chunk in the response /////
+///// Response has a non-HTTP protocol /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_19]
+DataChunk1 = HTTP2/1.1 200 Ok\r\nContent-Length: 6\r\nServer: Local-Test\r\nDate: Thu, 20 Dec 2007 03:08:55 GMT\r\nContent-Type: text/html; charset=ISO-8859-1\r\n\r\nHELLO!
+ParseExcessData = EFalse
+ExpectedResponses = 1
+DataChunkCount = 1
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple response /////
+///// No excess data in the response /////
+///// Only One data chunk in the response /////
+///// Response has a non-HTTP protocol /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[RESPONSE_PARSER_TEST_20]
+DataChunk1 = WSPP/1.1 200 Ok\r\nContent-Length: 6\r\nServer: Local-Test\r\nDate: Thu, 20 Dec 2007 03:08:55 GMT\r\nContent-Type: text/html; charset=ISO-8859-1\r\n\r\nHELLO!
+ParseExcessData = EFalse
+ExpectedResponses = 1
+DataChunkCount = 1
+
+
+
+
+///////////////////////////////////////////////////////////////////////////////
+//////////////// ***** Request Composer Test ***** ////////////////
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+///// Compose a simple GET request /////
+///// Only 2 headers and no multiple values /////
+///// No parameters for the headers /////
+///////////////////////////////////////////////////////////////////////////////
+[REQUEST_COMPOSER_TEST_1]
+RequestMethod = GET
+URI = /index.html
+NoOfHdrValPairs = 2
+HeaderValuePair1 = Accept: text/xml
+HeaderValuePair2 = User-Agent: UpnpMessageTest
+NoOfHdrParamValPairs = 0
+RequestBodyPresence = EFalse
+
+
+///////////////////////////////////////////////////////////////////////////////
+///// Compose a simple GET request /////
+///// 7 headers and no multiple values /////
+///// No parameters for the headers /////
+///////////////////////////////////////////////////////////////////////////////
+[REQUEST_COMPOSER_TEST_2]
+RequestMethod = GET
+URI = /index.html
+NoOfHdrValPairs = 7
+HeaderValuePair1 = Accept: text/xml
+HeaderValuePair2 = User-Agent: UpnpMessageTest
+HeaderValuePair3 = Accept-Language: en-us
+HeaderValuePair4 = Accept-Encoding: gzip
+HeaderValuePair5 = Accept-Charset: ISO-8859-1
+HeaderValuePair6 = Keep-Alive: 300
+HeaderValuePair7 = Connection: keep-alive
+NoOfHdrParamValPairs = 0
+RequestBodyPresence = EFalse
+
+
+///////////////////////////////////////////////////////////////////////////////
+///// Compose a simple GET request /////
+///// 7 headers and with multiple values /////
+///// No parameters for the headers /////
+///////////////////////////////////////////////////////////////////////////////
+[REQUEST_COMPOSER_TEST_3]
+RequestMethod = GET
+URI = /index.html
+NoOfHdrValPairs = 11
+HeaderValuePair1 = Accept: text/xml
+HeaderValuePair2 = User-Agent: UpnpMessageTest
+HeaderValuePair3 = Accept-Language: en-us
+HeaderValuePair4 = Accept-Encoding: gzip
+HeaderValuePair5 = Accept-Charset: ISO-8859-1
+HeaderValuePair6 = Keep-Alive: 300
+HeaderValuePair7 = Connection: keep-alive
+HeaderValuePair8 = Accept: application/xml
+HeaderValuePair9 = Accept: application/xhtml+xml
+HeaderValuePair10 = Accept-Language: en
+HeaderValuePair11 = Accept-Charset: utf-8
+NoOfHdrParamValPairs = 0
+RequestBodyPresence = EFalse
+
+
+///////////////////////////////////////////////////////////////////////////////
+///// Compose a simple GET request /////
+///// 7 headers and with multiple values /////
+///// Some headers have parameters /////
+///////////////////////////////////////////////////////////////////////////////
+[REQUEST_COMPOSER_TEST_4]
+RequestMethod = GET
+URI = /index.html
+NoOfHdrValPairs = 11
+HeaderValuePair1 = Accept: text/xml
+HeaderValuePair2 = User-Agent: UpnpMessageTest
+HeaderValuePair3 = Accept-Language: en-us
+HeaderValuePair4 = Accept-Encoding: gzip
+HeaderValuePair5 = Accept-Charset: ISO-8859-1
+HeaderValuePair6 = Keep-Alive: 300
+HeaderValuePair7 = Connection: keep-alive
+HeaderValuePair8 = Accept: application/xml
+HeaderValuePair9 = Accept: application/xhtml+xml
+HeaderValuePair10 = Accept-Language: en
+HeaderValuePair11 = Accept-Charset: utf-8
+NoOfHdrParamValPairs = 4
+HeaderParamValPair1 = Accept: q=0.9 @1
+HeaderParamValPair2 = Accept: q=0.8 @2
+HeaderParamValPair3 = Accept-Language: q=0.5 @0
+HeaderParamValPair4 = Accept-Charset: q=0.6 @1
+RequestBodyPresence = EFalse
+
+
+///////////////////////////////////////////////////////////////////////////////
+///// Compose a simple POST request /////
+///// 7 headers and with multiple values /////
+///// Some headers have parameters /////
+///// Request has a body /////
+///////////////////////////////////////////////////////////////////////////////
+[REQUEST_COMPOSER_TEST_5]
+RequestMethod = POST
+URI = /index.html
+NoOfHdrValPairs = 11
+HeaderValuePair1 = Accept: text/xml
+HeaderValuePair2 = User-Agent: UpnpMessageTest
+HeaderValuePair3 = Accept-Language: en-us
+HeaderValuePair4 = Accept-Encoding: gzip
+HeaderValuePair5 = Accept-Charset: ISO-8859-1
+HeaderValuePair6 = Keep-Alive: 300
+HeaderValuePair7 = Connection: keep-alive
+HeaderValuePair8 = Accept: application/xml
+HeaderValuePair9 = Accept: application/xhtml+xml
+HeaderValuePair10 = Accept-Language: en
+HeaderValuePair11 = Accept-Charset: utf-8
+NoOfHdrParamValPairs = 4
+HeaderParamValPair1 = Accept: q=0.9 @1
+HeaderParamValPair2 = Accept: q=0.8 @2
+HeaderParamValPair3 = Accept-Language: q=0.5 @0
+HeaderParamValPair4 = Accept-Charset: q=0.6 @1
+RequestBodyPresence = ETrue
+Body = <?xml version="1.0" encoding="utf-8"?><!-- spec version order changed.--><scpd xmlns="urn:schemas-upnp-org:service-1-0"> <specVersion> <minor>0</minor> <major>1</major> </specVersion> <actionList> <action> <name>UpdateObject</name> <argumentList> <argument> <name>ObjectID</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_ObjectID</relatedStateVariable> </argument> <argument> <name>CurrentTagValue</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_TagValueList</relatedStateVariable> </argument> <argument> <name>NewTagValue</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_TagValueList</relatedStateVariable> </argument> </argumentList> </action> </actionList> <serviceStateTable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_TransferStatus</name> <dataType>string</dataType> <allowedValueList> <allowedValue>COMPLETED</allowedValue> <allowedValue>ERROR</allowedValue> <allowedValue>IN_PROGRESS</allowedValue> <allowedValue>STOPPED</allowedValue> </allowedValueList> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_TransferTotal</name> <dataType>string</dataType> </stateVariable> </serviceStateTable></scpd>
+
+
+///////////////////////////////////////////////////////////////////////////////
+///// Compose a simple M-Search request /////
+///// Request has no body /////
+///////////////////////////////////////////////////////////////////////////////
+[REQUEST_COMPOSER_TEST_6]
+RequestMethod = M-SEARCH
+URI = *
+NoOfHdrValPairs = 5
+HeaderValuePair1 = Host:239.255.255.250:1900
+HeaderValuePair2 = ST:urn:schemas-upnp-org:device:InternetGatewayDevice:1
+HeaderValuePair3 = Man: ssdp:discover
+HeaderValuePair4 = MX:3
+HeaderValuePair5 = EXT:
+NoOfHdrParamValPairs = 0
+RequestBodyPresence = EFalse
+
+
+///////////////////////////////////////////////////////////////////////////////
+///// Compose a simple NOTIFY request /////
+///// Request has no body /////
+///////////////////////////////////////////////////////////////////////////////
+[REQUEST_COMPOSER_TEST_7]
+RequestMethod = NOTIFY
+URI = *
+NoOfHdrValPairs = 7
+HeaderValuePair1 = Host:239.255.255.250:1900
+HeaderValuePair2 = NT: upnp:rootdevice
+HeaderValuePair3 = USN: uuid:d77e6e04-f466-439a-b99a-88946979ef62::upnp:rootdevice
+HeaderValuePair4 = NTS: ssdp:alive
+HeaderValuePair5 = SERVER: Windows NT/5.0, UPnP/1.0
+HeaderValuePair6 = LOCATION: http://10.192.204.79:54771/
+HeaderValuePair7 = Content-Length: 0
+NoOfHdrParamValPairs = 0
+RequestBodyPresence = EFalse
+
+
+///////////////////////////////////////////////////////////////////////////////
+///// Compose a simple SUBSCRIBE request /////
+///// Request has no body /////
+///////////////////////////////////////////////////////////////////////////////
+[REQUEST_COMPOSER_TEST_8]
+RequestMethod = SUBSCRIBE
+URI = /_urn:upnp-org:serviceId:DimmingService.0001_event
+NoOfHdrValPairs = 5
+HeaderValuePair1 = NT: upnp:event
+HeaderValuePair2 = TIMEOUT: 300
+HeaderValuePair3 = HOST: 10.192.204.79:61447
+HeaderValuePair4 = CALLBACK: http://10.192.204.79:8217/2ab3bfa7-31a5-4a9b-b229-171d3f89e103/urn:upnp-org:serviceId:DimmingService.0001
+HeaderValuePair5 = Content-Length: 0
+NoOfHdrParamValPairs = 0
+RequestBodyPresence = EFalse
+
+
+///////////////////////////////////////////////////////////////////////////////
+///// Compose a simple UNSUBSCRIBE request /////
+///// Request has no body /////
+///////////////////////////////////////////////////////////////////////////////
+[REQUEST_COMPOSER_TEST_9]
+RequestMethod = UNSUBSCRIBE
+URI = /_urn:upnp-org:serviceId:DimmingService.0001_event
+NoOfHdrValPairs = 3
+HeaderValuePair1 = SID: uuid:2ab3bfa7-31a5-4a9b-b229-171d3f89e103-urn:upnp-org:serviceId:DimmingService.0001-1
+HeaderValuePair2 = HOST: 10.192.204.79:61447
+HeaderValuePair3 = Content-Length: 0
+NoOfHdrParamValPairs = 0
+RequestBodyPresence = EFalse
+
+
+
+
+///////////////////////////////////////////////////////////////////////////////
+//////////////// ***** Request Parser Test ***** ////////////////
+///////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple request /////
+///// No excess data in the request /////
+///// Request is present as a single chunk /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_1]
+DataChunk1 = GET /index.html HTTP/1.0\r\nHost: www.cricinfo.com\r\nUser-Agent: UpnpMessageTest\r\nAccept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\nAccept-Language: en-us,en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n\r\n
+ParseExcessData = EFalse
+ExpectedRequests = 1
+DataChunkCount = 1
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple request /////
+///// Excess data in the request which is not parsed/////
+///// Request is split into 5 chunks /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_2]
+DataChunk1 = GET /index.html HTTP/0.1\r\nHost: www.crici
+DataChunk2 = nfo.com\r\nUser-Agent: UpnpMessageTest\r\nAccept: text/xml,application/xml,applicati
+DataChunk3 = on/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\nAccept-Language: en-us,
+DataChunk4 = en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1
+DataChunk5 = ,utf-8;q=0.7,*;q=0.7\r\n\r\nsome_junk_excess_data_that_isn't_parsed
+ParseExcessData = EFalse
+ExpectedRequests = 1
+DataChunkCount = 5
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 2 simple request /////
+///// 2nd request is present as the excess data of the first /////
+///// 1st request is split into 5 chunks /////
+///// 2nd request is split into 3 chunks /////
+///// 2nd request has a body /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_3]
+DataChunk1 = GET /index.html HTTP/1.1\r\nHost: www.crici
+DataChunk2 = nfo.com\r\nUser-Agent: UpnpMessageTest\r\nAccept: text/xml,application/xml,applicati
+DataChunk3 = on/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\nAccept-Language: en-us,
+DataChunk4 = en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1
+DataChunk5 = ,utf-8;q=0.7,*;q=0.7\r\n\r\nPOST /ho
+DataChunk6 = me.html HTTP/1.1\r\nHost: www.
+DataChunk7 = google.com\r\nUser-Agent: UpnpM
+DataChunk8 = essageTest\r\nContent-Length: 6\r\n\r\nHELLO!
+ParseExcessData = ETrue
+ExpectedRequests = 2
+DataChunkCount = 8
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple request that has a body /////
+///// Excess data in the request which is not parsed /////
+///// Request is split into 8 chunks /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_4]
+DataChunk1 = POST /index.html HTTP/1.1\r\nHost: www.goo
+DataChunk2 = gle.com\r\nUser-Agent: UpnpMessageTest\r\nAccept: text/xml,application/xml,applicati
+DataChunk3 = on/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\nAccept-Language: en-us,
+DataChunk4 = en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1
+DataChunk5 = ,utf-8;q=0.7,*;q=0.7\r\nTransfer-Encoding: chunked\r\n\r\n10\r\n1234567
+DataChunk6 = 890abcdef\r\n1a;\r\nabcdefghijklmnop
+DataChunk7 = qrstuvwxyz\r\n0\r\n\r\nsome_junk_excess_data_that_isn't_parsed
+ParseExcessData = EFalse
+ExpectedRequests = 1
+DataChunkCount = 7
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple request that has a body /////
+///// Excess data in the request which is not parsed /////
+///// Request is split into 7 chunks /////
+///// This is a GET request that has a body /////
+///// Transfer-Encoding: chunked is used /////
+///// The presence of the body has to be reported with KErrCorrupt ////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_5]
+DataChunk1 = GET /index.html HTTP/1.1\r\nHost: www.goo
+DataChunk2 = gle.com\r\nUser-Agent: UpnpMessageTest\r\nAccept: text/xml,application/xml,applicati
+DataChunk3 = on/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\nAccept-Language: en-us,
+DataChunk4 = en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1
+DataChunk5 = ,utf-8;q=0.7,*;q=0.7\r\nTransfer-Encoding: chunked\r\n\r\n10\r\n1234567
+DataChunk6 = 890abcdef\r\n1a;\r\nabcdefghijklmnop
+DataChunk7 = qrstuvwxyz\r\n0\r\n\r\nsome_junk_excess_data_that_isn't_parsed
+ParseExcessData = EFalse
+ExpectedRequests = 1
+DataChunkCount = 7
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple request that has a body /////
+///// Excess data in the request which is not parsed /////
+///// Request is split into 6 chunks /////
+///// This is a GET request that has a body /////
+///// Content-Length is used /////
+///// The presence of the body has to be reported with KErrCorrupt ////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_6]
+DataChunk1 = GET /index.html HTTP/1.1\r\nHost: www.goo
+DataChunk2 = gle.com\r\nUser-Agent: UpnpMessageTest\r\nAccept: text/xml,application/xml,applicati
+DataChunk3 = on/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\nAccept-Language: en-us,
+DataChunk4 = en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1
+DataChunk5 = ,utf-8;q=0.7,*;q=0.7\r\nContent-Length: 10\r\n\r\n012345
+DataChunk6 = 6789
+ParseExcessData = EFalse
+ExpectedRequests = 1
+DataChunkCount = 6
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 2 requests one of which has a body /////
+///// Excess data in the request which is parsed /////
+///// Request is split into 7 chunks /////
+///// This is a GET request that has a body /////
+///// Content-Length is used /////
+///// The presence of the body has to be reported with KErrCorrupt ////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_7]
+DataChunk1 = GET /index.html HTTP/1.1\r\nHost: www.goo
+DataChunk2 = gle.com\r\nUser-Agent: UpnpMessageTest\r\nAccept: text/xml,application/xml,applicati
+DataChunk3 = on/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\nAccept-Language: en-us,
+DataChunk4 = en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1
+DataChunk5 = ,utf-8;q=0.7,*;q=0.7\r\nContent-Length: 10\r\n\r\n012345
+DataChunk6 = 6789GET /index.html HTTP/1.1\r\nH
+DataChunk7 = ost: www.google.com\r\n\r\n
+ParseExcessData = ETrue
+ExpectedRequests = 2
+DataChunkCount = 7
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 2 requests one of which has a body /////
+///// Excess data in the request which is parsed /////
+///// Request is split into 8 chunks /////
+///// This is a GET request that has a body /////
+///// Transfer-Encoding: chunked is used /////
+///// The presence of the body has to be reported with KErrCorrupt ////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_8]
+DataChunk1 = GET /index.html HTTP/1.1\r\nHost: www.goo
+DataChunk2 = gle.com\r\nUser-Agent: UpnpMessageTest\r\nAccept: text/xml,application/xml,applicati
+DataChunk3 = on/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\nAccept-Language: en-us,
+DataChunk4 = en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1
+DataChunk5 = ,utf-8;q=0.7,*;q=0.7\r\nTransfer-Encoding: chunked\r\n\r\n10\r\n1234567
+DataChunk6 = 890abcdef\r\n1a;\r\nabcdefghijklmnop
+DataChunk7 = qrstuvwxyz\r\n0\r\n\r\nGET /index.html HTTP/1.1\r\nH
+DataChunk8 = ost: www.google.com\r\n\r\n
+ParseExcessData = ETrue
+ExpectedRequests = 2
+DataChunkCount = 8
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 2 requests that have a body /////
+///// Excess data in the request which is parsed /////
+///// Request is split into 7 chunks /////
+///// This is a GET request that has a body /////
+///// Transfer-Encoding: chunked is used /////
+///// The presence of the body has to be reported with KErrCorrupt ////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_9]
+DataChunk1 = GET /index.html HTTP/1.1\r\nHost: www.goo
+DataChunk2 = gle.com\r\nUser-Agent: UpnpMessageTest\r\nTransfer-En
+DataChunk3 = coding: chunked\r\n\r\n10\r\n1234567
+DataChunk4 = 890abcdef\r\n1a;\r\nab
+DataChunk5 = cdefghijklmnop
+DataChunk6 = qrstuvwxyz\r\n0\r\n\r\nGET /index.html HTTP/1.1\r\nHost: www.google.com
+DataChunk7 = \r\nContent-Length: 6\r\n\r\nHELLO!
+ParseExcessData = ETrue
+ExpectedRequests = 2
+DataChunkCount = 7
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 2 requests that have a body /////
+///// Excess data in the request which is parsed /////
+///// Request is split into 6 chunks /////
+///// This is a GET request that has a body /////
+///// Content-Length is used /////
+///// The presence of the body has to be reported with KErrCorrupt ////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_10]
+DataChunk1 = GET /index.html HTTP/1.1\r\nHost: www.goo
+DataChunk2 = gle.com\r\nUser-Agent: UpnpMessageTest\r\nContent-Length: 10\r\n\r\n012345
+DataChunk3 = 6789GET /index.html HTTP/1.1\r\nHost: www.goo
+DataChunk4 = gle.com\r\nUser-Agent: UpnpMessageTest\r\nTransfer-En
+DataChunk5 = coding: chunked\r\n\r\n10\r\n1234567
+DataChunk6 = 890abcdef\r\n1a;\r\nabcdefghijklmnopqrstuvwxyz\r\n0\r\n\r\n
+ParseExcessData = ETrue
+ExpectedRequests = 2
+DataChunkCount = 6
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 1 M-Search request /////
+///// No excess data /////
+///// Request arrives as a single chunk /////
+///// No entity body in the request /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_11]
+DataChunk1 = M-SEARCH * HTTP/1.1\r\nHost:239.255.255.250:1900\r\nST:urn:schemas-upnp-org:device:InternetGatewayDevice:1\r\nMan:"ssdp:discover"\r\nMX:3\r\n\r\n
+ParseExcessData = EFalse
+ExpectedRequests = 1
+DataChunkCount = 1
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 2 M-Search request /////
+///// Second request present as excess data of the first /////
+///// Request arrives in multiple chunks /////
+///// No entity body in the request /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_12]
+DataChunk1 = M-SEARCH * HTTP/
+DataChunk2 = 1.1\r\nHost:239.255.255.250:1900\r\nST:urn:schema
+DataChunk3 = s-upnp-org:device:InternetGatewayDevice:1\r\nMan:"ss
+DataChunk4 = dp:discover"\r\nMX:3\r\n\r\nM-SEARCH * HTTP/1.1\r\nHost:
+DataChunk5 = 239.255.255.250:1900\r\nST:urn:schemas-upnp-org:device:In
+DataChunk6 = ternetGatewayDevice:1\r\nMan:"ssdp:discover"\r\nMX:3\r\n\r\n
+ParseExcessData = ETrue
+ExpectedRequests = 2
+DataChunkCount = 6
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 1 M-Search request /////
+///// Presece of excess data which is not parsed /////
+///// Request arrives in multiple chunks /////
+///// No entity body in the request /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_13]
+DataChunk1 = M-SEARCH * HTTP/
+DataChunk2 = 1.1\r\nHost:239.255.255.250:1900\r\nST:urn:schema
+DataChunk3 = s-upnp-org:device:InternetGatewayDevice:1\r\nMan:"ss
+DataChunk4 = dp:discover"\r\nMX:3\r\n\r\nBODYM-SEARCH * HTTP/1.1\r\nHost:239.255.255.250:1900\r\nST:urn:schemas-upnp-org:device:InternetGatewayDevice:1\r\nMan:"ssdp:discover"\r\nMX:3\r\n\r\n
+ParseExcessData = EFalse
+ExpectedRequests = 1
+DataChunkCount = 4
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 1 M-Search request /////
+///// No excess data /////
+///// Request arrives as a single chunk /////
+///// Presense of entity body must be reported with KErrCorrupt /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_14]
+DataChunk1 = M-SEARCH * HTTP/1.1\r\nHost:239.255.255.250:1900\r\nST:urn:schemas-upnp-org:device:InternetGatewayDevice:1\r\nMan:"ssdp:discover"\r\nMX:3\r\nContent-length: 4\r\n\r\nBODY
+ParseExcessData = EFalse
+ExpectedRequests = 1
+DataChunkCount = 1
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 1 Notify request /////
+///// No excess data /////
+///// Request arrives as a single chunk /////
+///// No entity body in the request /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_15]
+DataChunk1 = NOTIFY * HTTP/1.1\r\nNT: upnp:rootdevice\r\nUSN: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc::upnp:rootdevice\r\nNTS: ssdp:alive\r\nHOST: 239.255.255.250:1900\r\nContent-Length: 0\r\n\r\n
+ParseExcessData = EFalse
+ExpectedRequests = 1
+DataChunkCount = 1
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 1 Notify request /////
+///// Presence of excess data which is not parsed /////
+///// Request arrives as multiple chunks /////
+///// No entity body in the request /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_16]
+DataChunk1 = NOTIFY * HTTP/1.1\r\nNT: upnp:rootdevice\r\nUSN: uuid:0ad5fcb2-5
+DataChunk2 = 546-42c1-bf8e-e7583a9247bc::upnp:rootdevice\r\nNTS: ssdp
+DataChunk3 = :alive\r\nHOST: 239.255.255.250:1900\r\nConte
+DataChunk4 = nt-Length: 0\r\n\r\nNOTIFY * HTTP
+DataChunk5 = /1.1\r\nNT: upnp:rootdevice\r\nUSN: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc::upnp:rootdevice\r\nNTS: ssdp:alive
+DataChunk6 = \r\nHOST: 239.255.255.250:1900\r\nContent-Length: 0\r\n\r\n
+ParseExcessData = EFalse
+ExpectedRequests = 1
+DataChunkCount = 6
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 2 Notify request /////
+///// Presence of excess data which is parsed /////
+///// Request arrives as multiple chunks /////
+///// No entity body in the request /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_17]
+DataChunk1 = NOTIFY * HTTP/1.1\r\nNT: upnp:rootdevice\r\nUSN: uuid:0ad5fcb2-5
+DataChunk2 = 546-42c1-bf8e-e7583a9247bc::upnp:rootdevice\r\nNTS: ssdp
+DataChunk3 = :alive\r\nHOST: 239.255.255.250:1900\r\nConte
+DataChunk4 = nt-Length: 0\r\n\r\nNOTIFY * HTTP
+DataChunk5 = /1.1\r\nNT: upnp:rootdevice\r\nUSN: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc::upnp:rootdevice\r\nNTS: ssdp:alive
+DataChunk6 = \r\nHOST: 239.255.255.250:1900\r\nContent-Length: 0\r\n\r\n
+ParseExcessData = ETrue
+ExpectedRequests = 2
+DataChunkCount = 6
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a simple SUBSCRIBE request /////
+///// No entity body in the request /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_18]
+DataChunk1 = SUBSCRIBE /_urn:upnp-org:serviceId:DimmingService.0001_event HTTP/1.1\r\nNT: upn
+DataChunk2 = p:event\r\nTIMEOUT: Sec
+DataChunk3 = ond-300\r\nHOST: 10.192.204.79:61447\r\nCallback: <http://10.192.204.79:8
+DataChunk4 = 217/2ab3bfa7-31a5-4a9b-b229-171d3f89e103/urn:upnp-org:serviceId:DimmingService.0001>\r\nContent-Length: 0\r\n\r\n
+ParseExcessData = EFalse
+ExpectedRequests = 1
+DataChunkCount = 4
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 2 simple SUBSCRIBE requests /////
+///// Presence of excess data which is parsed /////
+///// No entity body in the request /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_19]
+DataChunk1 = SUBSCRIBE /_urn:upnp-org:serviceId:DimmingService.0001_event HTTP/1.1\r\n
+DataChunk2 = NT: upnp:event\r\nTIMEOUT: Sec
+DataChunk3 = ond-300\r\nHOST: 10.192.204.79:61447\r\nCALLBACK: <http://10.192.204.79:8
+DataChunk4 = 217/2ab3bfa7-31a5-4a9b-b229-171d3f89e103/urn:upnp-org:serviceId:DimmingService.0001>\r\nContent-Length: 0\r\n\r\nSUBSCRIBE /_urn:upnp-org:serviceId:DimmingService.0001_event HTTP/1.1\r\n
+DataChunk5 = NT: upnp:event\r\nTIMEOUT: Sec
+DataChunk6 = ond-300\r\nHOST: 10.192.204.79:61447\r\nCALLBACK: <http://10.192.204.79:8
+DataChunk7 = 217/2ab3bfa7-31a5-4a9b-b229-171d3f89e103/urn:upnp-org:serviceId:DimmingService.0001>\r\nContent-Length: 0\r\n\r\n
+ParseExcessData = ETrue
+ExpectedRequests = 2
+DataChunkCount = 7
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a simple UNSUBSCRIBE request /////
+///// No entity body in the request /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_20]
+DataChunk1 = UNSUBSCRIBE /_urn:upnp-org:serviceId:DimmingService.0001_event HTTP/1.1\r\nSID: uu
+DataChunk2 = id:2ab3bfa7-31a5-4a9b-b229-171d3f89e103-urn:upnp-org:serviceId:DimmingServ
+DataChunk3 = ice.0001-1\r\nHOST: 10.192.204.79:61447\r\nContent-Length: 0\r\n\r\n
+ParseExcessData = EFalse
+ExpectedRequests = 1
+DataChunkCount = 3
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing 2 simple UNSUBSCRIBE requests /////
+///// Presence of excess data which is parsed /////
+///// No entity body in the request /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_21]
+DataChunk1 = UNSUBSCRIBE /_urn:upnp-org:serviceId:DimmingService.0001_event HTTP/1.1\r\nSID: uu
+DataChunk2 = id:2ab3bfa7-31a5-4a9b-b229-171d3f89e103-urn:upnp-org:serviceId:DimmingServ
+DataChunk3 = ice.0001-1\r\nHOST: 10.192.204.79:61447\r\nContent-Length: 0\r\n\r\nUNSUBSCRIBE /_urn:upnp-org:serviceId:DimmingService.0001_event HTTP/1.1\r\nSID: uu
+DataChunk4 = id:2ab3bfa7-31a5-4a9b-b229-171d3f89e103-urn:upnp-org:serviceId:DimmingServ
+DataChunk5 = ice.0001-1\r\nHOST: 10.192.204.79:61447\r\nContent-Length: 0\r\n\r\n
+ParseExcessData = ETrue
+ExpectedRequests = 2
+DataChunkCount = 5
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple request /////
+///// Missing version /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_22]
+DataChunk1 = GET /index.html \r\nHost: www.cricinfo.com\r\nUser-Agent: UpnpMessageTest\r\nAccept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\nAccept-Language: en-us,en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n\r\n
+ParseExcessData = EFalse
+ExpectedRequests = 1
+DataChunkCount = 1
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+///// Parsing a single simple request /////
+///// Missing / in version /////
+//////////////////////////////////////////////////////////////////////////////////////////
+[REQUEST_PARSER_TEST_23]
+DataChunk1 = GET /index.html HTTP1.1\r\nHost: www.cricinfo.com\r\nUser-Agent: UpnpMessageTest\r\nAccept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\nAccept-Language: en-us,en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n\r\n
+ParseExcessData = EFalse
+ExpectedRequests = 1
+DataChunkCount = 1
+
+
+
+
+///////////////////////////////////////////////////////////////////////////////
+//////////////// ***** Response Composer Test ***** ////////////////
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+///// Compose a simple response /////
+///// Only 2 headers and no multiple values /////
+///// No parameters for the headers /////
+///////////////////////////////////////////////////////////////////////////////
+[RESPONSE_COMPOSER_TEST_1]
+ResponseStatusCode = 200
+ResponseStatusText = Ok
+NoOfHdrValPairs = 3
+HeaderValuePair1 = Accept: text/xml
+HeaderValuePair2 = User-Agent: UpnpMessageTest
+HeaderValuePair3 = Content-Length: 0
+NoOfHdrParamValPairs = 0
+ResponseBodyPresence = EFalse
+
+
+///////////////////////////////////////////////////////////////////////////////
+///// Compose a simple response /////
+///// 6 headers and no multiple values /////
+///// No parameters for the headers /////
+///////////////////////////////////////////////////////////////////////////////
+[RESPONSE_COMPOSER_TEST_2]
+ResponseStatusCode = 200
+ResponseStatusText = Ok
+NoOfHdrValPairs = 6
+HeaderValuePair1 = Server: Apache/2.2.3
+HeaderValuePair2 = Accept-Ranges: bytes
+HeaderValuePair3 = Connection: close
+HeaderValuePair4 = Content-Type: text/html
+HeaderValuePair5 = Content-Encoding: gzip
+HeaderValuePair6 = Content-Length: 0
+NoOfHdrParamValPairs = 0
+ResponseBodyPresence = EFalse
+
+
+///////////////////////////////////////////////////////////////////////////////
+///// Compose a simple response /////
+///// 5 headers and with multiple values /////
+///// Some headers have parameters /////
+///////////////////////////////////////////////////////////////////////////////
+[RESPONSE_COMPOSER_TEST_3]
+ResponseStatusCode = 200
+ResponseStatusText = Ok
+NoOfHdrValPairs = 5
+HeaderValuePair1 = Server: Apache/2.2.3
+HeaderValuePair2 = Accept-Ranges: bytes
+HeaderValuePair3 = Connection: close
+HeaderValuePair4 = Content-Type: text/html
+HeaderValuePair5 = Content-Length: 0
+NoOfHdrParamValPairs = 1
+HeaderParamValPair1 = Content-Type: charset=ISO-8859-1 @0
+ResponseBodyPresence = EFalse
+
+
+///////////////////////////////////////////////////////////////////////////////
+///// Compose a simple response /////
+///// 5 headers and with multiple values /////
+///// Some headers have parameters /////
+///// Response has content-Length > 0 & a body/////
+///////////////////////////////////////////////////////////////////////////////
+[RESPONSE_COMPOSER_TEST_4]
+ResponseStatusCode = 200
+ResponseStatusText = Ok
+NoOfHdrValPairs = 5
+HeaderValuePair1 = Server: Apache/2.2.3
+HeaderValuePair2 = Accept-Ranges: bytes
+HeaderValuePair3 = Connection: close
+HeaderValuePair4 = Content-Type: text/html
+HeaderValuePair5 = Content-Length: 1545
+NoOfHdrParamValPairs = 1
+HeaderParamValPair1 = Content-Type: charset=ISO-8859-1 @0
+ResponseBodyPresence = ETrue
+Body = <?xml version="1.0" encoding="utf-8"?><!-- spec version order changed.--><scpd xmlns="urn:schemas-upnp-org:service-1-0"> <specVersion> <minor>0</minor> <major>1</major> </specVersion> <actionList> <action> <name>UpdateObject</name> <argumentList> <argument> <name>ObjectID</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_ObjectID</relatedStateVariable> </argument> <argument> <name>CurrentTagValue</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_TagValueList</relatedStateVariable> </argument> <argument> <name>NewTagValue</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_TagValueList</relatedStateVariable> </argument> </argumentList> </action> </actionList> <serviceStateTable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_TransferStatus</name> <dataType>string</dataType> <allowedValueList> <allowedValue>COMPLETED</allowedValue> <allowedValue>ERROR</allowedValue> <allowedValue>IN_PROGRESS</allowedValue> <allowedValue>STOPPED</allowedValue> </allowedValueList> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_TransferTotal</name> <dataType>string</dataType> </stateVariable> </serviceStateTable></scpd>
+
+
+
+
+///////////////////////////////////////////////////////////////////////////////
+//////////////// ***** Codec Tests ***** ////////////////
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+///// Testing functionality with request headers /////
+///////////////////////////////////////////////////////////////////////////////
+[CODEC_TEST_1]
+RequestHeader = ETrue
+NoOfHdrValPairs = 10
+HeaderValuePair1 = NTS: ssdp:alive
+HeaderValuePair2 = NT: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc
+HeaderValuePair3 = USN: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc
+HeaderValuePair4 = ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
+HeaderValuePair5 = Timeout: Second-1800
+HeaderValuePair6 = MX: 300
+HeaderValuePair7 = SEQ: 4294
+HeaderValuePair8 = MAN: "ssdp:discover";ns=01;ns=;ns
+HeaderValuePair9 = SOAPACTION: "some:value:soap:09"
+HeaderValuePair10 = Callback: <123.234.345.456:7890><098.876.765.543.4321><102.394.587.601:2938>
+
+
+///////////////////////////////////////////////////////////////////////////////
+///// Testing functionality with response headers /////
+///////////////////////////////////////////////////////////////////////////////
+[CODEC_TEST_2]
+RequestHeader = EFalse
+NoOfHdrValPairs = 5
+HeaderValuePair1 = ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
+HeaderValuePair2 = USN: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc
+HeaderValuePair3 = Timeout: Second-1800
+HeaderValuePair4 = EXT:
+HeaderValuePair5 = SID: uuid:2ab3bfa7-31a5-4a9b-b229-171d3f89e103-urn:upnp-org:serviceId:DimmingService.0001-1
+
+
+///////////////////////////////////////////////////////////////////////////////
+///// Testing functionality with request headers /////
+///// These headers connot have more than one value /////
+///// Only the 1st occurance of header/value is considered /////
+///////////////////////////////////////////////////////////////////////////////
+[CODEC_TEST_3]
+RequestHeader = ETrue
+NoOfHdrValPairs = 18
+HeaderValuePair1 = NTS: ssdp:alive
+HeaderValuePair2 = NT: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc
+HeaderValuePair3 = USN: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc
+HeaderValuePair4 = ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
+HeaderValuePair5 = Timeout: infinite
+HeaderValuePair6 = MX: 300
+HeaderValuePair7 = SEQ: 4294
+HeaderValuePair8 = MAN: "ssdp:discover"
+HeaderValuePair9 = SOAPACTION: "some:value:soap:09"
+HeaderValuePair10 = NTS: ssdp:alive
+HeaderValuePair11 = NT: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc2
+HeaderValuePair12 = USN: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc2
+HeaderValuePair13 = Timeout: Second-1800
+HeaderValuePair14 = MX: 3002
+HeaderValuePair15 = SEQ: 42942
+HeaderValuePair16 = MAN: "ssdp:discover"
+HeaderValuePair17 = SOAPACTION: "some2:value2:soap2:092"
+HeaderValuePair18 = ST: urn:schemas-upnp-org:device:InternetGatewayDevice:2
+
+
+///////////////////////////////////////////////////////////////////////////////
+///// Testing functionality with response headers /////
+///// These headers connot have more than one value /////
+///// Only the 1st occurance of header/value is considered /////
+///////////////////////////////////////////////////////////////////////////////
+[CODEC_TEST_4]
+RequestHeader = EFalse
+NoOfHdrValPairs = 12
+HeaderValuePair1 = ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
+HeaderValuePair2 = USN: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc
+HeaderValuePair3 = Timeout: infinite
+HeaderValuePair4 = SID: uuid:2ab3bfa7-31a5-4a9b-b229-171d3f89e103-urn:upnp-org:serviceId:DimmingService.0001-2
+HeaderValuePair5 = ST: urn:schemas-upnp-org:device:InternetGatewayDevice:2
+HeaderValuePair6 = USN: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc2
+HeaderValuePair7 = Timeout: Second-1800
+HeaderValuePair8 = SID: uuid:2ab3bfa7-31a5-4a9b-b229-171d3f89e103-urn:upnp-org:serviceId:DimmingService.0001-1
+HeaderValuePair9 = Callback:
+HeaderValuePair10 = MX: .5
+HeaderValuePair11 = SEQ:
+HeaderValuePair12 = MAN: ;
+
+
+///////////////////////////////////////////////////////////////////////////////
+///// Testing functionality with request headers /////
+///////////////////////////////////////////////////////////////////////////////
+[CODEC_TEST_5]
+RequestHeader = ETrue
+NoOfHdrValPairs = 12
+HeaderValuePair1 = NTS: ssdp:alive
+HeaderValuePair2 = NT: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc
+HeaderValuePair3 = USN: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc
+HeaderValuePair4 = ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
+HeaderValuePair5 = Timeout: 1800
+HeaderValuePair6 = MX: 300
+HeaderValuePair7 = SEQ: 4294
+HeaderValuePair8 = Callback: 123.234.345.456:7890
+HeaderValuePair9 = SOAPACTION: some:value:soap:09
+HeaderValuePair10 = MAN: ssdp:discover
+HeaderValuePair11 = SID: uuid:2ab3bfa7-31a5-4a9b-b229-171d3f89e103-urn:upnp-org:serviceId:DimmingService.0001-2
+HeaderValuePair12 = EXT:
+
+
+///////////////////////////////////////////////////////////////////////////////
+///// Testing functionality with request headers /////
+///// These headers connot have more than one value /////
+///// Only 1st occurance of some header/value is considered /////
+///////////////////////////////////////////////////////////////////////////////
+[CODEC_TEST_6]
+RequestHeader = ETrue
+NoOfHdrValPairs = 20
+HeaderValuePair1 = NTS: ssdp:alive
+HeaderValuePair2 = NT: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc
+HeaderValuePair3 = USN: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc
+HeaderValuePair4 = ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
+HeaderValuePair5 = Timeout: -2147483647
+HeaderValuePair6 = MX: 300
+HeaderValuePair7 = SEQ: 4294
+HeaderValuePair8 = Callback: 123.234.345.456:7890
+HeaderValuePair9 = SOAPACTION: some:value:soap:09
+HeaderValuePair10 = NTS: ssdp:alive
+HeaderValuePair11 = NT: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc2
+HeaderValuePair12 = USN: uuid:0ad5fcb2-5546-42c1-bf8e-e7583a9247bc2
+HeaderValuePair13 = Timeout: 1800
+HeaderValuePair14 = MX: 3002
+HeaderValuePair15 = SEQ: 42942
+HeaderValuePair16 = Callback: 098.876.765.543.4321
+HeaderValuePair17 = SOAPACTION: some2:value2:soap2:092
+HeaderValuePair18 = ST: urn:schemas-upnp-org:device:InternetGatewayDevice:2
+HeaderValuePair19 = MAN: ssdp:discover
+HeaderValuePair20 = MAN: ssdp:discover2
+
+
+[TEST_COVERAGE]