diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index 9ceec5c7f2febaca0cb924a7fa96e5e1beec84b1..e42e68680c49ce9512dcdff7437ffd7a16037503 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -3950,16 +3950,35 @@ module OneM2M_Functions { */ function f_getYear(charstring p_timestamp) runs on Tester return charstring { - var charstring v_year; + var charstring v_year := ""; var integer i; - for(i := 0; i < 3; i := i+1){ + for(i := 0; i <= 3; i := i+1){ v_year := v_year & p_timestamp[i]; } return v_year; } // end f_getYear + /** + * @desc Retrieve Month from a given timestamp + * @param p_timestamp Given timestamp + * @return Year + */ + function f_getMonth(charstring p_timestamp) runs on Tester return charstring { + + var charstring v_month := ""; + var integer i; + + for(i := 4; i <= 5; i := i+1){ + if(p_timestamp[i] != "0") { + v_month := v_month & p_timestamp[i]; + } + } + return v_month; + + } // end f_getYear + /** * @desc Retrieve IP address from a given address which includes port information separated by : * @param p_addressPort Given address @@ -3967,7 +3986,7 @@ module OneM2M_Functions { */ function f_getIpv4Address(charstring p_addressPort) runs on Tester return charstring { - var charstring v_ipv4Address; + var charstring v_ipv4Address := ""; var integer i:= 0; while ((i < lengthof(p_addressPort)-1) and (p_addressPort[i] != ":")){ diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn index 61cbe47367d77919cbbdd932856e5b52a17729c6..b9697a472f5e8d6dd596c1397905e5ab899dc6bb 100644 --- a/OneM2M_PermutationFunctions.ttcn +++ b/OneM2M_PermutationFunctions.ttcn @@ -5874,7 +5874,6 @@ module OneM2M_PermutationFunctions { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; - var integer v_acpIndex := -1; var charstring v_currentTime; var RequestPrimitive v_createRequest; var AccessControlRule v_accessControlRule := valueof(m_createAcr({"all"}, int63)); @@ -5889,11 +5888,11 @@ module OneM2M_PermutationFunctions { // Preamble v_createRequest := f_getCreateRequestPrimitive(int1, m_createAcpBase, -1); v_currentTime := fx_generateTimestamp(); - v_accessControlRule.accessControlContexts_list := {{{"* * * * * " & f_getYear(v_currentTime)}, omit, omit}}; + v_accessControlRule.accessControlContexts_list := {{{"* * * * " & f_getMonth(v_currentTime) & " *"}, omit, omit}}; v_createRequest.primitiveContent.accessControlPolicy.privileges.accessControlRule_list := {v_accessControlRule}; - v_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource + vc_acpAuxIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpIndex].resource)}, -); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpAuxIndex].resource)}, -); // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); @@ -5922,6 +5921,8 @@ module OneM2M_PermutationFunctions { //Postamble + f_cse_updateAcpAuxResource(int63); + f_cse_postamble_deleteResources(); //Tear down @@ -5932,8 +5933,9 @@ module OneM2M_PermutationFunctions { function f_CSE_SEC_ACP_006(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on AeSimu{ // Local variables var MsgIn v_response; + var charstring v_month; + var charstring v_currentTime; var integer v_aeIndex := -1; - var integer v_acpIndex := -1; var RequestPrimitive v_createRequest; var AccessControlRule v_accessControlRule := valueof(m_createAcr({"all"}, int63)); @@ -5946,11 +5948,18 @@ module OneM2M_PermutationFunctions { // Preamble v_createRequest := f_getCreateRequestPrimitive(int1, m_createAcpBase, -1); - v_accessControlRule.accessControlContexts_list := {{{"* * * * * 3000"}, omit, omit}}; + v_currentTime := fx_generateTimestamp(); + v_month := f_getMonth(v_currentTime); + if(v_month =="12") { + v_month := "1"; + } else { + v_month := int2char(char2int(v_month) + 1); + } + v_accessControlRule.accessControlContexts_list := {{{"* * * * " & v_month & " *"}, omit, omit}}; v_createRequest.primitiveContent.accessControlPolicy.privileges.accessControlRule_list := {v_accessControlRule}; - v_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource + vc_acpAuxIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpIndex].resource)}, -); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpAuxIndex].resource)}, -); // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); @@ -5979,6 +5988,8 @@ module OneM2M_PermutationFunctions { //Postamble + f_cse_updateAcpAuxResource(int63); + f_cse_postamble_deleteResources(); //Tear down