Commit 3a98ae69 authored by Yann Garcia's avatar Yann Garcia
Browse files

Start validate AtsSpatem

parent 8cba6a42
......@@ -177,7 +177,17 @@ system.utPort.params := "UT_MAPEMSPATEM/UDP(dst_ip=127.0.0.1,dst_port=12345,src_
# Check that protocolVersion is set to 1 and messageID is set to 4
#ItsSpatem_TestCases.TC_IS_TLM_GEN_MSGF_BV_01
# An IUT shall include the unique identifier for the intersection as part of the signal phase and timing message broadcast
ItsSpatem_TestCases.TC_IS_TLM_GEN_MSGF_BV_02
#ItsSpatem_TestCases.TC_IS_TLM_GEN_MSGF_BV_02
# Check that TLM service generates a SPAT message with the revision data element synchronized with the revision data element in the intersection configuration of the roadway geometric information (MAP)
#ItsSpatem_TestCases.TC_IS_TLM_GEN_MSGF_BV_03
# An IUT shall include a timestamp as part of the signal phase and timing message broadcast
#ItsSpatem_TestCases.TC_IS_TLM_GEN_MSGF_BV_04
# An IUT shall include signalGroupe for each intersection if this signalGroup is defined in the intersection configuration of the roadway geometric information (MAP)
#ItsSpatem_TestCases.TC_IS_TLM_GEN_MSGF_BV_05
# For each vehicular manoeuvre at a signalized intersection, an IUT shall include the current movement state
#ItsSpatem_TestCases.TC_IS_TLM_GEN_MSGF_BV_06
# For each pedestrian manoeuvre at a signalized intersection, an IUT shall include the current movement state
ItsSpatem_TestCases.TC_IS_TLM_GEN_MSGF_BV_07
[MAIN_CONTROLLER]
# The options herein control the behavior of MC.
......
......@@ -232,7 +232,7 @@ module ItsSpatem_TpFunctions {
mw_spatemInd(
mw_spatemPdu(
mw_spatem_intersections(
{mw_IntersectionState_moyAndTimeStamp}
{mw_IntersectionState_moyAndTimeStamp}
)
)
)) {
......@@ -288,7 +288,7 @@ module ItsSpatem_TpFunctions {
-, //IntersectionReferenceID p_id
-, //MsgCount p_revision
-, //IntersectionStatusObject p_status
{mw_movementState} //MovementList p_states
{*, mw_movementState, *} //MovementList p_states
)}
)
)
......@@ -316,6 +316,8 @@ module ItsSpatem_TpFunctions {
function f_IS_TLM_GEN_MSGF_BV_06 () runs on ItsMapemSpatem {
// Local variables
var MapemInd v_mapem;
var SpatemInd v_spatem;
// Test control
if (not PICS_SPATEM_GENERATION) {
......@@ -330,26 +332,50 @@ module ItsSpatem_TpFunctions {
// Preamble
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for MAPEM sent
f_awaitMapeMessage(
mw_mapemInd(
mw_mapemPdu(
mw_mapem(
{
mw_intersectionGeometry(
-, -, -,
?
)
}
))),
v_mapem
);
// Wait for SPATEM sent
tc_ac.start(2.0);
f_awaitSpateMessage(
mw_spatemInd(
mw_spatemPdu(
mw_defaultSpatem
)),
v_spatem
);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
tc_ac.start;
alt {
[] mapemSpatemPort.receive(
mw_spatemInd(
mw_spatemPdu(
mw_spatem_intersections(
{mw_IntersectionState(
?, //IntersectionReferenceID p_id
-, //MsgCount p_revision
-, //IntersectionStatusObject p_status
{mw_movementState(
?,//SignalGroupID,
? //MovementEventList,
)} //MovementList p_states
)}
mw_spatemInd(
mw_spatemPdu(
mw_spatem_intersections(
{mw_IntersectionState(
v_mapem.msgIn.map_.intersections[0].id, //IntersectionReferenceID p_id
-, //MsgCount p_revision
-, //IntersectionStatusObject p_status
{
*,
mw_movementState(
?,//SignalGroupID,
? //MovementEventList,
),
*
} //MovementList p_states
)}
)
)
)) {
......@@ -375,7 +401,85 @@ module ItsSpatem_TpFunctions {
*/
function f_IS_TLM_GEN_MSGF_BV_07 () runs on ItsMapemSpatem {
// TODO
// Local variables
var MapemInd v_mapem;
var SpatemInd v_spatem;
// Test control
if (not PICS_SPATEM_GENERATION) {
log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
setverdict(inconc);
stop;
}
// Test component configuration
f_cfUp();
// Preamble
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for MAPEM sent
f_awaitMapeMessage(
mw_mapemInd(
mw_mapemPdu(
mw_mapem(
{
mw_intersectionGeometry(
-, -, -,
{ *, mw_roadLane(-, mw_laneAttributes_crosswak), * }
)
}
))),
v_mapem
);
log("######################## ", v_mapem);
// Wait for SPATEM sent
f_awaitSpateMessage(
mw_spatemInd(
mw_spatemPdu(
mw_defaultSpatem
)),
v_spatem
);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
tc_ac.start;
alt {
[] mapemSpatemPort.receive(
mw_spatemInd(
mw_spatemPdu(
mw_spatem_intersections(
{mw_IntersectionState(
v_mapem.msgIn.map_.intersections[0].id, //IntersectionReferenceID p_id
-, //MsgCount p_revision
-, //IntersectionStatusObject p_status
{
*,
mw_movementState(
?,//SignalGroupID,
? //MovementEventList,
),
*
} //MovementList p_states
)}
)
)
)) {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Successfully received SAPTEM PDU header. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
}
}
// Postamble
//f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
f_poDefault();
f_cfDown();
} // End of function f_IS_TLM_GEN_MSGF_BV_07
......
......@@ -1739,6 +1739,7 @@ module ItsRSUsSimulator_Functions {
// Update revision fields
vc_rsuMessagesValueList[vc_rsu_id].mapem.map_.intersections[0].revision := f_incMsgIssueRevision();
// TODO Add more?
vc_mapem := true;
}
if (vc_spatem == false) {
vc_rsuMessagesValueList[vc_rsu_id].spatems[0] := m_spatemParm(
......@@ -1754,10 +1755,11 @@ module ItsRSUsSimulator_Functions {
vc_states[0][v_intersection] := vc_rsuMessagesValueList[vc_rsu_id].spatems[0].spat.intersections[v_intersection].states;
} // End of 'for' statement
// TODO Add more?
vc_spatem := true;
}
log("a_process_cf_ut_command: MAPEM=", vc_rsuMessagesValueList[vc_rsu_id].mapem);
vc_mapem := true;
tc_mapem.start;
log("a_process_cf_ut_command: SPATEM=", vc_rsuMessagesValueList[vc_rsu_id].spatems[0]);
tc_mapem.start; // Start only MAPEM
cfPort.send(UtMapemSpatemResults: { utMapemSpatemInitializeResult := true } );
repeat;
}
......@@ -1768,7 +1770,6 @@ module ItsRSUsSimulator_Functions {
// TODO
}
cfPort.send(UtMapemSpatemResults: { utMapemSpatemTriggerResult := true } );
vc_spatem := true;
tc_spatem.start;
} else if (v_utMapemSpatemTrigger.event == mapProfile0) { // MAPEM command
if (
......
......@@ -3674,7 +3674,7 @@ module ItsRSUsSimulator_PicsInitConsts {
} // End of group mapemZone6
group mapemConformamnceTest {
group mapemConformanceTest {
group profileId0 {
......@@ -3884,6 +3884,38 @@ module ItsRSUsSimulator_PicsInitConsts {
}
} // End of c_PICS_MAP_ConfTest_ProfileId_0_Lane4
const NodeListXY c_PICS_MAP_ConfTest_ProfileId_0_Lane5 := {
nodes := {
{
delta := {
node_XY3 := {
x := 1616,
y := -250
}
},
attributes := omit
},
{
delta := {
node_XY5 := {
x := 3637,
y := -4021
}
},
attributes := omit
},
{
delta := {
node_XY6 := {
x := 5852,
y := -6316
}
},
attributes := omit
}
}
} // End of c_PICS_MAP_ConfTest_ProfileId_0_Lane5
const MapemParm c_PICS_MAP_ConfTest_ProfileId_0 := {
intersections := {
{ // Start of intersection #0
......@@ -3939,8 +3971,8 @@ module ItsRSUsSimulator_PicsInitConsts {
{ // Start of Lane #2
laneID := 2,
name := omit,
ingressApproach := 1,
egressApproach := omit,
ingressApproach := omit,
egressApproach := 1,
laneAttributes := {
directionalUse := '10'B,
sharedWith := '0000000000'B,
......@@ -3993,10 +4025,10 @@ module ItsRSUsSimulator_PicsInitConsts {
}*/
}, // End of Lane #3
{ // Start of Lane #4
laneID := 2,
laneID := 4,
name := omit,
ingressApproach := 1,
egressApproach := omit,
ingressApproach := omit,
egressApproach := 1,
laneAttributes := {
directionalUse := '10'B,
sharedWith := '0000000000'B,
......@@ -4010,7 +4042,26 @@ module ItsRSUsSimulator_PicsInitConsts {
connectsTo := omit,
overlays := omit,
regional := omit
} // End of Lane #4
}, // End of Lane #4
{ // Start of Lane #5
laneID := 5,
name := omit,
ingressApproach := omit,
egressApproach := omit,
laneAttributes := {
directionalUse := '11'B,
sharedWith := '0000000000'B,
laneType := {
crosswalk := '0000011010000000'B
},
regional := omit
},
maneuvers := omit,
nodeList := c_PICS_MAP_ConfTest_ProfileId_0_Lane5,
connectsTo := omit,
overlays := omit,
regional := omit
} // End of Lane #5
}, // End of LaneSet
preemptPriorityData := omit,
regional := omit
......@@ -4021,7 +4072,7 @@ module ItsRSUsSimulator_PicsInitConsts {
} // End of group profileId0
} // End of group mapemConformamnceTest
} // End of group mapemConformanceTest
} // End of group mapemEvents
......@@ -4587,7 +4638,7 @@ module ItsRSUsSimulator_PicsInitConsts {
} // End of group spatemZone6
group spatemConformamnceTest {
group spatemConformanceTest {
group profileId0 {
......@@ -4674,7 +4725,7 @@ module ItsRSUsSimulator_PicsInitConsts {
} // End of c_PICS_SPAT_ConfTest_ProfileId_0
} // End of group profileId0
} // End of group spatemConformamnceTest
} // End of group spatemConformanceTest
} // End of group spatemEvents
......
......@@ -535,7 +535,12 @@ module ItsSecurity_TestCases {
}
// Test component configuration
f_cf01Up(); // Initialise IUT with PX_CERTIFICATE_NAME
//vc_hashedId8ToBeUsed := cc_iutCert_A_N; // ecdsaNistP256 SHA-256 (uncompressed)
//vc_hashedId8ToBeUsed := cc_iutCert_A_B; // ecdsaBrainpoolP256r1
//vc_hashedId8ToBeUsed := cc_iutCert_A_B_N; // ecdsaBrainpoolP256r1 (uncompressed)
//vc_hashedId8ToBeUsed := cc_iutCert_A_B3; // ecdsaBrainpoolP384r1
//vc_hashedId8ToBeUsed := cc_iutCert_A_B3_N; // ecdsaBrainpoolP384r1 (uncompressed)
f_cf01Up();
// Test adapter configuration
......@@ -686,7 +691,6 @@ module ItsSecurity_TestCases {
* when {
* the IUT is sending secured CAM as a message of type EtsiTs103097Data
* containing signer
* containing signer
* containing certificate
* } then {
* this message
......@@ -1784,7 +1788,7 @@ module ItsSecurity_TestCases {
* at TIME_1
* and the IUT having received a CAM
* containing inlineP2pcdRequest
* containing HashedId3 value
* containing HashedId3 value HASHED_ID_3
* indicating last 3 octets of currently used AT certificate
* at TIME_2 (TIME_1 < TIME_2 < TIME_1 + 1sec)
* }
......@@ -1796,7 +1800,7 @@ module ItsSecurity_TestCases {
* the IUT sends a CAM
* containing signer
* and containing certificate
* referenced by the requested digest
* referenced by the HashedId3 value HASHED_ID_3
* }
* }
* </pre>
......@@ -2479,7 +2483,7 @@ module ItsSecurity_TestCases {
* containing signer
* containing certificate
* and containing headerInfo
* does not containing requestedCertificate
* not containing requestedCertificate
* }
* }
* </pre>
......@@ -3145,6 +3149,10 @@ module ItsSecurity_TestCases {
* Initial conditions:
* with {
* the IUT is authorized with AT certificate (X_CERTIFICATE)
* containing verifyKeyIndicator
* containing verificationKey
* containing X_KEY
* indicating KEY
* }
* ensure that {
* when {
......@@ -3182,7 +3190,9 @@ module ItsSecurity_TestCases {
}
// Test component configuration
f_cf01Up(); // Initialise IUT with PX_CERTIFICATE_NAME
//vc_hashedId8ToBeUsed := cc_iutCert_A_B; // ecdsaBrainpoolP256r1
//vc_hashedId8ToBeUsed := cc_iutCert_A_B3; // ecdsaBrainpoolP384r1
f_cf01Up();
// Test adapter configuration
......@@ -3261,7 +3271,7 @@ module ItsSecurity_TestCases {
* Config Id: CF01
* Initial conditions:
* with {
* the IUT is authorized with AT certificate (X_CERTIFICATE)
* the IUT is authorized with AT certificate (CERT_IUT_A_AT)
* }
* ensure that {
* when {
......@@ -5359,7 +5369,9 @@ module ItsSecurity_TestCases {
}
// Test component configuration
f_cf01Up(); // Initialise IUT with PX_CERTIFICATE_NAME
//vc_hashedId8ToBeUsed := cc_iutCert_A_B; // ecdsaBrainpoolP256r1
//vc_hashedId8ToBeUsed := cc_iutCert_A_B3; // ecdsaBrainpoolP384r1
f_cf01Up();
// Test adapter configuration
......@@ -6018,8 +6030,7 @@ module ItsSecurity_TestCases {
* containing headerInfo
* containing generationTime
* and not containing expiryTime
* and not containing generationLocation,
* and not containing encryptionKey
* and not containing generationLocation
* and not containing p2pcdLearningRequest
* and not containing missingCrlIdentifier
* }
......@@ -6231,8 +6242,7 @@ module ItsSecurity_TestCases {
* </pre>
*
* @see ETSI TS 103 096-2 v1.5.1 TP_SEC_ITSS_SND_GENMSG_05_BV
* @reference ETSI TS 103 097 [1] Clauses 7.1.3
* @reference IEEE 1609.2 [2] Clause 6.3.4
* @reference ETSI TS 103 097 [1] Clauses 5.4 & 7.1.3
*/
testcase TC_SEC_ITSS_SND_GENMSG_05_BV() runs on ItsGeoNetworking system ItsSecSystem {
......@@ -6462,14 +6472,12 @@ module ItsSecurity_TestCases {
* the IUT is requested to send a secured Beacon
* } then {
* the IUT sends a message of type EtsiTs103097Data
* contains content
* contains signedData
* containing tbsData
* containing payload
* containing data
* containing content
* containing unsecuredData
* containing not-empty data
* contains signer
* contains certificate
* containing appPermissions
* containing an item of type PsidSsp
* containing psid
* indicating value AID_GNMGMT
* }
* }
* </pre>
......@@ -6602,6 +6610,8 @@ module ItsSecurity_TestCases {
}
// Test component configuration
//vc_hashedId8ToBeUsed := cc_iutCert_A_B; // ecdsaBrainpoolP256r1
//vc_hashedId8ToBeUsed := cc_iutCert_A_B3; // ecdsaBrainpoolP384r1
f_cf01Up();
v_longPosVectorIut := f_getPosition(c_compIut);
......@@ -6878,7 +6888,7 @@ module ItsSecurity_TestCases {
* Config Id: CF01
* Initial conditions:
* with {
* the IUT is authorized with AT certificate (X_CERTIFICATE)
* the IUT is authorized with certificate C_ISSUER
* }
* ensure that {
* when {
......@@ -6999,6 +7009,8 @@ module ItsSecurity_TestCases {
}
// Postamble
f_poNeighbour();
f_cf01Down();
} // End of testcase TC_SEC_ITSS_SND_CERT_03_BV
Subproject commit b6204cd7b6c8deae071e042a2fc384ecf09b7c3d
Subproject commit 18a7b38a2780dcf27f55c06b3756ea8fc222ebf5
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment