// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
// which accompanies this distribution, and is available
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
//
// Initial Contributors:
// Nokia Corporation - initial contribution.
//
// Contributors:
//
// Description:
// Secondary PDP-context UMTS Driver integration tests of network-initiated conditions.
//

//! @file TE_spudNetworkSide.script

RUN_UTILS  MkDir c:\simtsy\
RUN_UTILS  MkDir c:\private\
RUN_UTILS  MkDir c:\private\101F7989\
RUN_UTILS  MkDir c:\private\101F7989\esock\
RUN_UTILS  MakeReadWrite c:\simtsy\config.txt
RUN_UTILS  MakeReadWrite c:\config.txt
RUN_UTILS  MakeReadWrite c:\loopback.ini
RUN_UTILS  MakeReadWrite c:\qospolicies.ini
RUN_UTILS  MakeReadWrite c:\private\101F7989\esock\qospolicies.ini
RUN_UTILS  DeleteFile c:\simtsy\config.txt
RUN_UTILS  DeleteFile c:\config.txt
RUN_UTILS  DeleteFile c:\loopback.ini
RUN_UTILS  DeleteFile c:\qospolicies.ini
RUN_UTILS  DeleteFile c:\private\101F7989\esock\qospolicies.ini
RUN_UTILS  CopyFile z:\TestData\Configs\TE_SpudNetworkSide_config.txt c:\simtsy\config.txt
RUN_UTILS  CopyFile z:\TestData\Configs\TE_SpudNetworkSide_config.txt c:\config.txt
RUN_UTILS  CopyFile z:\TestData\Configs\TE_SpudNetworkSideLoopbackCSY.ini c:\loopback.ini
RUN_UTILS  CopyFile z:\TestData\Configs\qospolicies.ini c:\qospolicies.ini
RUN_UTILS  CopyFile z:\TestData\Configs\qospolicies.ini c:\private\101F7989\esock\qospolicies.ini

// Configure CommDB for the tests
run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
ced -i z:\TestData\Configs\TE_SpudNetworkSide.xml
run_script z:\TestData\scripts\te_esock_test_loadesock.script

LOAD_SUITE TE_SpudNetworkSide


// TestSection suffix numbers correspond to SIM TSY's test section numbers. i.e. PrimaryActivationFails201 uses SIM TSYs test201 

//
// Sanity check tests: before testing the error cases, we test the success cases to make sure the system is OK.
//

START_TESTCASE          NET-Spud-NetworkSide-0201
//! @SYMTestCaseID      NET-Spud-NetworkSide-0201
//! @SYMTestCaseDesc Sanity check: successfully activate Primary context. 
//! @SYMFssID NETWORKING/Spud/Control Plane/Primary PDP Context Creation
//! @SYMTestActions Explicitly start the SPUD interface. SIM TSY, etc successfully activate the primary context.
//! @SYMTestExpectedResults  Primary PDP context is activated, SPUD is started: RConnection::Start on SPUD returns KErrNone.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudPrimary z:\testdata\configs\te_spudNetworkSide.ini PrimaryActivationOk1
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0201

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0202
//! @SYMTestCaseID      NET-Spud-NetworkSide-0202
//! @SYMTestCaseDesc Sanity check: successfully activate Secondary context. 
//! @SYMFssID NETWORKING/Spud/Control Plane/Secondary PDP Context Creation
//! @SYMTestActions Implicitly start the SPUD interface by opening a socket bound to its secondary context. Set QoS on the socket, prompting GUQoS to activate secondary context.
//! @SYMTestExpectedResults Both the primary & secondary contexts are activated. EQoSEventAddPolicy and EQoSEventConfirm are received by the test app.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudSecondary z:\testdata\configs\te_spudNetworkSide.ini SecondaryActivationOk1
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0202

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script

//
// Operation errors: Creation, TFT, QoS, Activation, Deactivation, Deletion errors.
//
START_TESTCASE          NET-Spud-NetworkSide-0203
//! @SYMTestCaseID      NET-Spud-NetworkSide-0203
//! @SYMTestCaseDesc Activation of Primary fails. 
//! @SYMFssID NETWORKING/Spud/Control Plane/Primary PDP Context Creation
//! @SYMTestActions Explicitly start Spud. SIM TSY returns an error on activation of the primary context. 
//! @SYMTestExpectedResults Spud cannot be started: RConnection::Start returns an error.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudPrimary z:\testdata\configs\te_spudNetworkSide.ini PrimaryActivationFails201
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0203

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script

