os/security/contentmgmt/cafstreamingsupport/test/tscaf/scripts/tscaf.script
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
//
sl@0
     2
// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     3
// All rights reserved.
sl@0
     4
// This component and the accompanying materials are made available
sl@0
     5
// under the terms of the License "Eclipse Public License v1.0"
sl@0
     6
// which accompanies this distribution, and is available
sl@0
     7
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
//
sl@0
     9
// Initial Contributors:
sl@0
    10
// Nokia Corporation - initial contribution.
sl@0
    11
//
sl@0
    12
// Contributors:
sl@0
    13
//
sl@0
    14
// Description:
sl@0
    15
//
sl@0
    16
// Streaming CAF Integration Tests
sl@0
    17
sl@0
    18
PRINT Run PREQ782 Streaming CAF Integration Tests
sl@0
    19
sl@0
    20
// Load Suite
sl@0
    21
LOAD_SUITE tscaf
sl@0
    22
sl@0
    23
sl@0
    24
//! @SYMTestCaseID 		SEC-SCAF-MISC-0001
sl@0
    25
//! @SYMTestCaseDesc 		StartupComms
sl@0
    26
sl@0
    27
START_TESTCASE SEC-SCAF-MISC-0001
sl@0
    28
RUN_TEST_STEP 100 tscaf StartupCommsStep
sl@0
    29
END_TESTCASE SEC-SCAF-MISC-0001
sl@0
    30
sl@0
    31
sl@0
    32
//********************** SEC-SCAF-A : CONSUMER INTERFACE  **********************
sl@0
    33
sl@0
    34
//! @SYMTestCaseID 		SEC-SCAF-A001
sl@0
    35
//! @SYMTestCaseDesc 		Key stream decoder construction with a supported protected key stream description
sl@0
    36
//! 				(keystreamdecoder_positiveconstruct)
sl@0
    37
//! @SYMPREQ 			PREQ782
sl@0
    38
//! @SYMREQ 			REQ7772, REQ7776, REQ7781, REQ7784, REQ7954
sl@0
    39
//! @SYMTestPriority 		Critical
sl@0
    40
//! @SYMTestStatus   		Implemented
sl@0
    41
//! @SYMTestActions 		Preconditions:
sl@0
    42
//!				• There are the necessary ROM based test stream agent plug-ins present that support 
sl@0
    43
//!				the SDP media description supplied during construction of the key stream decoder.
sl@0
    44
//!
sl@0
    45
//!				Test Actions:
sl@0
    46
//!				• Generate a protected key stream description.
sl@0
    47
//!				• Generate an SDP media description for the key stream.
sl@0
    48
//!				• Construct the key stream decoder using the protected stream description and SDP
sl@0
    49
//!				media description objects previously generated.
sl@0
    50
//!				• Destroy the key stream decoder object.
sl@0
    51
//!
sl@0
    52
//! @SYMTestExpectedResults 	• The key stream decoder is successfully created and destroyed.
sl@0
    53
//! @SYMTestType 		CIT
sl@0
    54
sl@0
    55
START_TESTCASE SEC-SCAF-A001
sl@0
    56
RUN_TEST_STEP tscaf SCAFSetupRightsObjects z:\tcaf\tscaf\tscaf.ini Rights_Program
sl@0
    57
RUN_TEST_STEP 100 tscaf SCAFKeyStreamDecoderConstruct z:\tcaf\tscaf\tscaf.ini keystreamdecoder_positiveconstruct
sl@0
    58
END_TESTCASE SEC-SCAF-A001
sl@0
    59
sl@0
    60
sl@0
    61
sl@0
    62
//! @SYMTestCaseID 		SEC-SCAF-A002
sl@0
    63
//! @SYMTestCaseDesc 		Key stream decoder construction with an unsupported protected key stream description
sl@0
    64
//! 				(keystreamdecoder_negativeconstruct)
sl@0
    65
//! @SYMPREQ 			PREQ782
sl@0
    66
//! @SYMREQ 			REQ7772, REQ7776, REQ7781, REQ7784, REQ7954
sl@0
    67
//! @SYMTestPriority 		Critical
sl@0
    68
//! @SYMTestStatus   		Implemented
sl@0
    69
//! @SYMTestActions  		Preconditions:
sl@0
    70
//!				• The ROM based test stream agent plug-ins present DO NOT support the SDP media 
sl@0
    71
//!				description supplied during construction of the key stream decoder.
sl@0
    72
//!			
sl@0
    73
//!				Test Actions:
sl@0
    74
//!				• Generate a protected key stream description.
sl@0
    75
//!				• Generate an SDP media description for the key stream that is incompatible with all
sl@0
    76
//!				available stream agent implementations.
sl@0
    77
//!				• Construct the key stream decoder using the protected stream description and 
sl@0
    78
//!				incompatible SDP media description objects previously generated.			
sl@0
    79
//! @SYMTestExpectedResults 	• Construction of the key stream decoder leaves with the KErrCANoAgent error code.
sl@0
    80
//! @SYMTestType 		CIT
sl@0
    81
sl@0
    82
START_TESTCASE SEC-SCAF-A002
sl@0
    83
RUN_TEST_STEP !Result=-17453 100 tscaf SCAFKeyStreamDecoderConstruct z:\tcaf\tscaf\tscaf.ini keystreamdecoder_negativeconstruct
sl@0
    84
END_TESTCASE SEC-SCAF-A002
sl@0
    85
sl@0
    86
sl@0
    87
sl@0
    88
//! @SYMTestCaseID 		SEC-SCAF-A004
sl@0
    89
//! @SYMTestCaseDesc 		Querying attributes related to a key stream decoder
sl@0
    90
//! 				(keystreamdecoder_positivequery)
sl@0
    91
//! @SYMPREQ 			PREQ782
sl@0
    92
//! @SYMREQ 			REQ7772, REQ7776, REQ7784, REQ7954
sl@0
    93
