Loading MEC013/SRV/UEDISTSUB/PlatUeDistanceSubscription.robot +59 −27 Original line number Diff line number Diff line Loading @@ -8,7 +8,8 @@ Resource ../../../pics.txt Resource environment/variables.txt Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false Library OperatingSystem Library libraries/Server.py Library String Default Tags TC_MEC_SRV_UEDISTSUB Loading @@ -19,55 +20,81 @@ TC_MEC_MEC013_SRV_UEDISTSUB_001_OK ... Check that the IUT acknowledges the UE distance subscription request when commanded by a ... MEC Application and notifies it when (all) the requested UE(s) is (are) within the specified distance ... ... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.10 ... OpenAPI # TODO check this ... Reference ETSI GS MEC 013 3.1.1 Clause 5.3.4 ... ETSI GS MEC 013 3.1.1 Clause 6.3.9 ... ETSI GS MEC 013 3.1.1 Clause 6.4.9 ... ETSI GS MEC 013 3.1.1 Clause 7.14.3.4 [Tags] PIC_MEC_PLAT PIC_SERVICES Create new subscription DistanceNotificationSubscription Create new subscription UserDistanceSubscription Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is DistanceNotificationSubscription Check Result Contains ${response['body']['distanceNotificationSubscription']} clientCorrelator ${UEDISTSUB_CLIENT_ID} Check Result Contains ${response['body']['distanceNotificationSubscription']} callbackReference ${APP_SRVSUB_NOTIF_CALLBACK_URI} Check Result Contains ${response['body']['distanceNotificationSubscription']} monitoredAddress ${UEDISTSUB_MONITORED_IP_ADDRESS} Check Result Contains ${response['body']['distanceNotificationSubscription']} referenceAddress ${UEDISTSUB_IP_ADDRESS} Check HTTP Response Body Json Schema Is UserDistanceSubscription ${CLIENT_CORRELATOR} Get value entry from JSON file UserDistanceSubscription clientCorrelator ${CALLBACK_REF} Get value entry from JSON file UserDistanceSubscription callbackReference ${MON_ADDRESSED} Get value entry from JSON file UserDistanceSubscription monitoredAddress ${DISTANCE} Get value entry from JSON file UserDistanceSubscription distance ${TRACK_ACCURACY} Get value entry from JSON file UserDistanceSubscription trackingAccuracy ${CRITERIA} Get value entry from JSON file UserDistanceSubscription criteria ${CHECK_IMMEDIATE} Get value entry from JSON file UserDistanceSubscription checkImmediate Should be Equal ${response['body']['userDistanceSubscription']['clientCorrelator']} ${CLIENT_CORRELATOR} Should be Equal ${response['body']['userDistanceSubscription']['callbackReference']} ${CALLBACK_REF} Should be Equal ${response['body']['userDistanceSubscription']['distance']} ${DISTANCE} Should be Equal ${response['body']['userDistanceSubscription']['trackingAccuracy']} ${TRACK_ACCURACY} Should be Equal ${response['body']['userDistanceSubscription']['criteria']} ${CRITERIA} Should be Equal ${response['body']['userDistanceSubscription']['checkImmediate']} ${True} Spawn Notification Server UserDistanceNotification Validate Json UserDistanceNotification.schema.json ${payload_notification} [TearDown] Remove subscription ${SUB_ID} TC_MEC_MEC013_SRV_UEDISTSUB_001_BR [Documentation] ... Check that the IUT responds with an error when ... a request with incorrect parameters is sent by a MEC Application ... Check that the IUT responds with an error when a request with incorrect parameters is ... sent by a MEC Application - Neither callbackReference nor websockNotifConfig provided ... ... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.10 ... Reference ETSI GS MEC 013 3.1.1 Clause 5.3.4 ... ETSI GS MEC 013 3.1.1 Clause 6.3.9 ... ETSI GS MEC 013 3.1.1 Clause 6.4.9 ... ETSI GS MEC 013 3.1.1 Clause 7.14.3.4 [Tags] PIC_MEC_PLAT PIC_SERVICES Create new subscription DistanceNotificationSubscriptionError Create new subscription UserDistanceSubscriptionError Check HTTP Response Status Code Is 400 TC_MEC_MEC013_SRV_UEDISTSUB_002_OK [Documentation] ... Check that the IUT acknowledges the cancellation of UE distance notifications ... when commanded by a MEC Application ... Check that the IUT acknowledges the cancellation of UE distance ... notifications when commanded by a MEC Application ... ... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.6 ... Reference ETSI GS MEC 013 3.1.1 Clause 5.3.6 ... ETSI GS MEC 013 3.1.1 Clause 7.15.3.5 [Tags] PIC_MEC_PLAT PIC_SERVICES Remove subscription ${SUBSCRIPTION_ID} [Setup] Create new subscription and get sub id UserDistanceSubscription Remove subscription ${SUB_ID} Check HTTP Response Status Code Is 204 TC_MEC_MEC013_SRV_UEDISTSUB_002_NF [Documentation] ... Check that the IUT responds with an error when ... a request for an unknown URI is sent by a MEC Application ... Check that the IUT responds with an error when a request for an URI that cannot be mapped to a valid resource URI ... is sent by a MEC Application ... ... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.6 ... Reference ETSI GS MEC 013 3.1.1 Clause 5.3.6 ... ETSI GS MEC 013 3.1.1 Clause 7.15.3.5 [Tags] PIC_MEC_PLAT PIC_SERVICES Remove subscription ${NON_EXISTENT_SUBSCRIPTION_ID} [Setup] Remove subscription ${NON_EXISTING_SUBSCRIPTION_ID} Remove subscription ${NON_EXISTING_SUBSCRIPTION_ID} Check HTTP Response Status Code Is 404 *** Keywords *** Create new subscription and get sub id [Arguments] ${content} Create new subscription ${content} ${elements} = Split String ${response['headers']['Location']} / Set Suite Variable ${SUB_ID} ${elements[3]} Create new subscription [Arguments] ${content} Set Headers {"Accept":"application/json"} Loading @@ -86,3 +113,8 @@ Remove subscription Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions/distance/${subscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} Spawn Notification Server [Arguments] ${payload_notification} ${output} Spawn Web Server ${NOTIFICATION_SERVER_IP} ${NOTIFICATION_SERVER_PORT} ${NOTIFICATION_SERVER_TIMEOUT} ${NOTIFICATION_SERVER_HTTP_METHOD} ${NOTIFICATION_SERVER_URI} ${payload_notification} Set Suite Variable ${payload_notification} ${output} No newline at end of file MEC013/SRV/UEDISTSUB/environment/variables.txt +10 −9 Original line number Diff line number Diff line *** Variables *** # Generic variables ${SCHEMA} http ${HOST} 10.192.2.172 ${HOST} 127.0.0.1 ${PORT} 8081 ${response} {} ${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l ${apiRoot} ${apiName} location ${apiVersion} v2 ${apiVersion} v3 # Specific variables ${UEDISTSUB_CLIENT_ID} 0123 ${APP_SRVSUB_NOTIF_CALLBACK_URI} "callbackReference": {"callbackData": "1234","notifyURL": "http://application.example.com/notifications/distance_notifications/123456"} ${UEDISTSUB_MONITORED_IP_ADDRESS} ["acr:10.0.0.1", "acr:10.0.0.2"] ${UEDISTSUB_IP_ADDRESS} acr:10.0.0.3 ${SUBSCRIPTION_ID} e0deee2b-6e50-4f33-ab09-8bf0585025d3 ${NON_EXISTENT_SUBSCRIPTION_ID} NON_EXISTENT_SUBSCRIPTION_ID No newline at end of file ##Notification Server variables ${NOTIFICATION_SERVER_IP} 127.0.0.1 ${NOTIFICATION_SERVER_PORT} 8888 ${NOTIFICATION_SERVER_HTTP_METHOD} POST ${NOTIFICATION_SERVER_URI} /callback_url ${NOTIFICATION_SERVER_TIMEOUT} 5 ${SUB_ID} ${NON_EXISTING_SUBSCRIPTION_ID} NON_EXISTING_SUBSCRIPTION_ID No newline at end of file MEC013/SRV/UEDISTSUB/jsons/DistanceNotificationSubscription.jsondeleted 100644 → 0 +0 −16 Original line number Diff line number Diff line { "distanceNotificationSubscription": { "callbackReference": { "callbackData": "1234", "notifyURL": "http://application.example.com/notifications/distance_notifications/123456" }, "checkImmediate": "true", "clientCorrelator": "0123", "criteria": "AllWithinDistance", "distance": "100", "frequency": "10", "monitoredAddress": ["acr:10.0.0.1", "acr:10.0.0.2"], "referenceAddress": "acr:10.0.0.3", "trackingAccuracy": "10" } } No newline at end of file MEC013/SRV/UEDISTSUB/jsons/DistanceNotificationSubscriptionError.jsondeleted 100644 → 0 +0 −16 Original line number Diff line number Diff line { "distanceNotificationSubscription": { "callbackReference": { "callbackData": "1234", "notifyURL": "http://application.example.com/notifications/distance_notifications/123456" }, "checkImmediate": "true", "clientCorrelator": "0123", "criteria": "AllWithinDistance", "distance": "100", "frequency": "10", "monitoredAddress": ["acr:10.0.0.1", "acr:10.0.0.2"], "reference": "acr:10.0.0.3", "trackingAccuracy": "10" } } No newline at end of file MEC013/SRV/UEDISTSUB/jsons/UserDistanceNotification.json 0 → 100644 +24 −0 Original line number Diff line number Diff line { "notificationType": "UserDistanceNotification", "_links": { "subscription": { "href": "https://sDZdgInDNnbFYppR.rt/aa" } }, "distanceEvent": "AllWithinDistance", "monitoredUsers": { "resourceURL": "http://meAppServer.example.com/location/v3/queries/users", "user": [ { "address": "acr:10.0.0.1", "accessPointId": "001010000000000000000000000000001", "zoneId": "zone01", "resourceURL": "sunt", "timestamp": { "nanoSeconds": 22688093, "seconds": 0 } } ] } } No newline at end of file Loading
MEC013/SRV/UEDISTSUB/PlatUeDistanceSubscription.robot +59 −27 Original line number Diff line number Diff line Loading @@ -8,7 +8,8 @@ Resource ../../../pics.txt Resource environment/variables.txt Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false Library OperatingSystem Library libraries/Server.py Library String Default Tags TC_MEC_SRV_UEDISTSUB Loading @@ -19,55 +20,81 @@ TC_MEC_MEC013_SRV_UEDISTSUB_001_OK ... Check that the IUT acknowledges the UE distance subscription request when commanded by a ... MEC Application and notifies it when (all) the requested UE(s) is (are) within the specified distance ... ... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.10 ... OpenAPI # TODO check this ... Reference ETSI GS MEC 013 3.1.1 Clause 5.3.4 ... ETSI GS MEC 013 3.1.1 Clause 6.3.9 ... ETSI GS MEC 013 3.1.1 Clause 6.4.9 ... ETSI GS MEC 013 3.1.1 Clause 7.14.3.4 [Tags] PIC_MEC_PLAT PIC_SERVICES Create new subscription DistanceNotificationSubscription Create new subscription UserDistanceSubscription Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is DistanceNotificationSubscription Check Result Contains ${response['body']['distanceNotificationSubscription']} clientCorrelator ${UEDISTSUB_CLIENT_ID} Check Result Contains ${response['body']['distanceNotificationSubscription']} callbackReference ${APP_SRVSUB_NOTIF_CALLBACK_URI} Check Result Contains ${response['body']['distanceNotificationSubscription']} monitoredAddress ${UEDISTSUB_MONITORED_IP_ADDRESS} Check Result Contains ${response['body']['distanceNotificationSubscription']} referenceAddress ${UEDISTSUB_IP_ADDRESS} Check HTTP Response Body Json Schema Is UserDistanceSubscription ${CLIENT_CORRELATOR} Get value entry from JSON file UserDistanceSubscription clientCorrelator ${CALLBACK_REF} Get value entry from JSON file UserDistanceSubscription callbackReference ${MON_ADDRESSED} Get value entry from JSON file UserDistanceSubscription monitoredAddress ${DISTANCE} Get value entry from JSON file UserDistanceSubscription distance ${TRACK_ACCURACY} Get value entry from JSON file UserDistanceSubscription trackingAccuracy ${CRITERIA} Get value entry from JSON file UserDistanceSubscription criteria ${CHECK_IMMEDIATE} Get value entry from JSON file UserDistanceSubscription checkImmediate Should be Equal ${response['body']['userDistanceSubscription']['clientCorrelator']} ${CLIENT_CORRELATOR} Should be Equal ${response['body']['userDistanceSubscription']['callbackReference']} ${CALLBACK_REF} Should be Equal ${response['body']['userDistanceSubscription']['distance']} ${DISTANCE} Should be Equal ${response['body']['userDistanceSubscription']['trackingAccuracy']} ${TRACK_ACCURACY} Should be Equal ${response['body']['userDistanceSubscription']['criteria']} ${CRITERIA} Should be Equal ${response['body']['userDistanceSubscription']['checkImmediate']} ${True} Spawn Notification Server UserDistanceNotification Validate Json UserDistanceNotification.schema.json ${payload_notification} [TearDown] Remove subscription ${SUB_ID} TC_MEC_MEC013_SRV_UEDISTSUB_001_BR [Documentation] ... Check that the IUT responds with an error when ... a request with incorrect parameters is sent by a MEC Application ... Check that the IUT responds with an error when a request with incorrect parameters is ... sent by a MEC Application - Neither callbackReference nor websockNotifConfig provided ... ... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.10 ... Reference ETSI GS MEC 013 3.1.1 Clause 5.3.4 ... ETSI GS MEC 013 3.1.1 Clause 6.3.9 ... ETSI GS MEC 013 3.1.1 Clause 6.4.9 ... ETSI GS MEC 013 3.1.1 Clause 7.14.3.4 [Tags] PIC_MEC_PLAT PIC_SERVICES Create new subscription DistanceNotificationSubscriptionError Create new subscription UserDistanceSubscriptionError Check HTTP Response Status Code Is 400 TC_MEC_MEC013_SRV_UEDISTSUB_002_OK [Documentation] ... Check that the IUT acknowledges the cancellation of UE distance notifications ... when commanded by a MEC Application ... Check that the IUT acknowledges the cancellation of UE distance ... notifications when commanded by a MEC Application ... ... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.6 ... Reference ETSI GS MEC 013 3.1.1 Clause 5.3.6 ... ETSI GS MEC 013 3.1.1 Clause 7.15.3.5 [Tags] PIC_MEC_PLAT PIC_SERVICES Remove subscription ${SUBSCRIPTION_ID} [Setup] Create new subscription and get sub id UserDistanceSubscription Remove subscription ${SUB_ID} Check HTTP Response Status Code Is 204 TC_MEC_MEC013_SRV_UEDISTSUB_002_NF [Documentation] ... Check that the IUT responds with an error when ... a request for an unknown URI is sent by a MEC Application ... Check that the IUT responds with an error when a request for an URI that cannot be mapped to a valid resource URI ... is sent by a MEC Application ... ... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.6 ... Reference ETSI GS MEC 013 3.1.1 Clause 5.3.6 ... ETSI GS MEC 013 3.1.1 Clause 7.15.3.5 [Tags] PIC_MEC_PLAT PIC_SERVICES Remove subscription ${NON_EXISTENT_SUBSCRIPTION_ID} [Setup] Remove subscription ${NON_EXISTING_SUBSCRIPTION_ID} Remove subscription ${NON_EXISTING_SUBSCRIPTION_ID} Check HTTP Response Status Code Is 404 *** Keywords *** Create new subscription and get sub id [Arguments] ${content} Create new subscription ${content} ${elements} = Split String ${response['headers']['Location']} / Set Suite Variable ${SUB_ID} ${elements[3]} Create new subscription [Arguments] ${content} Set Headers {"Accept":"application/json"} Loading @@ -86,3 +113,8 @@ Remove subscription Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions/distance/${subscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} Spawn Notification Server [Arguments] ${payload_notification} ${output} Spawn Web Server ${NOTIFICATION_SERVER_IP} ${NOTIFICATION_SERVER_PORT} ${NOTIFICATION_SERVER_TIMEOUT} ${NOTIFICATION_SERVER_HTTP_METHOD} ${NOTIFICATION_SERVER_URI} ${payload_notification} Set Suite Variable ${payload_notification} ${output} No newline at end of file
MEC013/SRV/UEDISTSUB/environment/variables.txt +10 −9 Original line number Diff line number Diff line *** Variables *** # Generic variables ${SCHEMA} http ${HOST} 10.192.2.172 ${HOST} 127.0.0.1 ${PORT} 8081 ${response} {} ${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l ${apiRoot} ${apiName} location ${apiVersion} v2 ${apiVersion} v3 # Specific variables ${UEDISTSUB_CLIENT_ID} 0123 ${APP_SRVSUB_NOTIF_CALLBACK_URI} "callbackReference": {"callbackData": "1234","notifyURL": "http://application.example.com/notifications/distance_notifications/123456"} ${UEDISTSUB_MONITORED_IP_ADDRESS} ["acr:10.0.0.1", "acr:10.0.0.2"] ${UEDISTSUB_IP_ADDRESS} acr:10.0.0.3 ${SUBSCRIPTION_ID} e0deee2b-6e50-4f33-ab09-8bf0585025d3 ${NON_EXISTENT_SUBSCRIPTION_ID} NON_EXISTENT_SUBSCRIPTION_ID No newline at end of file ##Notification Server variables ${NOTIFICATION_SERVER_IP} 127.0.0.1 ${NOTIFICATION_SERVER_PORT} 8888 ${NOTIFICATION_SERVER_HTTP_METHOD} POST ${NOTIFICATION_SERVER_URI} /callback_url ${NOTIFICATION_SERVER_TIMEOUT} 5 ${SUB_ID} ${NON_EXISTING_SUBSCRIPTION_ID} NON_EXISTING_SUBSCRIPTION_ID No newline at end of file
MEC013/SRV/UEDISTSUB/jsons/DistanceNotificationSubscription.jsondeleted 100644 → 0 +0 −16 Original line number Diff line number Diff line { "distanceNotificationSubscription": { "callbackReference": { "callbackData": "1234", "notifyURL": "http://application.example.com/notifications/distance_notifications/123456" }, "checkImmediate": "true", "clientCorrelator": "0123", "criteria": "AllWithinDistance", "distance": "100", "frequency": "10", "monitoredAddress": ["acr:10.0.0.1", "acr:10.0.0.2"], "referenceAddress": "acr:10.0.0.3", "trackingAccuracy": "10" } } No newline at end of file
MEC013/SRV/UEDISTSUB/jsons/DistanceNotificationSubscriptionError.jsondeleted 100644 → 0 +0 −16 Original line number Diff line number Diff line { "distanceNotificationSubscription": { "callbackReference": { "callbackData": "1234", "notifyURL": "http://application.example.com/notifications/distance_notifications/123456" }, "checkImmediate": "true", "clientCorrelator": "0123", "criteria": "AllWithinDistance", "distance": "100", "frequency": "10", "monitoredAddress": ["acr:10.0.0.1", "acr:10.0.0.2"], "reference": "acr:10.0.0.3", "trackingAccuracy": "10" } } No newline at end of file
MEC013/SRV/UEDISTSUB/jsons/UserDistanceNotification.json 0 → 100644 +24 −0 Original line number Diff line number Diff line { "notificationType": "UserDistanceNotification", "_links": { "subscription": { "href": "https://sDZdgInDNnbFYppR.rt/aa" } }, "distanceEvent": "AllWithinDistance", "monitoredUsers": { "resourceURL": "http://meAppServer.example.com/location/v3/queries/users", "user": [ { "address": "acr:10.0.0.1", "accessPointId": "001010000000000000000000000000001", "zoneId": "zone01", "resourceURL": "sunt", "timestamp": { "nanoSeconds": 22688093, "seconds": 0 } } ] } } No newline at end of file