START_TESTCASE          NET-Spud-NetworkSide-0204
//! @SYMTestCaseID      NET-Spud-NetworkSide-0204
//! @SYMTestCaseDesc Activation of Secondary fails.
//! @SYMFssID NETWORKING/Spud/Control Plane/Secondary PDP Context Creation
//! @SYMTestActions Implicitly start SPUD by opening a socket bound to the secondary context. Set QoS on the socket, prompting GUQoS to activate secondary context. SIM TSY errors secondary context activation request. 
//! @SYMTestExpectedResults  EQoSEventAddPolicy and EQoSEventFailure are received by the test app.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudSecondary z:\testdata\configs\te_spudNetworkSide.ini SecondaryActivationFails301
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0204

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0205
//! @SYMTestCaseID      NET-Spud-NetworkSide-0205
//! @SYMTestCaseDesc Network deletes Activated Primary.
//! @SYMFssID NETWORKING/Spud/Control Plane/ PDP Context Deactivation
//! @SYMTestActions Activate the primary context only by explicitly starting Spud. After a pause, SIM.TSY deletes the primary context. 
//! @SYMTestExpectedResults Spud is started successfully - the RConnection is started with KErrNone. KLinkLayerClosed / KErrDisconnected notification is received by the test app.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudPrimaryEvent z:\testdata\configs\te_spudNetworkSide.ini PrimaryQoSEventDelete1
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0205

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0206
//! @SYMTestCaseID      NET-Spud-NetworkSide-0206
//! @SYMTestCaseDesc Network deactivates (suspends?) Secondary
//! @SYMFssID NETWORKING/Spud/Control Plane/Network initiated PDP Context Modification
//! @SYMTestActions Activate the primary and the secondary contexts by opening a socket & setting QoS on it. After a pause, SIM TSY deactivates the active secondary context. 
//! @SYMTestExpectedResults EQoSEventAddPolicy, EQoSEventConfirm, and  EQoSEventAdapt are received by the test app.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudTwoSecondaryEvents z:\testdata\configs\te_spudNetworkSide.ini SecondaryQosEventDeactivate1
DELAY 3000 
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0206

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0207
//! @SYMTestCaseID      NET-Spud-NetworkSide-0207
//! @SYMTestCaseDesc Network deletes Activated Secondary
//! @SYMFssID NETWORKING/Spud/Control Plane/ PDP Context Deactivation
//! @SYMTestActions Activate the primary and the secondary contexts by opening a socket & setting QoS on it. After a pause, SIM TSY deletes the active secondary context.
//! @SYMTestExpectedResults EQoSEventAddPolicy, EQoSEventConfirm, and  EQoSEventFailure are received by the test app.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudSecondaryEvent z:\testdata\configs\te_spudNetworkSide.ini SecondaryQosEventDelete1
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0207

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0208
//! @SYMTestCaseID      NET-Spud-NetworkSide-0208
//! @SYMTestCaseDesc  GUQoS triggers the KContextDelete on SPUDMAN after the Seondary PDP Context is created. -  This does not happen anymore in Guqos
//! @SYMFssID NETWORKING/Spud/Control Plane/ PDP Context Deactivation
//! @SYMTestActions Activate the primary and the secondary contexts by opening a socket & setting QoS on it, GuQoS deletes the created secondary context.
//! @SYMTestExpectedResults EQoSEventAddPolicy, EQoSEventFailure are received by the test app.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
//! DUE TO BEHAVIOURAL CHANGES IN GUQOS - THIS CASE IS NO LONGER VALID AND THEREFORE NOT RUN
//RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudSecondary z:\testdata\configs\te_spudNetworkSide.ini KContextDelete
//DELAY 3000
//RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0208

//run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
//run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0209
//! @SYMTestCaseID      NET-Spud-NetworkSide-0209
//! @SYMTestCaseDesc  The QoS parameter changes on the Primary PDP Context.
//! @SYMFssID NETWORKING/Spud/Control Plane/Network initiated PDP Context Modification
//! @SYMTestActions Explicitly start the SPUD interface to activate the primary context, use sim.tsy to trigger the QoS parameter changes on the Primary PDP Context.
//! @SYMTestExpectedResults SPUD starts successfully. SPUD receives the QoS parameter change event successfully. RConnection times out and returns the error code KErrTimedOut.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudPrimaryEvent z:\testdata\configs\te_spudNetworkSide.ini ENetworkQoSChangePrimary
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0209

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0210
//! @SYMTestCaseID      NET-Spud-NetworkSide-0210
//! @SYMTestCaseDesc The QoS parameter changes on the Secondary PDP Context
//! @SYMFssID NETWORKING/Spud/Control Plane/Network initiated PDP Context Modification
//! @SYMTestActions Activate the primary and the secondary contexts by opening a socket & setting QoS on it. Change the QoS parameters on the active secondary context.
//! @SYMTestExpectedResults EQoSEventAddPolicy, EQoSEventConfirm, and  EQoSEventAdapt are received by the test app.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudSecondaryEvent z:\testdata\configs\te_spudNetworkSide.ini ENetworkQoSChangeSecondary
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0210

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0211
//! @SYMTestCaseID      NET-Spud-NetworkSide-0211
//! @SYMTestCaseDesc  Sets a new set of QoS parameters for the established Secondary PDP Context.
//! @SYMFssID NETWORKING/Spud/Control Plane/Network initiated PDP Context Modification
//! @SYMTestActions Activate the primary and the secondary contexts by opening a socket & setting QoS on it,sets a new set of QoS parameters for the established Secondary PDP Context.
//! @SYMTestExpectedResults EQoSEventAddPolicy, EQoSEventConfirm, and  EQoSEventAddPolicy, EQoSEventConfirm are received by the test app.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudSecondaryChangeQoS z:\testdata\configs\te_spudNetworkSide.ini SecondaryActivationChangeQoS
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0211

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0212
//! @SYMTestCaseID      NET-Spud-NetworkSide-0212
//! @SYMTestCaseDesc Triggers the Primary PDP Context deletion before the lower NIF is up.
//! @SYMFssID NETWORKING/Spud/Control Plane/ PDP Context Deactivation
//! @SYMTestActions Explicitly start the SPUD interface to activate the primary context, it fails then deletes the Primary Context. 
//! @SYMTestExpectedResults Spud start fails. RConnection::Start returns the error.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudPrimary z:\testdata\configs\te_spudNetworkSide.ini PrimaryDeleteBeforeLowerNif
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0212

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0213
//! @SYMTestCaseID      NET-Spud-NetworkSide-0213
//! @SYMTestCaseDesc Triggers the Secondary PDP Context deletion before the lower NIF is up.
//! @SYMFssID NETWORKING/Spud/Control Plane/ PDP Context Deactivation
//! @SYMTestActions Activate the primary and the secondary contexts by opening a socket & setting QoS on it,fails to creat the secondary context.
//! @SYMTestExpectedResults EQoSEventAddPolicy, EQoSEventFailure are received by the test app.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudSecondary z:\testdata\configs\te_spudNetworkSide.ini SecondaryDeleteBeforeLowerNif
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0213
run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0214
//! @SYMTestCaseID      NET-Spud-NetworkSide-0214
//! @SYMTestCaseDesc Failure to Start a lower NIF for primary context (LinkLayerDown from lower NIF) 
//! @SYMFssID NETWORKING/Spud/Control Plane/Primary PDP Context Creation
//! @SYMTestActions Explicitly start SPUD. Spud starts the lower NIF for the primary context. Lower NIF reports LinkLayerDown with an error. 
//! @SYMTestExpectedResults Spud start fails. RConnection::Start returns the error.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 120 TE_SpudNetworkSide CSpudPrimary z:\testdata\configs\te_spudNetworkSide_platsec.ini PrimaryLowerNifStartFails210
DELAY 3000
RUN_TEST_STEP 30 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0214

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0215
//! @SYMTestCaseID      NET-Spud-NetworkSide-0215
//! @SYMTestCaseDesc Failure to Start a lower NIF for secondary context (LinkLayerDown from lower NIF) 
//! @SYMFssID NETWORKING/Spud/Control Plane/Secondary PDP Context Creation
//! @SYMTestActions Request activation of the secondary PDP context by opening a socket & setting QoS on it. Spud start the lower NIF for the secondary context. Lower NIF reports LinkLayerDown with error. 
//! @SYMTestExpectedResults The primary context is activated, secondary is not. EQoSEventAddPolicy and EQoSEventFailure with the error code are received by the test app.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudSecondary z:\testdata\configs\te_spudNetworkSide_platsec.ini SecondaryLowerNifStartFails310
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0215

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0216
//! @SYMTestCaseID      NET-Spud-NetworkSide-0216
//! @SYMTestCaseDesc Test Etel suspension of primary context
//! @SYMFssID NETWORKING/Spud/Control Plane/Network initiated PDP Context Modification
//! @SYMTestActions Create/send data on a socket with no QoS parameters (therefore a primary context), and read from the opposite loopback port. Suspend the context. Send more data and attempt to read from the opposite port. Resume the context. Send more data and attempt to read from the opposite port.
//! @SYMTestExpectedResults The read on the loopback comm port should work before the context is suspended, and after it is resumed. It should time-out when the context is suspended.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 120 TE_SpudNetworkSide CSpudSuspendContext z:\testdata\configs\te_spudNetworkSide.ini PrimaryContextSuspendAndResume
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
DELAY 3000
END_TESTCASE            NET-Spud-NetworkSide-0216

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0217
//! @SYMTestCaseID      NET-Spud-NetworkSide-0217
//! @SYMTestCaseDesc Test Etel suspension of secondary context
//! @SYMFssID NETWORKING/Spud/Control Plane/Network initiated PDP Context Modification
//! @SYMTestActions Create/send data on a socket with QoS parameters (therefore a secondary context), and read from the opposite loopback port. Suspend the context. Send more data and attempt to read from the opposite port. Resume the context. Send more data and attempt to read from the opposite port.
//! @SYMTestExpectedResults The read on the loopback comm port should work before the context is suspended, and after it is resumed. It should time-out when the context is suspended.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 120 TE_SpudNetworkSide CSpudSuspendContext z:\testdata\configs\te_spudNetworkSide.ini SecondaryContextSuspendAndResume
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
DELAY 3000
END_TESTCASE            NET-Spud-NetworkSide-0217

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0218
//! @SYMTestCaseID      NET-Spud-NetworkSide-0218
//! @SYMTestCaseDesc Primary PDP context activation fails
//! @SYMFssID NETWORKING/Spud/Control Plane/Primary PDP Context Creation
//! @SYMTestActions Primary PDP context activation fails by modifying the TFT values
//! @SYMTestExpectedResults The SpudMan code should respond to this event correctly without Leave and Panic.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudPrimary z:\testdata\configs\te_spudNetworkSide.ini PrimaryActivationFails18
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0218

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0219
//! @SYMTestCaseID      NET-Spud-NetworkSide-0219
//! @SYMTestCaseDesc Secondary PDP context: Setting TFT fails
//! @SYMFssID NETWORKING/Spud/Control Plane/Secondary PDP Context Creation
//! @SYMTestActions Setting TFT values on secondary PDP context fails due to using incorrect TFT values
//! @SYMTestExpectedResults The SpudMan code should respond to this event correctly without Leave and Panic.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudSecondary z:\testdata\configs\te_spudNetworkSide.ini SecondaryActivationFails19
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0219

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0220
//! @SYMTestCaseID      NET-Spud-NetworkSide-0220
//! @SYMTestCaseDesc Secondary PDP context: Setting requested QoS parameters fails
//! @SYMFssID NETWORKING/Spud/Control Plane/Secondary PDP Context Creation
//! @SYMTestActions Setting QoS parameters on secondary PDP context fails due to using incorrect QoS parameter values
//! @SYMTestExpectedResults The SpudMan code should respond to this event correctly without Leave and Panic.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudSecondary z:\testdata\configs\te_spudNetworkSide.ini SecondaryActivationFails20
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0220

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0221
//! @SYMTestCaseID      NET-Spud-NetworkSide-0221
//! @SYMTestCaseDesc Primary PDP context deletion fails
//! @SYMFssID NETWORKING/Spud/Control Plane/ PDP Context Deactivation
//! @SYMTestActions Primary PDP context deletion fails by modifying the TFT values
//! @SYMTestExpectedResults The SpudMan code should respond to this event correctly without Leave and Panic.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudPrimary z:\testdata\configs\te_spudNetworkSide.ini PrimaryDeletionFails21
DELAY 8000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0221

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0222
//! @SYMTestCaseID      NET-Spud-NetworkSide-0222
//! @SYMTestCaseDesc Secondary PDP context deletion fails
//! @SYMFssID NETWORKING/Spud/Control Plane/ PDP Context Deactivation
//! @SYMTestActions Secondary PDP context deletion fails by modifying the TFT values
//! @SYMTestExpectedResults The SpudMan code should respond to this event correctly without Leave and Panic.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudSecondary z:\testdata\configs\te_spudNetworkSide.ini SecondaryDeletionFails22
DELAY 8000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0222