//! @SYMTestPriority 		Critical
sl@0
    94
//! @SYMTestStatus   		Implemented
sl@0
    95
//! @SYMTestActions  		Preconditions:
sl@0
    96
//!				• The necessary ROM based test stream agent plug-in is present that supports the SDP
sl@0
    97
//!				media description 	
sl@0
    98
//!				supplied during construction of the key stream decoder.
sl@0
    99
//!				• There are two Rights Objects files (serviceProtectedRO and programProtectedRO) in
sl@0
   100
//!				the private folder of the supporting test stream agent.
sl@0
   101
//!				• The Rights Issuer URI of the serviceProtectedRO is set to “IssuerUriServiceProtectedRO”
sl@0
   102
//!				and programProtectedRO is set to “IssuerUriProgramProtectedRO”
sl@0
   103
//!			
sl@0
   104
//!				Test Actions:
sl@0
   105
//!				• Generate a protected key stream description.
sl@0
   106
//!				• Generate an SDP media description for the key stream with an attribute requiring 
sl@0
   107
//!				programProtectedRO
sl@0
   108
//!				• Construct the key stream decoder using the protected stream description and SDP media 
sl@0
   109
//!				description objects previously generated.
sl@0
   110
//!				• Query the stream agent to determine whether the program is protected.
sl@0
   111
//!				• Query the stream agent to determine whether the whole service is protected.
sl@0
   112
//!				• Query the stream agent to retrieve the Rights Issuer URI.
sl@0
   113
//!				• Destroy the key stream decoder object.
sl@0
   114
//!				
sl@0
   115
//! @SYMTestExpectedResults 	• The key stream decoder is successfully created.
sl@0
   116
//!				• The program is protected but the whole service is not.
sl@0
   117
//!				• The Rights Issuer URI retrieved is “IssuerUriProgramProtectedRO”
sl@0
   118
//!
sl@0
   119
//! @SYMTestType 		CIT
sl@0
   120
sl@0
   121
START_TESTCASE SEC-SCAF-A004
sl@0
   122
sl@0
   123
// Copy the necessary 'Program' Protected rights objects into the stream agent's private directory
sl@0
   124
RUN_TEST_STEP tscaf SCAFSetupRightsObjects z:\tcaf\tscaf\tscaf.ini Rights_Program
sl@0
   125
RUN_TEST_STEP tscaf SCAFKeyStreamDecoderAttributes z:\tcaf\tscaf\tscaf.ini keystreamdecoder_positivequery_programprotectedRO
sl@0
   126
sl@0
   127
// Copy the necessary 'Service' Protected rights objects into the stream agent's private directory
sl@0
   128
RUN_TEST_STEP tscaf SCAFSetupRightsObjects z:\tcaf\tscaf\tscaf.ini Rights_Service
sl@0
   129
RUN_TEST_STEP tscaf SCAFKeyStreamDecoderAttributes z:\tcaf\tscaf\tscaf.ini keystreamdecoder_positivequery_serviceprotectedRO
sl@0
   130
sl@0
   131
END_TESTCASE SEC-SCAF-A004
sl@0
   132
sl@0
   133
sl@0
   134
sl@0
   135
//! @SYMTestCaseID 		SEC-SCAF-A005
sl@0
   136
//! @SYMTestCaseDesc 		Querying attributes related to a key stream decoder with missing rights object
sl@0
   137
//! 				(keystreamdecoder_missingrights)
sl@0
   138
//! @SYMPREQ 			PREQ782
sl@0
   139
//! @SYMREQ 			REQ7772, REQ7776, REQ7784, REQ7954
sl@0
   140
//! @SYMTestPriority 		Critical
sl@0
   141
//! @SYMTestStatus   		Implemented
sl@0
   142
//! @SYMTestActions  		Preconditions:
sl@0
   143
//!				• The necessary ROM based test stream agent plug-in is present that supports the SDP 
sl@0
   144
//!				media description supplied during construction of the key stream decoder.
sl@0
   145
//!				• The program protected rights object (programProtectedRO) exists in the private 
sl@0
   146
//!				directory of the supporting test stream agent, but the service protected rights object 
sl@0
   147
//!				(serviceProtectedRO) is missing.
sl@0
   148
//!			
sl@0
   149
//!				Test Actions:
sl@0
   150
//!				• Generate a protected key stream description.
sl@0
   151
//!				• Generate an SDP media description for the key stream with an attribute requiring 
sl@0
   152
//!				serviceProtectedRO.
sl@0
   153
//!				• Construct the key stream decoder using the protected stream description and SDP media 
sl@0
   154
//!				description objects previously generated.
sl@0
   155
//!				• Query the stream agent to determine whether the program is protected.
sl@0
   156
//!				• Destroy the key stream decoder object.
sl@0
   157
//!
sl@0
   158
//! @SYMTestExpectedResults 	• Querying the stream agent results in a leave with error code KErrCANoRights, showing 
sl@0
   159
//!				that serviceProtectedRO is missing.
sl@0
   160
//!
sl@0
   161
//! @SYMTestType 		CIT
sl@0
   162
sl@0
   163
START_TESTCASE SEC-SCAF-A005
sl@0
   164
sl@0
   165
RUN_TEST_STEP tscaf SCAFSetupRightsObjects z:\tcaf\tscaf\tscaf.ini Rights_None
sl@0
   166
sl@0
   167
RUN_TEST_STEP !Result=-17452 tscaf SCAFKeyStreamDecoderAttributes z:\tcaf\tscaf\tscaf.ini keystreamdecoder_missingrights
sl@0
   168
sl@0
   169
END_TESTCASE SEC-SCAF-A005
sl@0
   170
sl@0
   171
sl@0
   172
sl@0
   173
//! @SYMTestCaseID 		SEC-SCAF-A006
sl@0
   174
//! @SYMTestCaseDesc 		Querying attributes related to a key stream decoder with an expired rights object
sl@0
   175
