Commit efdf31e2 authored by Elian Kraja's avatar Elian Kraja Committed by Michele Carignani

Updated MEC012 to v2.1.1

parent 68c4b45a
Pipeline #3720 passed with stage
in 0 seconds
......@@ -16,10 +16,10 @@ Library MockServerLibrary
Cell change notification
[Documentation] TC_MEC_SRV_RNIS_001_OK
... Check that the RNIS service sends an RNIS notification about cell change if the RNIS service has an associated subscription and the event is generated
... ETSI GS MEC 012 2.0.4, clause 6.4.2
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml
... ETSI GS MEC 012 2.1.1, clause 6.4.2
... Reference https://forge.etsi.org/rep/mec/gs012-rnis-api/blob/automatic_generation/RniAPI.yaml
Should Be True ${PIC_RNIS_NOTIFICATIONS} == 1
${json}= Get File schemas/RadioNetworkInformationAPI.schema.json
${json}= Get File schemas/CellChangeNotification.schema.json
Log Creating mock request and response to handle Cell change notification
&{req}= Create Mock Request Matcher POST ${callback_uri}${callback_endpoint}/cell_change body_type="JSON_SCHEMA" body=${json}
&{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204
......@@ -34,10 +34,10 @@ Cell change notification
RAB Establishment notification
[Documentation] TC_MEC_SRV_RNIS_002_OK
... Check that the RNIS service sends an RNIS notification about RAB establishment if the RNIS service has an associated subscription and the event is generated
... ETSI GS MEC 012 2.0.4, clause 6.4.3
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml
... ETSI GS MEC 012 2.1.1, clause 6.4.3
... Reference https://forge.etsi.org/rep/mec/gs012-rnis-api/blob/automatic_generation/RniAPI.yaml
Should Be True ${PIC_RNIS_NOTIFICATIONS} == 1
${json}= Get File schemas/RadioNetworkInformationAPI.schema.json
${json}= Get File schemas/RabEstNotification.schema.json
Log Creating mock request and response to handle RAB establishment notification
&{req}= Create Mock Request Matcher POST ${callback_uri}${callback_endpoint}/rab_est body_type="JSON_SCHEMA" body=${json}
&{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204
......@@ -52,10 +52,10 @@ RAB Establishment notification
RAB modification notification
[Documentation] TC_MEC_SRV_RNIS_003_OK
... Check that the RNIS service sends an RNIS notification about RAB modification if the RNIS service has an associated subscription and the event is generated
... ETSI GS MEC 012 2.0.4, clause 6.4.4
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml
... ETSI GS MEC 012 2.1.1, clause 6.4.4
... Reference https://forge.etsi.org/rep/mec/gs012-rnis-api/blob/automatic_generation/RniAPI.yaml
Should Be True ${PIC_RNIS_NOTIFICATIONS} == 1
${json}= Get File schemas/RadioNetworkInformationAPI.schema.json
${json}= Get File schemas/RabModNotification.schema.json
Log Creating mock request and response to handle RAB modification notification
&{req}= Create Mock Request Matcher POST ${callback_uri}${callback_endpoint}/rab_mod body_type="JSON_SCHEMA" body=${json}
&{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204
......@@ -70,10 +70,10 @@ RAB modification notification
RAB release notification
[Documentation] TC_MEC_SRV_RNIS_004_OK
... Check that the RNIS service sends an RNIS notification about RAB release if the RNIS service has an associated subscription and the event is generated
... ETSI GS MEC 012 2.0.4, clause 6.4.5
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml
... ETSI GS MEC 012 2.1.1, clause 6.4.5
... Reference https://forge.etsi.org/rep/mec/gs012-rnis-api/blob/automatic_generation/RniAPI.yaml
Should Be True ${PIC_RNIS_NOTIFICATIONS} == 1
${json}= Get File schemas/RadioNetworkInformationAPI.schema.json
${json}= Get File schemas/RabRelNotification.schema.json
Log Creating mock request and response to handle RAB release notification
&{req}= Create Mock Request Matcher POST ${callback_uri}${callback_endpoint}/rab_rel body_type="JSON_SCHEMA" body=${json}
&{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204
......@@ -88,10 +88,10 @@ RAB release notification
UE measurement notification
[Documentation] TC_MEC_SRV_RNIS_005_OK
... Check that the RNIS service sends an RNIS notification about UE measurement report if the RNIS service has an associated subscription and the event is generated
... ETSI GS MEC 012 2.0.4, clause 6.4.6
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml
... ETSI GS MEC 012 2.1.1, clause 6.4.6
... Reference https://forge.etsi.org/rep/mec/gs012-rnis-api/blob/automatic_generation/RniAPI.yaml
Should Be True ${PIC_RNIS_NOTIFICATIONS} == 1
${json}= Get File schemas/RadioNetworkInformationAPI.schema.json
${json}= Get File schemas/MeasRepUeNotification.schema.json
Log Creating mock request and response to handle UE measurement notification
&{req}= Create Mock Request Matcher POST ${callback_uri}${callback_endpoint}/MeasRepUeNotification body_type="JSON_SCHEMA" body=${json}
&{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204
......@@ -106,10 +106,10 @@ UE measurement notification
UE timing advance notification
[Documentation] TC_MEC_SRV_RNIS_006_OK
... Check that the RNIS service sends an RNIS notification about UE timing advance if the RNIS service has an associated subscription and the event is generated
... ETSI GS MEC 012 2.0.4, clause 6.4.7
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml
... ETSI GS MEC 012 2.1.1, clause 6.4.7
... Reference https://forge.etsi.org/rep/mec/gs012-rnis-api/blob/automatic_generation/RniAPI.yaml
Should Be True ${PIC_RNIS_NOTIFICATIONS} == 1
${json}= Get File schemas/RadioNetworkInformationAPI.schema.json
${json}= Get File schemas/MeasTaSubscription.schema.json
Log Creating mock request and response to handle UE timing advance notification
&{req}= Create Mock Request Matcher POST ${callback_uri}${callback_endpoint}/MeasTaNotification body_type="JSON_SCHEMA" body=${json}
&{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204
......@@ -124,10 +124,10 @@ UE timing advance notification
UE carrier aggregation reconfiguration notification
[Documentation] TC_MEC_SRV_RNIS_007_OK
... Check that the RNIS service sends an RNIS notification about UE carrier aggregation reconfiguration if the RNIS service has an associated subscription and the event is generated
... ETSI GS MEC 012 2.0.4, clause 6.4.8
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml
... ETSI GS MEC 012 2.1.1, clause 6.4.8
... Reference https://forge.etsi.org/rep/mec/gs012-rnis-api/blob/automatic_generation/RniAPI.yaml
Should Be True ${PIC_RNIS_NOTIFICATIONS} == 1
${json}= Get File schemas/RadioNetworkInformationAPI.schema.json
${json}= Get File schemas/CaReconfSubscription.schema.json
Log Creating mock request and response to handle UE carrier aggregation reconfiguration notification
&{req}= Create Mock Request Matcher POST ${callback_uri}${callback_endpoint}/CaReconfSubscription body_type="JSON_SCHEMA" body=${json}
&{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204
......@@ -142,10 +142,10 @@ UE carrier aggregation reconfiguration notification
S1-U bearer notification
[Documentation] TC_MEC_SRV_RNIS_008_OK
... Check that the RNIS service sends an RNIS notification about S1-U bearer if the RNIS service has an associated subscription and the event is generated
... ETSI GS MEC 012 2.0.4, clause 6.4.10
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml
... ETSI GS MEC 012 2.1.1, clause 6.4.9
... Reference https://forge.etsi.org/rep/mec/gs012-rnis-api/blob/automatic_generation/RniAPI.yaml
Should Be True ${PIC_RNIS_NOTIFICATIONS} == 1
${json}= Get File schemas/RadioNetworkInformationAPI.schema.json
${json}= Get File schemas/S1BearerSubscription.schema.json
Log Creating mock request and response to handle S1-U bearer notification
&{req}= Create Mock Request Matcher POST ${callback_uri}${callback_endpoint}/S1BearerSubscription body_type="JSON_SCHEMA" body=${json}
&{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204
......@@ -160,10 +160,10 @@ S1-U bearer notification
TC_MEC_SRV_RNIS_009_OK
[Documentation] TC_MEC_SRV_RNIS_009_OK
... Check that the RNIS service sends an RNIS notification about 5G NR UE measurement report if the RNIS service has an associated subscription and the event is generated
... ETSI GS MEC 012 2.0.4, clause 6.4.11
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml
... ETSI GS MEC 012 2.1.1, clause 6.4.11
... Reference https://forge.etsi.org/rep/mec/gs012-rnis-api/blob/automatic_generation/RniAPI.yaml
Should Be True ${PIC_RNIS_NOTIFICATIONS} == 1
${json}= Get File schemas/RadioNetworkInformationAPI.schema.json
${json}= Get File schemas/NrMeasRepUeSubscription.schema.json
Log Creating mock request and response to handle UE Measurement notification
&{req}= Create Mock Request Matcher POST ${callback_uri}${callback_endpoint}/meas_rep_ue body_type="JSON_SCHEMA" body=${json}
&{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204
......@@ -175,22 +175,20 @@ TC_MEC_SRV_RNIS_009_OK
Clear Requests ${callback_endpoint}
TC_MEC_SRV_RNIS_010_OK
[Documentation] TC_MEC_SRV_RNIS_010_OK
... Check that the RNIS service sends an RNIS notification on subscription expiration if the RNIS service has an associated subscription and the event is generated
... ETSI GS MEC 012 2.0.4, clause 6.4.9
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml
Should Be True ${PIC_RNIS_NOTIFICATIONS} == 1
${json}= Get File schemas/RadioNetworkInformationAPI.schema.json
Log Creating mock request and response to handle UE Measurement notification
&{req}= Create Mock Request Matcher POST ${callback_uri}${callback_endpoint} body_type="JSON_SCHEMA" body=${json}
&{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204
Create Mock Expectation ${req} ${rsp}
Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${req}
Log Verifying results
Verify Mock Expectation ${req}
Log Cleaning the endpoint
Clear Requests ${callback_endpoint}
# TC_MEC_SRV_RNIS_010_OK
# [Documentation] TC_MEC_SRV_RNIS_010_OK
# ... Check that the RNIS service sends an RNIS notification on subscription expiration if the RNIS service has an associated subscription and the event is generated
# ... ETSI GS MEC 012 2.0.4, clause 6.4.9
# ... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml
# Should Be True ${PIC_RNIS_NOTIFICATIONS} == 1
# ${json}= Get File schemas/RadioNetworkInformationAPI.schema.json
# Log Creating mock request and response to handle UE Measurement notification
# &{req}= Create Mock Request Matcher POST ${callback_uri}${callback_endpoint} body_type="JSON_SCHEMA" body=${json}
# &{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204
# Create Mock Expectation ${req} ${rsp}
# Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${req}
# Log Verifying results
# Verify Mock Expectation ${req}
# Log Cleaning the endpoint
# Clear Requests ${callback_endpoint}
*** Keywords ***
......@@ -14,7 +14,7 @@ Library REST ${MEC-APP_SCHEMA}://${MEC-APP_HOST}:${MEC-APP_PORT} ssl_v
Request RabInfo info using wrong parameters
[Documentation] TC_MEC_SRV_RNIS_016_BR
... Check that the RNIS service returns an error when the RAB information is requested with a malformatted message
... ETSI GS MEC 012 2.0.4, clause 7.3.3.1
... ETSI GS MEC 012 2.1.1, clause 7.3.3.1
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/RabInfo
Get RabInfo info using wrong parameters
Check HTTP Response Status Code Is 400
......@@ -24,7 +24,7 @@ Request RabInfo info using wrong parameters
Request RabInfo info using non existing cell id
[Documentation] TC_MEC_SRV_RNIS_016_BR
... Check that the RNIS service returns an error when the RAB information for a not existing element is requested
... ETSI GS MEC 012 2.0.4, clause 7.3.3.1
... ETSI GS MEC 012 2.1.1, clause 7.3.3.1
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/RabInfo
Get RabInfo info using non existing cell id
Check HTTP Response Status Code Is 404
......@@ -34,7 +34,7 @@ Request RabInfo info using non existing cell id
Request Plmn info using wrong parameters
[Documentation] TC_MEC_SRV_RNIS_017_BR
... Check that the RNIS service returns an error when the PLMN information is requested with a malformatted message
... ETSI GS MEC 012 2.0.4, clause 7.4.3.1
... ETSI GS MEC 012 2.1.1, clause 7.4.3.1
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/PlmnInfo
Get PLMN info using wrong parameters
Check HTTP Response Status Code Is 400
......@@ -44,7 +44,7 @@ Request Plmn info using wrong parameters
Request Plmn info using non existing application id
[Documentation] TC_MEC_SRV_RNIS_017_NF
... Check that the RNIS service returns an error when the PLMN information for a not existing element is requested
... ETSI GS MEC 012 2.0.4, clause 7.4.3.1
... ETSI GS MEC 012 2.1.1, clause 7.4.3.1
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/PlmnInfo
Get PLMN info using non existing application id
Check HTTP Response Status Code Is 404
......@@ -54,7 +54,7 @@ Request Plmn info using non existing application id
Request S1Bearer info using wrong parameters
[Documentation] TC_MEC_SRV_RNIS_018_BR
... Check that the RNIS service returns an error when the S1 bearer information is requested with a malformatted message
... ETSI GS MEC 012 2.0.4, clause 7.4.3.1
... ETSI GS MEC 012 2.1.1, clause 7.5.3.1
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/S1BearerInfo
Get S1Bearer info using wrong parameters
Check HTTP Response Status Code Is 400
......@@ -64,7 +64,7 @@ Request S1Bearer info using wrong parameters
Request S1Bearer info using non existing cell id
[Documentation] TC_MEC_SRV_RNIS_018_BR
... Check that the RNIS service returns an error when the S1 bearer information is requested with a malformatted message
... ETSI GS MEC 012 2.0.4, clause 7.4.3.1
... ETSI GS MEC 012 2.1.1, clause 7.5.3.1
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/S1BearerInfo
Get S1Bearer info using non existing cell id
Check HTTP Response Status Code Is 404
......@@ -74,7 +74,7 @@ Request S1Bearer info using non existing cell id
Request L2Meas info using wrong parameters
[Documentation] TC_MEC_SRV_RNIS_019_BR
... Check that the RNIS service returns an error when the L2 measurements information is requested with a malformatted message
... ETSI GS MEC 012 2.0.4, clause 7.5a.3.1
... ETSI GS MEC 012 2.1.1, clause 7.5a.3.1
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/S1BearerInfo
Get L2Meas info using wrong parameters
Check HTTP Response Status Code Is 400
......@@ -84,7 +84,7 @@ Request L2Meas info using wrong parameters
Request L2Meas info using non existing cell id
[Documentation] TC_MEC_SRV_RNIS_019_BR
... Check that the RNIS service returns an error when the L2 measurements information for a not existing element is requested
... ETSI GS MEC 012 2.0.4, clause 7.5a.3.1
... ETSI GS MEC 012 2.1.1, clause 7.5a.3.1
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/S1BearerInfo
Get L2Meas info using non existing cell id
Check HTTP Response Status Code Is 404
......@@ -152,7 +152,7 @@ Get S1Bearer info using non existing cell id
Set Headers {"Content-Type":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Length":"0"}
Get /exampleAPI/rni/v2/queries/s1_bearer_info?cell_id=${NOT_EXISTENT_CELL_ID}
Get ${apiRoot}/rni/${apiVersion}/queries/s1_bearer_info?cell_id=${NOT_EXISTENT_CELL_ID}
${output}= Output response
Set Suite Variable ${response} ${output}
......@@ -163,7 +163,7 @@ Get L2Meas info using wrong parameters
Set Headers {"Content-Type":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Length":"0"}
Get /exampleAPI/rni/v2/queries/layer2_meas?c_id=${C_ID}
Get ${apiRoot}/rni/${apiVersion}/queries/layer2_meas?c_id=${C_ID}
${output}= Output response
Set Suite Variable ${response} ${output}
......@@ -174,6 +174,6 @@ Get L2Meas info using non existing cell id
Set Headers {"Content-Type":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Length":"0"}
Get /exampleAPI/rni/v2/queries/layer2_meas?cell_id=${NOT_EXISTENT_CELL_ID}
Get ${apiRoot}/rni/${apiVersion}/queries/layer2_meas?cell_id=${NOT_EXISTENT_CELL_ID}
${output}= Output response
Set Suite Variable ${response} ${output}
......@@ -14,43 +14,45 @@ Library REST ${MEC-APP_SCHEMA}://${MEC-APP_HOST}:${MEC-APP_PORT} ssl_v
Request RabInfo info
[Documentation] TC_MEC_SRV_RNIS_016_OK
... Check that the RNIS service returns the RAB information when requested
... ETSI GS MEC 012 2.0.4, clause 7.3.3.1
... ETSI GS MEC 012 2.1.1, clause 7.3.3.1
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/RabInfo
Get RabInfo info
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is RadioNetworkInformationAPI
Check RabInfo ${response['body']['RabInfo']}
Check HTTP Response Body Json Schema Is RabInfos
Check RabInfo ${response['body']}
Request Plmn info
[Documentation] TC_MEC_SRV_RNIS_017_OK
... Check that the RNIS service returns the PLMN information when requested
... ETSI GS MEC 012 2.0.4, clause 7.4.3.1
... ETSI GS MEC 012 2.1.1, clause 7.4.3.1
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/PlmnInfo
Get PLMN info
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is RadioNetworkInformationAPI
Check PlmnInfo ${response['body']['PlmnInfo']}
Check HTTP Response Body Json Schema Is PlmnInfos
Check PlmnInfo ${response['body']}
Request S1Bearer info
[Documentation] TC_MEC_SRV_RNIS_018_OK
... Check that the RNIS service returns the S1 bearer information
... ETSI GS MEC 012 2.0.4, clause 7.4.3.1
... ETSI GS MEC 012 2.1.1, clause 7.5.3.1
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/S1BearerInfo
Get S1Bearer info
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is RadioNetworkInformationAPI
Check HTTP Response Body Json Schema Is S1BearerInfos
#log ${response['body']}
Check S1BearerInfo ${response['body']['S1BearerInfo']}
Check S1BearerInfo ${response['body']}
Request L2Meas info
[Documentation] TC_MEC_SRV_RNIS_019_OK
[Documentation] TC_MEC_SRV_RNIS_019_OK
... Check that the RNIS service returns the L2 measurements information
... ETSI GS MEC 012 2.0.4, clause 7.4.3.1
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/S1BearerInfo
Fail msg=Too many changes in JSON data description, not implemented
... ETSI GS MEC 012 2.1.1, clause 7.5a.3.1
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/L2Meas
Get Layer2Meas Info
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is Layer2MeasInfos
Check L2MeasInfo ${response['body']}
*** Keywords ***
......@@ -60,7 +62,7 @@ Get RabInfo info
Set Headers {"Content-Type":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Length":"0"}
Get /exampleAPI/rni/v2/queries/rab_info?cell_id=${CELL_ID}
Get ${apiRoot}/rni/${apiVersion}/queries/rab_info?cell_id=${CELL_ID}
${output}= Output response
Set Suite Variable ${response} ${output}
......@@ -70,7 +72,7 @@ Get Plmn info
Set Headers {"Content-Type":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Length":"0"}
Get /exampleAPI/rni/v2/queries/plmn_info?app_ins_id=${APP_INS_ID}
Get ${apiRoot}/rni/${apiVersion}/queries/plmn_info?app_ins_id=${APP_INS_ID}
${output}= Output response
Set Suite Variable ${response} ${output}
......@@ -81,6 +83,17 @@ Get S1Bearer info
Set Headers {"Content-Type":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Length":"0"}
Get /exampleAPI/rni/v2/queries/s1_bearer_info?cell_id=${CELL_ID}
Get ${apiRoot}/rni/${apiVersion}/queries/s1_bearer_info?cell_id=${CELL_ID}
${output}= Output response
Set Suite Variable ${response} ${output}
Get Layer2Meas Info
Should Be True ${PIC_RNIS_SPECIFIC_SUBSCRIPTION} == 1
Set Headers {"Accept":"application/json"}
Set Headers {"Content-Type":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Length":"0"}
Get ${apiRoot}/rni/${apiVersion}/queries/layer2_meas?cell_id=${CELL_ID}
${output}= Output response
Set Suite Variable ${response} ${output}
\ No newline at end of file
......@@ -14,21 +14,19 @@ Library REST ${MEC-APP_SCHEMA}://${MEC-APP_HOST}:${MEC-APP_PORT} ssl_v
Request RNIS subscription list using bad parameters
[Documentation] TC_MEC_SRV_RNIS_011_BR
... Check that the RNIS service responds with an error when it receives a request to get all RNIS subscriptions with a wrong subscription type
... ETSI GS MEC 012 2.0.4, clause 7.6.3.1
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/SubscriptionLinkList
... ETSI GS MEC 012 2.1.1, clause 7.6.3.1
... Reference https://forge.etsi.org/rep/mec/gs012-rnis-api/blob/automatic_generation/RniAPI.yaml#/definitions/SubscriptionLinkList
Get RNIS subscription list with wrong parameter
Check HTTP Response Status Code Is 400
Check ProblemDetails 400
Create RNIS subscription using bad parameters
[Documentation] TC_MEC_SRV_RNIS_012_BR
... Check that the RNIS service responds with an error when it receives a request to create a new RNIS subscription with a wrong format
... ETSI GS MEC 012 2.0.4, clause 7.6.3.4
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml
... ETSI GS MEC 012 2.1.1, clause 7.6.3.4
... Reference https://forge.etsi.org/rep/mec/gs012-rnis-api/blob/automatic_generation/RniAPI.yaml
Post RNIS subscription request {"CellChangeSubscription": {"subscriptionType": "CelCangeSubscription", "callbackReference": "${HREF}", "_links": {"self": "${LINKS_SELF}"}, "filterCriteria": {"appInsId": "01", "associateId": [{"type": "UE_IPV4_ADDRESS", "value": 1}], "plmn": {"mcc": "01", "mnc": "001"}, "cellId": ["800000"], "hoStatus": "COMPLETED"}, "expiryDeadline": {"seconds": 1577836800, "nanoSeconds": 0}}}
Check HTTP Response Status Code Is 400
Check ProblemDetails 400
*** Keywords ***
......@@ -38,7 +36,7 @@ Get RNIS subscription list with wrong parameter
Set Headers {"Content-Type":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Length":"0"}
Get /exampleAPI/rni/v2/subscriptions?subscription_type=wrongSubscriptionType
Get ${apiRoot}/rni/${apiVersion}/subscriptions?subscription_type=wrongSubscriptionType
${output}= Output response
Set Suite Variable ${response} ${output}
......@@ -49,6 +47,6 @@ Post RNIS subscription request
Set Headers {"Accept":"application/json"}
Set Headers {"Content-Type":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
Post /exampleAPI/rni/v2/subscriptions ${content}
Post ${apiRoot}/rni/${apiVersion}/subscriptions ${content}
${output}= Output response
Set Suite Variable ${response} ${output}
......@@ -2,6 +2,7 @@
... Test Suite to validate RNIS/Subscription (RNIS) operations.
*** Settings ***
Library OperatingSystem
Resource environment/variables.txt
Resource ../../pics.txt
Resource ../../GenericKeywords.robot
......@@ -14,25 +15,52 @@ Library REST ${MEC-APP_SCHEMA}://${MEC-APP_HOST}:${MEC-APP_PORT} ssl_v
Request RNIS subscription list
[Documentation] TC_MEC_SRV_RNIS_011_OK
... Check that the RNIS service sends the list of links to the relevant RNIS subscriptions when requested
... ETSI GS MEC 012 2.0.4, clause 7.6.3.1
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/SubscriptionLinkList
... ETSI GS MEC 012 2.1.1, clause 7.6.3.1
... Reference https://forge.etsi.org/rep/mec/gs012-rnis-api/blob/automatic_generation/RniAPI.yaml#/definitions/SubscriptionLinkList
Get RNIS subscription list
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is RadioNetworkInformationAPI
Check Subscription ${response['body']['SubscriptionLinkList']} ${SUBSCRIPTION_VALUE}
Check HTTP Response Body Json Schema Is SubscriptionLinkList
Check Subscription ${response['body']} ${SUBSCRIPTION_VALUE}
Create RNIS subscription
[Documentation] TC_MEC_SRV_RNIS_012_OK
... Check that the RNIS service creates a new RNIS subscription
... ETSI GS MEC 012 2.0.4, clause 7.6.3.4
... Reference https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml
Post RNIS subscription request {"CellChangeSubscription": {"subscriptionType": "CELL_CHANGE", "callbackReference": "${HREF}", "_links": {"self": "${LINKS_SELF}"}, "filterCriteria": {"appInsId": "01", "associateId": [{"type": "UE_IPV4_ADDRESS", "value": 1}], "plmn": {"mcc": "01", "mnc": "001"}, "cellId": ["800000"], "hoStatus": "COMPLETED"}, "expiryDeadline": {"seconds": 1577836800, "nanoSeconds": 0}}}
... ETSI GS MEC 012 2.1.1, clause 7.6.3.4
... Reference https://forge.etsi.org/rep/mec/gs012-rnis-api/blob/automatic_generation/RniAPI.yaml
Post RNIS subscription request CellChangeSubscription
Check HTTP Response Status Code Is 201
Check HTTP Response Body Json Schema Is RadioNetworkInformationAPI
Check CellChangeSubscription ${response['body']['CellChangeSubscription']}
Check HTTP Response Body Json Schema Is CellChangeSubscriptionRequest
Check CellChangeSubscription ${response['body']}
Get an Individual RNIS subscription
[Documentation] TC_MEC_SRV_RNIS_013_OK
... Check that the RNIS service sends a RNIS subscription when requested
... ETSI GS MEC 012 2.1.1, clause 7.8.3.1
... Reference https://forge.etsi.org/rep/mec/gs012-rnis-api/blob/automatic_generation/RniAPI.yaml
Get Individual RNIS Subscription
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is CellChangeSubscriptionRequest
Update an Individual RNIS subscription
[Documentation] TC_MEC_SRV_RNIS_014_OK
... Check that the RNIS service modifies a RNIS subscription when requested
... ETSI GS MEC 012 2.1.1, clause 7.8.3.2
... Reference https://forge.etsi.org/rep/mec/gs012-rnis-api/blob/automatic_generation/RniAPI.yaml
Update Individual RNIS Subscription
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is CellChangeSubscriptionRequest
Remove an Individual RNIS subscription
[Documentation] TC_MEC_SRV_RNIS_015_OK
... Check that the RNIS service deletes a RNIS subscription when requested
... ETSI GS MEC 012 2.1.1, clause 7.8.3.5
... Reference https://forge.etsi.org/rep/mec/gs012-rnis-api/blob/automatic_generation/RniAPI.yaml
Delete Individual RNIS Subscription
Check HTTP Response Status Code Is 204
*** Keywords ***
Get RNIS subscription list
Should Be True ${PIC_RNIS_SPECIFIC_SUBSCRIPTION} == 1
......@@ -40,7 +68,7 @@ Get RNIS subscription list
Set Headers {"Content-Type":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Length":"0"}
Get /exampleAPI/rni/v2/subscriptions?subscription_type=${SUBSCRIPTION_HREF_VALUE}
Get ${apiRoot}/rni/${apiVersion}/subscriptions?subscription_type=${SUBSCRIPTION_HREF_VALUE}
${output}= Output response
Set Suite Variable ${response} ${output}
......@@ -51,6 +79,40 @@ Post RNIS subscription request
Set Headers {"Accept":"application/json"}
Set Headers {"Content-Type":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
Post /exampleAPI/rni/v2/subscriptions ${content}
${body} Get File jsons/CellChangeSubscriptionRequest.json
Post ${apiRoot}/rni/${apiVersion}/subscriptions ${body}
${output}= Output response
Set Suite Variable ${response} ${output}
Get Individual RNIS Subscription
Should Be True ${PIC_RNIS_SPECIFIC_SUBSCRIPTION} == 1
Set Headers {"Accept":"application/json"}
Set Headers {"Content-Type":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Length":"0"}
Get ${apiRoot}/rni/${apiVersion}/subscriptions/${SUBSCRIPTION_ID}
${output}= Output response
Set Suite Variable ${response} ${output}
Update Individual RNIS Subscription
Should Be True ${PIC_RNIS_SPECIFIC_SUBSCRIPTION} == 1
Set Headers {"Accept":"application/json"}
Set Headers {"Content-Type":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
${body} Get File jsons/UpdateCellChangeSubscriptionRequest.json
Put ${apiRoot}/rni/${apiVersion}/subscriptions/${SUBSCRIPTION_ID} ${body}
${output}= Output response
Set Suite Variable ${response} ${output}
Delete Individual RNIS Subscription
Should Be True ${PIC_RNIS_SPECIFIC_SUBSCRIPTION} == 1
Set Headers {"Accept":"application/json"}
Set Headers {"Content-Type":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Length":"0"}
Delete ${apiRoot}/rni/${apiVersion}/subscriptions/${SUBSCRIPTION_ID}
${output}= Output response
Set Suite Variable ${response} ${output}
\ No newline at end of file
......@@ -20,6 +20,11 @@ ${NOT_EXISTENT_APP_INS_ID} 99
${response} {}
${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l
${apiRoot}
${apiVersion} v2
# Notifications variables
${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar
......
{
"subscriptionType": "CellChangeSubscription",
"callbackReference": "${HREF}",
"_links": {
"self": {
"href": "${LINKS_SELF}"
}
},
"filterCriteriaAssocHo": {},
}
\ No newline at end of file
{
"subscriptionType": "CellChangeSubscription",
"callbackReference": "${HREF}",
"_links": {
"self": {
"href": "${LINKS_SELF}"
}
},
"filterCriteriaAssocHo": {},
}
\ No newline at end of file
......@@ -10,10 +10,11 @@ Library JSONSchemaLibrary schemas/
Check Subscription
[Arguments] ${received_value} ${expected_value}
Should Be Equal ${received_value['_links']['self']} ${LINKS_SELF}
:FOR ${item} IN @{received_value['subscription']}
\ Exit For Loop If ${item} == ${expected_value}
Log Item found ${item}
[return] ${item}
${length} Get Length ${received_value['subscription']}
:FOR ${item} IN RANGE 0 ${length}
\ Exit For Loop If ${received_value['subscription'][${item}]} == ${expected_value}
Log Item found ${received_value['subscription'][${item}]}
[return] ${received_value['subscription'][${item}]}
Check CellChangeSubscription
......@@ -24,23 +25,25 @@ Check CellChangeSubscription
Check RabInfo
[Arguments] ${received_value}
log ${received_value}
Should Be Equal ${received_value['appInsId']} ${APP_INS_ID}
Should Not Contain ${received_value['requestId']} ""
Should Be Equal ${received_value['cellUserInfo'][0]['ecgi']['cellId']} ${CELL_ID}
# TODO How to check the presence of a field
Should Be Equal As Strings ${received_value['appInstanceId']} ${APP_INS_ID}
Should Not Be Empty ${received_value['requestId']}
Should Be Equal As Strings ${received_value['cellUserInfo'][0]['ecgi']['cellId']} ${CELL_ID}
Check PlmnInfo
[Arguments] ${received_value}
log ${received_value}
Should Be Equal ${received_value['appInsId']} ${APP_INS_ID}
Should Not Contain ${received_value['plmn'][0]['mcc']} ""
Should Not Contain ${received_value['plmn'][0]['mnc']} ""
# TODO How to check the presence of a field
Should Be Equal As Strings ${received_value['appInstanceId']} ${APP_INS_ID}
Should Not Be Empty ${received_value['plmn'][0]['mcc']}
Should Not Be Empty ${received_value['plmn'][0]['mnc']}
Check S1BearerInfo
[Arguments] ${received_value}
log ${received_value}
#Should Not Contain ${received_value['s1UeInfo'][0]['ecgi']['cellId']} ${CELL_ID}
# TODO How to check the presence of a field
Should Be Equal As Strings ${received_value['s1UeIffo']['ecgi']['cellId']} ${CELL_ID}
Check L2MeasInfo
[Arguments] ${received_value}
log ${received_value}
Should Be Equal As Strings ${received_value['cellInfo']['ecgi']['cellId']} ${CELL_ID}
{
"properties": {
"_links": {
"description": "Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.",
"type": "object",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "Structure (inlined)"
},
"callbackReference": {
"description": "URI selected by the service consumer to receive notifications on the subscribed RNIS information. This shall be included both in the request and in response.",
"format": "uri",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "URI"
},
"expiryDeadline": {
"properties": {
"nanoSeconds": {
"type": "number"
},
"seconds": {
"type": "number"
}
},
"required": [
"seconds",
"nanoSeconds"
],
"type": "object",
"x-etsi-ref": "6.5.3"
},
"filterCriteriaAssoc": {
"description": "List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response.",
"type": "object",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Structure (inlined)"
},
"subscriptionType": {
"description": "Shall be set to \"CaReconfSubscription\".",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
}
},
"required": [
"subscriptionType",
"callbackReference",
"filterCriteriaAssoc"
],
"type": "object",
"x-etsi-ref": "6.3.8"
}
\ No newline at end of file
{
"properties": {
"associateId": {
"description": "0 to N identifiers to associate the event for a specific UE or flow.",
"items": {
"properties": {
"type": {
"description": "Numeric value (0-255) corresponding to specified type of identifier as following:\n0 = reserved.\n1= UE_IPv4_ADDRESS.\n2 = UE_IPV6_ADDRESS.\n3 = NATED_IP_ADDRESS.\n4 = GTP_TEID.",
"enum": [
"SEE_DESCRIPTION"
],
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Enum"
},
"value": {
"description": "Value for the identifier.",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
}
},
"required": [
"type",
"value"
],
"type": "object",
"x-etsi-ref": "6.5.4"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "AssociateId"
},
"hoStatus": {
"description": "Indicate the status of the UE handover procedure. Values are defined as following:\n1 = IN_PREPARATION.\n2 = IN_EXECUTION.\n3 = COMPLETED.\n4 = REJECTED.\n5 = CANCELLED.",
"enum": [
"SEE_DESCRIPTION"
],
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Enum"
},
"notificationType": {
"description": "Shall be set to \"CellChangeNotification\".",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
},
"srcEcgi": {
"properties": {
"cellId": {
"description": "String representing the E-UTRAN Cell Identity. Encoded as a bit string (size (28)) as defined in ETSI TS 136 413 [i.3].",
"type": "string"
},
"plmn": {
"properties": {
"mcc": {
"description": "The Mobile Country Code part of PLMN Identity as defined in ETSI TS 136 413 [i.3].",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
},
"mnc": {
"description": "The Mobile Network Code part of PLMN Identity as defined in ETSI TS 136 413 [i.3].",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
}
},
"required": [
"mcc",
"mnc"
],
"type": "object",
"x-etsi-ref": "6.5.5"
}
},
"required": [