START_TESTCASE          NET-Spud-NetworkSide-0223
//! @SYMTestCaseID      NET-Spud-NetworkSide-0223
//! @SYMTestCaseDesc  Network deletes a primary context
//! @SYMFssID NETWORKING/Spud/Control Plane/ PDP Context Deactivation
//! @SYMTestActions  Starts a secondary context by creating a socket with QoS, starts a rawipnif instance opposite the secondary context, deletes the primary context then sends data on the primary context's socket.
//! @SYMTestExpectedResults   Since the primary context is down, the data is sent on the secondary context, and is received by the rawipnif instance opposite the secondary context.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 600 TE_SpudNetworkSide CSpudDeletePrimary z:\testdata\configs\te_spudNetworkSide.ini PrimaryQoSEventDeleteWithSecondary
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0223

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0224
//! @SYMTestCaseID      NET-Spud-NetworkSide-0224
//! @SYMTestCaseDesc Call RConnection::Stop while SPUDFSM is initialising the phone  
//! @SYMFssId NETWORKING/Spud/Control Plane/Secondary PDP Context Creation
//! @SYMTestActions  Cause RPhone::Initialise to take a very long time to complete, and call RConnection::Stop while it is running
//! @SYMTestExpectedResults Connection stops successfully.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 120 TE_SpudNetworkSide CSpudPrimayStartingStop z:\testdata\configs\te_spudNetworkSide.ini PrimarySlowInitialisePhone
DELAY 3000
END_TESTCASE            NET-Spud-NetworkSide-0224

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script

