mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaSipheaderUtil.cpp
changeset 22 496ad160a278
parent 0 f0cf47e981f9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaSipheaderUtil.cpp	Fri Jun 11 13:36:18 2010 +0300
@@ -0,0 +1,257 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+//  CLASS HEADER
+#include "UT_CMusAvaSipheaderUtil.h"
+#include "musavasipheaderutil.h"
+#include "muslogger.h"
+#include "musavasipobserver.h"
+#include "musavasipconnectionobserver.h"
+
+//  EXTERNAL INCLUDES
+#include <digia/eunit/eunitmacros.h>
+#include <e32base.h>
+#include <sipstrings.h>
+#include <SdpCodecStringPool.h>
+#include <siprequestelements.h>
+#include <SipMessageElements.h>
+#include <sip.h>
+#include <sipconnection.h>
+#include <sipheaderbase.h>
+#include <digia/eunit/eunitdecorators.h>
+
+
+
+// CONSTRUCTION
+UT_CMusAvaSipheaderUtil* UT_CMusAvaSipheaderUtil::NewL()
+    {
+    UT_CMusAvaSipheaderUtil* self = UT_CMusAvaSipheaderUtil::NewLC(); 
+    CleanupStack::Pop();
+    return self;
+    }
+
+UT_CMusAvaSipheaderUtil* UT_CMusAvaSipheaderUtil::NewLC()
+    {
+    UT_CMusAvaSipheaderUtil* self = new( ELeave ) UT_CMusAvaSipheaderUtil();
+    CleanupStack::PushL( self );
+	self->ConstructL(); 
+    return self;
+    }
+
+// Destructor (virtual by CBase)
+UT_CMusAvaSipheaderUtil::~UT_CMusAvaSipheaderUtil()
+    {
+    }
+
+// Default constructor
+UT_CMusAvaSipheaderUtil::UT_CMusAvaSipheaderUtil()
+    {
+    }
+
+// Second phase construct
+void UT_CMusAvaSipheaderUtil::ConstructL()
+    {
+    // The ConstructL from the base class CEUnitTestSuiteClass must be called.
+    // It generates the test case table.
+    CEUnitTestSuiteClass::ConstructL();
+    }
+
+//  METHODS
+
+
+
+void UT_CMusAvaSipheaderUtil::SetupL(  )
+    {   
+    SIPStrings::OpenL();
+    SdpCodecStringPool::OpenL();
+    } 
+
+void UT_CMusAvaSipheaderUtil::Teardown(  )
+    {    
+    iRequestHeaders.ResetAndDestroy();
+    SIPStrings::Close();
+    SdpCodecStringPool::Close();
+    } 
+
+void UT_CMusAvaSipheaderUtil::UT_AddAcceptContactHeaderLL()
+    {    
+    _LIT8( KCapabilitySwisFeature, "+g.3gpp.cs-voice");
+    RStringF featureTag = SIPStrings::Pool().OpenFStringL( KCapabilitySwisFeature );
+    CleanupClosePushL( featureTag );
+    CMusAvaSipheaderUtil::AddAcceptContactHeaderL(iRequestHeaders,featureTag);
+    CleanupStack::PopAndDestroy();
+    EUNIT_ASSERT( iRequestHeaders.Count()==1 );
+    }  
+
+void UT_CMusAvaSipheaderUtil::UT_AddAcceptEncodingHeaderLL()
+    {          
+    CMusAvaSipheaderUtil::AddAcceptEncodingHeaderL(iRequestHeaders);
+    TInt count = 0;
+    EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
+    if ( count == 0 )
+        {
+        EUNIT_ASSERT( iRequestHeaders.Count()==1 );
+        }
+    else
+        {
+        EUNIT_ASSERT( iRequestHeaders.Count()==0 );
+        }
+    }  
+
+void UT_CMusAvaSipheaderUtil::UT_AddAcceptLanguageHeaderLL()
+    {          
+    CMusAvaSipheaderUtil::AddAcceptLanguageHeaderL(iRequestHeaders);
+    TInt count = 0;
+    EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
+    if ( count == 0 )
+        {
+        EUNIT_ASSERT( iRequestHeaders.Count()==1 );
+        }
+    else
+        {
+        EUNIT_ASSERT( iRequestHeaders.Count()==0 );
+        }
+    }  
+
+void UT_CMusAvaSipheaderUtil::UT_AddPreferredIdentityHeaderLL()
+    {          
+    _LIT8(val,"sip:siva@sofia.net");
+    CMusAvaSipheaderUtil::AddPreferredIdentityHeaderL(iRequestHeaders,val);
+    EUNIT_ASSERT( iRequestHeaders.Count()==1 );
+    }  
+
+void UT_CMusAvaSipheaderUtil::UT_AddAcceptSdpHeaderLL()
+    {          
+    CMusAvaSipheaderUtil::AddAcceptSdpHeaderL(iRequestHeaders);
+    TInt count = 0;
+    EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
+    if ( count == 0 )
+        {
+        EUNIT_ASSERT( iRequestHeaders.Count()==1 );
+        }
+    else
+        {
+        EUNIT_ASSERT( iRequestHeaders.Count()==0 );
+        }
+    }  
+
+void UT_CMusAvaSipheaderUtil::UT_AddSdpLL()
+    {              
+    CUri8* remoteUri = CUri8::NewL();
+    CleanupStack::PushL( remoteUri );
+    _LIT8(uri,"siva@sofia.net");
+    remoteUri->SetComponentL(uri,EUriHost);
+    CSIPRequestElements* rElements = CSIPRequestElements::NewL(remoteUri);
+    CleanupStack::Pop( remoteUri );
+    CleanupStack::PushL( rElements );
+    _LIT8(contentDes,"v=0\n/");
+    /*o=- 63359607229508250 63359607229508250 IN IP4 10.21.32.54\n/
+    s=-\n/c=IN IP4 10.21.32.51\n/
+    t=0 0\na=X-application:com.nokia.rtvs\nm=video 49152 RTP/AVP 96\n/
+    a=sendonly\na=curr:qos local send\na=curr:qos remote none\n/
+    a=des:qos mandatory local send\na=des:qos none remote send\n/
+    a=rtpmap:96 H263-2000/90000\na=framerate:15\na=framesize:96 176-144\n/
+    a=fmtp:96 profile=0; level=45\n");    */
+    HBufC8* content = HBufC8::NewLC(contentDes().Length());
+    TPtr8 contentPtr = content->Des();
+    contentPtr.Copy(contentDes);
+    CMusAvaSipheaderUtil::AddSdpL(rElements,content);
+    CleanupStack::Pop(content);    
+    EUNIT_ASSERT(rElements->MessageElements().Content().Length()>0);    
+    CleanupStack::PopAndDestroy(rElements);
+    }  
+
+void UT_CMusAvaSipheaderUtil::UT_LocalHostLL()
+    {
+    TUid uid = TUid::Uid(0);
+    // just for compilation this will be ignored in stub.
+    CMusAvaSipObserver* tempObs = CMusAvaSipObserver::NewL();
+    CleanupStack::PushL(tempObs);
+    CSIP* sip = CSIP::NewLC(uid,*tempObs);
+    TUint32 aIapId(0);
+    CMusAvaSipConnectionObserver* connObs = CMusAvaSipConnectionObserver::NewL();
+    CleanupStack::PushL(connObs);
+    CSIPConnection* connection = CSIPConnection::NewL(*sip,aIapId,*connObs);
+    CleanupStack::PushL(connection);
+    TPtrC8 host;
+    CMusAvaSipheaderUtil::LocalHostL(*connection,host);
+    CleanupStack::PopAndDestroy(4);
+    EUNIT_ASSERT(host.Length() > 0);  
+    }
+                        
+	
+//  TEST TABLE
+
+EUNIT_BEGIN_TEST_TABLE( 
+    UT_CMusAvaSipheaderUtil,
+    "CMusAvaSipheaderUtil",
+    "UNIT" )
+
+EUNIT_TEST(
+    "AddAcceptContactHeaderL - test ",
+    "CMusAvaSipheaderUtil",
+    "AddAcceptContactHeaderL",
+    "FUNCTIONALITY",
+     SetupL, UT_AddAcceptContactHeaderLL, Teardown)
+
+EUNIT_TEST(
+    "AddAcceptEncodingHeaderL - test ",
+    "CMusAvaSipheaderUtil",
+    "AddAcceptEncodingHeaderL",
+    "FUNCTIONALITY",
+     SetupL, UT_AddAcceptEncodingHeaderLL, Teardown)
+
+EUNIT_TEST(
+    "AddAcceptLanguageHeaderL - test ",
+    "CMusAvaSipheaderUtil",
+    "AddAcceptLanguageHeaderL",
+    "FUNCTIONALITY",
+     SetupL, UT_AddAcceptLanguageHeaderLL, Teardown)
+
+EUNIT_TEST(
+    "AddPreferredIdentityHeaderL - test ",
+    "CMusAvaSipheaderUtil",
+    "AddPreferredIdentityHeaderL",
+    "FUNCTIONALITY",
+     SetupL, UT_AddPreferredIdentityHeaderLL, Teardown)
+
+EUNIT_TEST(
+    "AddAcceptSdpHeaderL - test ",
+    "CMusAvaSipheaderUtil",
+    "AddAcceptSdpHeaderL",
+    "FUNCTIONALITY",
+     SetupL, UT_AddAcceptSdpHeaderLL, Teardown)
+
+EUNIT_TEST(
+    "AddSdpL - test ",
+    "CMusAvaSipheaderUtil",
+    "AddSdpL",
+    "FUNCTIONALITY",
+     SetupL, UT_AddSdpLL, Teardown)
+
+EUNIT_TEST(
+    "LocalHostL - test ",
+    "CMusAvaSipheaderUtil",
+    "LocalHostL",
+    "FUNCTIONALITY",
+     SetupL, UT_LocalHostLL, Teardown)
+ 
+
+EUNIT_END_TEST_TABLE
+
+//  END OF FILE