Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
MEC - Multi-access Edge Computing
MEC TTCN-3 Test Suite
Commits
33239901
Commit
33239901
authored
Sep 22, 2019
by
Elian Kraja
Browse files
Adding TPs for Granting operations. Fixing AMS TPs
parent
d55aa377
Changes
12
Show whitespace changes
Inline
Side-by-side
ttcn/AtsMec/AtsMec_Ams_TestCases.ttcn
View file @
33239901
...
...
@@ -31,8 +31,12 @@ import from LibMec_Functions all;
import
from
LibMec_Pics
all
;
import
from
LibMec_Pixits
all
;
group
appMobilityServices
{
group
appMobilityServices
{
/**
* @desc Check that the AMS service returns information about the registered application mobility services when requested
* @see ETSI GS MEC 021 2.0.8, clause 8.3.3.1
*/
testcase
TP_MEC_SRV_AMS_001_OK
()
runs
on
HttpComponent
system
HttpTestAdapter
{
// Local variables
var
HeaderLines
v_headers
;
...
...
@@ -93,6 +97,10 @@ import from LibMec_Pixits all;
}
// End of 'alt' statement
}
// End of testcase TP_MEC_SRV_AMS_001_OK
/**
* @desc Check that the AMS service returns an error when receives a query about a registered application mobility service with wrong parameters
* @see ETSI GS MEC 021 2.0.8, clause 8.3.3.1
*/
testcase
TP_MEC_SRV_AMS_001_BR
()
runs
on
HttpComponent
system
HttpTestAdapter
{
// Local variables
var
HeaderLines
v_headers
;
...
...
@@ -143,6 +151,1057 @@ import from LibMec_Pixits all;
}
// End of testcase TP_MEC_SRV_AMS_001_BR
/**
* @desc Check that the AMS service creates a new application mobility services when requested
* @see ETSI GS MEC 021 2.0.8, clause 8.3.3.4
*/
testcase
TP_MEC_SRV_AMS_002_OK
()
runs
on
HttpComponent
system
HttpTestAdapter
{
var
HeaderLines
v_headers
;
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
setverdict
(
inconc
);
stop
;
}
// Test component configuration
f_cf_01_http_up
();
// Preamble
f_init_default_headers_list
(
-
,
-
,
v_headers
);
httpPort
.
send
(
m_http_request
(
m_http_request_post
(
"/"
&
PICS_ROOT_API
&
PX_ME_APP_AMS_URI
,
v_headers
,
m_http_message_body_json
(
m_body_json_ams_registration_request
(
m_registration_request
(
m_service_consumer_id
(
PX_APP_INS_ID
,
-
),
-
,
-
)
)
)
)
)
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
e_success
);
// Test Body
tc_ac
.
start
;
alt
{
[]
httpPort
.
receive
(
mw_http_response
(
mw_http_response_201_created
(
mw_http_message_body_json
(
mw_body_json_app_mobility_service_info
(
mw_app_mobility_service_info
(
mw_registration_info
(
mw_service_consumer_id
(
PX_APP_INS_ID
,
-
),
-
,
-
),
PX_APP_MOBILITY_SERVICE_ID
)
)
)
)
)
)
{
tc_ac
.
stop
;
log
(
"*** "
&
testcasename
()
&
": PASS: IUT successfully responds with a AppMobilityServiceInfo and status code set to 201 Created ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
}
[]
tc_ac
.
timeout
{
log
(
"*** "
&
testcasename
()
&
": INCONC: Expected message not received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_timeout
);
}
}
// End of 'alt' statement
}
// End of testcase TP_MEC_SRV_AMS_002_OK
/**
* @desc Check that the AMS service sends an error when it receives a malformed request to create a new application mobility service
* @see ETSI GS MEC 021 2.0.8, clause 8.3.3.4
*/
testcase
TP_MEC_SRV_AMS_002_BR
()
runs
on
HttpComponent
system
HttpTestAdapter
{
var
HeaderLines
v_headers
;
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
setverdict
(
inconc
);
stop
;
}
// Test component configuration
f_cf_01_http_up
();
// Preamble
f_init_default_headers_list
(
-
,
-
,
v_headers
);
httpPort
.
send
(
m_http_request
(
m_http_request_post
(
"/"
&
PICS_ROOT_API
&
PX_ME_APP_AMS_URI
,
v_headers
,
m_http_message_body_json
(
m_body_json_ams_registration_request
(
m_registration_request_error
(
m_service_consumer_error
(
PX_APP_INS_ID
,
-
)
)
)
)
)
)
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
e_success
);
// Test Body
tc_ac
.
start
;
alt
{
[]
httpPort
.
receive
(
mw_http_response
(
mw_http_response_400_bad_request
(
mw_http_message_body_json
(
mw_body_json_ams_problem_details
(
mw_problem_details
(
-
,
-
,
400
)
)
)
)
)
)
{
tc_ac
.
stop
;
log
(
"*** "
&
testcasename
()
&
": PASS: IUT successfully responds with a Problem Details when bad request is performed ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
}
[]
tc_ac
.
timeout
{
log
(
"*** "
&
testcasename
()
&
": INCONC: Expected message not received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_timeout
);
}
}
// End of 'alt' statement
}
// End of testcase TP_MEC_SRV_AMS_002_BR
}
// End of group appMobilityServices
group
appMobilityServicesSubscriptions
{
/**
* @desc Check that the AMS service returns information about the available subscriptions when requested.
* Permitted SUBSCRIPTION_TYPE are:
* - MobilityProcedureSubscription
* - AdjacentAppInfoSubscription
* @see ETSI GS MEC 021 2.0.8, clause 8.6.3.1
*/
testcase
TP_MEC_SRV_AMS_003_OK
()
runs
on
HttpComponent
system
HttpTestAdapter
{
var
HeaderLines
v_headers
;
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
setverdict
(
inconc
);
stop
;
}
// Test component configuration
f_cf_01_http_up
();
// Preamble
f_init_default_headers_list
(
-
,
-
,
v_headers
);
httpPort
.
send
(
m_http_request
(
m_http_request_get
(
//@TODO: How can we convert enums in strings?
"/"
&
PICS_ROOT_API
&
PX_ME_APP_AMS_SUBS
&
"?subscriptionType="
&
int2str
(
enum2int
(
PX_SUBSCRIPTION_TYPE
)),
v_headers
)
)
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
e_success
);
// Test Body
tc_ac
.
start
;
alt
{
[]
httpPort
.
receive
(
mw_http_response
(
mw_http_response_ok
(
mw_http_message_body_json
(
mw_body_json_ams_subscriptions
(
mw_ams_subscription
(
PX_SUBSCRIPTION_TYPE
,
-
,
-
,
-
,
-
)
)
)
)
)
)
{
tc_ac
.
stop
;
log
(
"*** "
&
testcasename
()
&
": PASS: IUT successfully responds with the list of subscriptions type MobilityProcedureSubscription ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
}
[]
tc_ac
.
timeout
{
log
(
"*** "
&
testcasename
()
&
": INCONC: Expected message not received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_timeout
);
}
}
// End of 'alt' statement
}
// END TP_MEC_SRV_AMS_003_OK
/**
* @desc Check that the AMS service sends an error when it receives a malformed query about the available subscriptions
* @see ETSI GS MEC 021 2.0.8, clause 8.6.3.1
*/
testcase
TP_MEC_SRV_AMS_003_BR
()
runs
on
HttpComponent
system
HttpTestAdapter
{
var
HeaderLines
v_headers
;
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
setverdict
(
inconc
);
stop
;
}
// Test component configuration
f_cf_01_http_up
();
// Preamble
f_init_default_headers_list
(
-
,
-
,
v_headers
);
httpPort
.
send
(
m_http_request
(
m_http_request_get
(
"/"
&
PICS_ROOT_API
&
PX_ME_APP_AMS_SUBS
&
"?subscriptionTyp="
&
int2str
(
enum2int
(
PX_SUBSCRIPTION_TYPE
)),
v_headers
)
)
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
e_success
);
// Test Body
tc_ac
.
start
;
alt
{
[]
httpPort
.
receive
(
mw_http_response
(
mw_http_response_400_bad_request
(
mw_http_message_body_json
(
mw_body_json_ams_problem_details
(
mw_problem_details
(
-
,
-
,
400
)
)
)
)
)
)
{
tc_ac
.
stop
;
log
(
"*** "
&
testcasename
()
&
": PASS: IUT successfully responds with a ProblemDetails set to 400 Bad Request ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
}
[]
tc_ac
.
timeout
{
log
(
"*** "
&
testcasename
()
&
": INCONC: Expected message not received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_timeout
);
}
}
// End of 'alt' statement
}
// END of TP_MEC_SRV_AMS_003_BR
/**
* @desc Check that the AMS service creates a notification subscriptions when requested.
* Permitted SUBSCRIPTION_TYPE are:
* - MobilityProcedureSubscription
* - AdjacentAppInfoSubscription
* @see ETSI GS MEC 021 2.0.8, clause 8.6.3.4
*/
testcase
TP_MEC_SRV_AMS_004_OK
()
runs
on
HttpComponent
system
HttpTestAdapter
{
var
HeaderLines
v_headers
;
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
setverdict
(
inconc
);
stop
;
}
// Test component configuration
f_cf_01_http_up
();
// Preamble
f_init_default_headers_list
(
-
,
-
,
v_headers
);
httpPort
.
send
(
m_http_request
(
m_http_request_post
(
"/"
&
PICS_ROOT_API
&
PX_ME_APP_AMS_SUBS
,
v_headers
,
m_http_message_body_json
(
m_body_json_ams_subscriptions
(
m_ams_subscription
(
PX_SUBSCRIPTION_TYPE
,
PX_CALLBACK_REFERENCE
,
-
,
-
,
-
)
)
)
)
)
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
e_success
);
// Test Body
tc_ac
.
start
;
alt
{
[]
httpPort
.
receive
(
mw_http_response
(
mw_http_response_201_created
(
mw_http_message_body_json
(
mw_body_json_ams_subscriptions
(
mw_ams_subscription
(
PX_SUBSCRIPTION_TYPE
,
PX_CALLBACK_REFERENCE
,
-
,
-
,
-
)
)
)
)
)
)
{
tc_ac
.
stop
;
log
(
"*** "
&
testcasename
()
&
": PASS: IUT successfully responds with a AMS Subscription and 201 Created status code ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
}
[]
tc_ac
.
timeout
{
log
(
"*** "
&
testcasename
()
&
": INCONC: Expected message not received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_timeout
);
}
}
// End of 'alt' statement
}
// End of TP_MEC_SRV_AMS_004_OK
/**
* @desc Check that the AMS service sends an error when it receives a malformed request to create a notification subscription
* Permitted SUBSCRIPTION_TYPE are:
* - MobilityProcedureSubscription
* - AdjacentAppInfoSubscription
* @see ETSI GS MEC 021 2.0.8, clause 8.6.3.4
*/
testcase
TP_MEC_SRV_AMS_004_BR
()
runs
on
HttpComponent
system
HttpTestAdapter
{
var
HeaderLines
v_headers
;
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
setverdict
(
inconc
);
stop
;
}
// Test component configuration
f_cf_01_http_up
();
// Preamble
f_init_default_headers_list
(
-
,
-
,
v_headers
);
httpPort
.
send
(
m_http_request
(
m_http_request_post
(
"/"
&
PICS_ROOT_API
&
PX_ME_APP_AMS_SUBS
,
v_headers
,
m_http_message_body_json
(
m_body_json_ams_subscriptions
(
m_ams_subscription_error
(
PX_SUBSCRIPTION_TYPE
,
PX_CALLBACK_REFERENCE
,
-
,
-
,
-
)
)
)
)
)
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
e_success
);
// Test Body
tc_ac
.
start
;
alt
{
[]
httpPort
.
receive
(
mw_http_response
(
mw_http_response_400_bad_request
(
mw_http_message_body_json
(
mw_body_json_ams_problem_details
(
mw_problem_details
(
-
,
-
,
400
)
)
)
)
)
)
{
tc_ac
.
stop
;
log
(
"*** "
&
testcasename
()
&
": PASS: IUT successfully responds with a Problem Details and 400 Bad request status code ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
}
[]
tc_ac
.
timeout
{
log
(
"*** "
&
testcasename
()
&
": INCONC: Expected message not received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_timeout
);
}
}
// End of 'alt' statement
}
// End of TP_MEC_SRV_AMS_004_BR
/**
* @desc Check that the AMS service returns information about a given subscription when requested.
* Permitted SUBSCRIPTION_TYPE are:
* - MobilityProcedureSubscription
* - AdjacentAppInfoSubscription
* @see ETSI GS MEC 021 2.0.8, clause 8.7.3.1
*/
testcase
TP_MEC_SRV_AMS_005_OK
()
runs
on
HttpComponent
system
HttpTestAdapter
{
var
HeaderLines
v_headers
;
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
setverdict
(
inconc
);
stop
;
}
// Test component configuration
f_cf_01_http_up
();
// Preamble
f_init_default_headers_list
(
-
,
-
,
v_headers
);
httpPort
.
send
(
m_http_request
(
m_http_request_get
(
"/"
&
PICS_ROOT_API
&
PX_ME_APP_AMS_SUBS
&
"/"
&
oct2char
(
unichar2oct
(
PX_SUBSCRIPTION_ID
,
"UTF-8"
)),
v_headers
)
)
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
e_success
);
// Test Body
tc_ac
.
start
;
alt
{
[]
httpPort
.
receive
(
mw_http_response
(
mw_http_response_ok
(
mw_http_message_body_json
(
mw_body_json_ams_subscriptions
(
mw_ams_subscription
(
PX_SUBSCRIPTION_TYPE
,
-
,
-
,
-
,
-
)
)
)
)
)
)
{
tc_ac
.
stop
;
log
(
"*** "
&
testcasename
()
&
": PASS: IUT successfully responds with the list of subscriptions type MobilityProcedureSubscription ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
}
[]
tc_ac
.
timeout
{
log
(
"*** "
&
testcasename
()
&
": INCONC: Expected message not received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_timeout
);
}
}
// End of 'alt' statement
}
// End of TP_MEC_SRV_AMS_005_OK
/**
* @desc Check that the AMS service returns an error when receives a query about a not existing subscription
* @see ETSI GS MEC 021 2.0.8, clause 8.7.3.1
*/
testcase
TP_MEC_SRV_AMS_005_NF
()
runs
on
HttpComponent
system
HttpTestAdapter
{
var
HeaderLines
v_headers
;
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
setverdict
(
inconc
);
stop
;
}
// Test component configuration
f_cf_01_http_up
();
// Preamble
f_init_default_headers_list
(
-
,
-
,
v_headers
);
httpPort
.
send
(
m_http_request
(
m_http_request_get
(
"/"
&
PICS_ROOT_API
&
PX_ME_APP_AMS_SUBS
&
"/"
&
oct2char
(
unichar2oct
(
PX_NON_EXISTENT_SUBSCRIPTION_ID
,
"UTF-8"
)),
v_headers
)
)
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
e_success
);
// Test Body
tc_ac
.
start
;
alt
{
[]
httpPort
.
receive
(
mw_http_response
(
mw_http_response_404_not_found
(
mw_http_message_body_json
(
mw_body_json_ams_problem_details
(
mw_problem_details
(
-
,
-
,
404
)
)
)
)
)
)
{
tc_ac
.
stop
;
log
(
"*** "
&
testcasename
()
&
": PASS: IUT successfully responds with a ProblemDetails set to 404 Not Found ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
}
[]
tc_ac
.
timeout
{
log
(
"*** "
&
testcasename
()
&
": INCONC: Expected message not received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_timeout
);
}
}
// End of 'alt' statement
}
// End of TP_MEC_SRV_AMS_005_NF
/**
* @desc Check that the AMS service deletes a given subscription when requested
* @see ETSI GS MEC 021 2.0.8, clause 8.7.3.5
*/
testcase
TP_MEC_SRV_AMS_006_OK
()
runs
on
HttpComponent
system
HttpTestAdapter
{
var
HeaderLines
v_headers
;
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
setverdict
(
inconc
);
stop
;
}
// Test component configuration
f_cf_01_http_up
();
// Preamble
f_init_default_headers_list
(
-
,
-
,
v_headers
);
httpPort
.
send
(
m_http_request
(
m_http_request_delete
(
"/"
&
PICS_ROOT_API
&
PX_ME_APP_AMS_SUBS
&
"/"
&
oct2char
(
unichar2oct
(
PX_SUBSCRIPTION_ID
,
"UTF-8"
)),
v_headers
)
)
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
e_success
);
// Test Body
tc_ac
.
start
;
alt
{
[]
httpPort
.
receive
(
mw_http_response
(
mw_http_response_204_no_content
(
)
)
)
{
tc_ac
.
stop
;
log
(
"*** "
&
testcasename
()
&
": PASS: IUT successfully responds with 204 No Content on deletion request ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
}
[]
tc_ac
.
timeout
{
log
(
"*** "
&
testcasename
()
&
": INCONC: Expected message not received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_timeout
);
}