--- a/authenticationservices/authenticationserver/test/tAuthSvr/src/step_clientsidsupport.cpp Thu Aug 19 11:18:56 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,294 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "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:
-*
-*/
-
-
-#include <bautils.h>
-#include <s32file.h>
-#include <test/testexecutelog.h>
-
-#include "authserver/authmgrclient.h"
-#include "authserver/authclient.h"
-#include "authserver/identity.h"
-#include "tAuthSvrStep.h"
-
-using namespace AuthServer;
-
-class CActiveObj : public CActive
- {
- public:
- CActiveObj(RAuthMgrClient& aClient, CAuthExpression* aExpression,
- TInt aFresh, TBool aClientSpecific, TUid aClientSid, TBool aIdentityString, TPluginId aPluginId, TIdentityId aId) :
- CActive(EPriorityNormal),
- iClient(aClient),
- iResult(EFail),
- iRunCount(0),
- iAe(aExpression),
- iFresh(aFresh),
- iClientSpecific(aClientSpecific),
- iWithString(aIdentityString),
- iPluginId(aPluginId),
- iId(aId),
- iMode(-1)
- {
- CActiveScheduler::Add(this);
- iClientSid = aClientSid;
- }
-
- void Authenticate()
- {
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete(status, KErrNone);
- iRunCount = 0;
- iMode = 0;
- }
-
- void Retrain()
- {
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete(status, KErrNone);
- iRunCount = 0;
- iMode = 1;
- }
-
- void DoCancel()
- {
- }
-
- TInt RunError(TInt aError)
- {
- iErr = aError;
- CActiveScheduler::Stop();
- return KErrNone;
- }
-
- void RunL()
- {
- switch (iRunCount)
- {
- case 0:
-
- switch (iMode)
- {
-
- case 0:
- iClient.AuthenticateL(*iAe, iFresh, iClientSpecific, iClientSid, EFalse, KNullDesC(), iIdentity, iStatus);
- break;
-
- case 1:
- iClient.TrainPlugin(iId, iPluginId, iStatus);
- break;
- }
-
- SetActive();
- break;
-
- case 1:
-
- iResult = iStatus.Int() == KErrNone ? EPass : EFail;
- iErr = iStatus.Int();
- CActiveScheduler::Stop();
- break;
-
- default:
- iResult = EFail;
- CActiveScheduler::Stop();
-
- }
- ++iRunCount;
- }
-
- ~CActiveObj()
- {
-
- }
-
- RAuthMgrClient& iClient;
- TVerdict iResult;
- TInt iRunCount;
- CAuthExpression* iAe;
- CIdentity* iIdentity;
- TInt iErr;
- TInt iFresh;
- TBool iClientSpecific;
- TBool iWithString;
- TPluginId iPluginId;
- TIdentityId iId;
- TInt iMode;
- TUid iClientSid;
- };
-
-
- CTStepClientSidSupport::CTStepClientSidSupport(CTAuthSvrServer& aParent): iParent(aParent)
- {
- SetTestStepName(KTStepClientSidSupportCheck);
- }
-
- TVerdict CTStepClientSidSupport::doTestStepPreambleL()
- {
- SetTestStepResult(EFail);
-
- CTStepActSch::doTestStepPreambleL();
-
- if(GetHexFromConfig(ConfigSection(),_L("plugin1Id"), iPluginId) == EFalse)
- {
- INFO_PRINTF1(_L("Plugin Id not specified in the ini file"));
- return TestStepResult();
- }
-
- if(GetBoolFromConfig(ConfigSection(),_L("clientSpecificKey"), iClientSpecificKey) == EFalse)
- {
- INFO_PRINTF1(_L("Client Specific Key not specified in the ini file"));
- return TestStepResult();
- }
-
- if(GetBoolFromConfig(ConfigSection(),_L("withString"), iWithString) == EFalse)
- {
- INFO_PRINTF1(_L("Identity String not specified in the ini file"));
- return TestStepResult();
- }
-
- TInt clientSid = 0;
- if(GetHexFromConfig(ConfigSection(),_L("clientSid"), clientSid) == EFalse)
- {
- INFO_PRINTF1(_L("Client Sid not specified in the ini file"));
- return TestStepResult();
- }
-
- iClientSid.iUid = clientSid;
-
-
- SetTestStepResult(EPass);
- return TestStepResult();
- }
-
- TVerdict CTStepClientSidSupport::doTestStepL()
- {
- SetTestStepResult(EFail);
-
- InitAuthServerFromFileL(); // Set things like 'iSupportsDefaultData' and 'DefaultPlugin'
-
- CActiveScheduler::Install(iActSchd);
-
- //Connect to the AuthServer
- AuthServer::RAuthMgrClient authMgrClient1;
- TInt connectVal = authMgrClient1.Connect();
- CleanupClosePushL(authMgrClient1);
-
- TPtrC exprString;
- if(GetStringFromConfig(ConfigSection(),_L("plugin1Id"), exprString) == EFalse)
- {
- INFO_PRINTF1(_L("Plugin Id not specified in the ini file"));
- return TestStepResult();
- }
-
- CAuthExpression* authExpr = CreateAuthExprLC(exprString);
- CActiveObj active1(authMgrClient1, authExpr, 20, iClientSpecificKey, iClientSid, iWithString, iPluginId, 0);
- active1.Authenticate();
- CActiveScheduler::Start();
-
- if(EPass != active1.iResult)
- {
- ERR_PRINTF3(_L("Authentication Result error = %d, iResult = %d\n"), active1.iErr, active1.iResult);
- SetTestStepError(active1.iErr);
- CleanupStack::PopAndDestroy(2, &authMgrClient1);
- return TestStepResult();
- }
-
- iIdentity = active1.iIdentity;
- CleanupStack::PushL(iIdentity);
- TIdentityId identityId = iIdentity->Id();
-
- // set plugin input train value.
- InitPluginDataFromFileL(ETrue);
-
- CActiveObj active2(authMgrClient1, authExpr, 0, iClientSpecificKey, iClientSid, iWithString, iPluginId, identityId);
- active2.Retrain();
- CActiveScheduler::Start();
-
- if(EPass != active1.iResult)
- {
- ERR_PRINTF3(_L("Error encountered while training plugin = %d, iResult = %d\n"), active2.iErr, active2.iResult);
- SetTestStepError(active2.iErr);
- CleanupStack::PopAndDestroy(3, &authMgrClient1);
- return TestStepResult();
- }
-
- // set plugin inputId value.
- InitPluginDataFromFileL(EFalse);
-
- CActiveObj active3(authMgrClient1, authExpr, 20, iClientSpecificKey, iClientSid, iWithString, iPluginId, 0);
- active3.Authenticate();
- CActiveScheduler::Start();
-
- CleanupStack::Pop(iIdentity);
- CleanupStack::PopAndDestroy(2, &authMgrClient1);
-
- if(EPass != active1.iResult)
- {
- ERR_PRINTF3(_L("Authentication Result error = %d, iResult = %d\n"), active3.iErr, active3.iResult);
- SetTestStepError(active3.iErr);
- delete iIdentity;
- return TestStepResult();
- }
-
- iIdentityAfterRetrain = active3.iIdentity;
-
- TBool success = VerifyObtainedResultsWithExpectedL();
- if(success)
- {
- SetTestStepResult(EPass);
- }
-
- return TestStepResult();
- };
-
- TBool CTStepClientSidSupport::VerifyObtainedResultsWithExpectedL()
- {
- // required for ReadUserData capability test(when client sid is not equal
- // to the calling application's sid or zero, ReadUserData is required for
- // authentication.)
- if(iClientSid.iUid == 0)
- {
- TInt clientSid;
- if(GetHexFromConfig(ConfigSection(),_L("callingAppSid"), clientSid) == EFalse)
- {
- INFO_PRINTF1(_L("Sid of calling application not specified in the ini file"));
- return TestStepResult();
- }
-
- iClientSid.iUid = clientSid;
- }
-
- CProtectionKey* protection = iIdentity->Key().ClientKeyL(iClientSid.iUid);
-
- const CProtectionKey& obtainedKey = iIdentityAfterRetrain->Key();
- TBool success = EFalse;
- if(protection->KeyData() == obtainedKey.KeyData())
- {
- success = ETrue;
- }
-
- return success;
- }
-
- CTStepClientSidSupport::~CTStepClientSidSupport()
- {
- delete iIdentity;
- delete iIdentityAfterRetrain;
- }