Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
A
ATS
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
TST
ATS
Commits
2b5752b5
Commit
2b5752b5
authored
5 years ago
by
Miguel Angel Reina Ortega
Browse files
Options
Downloads
Patches
Plain Diff
Removing Release 4 test cases according to TDE-2020-0036
Signed-off-by:
reinaortega
<
miguelangel.reinaortega@etsi.org
>
parent
b7db94d6
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
OneM2M_Testcases_CSE_Release_3.ttcn
+0
-412
0 additions, 412 deletions
OneM2M_Testcases_CSE_Release_3.ttcn
with
0 additions
and
412 deletions
OneM2M_Testcases_CSE_Release_3.ttcn
+
0
−
412
View file @
2b5752b5
...
@@ -438,43 +438,6 @@ module OneM2M_Testcases_CSE_Release_3 {
...
@@ -438,43 +438,6 @@ module OneM2M_Testcases_CSE_Release_3 {
}
}
}
}
testcase TC_CSE_DMR_CRE_001_NOD_CB() runs on Tester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createNodeBase;
var ResponsePrimitive v_responsePrimitive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_createRequest.primitiveContent.node.resourceName := omit;
v_ae1.start(f_CSE_DMR_CRE_001(int14, v_createRequest, -));//Node
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
if(not ispresent(v_responsePrimitive.primitiveContent.node.resourceName)){
setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
}
}
}
testcase TC_CSE_DMR_CRE_001_MGC_CB() runs on Tester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createMgmtCmdBase;
var ResponsePrimitive v_responsePrimitive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_createRequest.primitiveContent.mgmtCmd.resourceName := omit;
v_ae1.start(f_CSE_DMR_CRE_001(int12, v_createRequest, -));//Management Command
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
if(not ispresent(v_responsePrimitive.primitiveContent.mgmtCmd.resourceName)){
setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
}
}
}
testcase TC_CSE_DMR_CRE_001_LCP_CB() runs on Tester system CseSystem {
testcase TC_CSE_DMR_CRE_001_LCP_CB() runs on Tester system CseSystem {
// Local variables
// Local variables
var template RequestPrimitive v_createRequest := m_createLocationPolicyBase;
var template RequestPrimitive v_createRequest := m_createLocationPolicyBase;
...
@@ -493,78 +456,6 @@ module OneM2M_Testcases_CSE_Release_3 {
...
@@ -493,78 +456,6 @@ module OneM2M_Testcases_CSE_Release_3 {
}
}
testcase TC_CSE_DMR_CRE_001_STCG_CB() runs on Tester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createStatsConfigBase;
var ResponsePrimitive v_responsePrimitive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_createRequest.primitiveContent.statsConfig.resourceName := omit;
v_ae1.start(f_CSE_DMR_CRE_001(int22, v_createRequest, -));//Stats Config
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
if(not ispresent(v_responsePrimitive.primitiveContent.statsConfig.resourceName)){
setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
}
}
}
testcase TC_CSE_DMR_CRE_001_STCL_CB() runs on Tester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createStatsCollectBase;
var ResponsePrimitive v_responsePrimitive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_createRequest.primitiveContent.statsCollect.resourceName := omit;
v_ae1.start(f_CSE_DMR_CRE_001(int21, v_createRequest, -));//Stats Collect
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
if(not ispresent(v_responsePrimitive.primitiveContent.statsCollect.resourceName)){
setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
}
}
}
testcase TC_CSE_DMR_CRE_001_MSSP_CB() runs on Tester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createM2mServiceSubscriptionProfileBase;
var ResponsePrimitive v_responsePrimitive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_createRequest.primitiveContent.m2mServiceSubscriptionProfile.resourceName := omit;
v_ae1.start(f_CSE_DMR_CRE_001(int11, v_createRequest, -));//Subscription Profile
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
if(not ispresent(v_responsePrimitive.primitiveContent.m2mServiceSubscriptionProfile.resourceName)){
setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
}
}
}
testcase TC_CSE_DMR_CRE_001_ASAR_CB() runs on Tester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createServiceSubscribedAppRuleBase;
var ResponsePrimitive v_responsePrimitive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_createRequest.primitiveContent.serviceSubscribedAppRule.resourceName := omit;
v_ae1.start(f_CSE_DMR_CRE_001(int19, v_createRequest, -));//Service Subscribed App
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
if(not ispresent(v_responsePrimitive.primitiveContent.serviceSubscribedAppRule.resourceName)){
setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
}
}
}
testcase TC_CSE_DMR_CRE_001_TS_CB() runs on Tester system CseSystem {
testcase TC_CSE_DMR_CRE_001_TS_CB() runs on Tester system CseSystem {
// Local variables
// Local variables
var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
...
@@ -1621,30 +1512,6 @@ module OneM2M_Testcases_CSE_Release_3 {
...
@@ -1621,30 +1512,6 @@ module OneM2M_Testcases_CSE_Release_3 {
v_ae1.done;
v_ae1.done;
}
}
testcase TC_CSE_DMR_CRE_022_MGO() runs on Tester system CseSystem {
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template RequestPrimitive v_createRequest := m_createMgmtObjBase;
v_createRequest.primitiveContent.mgmtResource.announceTo := {PX_TS_CSE1.cseId};
v_ae1.start(f_CSE_DMR_CRE_022(int13, v_createRequest, mw_createMgmtObjAnnc));//MgmtObj
v_ae1.done;
}
testcase TC_CSE_DMR_CRE_022_NOD() runs on Tester system CseSystem {
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template RequestPrimitive v_createRequest := m_createNodeBase;
v_createRequest.primitiveContent.node.announceTo := {PX_TS_CSE1.cseId};
v_ae1.start(f_CSE_DMR_CRE_022(int14, v_createRequest, mw_createNodeAnnc));//Node
v_ae1.done;
}
testcase TC_CSE_DMR_CRE_022_SCH() runs on Tester system CseSystem {
testcase TC_CSE_DMR_CRE_022_SCH() runs on Tester system CseSystem {
// Local variables
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
...
@@ -1805,49 +1672,6 @@ module OneM2M_Testcases_CSE_Release_3 {
...
@@ -1805,49 +1672,6 @@ module OneM2M_Testcases_CSE_Release_3 {
}
}
}
}
testcase TC_CSE_DMR_CRE_023_MGO() runs on Tester system CseSystem {
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template RequestPrimitive v_createRequest := m_createMgmtObjBase;
var RequestPrimitive v_requestPrimitive;
var XSD.String v_description := "Description of mgmtObj";
v_createRequest.primitiveContent.mgmtResource.announceTo := {PX_TS_CSE1.cseId};
v_createRequest.primitiveContent.mgmtResource.description := v_description;
v_createRequest.primitiveContent.mgmtResource.announcedAttribute := {"dc"};
v_ae1.start(f_CSE_DMR_CRE_023(int13, v_createRequest, mw_createMgmtObjAnnc()));//MgmtObj
v_ae1.done;
if(getverdict == pass){
//Check if description attribute has been announced
v_requestPrimitive := f_getRequestPrimitive(v_ae1);
if (ispresent(v_requestPrimitive.primitiveContent.announcedMgmtResource.description)){
if(v_requestPrimitive.primitiveContent.announcedMgmtResource.description != v_description){
setverdict(fail, __SCOPE__ & ": Error: Value of description has not been announced successfully");
}else{
setverdict(pass, __SCOPE__ & ": Value of description has been announced successfully");
}
}else{
setverdict(fail, __SCOPE__ & ": Error: description has not been announced");
}
}
}
testcase TC_CSE_DMR_CRE_023_NOD() runs on Tester system CseSystem {
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template RequestPrimitive v_createRequest := m_createNodeBase;
var RequestPrimitive v_requestPrimitive;
v_createRequest.primitiveContent.node.announceTo := {PX_TS_CSE1.cseId};
//TODO node to be done. hostedCSELink attribute (OA) to be added!!!
v_ae1.start(f_CSE_DMR_CRE_023(int14, v_createRequest, mw_createNodeAnnc));//Node
v_ae1.done;
}
testcase TC_CSE_DMR_CRE_023_SCH() runs on Tester system CseSystem {
testcase TC_CSE_DMR_CRE_023_SCH() runs on Tester system CseSystem {
// Local variables
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
...
@@ -3030,34 +2854,6 @@ module OneM2M_Testcases_CSE_Release_3 {
...
@@ -3030,34 +2854,6 @@ module OneM2M_Testcases_CSE_Release_3 {
v_ae1.done;
v_ae1.done;
}
}
testcase TC_CSE_DMR_RET_017_MGC() runs on Tester system CseSystem {
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.mgmtCmd := m_contentMgmtCmd_allOmit;
v_contentResponse.mgmtCmd.parentID := ?;
v_contentResponse.mgmtCmd.creationTime := ?;
v_ae1.start(f_CSE_DMR_RET_017(int12, m_createMgmtCmdBase, v_contentResponse));//MgmtCmd
v_ae1.done;
}
testcase TC_CSE_DMR_RET_017_NOD() runs on Tester system CseSystem {
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.node := m_contentNode_allOmit;
v_contentResponse.node.parentID := ?;
v_contentResponse.node.creationTime := ?;
v_ae1.start(f_CSE_DMR_RET_017(int14, m_createNodeBase, v_contentResponse));//Node
v_ae1.done;
}
testcase TC_CSE_DMR_RET_017_CSR() runs on Tester system CseSystem {
testcase TC_CSE_DMR_RET_017_CSR() runs on Tester system CseSystem {
// Local variables
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
...
@@ -3086,34 +2882,6 @@ module OneM2M_Testcases_CSE_Release_3 {
...
@@ -3086,34 +2882,6 @@ module OneM2M_Testcases_CSE_Release_3 {
v_ae1.done;
v_ae1.done;
}
}
testcase TC_CSE_DMR_RET_017_STCL() runs on Tester system CseSystem {
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.statsCollect := m_contentStatsCollect_allOmit;
v_contentResponse.statsCollect.parentID := ?;
v_contentResponse.statsCollect.creationTime := ?;
v_ae1.start(f_CSE_DMR_RET_017(int21, m_createStatsCollectBase, v_contentResponse));//StatsCollect
v_ae1.done;
}
testcase TC_CSE_DMR_RET_017_STCG() runs on Tester system CseSystem {
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.statsConfig := m_contentStatsConfig_allOmit;
v_contentResponse.statsConfig.parentID := ?;
v_contentResponse.statsConfig.creationTime := ?;
v_ae1.start(f_CSE_DMR_RET_017(int22, m_createStatsConfigBase, v_contentResponse));//StatsConfig
v_ae1.done;
}
testcase TC_CSE_DMR_RET_017_SUB() runs on Tester system CseSystem {
testcase TC_CSE_DMR_RET_017_SUB() runs on Tester system CseSystem {
// Local variables
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
...
@@ -4707,116 +4475,6 @@ module OneM2M_Testcases_CSE_Release_3 {
...
@@ -4707,116 +4475,6 @@ module OneM2M_Testcases_CSE_Release_3 {
/**
/**
* @desc Check that the IUT updates successfully the value of the optional attribute OPTIONAL_ATTRIBUTE of the RESOURCE_TYPE resource under CSEBase
* @desc Check that the IUT updates successfully the value of the optional attribute OPTIONAL_ATTRIBUTE of the RESOURCE_TYPE resource under CSEBase
*/
*/
testcase TC_CSE_DMR_UPD_015_NOD_LBL() runs on Tester system CseSystem {
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var Labels v_labels := {"MyLabel"};
var template RequestPrimitive v_updateRequest := m_updateNodeBase;
var ResponsePrimitive v_responsePrimitive;
var PrimitiveContent v_primitiveContentRetrieveResource;
v_updateRequest.primitiveContent.node.labels := v_labels;
v_ae1.start(f_CSE_DMR_UPD_015(int14, m_createNodeBase, v_updateRequest));//Node
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
//Check attribute 1
if(ispresent(v_responsePrimitive.primitiveContent)) {
if(ischosen(v_responsePrimitive.primitiveContent.node)) {
if(v_responsePrimitive.primitiveContent.node.labels != v_labels){
setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly")
}
}
}
v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
//Check that the resource has been udpated correctly
if(ischosen(v_primitiveContentRetrieveResource.node)) {
if(v_primitiveContentRetrieveResource.node.labels != v_labels){
setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly")
}
}
}
}
testcase TC_CSE_DMR_UPD_015_NOD_ACPI() runs on Tester system CseSystem {
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template RequestPrimitive v_updateRequest := m_updateNodeBase;
var RequestPrimitive v_updateRequestPrimitive;
var ResponsePrimitive v_responsePrimitive;
var PrimitiveContent v_primitiveContentRetrieveResource;
v_ae1.start(f_CSE_DMR_UPD_015(int14, m_createNodeBase, v_updateRequest, true));//Node
v_ae1.done;
if(getverdict == pass){
v_responsePrimitive := f_getResponsePrimitive(v_ae1);
v_updateRequestPrimitive := f_getRequestPrimitive(v_ae1);
//Check attribute 1
if(ispresent(v_responsePrimitive.primitiveContent)) {
if(ischosen(v_responsePrimitive.primitiveContent.node)) {
if(v_responsePrimitive.primitiveContent.node.accessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.node.accessControlPolicyIDs)){
setverdict(fail, __SCOPE__ & ": Error: Access Control Policy attribute not updated correctly")
}
}
}
v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
//Check that the resource has been udpated correctly
if(ischosen(v_primitiveContentRetrieveResource.node)) {
if(v_primitiveContentRetrieveResource.node.accessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.node.accessControlPolicyIDs)){
setverdict(fail, __SCOPE__ & ": Error: Access Control Policy attribute not updated correctly")
}
}
}
}
testcase TC_CSE_DMR_UPD_015_NOD_HCL() runs on Tester system CseSystem {
/* TO BE DONE */
}
testcase TC_CSE_DMR_UPD_015_AE_OR() runs on Tester system CseSystem {
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var XSD.AnyURI v_ontoLogyRef := "MyOntologyRef";
var template RequestPrimitive v_updateRequest := m_updateAeBase;
var ResponsePrimitive v_responsePrimitive;
var PrimitiveContent v_primitiveContentRetrieveResource;
v_updateRequest.primitiveContent.aE.ontologyRef := v_ontoLogyRef;
v_ae1.start(f_CSE_DMR_UPD_015(int2, m_createAe(PX_TS_AE1.appId, -, PX_TS_AE1.aeIdStem), v_updateRequest));//AE
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
//Check attribute 1
if(ispresent(v_responsePrimitive.primitiveContent)) {
if(ischosen(v_responsePrimitive.primitiveContent.aE)) {
if(v_responsePrimitive.primitiveContent.aE.ontologyRef != v_ontoLogyRef){
setverdict(fail, __SCOPE__ & ": Error: Ontology Ref attribute not updated correctly")
}
}
}
v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
//Check that the resource has been udpated correctly
if(ischosen(v_primitiveContentRetrieveResource.aE)) {
if(v_primitiveContentRetrieveResource.aE.ontologyRef != v_ontoLogyRef){
setverdict(fail, __SCOPE__ & ": Error: Ontology Ref attribute not updated correctly")
}
}
}
}
testcase TC_CSE_DMR_UPD_015_CNT_OR() runs on Tester system CseSystem {
testcase TC_CSE_DMR_UPD_015_CNT_OR() runs on Tester system CseSystem {
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
...
@@ -5562,76 +5220,6 @@ module OneM2M_Testcases_CSE_Release_3 {
...
@@ -5562,76 +5220,6 @@ module OneM2M_Testcases_CSE_Release_3 {
/**
/**
* @desc Check that the IUT updates successfully the value of the attribute MANDATORY_ATTRIBUTE of the RESOURCE_TYPE resource under CSEBase
* @desc Check that the IUT updates successfully the value of the attribute MANDATORY_ATTRIBUTE of the RESOURCE_TYPE resource under CSEBase
*/
*/
testcase TC_CSE_DMR_UPD_016_NOD_ET() runs on Tester system CseSystem {
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var Timestamp v_expirationTime := "21001231T012345";
var template RequestPrimitive v_updateRequest := m_updateNodeBase;
var ResponsePrimitive v_responsePrimitive;
var PrimitiveContent v_primitiveContentRetrieveResource;
v_updateRequest.primitiveContent.node.expirationTime := v_expirationTime;
v_ae1.start(f_CSE_DMR_UPD_016(int14, m_createNodeBase, v_updateRequest));//Node
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
//Check attribute 1
if(ispresent(v_responsePrimitive.primitiveContent)) {
if(ischosen(v_responsePrimitive.primitiveContent.node)) {
if(v_responsePrimitive.primitiveContent.node.expirationTime != v_expirationTime){
setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute not updated correctly")
}
}
}
v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
//Check that the resource has been udpated correctly
if(ischosen(v_primitiveContentRetrieveResource.node)) {
if(v_primitiveContentRetrieveResource.node.expirationTime != v_expirationTime){
setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute not updated correctly")
}
}
}
}
testcase TC_CSE_DMR_UPD_016_NOD_NI() runs on Tester system CseSystem {
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template RequestPrimitive v_updateRequest := m_updateNodeBase;
var XSD.Token v_targetId := "TARGET-ID";
var ResponsePrimitive v_responsePrimitive;
var PrimitiveContent v_primitiveContentRetrieveResource;
v_updateRequest.primitiveContent.node.nodeID := v_targetId;
v_ae1.start(f_CSE_DMR_UPD_016(int14, m_createNodeBase, v_updateRequest));//Node
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
//Check attribute 1
if(ispresent(v_responsePrimitive.primitiveContent)) {
if(ischosen(v_responsePrimitive.primitiveContent.node)) {
if(v_responsePrimitive.primitiveContent.node.nodeID != v_targetId){
setverdict(fail, __SCOPE__ & ": Error: NodeID attribute not updated correctly")
}
}
}
v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
//Check that the resource has been udpated correctly
if(ischosen(v_primitiveContentRetrieveResource.node)) {
if(v_primitiveContentRetrieveResource.node.nodeID != v_targetId){
setverdict(fail, __SCOPE__ & ": Error: NodeID attribute not updated correctly")
}
}
}
}
testcase TC_CSE_DMR_UPD_016_TS_ET() runs on Tester system CseSystem {
testcase TC_CSE_DMR_UPD_016_TS_ET() runs on Tester system CseSystem {
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var Timestamp v_expirationTime := "21001231T012345";
var Timestamp v_expirationTime := "21001231T012345";
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment