sl@0: // sl@0: // Copyright (c) 2009-2010 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 the License "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: //tups_install sl@0: //PRINT Run Basic test cases PREQ1262 for integration test sl@0: sl@0: // sl@0: // Prepare various clones of TUPSInteg.exe with different SIDs. sl@0: // Don't forget to delete clones at the end of test script. sl@0: // but do not delete original one !!!! sl@0: sl@0: RUN_PROGRAM 100 SETCAP TUPSInteg_data.exe 1c000 -SID 80001234 TUPSInteg_2.exe sl@0: RUN_PROGRAM 100 SETCAP TUPSInteg_data.exe 1c000 -SID 80002222 TUPSInteg_3.exe sl@0: RUN_PROGRAM 100 SETCAP TUPSInteg_data.exe 1c000 -SID 10004444 TUPSInteg_4.exe sl@0: RUN_PROGRAM 100 SETCAP TUPSInteg_data.exe 810 -SID 10006666 TUPSInteg_allfiles_readdevice.exe sl@0: RUN_PROGRAM 100 SETCAP TUPSInteg_data.exe 10 -SID 10007777 TUPSInteg_readdevice.exe sl@0: RUN_PROGRAM 100 SETCAP TUPSInteg_data.exe 20 -SID 10008888 TUPSInteg_writedevice.exe sl@0: RUN_PROGRAM 100 SETCAP TUPSInteg_data.exe 1cf00 -SID 101F7790 TUPSInteg_minor.exe sl@0: sl@0: // load suites sl@0: LOAD_SUITE TUPSInteg_1 sl@0: LOAD_SUITE TUPSInteg_unprotected sl@0: sl@0: // load clones sl@0: LOAD_SUITE TUPSInteg_2 sl@0: LOAD_SUITE TUPSInteg_3 sl@0: LOAD_SUITE TUPSInteg_4 sl@0: LOAD_SUITE TUPSInteg_allfiles_readdevice sl@0: LOAD_SUITE TUPSInteg_readdevice sl@0: LOAD_SUITE TUPSInteg_writedevice sl@0: LOAD_SUITE TUPSInteg_minor sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-MISC-0001 sl@0: //! @SYMTestCaseDesc Set up properties for policy evaluators and dialog creators, and Delete Existing Database sl@0: sl@0: START_TESTCASE SEC-UPS-MISC-0001 sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_1 PropertyStep z:\tups\integ\scripts\tups_properties.ini PropertiesToDestroy sl@0: sl@0: // Set up properties for policy evaluators and dialog creators. sl@0: RUN_TEST_STEP 100 TUPSInteg_1 PropertyStep z:\tups\integ\scripts\tups_properties.ini PropertiesToCreate sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: END_TESTCASE SEC-UPS-MISC-0001 sl@0: sl@0: sl@0: //********************** SEC-UPS-A : BASIC USER PROMPTING ********************** sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-A001 sl@0: //! @SYMTestCaseDesc User prompt service: option “only this session” sl@0: //! (only_this_session) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7367, REQ7410, REQ7411, REQ7412, REQ7413, REQ7414, REQ7415, REQ7417, REQ7446 sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy, policy evaluator and dialog that matches the UID of the service sl@0: //! offered by the “system server”. sl@0: //! sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch “test client” which tries to connect to a system server and use service. sl@0: //! • System server asks for a user prompt to the UPS. sl@0: //! • When UPS prompts user, select the “Only this session” option. sl@0: //! • Check that now the “test client” can use the intended service from the “system server”. sl@0: //! • Check again In same session that client still can use test service without need of user prompt. sl@0: //! • Disconnect session and create new one. sl@0: //! • Ask “test client” to request again for the same service to the system server. This should cause sl@0: //! the service provided to request for a new user prompt. sl@0: //! • Select again “Only this session” option. sl@0: //! • Check that “test client” can use again the intended service from system server. sl@0: //! sl@0: //! @SYMTestExpectedResults • User prompt service dialog is displayed correctly in both occasions that “test client” sl@0: //! request for authorisation. sl@0: //! • Information displayed about the client is complete (see Appendix A). sl@0: //! • “Test client” can use service from system server in both occasions after selecting “Only sl@0: //! this session” sl@0: //! • Information about the “Test client” is displayed correctly by user prompt. sl@0: //! • Decision DB is not affected by previous operation as “only this session” is not expected to sl@0: //! be stored. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-A001 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini only_this_session sl@0: END_TESTCASE SEC-UPS-INTEG-A001 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-A002 sl@0: //! @SYMTestCaseDesc User prompt service: User prompt service: option “never” sl@0: //! (never) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7367, REQ7372, REQ7374 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy, policy evaluator and dialog creator that matches the UID of the sl@0: //! service offered by the “system server”. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch “test client” which tries to connect to a system server and use service. sl@0: //! • System server asks for a user prompt to the UPS. sl@0: //! • When UPS prompts user, select the “Never” option. sl@0: //! • Check that now the “test client” can NOT use the intended service after user selected “never”. sl@0: //! • Disconnect session and create new one. sl@0: //! • Ask “test client” to request again for the same service to the system server. System server should sl@0: //! deny access to “test client” immediately without showing user prompt. Make sure that UPS was invoked sl@0: //! again. sl@0: //! sl@0: //! sl@0: //! @SYMTestExpectedResults • User prompt service dialog is displayed correctly. sl@0: //! • Security dialog is displayed within one second (1 sec) of client request for service. sl@0: //! • Information displayed about the client is complete (see Appendix A). sl@0: //! • “Test client” can NOT use service from system server after selecting “Never” sl@0: //! • Decision DB is updated correctly with the never decision. sl@0: //! • The second time the “Test client” tries to access the service from the system server it sl@0: //! should receive a silent denial. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-A002 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini never sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini never_b sl@0: END_TESTCASE SEC-UPS-INTEG-A002 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-A003 sl@0: //! @SYMTestCaseDesc User prompt service: option “Always” sl@0: //! (always) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7428, REQ7429, REQ7367, REQ7372, REQ7374, REQ7493 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy, policy evaluator and dialog creator that matches the UID of the sl@0: //! service offered by the “system server”. sl@0: //! • Special: make sure that client have all necessary capabilities in order to test REQ7493 sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch “test client” which tries to connect to a system server and use service. sl@0: //! • System server asks for a user prompt to the UPS. sl@0: //! • When UPS prompts user, select the “Always” option. sl@0: //! • Check in same session that now the “test client” now can use the intended service after user sl@0: //! selected “Always”. sl@0: //! • Ask “test client” to request again for the same service to the system server. System server should sl@0: //! give immediate access to “test client” without showing user prompt (in same session). sl@0: //! • Disconnect session and create new one. sl@0: //! • Ask “test client” to request again for the same service to the system server. System server should sl@0: //! give immediate access to “test client” without showing user prompt. Make sure that UPS was invoked sl@0: //! again. sl@0: //! sl@0: //! @SYMTestExpectedResults • User prompt service dialog is displayed correctly. sl@0: //! • Security dialog is displayed within one second (1 sec) of client request for service. sl@0: //! • Information displayed about the client is complete (see Appendix A). sl@0: //! • “Test client” can use service from system server after selecting “Always” sl@0: //! • Decision DB is updated correctly with the Always decision. sl@0: //! • The second time the “Test client” tries to access the service from the system server it sl@0: //! should receive immediate access. sl@0: //! • The response time from UPS for second use of test client is 100 ms (H4 board without demand sl@0: //! paging) sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-A003 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini always sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini always_b sl@0: END_TESTCASE SEC-UPS-INTEG-A003 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-A004 sl@0: //! @SYMTestCaseDesc User prompt service: “Yes” or “No” selection” sl@0: //! (yes_or_no) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7372 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy, policy evaluator and dialog creator that matches the UID of the sl@0: //! service offered by the “system server”. sl@0: //! • Policy is set to display “yes” or “no” option sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch “test client” which tries to connect to a system server and use service. sl@0: //! • System server asks for a user prompt to the UPS. sl@0: //! • When UPS prompts user, select the “yes” option. sl@0: //! • Check that now the “test client” now can use the intended service. sl@0: //! • In same session that before, request uses service. sl@0: //! • UPS should prompt user again. Select yes sl@0: //! • Launch “test client” in a new session. When security dialog is displayed select “no”. sl@0: //! • Check that test client can not access intended service. sl@0: //! sl@0: //! @SYMTestExpectedResults • User prompt service dialog is displayed correctly. sl@0: //! • Security dialog is displayed within one second (1 sec) of client request for service. sl@0: //! • Information displayed about the client is complete (see Appendix A). sl@0: //! • Decision DB does not store any new decision. sl@0: //! • Access to test service is denied or granted accordingly. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-A004 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini yes_or_no sl@0: END_TESTCASE SEC-UPS-INTEG-A004 sl@0: sl@0: sl@0: sl@0: //********************** SEC-UPS-B : USE CASES FOR UPS INVOLVING CONCURRENCY ********************** sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-B004 sl@0: //! @SYMTestCaseDesc Concurrent process can access service despite unattended security dialog. sl@0: //! (Unattended_Dialog) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7427 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy, policy evaluator and dialog creator that matches the UID of the sl@0: //! service offered by the “system server”. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch 3 “test client” (A, B & C) which requests use of different system servers. Client A should sl@0: //! not have any decision related to it stored in DB, Clients B should have a decision “Always” stored sl@0: //! in DB, Client C should have decision “Never” stored in DB. Make sure that Client B & C are launch sl@0: //! after security dialog is displayed for Client A. sl@0: //! • Do not act in the security dialog for Client A when this one is displayed. sl@0: //! • Check that Client B can access intended test service. sl@0: //! • Check that Client C can not access intended test service and did receive a denial response. sl@0: //! • Act now in security dialog for Client A, select “always”. sl@0: //! • Check that Client A can access intended test service. sl@0: //! sl@0: //! @SYMTestExpectedResults • Final check in Decision DB shows 3 decisions stored: “Always” for Clients A & B, “Never” sl@0: //! for Client C. sl@0: //! • Accesses to service were granted for Clients A & B. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-B004 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // Setup up the Database so that Client B has an 'Always' Decision and Client C has a 'Never' Decision stored sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Unattended_Dialog_ClientB_Setup sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Unattended_Dialog_ClientC_Setup sl@0: sl@0: // Run 3 concurrent clients with a Coordinator to ensure that the Clients are synchronised sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSCoordinatorStep z:\tups\integ\scripts\tups_integ.ini Unattended_Dialog_Coordinator sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Unattended_Dialog_ClientA sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Unattended_Dialog_ClientB sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Unattended_Dialog_ClientC sl@0: CONSECUTIVE sl@0: sl@0: // Database Management Checks sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini Unattended_Dialog_dbManagementcheck sl@0: sl@0: END_TESTCASE SEC-UPS-INTEG-B004 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-B005 sl@0: //! @SYMTestCaseDesc Cancellation of UPS request in concurrent system server. sl@0: //! (concurrent_cancellation) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7427, REQ7431, REQ7432 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy, policy evaluator and dialog creator that matches the UID of the sl@0: //! service offered by the “system server”. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch 2 “test client” (A & B ) which requests use of different system servers. Client A sl@0: //! should have a decision “Always” stored in DB, client B should have decision “Never” stored in DB. sl@0: //! Client A & B run continuously and they request periodic use of a test service, each of this request sl@0: //! should cause UPS to be invoked, UPS should continuously issue an appropriate silence response for A & sl@0: //! B. sl@0: //! • Launch “test client C” which requests use of different system servers. This client C does not have sl@0: //! any related decision stored in DB. sl@0: //! • The system server for client C is expected to request UPS for security dialog. sl@0: //! • Do not act in security dialog displayed for client C, instead instruct system server for client C sl@0: //! to cancel previous request made to UPS. sl@0: //! • Make sure that clients A & B can still receive appropriate silent response from UPS despite sl@0: //! cancellation of request by system server attending client C. sl@0: //! • Launch test client D which should attempt use of same service attempted by client C. Security sl@0: //! dialog should be displayed, select “Always”. sl@0: //! • Check that client D can access intended service. sl@0: //! • Launch client D in new session and check that it received silent acceptance. sl@0: //! sl@0: //! sl@0: //! @SYMTestExpectedResults • Final check in Decision DB shows 2 decisions stored: “Always” for Clients A, “Never” for sl@0: //! Client B. sl@0: //! • Access to service was granted for Clients A & D. sl@0: //! • Access to service was denied for Clients B. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-B005 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_cancellation_clientA_setup sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_cancellation_clientB_setup sl@0: sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_cancellation_clientA sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_cancellation_clientB sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_cancellation_clientC_cancel sl@0: RUN_TEST_STEP 100 TUPSInteg_4 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_cancellation_clientD sl@0: CONSECUTIVE sl@0: sl@0: // Concurrent cancellation with UPS calling the same server, policy evaluator, dialog creator and policy from clients B + D sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_cancellation_clientA sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_cancellation_clientB_samepolicy sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_cancellation_clientC_cancel sl@0: RUN_TEST_STEP 100 TUPSInteg_4 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_cancellation_clientD_samepolicy sl@0: CONSECUTIVE sl@0: sl@0: END_TESTCASE SEC-UPS-INTEG-B005 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-B008 sl@0: //! @SYMTestCaseDesc Early closure of client with concurrent processes, policy evaluator stage sl@0: //! (client_dying_at_evaluator_point) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7427 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy, policy evaluator and dialog creator that sl@0: //! matches the UID of the service offered by the “system server”. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch 2 “test client” (A & B) which requests use of different system servers. sl@0: //! Client A should have a decision “Always” stored in DB, client B should have sl@0: //! decision “Never” stored in DB. Clients A & B run continuously and they request sl@0: //! periodic use of a test service, each of this request should cause UPS to be sl@0: //! invoked, UPS should continuously issue an appropriate silence response for A & B. sl@0: //! • Launch “test client C” which requests use of a different system server. System sl@0: //! server will invoke UPS and this one should invoke a policy evaluator. When sl@0: //! policy evaluator is running shut down test client C. sl@0: //! • Make sure that Clients A & B can still receive appropriate silent response from UPS. sl@0: //! sl@0: //! @SYMTestExpectedResults sl@0: //! • Final check in Decision DB shows 2 decisions stored: “Always” for Clients A, “Never” sl@0: //! for Client B. sl@0: //! • Access to service was granted for Clients A. sl@0: //! • Access to service was denied for Clients B & C. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-B008 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini populate_client_00a sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini populate_client_00b sl@0: sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSCoordinatorStep z:\tups\integ\scripts\tups_integ.ini dying_client_at_evaluator_Coordinator sl@0: RUN_TEST_STEP 100 TUPSInteg_minor DyingClient z:\tups\integ\scripts\tups_integ.ini dying_client_at_evaluator sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini check_client_00a sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini check_client_00b sl@0: CONSECUTIVE sl@0: sl@0: // Database Management Checks sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini client_dying_at_evaluator_point_dbManagementCheck sl@0: sl@0: END_TESTCASE SEC-UPS-INTEG-B008 sl@0: sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-B009 sl@0: //! @SYMTestCaseDesc Early closure of client with concurrent processes, dialog displayed stage sl@0: //! (client_dying_at_dialog_point) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7427 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy, policy evaluator and dialog creator that sl@0: //! matches the UID of the service offered by the “system server”. sl@0: //! Test Actions: sl@0: //! • Launch 2 “test client” (A & B) which requests use of different system sl@0: //! servers. Client A should have a decision “Always” stored in DB, client B sl@0: //! should have decision “Never” stored in DB. Clients A & B run continuously and sl@0: //! they request periodic use of a test service, each of this request should cause sl@0: //! UPS to be invoked, UPS should continuously issue an appropriate silence response sl@0: //! for A & B. sl@0: //! • Launch “test client C” which requests use of a different system server. System sl@0: //! server will invoke UPS and at some stage a security dialog will be invoked. When sl@0: //! security dialog is displayed do not act on this one and shut down test client C. sl@0: //! • Make sure that Clients A & B can still receive appropriate silent response from UPS. sl@0: //! sl@0: //! @SYMTestExpectedResults sl@0: //! • Final check in Decision DB shows 2 decisions stored: “Always” for Clients A, sl@0: //! “Never” for Client B. sl@0: //! • Access to service was granted for Clients A. sl@0: //! • Access to service was denied for Clients B & C. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-B009 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini populate_client_00a sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini populate_client_00b sl@0: sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSCoordinatorStep z:\tups\integ\scripts\tups_integ.ini dying_client_at_dialog_Coordinator sl@0: RUN_TEST_STEP 100 TUPSInteg_minor DyingClient z:\tups\integ\scripts\tups_integ.ini dying_client_at_dialog sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini check_client_00a sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini check_client_00b sl@0: CONSECUTIVE sl@0: sl@0: // Database Management Checks sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini client_dying_at_dialog_point_dbManagementCheck sl@0: sl@0: END_TESTCASE SEC-UPS-B009 sl@0: sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-B010 sl@0: //! @SYMTestCaseDesc Multiple clients requesting multiple services in concurrent manner. sl@0: //! (multiple_client_requests_concurrent) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7427 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • As set in test assumptions section on detail description of this test. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Execute test actions as set in “tests sequence part 1” above. sl@0: //! • Execute test actions as set in “tests sequence part 2” above. sl@0: //! • Reset test clients and test system servers. sl@0: //! • Execute test actions as set in “tests sequence part 3” above. sl@0: //! sl@0: //! @SYMTestExpectedResults Test services are granted/denied accordingly as set in detail test description. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-B010 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_multiple_request_client1 sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_multiple_request_client2 sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_multiple_request_client3 sl@0: RUN_TEST_STEP 100 TUPSInteg_4 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_multiple_request_client4 sl@0: CONSECUTIVE sl@0: sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_multiple_request_client1 sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_multiple_request_client2 sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_multiple_request_client3 sl@0: RUN_TEST_STEP 100 TUPSInteg_4 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_multiple_request_client4 sl@0: CONSECUTIVE sl@0: sl@0: // Close and Reset UPS sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_multiple_request_client1 sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_multiple_request_client2 sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_multiple_request_client3 sl@0: RUN_TEST_STEP 100 TUPSInteg_4 UPSClientStep z:\tups\integ\scripts\tups_integ.ini concurrent_multiple_request_client4 sl@0: CONSECUTIVE sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini count_24 sl@0: sl@0: END_TESTCASE SEC-UPS-B010 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-B011 sl@0: //! @SYMTestCaseDesc Multiple clients requesting multiple services in non–concurrent manner. sl@0: //! (multiple_client_requests_consecutive) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ**** sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • As set for test case SEC-UPS-B002C, but each test client and system server do not run concurrently sl@0: //! with other tests clients. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Execute test actions as set in “tests sequence part 1” on test case SEC-UPS-B010 above. sl@0: //! • Execute test actions as set in “tests sequence part 2” on test case SEC-UPS-B010 above. sl@0: //! • Reset test clients and test system servers. sl@0: //! • Execute test actions as set in “tests sequence part 3” on test case SEC-UPS-B010 above. sl@0: //! sl@0: //! @SYMTestExpectedResults Test services are granted/denied accordingly as set in detail test description for test case sl@0: //! SEC-UPS-B010 above. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-B011 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini multiple_request_client1_Part1 sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini multiple_request_client2_Part1 sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini multiple_request_client3_Part1 sl@0: RUN_TEST_STEP 100 TUPSInteg_4 UPSClientStep z:\tups\integ\scripts\tups_integ.ini multiple_request_client4 sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini multiple_request_client1_Part2 sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini multiple_request_client2_Part2 sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini multiple_request_client3_Part2 sl@0: RUN_TEST_STEP 100 TUPSInteg_4 UPSClientStep z:\tups\integ\scripts\tups_integ.ini multiple_request_client4 sl@0: sl@0: // Close and Reset UPS sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini multiple_request_client1_Part2 sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini multiple_request_client2_Part2 sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini multiple_request_client3_Part2 sl@0: RUN_TEST_STEP 100 TUPSInteg_4 UPSClientStep z:\tups\integ\scripts\tups_integ.ini multiple_request_client4 sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini count_24 sl@0: sl@0: END_TESTCASE SEC-UPS-B011 sl@0: sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-B012 sl@0: //! @SYMTestCaseDesc Concurrent process can access service despite multiple unattended security dialogs. sl@0: //! (Multiple_Unattended_Dialogs) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7427 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy, policy evaluator and dialog creator that matches the UID of the service offered by the “system sl@0: //! server”. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch 3 “test client” (A, B & C) which requests use of different system servers. Clients A & B should not have any decision sl@0: //! related to it stored in DB, Clients C should have a decision “Always” stored in DB. Make sure that Client B is launched after sl@0: //! security dialog is displayed for Client A. Make sure that request for security dialog for client B is made before client C is sl@0: //! launched. sl@0: //! • Do not act in the security dialog for Client A when this one is displayed. sl@0: //! • Check that Client C can access intended test service and UPS did issue a silent acceptance to system server from UPS for the sl@0: //! request made for client C. sl@0: //! • Act now in security dialog for Client A, select “Never”. sl@0: //! • Check that Client A can NOT access intended test service. sl@0: //! • Act now in security dialog for Client B, select “Always”. sl@0: //! • Check that Client B can access intended test service. sl@0: //! sl@0: //! @SYMTestExpectedResults • Final check in Decision DB shows 4 decisions stored: “Always” for Clients B & C. “Never” for Client A. sl@0: //! • Accesses to service were granted for Clients B & C. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-B012 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // Setup up the Database so that Client C has an 'Always' Decision stored sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Multiple_Unattended_Dialogs_ClientC_Setup sl@0: sl@0: // Run 3 concurrent clients with a Coordinator to ensure that the Clients are synchronised sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSCoordinatorStep z:\tups\integ\scripts\tups_integ.ini Multiple_Unattended_Dialogs_Coordinator sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Multiple_Unattended_Dialogs_ClientA sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Multiple_Unattended_Dialogs_ClientB sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Multiple_Unattended_Dialogs_ClientC sl@0: CONSECUTIVE sl@0: sl@0: // Database Management Checks sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini Multiple_Unattended_Dialogs_dbManagementcheck sl@0: sl@0: END_TESTCASE SEC-UPS-INTEG-B012 sl@0: sl@0: sl@0: //********************** SEC-UPS-C : DIALOG SERIALISATION SPECIFIC TESTS ********************** sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-C001 sl@0: //! @SYMTestCaseDesc Dialog serialisation sl@0: //! (Dialog_Serialisation) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7472 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • For each of the services There is an appropriate policy, policy evaluator and dialog creator that matches the UID of the service //! offered by the “system server”. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch 3 “test client” (A ,B & C) in turns, these Clients requests use of a system server. System server should request prompt of //! security dialog to UPS. Make sure that requests for the 3 security dialog are made before acting in the first dialog that is expected //! to be displayed. sl@0: //! • For first security dialog to be displayed (client A) select “always”. sl@0: //! • Check that client A can access intended service. sl@0: //! • For second security dialog to be displayed (client B) select “only this session”. sl@0: //! • Check that client B can access intended service. sl@0: //! • For third security dialog to be displayed (client C) select “never”. sl@0: //! • Check that client C can NOT access intended service. sl@0: //! • Shut down clients and servers. sl@0: //! • Launch client A again, check that it can access test service and UPS is issuing silent acceptance. sl@0: //! • Launch client C again, check that it can access test service and UPS is issuing silent denial. sl@0: //! sl@0: //! sl@0: //! @SYMTestExpectedResults • User prompt service dialogs are displayed correctly, and only 1 dialog at any time. sl@0: //! • Information displayed about the client is complete (see Appendix A). sl@0: //! • Clients A & C can access test service. sl@0: //! • Client B can not access test service. sl@0: //! •Decision DB is updated correctly with the Always decision. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-C001 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // Run 3 concurrent clients with a Coordinator to ensure that the Clients are synchronised sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSCoordinatorStep z:\tups\integ\scripts\tups_integ.ini Dialog_Serialisation_Coordinator sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Dialog_Serialisation_clientA sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Dialog_Serialisation_clientB sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Dialog_Serialisation_clientC sl@0: CONSECUTIVE sl@0: sl@0: // Silent acceptance checking for Client A sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Dialog_Serialisation_clientA_DecisionCheck sl@0: sl@0: // Silent denial checking for Client C sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Dialog_Serialisation_clientC_DecisionCheck sl@0: sl@0: // Database Management Checks sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini Dialog_Serialisation_dbManagementcheck sl@0: sl@0: END_TESTCASE SEC-UPS-C001 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-C005 sl@0: //! @SYMTestCaseDesc To ensure that a cancellation of a user prompt dialog (cancel button) does not affect sl@0: //! adversatively the behaviour of the UPS. sl@0: //! (single_dialog_cancellation) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7427 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy, policy evaluator and dialog creator that matches the UID of sl@0: //! the service offered by the “system server”. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch a “test client A” which requests use of a system server. sl@0: //! • System server asks for a user prompt to the UPS. sl@0: //! • When security dialog is displayed, cancel request made from system server to UPS, this should sl@0: //! cause cancellation of notifier and therefore cancellation of security dialog. sl@0: //! • Close test client A. sl@0: //! • Launch test client B which tries to use the same test service. sl@0: //! • System server requests security dialog. sl@0: //! • When dialog is displayed select “always” sl@0: //! • Check that client B can use test service. sl@0: //! sl@0: //! @SYMTestExpectedResults sl@0: //! • User prompt service dialogs is displayed correctly. sl@0: //! • Cancellation of security dialog does not cause UPS malfunction. sl@0: //! • Decision DB is upgraded with new decision for test client B. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: //! sl@0: sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-C005 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // Client A is run concurrently with a Coordinator so that the request can be cancelled once the Dialog Creator has been invoked sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSCoordinatorStep z:\tups\integ\scripts\tups_integ.ini single_dialog_cancellation_Coordinator sl@0: RUN_TEST_STEP 100 TUPSInteg_minor CancelPrompt z:\tups\integ\scripts\tups_integ.ini single_dialog_cancellation_ClientA sl@0: CONSECUTIVE sl@0: sl@0: // Client B makes an attempt to access the same service as Client A sl@0: RUN_TEST_STEP 100 TUPSInteg_minor SimpleRequest z:\tups\integ\scripts\tups_integ.ini single_dialog_cancellation_ClientB sl@0: sl@0: // Database Management Checks sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini single_dialog_cancellation_dbManagementCheck sl@0: sl@0: END_TESTCASE SEC-UPS-INTEG-C005 sl@0: sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-C006 sl@0: //! @SYMTestCaseDesc Cancellation of first dialog from a queue of pending security dialogs. sl@0: //! (cancellation_first_dialog) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7431 REQ7432 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • For each of the services there is an appropriate policy, policy evaluator and dialog creator that matches the UID of the service //! offered by the “system server”. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch 3 “test client” in turns (A,B & C), these Clients try to use of a test service in system server. sl@0: //! • Make sure system server has request security dialog for all clients before acting in any security dialog. sl@0: //! • Once user prompt is displayed for client A, induce system server to cancel request to UPS for client A, this should cause security //! dialog for client A to be removed from screen. sl@0: //! • Security dialog for client B should appear on screen select “never” and check that application can NOT use intended service. sl@0: //! • Security dialog for client C should appear on screen select “always” and check that application can use intended service. sl@0: //! sl@0: //! @SYMTestExpectedResults • Decision DB is upgraded with new decisions for Clients B (“never”) and C (“always”) sl@0: //! • UPS does not malfunction after cancellation of dialog for Client A. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: //! sl@0: sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-C006 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // Client A, B and C are run concurrently with a Coordinator so that the first dialog (Client A) can be cancelled once all of the service requests sl@0: // have been invoked sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSCoordinatorStep z:\tups\integ\scripts\tups_integ.ini cancellation_first_dialog_Coordinator sl@0: RUN_TEST_STEP 100 TUPSInteg_minor CancelPrompt z:\tups\integ\scripts\tups_integ.ini cancellation_first_dialog_ClientA_cancel sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini cancellation_first_dialog_ClientB sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini cancellation_first_dialog_ClientC sl@0: CONSECUTIVE sl@0: sl@0: // Database Management Checks sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini cancellation_first_dialog_dbManagementCheck sl@0: sl@0: END_TESTCASE SEC-UPS-INTEG-C006 sl@0: sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-C007 sl@0: //! @SYMTestCaseDesc Cancellation of last dialog from a queue of pending security dialogs. sl@0: //! (cancellation_last_dialog) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7431 REQ7432 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • For each of the services there is an appropriate policy, policy evaluator and dialog creator that matches the UID of the service //! offered by the “system server”. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch 3 “test client” in turns (A, B & C), these Clients try to use of a test service in system server. sl@0: //! • Make sure system server has request security dialog for all clients before acting in any security dialog. sl@0: //! • Security dialog for client A should appear on screen select “always” and check that application can use intended service. sl@0: //! • Security dialog for client B should appear on screen select “never” and check that application can NOT use intended service. sl@0: //! • Once user prompt is displayed for client C, induce system server to cancel request to UPS for client C, this should cause security //! dialog for client C to be removed from screen. sl@0: //! • In new session ask client A to try to access test service, UPS should grant silent acceptance and client A should have access to //! test service. sl@0: //! • In new session ask client B to try to access test service, UPS should grant silent denial and client B should NOT have access to //! test service. sl@0: //! sl@0: //! @SYMTestExpectedResults • Decision DB is upgraded with new decisions for Clients B (“never”) and sl@0: //! A (“always”). sl@0: //! • UPS does not malfunction after cancellation of dialog for Client C. sl@0: //! @SYMTestType CIT sl@0: //! sl@0: sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-C007 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // Client A, B and C are run concurrently with a Coordinator so that the last dialog (Client C) can be cancelled once all of the service requests sl@0: // have been invoked sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSCoordinatorStep z:\tups\integ\scripts\tups_integ.ini cancellation_last_dialog_Coordinator sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini cancellation_last_dialog_ClientA sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini cancellation_last_dialog_ClientB sl@0: RUN_TEST_STEP 100 TUPSInteg_minor CancelPrompt z:\tups\integ\scripts\tups_integ.ini cancellation_last_dialog_ClientC_cancel sl@0: CONSECUTIVE sl@0: sl@0: // Database Management Checks sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini cancellation_last_dialog_dbManagementCheck sl@0: sl@0: END_TESTCASE SEC-UPS-INTEG-C007 sl@0: sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-C008 sl@0: //! @SYMTestCaseDesc Cancellation of middle position dialog from a queue of pending security dialogs. sl@0: //! (cancellation_middle_dialog) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7431 REQ7432 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • For each of the services there is an appropriate policy, policy evaluator and dialog creator that matches the UID of the service //! offered by the “system server”. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch 3 “test client” in turns (A, B & C), these Clients try to use of a test service in system server. sl@0: //! • Make sure system server has request security dialog for all clients before acting in any security dialog. sl@0: //! • Security dialog for client A should appear on screen select “always” and check that application can use intended service. sl@0: //! • Once user prompt is displayed for client B, induce system server to cancel request to UPS for client B, this should cause security //! dialog for client B to be removed from screen. sl@0: //! • Security dialog for client C should appear on screen select “Always” and check that client can use intended service. sl@0: //! • In new session ask client A to try to access test service, UPS should grant silent acceptance and client A should have access to //! test service. sl@0: //! • In new session ask client C to try to access test service, UPS should grant silent acceptance and client B should have access to //! test service. sl@0: //! sl@0: //! @SYMTestExpectedResults • Decision DB is upgraded with 2 new “Always” decisions for Clients A & C. sl@0: //! • UPS does not malfunction after cancellation of dialog for Client B. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-C008 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // Client A, B and C are run concurrently with a Coordinator so that the middle dialog (Client B) can be cancelled once all of the service requests sl@0: // have been invoked sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSCoordinatorStep z:\tups\integ\scripts\tups_integ.ini cancellation_middle_dialog_Coordinator sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini cancellation_middle_dialog_ClientA sl@0: RUN_TEST_STEP 100 TUPSInteg_minor CancelPrompt z:\tups\integ\scripts\tups_integ.ini cancellation_middle_dialog_ClientB_cancel sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini cancellation_middle_dialog_ClientC sl@0: CONSECUTIVE sl@0: sl@0: // Database Management Checks sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini cancellation_middle_dialog_dbManagementCheck sl@0: sl@0: END_TESTCASE SEC-UPS-INTEG-C008 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-C009 sl@0: //! @SYMTestCaseDesc Cancellation of request whilst Policy Evaluator is Generating Fingerprints sl@0: //! (cancellation_during_fingerprint_generation) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7431 REQ7432 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions sl@0: //! Preconditions: sl@0: //! • For each of the services there is an appropriate policy, policy evaluator and sl@0: //! dialog creator that matches the UID of the service offered by the “system server”. sl@0: //! Test Actions: sl@0: //! • Launch 3 “test client” in turns (A, B & C), these Clients try to use of a test sl@0: //! service in system server. sl@0: //! • Make sure system server has request security dialog for all clients to UPS before sl@0: //! acting in any security dialog. At this stage client A should be hold with security sl@0: //! dialog open (on display), client B need to be hold while its request is at sl@0: //! “GenerateFingerPrints” stage, client C can be hold at display queuing stage. sl@0: //! • Once all clients have reached stages described above cancel request from client B, sl@0: //! consecutively let other two clients requests (A & C) run normally to competition. sl@0: //! • Check that request for A and C can be served normally by UPS. sl@0: //! • Check that request for client B received a “KerrCancel” from UPS. sl@0: //! sl@0: //! @SYMTestExpectedResults • Decisions for client A and C are correctly stored in decision DB. sl@0: //! • No decision was stored for client B. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-C009 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // Client A, B and C are run concurrently with a Coordinator so that the middle dialog (Client B) can be cancelled whilst the policy evaluator is generating sl@0: // fingerprints sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSCoordinatorStep z:\tups\integ\scripts\tups_integ.ini cancellation_during_fingerprint_generation_Coordinator sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini cancellation_during_fingerprint_generation_ClientA sl@0: RUN_TEST_STEP 100 TUPSInteg_minor CancelPrompt z:\tups\integ\scripts\tups_integ.ini cancellation_during_fingerprint_generation_ClientB_cancel sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini cancellation_during_fingerprint_generation_ClientC sl@0: CONSECUTIVE sl@0: sl@0: // Database Management Checks sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini cancellation_during_fingerprint_generation_dbManagementCheck sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini count_2 sl@0: sl@0: END_TESTCASE SEC-UPS-INTEG-C009 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-C010 sl@0: //! @SYMTestCaseDesc Cancellation of request whilst Dialog Creator is Preparing a Dialog sl@0: //! (cancellation_during_prepare_dialog) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7431 REQ7432 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions sl@0: //! Preconditions: sl@0: //! • For each of the services there is an appropriate policy, policy evaluator and sl@0: //! dialog creator that matches the UID of the service offered by the “system server”. sl@0: //! Test Actions: sl@0: //! • Launch 3 “test client” in turns (A, B & C), these Clients try to use of a test sl@0: //! service in system server. sl@0: //! • Make sure system server has request security dialog for all clients to UPS before sl@0: //! acting in any security dialog. At this stage client A should be hold with security sl@0: //! dialog open (on display), client B need to be hold while its request is at sl@0: //! “PrepareDialog” stage, client C can be hold at display queuing stage. sl@0: //! • Once all clients have reached stages described above cancel request from client B, sl@0: //! consecutively let other two clients requests (A & C) run normally to competition. sl@0: //! • Check that request for A and C can be served normally by UPS. sl@0: //! • Check that request for client B received a “KerrCancel” from UPS. sl@0: //! sl@0: //! @SYMTestExpectedResults • Decisions for client A and C are correctly stored in decision DB. sl@0: //! • No decision was stored for client B. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-C010 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // Client A, B and C are run concurrently with a Coordinator so that the middle dialog (Client B) can be cancelled whilst the dialog creator is preparing sl@0: // a dialog sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSCoordinatorStep z:\tups\integ\scripts\tups_integ.ini cancellation_during_prepare_dialog_Coordinator sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini cancellation_during_prepare_dialog_ClientA sl@0: RUN_TEST_STEP 100 TUPSInteg_minor CancelPrompt z:\tups\integ\scripts\tups_integ.ini cancellation_during_prepare_dialog_ClientB_cancel sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini cancellation_during_prepare_dialog_ClientC sl@0: CONSECUTIVE sl@0: sl@0: // Database Management Checks sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini cancellation_during_prepare_dialog_dbManagementCheck sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini count_2 sl@0: sl@0: END_TESTCASE SEC-UPS-INTEG-C010 sl@0: sl@0: sl@0: //********************** SEC-UPS-D : DECISION DATABASE SPECIFIC TESTS ********************** sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-D003 sl@0: //! @SYMTestCaseDesc Deletion of decision DB after DB corruption sl@0: //! (BD_corruption) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ0 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • For each of the services there is an appropriate policy, policy evaluator and sl@0: //! dialog creator that matches the UID of the service offered by the “system server”. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch 2 “test client” in turns (A & B) these Clients try to use of a system server. sl@0: //! • System server asks for a user prompt to the UPS for each of the Clients. sl@0: //! • For the first 2 test clients (A & B) select “Always” option. sl@0: //! • Check that “test client” A & B can now use the intended service from the system server. sl@0: //! • Close client, system servers and UPS sl@0: //! • Change some bytes in decision DB file that will be interpreted as DB corruption. sl@0: //! • Launch again test clients A & B, as the decision DB is expected to have been deleted, sl@0: //! it is expected that 2 user prompts will be displayed again for A & B. sl@0: //! • Select “Never” for A and “always” for B. sl@0: //! • Check that A can access intended service and B can NOT. sl@0: //! @SYMTestExpectedResults • The decision DB is deleted after corruption and replaced with new one. sl@0: //! • A new DB is created with “”Never” decision for client A and “Always” decision for client B. sl@0: //! • Corruption of decision DB does not cause failure in UPS. sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-D003 sl@0: // First attempt of corruption sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini BD_corruption_adddecisions sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini BD_corruption_checkdecisions sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: // replaces database with corrupted database sl@0: RUN_UTILS CopyFile z:\tups\integ\corrupted_db_integ\ups_corrupted1.db c:\private\10283558\database\ups.db sl@0: RUN_UTILS MakeReadWrite c:\private\10283558\database\ups.db sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini BD_corruption_adddecisions sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini BD_corruption_checkdecisions sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: sl@0: // second attempt of corruption sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini BD_corruption_adddecisions sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini BD_corruption_checkdecisions sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: // replaces database with corrupted database sl@0: RUN_UTILS CopyFile z:\tups\integ\corrupted_db_integ\ups_corrupted2.db c:\private\10283558\database\ups.db sl@0: // The database file is deliberately left as read only (DEF122590). sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini BD_corruption_adddecisions sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini BD_corruption_checkdecisions sl@0: END_TESTCASE SEC-UPS-INTEG-D003 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-D004 sl@0: //! @SYMTestCaseDesc Removal of single decision from DB by user operation. sl@0: //! (remove_single_db_decision) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7379 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • For each of the services There is an appropriate policy, policy evaluator and dialog creator that matches the UID //! of the service offered by the “system server”. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Populate decision DB for 3 test clients (A, B, C) with “Never” decisions for 3 Clients. sl@0: //! • Remove individual decision for Client B from DB using decision DB management API. sl@0: //! • Launch test clients (A, B, C) which should try to use service from system server. sl@0: //! • System server requests UPS for security for user security prompting, at this point UPS should give silent denial //! for Client A & C, but should prompt user security dialog for Client B. sl@0: //! • Select “Always” for test client B when security dialog is displayed. sl@0: //! • Check that Client B can now use the intended service. sl@0: //! sl@0: //! @SYMTestExpectedResults • Only decision for test client B changes; final state of decision DB should show decisions for A & C as sl@0: //! “never”, decision for C as “Always”. sl@0: //! • Test client B is granted access to intended service. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: sl@0: START_TESTCASE SEC-UPS-D004 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // * STAGE 1 - CONSECUTIVE REMOVAL OF DECISIONS FROM DATABASE sl@0: sl@0: // Populate decisions in the database and close off sessions sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_setup_clientA sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_setup_clientB sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_setup_clientC sl@0: sl@0: // Initial check on the decisions for denial from UPS sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_initialCheck_clientA sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_initialCheck_clientB sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_initialCheck_clientC sl@0: sl@0: // Initial Database Management Record Check and Count sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_initialDBCheck sl@0: sl@0: // Remove database decisions for client B using the UPS DB Management API sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_removeDecision_clientB sl@0: sl@0: // UPS DB Management checking on records and Execute Decision Count sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_postClientRemovalDBCheck sl@0: sl@0: // Remove database decisions for Policy Evaluator 2 using the UPS DB Management API sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_removeDecision_evaluator2 sl@0: sl@0: // UPS DB Management checking on records and Execute Decision Count sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_postEvaluatorRemovalDBCheck sl@0: sl@0: // Relaunch clients checking that clients A & C requesting PE 1 or 3 return denials and others require a User Prompt of which sl@0: // Always is selected sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_checkAndRepopulate_clientA sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_checkAndRepopulate_clientB sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_checkAndRepopulate_clientC sl@0: sl@0: // Final check on the decisions from UPS sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_finalCheck_clientA sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_finalCheck_clientB sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_finalCheck_clientC sl@0: sl@0: // Final Stage of UPS DB Management checking on records and Execute Decision Count sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini remove_single_db_decision_finalDBCheck sl@0: sl@0: sl@0: // * STAGE 2 - CONCURRENT OPERATIONS ON UPS WHILST REMOVING DECISIONS FROM DATABASE sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // populate decision database with sample inital values. sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini populate_sample sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini populate_sample2 sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini populate_sample2 sl@0: sl@0: // Perform initial checking on sample decisions sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini check_sample sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini check_sample2 sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini check_sample2 sl@0: sl@0: // Concurrently check the decisions of clients B & C whilst remove select decisions from the Database for Client A sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini remove_decisions_concurrent_clientA sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini check_sample2 sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini check_sample2 sl@0: CONSECUTIVE sl@0: sl@0: // UPS DB Management checking on records and Execute Decision Count sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini remove_decisions_concurrent_dbCheck sl@0: sl@0: END_TESTCASE SEC-UPS-D004 sl@0: sl@0: sl@0: //********************** SEC-UPS-E : SECURITY POLICIES AND POLICY EVALUATOR PLUG-INS ********************** sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-E001 sl@0: //! @SYMTestCaseDesc To ensure that when a single bit is set in the “options” no security sl@0: //! dialog will be prompted to user. sl@0: //! (single_bit_set) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7391, REQ7392, REQ7433 sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Test A: Set only ‘EYes’ bit to true in test policy for“test client”. sl@0: //! Induce UPS invocation by using a “test client” sl@0: //! Check if test client can access intended service. sl@0: //! Test B: Set only ‘ENo’ bit to true in test policy for“test client”. sl@0: //! Induce UPS invocation by using a “test client” sl@0: //! Check if test client can access intended service. sl@0: //! Test C: Set only ‘ESession’ bit to true in test policy for“test client”. sl@0: //! Induce UPS invocation by using a “test client” sl@0: //! Check if test client can access intended service. sl@0: //! Test D: Set only ‘EAlways’ bit to true in test policy for“test client”. sl@0: //! Induce UPS invocation by using a “test client” sl@0: //! Check if test client can access intended service. sl@0: //! Test E: Set only ‘ENever’ bit to true in test policy for“test client”. sl@0: //! Induce UPS invocation by using a “test client” sl@0: //! Check if test client can access intended service. sl@0: //! sl@0: //! @SYMTestExpectedResults Only for tests A, C & D the test service will be able to access sl@0: //! intended service. sl@0: //! For all of the tests (A to E), no decision is stored in decision DB. sl@0: //! No security dialog is displayed (all decisions are silent). sl@0: //! sl@0: //! @SYMTestType CIT sl@0: // sl@0: START_TESTCASE SEC-UPS-INTEG-E001 sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini single_bit_set sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini single_bit_set_b sl@0: END_TESTCASE SEC-UPS-INTEG-E001 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-E002 sl@0: //! @SYMTestCaseDesc To ensure that a default policy evaluator will be invoked if a service sl@0: //! requested do not match any existing policy in the phone sl@0: //! (no_matching_policy) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ0 sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: There is not matching policy for the test client to sl@0: //! be used for this test case. sl@0: //! Test Actions: sl@0: //! - Launch test client which tries to access test service, system server sl@0: //! should invoke UPS. sl@0: //! - A “Yes” or “No” dialog should be displayed select “YES sl@0: //! Check that access is granted to test service. sl@0: //! - Launch again same test client, a “Yes” or “Not” dialog should be displayed sl@0: //! select “No”. sl@0: //! - Check that access is NOT granted to test service. sl@0: //! - Launch again same test client, a “Yes” or “Not” dialog should be displayed sl@0: //! select “Yes”. sl@0: //! - Check that access is granted to test service. sl@0: //! sl@0: //! @SYMTestExpectedResults Yes” or “No” dialog is displayed every time that test client sl@0: //! request service access. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: // sl@0: START_TESTCASE SEC-UPS-INTEG-E002 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep Z:\tups\integ\scripts\tups_integ.ini no_matching_policy sl@0: END_TESTCASE SEC-UPS-INTEG-E002 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-E004 sl@0: //! @SYMTestCaseDesc To ensure that UPS will return an appropriate error if the policy sl@0: //! evaluator set in the “policy evaluator” field is not present in the phone sl@0: //! (missing_policy_evaluator) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7444 sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions there is an appropriate policy, policy evaluator sl@0: //! and dialog creator that matches the UID of the service offered by the sl@0: //! “system server”. However the policy evaluator referred in the “policy sl@0: //! evaluator UID field” is not present in the phone. sl@0: //! Actions: Launch test client which tries to use test service, system server should invoke UPS. sl@0: //! UPS should return KErrUpsMissingPolicyEvaluator to system server. sl@0: //! sl@0: //! @SYMTestExpectedResults System server receives KErrUpsMissingPolicyEvaluator sl@0: //! and test client can not use intended service sl@0: //! sl@0: //! @SYMTestType CIT sl@0: // sl@0: START_TESTCASE SEC-UPS-INTEG-E004 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini missing_policy_evaluator sl@0: END_TESTCASE SEC-UPS-INTEG-E004 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-E006 sl@0: //! @SYMTestCaseDesc To ensure that UPS will return appropriate error if dialog creator referred sl@0: //! by “Dialog creator UID” field in policy is not present in phone sl@0: //! (missing_dialog_creator) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7444 sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions preconditions There is an appropriate policy, policy evaluator that matches sl@0: //! the UID of the service offered by the “system server”. However the dialog sl@0: //! creator referred in the “Dialog creator UID field” is not present in the phone. sl@0: //! Launch test client which tries to access test service, system server should sl@0: //! invoke UPS. Launch test client which tries to use test service, system server sl@0: //! should invoke UPS. sl@0: //! sl@0: //! @SYMTestExpectedResults System server receives KErrUpsMissingDialogCreator sl@0: //! and test client can not use intended service sl@0: //! sl@0: //! @SYMTestType CIT sl@0: // sl@0: START_TESTCASE SEC-UPS-INTEG-E006 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini missing_dialog_creator sl@0: END_TESTCASE SEC-UPS-INTEG-E006 sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-E007 sl@0: //! @SYMTestCaseDesc Matching destination by wild card, asterisk symbols – limited range. sl@0: //! (asterisk_limited) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ0 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy, policy evaluator and dialog creator sl@0: //! that matches the UID of the service offered by the “system server”. sl@0: //! The value for “destination” in policy file contains asterisk. sl@0: //! Test Actions: sl@0: //! • Launch test client A which tries to access test service. The service sl@0: //! requested by this Client is a phone connection to a 0900 number. sl@0: //! (The policy associated to this service states that all 0900* should be sl@0: //! prompted for user decision) sl@0: //! • System server asks for a user prompt to the UPS. sl@0: //! • When UPS prompts user, select the “Always” option. Check that Client sl@0: //! A can access intended service. sl@0: //! • Launch Client A in a new session, check that Client A receives a silent sl@0: //! acceptance and can access the intended service. sl@0: //! • Launch test client B which tries to access test service. The service sl@0: //! requested by this Client is an internet connection to a “.RU” address. sl@0: //! (The policy associated to this service states that all “.RU” addresses sl@0: //! should be blocked). sl@0: //! • System server asks for a user prompt to the UPS. sl@0: //! • UPS should reply with a silent denial. Check that Client B can not sl@0: //! access intended service. sl@0: //! sl@0: //! @SYMTestExpectedResults • An “Always” decision is stored in decision DB for Client A. sl@0: //! • Client A can access intended service. sl@0: //! • No decision is stored for Client B in decision DB. sl@0: //! • Client B can NOT access intended service. sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-E007 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini asterisk_limited sl@0: END_TESTCASE SEC-UPS-INTEG-E007 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-E008 sl@0: //! @SYMTestCaseDesc Matching destination by wild card, asterisk symbols – All option. sl@0: //! (asterisk_all) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ0 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy, policy evaluator and dialog creator sl@0: //! that matches the UID of the service offered by the “system server”. sl@0: //! The value for “destination” in policy file contains asterisk. sl@0: //! Test Actions: sl@0: //! • Launch test client A with which tries to access test service. sl@0: //! The service requested by this Client is a phone connection to a 0500 number. sl@0: //! (The policy associated to this service states that all destinations should be prompted sl@0: //! for user decision, “*” in destination) sl@0: //! • System server asks for a user prompt to the UPS. sl@0: //! • When UPS prompts user, select the “Always” option. Check that Client A can sl@0: //! access intended service. sl@0: //! • Launch Client A in a new session, check that Client A receives a silent acceptance sl@0: //! and can access the intended service. sl@0: //! • Launch test client B which tries to access test service. The service requested by this sl@0: //! Client is an internet connection to a “.RU” address. (The policy associated to this service sl@0: //! states that all “.RU” addresses should be blocked). sl@0: //! • System server asks for a user prompt to the UPS. sl@0: //! • UPS should reply with a silent denial. Check that Client B can not access intended service. sl@0: //! sl@0: //! sl@0: //! @SYMTestExpectedResults • An “Always” decision is stored in decision DB for Client A. sl@0: //! • Client A can access intended service. sl@0: //! • No decision is stored for Client B in decision DB. sl@0: //! • Client B can NOT access intended service. sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-E008 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini asterisk_all sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini asterisk_all_b sl@0: END_TESTCASE SEC-UPS-INTEG-E008 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-E009 sl@0: //! @SYMTestCaseDesc Matching destination by wild card, question mark symbols. sl@0: //! (question_mark_card) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ0 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy, policy evaluator and dialog creator that sl@0: //! matches the UID of the service offered by the “system server”. The value sl@0: //! for “destination” in policy file contains question mark symbols. sl@0: //! Test Actions: sl@0: //! • Launch test client A which tries to access test service. The service requested sl@0: //! by this Client is a phone connection to a 0900 number. (The policy associated to sl@0: //! this service states that all 0?00 should be prompted for user decision) sl@0: //! • System server asks for a user prompt to the UPS. sl@0: //! • When UPS prompts user, select the “Always” option. Check that Client A can access sl@0: //! intended service. sl@0: //! • Launch Client A in a new session, check that Client A receives a silent acceptance sl@0: //! and can access the intended service. sl@0: //! • Launch test client B which tries to access test service. The service requested by sl@0: //! this Client is an phone call to 118 500. (The policy associated to this service states sl@0: //! that all 118??? Phone numbers should be blocked). sl@0: //! • System server asks for a user prompt to the UPS. sl@0: //! • UPS should reply with a silent denial. Check that Client B can not access intended sl@0: //! service. sl@0: //! sl@0: //! sl@0: //! @SYMTestExpectedResults • An “Always” decision is stored in decision DB for Client A. sl@0: //! • Client A can access intended service. sl@0: //! • No decision is stored for Client B in decision DB. sl@0: //! • Client B can NOT access intended service. sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-E009 sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini question_mark_card sl@0: END_TESTCASE SEC-UPS-INTEG-E009 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-INTEG-UPS-E024 sl@0: //! @SYMTestCaseDesc Security Policy Authorisation - EAlwaysCheck sl@0: //! (alwayscheck_authoristion) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7389 sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions sl@0: //! Preconditions: sl@0: //! • Policy file related to test service to be used has property “authorisationPolicy” set sl@0: //! to “EAlwaysCheck”. sl@0: //! Test Actions: sl@0: //! • Request use of the service that matches policy file mentioned in “preconditions”. sl@0: //! Test system server should invoke UPS. sl@0: //! • Use different values for “aServerCheckOk” parameter in “Authorise” methods (ETrue sl@0: //! and EFalse) sl@0: //! • Check that UPS invokes correct policy evaluator and dialog creator as set in policy sl@0: //! file. sl@0: //! sl@0: //! @SYMTestExpectedResults sl@0: //! • All new requests made to UPS for test service will cause a user prompt from UPS. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-INTEG-UPS-E024 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini alwayscheck_platsec_true sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini alwayscheck_platsec_false sl@0: END_TESTCASE SEC-INTEG-UPS-E024 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-INTEG-UPS-E025 sl@0: //! @SYMTestCaseDesc Security Policy Authorisation - ECheckPostManufacture sl@0: //! (checkpostmanufacture_authoristion) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7389 sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • Policy file related to test service to be used has property “authorisationPolicy” sl@0: //! set to “ECheckPostManufacture”. sl@0: //! Test Actions: sl@0: //! • Request use of the service that matches policy file mentioned in “preconditions”. sl@0: //! Test system server should invoke UPS. sl@0: //! • Use different values for “aServerCheckOk” parameter in “Authorise” methods (ETrue sl@0: //! and EFalse). sl@0: //! • Use different types of applications to request the same service including: applications sl@0: //! with protected SID on Z drive, unprotected SID on Z drive, protected SID on C drive and sl@0: //! unprotected SID on C drive. sl@0: //! sl@0: //! @SYMTestExpectedResults Only requests made from applications with protected SID running from Z drive having sl@0: //! passed system server checks should receive immediate access approval, any other type sl@0: //! should cause a security user prompt. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-INTEG-UPS-E025 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // CLIENT WITH PROTECTED SID ON Z sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkpostmanufacture_platsec_true_zdrive_protect sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkpostmanufacture_platsec_false_zdrive_protect sl@0: sl@0: sl@0: // CLIENT WITH UNPROTECTED SID ON Z sl@0: RUN_TEST_STEP 100 TUPSInteg_unprotected UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkpostmanufacture_platsec_true_zdrive_unprotect sl@0: RUN_TEST_STEP 100 TUPSInteg_unprotected UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkpostmanufacture_platsec_false_zdrive_unprotect sl@0: sl@0: sl@0: // CLIENT WITH PROTECTED SID ON C sl@0: RUN_TEST_STEP 100 TUPSInteg_4 UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkpostmanufacture_platsec_true_cdrive_protect sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_4 UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkpostmanufacture_platsec_false_cdrive_protect sl@0: sl@0: sl@0: // CLIENT WITH UNPROTECTED SID ON C sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkpostmanufacture_platsec_true_cdrive_unprotect sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkpostmanufacture_platsec_false_cdrive_unprotect sl@0: sl@0: END_TESTCASE SEC-INTEG-UPS-E025 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-INTEG-UPS-E026 sl@0: //! @SYMTestCaseDesc Security Policy Authorisation - ECheckUnprotectedSids sl@0: //! (checkunprotectedsids_authoristion) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7389 sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions sl@0: //! Preconditions: sl@0: //! • Policy file related to test service to be used has property “authorisationPolicy” sl@0: //! set to “ECheckUnprotectedSids”. sl@0: //! Test Actions: sl@0: //! • Request use of the service that matches policy file mentioned in “preconditions”. sl@0: //! Test system server should invoke UPS. sl@0: //! • Use different values for “aServerCheckOk” parameter in “Authorise” methods (ETrue sl@0: //! and EFalse). sl@0: //! • Use different types of applications to request the same service including: sl@0: //! applications with protected SID on Z drive, unprotected SID on Z drive, protected sl@0: //! SID on C drive and unprotected SID on C drive. sl@0: //! sl@0: //! @SYMTestExpectedResults sl@0: //! • Any request for tests services made from clients with protected SID should receive sl@0: //! immediate silent approval from UPS. sl@0: //! • Request for tests services made from clients with unprotected SID should cause user sl@0: //! security dialog from UPS. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-INTEG-UPS-E026 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // CLIENT WITH PROTECTED SID ON Z sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkunprotectedsids_platsec_true_zdrive_protect sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkunprotectedsids_platsec_false_zdrive_protect sl@0: sl@0: // CLIENT WITH UNPROTECTED SID ON Z sl@0: RUN_TEST_STEP 100 TUPSInteg_unprotected UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkunprotectedsids_platsec_true_zdrive_unprotect sl@0: RUN_TEST_STEP 100 TUPSInteg_unprotected UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkunprotectedsids_platsec_false_zdrive_unprotect sl@0: sl@0: // CLIENT WITH PROTECTED SID ON C sl@0: RUN_TEST_STEP 100 TUPSInteg_4 UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkunprotectedsids_platsec_true_cdrive_protect sl@0: RUN_TEST_STEP 100 TUPSInteg_4 UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkunprotectedsids_platsec_false_cdrive_protect sl@0: sl@0: // CLIENT WITH UNPROTECTED SID ON C sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkunprotectedsids_platsec_true_cdrive_unprotect sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkunprotectedsids_platsec_false_cdrive_unprotect sl@0: sl@0: END_TESTCASE SEC-INTEG-UPS-E026 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-INTEG-UPS-E027 sl@0: //! @SYMTestCaseDesc Security Policy Authorisation - ECheckIfFailed sl@0: //! (checkiffailed_authoristion) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7389 sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions sl@0: //! Preconditions: sl@0: //! • Policy file related to test service to be used has property sl@0: //! “authorisationPolicy” set to “ECheckIfFailed”. sl@0: //! Test Actions: sl@0: //! • Request use of the service that matches policy file mentioned in sl@0: //! “preconditions”. Test system server should invoke UPS. sl@0: //! • Use different values for “aServerCheckOk” parameter in “Authorise” sl@0: //! request (ETrue and EFalse). sl@0: //! @SYMTestExpectedResults sl@0: //! • Only requests made with “aServerCheckOk” parameter set to Efalse should cause sl@0: //! UPS to display user security dialog, otherwise UPS should return silent approval. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-INTEG-UPS-E027 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkiffailed_platsec_true sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini checkiffailed_platsec_false sl@0: END_TESTCASE SEC-INTEG-UPS-E027 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-INTEG-UPS-E028 sl@0: //! @SYMTestCaseDesc Security Policy Authorisation - ENeverCheck sl@0: //! (nevercheck_authoristion) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7389 sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions sl@0: //! Preconditions: sl@0: //! • Policy file related to test service to be used has property “authorisationPolicy” set sl@0: //! to “ENeverCheck”. sl@0: //! Test Actions: sl@0: //! • Request use of the service that matches policy file mentioned in “preconditions”. Test sl@0: //! system server should invoke UPS. sl@0: //! • Use different values for “aServerCheckOk” parameter in “Authorise” request (ETrue and sl@0: //! EFalse). sl@0: //! sl@0: //! @SYMTestExpectedResults sl@0: //! • UPS shouldn’t display any security dialog, UPS should return silent acceptance server sl@0: //! checks passed, UPS should return silent denial server checks failed. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-INTEG-UPS-E028 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini nevercheck_platsec_true sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini nevercheck_platsec_false sl@0: END_TESTCASE SEC-INTEG-UPS-E028 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-INTEG-UPS-E029 sl@0: //! @SYMTestCaseDesc System server with no policy files sl@0: //! (no_policy_files_server) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7427 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is NO policy file at all related to the system server been used for test purpose sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch “test clients” which tries to use of system servers. System server should request UPS for sl@0: //! user security dialog. Set plat sec check to ETrue in request to UPS. sl@0: //! • Launch “test clients” which tries to use of system servers. System server should request UPS for sl@0: //! user security dialog. Set plat sec check to EFalse in request to UPS. sl@0: //! sl@0: //! @SYMTestExpectedResults • System server shuold receive a EDecisionYes for first request sl@0: //! • System server shuold receive a EDecisionNo for second request sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-INTEG-UPS-E029 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini no_policy_files_server sl@0: END_TESTCASE SEC-INTEG-UPS-E029 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-INTEG-UPS-E030 sl@0: //! @SYMTestCaseDesc Option session returned for always decision stored. sl@0: //! (session_overwrites_always) sl@0: //! sl@0: //! sl@0: //! @SYMTestPurpose To check that if a policy includes the “session” option for an “always” decision already stored, sl@0: //! then UPS will reply with “ESession” every time this decision is queried sl@0: //! sl@0: //! @SYMPREQ sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • The UPS policy stated for the test service to be used allows at least the options “ESession” sl@0: //! and “EAlways” sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch “test client” which tries to connect to a system server and use service. sl@0: //! • System server asks for a user prompt to the UPS. sl@0: //! • When UPS prompts user, select the “Always” option. sl@0: //! • Check that UPS returned “ESession” to system server. sl@0: //! • In a new session request the same service and destination, check that UPS returns an “ESession” sl@0: //! silent reply to system server. Check that the correct policy evaluator was invoked but no dialog sl@0: //! creator was invoked. sl@0: //! sl@0: //! sl@0: //! @SYMTestExpectedResults • UPS returns “ESession” even if an “Always” decision was selected by the use. sl@0: //! • A new “Always” decision was added to decision DB. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-INTEG-UPS-E030 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini session_overwrites_always sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini session_overwrites_always_b sl@0: END_TESTCASE SEC-INTEG-UPS-E030 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-E031 sl@0: //! @SYMTestCaseDesc To check that UPS can handle client entities of a max length of 32 bytes sl@0: //! (client_entity) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7374 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • Policy evaluator used for test can populate “CClientEntity” object at will. sl@0: //! • Appropriate policy file, policy evaluator and dialog creator are present in phone for test service sl@0: //! to be requested sl@0: //! sl@0: //! Test Actions: sl@0: //! • Make request to ups for security user prompt for some arbitrary destinations. For these destination sl@0: //! instruct policy evaluator to create different CClientEntity lengths including: sl@0: //! - 0 bytes. sl@0: //! - 1 bytes. sl@0: //! - 32 bytes. sl@0: //! - 33 bytes. sl@0: //! sl@0: //! • For the previous requests select “Always” or “Never” when security dialog is displayed. sl@0: //! sl@0: //! @SYMTestExpectedResults • For client entities of length 0, 1 or 32 bytes a corresponding decision is expected to be sl@0: //! created in decision database. The client entity value is reported correctly in DB. sl@0: //! sl@0: //! • For CClientEntity of 33 bytes length, the constructor is expected to return sl@0: //! KErrUpsBadClientEntityLength and no decision is created in database. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-E031 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini client_Entity sl@0: sl@0: END_TESTCASE SEC-UPS-E031 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-E032 sl@0: //! @SYMTestCaseDesc Force prompt – decision removed sl@0: //! (force_prompt_decision_removed) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ0 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy file for the test service to be use. sl@0: //! • Policy evaluator has the ability to force prompt at run time. Policy evaluator increases by sl@0: //! one the value of “evaluator info” every time that a security dialog is prompted for a particular sl@0: //! decision in the DB. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Part 1: Test client A has two pre-stored decision as “Always”. sl@0: //! • Instruct client A to request access to test service that matches its pre-stored decisions, sl@0: //! instruct policy evaluator to force prompt new security dialog for these decisions. sl@0: //! • When new security dialogs appear select “yes” for one of the pre-stored decisions and select sl@0: //! “no” for the other decision”. sl@0: //! • Check that both pre-stored decision for client A were removed from DB. sl@0: //! sl@0: //! • Part 2: Test client B has two pre-stored decision as “Never”. sl@0: //! • Instruct client B to request access to test service that matches its pre-stored decisions, sl@0: //! instruct policy evaluator to force prompt new security dialog for these decisions. sl@0: //! • When new security dialogs appear select “yes” for one of the pre-stored decisions and select sl@0: //! “no” for the other decision”. sl@0: //! • Check that both pre-stored decision for client B were removed from DB. sl@0: //! sl@0: //! @SYMTestExpectedResults • Decisions in database where updated correctly in DB. sl@0: //! • “client info” field was increased by two at the end of test. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: sl@0: START_TESTCASE SEC-UPS-E032 sl@0: sl@0: //* PART 1 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // Client A setup of pre-stored decisions sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_decision_removed_clientA_setup sl@0: sl@0: // Initial check to ensure that DB decision acceptance is issued by UPS sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_decision_removed_clientA_initialCheck sl@0: sl@0: // Check decision database state before force prompting sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini force_prompt_decision_removed_clientA_intitalDbCheck sl@0: sl@0: // Force the dialog prompt on the Decisions stored about Client A in the Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_decision_removed_clientA_forcePrompt sl@0: sl@0: // Check that decisions have been removed and that new options can be chosen sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_decision_removed_clientA_noDecisionCheck sl@0: sl@0: // Check for No Decisions using Database Management Step sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini force_prompt_decision_removed_clientA_dbManagementCheck sl@0: sl@0: sl@0: // * PART 2 sl@0: sl@0: // Client B setup of pre-stored decisions sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_decision_removed_clientB_setup sl@0: sl@0: // Initial check to ensure that DB decision denial is issued by UPS sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_decision_removed_clientB_initialCheck sl@0: sl@0: // Check decision database state before force prompting sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini force_prompt_decision_removed_clientB_intitalDbCheck sl@0: sl@0: // Force the dialog prompt on the Decisions stored about Client B in the Database sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_decision_removed_clientB_forcePrompt sl@0: sl@0: // Check that decisions have been removed and that new options can be chosen sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_decision_removed_clientB_noDecisionCheck sl@0: sl@0: // Check for No Decisions using Database Management Step sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini force_prompt_decision_removed_clientB_dbManagementCheck sl@0: sl@0: END_TESTCASE SEC-UPS-E032 sl@0: sl@0: sl@0: //************************************************************************************************************** sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-E033 sl@0: //! @SYMTestCaseDesc Force prompt – multiple fingerprints- record overwritten sl@0: //! (force_prompt_multifingerprint_overwriterecord) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7409 REQ7403 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy file for the test service to be use. sl@0: //! • Policy evaluator has the ability to force prompt at run time. Policy evaluator increases by one sl@0: //! the value of “evaluator info” every time that a security dialog is prompted for a particular sl@0: //! decision in the DB. sl@0: //! • Policy evaluator generates 3 fingerprints FP1, FP2 & FP3 which are checked by UPS in decision DB sl@0: //! in that order (FP1 would be the first match if all 3 fingerprints exist in decision DB. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Part 1: Test client A has 3 pre-stored decision as “Always” matching FP1, FP2 & FP3. sl@0: //! • Instruct client A to request access to test service that matches FP1. Test system server should sl@0: //! invoke UPS for decision check. When policy evaluator is invoked instruct this one to generate FP1, sl@0: //! FP2 & FP3. sl@0: //! • At dialog display stage select “never” for fingerprint FP3. sl@0: //! • Check that finger print FP1 was removed from DB, FP2 remain unchanged, FP3 was replaced with a sl@0: //! Never Decision sl@0: //! • “Evaluator info is increased by 1. sl@0: //! sl@0: //! • Part 2: Reset test so it remains in original conditions (3 “always” decisions for FP1, FP2 & FP3 sl@0: //! in decision DB). sl@0: //! • Instruct client A to request access to test service that matches FP1. Test system server should sl@0: //! invoke UPS for decision check. When policy evaluator is invoked instruct this one to generate FP1, sl@0: //! FP2 &FP3. sl@0: //! • At dialog display stage select “always” for fingerprint FP3. sl@0: //! • Check that finger print FP1 was removed from DB, FP2 & FP3 remain unchanged. sl@0: //! • “Evaluator info is increased by 1. sl@0: //! sl@0: //! @SYMTestExpectedResults • First matching fingerprint FP1 is deleted from DB as this one is not selected by user in sl@0: //! dialog creator stage. sl@0: //! • FP3 is replaced with a “never” decision in case 1 but remains unchanged for case 2 sl@0: //! (“always” decision) sl@0: //! • Evaluator info is increased by one in both cases. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: sl@0: START_TESTCASE SEC-UPS-E033 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: //* PART 1 sl@0: sl@0: // Client setup of pre-stored 'ALWAYS' decisions using the 3 different fingerprints sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_overwriterecord_setup sl@0: sl@0: // Initial check to ensure that DB decisions stored for the 3 fingerprints return the expected result sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_overwriterecord_initialCheck sl@0: sl@0: // Check decision database state before force prompting sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_overwriterecord_initialDbCheck sl@0: sl@0: // Force the dialog prompt on decision FingerPrint 1, and 'NEVER' decision selected for FingerPrint 3 chosen at Dialog sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_overwriterecord_forcePrompt_part1 sl@0: sl@0: // Check that decisions within DB have been altered/removed/added as necessary using Database Management Step sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_overwriterecord_dbManagementCheck_part1 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: sl@0: //* PART 2 sl@0: sl@0: // Client setup of pre-stored 'ALWAYS' decisions using the 3 different fingerprints sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_overwriterecord_setup sl@0: sl@0: // Initial check to ensure that DB decisions stored for the 3 fingerprints return the expected result sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_overwriterecord_initialCheck sl@0: sl@0: // Check decision database state before force prompting sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_overwriterecord_initialDbCheck sl@0: sl@0: // Force the dialog prompt on decision FingerPrint 1, and 'ALWAYS' decision selected for FingerPrint 3 chosen at Dialog sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_overwriterecord_forcePrompt_part2 sl@0: sl@0: // Check that decisions within DB have been altered/removed/added as necessary using the Database Management Step sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_overwriterecord_dbManagementCheck_part2 sl@0: sl@0: END_TESTCASE SEC-UPS-E033 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-E034 sl@0: //! @SYMTestCaseDesc Force prompt – multiple fingerprints - new record sl@0: //! (force_prompt_multifingerprint_newrecord) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7409 REQ7403 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy file for the test service to be use. sl@0: //! • Policy evaluator has the ability to force prompt at run time. Policy evaluator increases by one sl@0: //! the value of “evaluator info” every time that a security dialog is prompted for a particular sl@0: //! decision in the DB. sl@0: //! • Policy evaluator generates 3 fingerprints FP1, FP2 & FP3 which are checked by UPS in decision DB sl@0: //! in that order (FP1 would be the first match if all 3 fingerprints exist in decision DB. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Part 1: Test client A has 2 pre-stored decision as “Always” matching FP1 & FP2. sl@0: //! • Instruct client A to request access to test service that matches FP1. Test system server should sl@0: //! invoke UPS for decision check. When policy evaluator is invoked instruct this one to generate FP1, sl@0: //! FP2 &FP3. sl@0: //! • At dialog display stage select “never” for fingerprint FP3. sl@0: //! • Check that finger print FP1 was removed from DB, FP2 remain unchanged, new FP3 is created in sl@0: //! decision DB (with never decision). sl@0: //! • “Evaluator info is increased by 1. sl@0: //! sl@0: //! • Part 2: Reset test so it remains in original conditions (2 “always” decisions for FP1& FP2). sl@0: //! • Instruct client A to request access to test service that matches FP1. Test system server should sl@0: //! invoke UPS for decision check. When policy evaluator is invoked instruct this one to generate FP1, sl@0: //! FP2 &FP3. sl@0: //! • At dialog display stage select “always” for fingerprint FP3. sl@0: //! • Check that finger print FP1 was removed from DB, FP2 remain unchanged, new FP3 is created in sl@0: //! decision DB (with always decision). sl@0: //! • “Evaluator info is increased by 1. sl@0: //! sl@0: //! @SYMTestExpectedResults • In both cases decision related to FP1 are removed from DB. sl@0: //! • FP3 is created with a “never” decision in case 1 and with an “always” in cases 2. sl@0: //! • Evaluator info is increased by one in both cases. sl@0: //! sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: sl@0: START_TESTCASE SEC-UPS-E034 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: //* PART 1 sl@0: sl@0: // Client setup of pre-stored 'ALWAYS' decisions using 2 of the 3 fingerprints sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_newrecord_setup sl@0: sl@0: // Initial check to ensure that DB decisions stored for the 2 fingerprints return the expected result sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_newrecord_initialCheck sl@0: sl@0: // Check decision database state before force prompting sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_newrecord_intitalDbCheck sl@0: sl@0: // Force the dialog prompt on decision FingerPrint 1, and 'NEVER' decision selected for FingerPrint 3 chosen at Dialog sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_newrecord_forcePrompt_part1 sl@0: sl@0: // Check that decisions within DB have been altered/removed/added as necessary using the Database Management Step sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_newrecord_dbManagementCheck_part1 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: sl@0: //* PART 2 sl@0: sl@0: // Client setup of pre-stored 'ALWAYS' decisions using 2 of the 3 fingerprints sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_newrecord_setup sl@0: sl@0: // Initial check to ensure that DB decisions stored for the 2 fingerprints return the expected result sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_newrecord_initialCheck sl@0: sl@0: // Check decision database state before force prompting sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_newrecord_intitalDbCheck sl@0: sl@0: // Force the dialog prompt on decision FingerPrint 1, and 'ALWAYS' decision selected for FingerPrint 3 chosen at Dialog sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_newrecord_forcePrompt_part2 sl@0: sl@0: // Check that decisions within DB have been altered/removed/added as necessary using the Database Management Step sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini force_prompt_multifingerprint_newrecord_dbManagementCheck_part2 sl@0: sl@0: sl@0: END_TESTCASE SEC-UPS-E034 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-E035 sl@0: //! @SYMTestCaseDesc Invocation of Default Symbian policy evaluator sl@0: //! (invoke_default_policy_evaluator) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions sl@0: //! sl@0: //! @SYMTestExpectedResults Preconditions: sl@0: //! • There is an appropriate policy file for the test service to be use, but in the header of sl@0: //! the policy file there is NO mention of policy evaluator. sl@0: //! • Note: It is expected that the Symbian policy evaluator will generate a NULL value sl@0: //! fingerprint. sl@0: //! • Dialog creator specified by policy evaluator is present. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Case 1: Request service to test system server, this one is expected to invoke UPS. sl@0: //! • Check that Symbian default policy evaluator was invoked. sl@0: //! • When security dialog is invoked select “Always”. sl@0: //! • Check that decision is stored correctly. sl@0: //! sl@0: //! • Case 2: Request service to test system server, this one is expected to invoke UPS. sl@0: //! • Check that Symbian default policy evaluator was invoked. sl@0: //! • When security dialog is invoked select “never”. sl@0: //! • Check that decision is stored correctly. sl@0: //! sl@0: //! • Extra Checking: Use dumpupsdb.exe tool to export and re-import UPS database, check sl@0: //! consistency of imported database. sl@0: //! sl@0: //! @SYMTestExpectedResults • Two new decisions where created: 1 “never” and 1 ”always” which are expected to have NULL sl@0: //! value fingerprints. sl@0: //! • Decision database with null value fingerprint can be exported and re-imported correctly. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-E035 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // Case 1: sl@0: sl@0: // Client call to UPS invoking the defualt policy evaluator and selecting 'ALWAYS' from the dialog sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini invoke_default_policy_evaluator_Always sl@0: sl@0: // Initial check to ensure that DB contains an ALWAYS decision for the client with a NULL fingerprint sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini invoke_default_policy_evaluator_Alaways_initalCheck sl@0: sl@0: // Database Management Checking to ensure that each value in the decision is what is expected sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini invoke_default_policy_evaluator_Alaways_dbManagementCheck sl@0: sl@0: sl@0: // Case 2: sl@0: sl@0: // Client call to UPS invoking the defualt policy evaluator and selecting 'NEVER' from the dialog sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini invoke_default_policy_evaluator_Never sl@0: sl@0: // Initial check to ensure that DB contains an additional NEVER decision for the client with a NULL fingerprint sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini invoke_default_policy_evaluator_Never_initalCheck sl@0: sl@0: // Database Management Checking to ensure that each value in the decision is what is expected sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini invoke_default_policy_evaluator_Never_dbManagementCheck sl@0: sl@0: sl@0: // Database Import/Export Checking: sl@0: sl@0: // Shutdown UPS Server sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: sl@0: // Dump contents of the database sl@0: RUN_PROGRAM dumpupsdb.exe -e -db \private\10283558\database\ups.db -f c:\exportdb.db -s sl@0: sl@0: // Delete Existing UPS Database sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // Reimport Database Contents sl@0: RUN_PROGRAM dumpupsdb.exe -i -db \private\10283558\database\ups.db -f c:\exportdb.db -s sl@0: sl@0: // Delete Temporary Export File sl@0: RUN_UTILS DeleteFile c:\exportdb.db sl@0: sl@0: // Re Check the NULL fingerprint Decisions Imported into the Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini invoke_default_policy_evaluator_Alaways_initalCheck sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini invoke_default_policy_evaluator_Never_initalCheck sl@0: sl@0: // Final Datbase Management Check to ensure that the values of the Decision are still as expected sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini invoke_default_policy_evaluator_Never_dbManagementCheck sl@0: sl@0: END_TESTCASE SEC-UPS-E035 sl@0: sl@0: //! @SYMTestCaseID SEC-INTEG-UPS-E036 sl@0: //! @SYMTestCaseDesc System Server Security sl@0: //! (System_Server_Security) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7408 sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions sl@0: //! Preconditions: sl@0: //! • There is an appropriate policy file in the phone that uses SystemServerSecurity sl@0: //! property set with different values for individual policies including sl@0: //! ESystemServerSecurityPassedOrFailed, ESystemServerSecurityFailed and sl@0: //! ESystemServerSecurityPassed. sl@0: //! Test Actions: sl@0: //! • Case 1: Request set services to a test system server to ensure that an individual sl@0: //! policy set with ESystemServerSecurityPassedOrFailed is invoked, use different sl@0: //! values for platSecPass parameter in authorize request. sl@0: //! • Case 2: : Request set services to a test system server to ensure that an sl@0: //! individual policy set with ESystemServerSecurityFailed is invoked, use values sl@0: //! for platSecPass parameter as EFalse in authorize request. sl@0: //! • Case 3: : Request set services to a test system server to ensure that an sl@0: //! individual policy set with ESystemServerSecurityPassed is invoked, use values for sl@0: //! platSecPass parameter as ETrue in authorize request. sl@0: //! sl@0: //! @SYMTestExpectedResults sl@0: //! • On each case the appropriate individual policy is invoked. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-INTEG-UPS-E036 sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // case 1 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini ESystemServerSecurityPassedOrFailed sl@0: // case 2 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini ESystemServerSecurityFailed sl@0: // case 3 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini ESystemServerSecurityPassed sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini count_8 sl@0: sl@0: END_TESTCASE SEC-INTEG-UPS-E036 sl@0: sl@0: sl@0: sl@0: //********************** SEC-UPS-G : NEGATIVE TEST CASES ********************** sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-G004 sl@0: //! @SYMTestCaseDesc Non ProtServ capability system server sl@0: //! (no_protser_cap) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7427 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy, policy evaluator and dialog creator that matches the UID of the sl@0: //! service offered by the “system server”. sl@0: //! • The system server request prompt to UPS does NOT have ProtServ capability. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch “test client” which tries to connect to a system server and use service. sl@0: //! • System server asks for a user prompt to the UPS (Authorise method). sl@0: //! • UPS should deny the request from system server. sl@0: //! sl@0: //! @SYMTestExpectedResults • System server receives a KErrPermissionDenied from Ups. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-G004 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 NonProtServAuthorisation z:\tups\integ\scripts\tups_integ.ini no_protser_cap sl@0: // test variation: server has no capabilities but plat sec test passed sl@0: // Note: nop decision is stored or dialog prompted. sl@0: RUN_TEST_STEP 100 TUPSInteg_1 NonProtServAuthorisation z:\tups\integ\scripts\tups_integ.ini no_protser_cap_b sl@0: END_TESTCASE SEC-UPS-INTEG-G004 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-G007 sl@0: //! @SYMTestCaseDesc Protected deletion and update of decisions. sl@0: //! (remove_update_capabilityChecking) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7381 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • Existence of test application 1 without AllFiles capabilities. sl@0: //! • Existence of test application 2 without WriteDeviceData capabilities. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Instruct test application 1 to attempt a record update in decision database using UpsManagement. sl@0: //! • Instruct test application 2 to attempt a record delete in decision database using UpsManagement. sl@0: //! sl@0: //! @SYMTestExpectedResults • Test application1 should not be able to update record. sl@0: //! • Test application2 should not be able to delete record. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: sl@0: START_TESTCASE SEC-UPS-G007 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // populate decision database with sample inital values. sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini populate_sample2 sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini populate_sample2 sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini populate_sample2 sl@0: sl@0: // Perform initial checking on sample decisions sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini check_sample2 sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini check_sample2 sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini check_sample2 sl@0: sl@0: // * STAGE 1 - UPDATE RECORD CAPABILITY TEST (AllFiles Required) sl@0: sl@0: // Perform attempt to update a decision "WITHOUT" the appropriate capabilities sl@0: RUN_TEST_STEP !Result=-46 100 TUPSInteg_writedevice UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini remove_update_capabilityChecking_Update sl@0: sl@0: // Run Database Management Checking for Unauthorised Update sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini remove_update_capabilityChecking_unauthorisedUpdate_DBCheck sl@0: sl@0: // Perform attempt to update a decision "WITH" the appropriate capabilities sl@0: RUN_TEST_STEP 100 TUPSInteg_allfiles_readdevice UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini remove_update_capabilityChecking_Update sl@0: sl@0: // Run Database Management Checking for authorised Update sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini remove_update_capabilityChecking_authorisedUpdate_DBCheck sl@0: sl@0: sl@0: // * STAGE 2 - REMOVE RECORD CAPABILITY TEST (WriteDeviceData Required) sl@0: sl@0: // Perform attempt to remove a decision "WITHOUT" the appropriate capabilities sl@0: RUN_TEST_STEP !Result=-46 100 TUPSInteg_allfiles_readdevice UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini remove_update_capabilityChecking_Remove sl@0: sl@0: // Run Database Management Checking for Unauthorised Remove sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini remove_update_capabilityChecking_unauthorisedRemove_DBCheck sl@0: sl@0: // Perform attempt to remove a decision "WITH" the appropriate capabilities sl@0: RUN_TEST_STEP 100 TUPSInteg_writedevice UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini remove_update_capabilityChecking_Remove sl@0: sl@0: // Run Database Management Checking for authorised Remove sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini remove_update_capabilityChecking_authorisedRemove_DBCheck sl@0: sl@0: END_TESTCASE SEC-UPS-G007 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-G008 sl@0: //! @SYMTestCaseDesc Policy Evaluator Leaving sl@0: //! (policy_evaluator_leave) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7427 sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy, policy evaluator and dialog creator that matches the UID of the sl@0: //! service offered by the “system server”. sl@0: //! • Test Client doesn’t have any decision stored in DB related to service about to be used by test sl@0: //! client. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch “test clients” which tries to use of system servers. System server should request UPS for sl@0: //! user security dialog. sl@0: //! • When UPS invokes policy evaluator, induce a “leave” in policy evaluator. sl@0: //! • UPS should process this leave from policy evaluator and reply with a silent denial to system sl@0: //! server. sl@0: //! sl@0: //! @SYMTestExpectedResults • System server receives a silent denial from UPS. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: //Delete Current Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-G008 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini policyevaluator_leave_session sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini policyevaluator_leave_always sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini policyevaluator_leave_never sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini policyevaluator_leave_yes sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini policyevaluator_leave_no sl@0: sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini policyevaluator_leaving_concurrent sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini policyevaluator_always_concurrent sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini policyevaluator_never_concurrent sl@0: CONSECUTIVE sl@0: sl@0: END_TESTCASE SEC-UPS-INTEG-G008 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-G009 sl@0: //! @SYMTestCaseDesc Dialog Creator Leaving sl@0: //! (dialog_creator_leave) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7427 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy, policy evaluator and dialog creator that matches the UID of the sl@0: //! service offered by the “system server”. sl@0: //! • Test Client doesn’t have any decision stored in DB related to service about to be used by test sl@0: //! client. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch “test clients” which tries to use of system servers. System server should request UPS for sl@0: //! user security dialog. sl@0: //! • When UPS invokes dialog, induce a “leave” in dialog creator. sl@0: //! • UPS should process this leave from policy evaluator and reply with a silent denial to system sl@0: //! server. sl@0: //! sl@0: //! @SYMTestExpectedResults • System server receives a silent denial from UPS. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-G009 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini dialogcreator_leave_session sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini dialogcreator_leave_always sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini dialogcreator_leave_never sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini dialogcreator_leave_yes sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini dialogcreator_leave_no sl@0: sl@0: CONCURRENT sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini dialogcreator_leaving_concurrent sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini dialogcreator_always_concurrent sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini dialogcreator_never_concurrent sl@0: CONSECUTIVE sl@0: sl@0: END_TESTCASE SEC-UPS-INTEG-G009 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-G010 sl@0: //! @SYMTestCaseDesc Protected reading of decisions sl@0: //! (readDecision_capabilityChecking) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7492 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There are some previous decisions stored in decision data base. sl@0: //! • Test application does not have ReadDeviceData but it has WriteDeviceData capabilities. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Try to use test application with not ReadDeviceData capabilities to read existing entry from decision DB. sl@0: //! sl@0: //! @SYMTestExpectedResults • Reading of entry fails, test application is returned error. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: sl@0: START_TESTCASE SEC-UPS-G010 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // populate decision database with sample inital values. sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini populate_sample2 sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini populate_sample2 sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini populate_sample2 sl@0: sl@0: // Perform initial checking on sample decisions sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini check_sample2 sl@0: RUN_TEST_STEP 100 TUPSInteg_2 UPSClientStep z:\tups\integ\scripts\tups_integ.ini check_sample2 sl@0: RUN_TEST_STEP 100 TUPSInteg_3 UPSClientStep z:\tups\integ\scripts\tups_integ.ini check_sample2 sl@0: sl@0: // Perform attempt to read a decision "WITHOUT" the appropriate capabilities sl@0: RUN_TEST_STEP !Result=-46 100 TUPSInteg_writedevice UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini readDecision_capabilityChecking_dbRead sl@0: sl@0: // Perform attempt to update a decision "WITH" the appropriate capabilities sl@0: RUN_TEST_STEP 100 TUPSInteg_readdevice UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini readDecision_capabilityChecking_dbRead sl@0: sl@0: END_TESTCASE SEC-UPS-G010 sl@0: sl@0: sl@0: sl@0: //********************** SEC-UPS-H : MISCELLANEOUS ********************** sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-H010 sl@0: //! @SYMTestCaseDesc Simple request cancelation sl@0: //! (simple_cancel) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7427 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Preconditions: sl@0: //! • There is an appropriate policy, policy evaluator and dialog creator that matches the UID of the sl@0: //! service offered by the “system server”. sl@0: //! • Test Client doesn’t have any decision stored in DB related to service about to be used by test sl@0: //! client. sl@0: //! sl@0: //! Test Actions: sl@0: //! • Launch “test clients” which tries to use of system servers. System server should request UPS for sl@0: //! user security dialog. sl@0: //! • When server requests UPS authorisation, cancel the request using CancelPrompt method. sl@0: //! sl@0: //! @SYMTestExpectedResults • System server receives a KErrCancel from Ups. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-H010 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini simple_cancel sl@0: END_TESTCASE SEC-UPS-INTEG-H010 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-H011 sl@0: //! @SYMTestCaseDesc Reversible decision DB export by dumpupsdb sl@0: //! (Export_Import_DBDumpTool) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7443 REQ7442 sl@0: //! sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Test Actions: sl@0: //! • Populate decision database with a reasonable number of decisions. sl@0: //! • Check correct behaviour of UPS with this decision DB. sl@0: //! • Stop UPS server running and use “dumpupsdb.exe” to export database to temporary file. sl@0: //! • Using dumpupsdb.exe” re-import this temporary file into the decision DB (ups.db). sl@0: //! • Check that re-imported decision database contains the same records that the original and UPS sl@0: //! behaves normally when using it. sl@0: //! sl@0: //! @SYMTestExpectedResults • There is no functional difference between the original decision database and the sl@0: //! re-imported one. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-H011 sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // Run the initial data entry step to populate the database with entries sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Export_Import_DBDumpTool_Setup sl@0: sl@0: // Check the newly created Decisions within the UPS Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Export_Import_DBDumpTool_Verify sl@0: sl@0: // Shutdown UPS Server sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: sl@0: // Dump contents of the database sl@0: RUN_PROGRAM dumpupsdb.exe -e -db \private\10283558\database\ups.db -f c:\exportdb.db -s sl@0: RUN_PROGRAM dumpupsdb.exe -e -db \private\10283558\database\ups.db -f c:\exportdba.txt -s sl@0: sl@0: // Delete Existing UPS Database sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // Reimport Database Contents sl@0: RUN_PROGRAM dumpupsdb.exe -i -db \private\10283558\database\ups.db -f c:\exportdb.db -s sl@0: RUN_PROGRAM dumpupsdb.exe -e -db \private\10283558\database\ups.db -f c:\exportdbb.txt -s sl@0: sl@0: // Delete Temporary Export File sl@0: RUN_UTILS DeleteFile c:\exportdb.db sl@0: sl@0: // Rerun service requests using Reimported Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Export_Import_DBDumpTool_Verify sl@0: sl@0: /////////// repeats same test sequence with (-b) flag in dumpupsdb.exe sl@0: sl@0: // Delete Existing Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // Run the initial data entry step to populate the database with entries sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Export_Import_DBDumpTool_Setup sl@0: sl@0: // Check the newly created Decisions within the UPS Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Export_Import_DBDumpTool_Verify sl@0: sl@0: // Shutdown UPS Server sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: sl@0: // Dump contents of the database sl@0: RUN_PROGRAM dumpupsdb.exe -e -db \private\10283558\database\ups.db -f c:\exportdb.db -s -b sl@0: sl@0: // Delete Existing UPS Database sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: // Reimport Database Contents sl@0: RUN_PROGRAM dumpupsdb.exe -i -db \private\10283558\database\ups.db -f c:\exportdb.db -s -b sl@0: sl@0: // Delete Temporary Export File sl@0: RUN_UTILS DeleteFile c:\exportdb.db sl@0: sl@0: // Rerun service requests using Reimported Database sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSClientStep z:\tups\integ\scripts\tups_integ.ini Export_Import_DBDumpTool_Verify sl@0: sl@0: END_TESTCASE SEC-UPS-H011 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-INTEG-H012 sl@0: //! @SYMTestCaseDesc UPS sub-session in different thread sl@0: //! (ups_session_shared) sl@0: //! sl@0: //! @SYMPREQ PREQ1262 sl@0: //! @SYMREQ REQ7446 sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestActions Test Actions: sl@0: //! • Open an UPS session from a test server. sl@0: //! • Create a new thread and share UPS session with this new thread. sl@0: //! • From this new thread create a sub-session to ups, request authorisation to UPS sl@0: //! using this sub-session. sl@0: //! • Check that UPS behaves like normal and the appropriate decision is stored in DB. sl@0: //! sl@0: //! @SYMTestExpectedResults • Authorize method for UPS can be used successfully for thread different that sl@0: //! the one owning the UPS session. sl@0: //! sl@0: //! @SYMTestType CIT sl@0: sl@0: START_TESTCASE SEC-UPS-INTEG-H012 sl@0: // Shutdown UPS Server sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: sl@0: // Delete Existing UPS Database sl@0: RUN_UTILS DeleteFile c:\private\10283558\database\ups.db sl@0: sl@0: RUN_TEST_STEP 100 TUPSInteg_minor Multithread z:\tups\integ\scripts\tups_integ.ini ups_session_shared sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UPSDbManagementStep z:\tups\integ\scripts\tups_integ.ini count_2 sl@0: sl@0: // Shutdown UPS Server sl@0: RUN_TEST_STEP 100 TUPSInteg_1 UtilsCloseUps sl@0: sl@0: // Dump contents of the database sl@0: RUN_PROGRAM dumpupsdb.exe -e -db \private\10283558\database\ups.db -f c:\multithread.db -s -b sl@0: END_TESTCASE SEC-UPS-INTEG-H012 sl@0: sl@0: sl@0: //! @SYMTestCaseID SEC-UPS-MISC-0002 sl@0: //! @SYMTestCaseDesc Clears off properties previously set for policy evaluators and dialog creators. sl@0: sl@0: START_TESTCASE SEC-UPS-MISC-0002 sl@0: RUN_TEST_STEP 100 TUPSInteg_1 PropertyStep z:\tups\integ\scripts\tups_properties.ini PropertiesToDestroy sl@0: END_TESTCASE SEC-UPS-MISC-0002 sl@0: sl@0: sl@0: PRINT Complete_TUPS_Tests