mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaCapability.cpp
changeset 15 ccd8e69b5392
parent 2 b31261fd4e04
child 20 e8be2c2e049d
child 22 496ad160a278
--- a/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaCapability.cpp	Tue Feb 02 00:09:07 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,399 +0,0 @@
-/*
-* 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_CMusAvaCapability.h"
-
-//  EXTERNAL INCLUDES
-#include <digia/eunit/eunitmacros.h>
-#include <sdpmediafield.h>
-
-
-//  INTERNAL INCLUDES
-#include "sipprofile.h"
-#include "sipconnection.h"
-
-#include "musavaCapabilityExchange.h"
-#include "musavaavailabilityobserver.h"
-#include "musavaavailabilityobserverimp.h"
-#include "musavaoptionhandler.h"
-#include "musavasettingsimp.h"
-#include "musavaobserverimp.h"
-#include "musavaterminal.h"
-#include "MusAvaCapability.h"
-#include "musavacapabilitytesthelper.h"
-#include "CSipSseTestTls.h"
-#include "musavacapabilitycontext.h"
-#include "musavacapabilityqueryobserverimp.h"
-#include "mussettings.h"
-
-_LIT8( KTestTerminalId, "TestTerminalID" );
-
-// CONSTRUCTION
-UT_CMusAvaCapability* UT_CMusAvaCapability::NewL()
-    {
-    UT_CMusAvaCapability* self = UT_CMusAvaCapability::NewLC();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-UT_CMusAvaCapability* UT_CMusAvaCapability::NewLC()
-    {
-    UT_CMusAvaCapability* self = new( ELeave ) UT_CMusAvaCapability();
-    CleanupStack::PushL( self );
-
-    self->ConstructL();
-
-    return self;
-    }
-
-// Destructor (virtual by CBase)
-UT_CMusAvaCapability::~UT_CMusAvaCapability()
-    {
-    }
-
-// Default constructor
-UT_CMusAvaCapability::UT_CMusAvaCapability()
-    {
-    }
-
-// Second phase construct
-void UT_CMusAvaCapability::ConstructL()
-    {
-    // The ConstructL from the base class CEUnitTestSuiteClass must be called.
-    // It generates the test case table.
-    CEUnitTestSuiteClass::ConstructL();
-    }
-
-//  METHODS
-
-
-
-void UT_CMusAvaCapability::SetupL(  )
-    {
-    MSIPObserver* dummyObserver = NULL;
-    CSIPProfileRegistry* dummyRegistry = NULL;
-    MSIPConnectionObserver* dummyConnectionObserver = NULL;
-    
-    TUid uid = TUid::Uid( 1 );
-    TUint32 iapId = 32;
-    
-    iSIP = CSIP::NewL( uid, *dummyObserver );
-    iProfile = CSIPProfile::NewL( dummyRegistry );
-    iSIPConnection = CSIPConnection::NewL( *iSIP, 
-                                            iapId,
-                                            *dummyConnectionObserver );
-                               
-    iAvailabilityObserver = CMusAvaAvailabilityObserverImp::NewL();
-    iConcreteSettings = CMusAvaSettingsImp::NewL();
-    iOptionHandler = CMusAvaOptionHandler::NewL( *iAvailabilityObserver,
-                                                 *iConcreteSettings );
-
-    iExchange = iOptionHandler->iCapabilityExchange;
-    
-    iCapability = iOptionHandler->iSwisCapability;
-    
-    CSipSseTestTls::OpenL();
-    
-    }
-
-void UT_CMusAvaCapability::Teardown(  )
-    {
-    delete iOptionHandler;
-    delete iAvailabilityObserver;
-    delete iConcreteSettings;
-    CSipSseTestTls::Close();
-    
-    delete iSIPConnection;
-    delete iProfile;
-    delete iSIP;
-
-    }
-
-void UT_CMusAvaCapability::UT_CMusAvaCapability_NewLL(  )
-    {
-    
-    EUNIT_ASSERT( &iCapability->Exchange() == iExchange );
-    EUNIT_ASSERT( iCapability->Feature().DesC().Compare( KCapabilitySwisFeature ) == 0 );
-    EUNIT_ASSERT( iCapability->Enabled() );
-    iCapability->Enabled() = EFalse;
-    EUNIT_ASSERT( !iCapability->Enabled() );
-    
-    CSIPAcceptContactHeader* acceptContact = NULL;
-    
-    // create accept contact with feature tag, check if accept-contact-header has 
-    // feature tag defined in iCapability
-    acceptContact = MusAvaCapabilityContext::AcceptContactHeaderLC( iCapability->Feature() );
-    EUNIT_ASSERT( iCapability->Supports( *acceptContact ) );
-    // check if feature tag is the "right one"
-    EUNIT_ASSERT( iCapability->Feature().DesC().Compare( KCapabilitySwisFeature ) == 0 );
-    
-    // remove the feature tag from accept-contact header, add test-feature-tag
-    // check that iCapability does not support the test feature tag
-    // check also that iCapability feature tag is the 'right one'
-    acceptContact->DeleteParam( iCapability->Feature() );
-    RStringF newParam = MusAvaCapabilityContext::SIPStringL( KCapabilityTestDataFeature );
-    CleanupClosePushL( newParam );
-    acceptContact->SetParamL( newParam );
-    CleanupStack::PopAndDestroy();//newParam
-    EUNIT_ASSERT( !iCapability->Supports( *acceptContact ) );
-    EUNIT_ASSERT( iCapability->Feature().DesC().Compare( KCapabilitySwisFeature ) == 0 );
-
-    CleanupStack::PopAndDestroy( acceptContact );
-
-    }
-
-void UT_CMusAvaCapability::UT_CMusAvaCapability_DoPopulateResponseLL(  )
-    {
-    CSIPServerTransaction* options = NULL;
-    
-    iCapability->Enabled() = ETrue;
-     
-    options =  CapabilityTestHelper::OptionsRequestL( KCapabilityTestAddress_A,
-                                             KCapabilityTestAddress_B,
-                                             KCapabilitySwisFeature,
-                                             KCapabilitySwisFeature,
-                                             KCapabilityTestAcceptHeader,
-                                             KCapabilityTestTerminalID_B );
-    CleanupStack::PushL( options );                                         
-
-    // Test  : AVC enabled => H263 & H264
-    TInt32 KMusDisableAVC = 0x0ffffff1; // some value other than disable magic value
-    MultimediaSharingSettings::SetPropertyValueL(MusSettingsKeys::KEncodingDevice,
-                                                         KMusDisableAVC );
-    CSdpDocument* sdpContent = CMusAvaCapability::ResponseContentLC( *options );
-    RPointerArray<CSIPHeaderBase> responseHeaders;
-    CSIPHeaderBase::PushLC( &responseHeaders );
-
-    iCapability->PopulateResponseL( *options, responseHeaders, *sdpContent );
-
-    EUNIT_ASSERT( responseHeaders.Count() == 1 );
-    EUNIT_ASSERT( sdpContent->AttributeFields().Count() == 2 );
-    EUNIT_ASSERT( sdpContent->MediaFields().Count() == 1 );
-    EUNIT_ASSERT( sdpContent->MediaFields()[0]->FormatAttributeFields().Count() == 2 );
-    CleanupStack::PopAndDestroy( &responseHeaders );
-    CleanupStack::PopAndDestroy( sdpContent );
-    
-    // Test : AVC disabled => H263
-    KMusDisableAVC = 0x0fffffff; // disable magic value
-    MultimediaSharingSettings::SetPropertyValueL(MusSettingsKeys::KEncodingDevice,
-                                                     KMusDisableAVC );
-    sdpContent = CMusAvaCapability::ResponseContentLC( *options );
-    CSIPHeaderBase::PushLC( &responseHeaders );
-    iCapability->PopulateResponseL( *options, responseHeaders, *sdpContent );
-    EUNIT_ASSERT( responseHeaders.Count() == 1 );
-    EUNIT_ASSERT( sdpContent->AttributeFields().Count() == 2 );
-    EUNIT_ASSERT( sdpContent->MediaFields().Count() == 1 );
-    EUNIT_ASSERT( sdpContent->MediaFields()[0]->FormatAttributeFields().Count() == 1 );
-    CleanupStack::PopAndDestroy( &responseHeaders );
-    CleanupStack::PopAndDestroy( sdpContent );
-    CleanupStack::PopAndDestroy( options );
-
-    }
-
-
-void UT_CMusAvaCapability::Setup1L()
-    {
-    // save operator variant setting type to be able to set it back to original value in teardown
-    iOpVariantSetting = MultimediaSharingSettings::OperatorVariantSettingL();
-    iCapabQueryObserver = new ( ELeave ) CMusAvaCapabilityQueryObserverImp();
-    iExchange = CMusAvaCapabilityExchange::NewL( KTestTerminalId, *iCapabQueryObserver );
-    iCapability = CMusAvaCapability::NewL( *iExchange );
-    CSipSseTestTls::OpenL();
-    }
-
-void UT_CMusAvaCapability::Teardown1(  )
-    {
-    CSipSseTestTls::Close();
-    delete iCapability;
-    delete iExchange;
-    delete iCapabQueryObserver;     
-    }   
-    
-    
-void UT_CMusAvaCapability::UT_CMusAvaCapability_SupportsL()
-    {
-     
-    CSIPAcceptContactHeader* contactHeader = CSIPAcceptContactHeader::NewLC();      
-    
-    RStringF str = MusAvaCapabilityContext::SDPStringL( KCapabilitySwisFeature );
-    CleanupClosePushL( str );
-    
-    contactHeader->SetParamL( str );
-
-    EUNIT_ASSERT( iCapability->Supports( *contactHeader ) );
-    
-    CleanupStack::PopAndDestroy( &str );
-    CleanupStack::PopAndDestroy( contactHeader );
-    
-    }
-    
-    
-void UT_CMusAvaCapability::UT_CMusAvaCapability_ResolveCodecsLL()
-    {
-    _LIT( KTest263, "H263-2000/90000");
-    _LIT( KTest264, "H264/90000");
-    
-    // Find H.263 codec
-    CSdpDocument* sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDP );
-    CDesCArrayFlat* codecs = iCapability->ResolveCodecsL( *sdpContent );
-    CleanupStack::PushL( codecs );
-    EUNIT_ASSERT( codecs->MdcaCount() == 1 );
-    EUNIT_ASSERT_EQUALS( (*codecs)[0], KTest263 );
-    CleanupStack::PopAndDestroy( codecs );
-    CleanupStack::PopAndDestroy( sdpContent );
-    
-    // Find H.264 codec
-    sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDP264 );
-    codecs = iCapability->ResolveCodecsL( *sdpContent );
-    CleanupStack::PushL( codecs );
-    EUNIT_ASSERT( codecs->MdcaCount() == 1 );
-    EUNIT_ASSERT_EQUALS( (*codecs)[0], KTest264 );
-    CleanupStack::PopAndDestroy( codecs );
-    CleanupStack::PopAndDestroy( sdpContent );
-
-    // Find H.263 or H.264 codec
-    sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDP264And263 );
-    codecs = iCapability->ResolveCodecsL( *sdpContent );
-    CleanupStack::PushL( codecs );
-    EUNIT_ASSERT( codecs->MdcaCount() == 2 );
-    EUNIT_ASSERT_EQUALS( (*codecs)[0], KTest264 );
-    EUNIT_ASSERT_EQUALS( (*codecs)[1], KTest263 );
-    CleanupStack::PopAndDestroy( codecs );
-    CleanupStack::PopAndDestroy( sdpContent );
-    
-    // Do NOT find an invalid codec
-    sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDPWrongCodec );
-    codecs = iCapability->ResolveCodecsL( *sdpContent );
-    CleanupStack::PushL( codecs );
-    EUNIT_ASSERT( codecs->MdcaCount() == 0 );
-    CleanupStack::PopAndDestroy( codecs );
-    CleanupStack::PopAndDestroy( sdpContent );
-    
-    }    
-
-void UT_CMusAvaCapability::UT_CMusAvaCapability_AttributeL()
-    {
-    
-    CSdpDocument* sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDP );        
-    
-    // give an attribute which can be found
-    RStringF attribute = MusAvaCapabilityContext::SDPStringL( _L8("type") );
-    CleanupClosePushL( attribute );
-    EUNIT_ASSERT( iCapability->Attribute( attribute, *sdpContent ) );
-    CleanupStack::PopAndDestroy( &attribute );     
-    
-    // give an attribute which can be not found
-    attribute = MusAvaCapabilityContext::SDPStringL( _L8("xxx") );
-    CleanupClosePushL( attribute );
-    EUNIT_ASSERT( !iCapability->Attribute( attribute, *sdpContent ) );
-    CleanupStack::PopAndDestroy( &attribute );         
-    
-    CleanupStack::PopAndDestroy( sdpContent );       
-    }
-    
-    
-void UT_CMusAvaCapability::UT_CMusAvaCapability_PopulateResponseL_OpSpecificL()    
-    {
-     
-    MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EOperatorSpecific );
-    iCapabQueryObserver->iCapabilitiesResolvedForCingular = ETrue;
-     
-    CSIPServerTransaction* options =  
-            CapabilityTestHelper::OptionsRequestL( KCapabilityTestAddress_A,
-                                                   KCapabilityTestAddress_B,
-                                                   KCapabilitySwisFeature,
-                                                   KCapabilitySwisFeature,
-                                                   KCapabilityTestAcceptHeader,
-                                                   KCapabilityTestTerminalID_B );
-    CleanupStack::PushL( options );                                         
-
-    CSdpDocument* sdpContent = 
-            CMusAvaCapability::ResponseContentLC( *options );
-
-    RPointerArray<CSIPHeaderBase> responseHeaders;
-    CSIPHeaderBase::PushLC( &responseHeaders );
-
-    iCapability->PopulateResponseL( *options, responseHeaders, *sdpContent );
-
-    EUNIT_ASSERT( responseHeaders.Count() == 1 );
-    HBufC8* headerValue = responseHeaders[0]->ToTextValueL();
-    // header value contains just one field
-    EUNIT_ASSERT_EQUALS( KErrNotFound, headerValue->Find(_L8(";") ) );
-    delete headerValue;
-
-    CleanupStack::PopAndDestroy( &responseHeaders );
-    CleanupStack::PopAndDestroy( sdpContent );
-    CleanupStack::PopAndDestroy( options );
-    }
-
-
-//  TEST TABLE
-
-EUNIT_BEGIN_TEST_TABLE(
-    UT_CMusAvaCapability,
-    "CMusAvaCapability",
-    "UNIT" )
-
-EUNIT_TEST(
-    "NewL - test ",
-    "CMusAvaCapability",
-    "NewL",
-    "FUNCTIONALITY",
-    SetupL, UT_CMusAvaCapability_NewLL, Teardown)
-
-EUNIT_TEST(
-    "DoPopulateResponseL - test ",
-    "CMusAvaCapability",
-    "DoPopulateResponseL",
-    "FUNCTIONALITY",
-    SetupL, UT_CMusAvaCapability_DoPopulateResponseLL, Teardown)
-    
-EUNIT_TEST(
-    "Supports - test ",
-    "CMusAvaCapability",
-    "Supports",
-    "FUNCTIONALITY",
-    Setup1L, UT_CMusAvaCapability_SupportsL, Teardown1 ) 
-    
-EUNIT_TEST(
-    "ResolveCodecsL - test ",
-    "CMusAvaCapability",
-    "ResolveCodecsL",
-    "FUNCTIONALITY",
-    Setup1L, UT_CMusAvaCapability_ResolveCodecsLL, Teardown1 )     
-    
-EUNIT_TEST(
-    "Attribute - test ",
-    "CMusAvaCapability",
-    "Attribute",
-    "FUNCTIONALITY",
-    Setup1L, UT_CMusAvaCapability_AttributeL, Teardown1 )     
-    
-EUNIT_TEST(
-    "PopulateResponseL Operator Specific - test ",
-    "CMusAvaCapability",
-    "PopulateResponseL",
-    "FUNCTIONALITY",
-    Setup1L, UT_CMusAvaCapability_PopulateResponseL_OpSpecificL, Teardown1 )         
-    
-
-EUNIT_END_TEST_TABLE
-
-//  END OF FILE