Commit d3fc569c authored by Elian Kraja's avatar Elian Kraja Committed by Michele Carignani
Browse files

Fixies after MEC013 tests

parent bd92f138
......@@ -15,7 +15,6 @@ Check HTTP Response Status Code Is
Log Status code validated
Check HTTP Response Body Json Schema Is
[Tags] INCLUDE_UNDEFINED_SCHEMAS
[Arguments] ${input}
Should Contain ${response['headers']['Content-Type']} application/json
${schema} = Catenate SEPARATOR= ${input} .schema.json
......
......@@ -21,7 +21,7 @@ TC_MEC_SRV_RLOCLOOK_001_OK
... 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
[Tags] PIC_MEC_PLAT PIC_SERVICES
[Tags] PIC_MEC_PLAT PIC_SERVICES INCLUDE_UNDEFINED_SCHEMAS
Get the access points list ${ZONE_ID}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is AccessPointList
......@@ -48,3 +48,7 @@ Get the access points list
Get ${apiRoot}/${apiName}/${apiVersion}/zones/${zoneId}/accessPoints
${output}= Output response
Set Suite Variable ${response} ${output}
......@@ -8,4 +8,4 @@
"required": [
"undefinedJsonSchema"
]
}
\ No newline at end of file
}
......@@ -13,7 +13,6 @@ Default Tags TC_MEC_SRV_UEAREASUB
*** Test Cases ***
TC_MEC_SRV_UEAREASUB_001_OK
[Documentation]
... Check that the IUT acknowledges the UE area change subscription request when
......@@ -22,7 +21,7 @@ TC_MEC_SRV_UEAREASUB_001_OK
... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.11
... OpenAPI # TODO check this
[Tags] PIC_MEC_PLAT PIC_SERVICES
[Tags] PIC_MEC_PLAT PIC_SERVICES INCLUDE_UNDEFINED_SCHEMAS
Create new subscription CircleNotificationSubscription
Check HTTP Response Status Code Is 201
Check HTTP Response Body Json Schema Is CircleNotificationSubscription
......@@ -85,4 +84,4 @@ Remove subscription
Set Headers {"Authorization":"${TOKEN}"}
Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions/area/circle/${subscriptionId}
${output}= Output response
Set Suite Variable ${response} ${output}
\ No newline at end of file
Set Suite Variable ${response} ${output}
......@@ -11,6 +11,9 @@ Library OperatingSystem
Default Tags TC_MEC_SRV_UEDISTLOOK
*** Variables ***
${response}
*** Test Cases ***
......@@ -22,10 +25,12 @@ TC_MEC_SRV_UEDISTLOOK_001_OK
... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.9
... 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 {"Authorization":"${TOKEN}"}
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 Body Json Schema Is TerminalDistance
......@@ -41,4 +46,6 @@ TC_MEC_SRV_UEDISTLOOK_001_BR
Set Headers {"Accept":"application/json"}
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}
${output}= Output response
Set Suite Variable ${response} ${output}
Check HTTP Response Status Code Is 400
......@@ -21,7 +21,7 @@ TC_MEC_SRV_UEINFOLOOK_001_OK
... 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
[Tags] PIC_MEC_PLAT PIC_SERVICES
[Tags] PIC_MEC_PLAT PIC_SERVICES INCLUDE_UNDEFINED_SCHEMAS
Get list of users with filter address ${ACR_ADDRESS}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is UserList
......
{
"type": "object",
"properties": {
"userList": {
"description": "A type containing list of users.",
"type": "object",
"required": [
......@@ -62,7 +65,7 @@
"type": "number"
},
"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": {
"type": "number"
},
......@@ -71,7 +74,7 @@
"x-etsi-mec-origin-type": "Float"
},
"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": {
"type": "number"
},
......@@ -104,7 +107,7 @@
"type": "number"
},
"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",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "Structure (inlined)"
......@@ -166,4 +169,6 @@
"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
Create new subscription ZonalTrafficSubscription
Check HTTP Response Status Code Is 201
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']['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
......@@ -86,3 +87,4 @@ Remove subscription
${output}= Output response
Set Suite Variable ${response} ${output}
......@@ -4,8 +4,8 @@
"callbackReference": {
"notifyURL": "http://clientApp.example.com/location_notifications/123456"
},
"zoneId": "zone01",
"zoneId": "zone1",
"interestRealm": "LA",
"userEventCriteria": "Transferring"
}
}
\ No newline at end of file
}
......@@ -4,8 +4,8 @@
"callbackReference": {
"notifyURL": "http://clientApp.example.com/location_notifications/123456"
},
"zone": "zone01",
"zone": "zone1",
"interestRealm": "LA",
"userEventCriteria": "Transferring"
}
}
\ No newline at end of file
}
......@@ -8,4 +8,5 @@
"required": [
"undefinedJsonSchema"
]
}
\ No newline at end of file
}
*** Variables ***
# Generic variables
${SCHEMA} http
${HOST} 10.192.2.172
${PORT} 8081
${HOST} 10.30.7.120
${PORT} 30007
${response} {}
${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l
${apiRoot}
${apiRoot} etsi-013
${apiName} location
${apiVersion} v2
# Specific variables
${ZONE_ID} zone01
${ZONE_ID} zone1
${NON_EXISTENT_ZONE_ID} NON_EXISTENT_ZONE_ID
${USER_ID} ue1
${NON_EXISTENT_USER_ID} NON_EXISTENT_USER_ID
${NON_EXISTENT_ZONE_ID} NON_EXISTENT_ZONE_ID
\ No newline at end of file
{
"properties": {
"accessPointId": {
"description": "The identity of the access point the user is currently on, see note 1.",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
},
"address": {
"description": "Address of user (e.g. 'sip' URI, 'tel' URI, 'acr' URI) currently on the access point, see note 1.",
"format": "uri",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "AnyURI"
},
"ancillaryInfo": {
"description": "Reserved for future use.",
"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.).",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "String"
},
"locationInfo": {
"properties": {
"accuracy": {
"type": "number"
},
"accuracyAltitude": {
"type": "number"
},
"accuracySemiMinor": {
"type": "number"
},
"altitude": {
"description": "Location altitude relative to the WGS84 ellipsoid surface.",
"type": "number",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "Float"
},
"confidence": {
"type": "number"
},
"includedAngle": {
"type": "number"
},
"innerRadius": {
"type": "number"
},
"latitude": {
"description": "Location latitude, expressed in the range -90 to +90. Cardinality greater than one only if \"shape\" equals 7.",
"items": {
"type": "number"
},
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "Float"
},
"longitude": {
"description": "Location longitude, expressed in the range -180 to +180. Cardinality greater than one only if \"shape\" equals 7.",
"items": {
"type": "number"
},
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "Float"
},
"offsetAngle": {
"type": "number"
},
"orientationMajorAxis": {
"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",
"enum": [
"ELLIPSOID_ARC",
"ELLIPSOID_POINT",
"ELLIPSOID_POINT_ALTITUDE",
"ELLIPSOID_POINT_ALTITUDE_UNCERT_ELLIPSOID",
"ELLIPSOID_POINT_UNCERT_CIRCLE",
"ELLIPSOID_POINT_UNCERT_ELLIPSE",
"POLYGON"
],
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Enum (inlined)"
},
"uncertaintyRadius": {
"type": "number"
},
"velocity": {
"description": "Structure with attributes relating to the target entitys velocity, as defined in [14].",
"type": "object",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "Structure (inlined)"
}
},
"required": [
"latitude",
"longitude",
"shape"
],
"type": "object",
"x-etsi-ref": "6.5.3"
},
"resourceURL": {
"description": "Self-referring URL, see note 1.",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
},
"timeStamp": {
"properties": {
"nanoSeconds": {
"type": "number"
},
"seconds": {
"type": "number"
}
},
"required": [
"seconds",
"nanoSeconds"
],
"type": "object",
"x-etsi-ref": "6.5.2"
},
"zoneId": {
"description": "The identity of the zone the user is currently within, see note 1.",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
}
},
"required": [
"address",
"accessPointId",
"zoneId",
"resourceURL",
"timeStamp"
],
"type": "object",
"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"
}
\ No newline at end of file
"type": "object",
"properties": {
"userInfo": {
"type": "object",
"properties": {
"accessPointId": {
"description": "The identity of the access point the user is currently on, see note 1.",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
},
"address": {
"description": "Address of user (e.g. 'sip' URI, 'tel' URI, 'acr' URI) currently on the access point, see note 1.",
"format": "uri",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "AnyURI"
},
"ancillaryInfo": {
"description": "Reserved for future use.",
"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.).",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "String"
},
"locationInfo": {
"properties": {
"accuracy": {
"type": "number"
},
"accuracyAltitude": {
"type": "number"
},
"accuracySemiMinor": {
"type": "number"
},
"altitude": {
"description": "Location altitude relative to the WGS84 ellipsoid surface.",
"type": "number",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "Float"
},
"confidence": {
"type": "number"
},
"includedAngle": {
"type": "number"
},
"innerRadius": {
"type": "number"
},
"latitude": {
"description": "Location latitude, expressed in the range -90° to +90°. Cardinality greater than one only if \"shape\" equals 7.",
"items": {
"type": "number"
},
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "Float"
},
"longitude": {
"description": "Location longitude, expressed in the range -180° to +180°. Cardinality greater than one only if \"shape\" equals 7.",
"items": {
"type": "number"
},
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "Float"
},
"offsetAngle": {
"type": "number"
},
"orientationMajorAxis": {
"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",
"enum": [
"ELLIPSOID_ARC",
"ELLIPSOID_POINT",
"ELLIPSOID_POINT_ALTITUDE",
"ELLIPSOID_POINT_ALTITUDE_UNCERT_ELLIPSOID",
"ELLIPSOID_POINT_UNCERT_CIRCLE",
"ELLIPSOID_POINT_UNCERT_ELLIPSE",
"POLYGON"
],
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Enum (inlined)"
},
"uncertaintyRadius": {
"type": "number"
},
"velocity": {
"description": "Structure with attributes relating to the target entity’s velocity, as defined in [14].",
"type": "object",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "Structure (inlined)"
}
},
"required": [
"latitude",
"longitude",
"shape"
],
"type": "object",
"x-etsi-ref": "6.5.3"
},
"resourceURL": {
"description": "Self-referring URL, see note 1.",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
},
"timeStamp": {
"properties": {
"nanoSeconds": {
"type": "number"
},
"seconds": {
"type": "number"
}
},
"required": [
"seconds",
"nanoSeconds"
],
"type": "object",
"x-etsi-ref": "6.5.2"
},
"zoneId": {
"description": "The identity of the zone the user is currently within, see note 1.",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
}
},
"required": [
"address",
"accessPointId",
"zoneId",
"resourceURL",
"timeStamp"
],
"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": {
"accessPointId": {
"description": "The identity of the access point the user is currently on, see note 1.",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
},
"address": {
"description": "Address of user (e.g. 'sip' URI, 'tel' URI, 'acr' URI) currently on the access point, see note 1.",
"format": "uri",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "AnyURI"
},
"ancillaryInfo": {
"description": "Reserved for future use.",
"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.).",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "String"
},
"locationInfo": {
"properties": {
"accuracy": {
"type": "number"
},
"accuracyAltitude": {
"type": "number"
},
"accuracySemiMinor": {
"type": "number"
},
"altitude": {
"description": "Location altitude relative to the WGS84 ellipsoid surface.",
"type": "number",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "Float"
},
"confidence": {
"type": "number"
},
"includedAngle": {
"type": "number"
},
"innerRadius": {
"type": "number"
},
"latitude": {
"description": "Location latitude, expressed in the range -90° to +90°. Cardinality greater than one only if \"shape\" equals 7.",
"items": {
"type": "number"
},
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "Float"
},
"longitude": {
"description": "Location longitude, expressed in the range -180° to +180°. Cardinality greater than one only if \"shape\" equals 7.",
"items": {
"type": "number"
},
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "Float"
},
"offsetAngle": {