START_TESTCASE          NET-Spud-NetworkSide-0225
//! @SYMTestCaseID      NET-Spud-NetworkSide-0225
//! @SYMTestCaseDesc Sanity check: successfully activate many primary contexts. 
//! @SYMFssID NETWORKING/Spud/Control Plane/Primary PDP Context Creation
//! @SYMTestActions Explicitly start the SPUD interfaces. SIM TSY, etc successfully activate the primary contexts.
//! @SYMTestExpectedResults  The Primary PDP contexts are activated, SPUD started: RConnection::Start on the SPUDs returns KErrNone.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 100 TE_SpudNetworkSide CSpudMultiPrimary z:\testdata\configs\te_spudNetworkSide.ini MultiPrimaryActivationOk1
DELAY 3000
RUN_TEST_STEP 100 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0225

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0226
//! @SYMTestCaseID      NET-Spud-NetworkSide-0226
//! @SYMTestCaseDesc Set requested Qos (SSD, IM CN SI) on a Secondary PDP context.
//! @SYMFssID NETWORKING/Spud/Control Plane/Secondary PDP Context Creation
//! @SYMTestActions  Activate the primary and the secondary contexts by opening a socket & setting requested Qos (SSD = Speech, SI = True, IM CN SI = True) on secondary PDP context
//! @SYMTestExpectedResults Both the primary & secondary contexts are activated. EQoSEventAddPolicy and EQoSEventConfirm are received by the test app.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudQosR5Secondary z:\testdata\configs\te_spudNetworkSide.ini SecondaryR5ActivationOk1
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0226

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0227
//! @SYMTestCaseID      NET-Spud-NetworkSide-0227
//! @SYMTestCaseDesc Secondary PDP context: Setting requested QoS parameters fails
//! @SYMFssID NETWORKING/Spud/Control Plane/Secondary PDP Context Creation
//! @SYMTestActions Setting QoS parameters on secondary PDP context fails due to using incorrect QoS parameter values
//! @SYMTestExpectedResults The SpudMan code should respond to this event correctly without Leave and Panic.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudQosR5Secondary z:\testdata\configs\te_spudNetworkSide.ini SecondaryR5ActivationFails20
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0227

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script.


