messagingfw/wappushfw/pushutils/test/t_pushmessage.h
changeset 0 8e480a14352b
equal deleted inserted replaced
-1:000000000000 0:8e480a14352b
       
     1 // Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #ifndef __T_PUSHMESSAGE_H__
       
    17 #define __T_PUSHMESSAGE_H__
       
    18 
       
    19 class CWapLog;
       
    20 class CPushMessage;
       
    21 
       
    22 
       
    23 /**
       
    24 * Test harness for the CPushMessage class.  
       
    25 * 
       
    26 * Creates a header and a body pair from data files, and uses
       
    27 * each pair in turn to the pass to the constructor of a CPushMessage.
       
    28 * On each message call number of functions to check that the class 
       
    29 * holds and returns the correct data 
       
    30 */
       
    31 class CPushMessageTester : public CBase
       
    32 	{
       
    33 public:
       
    34 	static CPushMessageTester* NewLC(CWapPushLog& aWapLog);
       
    35 	static CPushMessageTester* NewL(CWapPushLog& aWapLog);
       
    36 	~CPushMessageTester();
       
    37 	
       
    38 	void CreateMessagesL();
       
    39 	void OutputMessageDataL();
       
    40 	void TestMultiTextMsgFromFilesL();
       
    41 	void TestFinished();
       
    42 private:
       
    43 	CPushMessage* CreateMultiTextPushMessageL(const TDesC& aFileName, const TDesC8& aHdr);
       
    44 	void GenMessageTypeL(const TDesC& aFileName, TDes8& aMsgType);
       
    45 	CPushMessageTester(CWapPushLog& aWapLog);
       
    46 	HBufC8* CreateMsgDataLC(const TUint8* aMessage, TInt aLength);
       
    47 private:
       
    48 	CWapPushLog& iLog;  //Don't own this
       
    49 	CPushMessage* iPushMessage1;
       
    50 	CPushMessage* iPushMessage2;
       
    51 	CPushMessage* iPushMessage3;
       
    52 	CPushMessage* iPushMessage4;
       
    53 	CPushMessage* iPushMessage5;
       
    54 	CPushMessage* iPushMessage6;
       
    55 	CPushMessage* iPushMessage7;
       
    56 	CPushMessage* iPushMultiMessage;
       
    57 	};
       
    58 
       
    59 
       
    60 
       
    61 
       
    62 
       
    63 
       
    64 
       
    65 
       
    66 const TUint8 KMessageHeader1[] =
       
    67 	{
       
    68 	0x80	//Content type is "*/*", No application id
       
    69 	};
       
    70 
       
    71 const TUint8 KMessageHeader2[] = 
       
    72 	{
       
    73 	0xAF,  //Content type "text/vnd.wap.sl"
       
    74 	0x92,  // Date
       
    75 	0x04,  // length of field
       
    76 	0x39,  // Monday 15 August 2000 10:41:37 GMT
       
    77 	0x90,	
       
    78 	0x6a,
       
    79 	0xd0,
       
    80 	0x94,  // Expires 
       
    81 	0x04,  // length of field
       
    82 	0x39,  // Monday 15 August 2000 10:41:37 GMT
       
    83 	0x9a,	
       
    84 	0x6a,
       
    85 	0xd0,
       
    86 	0xAF,  //X-Wap-Application-ID
       
    87 	0x83   // Short int - 0x03 
       
    88 	};
       
    89 
       
    90 const TUint8 KMessageHeader3[]=
       
    91 	{
       
    92 	0xB4,  //Content type "text/vnd.wap.wml"
       
    93 	0x94,  // Date
       
    94 	0x04,  // length of field
       
    95 	0x35,  // Thur 23 Apr 1998 13:41:37 GMT
       
    96 	0x3F,	
       
    97 	0x45,
       
    98 	0x11,
       
    99 	0xAF,	// X-Wap-Application ID
       
   100 	0x83	// Id is short integer 3.
       
   101 	};
       
   102 
       
   103 const TUint8 KMessageHeader4[]=
       
   104 	{
       
   105 	0xB4,  //Content type "text/vnd.wap.wml"
       
   106 	0x94,  // Date
       
   107 	0x04,  // length of field
       
   108 	0x35,  // Thur 23 Apr 1998 13:41:37 GMT
       
   109 	0x3F,	
       
   110 	0x45,
       
   111 	0x11,
       
   112 	0xAF,	// X-Wap-Application ID
       
   113 	0x77,	// 'w'
       
   114 	0x77,	// 'w'
       
   115 	0x77,	// 'w'
       
   116 	0x2E,   // '.'
       
   117 	0x62,	// 'b'
       
   118 	0x6C,	// 'l'
       
   119 	0x6F,	// 'o'
       
   120 	0x67,	// 'g'
       
   121 	0x67,	// 'g'
       
   122 	0x73,	// 's'
       
   123 	0x2E,	// '.'
       
   124 	0x63,	// 'c'
       
   125 	0x6F,	// 'o;
       
   126 	0x6D,	// 'm'
       
   127 	0x2F,	// '/'
       
   128 	0x69,   // 'i'
       
   129 	0x6E,	// 'n'
       
   130 	0x64,	// 'd
       
   131 	0x65,	// 'e'
       
   132 	0x78,   // 'x'
       
   133 	0x2E,	// '.'
       
   134 	0x77,	// 'w
       
   135 	0x6D,	// 'm'
       
   136 	0x6C	// 'l'
       
   137 	};
       
   138 
       
   139 const TUint8 KMessageHeaderMultipart[]=
       
   140 	{
       
   141 	0xA3,  //Content type "application/vnd.wap.multipart.mixed"
       
   142 	0x94,  // Date
       
   143 	0x04,  // length of field
       
   144 	0x35,  // Thur 23 Apr 1998 13:41:37 GMT
       
   145 	0x3F,	
       
   146 	0x45,
       
   147 	0x11,
       
   148 	0xAF,	// X-Wap-Application ID
       
   149 	0x77,	// 'w'
       
   150 	0x77,	// 'w'
       
   151 	0x77,	// 'w'
       
   152 	0x2E,   // '.'
       
   153 	0x62,	// 'b'
       
   154 	0x6C,	// 'l'
       
   155 	0x6F,	// 'o'
       
   156 	0x67,	// 'g'
       
   157 	0x67,	// 'g'
       
   158 	0x73,	// 's'
       
   159 	0x2E,	// '.'
       
   160 	0x63,	// 'c'
       
   161 	0x6F,	// 'o;
       
   162 	0x6D,	// 'm'
       
   163 	0x2F,	// '/'
       
   164 	0x69,   // 'i'
       
   165 	0x6E,	// 'n'
       
   166 	0x64,	// 'd
       
   167 	0x65,	// 'e'
       
   168 	0x78,   // 'x'
       
   169 	0x2E,	// '.'
       
   170 	0x77,	// 'w
       
   171 	0x6D,	// 'm'
       
   172 	0x6C	// 'l'
       
   173 	};
       
   174 
       
   175 const TUint8 KMessageBodyMultipart[]=
       
   176 	{
       
   177 	0x01,  // number of parts
       
   178 	0x0A,  // part 1 header size
       
   179 	0x1D,  // part 1 body size
       
   180 	0xB0,  // content type application/vnd.wap.slc ... the headers:
       
   181 	0x94,  // Date
       
   182 	0x04,  // length of field
       
   183 	0x35,  // Thur 23 Apr 1998 13:41:37 GMT
       
   184 	0x3F,	
       
   185 	0x45,
       
   186 	0x11,
       
   187 	0x3F,	
       
   188 	0x45,
       
   189 	0x11,
       
   190 	0x01,	// Body - slc (mmm.schookie.com)
       
   191 	0x06,
       
   192 	0x6A,
       
   193 	0x00,
       
   194 	0x85,
       
   195 	0x09,
       
   196 	0x03,
       
   197 	0x6D,
       
   198 	0x6D,
       
   199 	0x6D,
       
   200 	0x2E,
       
   201 	0x73,
       
   202 	0x63,
       
   203 	0x68,
       
   204 	0x6D,
       
   205 	0x6F,
       
   206 	0x6F,
       
   207 	0x6B,
       
   208 	0x69,
       
   209 	0x65,
       
   210 	0x2E,
       
   211 	0x63,
       
   212 	0x6F,
       
   213 	0x64,
       
   214 	0x65,
       
   215 	0x2F,
       
   216 	0x00,
       
   217 	0x06,
       
   218 	0x01
       
   219 	};
       
   220 
       
   221 const TUint8 KMessageHeader5[] = 
       
   222 	{
       
   223 	'm',	// Text content type 'my/type' with null terminator
       
   224 	'y',
       
   225 	'/',
       
   226 	't',
       
   227 	'y',
       
   228 	'p',
       
   229 	'e',
       
   230 	0x00,
       
   231 	0x92,  // Date
       
   232 	0x04,  // length of field
       
   233 	0x39,  // Monday 15 August 2000 10:41:37 GMT
       
   234 	0x90,	
       
   235 	0x6a,
       
   236 	0xd0,
       
   237 	0x94,  // Expires 
       
   238 	0x04,  // length of field
       
   239 	0x39,  // Monday 15 August 2000 10:41:37 GMT
       
   240 	0x9a,	
       
   241 	0x6a,
       
   242 	0xd0,
       
   243 	0xAF,  //X-Wap-Application-ID
       
   244 	0x83   // Short int - 0x03 
       
   245 	};
       
   246 
       
   247 const TUint8 KMessageHeader6[] = 
       
   248 	{
       
   249 	0x1F,	// <Octet 31> to indicate UIntVar encoding
       
   250 	0x2B,	// UIntVar encoding for 43
       
   251 	'a',
       
   252 	'p',
       
   253 	'p',
       
   254 	'l',
       
   255 	'i',
       
   256 	'c',
       
   257 	'a',
       
   258 	't',
       
   259 	'i',
       
   260 	'o',
       
   261 	'n',
       
   262 	'/',
       
   263 	'x',
       
   264 	'-',
       
   265 	'w',
       
   266 	'a',
       
   267 	'p',
       
   268 	'-',
       
   269 	'p',
       
   270 	'r',
       
   271 	'o',
       
   272 	'v',
       
   273 	'.',
       
   274 	'b',
       
   275 	'r',
       
   276 	'o',
       
   277 	'w',
       
   278 	's',
       
   279 	'e',
       
   280 	'r',
       
   281 	'-',
       
   282 	'b',
       
   283 	'o',
       
   284 	'o',
       
   285 	'k',
       
   286 	'm',
       
   287 	'a',
       
   288 	'r',
       
   289 	'k',
       
   290 	's',
       
   291 	0x00,	// Null terminator
       
   292 	0x81,	// parameter
       
   293 	0xDE,	
       
   294 	0x92,  // Date
       
   295 	0x04,  // length of field
       
   296 	0x39,  // Monday 15 August 2000 10:41:37 GMT
       
   297 	0x90,	
       
   298 	0x6a,
       
   299 	0xd0
       
   300 	};
       
   301 
       
   302 const TUint8 KMessageHeader7[] = 
       
   303 	{
       
   304 	0x1F,	// <Octet 31> to indicate UIntVar encoding
       
   305 	0x01,	// UIntVar encoding for 1
       
   306 	0xAF,  //Content type "text/vnd.wap.sl"
       
   307 	0x92,  // Date
       
   308 	0x04,  // length of field
       
   309 	0x39,  // Monday 15 August 2000 10:41:37 GMT
       
   310 	0x90,	
       
   311 	0x6a,
       
   312 	0xd0,
       
   313 	};
       
   314 
       
   315 const TUint8 KMessageHeader8[] = 
       
   316 	{
       
   317 	0x1F,	// <Octet 31> to indicate UIntVar encoding
       
   318 	0x81,	// UIntVar encoding for 130 (1000 0001 0000 0010)
       
   319 	0x02,
       
   320 	'a',
       
   321 	'a',
       
   322 	'a',
       
   323 	'a',
       
   324 	'a',
       
   325 	'a',
       
   326 	'a',
       
   327 	'a',
       
   328 	'a',
       
   329 	'a',
       
   330 	'a',
       
   331 	'a',
       
   332 	'a',
       
   333 	'a',
       
   334 	'a',
       
   335 	'.',
       
   336 	'a',
       
   337 	'a',
       
   338 	'a',
       
   339 	'a',
       
   340 	'a',
       
   341 	'a',
       
   342 	'a',
       
   343 	'a',
       
   344 	'a',
       
   345 	'a',
       
   346 	'a',
       
   347 	'a',
       
   348 	'a',
       
   349 	'a',
       
   350 	'a',
       
   351 	'a',
       
   352 	'a',
       
   353 	'a',
       
   354 	'a',
       
   355 	'a',
       
   356 	'a',
       
   357 	'a',
       
   358 	'a',
       
   359 	'a',
       
   360 	'a',
       
   361 	'a',
       
   362 	'a',
       
   363 	'a',
       
   364 	'a',
       
   365 	'a',
       
   366 	'a',
       
   367 	'a',
       
   368 	'a',
       
   369 	'a',
       
   370 	'a',
       
   371 	'a',
       
   372 	'a',
       
   373 	'a',
       
   374 	'a',
       
   375 	'a',
       
   376 	'a',
       
   377 	'a',
       
   378 	'a',
       
   379 	'a',
       
   380 	'a',
       
   381 	'a',
       
   382 	'a',
       
   383 	'.',
       
   384 	'a',
       
   385 	'a',
       
   386 	'a',
       
   387 	'a',
       
   388 	'a',
       
   389 	'a',
       
   390 	'a',
       
   391 	'a',
       
   392 	'a',
       
   393 	'a',
       
   394 	'a',
       
   395 	'a',
       
   396 	'a',
       
   397 	'a',
       
   398 	'a',
       
   399 	'a',
       
   400 	'a',
       
   401 	'a',
       
   402 	'a',
       
   403 	'a',
       
   404 	'a',
       
   405 	'a',
       
   406 	'a',
       
   407 	'a',
       
   408 	'a',
       
   409 	'a',
       
   410 	'a',
       
   411 	'a',
       
   412 	'a',
       
   413 	'a',
       
   414 	'a',
       
   415 	'a',
       
   416 	'a',
       
   417 	'a',
       
   418 	'a',
       
   419 	'a',
       
   420 	'a',
       
   421 	'a',
       
   422 	'a',
       
   423 	'a',
       
   424 	'a',
       
   425 	'a',
       
   426 	'a',
       
   427 	'a',
       
   428 	'a',
       
   429 	'a',
       
   430 	'a',
       
   431 	'a',
       
   432 	'a',
       
   433 	'a',
       
   434 	'a',
       
   435 	'a',
       
   436 	'a',
       
   437 	'a',
       
   438 	'/',
       
   439 	'm',
       
   440 	'y',
       
   441 	'l',
       
   442 	'o',
       
   443 	'n',
       
   444 	'g',
       
   445 	't',
       
   446 	'y',
       
   447 	'p',
       
   448 	'e',
       
   449 	0x00,	// NULL terminator
       
   450 	0x92,  // Date
       
   451 	0x04,  // length of field
       
   452 	0x39,  // Monday 15 August 2000 10:41:37 GMT
       
   453 	0x90,	
       
   454 	0x6a,
       
   455 	0xd0
       
   456 	};
       
   457 
       
   458 _LIT8(KShortPushMessageBody, "A dummy WAP Push message");
       
   459 _LIT8(KLongPushMessageBody, "A very very very long dummy message body for a WAP Push Message sent by a server somewhere"); 
       
   460 _LIT8(KPushMessageServerAddress, "c:\\www.zabruga.co.uk");
       
   461 
       
   462 #endif