//! 				(keystreamdecoder_expiredrights)
sl@0
   176
//! @SYMPREQ 			PREQ782
sl@0
   177
//! @SYMREQ 			REQ7772, REQ7776, REQ7784, REQ7954
sl@0
   178
//! @SYMTestPriority 		Critical
sl@0
   179
//! @SYMTestStatus   		Implemented
sl@0
   180
//! @SYMTestActions  		Preconditions:
sl@0
   181
//!				• The necessary ROM based test stream agent plug-in is present that supports the SDP media
sl@0
   182
//!				description supplied during construction of the key stream decoder.
sl@0
   183
//!				• There is an expired Rights Object file (expiredRO) in the private folder of the supporting 
sl@0
   184
//!				test stream agent.
sl@0
   185
//!			
sl@0
   186
//!				Test Actions:
sl@0
   187
//!				• Generate a protected key stream description.
sl@0
   188
//!				• Generate an SDP media description for the key stream with an attribute requiring expiredRo.
sl@0
   189
//!				• Construct the key stream decoder using the protected stream description and SDP media 
sl@0
   190
//!				description objects previously generated.
sl@0
   191
//!				• Query the stream agent to determine whether the program is protected.
sl@0
   192
//!				• Destroy the key stream decoder object.
sl@0
   193
//!
sl@0
   194
//! @SYMTestExpectedResults 	• Querying the stream agent results in a leave with error code KErrCANoPermission, showing
sl@0
   195
//!				that expiredRo has expired.
sl@0
   196
//!
sl@0
   197
//! @SYMTestType 		CIT
sl@0
   198
sl@0
   199
START_TESTCASE SEC-SCAF-A006
sl@0
   200
sl@0
   201
RUN_TEST_STEP tscaf SCAFSetupRightsObjects z:\tcaf\tscaf\tscaf.ini Rights_Expired
sl@0
   202
sl@0
   203
RUN_TEST_STEP !Result=-17451 tscaf SCAFKeyStreamDecoderAttributes z:\tcaf\tscaf\tscaf.ini keystreamdecoder_expiredrights
sl@0
   204
sl@0
   205
END_TESTCASE SEC-SCAF-A006
sl@0
   206
sl@0
   207
sl@0
   208
sl@0
   209
//! @SYMTestCaseID 		SEC-SCAF-A007
sl@0
   210
//! @SYMTestCaseDesc 		Concurrent key stream decoder construction and querying
sl@0
   211
//! 				(keystreamdecoder_concurrentquery)
sl@0
   212
//! @SYMPREQ 			PREQ782
sl@0
   213
//! @SYMREQ 			REQ7772, REQ7776, REQ7781, REQ7784, REQ7954
sl@0
   214
//! @SYMTestPriority 		Critical
sl@0
   215
//! @SYMTestStatus   		Implemented
sl@0
   216
//! @SYMTestActions  		Preconditions:
sl@0
   217
//!				The following test actions should be carried out concurrently in 3 separate threads:
sl@0
   218
//!				• Generate a protected key stream description.
sl@0
   219
//!				• Generate an SDP media description. Thread A should generate an SDP media description
sl@0
   220
//!				supported by test stream agent plug-in A and Threads B & C should generate SDP media
sl@0
   221
//!				description objects supported by test stream agent plug-in B.
sl@0
   222
//!				• Construct a key stream decoder object using the generated protected key stream
sl@0
   223
//!				description and SDP media description objects.
sl@0
   224
//!				• When the key stream decoder has been constructed, query the attributes associated
sl@0
   225
//!				with the stream agent.
sl@0
   226
//!				• Destroy the key stream decoder object.
sl@0
   227
//!
sl@0
   228
//! @SYMTestExpectedResults 	• Each key stream decoder object should construct successfully.
sl@0
   229
//!				• Checking the implementation attributes reveals that Thread A has invoked test stream
sl@0
   230
//!				agent A and Thread B & C have invoked test stream agent B.
sl@0
   231
//!
sl@0
   232
//! @SYMTestType 		CIT
sl@0
   233
sl@0
   234
START_TESTCASE SEC-SCAF-A007
sl@0
   235
sl@0
   236
// Copy the necessary rights objects into the stream agent's private directory
sl@0
   237
RUN_TEST_STEP tscaf SCAFSetupRightsObjects z:\tcaf\tscaf\tscaf.ini Rights_ServiceProgram
sl@0
   238
sl@0
   239
CONCURRENT
sl@0
   240
RUN_TEST_STEP tscaf SCAFKeyStreamDecoderAttributes z:\tcaf\tscaf\tscaf.ini keystreamdecoder_concurrentquery_threadA
sl@0
   241
RUN_TEST_STEP tscaf SCAFKeyStreamDecoderAttributes z:\tcaf\tscaf\tscaf.ini keystreamdecoder_concurrentquery_threadB
sl@0
   242
RUN_TEST_STEP tscaf SCAFKeyStreamDecoderAttributes z:\tcaf\tscaf\tscaf.ini keystreamdecoder_concurrentquery_threadC
sl@0
   243
CONSECUTIVE
sl@0
   244
sl@0
   245
END_TESTCASE SEC-SCAF-A007
sl@0
   246
sl@0
   247
sl@0
   248
sl@0
   249
//! @SYMTestCaseID 		SEC-SCAF-A008
sl@0
   250
//! @SYMTestCaseDesc 		Concurrent multi-thread usage of multiple key stream decoders
sl@0
   251
//! 				(multikeystreamdecoders)
sl@0
   252
//! @SYMPREQ 			PREQ782
sl@0
   253
//! @SYMREQ 			REQ7772, REQ7775, REQ7776, REQ7781, REQ7784, REQ7954
sl@0
   254
//! @SYMTestPriority 		Critical
sl@0
   255
//! @SYMTestStatus   		Implemented
sl@0
   256
//! @SYMTestActions  		Preconditions:
sl@0
   257
//!				The following test actions should be carried out concurrently in 3 separate threads:
sl@0
   258
