sl@0: // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #ifndef __SIPURIANDAUTHORITYTESTS_H__ sl@0: #define __SIPURIANDAUTHORITYTESTS_H__ sl@0: sl@0: // System includes sl@0: // sl@0: #include sl@0: sl@0: template sl@0: TInt DoSipUriValidation(const TDesCType& aSipUri); sl@0: sl@0: template sl@0: TInt DoSipUriEquivalence(const TDesCType& aSipUriA, const TDesCType& aSipUriB, TInt &aSipUriError); sl@0: sl@0: // sl@0: // sl@0: // SIP Uri and Authority component extraction test data sl@0: // This data is used for parsing & generating, validating and comparing SIP URIs sl@0: // sl@0: // sl@0: sl@0: _LIT(KCompsSip0, "sip:alice@atlanta.com"); sl@0: _LIT(KSchemeSip0, "sip"); sl@0: _LIT(KPathSip0, ""); sl@0: _LIT(KQuerySip0, ""); sl@0: _LIT(KFragmentSip0, ""); sl@0: _LIT(KUserSip0, "alice"); sl@0: _LIT(KPassSip0, ""); sl@0: _LIT(KHostSip0, "atlanta.com"); sl@0: _LIT(KUserInfoSip0, "alice"); sl@0: _LIT(KPortSip0, ""); sl@0: sl@0: _LIT(KCompsSip1, "siP:alice:SecretwoRd@atlaNta.com;transPort=tcp"); sl@0: _LIT(KSchemeSip1, "siP"); sl@0: _LIT(KPathSip1, ";transPort=tcp"); sl@0: _LIT(KQuerySip1, ""); sl@0: _LIT(KFragmentSip1, ""); sl@0: _LIT(KUserSip1, "alice"); sl@0: _LIT(KPassSip1, "SecretwoRd"); sl@0: _LIT(KHostSip1, "atlaNta.com"); sl@0: _LIT(KUserInfoSip1, "alice:SecretwoRd"); sl@0: _LIT(KPortSip1, ""); sl@0: sl@0: _LIT(KCompsSip2, "sipS:atlanta.coM;method=REGISTER?to=alice%40atlanta.com"); sl@0: _LIT(KSchemeSip2, "sipS"); sl@0: _LIT(KPathSip2, ";method=REGISTER"); sl@0: _LIT(KQuerySip2, "to=alice%40atlanta.com"); sl@0: _LIT(KFragmentSip2, ""); sl@0: _LIT(KUserSip2, ""); sl@0: _LIT(KPassSip2, ""); sl@0: _LIT(KHostSip2, "atlanta.coM"); sl@0: _LIT(KUserInfoSip2, ""); sl@0: _LIT(KPortSip2, ""); sl@0: sl@0: _LIT(KCompsSip3, "sipS:alice:Wor%64@atlanta.coM?subject=project%20x&priority=urgent"); sl@0: _LIT(KSchemeSip3, "sipS"); sl@0: _LIT(KPathSip3, ""); sl@0: _LIT(KQuerySip3, "subject=project%20x&priority=urgent"); sl@0: _LIT(KFragmentSip3, ""); sl@0: _LIT(KUserSip3, "alice"); sl@0: _LIT(KPassSip3, ""); sl@0: _LIT(KHostSip3, "atlanta.coM"); sl@0: _LIT(KUserInfoSip3, "alice:Wor%64"); sl@0: _LIT(KPortSip3, ""); sl@0: sl@0: _LIT(KCompsSip4, "sIp:boB@192.168.2.0:6000;transport=tcp;method=REGISTER?to=sip:bob%40biloxi.com"); sl@0: _LIT(KSchemeSip4, "sIp"); sl@0: _LIT(KPathSip4, ";transport=tcp;method=REGISTER"); sl@0: _LIT(KQuerySip4, "to=sip:bob%40biloxi.com"); sl@0: _LIT(KFragmentSip4, ""); sl@0: _LIT(KUserSip4, "boB"); sl@0: _LIT(KPassSip4, ""); sl@0: _LIT(KHostSip4, "192.168.2.0"); sl@0: _LIT(KUserInfoSip4, "boB"); sl@0: _LIT(KPortSip4, "6000"); sl@0: sl@0: //The path Parameter begins with , foot note 1 in PREQ748 Analysis.doc sl@0: _LIT(KCompsSip5, "sIp:bobA:pas%73@192.168.2.100:2000;transport=tcp;method=REGISTER?to=sip:bob%40biloxi.com"); sl@0: _LIT(KSchemeSip5, "sIp"); sl@0: _LIT(KPathSip5, ";transport=tcp;method=REGISTER"); sl@0: _LIT(KQuerySip5, "to=sip:bob%40biloxi.com"); sl@0: _LIT(KFragmentSip5, ""); sl@0: _LIT(KUserSip5, "bobA"); sl@0: _LIT(KPassSip5, "pas%73"); sl@0: _LIT(KHostSip5, "192.168.2.100"); sl@0: _LIT(KUserInfoSip5, "bobA:pas%73"); sl@0: _LIT(KPortSip5, "2000"); sl@0: sl@0: // IPv6 test cases for SIP URIs sl@0: _LIT(KSipUri_IPv6Fragment0, "sip:userinfo@[::FfFf:129.144.52.38]:port;transport=tcp?query#fragment"); // with fragment sl@0: _LIT(KSipUri_IPv6Query0, "sip:userinfo@[::FfFf:129.144.52.38]:port;transport=tcp?query"); // with query sl@0: _LIT(KSipUri_IPv6Path0, "sip:userinfo@[::FfFf:129.144.52.38]:port;transport=tcp"); // with path sl@0: _LIT(KSipUri_IPv6Port0, "sip:userinfo@[::FfFf:129.144.52.38]:port"); // with port sl@0: _LIT(KSipUri_IPv6UserInfo0, "sip:userinfo@[::FfFf:129.144.52.38]"); // with userinfo sl@0: _LIT(KSipUri_IPv6Host0, "sip:[::FfFf:129.144.52.38]"); // with scheme sl@0: sl@0: // Sip URI construction test sl@0: _LIT(KSipUri_Fragment0, "sip:userinfo@host:port;transport=tcp?query#fragment"); // sl@0: _LIT(KSipUri_Query0, "sip:userinfo@host:port;transport=tcp?query"); sl@0: _LIT(KSipUri_Path0, "sip:userinfo@host:port;transport=tcp"); sl@0: _LIT(KSipUri_Port0, "sip:userinfo@host:port"); sl@0: _LIT(KSipUri_Userinfo0, "sip:userinfo@host"); sl@0: _LIT(KSipUri_Host0, "sip:host"); sl@0: _LIT(KSipUri_Scheme0, "sip:"); sl@0: sl@0: _LIT(KSipUri_SchemeComp0, "sip"); sl@0: _LIT(KSipUri_HostComp0, "host"); sl@0: _LIT(KSipUri_UserinfoComp0, "userinfo"); sl@0: _LIT(KSipUri_PortComp0, "port"); sl@0: _LIT(KSipUri_PathComp0, ";transport=tcp"); sl@0: _LIT(KSipUri_QueryComp0, "query"); sl@0: _LIT(KSipUri_FragmentComp0, "fragment");// sl@0: sl@0: // Sip URI destruction test sl@0: _LIT(KSipUri_Whole0, "sip:userinfo@host:port;transport=tcp?query#fragment"); // Whole uri sl@0: _LIT(KSipUri_NoFragment0, "sip:userinfo@host:port;transport=tcp?query"); // Without fragment sl@0: _LIT(KSipUri_NoQuery0, "sip:userinfo@host:port;transport=tcp"); // Without query sl@0: _LIT(KSipUri_NoPath0, "sip:userinfo@host:port"); // Without path sl@0: _LIT(KSipUri_NoPort0, "sip:userinfo@host"); // Without port sl@0: _LIT(KSipUri_NoUserinfo0, "sip:host"); // Without userinfo sl@0: _LIT(KSipUri_NoHost0, "sip:"); // Without host sl@0: _LIT(KSipUri_NoScheme0, ""); // Without scheme sl@0: sl@0: // IPv6 test cases for SIP URIs sl@0: _LIT(KSipUri_IPv6Whole0, "sip:userinfo@[::FfFf:129.144.52.38]:port;transport=tcp?query#fragment"); // Whole uri sl@0: _LIT(KSipUri_IPv6NoFragment0, "sip:userinfo@[::FfFf:129.144.52.38]:port;transport=tcp?query"); // Without fragment sl@0: _LIT(KSipUri_IPv6NoQuery0, "sip:userinfo@[::FfFf:129.144.52.38]:port;transport=tcp"); // Without query sl@0: _LIT(KSipUri_IPv6NoPath0, "sip:userinfo@[::FfFf:129.144.52.38]:port"); // Without path sl@0: _LIT(KSipUri_IPv6NoPort0, "sip:userinfo@[::FfFf:129.144.52.38]"); // Without port sl@0: _LIT(KSipUri_IPv6NoUserinfo0, "sip:[::FfFf:129.144.52.38]"); // Without userinfo sl@0: _LIT(KSipUri_IPv6NoHost0, "sip:"); // Without host sl@0: _LIT(KSipUri_IPv6NoScheme0, ""); // Without scheme sl@0: sl@0: _LIT(KUri_IPv6HostComp, "::FfFf:129.144.52.38"); sl@0: sl@0: // sl@0: // sl@0: // SIP Uri Valiadtion and Equivalence sl@0: // sl@0: // sl@0: sl@0: const TInt KErrBadSipUriA=(-5000); sl@0: const TInt KErrBadSipUriB=(-6000); sl@0: sl@0: _LIT(KCompsSipUriFileName, "Z:\\T_UriParser\\T_UriParserSipUri.txt"); sl@0: _LIT(KCompsSipUriComment, "//"); sl@0: _LIT(KCompsSipUriValidate, "Validate"); sl@0: _LIT(KCompsSipUriEquivalence, "Equivalence"); sl@0: _LIT(KCompsSipUriValidateStart, "Starting Validating of SIP URIs"); sl@0: _LIT(KCompsSipUriFileSystemError, "***** ERROR IN FILE SYSTEM. T_UriParserSipUri.txt NOT FOUND*****"); sl@0: _LIT(KCompsSipUriNoValidate, "***** NO VALIDATE SECTION IN FILE *****"); sl@0: _LIT(KCompsSipUriNoValidateData, "***** NO VALIDATION DATA IN FILE *****"); sl@0: _LIT(KCompsSipUriNoEquivalence, "***** NO EQUIVALENCE SECTION IN FILE *****"); sl@0: _LIT(KCompsSipUriNoEquivalenceData, "***** NO EQUIVALENCE DATA IN FILE *****"); sl@0: sl@0: //Valid SIP URIs that we use in code to compare the errors with sl@0: _LIT(KCompsSipUriValid0, "sip:user@host:5061;lr"); sl@0: _LIT(KCompsSipUriValid1, "SIPS:bob@Symbian.com?to="); sl@0: sl@0: //Invalid SIP URIs that we use in code to compare the errors with sl@0: _LIT(KCompsSipUriInvalid0, "Sim:10.0.1.10:port:%61lice:pass;transport=tcp&subject=wor%6B"); sl@0: _LIT(KCompsSipUriInvalid1, "sIps:atalanta.com:8830/04-1.html"); sl@0: _LIT(KCompsSipUriInvalid2, "SIPS:bob@Symbian.com?to=1123&to=678"); sl@0: _LIT(KCompsSipUriInvalid3, "SiP:%89ob999:-~_*.!pass@:;transport=udp?subject=Proj&subject=Test!**"); sl@0: _LIT(KCompsSipUriInvalid4, "siP:userinfo@[::FfFf:129.144.52.38]:port/a/b/c?query"); sl@0: _LIT(KCompsSipUriInvalid5, "sips:userinfo@192.168.2.1;geo.position:=33.51_-119.94_72&subject=Symbi%71n"); sl@0: _LIT(KCompsSipUriInvalid6, "sip:user@host:5061;lr="); sl@0: _LIT(KCompsSipUriInvalid7, "sip:@atlanta.com"); sl@0: sl@0: //Should be equal sl@0: _LIT(KCompsSipUriEqual0, "sip:alice:SecretWord@192.168.0.1:80;transport=tcp?to=alice&subject=project&content-type=text&call-id=100&contact=bob&from=fred"); sl@0: _LIT(KCompsSipUriEqual1, "sipS:Bob+11111;ext=22@[::FfFf:129.144.52.38];%74ransport=//(:t.c*%70);method=SET?c=tests&from=Bob"); sl@0: _LIT(KCompsSipUriEqual2, "sipS:+358-555-1234567;postd=carol:**PASS**@SymBian.com"); sl@0: sl@0: //Should NOT be equal sl@0: _LIT(KCompsSipUriNotEqual0, "sip:alice:Word@192.168.0.1:80;transport=tcp?to=alice& subject=project&content-type=text&call-id=100&contact=bob&from=fred"); sl@0: _LIT(KCompsSipUriNotEqual1, "sip:alice@atlanta.com;maddr=239.255.255.1;ttl=15"); sl@0: _LIT(KCompsSipUriNotEqual2, "sip:alice:SecretWord@192.168.0.5:80;transport=tcp?to=alice&subject=project&content-type=text&call-id=100&contact=bob&from=fred"); sl@0: sl@0: _LIT(KCompsSipUriValidMess0, "Correct Error should have been:- KErrNone"); sl@0: sl@0: _LIT(KCompsSipUriInvalidMess0, "Correct Error should have been:- Not Supported"); sl@0: _LIT(KCompsSipUriInvalidMess1, "Correct Error should have been:- Invalid Parameter"); sl@0: _LIT(KCompsSipUriInvalidMess2, "Correct Error should have been:- Invalid Host"); sl@0: _LIT(KCompsSipUriInvalidMess3, "Correct Error should have been:- Invalid Port"); sl@0: _LIT(KCompsSipUriInvalidMess4, "Correct Error should have been:- Not Supported"); sl@0: _LIT(KCompsSipUriInvalidMess5, "***** INCORRECT ERROR RETURNED FROM CURI *****"); sl@0: _LIT(KCompsSipUriInvalidMess6, "Invalid Path"); sl@0: _LIT(KCompsSipUriInvalidMess7, "Correct Error should have been:- Invalid UserInfo"); sl@0: _LIT(KCompsSipUriInvalidMess8, "Correct Error should have been:- Invalid Headers"); sl@0: _LIT(KCompsSipUriInvalidMess9, "Correct Error should have been:- Invalid Path"); sl@0: sl@0: _LIT(KCompsSipUriEqualMess0, "The SIP URIs are EQUAL "); sl@0: _LIT(KCompsSipUriEqualMess1, "The SIP URIs are NOT EQUAL "); sl@0: sl@0: #endif // __SIPURIANDAUTHORITYTESTS_H__