Commit 31208d0c authored by Elian Kraja's avatar Elian Kraja
Browse files

Fixies after MEC013 tests

parent 22f68efa
Pipeline #2197 passed with stage
in 0 seconds
...@@ -15,7 +15,6 @@ Check HTTP Response Status Code Is ...@@ -15,7 +15,6 @@ Check HTTP Response Status Code Is
Log Status code validated Log Status code validated
Check HTTP Response Body Json Schema Is Check HTTP Response Body Json Schema Is
[Tags] INCLUDE_UNDEFINED_SCHEMAS
[Arguments] ${input} [Arguments] ${input}
Should Contain ${response['headers']['Content-Type']} application/json Should Contain ${response['headers']['Content-Type']} application/json
${schema} = Catenate SEPARATOR= ${input} .schema.json ${schema} = Catenate SEPARATOR= ${input} .schema.json
......
...@@ -21,7 +21,7 @@ TC_MEC_SRV_RLOCLOOK_001_OK ...@@ -21,7 +21,7 @@ TC_MEC_SRV_RLOCLOOK_001_OK
... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.7 ... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.7
... OpenAPI https://forge.etsi.org/gitlab/mec/gs013-location-api/blob/master/LocationAPI.yaml#/definitions/AccessPointList ... OpenAPI https://forge.etsi.org/gitlab/mec/gs013-location-api/blob/master/LocationAPI.yaml#/definitions/AccessPointList
[Tags] PIC_MEC_PLAT PIC_SERVICES [Tags] PIC_MEC_PLAT PIC_SERVICES INCLUDE_UNDEFINED_SCHEMAS
Get the access points list ${ZONE_ID} Get the access points list ${ZONE_ID}
Check HTTP Response Status Code Is 200 Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is AccessPointList Check HTTP Response Body Json Schema Is AccessPointList
...@@ -48,3 +48,7 @@ Get the access points list ...@@ -48,3 +48,7 @@ Get the access points list
Get ${apiRoot}/${apiName}/${apiVersion}/zones/${zoneId}/accessPoints Get ${apiRoot}/${apiName}/${apiVersion}/zones/${zoneId}/accessPoints
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Suite Variable ${response} ${output}
...@@ -8,4 +8,4 @@ ...@@ -8,4 +8,4 @@
"required": [ "required": [
"undefinedJsonSchema" "undefinedJsonSchema"
] ]
} }
\ No newline at end of file
...@@ -13,7 +13,6 @@ Default Tags TC_MEC_SRV_UEAREASUB ...@@ -13,7 +13,6 @@ Default Tags TC_MEC_SRV_UEAREASUB
*** Test Cases *** *** Test Cases ***
TC_MEC_SRV_UEAREASUB_001_OK TC_MEC_SRV_UEAREASUB_001_OK
[Documentation] [Documentation]
... Check that the IUT acknowledges the UE area change subscription request when ... Check that the IUT acknowledges the UE area change subscription request when
...@@ -22,7 +21,7 @@ TC_MEC_SRV_UEAREASUB_001_OK ...@@ -22,7 +21,7 @@ TC_MEC_SRV_UEAREASUB_001_OK
... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.11 ... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.11
... OpenAPI # TODO check this ... OpenAPI # TODO check this
[Tags] PIC_MEC_PLAT PIC_SERVICES [Tags] PIC_MEC_PLAT PIC_SERVICES INCLUDE_UNDEFINED_SCHEMAS
Create new subscription CircleNotificationSubscription Create new subscription CircleNotificationSubscription
Check HTTP Response Status Code Is 201 Check HTTP Response Status Code Is 201
Check HTTP Response Body Json Schema Is CircleNotificationSubscription Check HTTP Response Body Json Schema Is CircleNotificationSubscription
...@@ -85,4 +84,4 @@ Remove subscription ...@@ -85,4 +84,4 @@ Remove subscription
Set Headers {"Authorization":"${TOKEN}"} Set Headers {"Authorization":"${TOKEN}"}
Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions/area/circle/${subscriptionId} Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions/area/circle/${subscriptionId}
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Suite Variable ${response} ${output}
\ No newline at end of file
...@@ -11,6 +11,9 @@ Library OperatingSystem ...@@ -11,6 +11,9 @@ Library OperatingSystem
Default Tags TC_MEC_SRV_UEDISTLOOK Default Tags TC_MEC_SRV_UEDISTLOOK
*** Variables ***
${response}
*** Test Cases *** *** Test Cases ***
...@@ -22,10 +25,12 @@ TC_MEC_SRV_UEDISTLOOK_001_OK ...@@ -22,10 +25,12 @@ TC_MEC_SRV_UEDISTLOOK_001_OK
... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.9 ... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.9
... OpenAPI # TODO check this ... OpenAPI # TODO check this
[Tags] PIC_MEC_PLAT PIC_SERVICES [Tags] PIC_MEC_PLAT PIC_SERVICES INCLUDE_UNDEFINED_SCHEMAS
Set Headers {"Accept":"application/json"} Set Headers {"Accept":"application/json"}
Set Headers {"Authorization":"${TOKEN}"} Set Headers {"Authorization":"${TOKEN}"}
Get ${apiRoot}/${apiName}/${apiVersion}/queries/distance?address=${LOC_QRY_UE_ADDRESS}&latitude=${LOC_QRY_UE_LAT}&longitude=${LOC_QRY_UE_LONG} Get ${apiRoot}/${apiName}/${apiVersion}/queries/distance?address=${LOC_QRY_UE_ADDRESS}&latitude=${LOC_QRY_UE_LAT}&longitude=${LOC_QRY_UE_LONG}
${output}= Output response
Set Suite Variable ${response} ${output}
Check HTTP Response Status Code Is 200 Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is TerminalDistance Check HTTP Response Body Json Schema Is TerminalDistance
...@@ -41,4 +46,6 @@ TC_MEC_SRV_UEDISTLOOK_001_BR ...@@ -41,4 +46,6 @@ TC_MEC_SRV_UEDISTLOOK_001_BR
Set Headers {"Accept":"application/json"} Set Headers {"Accept":"application/json"}
Set Headers {"Authorization":"${TOKEN}"} Set Headers {"Authorization":"${TOKEN}"}
Get ${apiRoot}/${apiName}/${apiVersion}/queries/distance?address=${LOC_QRY_UE_ADDRESS}&lat=${LOC_QRY_UE_LAT}&longitude=${LOC_QRY_UE_LONG} Get ${apiRoot}/${apiName}/${apiVersion}/queries/distance?address=${LOC_QRY_UE_ADDRESS}&lat=${LOC_QRY_UE_LAT}&longitude=${LOC_QRY_UE_LONG}
${output}= Output response
Set Suite Variable ${response} ${output}
Check HTTP Response Status Code Is 400 Check HTTP Response Status Code Is 400
...@@ -21,7 +21,7 @@ TC_MEC_SRV_UEINFOLOOK_001_OK ...@@ -21,7 +21,7 @@ TC_MEC_SRV_UEINFOLOOK_001_OK
... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.3 ... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.3
... OpenAPI https://forge.etsi.org/gitlab/mec/gs013-location-api/blob/master/LocationAPI.yaml#/definitions/UserList ... OpenAPI https://forge.etsi.org/gitlab/mec/gs013-location-api/blob/master/LocationAPI.yaml#/definitions/UserList
[Tags] PIC_MEC_PLAT PIC_SERVICES [Tags] PIC_MEC_PLAT PIC_SERVICES INCLUDE_UNDEFINED_SCHEMAS
Get list of users with filter address ${ACR_ADDRESS} Get list of users with filter address ${ACR_ADDRESS}
Check HTTP Response Status Code Is 200 Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is UserList Check HTTP Response Body Json Schema Is UserList
......
{ {
"type": "object",
"properties": {
"userList": {
"description": "A type containing list of users.", "description": "A type containing list of users.",
"type": "object", "type": "object",
"required": [ "required": [
...@@ -62,7 +65,7 @@ ...@@ -62,7 +65,7 @@
"type": "number" "type": "number"
}, },
"latitude": { "latitude": {
"description": "Location latitude, expressed in the range -90 to +90. Cardinality greater than one only if \"shape\" equals 7.", "description": "Location latitude, expressed in the range -90° to +90°. Cardinality greater than one only if \"shape\" equals 7.",
"items": { "items": {
"type": "number" "type": "number"
}, },
...@@ -71,7 +74,7 @@ ...@@ -71,7 +74,7 @@
"x-etsi-mec-origin-type": "Float" "x-etsi-mec-origin-type": "Float"
}, },
"longitude": { "longitude": {
"description": "Location longitude, expressed in the range -180 to +180. Cardinality greater than one only if \"shape\" equals 7.", "description": "Location longitude, expressed in the range -180° to +180°. Cardinality greater than one only if \"shape\" equals 7.",
"items": { "items": {
"type": "number" "type": "number"
}, },
...@@ -104,7 +107,7 @@ ...@@ -104,7 +107,7 @@
"type": "number" "type": "number"
}, },
"velocity": { "velocity": {
"description": "Structure with attributes relating to the target entitys velocity, as defined in [14].", "description": "Structure with attributes relating to the target entity’s velocity, as defined in [14].",
"type": "object", "type": "object",
"x-etsi-mec-cardinality": "0..1", "x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "Structure (inlined)" "x-etsi-mec-origin-type": "Structure (inlined)"
...@@ -166,4 +169,6 @@ ...@@ -166,4 +169,6 @@
"example": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123" "example": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123"
} }
} }
} }
\ No newline at end of file }
}
...@@ -25,8 +25,9 @@ TC_MEC_SRV_UEINFOSUB_001_OK ...@@ -25,8 +25,9 @@ TC_MEC_SRV_UEINFOSUB_001_OK
Create new subscription ZonalTrafficSubscription Create new subscription ZonalTrafficSubscription
Check HTTP Response Status Code Is 201 Check HTTP Response Status Code Is 201
Check HTTP Response Body Json Schema Is ZonalTrafficSubscription Check HTTP Response Body Json Schema Is ZonalTrafficSubscription
Should Be Equal As Strings ${response['body']['zonalTrafficSubscription']['callbackReference']} ${ZONAL_TRAF_NOTIF_CALLBACK_URI}
Should Be Equal As Strings ${response['body']['zonalTrafficSubscription']['zoneId']} ${ZONAL_TRAF_ZONE_ID} Should Be Equal As Strings ${response['body']['zonalTrafficSubscription']['zoneId']} ${ZONAL_TRAF_ZONE_ID}
Should Be Equal As Strings ${response['body']['zonalTrafficSubscription']['clientCorrelator']} ${ZONAL_TRAF_SUB_CLIENT_ID}
Should Be Equal As Strings ${response['body']['zonalTrafficSubscription']['callbackReference']} ${ZONAL_TRAF_NOTIF_CALLBACK_URI}
TC_MEC_SRV_UEINFOSUB_001_BR TC_MEC_SRV_UEINFOSUB_001_BR
...@@ -86,3 +87,4 @@ Remove subscription ...@@ -86,3 +87,4 @@ Remove subscription
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Suite Variable ${response} ${output}
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
"callbackReference": { "callbackReference": {
"notifyURL": "http://clientApp.example.com/location_notifications/123456" "notifyURL": "http://clientApp.example.com/location_notifications/123456"
}, },
"zoneId": "zone01", "zoneId": "zone1",
"interestRealm": "LA", "interestRealm": "LA",
"userEventCriteria": "Transferring" "userEventCriteria": "Transferring"
} }
} }
\ No newline at end of file
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
"callbackReference": { "callbackReference": {
"notifyURL": "http://clientApp.example.com/location_notifications/123456" "notifyURL": "http://clientApp.example.com/location_notifications/123456"
}, },
"zone": "zone01", "zone": "zone1",
"interestRealm": "LA", "interestRealm": "LA",
"userEventCriteria": "Transferring" "userEventCriteria": "Transferring"
} }
} }
\ No newline at end of file
...@@ -8,4 +8,5 @@ ...@@ -8,4 +8,5 @@
"required": [ "required": [
"undefinedJsonSchema" "undefinedJsonSchema"
] ]
} }
\ No newline at end of file
*** Variables *** *** Variables ***
# Generic variables # Generic variables
${SCHEMA} http ${SCHEMA} http
${HOST} 10.192.2.172 ${HOST} 10.30.7.120
${PORT} 8081 ${PORT} 30007
${response} {} ${response} {}
${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l ${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l
${apiRoot} ${apiRoot} etsi-013
${apiName} location ${apiName} location
${apiVersion} v2 ${apiVersion} v2
# Specific variables # Specific variables
${ZONE_ID} zone01 ${ZONE_ID} zone1
${NON_EXISTENT_ZONE_ID} NON_EXISTENT_ZONE_ID
${USER_ID} ue1 ${USER_ID} ue1
${NON_EXISTENT_USER_ID} NON_EXISTENT_USER_ID ${NON_EXISTENT_USER_ID} NON_EXISTENT_USER_ID
${NON_EXISTENT_ZONE_ID} NON_EXISTENT_ZONE_ID
\ No newline at end of file
{ {
"properties": { "type": "object",
"accessPointId": { "properties": {
"description": "The identity of the access point the user is currently on, see note 1.", "userInfo": {
"type": "string", "type": "object",
"x-etsi-mec-cardinality": "1", "properties": {
"x-etsi-mec-origin-type": "String" "accessPointId": {
}, "description": "The identity of the access point the user is currently on, see note 1.",
"address": { "type": "string",
"description": "Address of user (e.g. 'sip' URI, 'tel' URI, 'acr' URI) currently on the access point, see note 1.", "x-etsi-mec-cardinality": "1",
"format": "uri", "x-etsi-mec-origin-type": "String"
"type": "string", },
"x-etsi-mec-cardinality": "1", "address": {
"x-etsi-mec-origin-type": "AnyURI" "description": "Address of user (e.g. 'sip' URI, 'tel' URI, 'acr' URI) currently on the access point, see note 1.",
}, "format": "uri",
"ancillaryInfo": { "type": "string",
"description": "Reserved for future use.", "x-etsi-mec-cardinality": "1",
"type": "string", "x-etsi-mec-origin-type": "AnyURI"
"x-etsi-mec-cardinality": "0..1", },
"x-etsi-mec-origin-type": "String" "ancillaryInfo": {
}, "description": "Reserved for future use.",
"contextLocationInfo": { "type": "string",
"description": "Contextual information of a user location (e.g. aisle, floor, room number, etc.).", "x-etsi-mec-cardinality": "0..1",
"type": "string", "x-etsi-mec-origin-type": "String"
"x-etsi-mec-cardinality": "0..1", },
"x-etsi-mec-origin-type": "String" "contextLocationInfo": {
}, "description": "Contextual information of a user location (e.g. aisle, floor, room number, etc.).",
"locationInfo": { "type": "string",
"properties": { "x-etsi-mec-cardinality": "0..1",
"accuracy": { "x-etsi-mec-origin-type": "String"
"type": "number" },
}, "locationInfo": {
"accuracyAltitude": { "properties": {
"type": "number" "accuracy": {
}, "type": "number"
"accuracySemiMinor": { },
"type": "number" "accuracyAltitude": {
}, "type": "number"
"altitude": { },
"description": "Location altitude relative to the WGS84 ellipsoid surface.", "accuracySemiMinor": {
"type": "number", "type": "number"
"x-etsi-mec-cardinality": "0..1", },
"x-etsi-mec-origin-type": "Float" "altitude": {
}, "description": "Location altitude relative to the WGS84 ellipsoid surface.",
"confidence": { "type": "number",
"type": "number" "x-etsi-mec-cardinality": "0..1",
}, "x-etsi-mec-origin-type": "Float"
"includedAngle": { },
"type": "number" "confidence": {
}, "type": "number"
"innerRadius": { },
"type": "number" "includedAngle": {
}, "type": "number"
"latitude": { },
"description": "Location latitude, expressed in the range -90 to +90. Cardinality greater than one only if \"shape\" equals 7.", "innerRadius": {
"items": { "type": "number"
"type": "number" },
}, "latitude": {
"type": "array", "description": "Location latitude, expressed in the range -90° to +90°. Cardinality greater than one only if \"shape\" equals 7.",
"x-etsi-mec-cardinality": "1..N", "items": {
"x-etsi-mec-origin-type": "Float" "type": "number"
}, },
"longitude": { "type": "array",
"description": "Location longitude, expressed in the range -180 to +180. Cardinality greater than one only if \"shape\" equals 7.", "x-etsi-mec-cardinality": "1..N",
"items": { "x-etsi-mec-origin-type": "Float"
"type": "number" },
}, "longitude": {
"type": "array", "description": "Location longitude, expressed in the range -180° to +180°. Cardinality greater than one only if \"shape\" equals 7.",
"x-etsi-mec-cardinality": "1..N", "items": {
"x-etsi-mec-origin-type": "Float" "type": "number"
}, },
"offsetAngle": { "type": "array",
"type": "number" "x-etsi-mec-cardinality": "1..N",
}, "x-etsi-mec-origin-type": "Float"
"orientationMajorAxis": { },
"type": "number" "offsetAngle": {
}, "type": "number"
"shape": { },
"description": "Shape information, as detailed in [14], associated with the reported location coordinate:\n1 = Ellipsoid_Arc\n2 = ellipsoid_Point\n3 = ellipsoid_Point_Altitude\n4 = ellipsoid_Point_Altitude_Uncert_Ellipsoid\n5 = ellipsoid_Point_Uncert_Circle\n6 = ellipsoid_Point_Uncert_Ellipse\n7 = polygon", "orientationMajorAxis": {
"enum": [ "type": "number"
"ELLIPSOID_ARC", },
"ELLIPSOID_POINT", "shape": {
"ELLIPSOID_POINT_ALTITUDE", "description": "Shape information, as detailed in [14], associated with the reported location coordinate:\n1 = Ellipsoid_Arc\n2 = ellipsoid_Point\n3 = ellipsoid_Point_Altitude\n4 = ellipsoid_Point_Altitude_Uncert_Ellipsoid\n5 = ellipsoid_Point_Uncert_Circle\n6 = ellipsoid_Point_Uncert_Ellipse\n7 = polygon",
"ELLIPSOID_POINT_ALTITUDE_UNCERT_ELLIPSOID", "enum": [
"ELLIPSOID_POINT_UNCERT_CIRCLE", "ELLIPSOID_ARC",
"ELLIPSOID_POINT_UNCERT_ELLIPSE", "ELLIPSOID_POINT",
"POLYGON" "ELLIPSOID_POINT_ALTITUDE",
], "ELLIPSOID_POINT_ALTITUDE_UNCERT_ELLIPSOID",
"type": "string", "ELLIPSOID_POINT_UNCERT_CIRCLE",
"x-etsi-mec-cardinality": "1", "ELLIPSOID_POINT_UNCERT_ELLIPSE",
"x-etsi-mec-origin-type": "Enum (inlined)" "POLYGON"
}, ],
"uncertaintyRadius": { "type": "string",
"type": "number" "x-etsi-mec-cardinality": "1",
}, "x-etsi-mec-origin-type": "Enum (inlined)"
"velocity": { },
"description": "Structure with attributes relating to the target entitys velocity, as defined in [14].", "uncertaintyRadius": {
"type": "object", "type": "number"
"x-etsi-mec-cardinality": "0..1", },
"x-etsi-mec-origin-type": "Structure (inlined)" "velocity": {
} "description": "Structure with attributes relating to the target entity’s velocity, as defined in [14].",
}, "type": "object",
"required": [ "x-etsi-mec-cardinality": "0..1",
"latitude", "x-etsi-mec-origin-type": "Structure (inlined)"
"longitude", }
"shape" },
], "required": [
"type": "object", "latitude",
"x-etsi-ref": "6.5.3" "longitude",
}, "shape"
"resourceURL": { ],
"description": "Self-referring URL, see note 1.", "type": "object",
"type": "string", "x-etsi-ref": "6.5.3"
"x-etsi-mec-cardinality": "1", },
"x-etsi-mec-origin-type": "String" "resourceURL": {
}, "description": "Self-referring URL, see note 1.",
"timeStamp": { "type": "string",
"properties": { "x-etsi-mec-cardinality": "1",
"nanoSeconds": { "x-etsi-mec-origin-type": "String"
"type": "number" },
}, "timeStamp": {
"seconds": { "properties": {
"type": "number" "nanoSeconds": {
} "type": "number"
}, },
"required": [ "seconds": {
"seconds", "type": "number"
"nanoSeconds" }
], },
"type": "object", "required": [
"x-etsi-ref": "6.5.2" "seconds",
}, "nanoSeconds"
"zoneId": { ],
"description": "The identity of the zone the user is currently within, see note 1.", "type": "object",
"type": "string", "x-etsi-ref": "6.5.2"
"x-etsi-mec-cardinality": "1", },
"x-etsi-mec-origin-type": "String" "zoneId": {
} "description": "The identity of the zone the user is currently within, see note 1.",
}, "type": "string",
"required": [ "x-etsi-mec-cardinality": "1",
"address", "x-etsi-mec-origin-type": "String"
"accessPointId", }
"zoneId", },
"resourceURL", "required": [
"timeStamp" "address",
], "accessPointId",
"type": "object", "zoneId",
"x-etsi-notes": ":\tAs specified in [5], clause 5.2.2.7.\nNOTE 2: \tAs specified in [5], clause 5.2.2.5.", "resourceURL",
"x-etsi-ref": "6.2.2" "timeStamp"
} ],
\ No newline at end of file "x-etsi-notes": ":\tAs specified in [5], clause 5.2.2.7.\nNOTE 2: \tAs specified in [5], clause 5.2.2.5.",
"x-etsi-ref": "6.2.2"
}
}
}
{
"description": "A type containing list of users.",
"type": "object",
"required": [
"resourceURL"
],
"properties": {
"user": {
"description": "Collection of the zone information list.",
"type": "array",
"items": {
"properties": {