//!				• Generate a protected key stream description.
sl@0
   259
//!				• Generate an SDP media description (SDPa) for the key stream with an attribute
sl@0
   260
//!				requiring serviceProtectedRO.
sl@0
   261
//!				• Construct a key stream decoder object using the generated protected key stream
sl@0
   262
//!				description and SDP media description object SDPa – decoderA.
sl@0
   263
//!				• Generate another SDP media description (SDPb) for the key stream with an attribute
sl@0
   264
//!				requiring programProtectedRO.
sl@0
   265
//!				• Construct another key stream decoder object using the generated protected key stream
sl@0
   266
//!				description and SDP media description object SDPb – decoderB.
sl@0
   267
//!				• Query decoderA to retrieve the ‘Rights Issuer URI’ attribute from the invoked 
sl@0
   268
//!				stream agent.
sl@0
   269
//!				• Query decoderB to retrieve the ‘Rights Issuer URI’ attribute from the invoked 
sl@0
   270
//!				stream agent.
sl@0
   271
//!				• Destroy both key stream decoder objects.			
sl@0
   272
//!
sl@0
   273
//! @SYMTestExpectedResults 	• Each key stream decoder object should construct successfully.
sl@0
   274
//!				• The Rights Issuer URI  attribute value retrieved from decoderA is 
sl@0
   275
//!				“IssuerUriServiceProtectedRO”
sl@0
   276
//!				• The Rights Issuer URI  attribute value retrieved from decoderB is 
sl@0
   277
//!				“IssuerUriProgramProtectedRO”
sl@0
   278
//!
sl@0
   279
//! @SYMTestType 		CIT
sl@0
   280
sl@0
   281
START_TESTCASE SEC-SCAF-A008
sl@0
   282
sl@0
   283
// Copy the necessary rights objects into the stream agent's private directory
sl@0
   284
RUN_TEST_STEP tscaf SCAFSetupRightsObjects z:\tcaf\tscaf\tscaf.ini Rights_ServiceProgram
sl@0
   285
sl@0
   286
// 2 Key Stream Decoders, Invoking the same stream agent
sl@0
   287
RUN_TEST_STEP tscaf SCAFMultiKeyStreamDecoders z:\tcaf\tscaf\tscaf.ini multikeystreamdecoders_singlethread_singleagent
sl@0
   288
sl@0
   289
// 2 Key Stream Decoders, Invoking different stream agents
sl@0
   290
RUN_TEST_STEP tscaf SCAFMultiKeyStreamDecoders z:\tcaf\tscaf\tscaf.ini multikeystreamdecoders_singlethread_multiagents
sl@0
   291
sl@0
   292
// 3 concurrent threads, 2 key stream decoders per thread invoking the same agent
sl@0
   293
CONCURRENT
sl@0
   294
RUN_TEST_STEP tscaf SCAFMultiKeyStreamDecoders z:\tcaf\tscaf\tscaf.ini multikeystreamdecoders_concurrent_singleagent_threadA
sl@0
   295
RUN_TEST_STEP tscaf SCAFMultiKeyStreamDecoders z:\tcaf\tscaf\tscaf.ini multikeystreamdecoders_concurrent_singleagent_threadB
sl@0
   296
RUN_TEST_STEP tscaf SCAFMultiKeyStreamDecoders z:\tcaf\tscaf\tscaf.ini multikeystreamdecoders_concurrent_singleagent_threadC
sl@0
   297
CONSECUTIVE
sl@0
   298
sl@0
   299
// 3 concurrent threads, 2 key stream decoders per thread invoking different agents 
sl@0
   300
CONCURRENT
sl@0
   301
RUN_TEST_STEP tscaf SCAFMultiKeyStreamDecoders z:\tcaf\tscaf\tscaf.ini multikeystreamdecoders_concurrent_multiagents_threadA
sl@0
   302
RUN_TEST_STEP tscaf SCAFMultiKeyStreamDecoders z:\tcaf\tscaf\tscaf.ini multikeystreamdecoders_concurrent_multiagents_threadB
sl@0
   303
RUN_TEST_STEP tscaf SCAFMultiKeyStreamDecoders z:\tcaf\tscaf\tscaf.ini multikeystreamdecoders_concurrent_multiagents_threadC
sl@0
   304
CONSECUTIVE
sl@0
   305
sl@0
   306
END_TESTCASE SEC-SCAF-A008
sl@0
   307
sl@0
   308
sl@0
   309
sl@0
   310
//******************	TEST STREAM AGENT UNIT TESTING	    *******************
sl@0
   311
sl@0
   312
//! @SYMTestCaseID SEC-SCAF-S001
sl@0
   313
//! @SYMTestCaseDesc A unit test step which tests the Test Streaming Agent
sl@0
   314
//! 		     (StreamingTestAgent)
sl@0
   315
//! @SYMREQ Req-b
sl@0
   316
//! @SYMTestPriority Low
sl@0
   317
//! @SYMTestActions A connection is established with the Test Agent Server via its client side and the closed.  
sl@0
   318
//! @SYMTestExpectedResults Successful connection and disconnectiom to/from the Test Streaming Agent Server. 
sl@0
   319
//! @SYMDevelopedForRelease Oghma
sl@0
   320
sl@0
   321
START_TESTCASE SEC-SCAF-S001
sl@0
   322
RUN_TEST_STEP 100 tscaf SCAFTestAgentServer
sl@0
   323
END_TESTCASE SEC-SCAF-S001
sl@0
   324
sl@0
   325
sl@0
   326
sl@0
   327
//************	SEC-SCAF-C : INTEROPERABILITY WITH DECODING STACK   ***********
sl@0
   328
sl@0
   329
sl@0
   330
//! @SYMTestCaseID 		SEC-SCAF-C001
sl@0
   331
//! @SYMTestCaseDesc 		Usage of key stream sink
sl@0
   332
