rtp/srtpstack/tsrc/ut_srtpstack/src/UT_SRTPAuthentication_NULL.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 15:32:57 +0300
branchRCL_3
changeset 19 b5e99d8877c7
parent 0 307788aac0a8
child 20 0dcb073356a5
permissions -rw-r--r--
Revision: 201033 Kit: 201035

/*
* 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_SRTPAuthentication_NULL.h"

//  EXTERNAL INCLUDES
#include <digia/eunit/eunitmacros.h>


//  INTERNAL INCLUDES
#include "srtpauthentication_null.h"

// RFC 2202 test 1 160 bit key
_LIT8(KRFC2202_Test1_Key_160bits,     "0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B");
// RFC 2202 test 1 16 bit data
_LIT8(KRFC2202_Test1_Data_16bits,     "Hi There");
// RFC 2202 test 1 80 bit digest/tag
_LIT8(KRFC2202_Test1_Tag_80bits,      "B617318655057264E28B");


// CONSTRUCTION
UT_SRTPAuthentication_NULL* UT_SRTPAuthentication_NULL::NewL()
    {
    UT_SRTPAuthentication_NULL* self = UT_SRTPAuthentication_NULL::NewLC(); 
    CleanupStack::Pop();

    return self;
    }

UT_SRTPAuthentication_NULL* UT_SRTPAuthentication_NULL::NewLC()
    {
    UT_SRTPAuthentication_NULL* self = new( ELeave ) UT_SRTPAuthentication_NULL();
    CleanupStack::PushL( self );

	self->ConstructL(); 

    return self;
    }

// Destructor (virtual by CBase)
UT_SRTPAuthentication_NULL::~UT_SRTPAuthentication_NULL()
    {
    }

// Default constructor
UT_SRTPAuthentication_NULL::UT_SRTPAuthentication_NULL()
    {
    }

// Second phase construct
void UT_SRTPAuthentication_NULL::ConstructL()
    {
    // The ConstructL from the base class CEUnitTestSuiteClass must be called.
    // It generates the test case table.
    CEUnitTestSuiteClass::ConstructL();
    }

//  METHODS



void UT_SRTPAuthentication_NULL::SetupL(  )
    {

    iAuthenticator = CSRTPAuthentication_NULL::NewL();    

    iRFC2202_Test1_Key_160bits = HBufC8::NewL(KRFC2202_Test1_Key_160bits().Length());
    iRFC2202_Test1_Data_16bits = HBufC8::NewL(KRFC2202_Test1_Data_16bits().Length());
    iRFC2202_Test1_Tag_80bits = HBufC8::NewL(KRFC2202_Test1_Tag_80bits().Length());

	*iRFC2202_Test1_Key_160bits = KRFC2202_Test1_Key_160bits;
	*iRFC2202_Test1_Data_16bits = KRFC2202_Test1_Data_16bits;
	*iRFC2202_Test1_Tag_80bits  = KRFC2202_Test1_Tag_80bits;

	Hex(*iRFC2202_Test1_Key_160bits);
//	Hex(*iRFC2202_Test1_Data_16bits);
	Hex(*iRFC2202_Test1_Tag_80bits);
    } 

void UT_SRTPAuthentication_NULL::Teardown(  )
    {
    delete iAuthenticator;
    iAuthenticator = NULL;
	
	delete iRFC2202_Test1_Key_160bits;
	delete iRFC2202_Test1_Data_16bits;
	delete iRFC2202_Test1_Tag_80bits;
	
    iRFC2202_Test1_Key_160bits = NULL;
	iRFC2202_Test1_Data_16bits = NULL;
	iRFC2202_Test1_Tag_80bits = NULL;
    }

void UT_SRTPAuthentication_NULL::UT_AuthenticateL_RFC2202_Test1_EightyL(  )
    {
 	HBufC8* result = iAuthenticator->AuthenticateL(80, *iRFC2202_Test1_Key_160bits, 
 	                                         *iRFC2202_Test1_Data_16bits,
 	                                         KNullDesC8);

 	delete result;        

    EUNIT_ASSERT( ETrue);

    }


void UT_SRTPAuthentication_NULL::Hex(HBufC8& aString)
{
    TPtr8 ptr=aString.Des();
    if (aString.Length()%2)
        {
        ptr.SetLength(0);
        return;
        }
    TInt i;
    for (i=0;i<aString.Length();i+=2)
        {
        TUint8 tmp;
        tmp=(TUint8)(aString[i]-(aString[i]>'9'?('A'-10):'0'));
        tmp*=16;
        tmp|=(TUint8)(aString[i+1]-(aString[i+1]>'9'?('A'-10):'0'));
        ptr[i/2]=tmp;
        }
    ptr.SetLength(aString.Length()/2);

}

//  TEST TABLE

EUNIT_BEGIN_TEST_TABLE( 
    UT_SRTPAuthentication_NULL,
    "CSRTPAuthentication_NULL",
    "UNIT" )

EUNIT_TEST(
    "AuthenticateL - 1 80 bits",
    "SRTPAuthentication_NULL",
    "AuthenticateL",
    "FUNCTIONALITY",
    SetupL, UT_AuthenticateL_RFC2202_Test1_EightyL, Teardown)


EUNIT_END_TEST_TABLE

//  END OF FILE