START_TESTCASE          NET-Spud-NetworkSide-0228
//! @SYMTestCaseID      NET-Spud-NetworkSide-0228
//! @SYMTestCaseDesc The QoS R5 parameter changes on the Secondary PDP Context.The Network turns off SI Parameter
//! @SYMFssID NETWORKING/Spud/Control Plane/Network initiated PDP Context Modification
//! @SYMTestActions Activate the primary and the secondary contexts by opening a socket & setting QoS on it. Change the QoS parameters on the active secondary context.
//! @SYMTestExpectedResults EQoSEventAddPolicy, EQoSEventConfirm, and  EQoSEventAdapt are received by the test app.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudSecondaryQosR5Event z:\testdata\configs\te_spudNetworkSide.ini ENetworkQoSR5ChangeSecondary
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0228

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0229
//! @SYMTestCaseID      NET-Spud-NetworkSide-0229
//! @SYMTestCaseDesc The QoS parameter changes on the Secondary PDP Context.The Network changes the SSD to Unknown.
//! @SYMFssID NETWORKING/Spud/Control Plane/Network initiated PDP Context Modification
//! @SYMTestActions Activate the primary and the secondary contexts by opening a socket & setting QoS on it. Change the QoS parameters on the active secondary context.
//! @SYMTestExpectedResults EQoSEventAddPolicy, EQoSEventConfirm, and  EQoSEventAdapt are received by the test app.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudSecondaryQosR5Event z:\testdata\configs\te_spudNetworkSide.ini ENetworkQoSR5ChangeSecondary1
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0229

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0230
//! @SYMTestCaseID      NET-Spud-NetworkSide-0230
//! @SYMTestCaseDesc  Sets a new set of R5 QoS parameters for the established Secondary PDP Context.
//! @SYMFssID NETWORKING/Spud/Control Plane/Network initiated PDP Context Modification
//! @SYMTestActions Activate the primary and the secondary contexts by opening a socket & setting QoS on it,sets a new set of QoS parameters for the established Secondary PDP Context.
//! @SYMTestExpectedResults EQoSEventAddPolicy, EQoSEventConfirm, and  EQoSEventAddPolicy, EQoSEventConfirm are received by the test app.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 60 TE_SpudNetworkSide CSpudSecondaryChangeR5QoS z:\testdata\configs\te_spudNetworkSide.ini SecondaryActivationChangeQoSR5
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0230

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
run_script z:\TestData\scripts\te_esock_test_loadesock.script


START_TESTCASE          NET-Spud-NetworkSide-0231
//! @SYMTestCaseID      NET-Spud-NetworkSide-0231
//! @SYMTestCaseDesc  Network deletes a primary context where SI is set on Secondary PDP context.
//! @SYMFssID NETWORKING/Spud/Control Plane/ PDP Context Deactivation
//! @SYMTestActions  Starts a secondary context by creating a socket with QoS, starts a rawipnif instance opposite the secondary context, deletes the primary context then sends data on the primary context's socket.
//! @SYMTestExpectedResults   Since the primary context is down, the data is sent on the secondary context, and is received by the rawipnif instance opposite the secondary context.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_TEST_STEP 600 TE_SpudNetworkSide CSpudDeletePrimaryR5Qos z:\testdata\configs\te_spudNetworkSide.ini PrimaryQoSR5EventDeleteWithSecondary
DELAY 3000
RUN_TEST_STEP 60 TE_SpudNetworkSide CESockCheck z:\testdata\configs\te_spudNetworkSide.ini ESockCheck
END_TESTCASE            NET-Spud-NetworkSide-0231

run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script


RUN_UTILS  MakeReadWrite c:\simtsy\config.txt
RUN_UTILS  MakeReadWrite c:\config.txt
RUN_UTILS  MakeReadWrite c:\qospolicies.ini
RUN_UTILS  MakeReadWrite c:\private\101F7989\esock\qospolicies.ini
RUN_UTILS  DeleteFile c:\simtsy\config.txt
RUN_UTILS  DeleteFile c:\config.txt
RUN_UTILS  DeleteFile c:\loopback.ini
RUN_UTILS  DeleteFile c:\qospolicies.ini
RUN_UTILS  DeleteFile c:\private\101F7989\esock\qospolicies.ini