//! 				(keystreamsinks)
sl@0
   333
//! @SYMPREQ 			PREQ782
sl@0
   334
//! @SYMREQ 			REQ7774, REQ7778, REQ7786
sl@0
   335
//! @SYMTestPriority 		Critical
sl@0
   336
//! @SYMTestStatus   		Implemented
sl@0
   337
//! @SYMTestActions  		Preconditions:
sl@0
   338
//!				• There are the necessary ROM based test stream agent plug-ins present that support 
sl@0
   339
//!				the SDP media description supplied during construction of each key stream decoder.
sl@0
   340
//!				• There is a Right Object file in the private folder of the supporting test stream agent.
sl@0
   341
//!
sl@0
   342
//!				Test Actions:
sl@0
   343
//!				• Create a key stream sink
sl@0
   344
//!				• Create a plain key and encrypt it with the key extracted from the RO
sl@0
   345
//!				• Connect to the Test Agent
sl@0
   346
//!				• Send the key stream sink
sl@0
   347
//!				• Send the encrypted string (a simple key stream)
sl@0
   348
//!				• The test agent server decrypts the key stream by using the key from the RO.
sl@0
   349
//!				• The test agent server processes the decrypted key (the key is written into a file 
sl@0
   350
//!				defined in the key stream sink)
sl@0
   351
//!				• Check whether the right plain key is written down 
sl@0
   352
//!				• Destroy the key stream decoder object.				
sl@0
   353
//!
sl@0
   354
//! @SYMTestExpectedResults 	• The plain string is found in the predefined location.
sl@0
   355
//!
sl@0
   356
//! @SYMTestType 		CIT
sl@0
   357
sl@0
   358
START_TESTCASE SEC-SCAF-C001
sl@0
   359
RUN_TEST_STEP 100 tscaf SCAFKeyStreamSink z:\tcaf\tscaf\tscaf.ini sdp_service_protected
sl@0
   360
END_TESTCASE SEC-SCAF-C001
sl@0
   361
sl@0
   362
sl@0
   363
sl@0
   364
//! @SYMTestCaseID 		SEC-SCAF-C002
sl@0
   365
//! @SYMTestCaseDesc 		Usage of key stream sinks in concurrent sessions
sl@0
   366
//! 				(concurrent_keystreamsinks)
sl@0
   367
//! @SYMPREQ 			PREQ782
sl@0
   368
//! @SYMREQ 			REQ7774, REQ7778, REQ7786
sl@0
   369
//! @SYMTestPriority 		Critical
sl@0
   370
//! @SYMTestStatus   		Preconditions:
sl@0
   371
//!				• There are the necessary ROM based test stream agent plug-ins present that support
sl@0
   372
//!				the SDP media description supplied during construction of each key stream decoder.
sl@0
   373
//!				• There are two Rights Object files (serviceProtectedRO and programProtectedRO) in the
sl@0
   374
//!				private folder of each test stream agent.
sl@0
   375
//!
sl@0
   376
//!				Test Actions:
sl@0
   377
//!				• Generate a protected key stream description.
sl@0
   378
//!				• Generate an SDP media description (SDPa) for the key stream with an attribute requiring
sl@0
   379
//!				serviceProtectedRO.
sl@0
   380
//!				• Construct a key stream decoder object using the generated protected key stream 
sl@0
   381
//!				description and SDP media description object SDPa – decoderA.
sl@0
   382
//!				• Generate another SDP media description (SDPb) for the key stream with an attribute requiring 
sl@0
   383
//!				programProtectedRO.
sl@0
   384
//!				• Construct another key stream decoder object using the generated protected key stream 
sl@0
   385
//!				description and SDP media description object SDPb – decoderB.
sl@0
   386
//!				• Create plain_keyA
sl@0
   387
//!				• Encrypt plain_keyA with encryption_keyA extracted from serviceProtectedRO
sl@0
   388
//!				• Send the encrypted plain_keyA using decoderA
sl@0
   389
//!				• Create plain_keyB
sl@0
   390
//!				• Encrypt plain_keyB with encryption_keyB extracted from programProtectedRO
sl@0
   391
//!				• Send the encrypted plain_keyB using decoderB
sl@0
   392
//!				• Check whether stringA is in pathA and stringB is in pathB
sl@0
   393
//!				• Destroy both key stream decoder objects.				
sl@0
   394
//!
sl@0
   395
//! @SYMTestExpectedResults 	• The plain strings are found in the predefined locations.
sl@0
   396
//!
sl@0
   397
//! @SYMTestType 		CIT
sl@0
   398
sl@0
   399
START_TESTCASE SEC-SCAF-C002
sl@0
   400
RUN_TEST_STEP 100 tscaf SCAFConcurrentKeyStreamSinks z:\tcaf\tscaf\tscaf.ini concurrent_keystreamsinks
sl@0
   401
END_TESTCASE SEC-SCAF-C002
sl@0
   402
sl@0
   403
sl@0
   404
sl@0
   405
//********************** SEC-SCAF-D : POST-ACQUISITION  **********************
sl@0
   406
sl@0
   407
sl@0
   408
//! @SYMTestCaseID 		SEC-SCAF-D001
sl@0
   409
//! @SYMTestCaseDesc 		Post-acquisition content protection
sl@0
   410
//! 				(postacqusition)
sl@0
   411
//! @SYMPREQ 			PREQ782
sl@0
   412
//! @SYMREQ 			REQ7788
sl@0
   413
//! @SYMTestPriority 		Critical
sl@0
   414
//! @SYMTestStatus   		Implemented
sl@0
   415
//! @SYMTestActions  		Preconditions:
sl@0
   416
//!				The following test actions should be carried out:
sl@0
   417
//!				• Copy  rorecordable.dr (a rights object where ECanExport and EMustProtectIfRecording
sl@0
   418
//!				flags shall be set) and its post-acquistion rights object (ropostacquisition.dr) into
sl@0
   419
//!				the private directory of the test agent server.
sl@0
   420
