Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
TST
ATS
Commits
555eb1a3
Commit
555eb1a3
authored
Jul 12, 2016
by
Miguel Angel Reina Ortega
Browse files
Merge branch 'GMG'
Signed-off-by:
reinaortega
<
miguelangel.reinaortega@etsi.org
>
parents
f60221ce
0e7b5fce
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
767 additions
and
0 deletions
+767
-0
OneM2M_Testcases.ttcn
OneM2M_Testcases.ttcn
+767
-0
No files found.
OneM2M_Testcases.ttcn
View file @
555eb1a3
...
...
@@ -3970,6 +3970,773 @@ module OneM2M_Testcases {
}
//end group Location
group
Group_Managment
{
// Test objective:
// Check that the IUT rejects the creation of the group resource when member ID exceed max number
// of members.
group
g_CSE_GMG_BV_001
{
testcase
TC_CSE_GMG_BV_001
()
runs
on
M2M
system
M2MSystem
{
// Local variables
var
M2MResponsePrimitive
v_response
;
var
RequestPrimitive
v_request
;
var
integer
v_aeIndex
:=
-
1
;
var
integer
v_resourceIndex
:=
-
1
;
var
template
RequestPrimitive
v_createRequest
:=
m_createGroupBase
;
var
ResponsePrimitive
v_responsePrimitive
;
v_createRequest
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
currentNrOfMembers
:=
6
;
v_createRequest
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
maxNrOfMembers
:=
5
;
// Test control
// Test component configuration
f_cf01Up
();
// Test adapter configuration
// Preamble
v_aeIndex
:=
f_preamble_registerAe
();
//c_CRUDNDi);
// Test Body
v_request
:=
f_getCreateRequestPrimitive
(
int9
,
omit
,
v_createRequest
,
v_aeIndex
);
mcaPort
.
send
(
m_request
(
v_request
));
tc_ac
.
start
;
alt
{
[]
mcaPort
.
receive
(
mw_response
(
int6010
))
->
value
v_response
{
tc_ac
.
stop
;
setverdict
(
pass
,
testcasename
()
&
": Creation failed because member ID exceed max number of member"
);
}
[]
mcaPort
.
receive
(
mw_responseKO
)
{
tc_ac
.
stop
;
setverdict
(
fail
,
testcasename
()
&
": Error while retrieving resource"
);
}
[]
tc_ac
.
timeout
{
setverdict
(
inconc
,
testcasename
()
&
": No answer while retrieving resource"
);
}
}
// Postamble
f_postamble_deleteResources
();
}
}
// end group g_CSE_GMG_BV_001
// Test objective:
// Check that the IUT rejects the creation of the group resource when the memberType cannot
// be retrieved due to lack of privilege.
group
g_CSE_GMG_BV_002
{
testcase
TC_CSE_GMG_BV_002
()
runs
on
M2M
system
M2MSystem
{
//TODO
}
}
// end group g_CSE_GMG_BV_002
// Test objective:
// Check that the IUT rejects the update of the group resource when the
// memberType cannot be retrieved due to lack of privilege.
group
g_CSE_GMG_BV_003
{
testcase
TC_CSE_GMG_BV_003
()
runs
on
M2M
system
M2MSystem
{
//TODO
}
}
// end group g_CSE_GMG_BV_003
// Test objective:
// Check that the IUT rejects the update of the group
// resource when member ID exceed max number of members.
group
g_CSE_GMG_BV_004
{
testcase
TC_CSE_GMG_BV_004
()
runs
on
M2M
system
M2MSystem
{
var
M2MResponsePrimitive
v_response
;
var
RequestPrimitive
v_request
;
var
integer
v_aeIndex
:=
-
1
;
var
integer
v_resourceIndex
:=
-
1
;
var
template
RequestPrimitive
v_createRequest
:=
m_createGroupBase
;
var
template
RequestPrimitive
v_updateRequest
:=
m_updateGroupBase
;
v_updateRequest
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
currentNrOfMembers
:=
6
;
v_updateRequest
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
maxNrOfMembers
:=
5
;
// Test control
// Test component configuration
f_cf01Up
();
// Test adapter configuration
// Preamble
v_aeIndex
:=
f_preamble_registerAe
();
//c_CRUDNDi
v_resourceIndex
:=
f_createResource
(
int9
,
v_createRequest
,
v_aeIndex
);
// Test Body
v_request
:=
f_getUpdateRequestPrimitive
(
int9
,
v_resourceIndex
,
v_updateRequest
);
mcaPort
.
send
(
m_request
(
v_request
));
tc_ac
.
start
;
alt
{
[]
mcaPort
.
receive
(
mw_response
(
int4005
))
->
value
v_response
{
tc_ac
.
stop
;
setverdict
(
pass
,
testcasename
()
&
": Update failed because member ID exceed max number of member"
);
}
[]
mcaPort
.
receive
(
mw_responseKO
)
{
tc_ac
.
stop
;
setverdict
(
fail
,
testcasename
()
&
": Error while retrieving resource"
);
}
[]
tc_ac
.
timeout
{
setverdict
(
inconc
,
testcasename
()
&
": No answer while retrieving resource"
);
}
}
// Postamble
f_postamble_deleteResources
();
}
}
// end group g_CSE_GMG_BV_004
// Test objective:
// Check that the IUT accepts the creation of the RESOURCE_TYPE resource by using
// fanOutPoint in group resource.
group
g_CSE_GMG_BV_005
{
testcase
TC_CSE_GMG_BV_005
()
runs
on
M2M
system
M2MSystem
{
// TODO: use right values for c_fanoutPointAddress and c_RessourceType1
var
XSD
.
AnyURI
c_fanoutPointAddress
:=
"FANOUTPOINT_ADDRESS"
;
var
ResourceType
c_RessourceType1
:=
int1
;
// Local variables
var
M2MResponsePrimitive
v_response
;
var
RequestPrimitive
v_request
;
var
integer
v_aeIndex
:=
-
1
;
var
integer
v_resourceIndex
:=
-
1
;
var
template
RequestPrimitive
v_createRequest
:=
m_createGroupBase
;
v_createRequest
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
fanOutPoint
:=
c_fanoutPointAddress
;
v_createRequest
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
resourceType
:=
c_RessourceType1
;
// Test control
// Test component configuration
f_cf01Up
();
// Test adapter configuration
// Preamble
v_aeIndex
:=
f_preamble_registerAe
();
//c_CRUDNDi
v_resourceIndex
:=
f_createResource
(
int9
,
v_createRequest
,
v_aeIndex
);
// Test Body
mcaPort
.
send
(
m_request
(
v_request
));
tc_ac
.
start
;
alt
{
[]
mcaPort
.
receive
(
mw_response
(
int2001
))
->
value
v_response
{
tc_ac
.
stop
;
setverdict
(
pass
,
testcasename
()
&
": creation successfull by using fanOutPoint in group resource"
);
// TODO: check for aggregatedResponse representation
}
[]
mcaPort
.
receive
(
mw_responseKO
)
{
tc_ac
.
stop
;
setverdict
(
fail
,
testcasename
()
&
": Error while retrieving resource"
);
}
[]
tc_ac
.
timeout
{
setverdict
(
inconc
,
testcasename
()
&
": No answer while retrieving resource"
);
}
}
// Postamble
f_postamble_deleteResources
();
}
}
// end group g_CSE_GMG_BV_005
// Test objective:
// Check that the IUT returns successfully the resource of the group members by using
// fanOutPoint in group resource.
group
g_CSE_GMG_BV_006
{
testcase
TC_CSE_GMG_BV_006
()
runs
on
M2M
system
M2MSystem
{
// TODO: use right values for c_fanoutPointAddress and c_RessourceType1
var
XSD
.
AnyURI
c_fanoutPointAddress
:=
"FANOUTPOINT_ADDRESS"
;
var
ResourceType
c_RessourceType1
:=
int1
;
// Local variables
var
XSD
.
ID
v_resourceId
:=
"NonExisting"
;
var
RequestPrimitive
v_request
;
var
M2MResponsePrimitive
v_response
;
var
integer
v_aeIndex
:=
-
1
;
var
integer
v_resourceIndex
:=
-
1
;
v_request
:=
m_retrieveResource
(
f_getResourceAddress
(
-
2
)
&
"/"
&
v_resourceId
);
v_request
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
fanOutPoint
:=
c_fanoutPointAddress
;
// Test control
// Test component configuration
f_cf01Up
();
// Test adapter configuration
// Preamble
v_aeIndex
:=
f_preamble_registerAe
();
//c_CRUDNDi
v_resourceIndex
:=
f_createResource
(
int9
,
v_request
,
v_aeIndex
);
// Test Body
mcaPort
.
send
(
m_request
(
valueof
(
v_request
)));
tc_ac
.
start
;
alt
{
[]
mcaPort
.
receive
(
mw_response
(
int2000
))
->
value
v_response
{
tc_ac
.
stop
;
setverdict
(
pass
,
testcasename
()
&
": retrieve attributes successfull by using fanOutPoint in group resource"
);
// TODO: check for aggregatedResponse representation
}
[]
mcaPort
.
receive
(
mw_responseKO
)
{
tc_ac
.
stop
;
setverdict
(
fail
,
testcasename
()
&
": Error while retrieving resource"
);
}
[]
tc_ac
.
timeout
{
setverdict
(
inconc
,
testcasename
()
&
": No answer while retrieving resource"
);
}
}
// Postamble
f_postamble_deleteResources
();
}
}
// end group g_CSE_GMG_BV_006
// Test objective:
// Check that the IUT accepts the update of the RESOURCE_TYPE resource by using
// fanOutPoint in group resource.
group
g_CSE_GMG_BV_007
{
testcase
TC_CSE_GMG_BV_007
()
runs
on
M2M
system
M2MSystem
{
// TODO: use right values for c_fanoutPointAddress and c_RessourceType1
var
XSD
.
AnyURI
c_fanoutPointAddress
:=
"FANOUTPOINT_ADDRESS"
;
// Local variables
var
M2MResponsePrimitive
v_response
;
var
RequestPrimitive
v_request
;
var
integer
v_aeIndex
:=
-
1
;
var
integer
v_resourceIndex
:=
-
1
;
var
template
RequestPrimitive
v_createRequest
:=
m_createGroupBase
;
var
template
RequestPrimitive
v_updateRequest
:=
m_updateGroupBase
;
var
Group_optional
v_group_optional
;
v_updateRequest
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
fanOutPoint
:=
c_fanoutPointAddress
;
// Test control
// Test component configuration
f_cf01Up
();
// Test adapter configuration
// Preamble
v_aeIndex
:=
f_preamble_registerAe
();
//c_CRUDNDi
v_resourceIndex
:=
f_createResource
(
int9
,
v_createRequest
,
v_aeIndex
);
// Test Body
v_request
:=
f_getUpdateRequestPrimitive
(
int9
,
v_resourceIndex
,
v_updateRequest
);
mcaPort
.
send
(
m_request
(
v_request
));
tc_ac
.
start
;
alt
{
[]
mcaPort
.
receive
(
mw_response
(
int2004
))
->
value
v_response
{
tc_ac
.
stop
;
setverdict
(
pass
,
testcasename
()
&
": update successfull by using fanOutPoint in group resource"
);
// TODO: check for aggregatedResponse representation
}
[]
mcaPort
.
receive
(
mw_responseKO
)
{
tc_ac
.
stop
;
setverdict
(
fail
,
testcasename
()
&
": Error while retrieving resource"
);
}
[]
tc_ac
.
timeout
{
setverdict
(
inconc
,
testcasename
()
&
": No answer while retrieving resource"
);
}
}
// Postamble
f_postamble_deleteResources
();
}
}
// end group g_CSE_GMG_BV_007
// Test objective:
// Check that the IUT could delete the RESOURCE_TYPE resource by using
// fanOutPoint in group resource.
group
g_CSE_GMG_BV_008_1
{
testcase
TC_CSE_GMG_BV_008_1
()
runs
on
M2M
system
M2MSystem
{
// TODO: use right values for c_fanoutPointAddress and c_deleteAddress
var
XSD
.
AnyURI
c_fanoutPointAddress
:=
"FANOUTPOINT_ADDRESS"
;
var
XSD
.
ID
c_deleteAddress
:=
"DELETE"
;
//Local variables
var
RequestPrimitive
v_request
;
var
integer
v_aeIndex
:=
-
1
;
var
integer
v_resourceIndex
:=
-
1
;
var
M2MResponsePrimitive
v_response
;
var
template
RequestPrimitive
v_createRequest
:=
m_createGroupBase
;
var
template
RequestPrimitive
v_deleteRequest
:=
m_deleteRequest
(
c_deleteAddress
);
v_deleteRequest
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
fanOutPoint
:=
c_fanoutPointAddress
;
// Test control
// Test component configuration
f_cf01Up
();
// Test adapter configuration
// Preamble
v_aeIndex
:=
f_preamble_registerAe
();
//c_CRUDNDi
v_resourceIndex
:=
f_createResource
(
int9
,
v_createRequest
,
v_aeIndex
);
// Test Body
v_request
:=
f_getUpdateRequestPrimitive
(
int9
,
v_resourceIndex
,
v_deleteRequest
);
mcaPort
.
send
(
m_request
(
v_request
));
tc_ac
.
start
;
alt
{
[]
mcaPort
.
receive
(
mw_response
(
int2002
))
->
value
v_response
{
tc_ac
.
stop
;
setverdict
(
pass
,
testcasename
()
&
": delete successfull by using fanOutPoint in group resource"
);
}
[]
mcaPort
.
receive
(
mw_responseKO
)
{
tc_ac
.
stop
;
setverdict
(
fail
,
testcasename
()
&
": Error while retrieving resource"
);
}
[]
tc_ac
.
timeout
{
setverdict
(
inconc
,
testcasename
()
&
": No answer while retrieving resource"
);
}
}
// Postamble
f_postamble_deleteResources
();
}
}
// end group g_CSE_GMG_BV_008_1
// Test objective:
// Check that the IUT detects the presence of duplicate member IDs during the creation of the
// group resource and removes the duplicate member IDs prior to creation of the group resource.
group
g_CSE_GMG_BV_008_2
{
testcase
TC_CSE_GMG_BV_008_2
()
runs
on
M2M
system
M2MSystem
{
// TODO: use right values for c_memberRessourceAddress
var
XSD
.
AnyURI
c_memberRessourceAddress
:=
"MEMBER_RESSOURCE_ADDRESS"
;
// Local variables
var
M2MResponsePrimitive
v_response
;
var
integer
v_aeIndex
:=
-
1
;
var
integer
v_resourceIndex
:=
-
1
;
var
template
RequestPrimitive
v_createRequest
:=
m_createGroupBase
;
// Test control
// Test component configuration
f_cf01Up
();
// Test adapter configuration
// Preamble
v_aeIndex
:=
f_preamble_registerAe
();
//c_CRUDNDi
v_createRequest
:=
f_getCreateRequestPrimitive
(
int9
,
omit
,
v_createRequest
,
v_aeIndex
);
v_createRequest
.
primitiveContent
.
any_1
[
0
].
Group_optional
:=
m_contentCreateGroup
(
1
,
{
c_memberRessourceAddress
,
c_memberRessourceAddress
},
omit
);
mcaPort
.
send
(
m_request
(
valueof
(
v_createRequest
)));
tc_ac
.
start
;
alt
{
[]
mcaPort
.
receive
(
mw_response
(
int2001
))
->
value
v_response
{
tc_ac
.
stop
;
setverdict
(
pass
,
testcasename
()
&
": Resource created successfuly"
);
if
(
not
ispresent
(
v_response
.
responsePrimitive_
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
memberIDs
)){
setverdict
(
fail
,
testcasename
(),
": Error, memberID attribute not provided"
);
}
else
{
if
(
v_response
.
responsePrimitive_
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
memberIDs
[
0
]
!=
c_memberRessourceAddress
){
setverdict
(
fail
,
testcasename
(),
": Error, memberIDs attribute not correct"
);
}
}
}
[]
mcaPort
.
receive
(
mw_responseKO
)
->
value
v_response
{
tc_ac
.
stop
;
setverdict
(
fail
,
testcasename
()
&
": Error while creating resource"
);
}
[]
tc_ac
.
timeout
{
setverdict
(
inconc
,
testcasename
()
&
": No answer while creating resource"
);
}
}
// Postamble
f_postamble_deleteResources
();
}
}
// end group g_CSE_GMG_BV_008_2
// Test objective:
// Check that the IUT validates the resource type during the creation of the
// group resource when memberType attribute is not ‘mixed’.
group
g_CSE_GMG_BV_009
{
testcase
TC_CSE_GMG_BV_009
()
runs
on
M2M
system
M2MSystem
{
// Local variables
var
M2MResponsePrimitive
v_response
;
var
RequestPrimitive
v_request
;
var
integer
v_aeIndex
:=
-
1
;
var
integer
v_resourceIndex
:=
-
1
;
// TODO: use right values for c_RessourceType1
var
ResourceType
c_RessourceType1
:=
int1
;
var
ResponsePrimitive
.
primitiveContent
v_responsePrimitive
;
var
template
RequestPrimitive
v_createRequest
:=
m_createGroupBase
;
// Test control
// Test component configuration
f_cf01Up
();
// Test adapter configuration
// Preamble
v_aeIndex
:=
f_preamble_registerAe
();
//c_CRUDNDi
v_request
:=
f_getCreateRequestPrimitive
(
int9
,
omit
,
v_createRequest
,
v_aeIndex
);
v_request
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
resourceType
:=
c_RessourceType1
;
mcaPort
.
send
(
m_request
(
v_request
));
tc_ac
.
start
;
alt
{
[]
mcaPort
.
receive
(
mw_response
(
int2001
))
->
value
v_response
{
tc_ac
.
stop
;
setverdict
(
pass
,
testcasename
()
&
": Resource created successfuly"
);
if
(
not
ispresent
(
v_response
.
responsePrimitive_
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
memberTypeValidated
)){
setverdict
(
fail
,
testcasename
(),
": Error, memberTypeValidated attribute not provided"
);
}
else
{
if
(
v_response
.
responsePrimitive_
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
memberTypeValidated
==
false
){
setverdict
(
fail
,
testcasename
(),
": Error, memberTypeValidated attribute not correct"
);
}
}
}
[]
mcaPort
.
receive
(
mw_responseKO
)
->
value
v_response
{
tc_ac
.
stop
;
setverdict
(
fail
,
testcasename
()
&
": Error while creating resource"
);
}
[]
tc_ac
.
timeout
{
setverdict
(
inconc
,
testcasename
()
&
": No answer while creating resource"
);
}
}
// Postamble
f_postamble_deleteResources
();
}
}
// end group g_CSE_GMG_BV_009
// Test objective:
// Check that the IUT handles unsuccessful validation of the resource type during the creation of the
// group resource when memberType attribute is not ‘mixed’ and the consistencyStrategy attribute is SET_MIXED.
group
g_CSE_GMG_BV_010
{
testcase
TC_CSE_GMG_BV_010
()
runs
on
M2M
system
M2MSystem
{
// TODO: use right values for c_RessourceType1 and c_RessourceType2
var
MemberType
c_RessourceType1
:=
int1
;
var
MemberType
c_RessourceType2
:=
int2
;
// Local variables
var
ResponsePrimitive
.
primitiveContent
v_responsePrimitive
;
var
M2MResponsePrimitive
v_response
;
var
integer
v_aeIndex
:=
-
1
;
var
integer
v_resourceIndex
:=
-
1
;
var
RequestPrimitive
v_request
;
var
template
RequestPrimitive
v_createRequest
:=
m_createGroupBase
;
// Test control
// Test component configuration
f_cf01Up
();
// Test adapter configuration
// Preamble
v_aeIndex
:=
f_preamble_registerAe
();
//c_CRUDNDi
v_request
:=
f_getCreateRequestPrimitive
(
int9
,
omit
,
v_createRequest
,
v_aeIndex
);
v_request
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
memberType
:=
c_RessourceType2
;
v_request
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
consistencyStrategy
:=
int3
;
// MIXED
mcaPort
.
send
(
m_request
(
v_request
));
tc_ac
.
start
;
alt
{
[]
mcaPort
.
receive
(
mw_response
(
int2001
))
->
value
v_response
{
tc_ac
.
stop
;
setverdict
(
pass
,
testcasename
()
&
": Resource created successfuly"
);
// check for memberTypeValidated
if
(
not
ispresent
(
v_response
.
responsePrimitive_
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
memberTypeValidated
)){
setverdict
(
fail
,
testcasename
(),
": Error, memberTypeValidated attribute not provided"
);
}
else
{
if
(
v_response
.
responsePrimitive_
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
memberTypeValidated
==
false
){
setverdict
(
fail
,
testcasename
(),
": Error, memberTypeValidated attribute not correct"
);
}
}
// check for memberType (MIXED)
if
(
not
ispresent
(
v_response
.
responsePrimitive_
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
memberType
)){
setverdict
(
fail
,
testcasename
(),
": Error, memberType attribute not provided"
);
}
else
{
if
(
v_response
.
responsePrimitive_
.
primitiveContent
.
any_1
[
0
].
Group_optional
.
memberType
!=
int3
){
setverdict
(
fail
,
testcasename
(),
": Error, memberType attribute not correct"
);
}
}
}
[]
mcaPort
.
receive
(
mw_responseKO
)
->
value
v_response
{
tc_ac
.
stop
;
setverdict
(
fail
,
testcasename
()
&
": Error while creating resource"
);