//!			      	• Generate a test key stream description
sl@0
   421
//!				• Generate an SDP media description for the key stream with an attribute requiring 
sl@0
   422
//!				rorecordable.dr
sl@0
   423
//!				• Construct the key stream decoder using the protected key stream description and SDP
sl@0
   424
//!				media description objects previously generated.
sl@0
   425
//!				• Query the stream agent to determine whether it is allowed to export and record the 
sl@0
   426
//!				content.
sl@0
   427
//!				• Request and gets a handle to the postacqusition rights object file
sl@0
   428
//!				• Import the postacqusition rights object file to the post-acquisition caf agent
sl@0
   429
//!                     	• Open a session to import the content
sl@0
   430
//!				• Import the content to the post-acquisition caf agent	
sl@0
   431
//!
sl@0
   432
//! @SYMTestExpectedResults 	
sl@0
   433
//!				• The protected stream is allowed to be recorded
sl@0
   434
//!				• The test streaming agent returns a handle of the post-acquistion RO successfully
sl@0
   435
//!				• The post-acquistion RO is successfully imported to the post-acquisition caf agent
sl@0
   436
//!
sl@0
   437
//! @SYMTestType 		CIT
sl@0
   438
sl@0
   439
START_TESTCASE SEC-SCAF-D001
sl@0
   440
sl@0
   441
RUN_TEST_STEP 100 tscaf SCAFPostAcquisition z:\tcaf\tscaf\tscaf.ini post_acquisition
sl@0
   442
sl@0
   443
RUN_TEST_STEP 100 tscaf SCAFPostAcquisition z:\tcaf\tscaf\tscaf.ini post_acquisition_create_outputs
sl@0
   444
sl@0
   445
END_TESTCASE SEC-SCAF-D001
sl@0
   446
sl@0
   447
sl@0
   448
sl@0
   449
//********************** SEC-SCAF-E : INTEROPERABILITY WITH DECODING STACK - IPSEC    ***********
sl@0
   450
sl@0
   451
RUN_SCRIPT z:\tcaf\tscaf\tscafipsec.script
sl@0
   452
sl@0
   453
sl@0
   454
sl@0
   455
//********************** SEC-SCAF-G : SINGLE PROCESS STREAM AGENT TESTING  **********************
sl@0
   456
sl@0
   457
//! @SYMTestCaseID 		SEC-SCAF-G001
sl@0
   458
//! @SYMTestCaseDesc 		SPSA - Key stream decoder construction with a supported protected key stream description
sl@0
   459
//! 				(spsa_keystreamdecoder_positiveconstruct)
sl@0
   460
//! @SYMPREQ 			PREQ782
sl@0
   461
//! @SYMREQ 			
sl@0
   462
//! @SYMTestPriority 		High
sl@0
   463
//! @SYMTestStatus   		Implemented
sl@0
   464
//! @SYMTestActions  		Preconditions:
sl@0
   465
//!				• The necessary ROM based ‘single process’ stream agent plug-in is present that supports
sl@0
   466
//!				the SDP media description supplied during construction of the key stream decoder.
sl@0
   467
//!
sl@0
   468
//!				Test Actions:
sl@0
   469
//!				• Run the test step actions as described in test case SEC-SCAF-A001.
sl@0
   470
//!
sl@0
   471
//! @SYMTestExpectedResults 	• The key stream decoder constructed by the single process stream agent is successfully 
sl@0
   472
//!				created and destroyed.
sl@0
   473
//!
sl@0
   474
//! @SYMTestType 		CIT
sl@0
   475
sl@0
   476
START_TESTCASE SEC-SCAF-G001
sl@0
   477
RUN_TEST_STEP 100 tscaf SCAFKeyStreamDecoderConstruct z:\tcaf\tscaf\tscaf.ini spsa_keystreamdecoder_positiveconstruct
sl@0
   478
END_TESTCASE SEC-SCAF-G001
sl@0
   479
sl@0
   480
sl@0
   481
sl@0
   482
//! @SYMTestCaseID 		SEC-SCAF-G002
sl@0
   483
//! @SYMTestCaseDesc 		SPSA - Querying attributes related to a key stream decoder
sl@0
   484
//! 				(spsa_keystreamdecoder_positivequery)
sl@0
   485
//! @SYMPREQ 			PREQ782
sl@0
   486
//! @SYMREQ 			
sl@0
   487
//! @SYMTestPriority 		High
sl@0
   488
//! @SYMTestStatus   		Implemented
sl@0
   489
//! @SYMTestActions  		Preconditions:
sl@0
   490
//!				• The necessary ROM based ‘single process’ stream agent plug-in is present that supports
sl@0
   491
//!				the SDP media description supplied during construction of the key stream decoder.
sl@0
   492
//!				• The required Rights Object file is present in the private folder for the supporting 
sl@0
   493
//!				single process stream agent.
sl@0
   494
//!
sl@0
   495
//!				Test Actions:
sl@0
   496
//!				• Run the test step actions as described in test case SEC-SCAF-A004.				
sl@0
   497
//!
sl@0
   498
//! @SYMTestExpectedResults 	• The key stream decoder constructed by the single process stream agent is successfully
sl@0
   499
//!				created.
sl@0
   500
//!				• All of the expected attribute values match their corresponding values retrieved from
sl@0
   501
//!				the key stream decoder.
sl@0
   502
//!
sl@0
   503
//! @SYMTestType 		CIT
sl@0
   504
sl@0
   505
START_TESTCASE SEC-SCAF-G002
sl@0
   506
sl@0
   507
// Copy the necessary 'Program' Protected rights objects into the single process stream agent's private directory
sl@0
   508
RUN_TEST_STEP tscaf SCAFSetupRightsObjects z:\tcaf\tscaf\tscaf.ini Rights_Program_SingleProcessAgent
sl@0
   509
RUN_TEST_STEP tscaf SCAFKeyStreamDecoderAttributes z:\tcaf\tscaf\tscaf.ini spsa_keystreamdecoder_positivequery_programprotectedRO
sl@0
   510
sl@0
   511
// Copy the necessary 'Service' Protected rights objects into the single process stream agent's private directory
sl@0
   512
RUN_TEST_STEP tscaf SCAFSetupRightsObjects z:\tcaf\tscaf\tscaf.ini Rights_Service_SingleProcessAgent
sl@0
   513
RUN_TEST_STEP tscaf SCAFKeyStreamDecoderAttributes z:\tcaf\tscaf\tscaf.ini spsa_keystreamdecoder_positivequery_serviceprotectedRO
sl@0
   514
sl@0
   515
END_TESTCASE SEC-SCAF-G002
sl@0
   516
sl@0
   517
sl@0
   518
sl@0
   519
//! @SYMTestCaseID 		SEC-SCAF-G003
sl@0
   520
//! @SYMTestCaseDesc 		SPSA - Concurrent multi-thread usage of multiple key stream decoders
sl@0
   521
//! 				(spsa_multikeystreamdecoders)
sl@0
   522
//! @SYMPREQ 			PREQ782
sl@0
   523
//! @SYMREQ 			
sl@0
   524
//! @SYMTestPriority 		High
sl@0
   525
//! @SYMTestStatus   		Implemented
sl@0
   526
//! @SYMTestActions  		Preconditions:
sl@0
   527
//!				• The necessary ROM based ‘single process’ and ‘client-server’ stream agent plug-in
sl@0
   528
//!				implementations are present that support the SDP media descriptions supplied during 
sl@0
   529
//!				construction of the key stream decoders.
sl@0
   530
//!				• The required Rights Object files are present in the private folder of the supporting
sl@0
   531
//!				stream agents.
sl@0
   532
//!
sl@0
   533
//!				Test Actions:
sl@0
   534
//!				The following test actions should be carried out concurrently in 3 separate threads 
sl@0
   535
//!				(1 of the threads should instantiate a ‘single process’ stream agent, whereas the others
sl@0
   536
//!				should instantiate ‘client-server’ based stream agents) :
sl@0
   537
//!				
sl@0
   538
//!				• Run the test step actions as described in test case SEC-SCAF-A008 				
sl@0
   539
//!
sl@0
   540
//! @SYMTestExpectedResults 	• Each of the key stream decoder objects that have been constructed by either a 
sl@0
   541
//!				client-server or single process stream agent plug-in are created successfully.
sl@0
   542
//!				• All of the expected attribute values match their corresponding values retrieved from
sl@0
   543
//!				the associated key stream decoder.
sl@0
   544
//!
sl@0
   545
//! @SYMTestType 		CIT
sl@0
   546
sl@0
   547
START_TESTCASE SEC-SCAF-G003
sl@0
   548
sl@0
   549
// Copy the necessary rights objects into the stream agent's private directory (Client/Server Architecture)
sl@0
   550
RUN_TEST_STEP tscaf SCAFSetupRightsObjects z:\tcaf\tscaf\tscaf.ini Rights_ServiceProgram
sl@0
   551
sl@0
   552
// Copy the necessary rights objects into the stream agent's private directory (Single Process Stream Agent)
sl@0
   553
RUN_TEST_STEP tscaf SCAFSetupRightsObjects z:\tcaf\tscaf\tscaf.ini Rights_ServiceProgram_SingleProcessAgent
sl@0
   554
sl@0
   555
// 2 Key Stream Decoders, Invoking the same single process stream agent
sl@0
   556
RUN_TEST_STEP tscaf SCAFMultiKeyStreamDecoders z:\tcaf\tscaf\tscaf.ini spsa_multikeystreamdecoders_singlethread_singleagent
sl@0
   557
sl@0
   558
// 2 Key Stream Decoders, Invoking different stream agents (1 Single Process & 1 Client/Server)
sl@0
   559
RUN_TEST_STEP tscaf SCAFMultiKeyStreamDecoders z:\tcaf\tscaf\tscaf.ini spsa_multikeystreamdecoders_singlethread_multiagents
sl@0
   560
sl@0
   561
// 3 concurrent threads, 2 key stream decoders per thread invoking the same agent
sl@0
   562
CONCURRENT
sl@0
   563
RUN_TEST_STEP tscaf SCAFMultiKeyStreamDecoders z:\tcaf\tscaf\tscaf.ini spsa_multikeystreamdecoders_concurrent_singleagent_threadA
sl@0
   564
RUN_TEST_STEP tscaf SCAFMultiKeyStreamDecoders z:\tcaf\tscaf\tscaf.ini multikeystreamdecoders_concurrent_singleagent_threadB
sl@0
   565
RUN_TEST_STEP tscaf SCAFMultiKeyStreamDecoders z:\tcaf\tscaf\tscaf.ini multikeystreamdecoders_concurrent_singleagent_threadC
sl@0
   566
CONSECUTIVE
sl@0
   567
sl@0
   568
// 3 concurrent threads, 2 key stream decoders per thread invoking different agents (1 Single Process & 1 Client/Server)
sl@0
   569
CONCURRENT
sl@0
   570
RUN_TEST_STEP tscaf SCAFMultiKeyStreamDecoders z:\tcaf\tscaf\tscaf.ini spsa_multikeystreamdecoders_concurrent_multiagents_threadA
sl@0
   571
RUN_TEST_STEP tscaf SCAFMultiKeyStreamDecoders z:\tcaf\tscaf\tscaf.ini spsa_multikeystreamdecoders_concurrent_multiagents_threadB
sl@0
   572
RUN_TEST_STEP tscaf SCAFMultiKeyStreamDecoders z:\tcaf\tscaf\tscaf.ini spsa_multikeystreamdecoders_concurrent_multiagents_threadC
sl@0
   573
CONSECUTIVE
sl@0
   574
sl@0
   575
END_TESTCASE SEC-SCAF-G003
sl@0
   576
sl@0
   577
sl@0
   578
sl@0
   579
//! @SYMTestCaseID 		SEC-SCAF-G004
sl@0
   580
//! @SYMTestCaseDesc 		SPSA - Usage of key stream sink
sl@0
   581
//! 				(spsa_keystreamsinks)
sl@0
   582
//! @SYMPREQ 			PREQ782
sl@0
   583
//! @SYMREQ 			
sl@0
   584
//! @SYMTestPriority 		High
sl@0
   585
//! @SYMTestStatus   		Implemented
sl@0
   586
//! @SYMTestActions  		Preconditions:
sl@0
   587
//!				• The necessary ROM based ‘single process’ stream agent plug-in is present that supports
sl@0
   588
//!				the SDP media description supplied during construction of the key stream decoder.
sl@0
   589
//!				• The required Rights Object file is present in the private folder for the supporting single
sl@0
   590
//!				process stream agent.
sl@0
   591
//!
sl@0
   592
//!				Test Actions:
sl@0
   593
//!				• Run the test step actions as described in test case SEC-SCAF-C001.				
sl@0
   594
//!
sl@0
   595
//! @SYMTestExpectedResults 	• The expected plain text string is found in the predefined location.
sl@0
   596
//!
sl@0
   597
//! @SYMTestType 		CIT
sl@0
   598
sl@0
   599
START_TESTCASE SEC-SCAF-G004
sl@0
   600
sl@0
   601
// Single Process Stream Agent Invoked
sl@0
   602
RUN_TEST_STEP 100 tscaf SCAFKeyStreamSink z:\tcaf\tscaf\tscaf.ini spsa_keystreamink
sl@0
   603
sl@0
   604
// 2 Single Process Stream Agents Invoked
sl@0
   605
RUN_TEST_STEP 100 tscaf SCAFConcurrentKeyStreamSinks z:\tcaf\tscaf\tscaf.ini spsa_concurrent_keystreamsinks
sl@0
   606
sl@0
   607
// 1 Single Process Stream Agent and 1 Client/Server Stream Agent Invoked
sl@0
   608
RUN_TEST_STEP 100 tscaf SCAFConcurrentKeyStreamSinks z:\tcaf\tscaf\tscaf.ini spsa_cssa_concurrent_keystreamsinks
sl@0
   609
sl@0
   610
END_TESTCASE SEC-SCAF-G004
sl@0
   611
sl@0
   612
sl@0
   613
sl@0
   614
//! @SYMTestCaseID 		SEC-SCAF-G006
sl@0
   615
//! @SYMTestCaseDesc 		SPSA - Testing IPSec integration with key stream decoder
sl@0
   616
//! 				(spsa_ipsec_integration_decoder_automatic)
sl@0
   617
//! @SYMPREQ 			PREQ782
sl@0
   618
//! @SYMREQ 			
sl@0
   619
//! @SYMTestPriority 		High
sl@0
   620
//! @SYMTestStatus   		Implemented
sl@0
   621
//! @SYMTestActions 		Preconditions:
sl@0
   622
//!				• The necessary ROM based ‘single process’ stream agent plug-in is present that supports the
sl@0
   623
//!				SDP media description supplied during construction of the key stream decoder.
sl@0
   624
//!
sl@0
   625
//!				Test Actions:
sl@0
   626
//!				• Run the test step actions as described in test case SEC-SCAF-E015.
sl@0
   627
//!
sl@0
   628
//! @SYMTestExpectedResults 	• Associations was added 
sl@0
   629
//!
sl@0
   630
//! @SYMTestType 		CIT
sl@0
   631
sl@0
   632
START_TESTCASE SEC-SCAF-G006
sl@0
   633
sl@0
   634
RUN_TEST_STEP tscaf SCAFSetupRightsObjects z:\tcaf\tscaf\tscaf.ini Rights_Program_SingleProcessAgent
sl@0
   635
sl@0
   636
//The time limit is disabled since this test is manual
sl@0
   637
RUN_TEST_STEP -1 tscaf SCAFIpSecDecoderIntegration z:\tcaf\tscaf\tscaf.ini spsa_ipsec_integration_decoder_automatic
sl@0
   638
sl@0
   639
END_TESTCASE SEC-SCAF-G006
sl@0
   640
sl@0
   641
sl@0
   642
sl@0
   643
//********************** SEC-SCAF-H : REFERENCE AGENT TEST  **********************
sl@0
   644
sl@0
   645
sl@0
   646
//! @SYMTestCaseID 		SEC-SCAF-H001
sl@0
   647
//! @SYMTestCaseDesc 		Smoke testing for the Reference Agent
sl@0
   648
//! 				(referenceagent)
sl@0
   649
//! @SYMPREQ 			PREQ782
sl@0
   650
//! @SYMREQ 			-------
sl@0
   651
//! @SYMTestPriority 		Critical
sl@0
   652
//! @SYMTestStatus   		Implemented
sl@0
   653
//! @SYMTestActions  		
sl@0
   654
//!				•	Generate a IPSec protected key stream description. 
sl@0
   655
//!				•	Create a key stream sink from the protected key stream description.
sl@0
   656
//!				•	Create a key stream decoder from an SDP message requiring the reference agent 
sl@0
   657
//!					and the key stream sink.
sl@0
   658
//!				•	Create a short term key message and write it to a predefined socket.
sl@0
   659
//! @SYMTestExpectedResults 	
sl@0
   660
//!				• Interfaces are invoked without leaves and panics.
sl@0
   661
//!
sl@0
   662
//! @SYMTestType 		CIT
sl@0
   663
sl@0
   664
START_TESTCASE SEC-SCAF-H001
sl@0
   665
sl@0
   666
RUN_TEST_STEP 100 tscaf SCAFRefAgent z:\tcaf\tscaf\tscaf.ini reference_agent
sl@0
   667
sl@0
   668
END_TESTCASE SEC-SCAF-H001