{
"type": "object",
"properties": {
"userInfo": {
"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": {
"description": "Horizontal accuracy / (semi-major) uncertainty of location provided in meters, as defined in [14]. Present only if \"shape\" equals 4, 5 or 6",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"accuracyAltitude": {
"description": "Altitude accuracy / uncertainty of location provided in meters, as defined in [14]. Present only if \"shape\" equals 3 or 4",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"accuracySemiMinor": {
"description": "Horizontal accuracy / (semi-major) uncertainty of location provided in meters, as defined in [14]. Present only if \"shape\" equals 4, 5 or 6",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"altitude": {
"description": "Location altitude relative to the WGS84 ellipsoid surface.",
"format": "float",
"type": "number",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "Float"
},
"confidence": {
"description": "Confidence by which the position of a target entity is known to be within the shape description, expressed as a percentage and defined in [14]. Present only if \"shape\" equals 1, 4 or 6",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"includedAngle": {
"description": "Present only if \"shape\" equals 6",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"innerRadius": {
"description": "Present only if \"shape\" equals 6",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"latitude": {
"description": "Location latitude, expressed in the range -90 deg to +90 deg. Cardinality greater than one only if \"shape\" equals 7.",
"items": {
"format": "float",
"type": "number"
},
"minItems": 1,
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "Float"
},
"longitude": {
"description": "Location longitude, expressed in the range -180 deg to +180 deg. Cardinality greater than one only if \"shape\" equals 7.",
"items": {
"format": "float",
"type": "number"
},
"minItems": 1,
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "Float"
},
"offsetAngle": {
"description": "Present only if \"shape\" equals 6",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"orientationMajorAxis": {
"description": "Angle of orientation of the major axis, expressed in the range 0 deg to 180 deg, as defined in [14]. Present only if \"shape\" equals 4 or 6",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"shape": {
"description": "Shape information, as detailed in [14], associated with the reported location coordinate: <p>1 = ELLIPSOID_ARC <p>2 = ELLIPSOID_POINT <p>3 = ELLIPSOID_POINT_ALTITUDE <p>4 = ELLIPSOID_POINT_ALTITUDE_UNCERT_ELLIPSOID <p>5 = ELLIPSOID_POINT_UNCERT_CIRCLE <p>6 = ELLIPSOID_POINT_UNCERT_ELLIPSE <p>7 = POLYGON",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Enum_inlined"
},
"timestamp": {
"properties": {
"nanoSeconds": {
"description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.",
"format": "int32",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Uint32"
},
"seconds": {
"description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.",
"format": "int32",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Uint32"
}
},
"required": [
"seconds",
"nanoSeconds"
],
"type": "object",
"x-etsi-ref": "6.5.2"
},
"uncertaintyRadius": {
"description": "Present only if \"shape\" equals 6",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"velocity": {
"description": "Structure with attributes relating to the target entity's velocity, as defined in [14].",
"properties": {
"bearing": {
"description": "Bearing, expressed in the range 0 deg to 360 deg, as defined in [14].",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"horizontalSpeed": {
"description": "Horizontal speed, expressed in km/h and defined in [14].",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"uncertainty": {
"description": "Horizontal uncertainty, as defined in [14]. Present only if \"velocityType\" equals 3 or 4",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"velocityType": {
"description": "Velocity information, as detailed in [14], associated with the reported location coordinate: <p>1 = HORIZONTAL <p>2 = HORIZONTAL_VERTICAL <p>3 = HORIZONTAL_UNCERT <p>4 = HORIZONTAL_VERTICAL_UNCERT",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Enum_inlined"
},
"verticalSpeed": {
"description": "Vertical speed, expressed in km/h and defined in [14]. Present only if \"velocityType\" equals 2 or 4",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "Int"
},
"verticalUncertainty": {
"description": "Vertical uncertainty, as defined in [14]. Present only if \"velocityType\" equals 4",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
}
},
"required": [
"velocityType",
"bearing",
"horizontalSpeed"
],
"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": {
"description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.",
"format": "int32",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Uint32"
},
"seconds": {
"description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.",
"format": "int32",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Uint32"
}
},
"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": "NOTE 1:\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": {
"userList": {
"description": "A type containing list of users.",
"properties": {
"resourceURL": {
"description": "Self referring URL",
"type": "string",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "anyURI"
},
"user": {
"description": "Collection of the zone information list.",
"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": {
"description": "Horizontal accuracy / (semi-major) uncertainty of location provided in meters, as defined in [14]. Present only if \"shape\" equals 4, 5 or 6",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"accuracyAltitude": {
"description": "Altitude accuracy / uncertainty of location provided in meters, as defined in [14]. Present only if \"shape\" equals 3 or 4",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"accuracySemiMinor": {
"description": "Horizontal accuracy / (semi-major) uncertainty of location provided in meters, as defined in [14]. Present only if \"shape\" equals 4, 5 or 6",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"altitude": {
"description": "Location altitude relative to the WGS84 ellipsoid surface.",
"format": "float",
"type": "number",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "Float"
},
"confidence": {
"description": "Confidence by which the position of a target entity is known to be within the shape description, expressed as a percentage and defined in [14]. Present only if \"shape\" equals 1, 4 or 6",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"includedAngle": {
"description": "Present only if \"shape\" equals 6",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"innerRadius": {
"description": "Present only if \"shape\" equals 6",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"latitude": {
"description": "Location latitude, expressed in the range -90 deg to +90 deg. Cardinality greater than one only if \"shape\" equals 7.",
"items": {
"format": "float",
"type": "number"
},
"minItems": 1,
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "Float"
},
"longitude": {
"description": "Location longitude, expressed in the range -180 deg to +180 deg. Cardinality greater than one only if \"shape\" equals 7.",
"items": {
"format": "float",
"type": "number"
},
"minItems": 1,
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "Float"
},
"offsetAngle": {
"description": "Present only if \"shape\" equals 6",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"orientationMajorAxis": {
"description": "Angle of orientation of the major axis, expressed in the range 0 deg to 180 deg, as defined in [14]. Present only if \"shape\" equals 4 or 6",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"shape": {
"description": "Shape information, as detailed in [14], associated with the reported location coordinate: <p>1 = ELLIPSOID_ARC <p>2 = ELLIPSOID_POINT <p>3 = ELLIPSOID_POINT_ALTITUDE <p>4 = ELLIPSOID_POINT_ALTITUDE_UNCERT_ELLIPSOID <p>5 = ELLIPSOID_POINT_UNCERT_CIRCLE <p>6 = ELLIPSOID_POINT_UNCERT_ELLIPSE <p>7 = POLYGON",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Enum_inlined"
},
"timestamp": {
"properties": {
"nanoSeconds": {
"description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.",
"format": "int32",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Uint32"
},
"seconds": {
"description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.",
"format": "int32",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Uint32"
}
},
"required": [
"seconds",
"nanoSeconds"
],
"type": "object",
"x-etsi-ref": "6.5.2"
},
"uncertaintyRadius": {
"description": "Present only if \"shape\" equals 6",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"velocity": {
"description": "Structure with attributes relating to the target entity's velocity, as defined in [14].",
"properties": {
"bearing": {
"description": "Bearing, expressed in the range 0 deg to 360 deg, as defined in [14].",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"horizontalSpeed": {
"description": "Horizontal speed, expressed in km/h and defined in [14].",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"uncertainty": {
"description": "Horizontal uncertainty, as defined in [14]. Present only if \"velocityType\" equals 3 or 4",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
},
"velocityType": {
"description": "Velocity information, as detailed in [14], associated with the reported location coordinate: <p>1 = HORIZONTAL <p>2 = HORIZONTAL_VERTICAL <p>3 = HORIZONTAL_UNCERT <p>4 = HORIZONTAL_VERTICAL_UNCERT",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Enum_inlined"
},
"verticalSpeed": {
"description": "Vertical speed, expressed in km/h and defined in [14]. Present only if \"velocityType\" equals 2 or 4",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "Int"
},
"verticalUncertainty": {
"description": "Vertical uncertainty, as defined in [14]. Present only if \"velocityType\" equals 4",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "UnsignedInt"
}
},
"required": [
"velocityType",
"bearing",
"horizontalSpeed"
],
"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": {
"description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.",
"format": "int32",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Uint32"
},
"seconds": {
"description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.",
"format": "int32",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Uint32"
}
},
"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": "NOTE 1:\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"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "UserInfo"
}
},
"required": [
"resourceURL"
],
"type": "object"
}
}
}
\ No newline at end of file
......@@ -3,8 +3,8 @@
Documentation
... A test suite for validating UE Location Subscription (UELOCSUB) operations.
Resource ../../GenericKeywords.robot
Resource ../../../GenericKeywords.robot
Resource ../../../pics.txt
Resource environment/variables.txt
Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false
Library OperatingSystem
......@@ -17,7 +17,7 @@ ${response}
*** Test Cases ***
TC_MEC_SRV_UELOCSUB_001_OK
TC_MEC_MEC013_SRV_UELOCSUB_001_OK
[Documentation]
... Check that the IUT acknowledges the UE location change subscription request
... when commanded by a MEC Application and notifies it when the location changes
......@@ -29,9 +29,10 @@ TC_MEC_SRV_UELOCSUB_001_OK
Create new subscription UserTrackingSubscription
Check HTTP Response Status Code Is 201
Check HTTP Response Body Json Schema Is UserTrackingSubscription
Check Result Contains ${response['body']['userTrackingSubscription']} clientCorrelator ${USERTRACKSUB_CLIENT_ID}
Check Result Contains ${response['body']['userTrackingSubscription']} callbackReference ${USERTRACK_NOTIF_CALLBACK_URI}
Check Result Contains ${response['body']['userTrackingSubscription']} address ${USERTRACK_IP_ADDRESS}
# TODO fix related TP
# Check Result Contains ${response['body']['userTrackingSubscription']} clientCorrelator ${USERTRACKSUB_CLIENT_ID}
Should Be Equal As Strings ${response['body']['userTrackingSubscription']['callbackReference']} ${USERTRACK_NOTIF_CALLBACK_URI}
Should Be Equal As Strings ${response['body']['userTrackingSubscription']['address']} ${USERTRACK_IP_ADDRESS}
# TODO how to send this? The TP has the IUT doing this immediately. Do we want this or will it be discarded as part of the test?
# // MEC 013, clause 7.3.4.3
......@@ -46,7 +47,7 @@ TC_MEC_SRV_UELOCSUB_001_OK
# ;
# to the MEC_APP entity
TC_MEC_SRV_UELOCSUB_001_BR
TC_MEC_MEC013_SRV_UELOCSUB_001_BR
[Documentation]
... Check that the IUT responds with an error when
... a request with incorrect parameters is sent by a MEC Application
......@@ -58,7 +59,7 @@ TC_MEC_SRV_UELOCSUB_001_BR
Check HTTP Response Status Code Is 400
TC_MEC_SRV_UELOCSUB_002_OK
TC_MEC_MEC013_SRV_UELOCSUB_002_OK
[Documentation]
... Check that the IUT acknowledges the cancellation of UE location change notifications
... when commanded by a MEC Application
......@@ -70,7 +71,7 @@ TC_MEC_SRV_UELOCSUB_002_OK
Check HTTP Response Status Code Is 204
TC_MEC_SRV_UELOCSUB_002_NF
TC_MEC_MEC013_SRV_UELOCSUB_002_NF
[Documentation]
... Check that the IUT responds with an error when
... a request for an unknown URI is sent by a MEC Application
......
{
"type": "object",
"required": [
"notificationSubscriptionList"
],
"properties": {
"notificationSubscriptionList": {
"properties": {
"circleNotificationSubscription": {
"description": "Collection of CircleNotificationSubscription elements, see note 2.",
"items": {
"description": "A type containing data for notifications, when the area is defined as a circle.",
"properties": {
"address": {
"description": "Address of terminals to monitor (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
"items": {
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "anyURI"
},
"callbackReference": {
"properties": {
"callbackData": {
"description": "Data the application can register with the server when subscribing to notifications, and that are passed back unchanged in each of the related notifications. These data can be used by the application in the processing of the notification, e.g. for correlation purposes.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"notificationFormat": {
"enum": [
"XML",
"JSON"
],
"type": "string"
},
"notifyURL": {
"description": "Notify Callback URL",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "anyURI"
}
},
"required": [
"notifyURL"
],
"type": "object"
},
"checkImmediate": {
"description": "Check location immediately after establishing notification.",
"type": "boolean",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "boolean"
},
"clientCorrelator": {
"description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"count": {
"description": "Maximum number of notifications per individual address. For no maximum, either do not include this element or specify a value of zero. Default value is 0.",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "int"
},
"duration": {
"description": "Period of time (in seconds) notifications are provided for. If set to 0 (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications.",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "int"
},
"enteringLeavingCriteria": {
"enum": [
"Entering",
"Leaving"
],
"type": "string"
},
"frequency": {
"description": "Maximum frequency (in seconds) of notifications per subscription (can also be considered minimum time between notifications).",
"type": "integer",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "int"
},
"latitude": {
"description": "Latitude of center point.",
"format": "float",
"type": "number",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "float"
},
"link": {
"description": "Link to other resources that are in relationship with the resource.",
"items": {
"description": "Link to other resources",
"properties": {
"href": {
"description": "URI",
"format": "anyURI",
"type": "string"
},
"rel": {
"description": "Describes the relationship between the URI and the resource.",
"type": "string"
}
},
"required": [
"rel",
"href"
],
"type": "object"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "Link"
},
"longitude": {
"description": "Longitude of center point.",
"format": "float",
"type": "number",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "float"
},
"radius": {
"description": "Radius circle around center point in meters.",
"format": "float",
"type": "number",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "float"
},
"requester": {
"description": "Identifies the entity that is requesting the information (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"resourceURL": {
"description": "Self referring URL",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"trackingAccuracy": {
"description": "Number of meters of acceptable error in tracking distance.",
"format": "float",
"type": "number",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "float"
}
},
"required": [
"callbackReference",
"address",
"latitude",
"longitude",
"radius",
"trackingAccuracy",
"enteringLeavingCriteria",
"checkImmediate",
"frequency"
],
"type": "object"
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0.. N",
"x-etsi-mec-origin-type": "CircleNotificationSubscription"
},
"distanceNotificationSubscription": {
"description": "Collection of DistanceNotificationSubscription elements, see note 2.",
"items": {
"description": "A type containing data for distance subscription, with reference to other devices.",
"properties": {
"callbackReference": {
"properties": {
"callbackData": {
"description": "Data the application can register with the server when subscribing to notifications, and that are passed back unchanged in each of the related notifications. These data can be used by the application in the processing of the notification, e.g. for correlation purposes.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"notificationFormat": {
"enum": [
"XML",
"JSON"
],
"type": "string"
},
"notifyURL": {
"description": "Notify Callback URL",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "anyURI"
}
},
"required": [
"notifyURL"
],
"type": "object"
},
"checkImmediate": {
"description": "Check location immediately after establishing notification.",
"type": "boolean",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "boolean"
},
"clientCorrelator": {
"description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"count": {
"description": "Maximum number of notifications per individual address. For no maximum, either do not include this element or specify a value of zero. Default value is 0.",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "int"
},
"criteria": {
"enum": [
"AllWithinDistance",
"AnyWithinDistance",
"AllBeyondDistance",
"AnyBeyondDistance"
],
"type": "string"
},
"distance": {
"description": "Distance between devices that shall be monitored.",
"format": "float",
"type": "number",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "float"
},
"duration": {
"description": "Period of time (in seconds) notifications are provided for. If set to 0 (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications.",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "int"
},
"frequency": {
"description": "Maximum frequency (in seconds) of notifications per subscription (can also be considered minimum time between notifications).",
"type": "integer",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "int"
},
"link": {
"description": "Link to other resources that are in relationship with the resource.",
"items": {
"description": "Link to other resources",
"properties": {
"href": {
"description": "URI",
"format": "anyURI",
"type": "string"
},
"rel": {
"description": "Describes the relationship between the URI and the resource.",
"type": "string"
}
},
"required": [
"rel",
"href"
],
"type": "object"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "Link"
},
"monitoredAddress": {
"description": "Contains addresses of devices to monitor (e.g., 'sip' URI, 'tel' URI, 'acr' URI)",
"items": {
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "anyURI"
},
"referenceAddress": {
"description": "Indicates address of each device that will be used as reference devices from which the distances towards monitored devices indicated in the Addresses will be monitored (e.g., 'sip' URI, 'tel' URI, 'acr' URI)",
"items": {
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "anyURI"
},
"requester": {
"description": "Identifies the entity that is requesting the information (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"resourceURL": {
"description": "Self referring URL",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"trackingAccuracy": {
"description": "Number of meters of acceptable error in tracking distance.",
"format": "float",
"type": "number",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "float"
}
},
"required": [
"callbackReference",
"monitoredAddress",
"distance",
"trackingAccuracy",
"criteria",
"checkImmediate",
"frequency"
],
"type": "object"
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0.. N",
"x-etsi-mec-origin-type": "DistanceNotificationSubscription"
},
"periodicNotificationSubscription": {
"description": "Collection of PeriodicNotificationSubscription elements, see note 2.",
"items": {
"description": "A type containing data for periodic subscription.",
"properties": {
"address": {
"description": "Address of terminals to monitor (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
"items": {
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "anyURI"
},
"callbackReference": {
"properties": {
"callbackData": {
"description": "Data the application can register with the server when subscribing to notifications, and that are passed back unchanged in each of the related notifications. These data can be used by the application in the processing of the notification, e.g. for correlation purposes.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"notificationFormat": {
"enum": [
"XML",
"JSON"
],
"type": "string"
},
"notifyURL": {
"description": "Notify Callback URL",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "anyURI"
}
},
"required": [
"notifyURL"
],
"type": "object"
},
"clientCorrelator": {
"description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"duration": {
"description": "Period of time (in seconds) notifications are provided for. If set to 0 (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications.",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "int"
},
"frequency": {
"description": "Maximum frequency (in seconds) of notifications (can also be considered minimum time between notifications) per subscription.",
"type": "integer",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "int"
},
"link": {
"description": "Link to other resources that are in relationship with the resource.",
"items": {
"description": "Link to other resources",
"properties": {
"href": {
"description": "URI",
"format": "anyURI",
"type": "string"
},
"rel": {
"description": "Describes the relationship between the URI and the resource.",
"type": "string"
}
},
"required": [
"rel",
"href"
],
"type": "object"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "Link"
},
"requestedAccuracy": {
"description": "Accuracy of the provided distance in meters.",
"type": "integer",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "int"
},
"requester": {
"description": "Identifies the entity that is requesting the information (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"resourceURL": {
"description": "Self referring URL",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
}
},
"required": [
"callbackReference",
"address",
"requestedAccuracy",
"frequency"
],
"type": "object"
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0.. N",
"x-etsi-mec-origin-type": "PeriodicNotificationSubscription"
},
"resourceURL": {
"description": "Self-referring URL, see note 1.",
"format": "uri",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "AnyURI"
},
"userTrackingSubscription": {
"description": "Collection of UserTrackingSubscription elements, see note 1.",
"items": {
"description": "A type containing user tracking subscription.",
"properties": {
"address": {
"description": "Address of user (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI) to monitor",
"type": "string",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "anyURI"
},
"callbackReference": {
"properties": {
"callbackData": {
"description": "Data the application can register with the server when subscribing to notifications, and that are passed back unchanged in each of the related notifications. These data can be used by the application in the processing of the notification, e.g. for correlation purposes.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"notificationFormat": {
"enum": [
"XML",
"JSON"
],
"type": "string"
},
"notifyURL": {
"description": "Notify Callback URL",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "anyURI"
}
},
"required": [
"notifyURL"
],
"type": "object"
},
"clientCorrelator": {
"description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"resourceURL": {
"description": "Self referring URL",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"userEventCriteria": {
"description": "List of user event values to generate notifications for (these apply to address specified). If this element is missing, a notification is requested to be generated for any change in user event.",
"items": {
"enum": [
"Entering",
"Leaving",
"Transferring"
],
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "UserEventType"
}
},
"required": [
"callbackReference",
"address"
],
"type": "object"
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0.. N",
"x-etsi-mec-origin-type": "UserTrackingSubscription"
},
"zonalTrafficSubscription": {
"description": "Collection of ZonalTrafficSubscription elements, see note 1.",
"items": {
"description": "A type containing zonal traffic subscription",
"properties": {
"callbackReference": {
"properties": {
"callbackData": {
"description": "Data the application can register with the server when subscribing to notifications, and that are passed back unchanged in each of the related notifications. These data can be used by the application in the processing of the notification, e.g. for correlation purposes.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"notificationFormat": {
"enum": [
"XML",
"JSON"
],
"type": "string"
},
"notifyURL": {
"description": "Notify Callback URL",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "anyURI"
}
},
"required": [
"notifyURL"
],
"type": "object"
},
"clientCorrelator": {
"description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"duration": {
"description": "Period (in seconds) of time notifications are provided for. If set to \"0\" (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications. This element MAY be given by the client during resource creation in order to signal the desired lifetime of the subscription. The server MUST return in this element the period of time for which the subscription will still be valid.",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "unsignedInt"
},
"interestRealm": {
"description": "Interest realm of access point (e.g. geographical area, a type of industry etc.).",
"items": {
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "string"
},
"resourceURL": {
"description": "Self referring URL",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"userEventCriteria": {
"description": "List of user event values to generate notifications for (these apply to zone identifier or all interest realms within zone identifier specified). If this element is missing, a notification is requested to be generated for any change in user event.",
"items": {
"enum": [
"Entering",
"Leaving",
"Transferring"
],
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "UserEventType"
},
"zoneId": {
"description": "Identifier of zone",
"type": "string",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "string"
}
},
"required": [
"callbackReference",
"zoneId"
],
"type": "object"
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0.. N",
"x-etsi-mec-origin-type": "ZonalTrafficSubscription"
},
"zoneStatusSubscription": {
"description": "Collection of ZoneStatusSubscription elements, see note 1.",
"items": {
"description": "A type containing zone status subscription.",
"properties": {
"callbackReference": {
"properties": {
"callbackData": {
"description": "Data the application can register with the server when subscribing to notifications, and that are passed back unchanged in each of the related notifications. These data can be used by the application in the processing of the notification, e.g. for correlation purposes.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"notificationFormat": {
"enum": [
"XML",
"JSON"
],
"type": "string"
},
"notifyURL": {
"description": "Notify Callback URL",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "anyURI"
}
},
"required": [
"notifyURL"
],
"type": "object"
},
"clientCorrelator": {
"description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"numberOfUsersAPThreshold": {
"description": "Threshold number of users in an access point which if crossed shall cause a notification",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "unsignedInt"
},
"numberOfUsersZoneThreshold": {
"description": "Threshold number of users in a zone which if crossed shall cause a notification",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "unsignedInt"
},
"operationStatus": {
"description": "List of operation status values to generate notifications for (these apply to all access points within a zone).",
"items": {
"enum": [
"Serviceable",
"Unserviceable",
"Unknown"
],
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "OperationStatus"
},
"resourceURL": {
"description": "Self referring URL",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"zoneId": {
"description": "Identifier of zone",
"type": "string",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "string"
}
},
"required": [
"callbackReference",
"zoneId"
],
"type": "object"
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0.. N",
"x-etsi-mec-origin-type": "ZoneStatusSubscription"
}
},
"required": [
"resourceURL"
],
"type": "object",
"x-etsi-notes": "NOTE 1:\tAs specified in [5], clause 5.2.2.8.\nNOTE 2: \tAs specified in [6], clause 5.2.2.7.",
"x-etsi-ref": "6.3.3"
}
}
}
\ No newline at end of file
{
"type": "object",
"properties": {
"userTrackingSubscription": {
"description": "A type containing user tracking subscription.",
"properties": {
"address": {
"description": "Address of user (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI) to monitor",
"type": "string",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "anyURI"
},
"callbackReference": {
"properties": {
"callbackData": {
"description": "Data the application can register with the server when subscribing to notifications, and that are passed back unchanged in each of the related notifications. These data can be used by the application in the processing of the notification, e.g. for correlation purposes.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"notificationFormat": {
"enum": [
"XML",
"JSON"
],
"type": "string"
},
"notifyURL": {
"description": "Notify Callback URL",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "anyURI"
}
},
"required": [
"notifyURL"
],
"type": "object"
},
"clientCorrelator": {
"description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"resourceURL": {
"description": "Self referring URL",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"userEventCriteria": {
"description": "List of user event values to generate notifications for (these apply to address specified). If this element is missing, a notification is requested to be generated for any change in user event.",
"items": {
"enum": [
"Entering",
"Leaving",
"Transferring"
],
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "UserEventType"
}
},
"required": [
"callbackReference",
"address"
],
"type": "object"
}
}
}
\ No newline at end of file
......@@ -3,7 +3,8 @@
Documentation
... A test suite for validating UE Tracking Subscribe (UETRACKSUB) operations.
Resource ../../GenericKeywords.robot
Resource ../../../GenericKeywords.robot
Resource ../../../pics.txt
Resource environment/variables.txt
Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false
Library OperatingSystem
......@@ -13,7 +14,7 @@ Default Tags TC_MEC_SRV_UETRACKSUB
*** Test Cases ***
TC_MEC_SRV_UETRACKSUB_001_OK
TC_MEC_MEC013_SRV_UETRACKSUB_001_OK
[Documentation]
... Check that the IUT acknowledges the UE location change subscription request
... when commanded by a MEC Application and notifies it when the UE changes location
......@@ -43,7 +44,7 @@ TC_MEC_SRV_UETRACKSUB_001_OK
# ;
TC_MEC_SRV_UETRACKSUB_001_BR
TC_MEC_MEC013_SRV_UETRACKSUB_001_BR
[Documentation]
... Check that the IUT responds with an error when
... a request with incorrect parameters is sent by a MEC Application
......@@ -56,7 +57,7 @@ TC_MEC_SRV_UETRACKSUB_001_BR
Check HTTP Response Status Code Is 400
TC_MEC_SRV_UETRACKSUB_002_OK
TC_MEC_MEC013_SRV_UETRACKSUB_002_OK
[Documentation]
... Check that the IUT acknowledges the cancellation of UE tracking notifications
... when commanded by a MEC Application
......@@ -68,7 +69,7 @@ TC_MEC_SRV_UETRACKSUB_002_OK
Check HTTP Response Status Code Is 204
TC_MEC_SRV_UETRACKSUB_002_NF
TC_MEC_MEC013_SRV_UETRACKSUB_002_NF
[Documentation]
... Check that the IUT responds with an error when
... a request for an unknown URI is sent by a MEC Application
......
{
"type": "object",
"required": [
"notificationSubscriptionList"
],
"properties": {
"notificationSubscriptionList": {
"properties": {
"circleNotificationSubscription": {
"description": "Collection of CircleNotificationSubscription elements, see note 2.",
"items": {
"description": "A type containing data for notifications, when the area is defined as a circle.",
"properties": {
"address": {
"description": "Address of terminals to monitor (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
"items": {
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "anyURI"
},
"callbackReference": {
"properties": {
"callbackData": {
"description": "Data the application can register with the server when subscribing to notifications, and that are passed back unchanged in each of the related notifications. These data can be used by the application in the processing of the notification, e.g. for correlation purposes.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"notificationFormat": {
"enum": [
"XML",
"JSON"
],
"type": "string"
},
"notifyURL": {
"description": "Notify Callback URL",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "anyURI"
}
},
"required": [
"notifyURL"
],
"type": "object"
},
"checkImmediate": {
"description": "Check location immediately after establishing notification.",
"type": "boolean",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "boolean"
},
"clientCorrelator": {
"description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"count": {
"description": "Maximum number of notifications per individual address. For no maximum, either do not include this element or specify a value of zero. Default value is 0.",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "int"
},
"duration": {
"description": "Period of time (in seconds) notifications are provided for. If set to 0 (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications.",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "int"
},
"enteringLeavingCriteria": {
"enum": [
"Entering",
"Leaving"
],
"type": "string"
},
"frequency": {
"description": "Maximum frequency (in seconds) of notifications per subscription (can also be considered minimum time between notifications).",
"type": "integer",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "int"
},
"latitude": {
"description": "Latitude of center point.",
"format": "float",
"type": "number",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "float"
},
"link": {
"description": "Link to other resources that are in relationship with the resource.",
"items": {
"description": "Link to other resources",
"properties": {
"href": {
"description": "URI",
"format": "anyURI",
"type": "string"
},
"rel": {
"description": "Describes the relationship between the URI and the resource.",
"type": "string"
}
},
"required": [
"rel",
"href"
],
"type": "object"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "Link"
},
"longitude": {
"description": "Longitude of center point.",
"format": "float",
"type": "number",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "float"
},
"radius": {
"description": "Radius circle around center point in meters.",
"format": "float",
"type": "number",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "float"
},
"requester": {
"description": "Identifies the entity that is requesting the information (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"resourceURL": {
"description": "Self referring URL",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"trackingAccuracy": {
"description": "Number of meters of acceptable error in tracking distance.",
"format": "float",
"type": "number",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "float"
}
},
"required": [
"callbackReference",
"address",
"latitude",
"longitude",
"radius",
"trackingAccuracy",
"enteringLeavingCriteria",
"checkImmediate",
"frequency"
],
"type": "object"
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0.. N",
"x-etsi-mec-origin-type": "CircleNotificationSubscription"
},
"distanceNotificationSubscription": {
"description": "Collection of DistanceNotificationSubscription elements, see note 2.",
"items": {
"description": "A type containing data for distance subscription, with reference to other devices.",
"properties": {
"callbackReference": {
"properties": {
"callbackData": {
"description": "Data the application can register with the server when subscribing to notifications, and that are passed back unchanged in each of the related notifications. These data can be used by the application in the processing of the notification, e.g. for correlation purposes.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"notificationFormat": {
"enum": [
"XML",
"JSON"
],
"type": "string"
},
"notifyURL": {
"description": "Notify Callback URL",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "anyURI"
}
},
"required": [
"notifyURL"
],
"type": "object"
},
"checkImmediate": {
"description": "Check location immediately after establishing notification.",
"type": "boolean",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "boolean"
},
"clientCorrelator": {
"description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"count": {
"description": "Maximum number of notifications per individual address. For no maximum, either do not include this element or specify a value of zero. Default value is 0.",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "int"
},
"criteria": {
"enum": [
"AllWithinDistance",
"AnyWithinDistance",
"AllBeyondDistance",
"AnyBeyondDistance"
],
"type": "string"
},
"distance": {
"description": "Distance between devices that shall be monitored.",
"format": "float",
"type": "number",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "float"
},
"duration": {
"description": "Period of time (in seconds) notifications are provided for. If set to 0 (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications.",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "int"
},
"frequency": {
"description": "Maximum frequency (in seconds) of notifications per subscription (can also be considered minimum time between notifications).",
"type": "integer",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "int"
},
"link": {
"description": "Link to other resources that are in relationship with the resource.",
"items": {
"description": "Link to other resources",
"properties": {
"href": {
"description": "URI",
"format": "anyURI",
"type": "string"
},
"rel": {
"description": "Describes the relationship between the URI and the resource.",
"type": "string"
}
},
"required": [
"rel",
"href"
],
"type": "object"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "Link"
},
"monitoredAddress": {
"description": "Contains addresses of devices to monitor (e.g., 'sip' URI, 'tel' URI, 'acr' URI)",
"items": {
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "anyURI"
},
"referenceAddress": {
"description": "Indicates address of each device that will be used as reference devices from which the distances towards monitored devices indicated in the Addresses will be monitored (e.g., 'sip' URI, 'tel' URI, 'acr' URI)",
"items": {
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "anyURI"
},
"requester": {
"description": "Identifies the entity that is requesting the information (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"resourceURL": {
"description": "Self referring URL",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"trackingAccuracy": {
"description": "Number of meters of acceptable error in tracking distance.",
"format": "float",
"type": "number",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "float"
}
},
"required": [
"callbackReference",
"monitoredAddress",
"distance",
"trackingAccuracy",
"criteria",
"checkImmediate",
"frequency"
],
"type": "object"
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0.. N",
"x-etsi-mec-origin-type": "DistanceNotificationSubscription"
},
"periodicNotificationSubscription": {
"description": "Collection of PeriodicNotificationSubscription elements, see note 2.",
"items": {
"description": "A type containing data for periodic subscription.",
"properties": {
"address": {
"description": "Address of terminals to monitor (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
"items": {
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "anyURI"
},
"callbackReference": {
"properties": {
"callbackData": {
"description": "Data the application can register with the server when subscribing to notifications, and that are passed back unchanged in each of the related notifications. These data can be used by the application in the processing of the notification, e.g. for correlation purposes.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"notificationFormat": {
"enum": [
"XML",
"JSON"
],
"type": "string"
},
"notifyURL": {
"description": "Notify Callback URL",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "anyURI"
}
},
"required": [
"notifyURL"
],
"type": "object"
},
"clientCorrelator": {
"description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"duration": {
"description": "Period of time (in seconds) notifications are provided for. If set to 0 (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications.",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "int"
},
"frequency": {
"description": "Maximum frequency (in seconds) of notifications (can also be considered minimum time between notifications) per subscription.",
"type": "integer",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "int"
},
"link": {
"description": "Link to other resources that are in relationship with the resource.",
"items": {
"description": "Link to other resources",
"properties": {
"href": {
"description": "URI",
"format": "anyURI",
"type": "string"
},
"rel": {
"description": "Describes the relationship between the URI and the resource.",
"type": "string"
}
},
"required": [
"rel",
"href"
],
"type": "object"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "Link"
},
"requestedAccuracy": {
"description": "Accuracy of the provided distance in meters.",
"type": "integer",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "int"
},
"requester": {
"description": "Identifies the entity that is requesting the information (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"resourceURL": {
"description": "Self referring URL",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
}
},
"required": [
"callbackReference",
"address",
"requestedAccuracy",
"frequency"
],
"type": "object"
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0.. N",
"x-etsi-mec-origin-type": "PeriodicNotificationSubscription"
},
"resourceURL": {
"description": "Self-referring URL, see note 1.",
"format": "uri",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "AnyURI"
},
"userTrackingSubscription": {
"description": "Collection of UserTrackingSubscription elements, see note 1.",
"items": {
"description": "A type containing user tracking subscription.",
"properties": {
"address": {
"description": "Address of user (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI) to monitor",
"type": "string",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "anyURI"
},
"callbackReference": {
"properties": {
"callbackData": {
"description": "Data the application can register with the server when subscribing to notifications, and that are passed back unchanged in each of the related notifications. These data can be used by the application in the processing of the notification, e.g. for correlation purposes.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"notificationFormat": {
"enum": [
"XML",
"JSON"
],
"type": "string"
},
"notifyURL": {
"description": "Notify Callback URL",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "anyURI"
}
},
"required": [
"notifyURL"
],
"type": "object"
},
"clientCorrelator": {
"description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"resourceURL": {
"description": "Self referring URL",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"userEventCriteria": {
"description": "List of user event values to generate notifications for (these apply to address specified). If this element is missing, a notification is requested to be generated for any change in user event.",
"items": {
"enum": [
"Entering",
"Leaving",
"Transferring"
],
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "UserEventType"
}
},
"required": [
"callbackReference",
"address"
],
"type": "object"
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0.. N",
"x-etsi-mec-origin-type": "UserTrackingSubscription"
},
"zonalTrafficSubscription": {
"description": "Collection of ZonalTrafficSubscription elements, see note 1.",
"items": {
"description": "A type containing zonal traffic subscription",
"properties": {
"callbackReference": {
"properties": {
"callbackData": {
"description": "Data the application can register with the server when subscribing to notifications, and that are passed back unchanged in each of the related notifications. These data can be used by the application in the processing of the notification, e.g. for correlation purposes.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"notificationFormat": {
"enum": [
"XML",
"JSON"
],
"type": "string"
},
"notifyURL": {
"description": "Notify Callback URL",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "anyURI"
}
},
"required": [
"notifyURL"
],
"type": "object"
},
"clientCorrelator": {
"description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"duration": {
"description": "Period (in seconds) of time notifications are provided for. If set to \"0\" (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications. This element MAY be given by the client during resource creation in order to signal the desired lifetime of the subscription. The server MUST return in this element the period of time for which the subscription will still be valid.",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "unsignedInt"
},
"interestRealm": {
"description": "Interest realm of access point (e.g. geographical area, a type of industry etc.).",
"items": {
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "string"
},
"resourceURL": {
"description": "Self referring URL",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"userEventCriteria": {
"description": "List of user event values to generate notifications for (these apply to zone identifier or all interest realms within zone identifier specified). If this element is missing, a notification is requested to be generated for any change in user event.",
"items": {
"enum": [
"Entering",
"Leaving",
"Transferring"
],
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "UserEventType"
},
"zoneId": {
"description": "Identifier of zone",
"type": "string",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "string"
}
},
"required": [
"callbackReference",
"zoneId"
],
"type": "object"
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0.. N",
"x-etsi-mec-origin-type": "ZonalTrafficSubscription"
},
"zoneStatusSubscription": {
"description": "Collection of ZoneStatusSubscription elements, see note 1.",
"items": {
"description": "A type containing zone status subscription.",
"properties": {
"callbackReference": {
"properties": {
"callbackData": {
"description": "Data the application can register with the server when subscribing to notifications, and that are passed back unchanged in each of the related notifications. These data can be used by the application in the processing of the notification, e.g. for correlation purposes.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"notificationFormat": {
"enum": [
"XML",
"JSON"
],
"type": "string"
},
"notifyURL": {
"description": "Notify Callback URL",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "anyURI"
}
},
"required": [
"notifyURL"
],
"type": "object"
},
"clientCorrelator": {
"description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"numberOfUsersAPThreshold": {
"description": "Threshold number of users in an access point which if crossed shall cause a notification",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "unsignedInt"
},
"numberOfUsersZoneThreshold": {
"description": "Threshold number of users in a zone which if crossed shall cause a notification",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "unsignedInt"
},
"operationStatus": {
"description": "List of operation status values to generate notifications for (these apply to all access points within a zone).",
"items": {
"enum": [
"Serviceable",
"Unserviceable",
"Unknown"
],
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "OperationStatus"
},
"resourceURL": {
"description": "Self referring URL",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"zoneId": {
"description": "Identifier of zone",
"type": "string",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "string"
}
},
"required": [
"callbackReference",
"zoneId"
],
"type": "object"
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0.. N",
"x-etsi-mec-origin-type": "ZoneStatusSubscription"
}
},
"required": [
"resourceURL"
],
"type": "object",
"x-etsi-notes": "NOTE 1:\tAs specified in [5], clause 5.2.2.8.\nNOTE 2: \tAs specified in [6], clause 5.2.2.7.",
"x-etsi-ref": "6.3.3"
}
}
}
\ No newline at end of file
{
"type": "object",
"properties": {
"periodicNotificationSubscription": {
"description": "A type containing data for periodic subscription.",
"properties": {
"address": {
"description": "Address of terminals to monitor (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
"items": {
"type": "string"
},
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "anyURI"
},
"callbackReference": {
"properties": {
"callbackData": {
"description": "Data the application can register with the server when subscribing to notifications, and that are passed back unchanged in each of the related notifications. These data can be used by the application in the processing of the notification, e.g. for correlation purposes.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"notificationFormat": {
"enum": [
"XML",
"JSON"
],
"type": "string"
},
"notifyURL": {
"description": "Notify Callback URL",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "anyURI"
}
},
"required": [
"notifyURL"
],
"type": "object"
},
"clientCorrelator": {
"description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"duration": {
"description": "Period of time (in seconds) notifications are provided for. If set to 0 (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications.",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "int"
},
"frequency": {
"description": "Maximum frequency (in seconds) of notifications (can also be considered minimum time between notifications) per subscription.",
"type": "integer",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "int"
},
"link": {
"description": "Link to other resources that are in relationship with the resource.",
"items": {
"description": "Link to other resources",
"properties": {
"href": {
"description": "URI",
"format": "anyURI",
"type": "string"
},
"rel": {
"description": "Describes the relationship between the URI and the resource.",
"type": "string"
}
},
"required": [
"rel",
"href"
],
"type": "object"
},
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "Link"
},
"requestedAccuracy": {
"description": "Accuracy of the provided distance in meters.",
"type": "integer",
"x-etsi-mec-cardinality": 1,
"x-etsi-mec-origin-type": "int"
},
"requester": {
"description": "Identifies the entity that is requesting the information (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
},
"resourceURL": {
"description": "Self referring URL",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "anyURI"
}
},
"required": [
"callbackReference",
"address",
"requestedAccuracy",
"frequency"
],
"type": "object"
}
}
}
\ No newline at end of file
*** Settings ***
Documentation
... A test suite for validating Radio Node Location Lookup (RLOCLOOK) operations.
Resource ../../../GenericKeywords.robot
Resource ../../../pics.txt
Resource environment/variables.txt
Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false
Library OperatingSystem
Default Tags TC_MEC_SRV_RLOCLOOK
*** Test Cases ***
TC_MEC_MEC013_SRV_ZOINFOLOOK_001_OK
[Documentation]
... TO BE COMPLETED
[Tags] PIC_MEC_PLAT PIC_SERVICES INCLUDE_UNDEFINED_SCHEMAS
Get the zones info location list
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is ZoneList
TC_MEC_MEC013_SRV_ZOINFOLOOK_002_OK
[Documentation]
... TO BE CMPLETED
[Tags] PIC_MEC_PLAT PIC_SERVICES
Get the zone info location ${ZONE_ID}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is ZoneInfo
Should Be Equal As Strings ${response['body']['zoneInfo']['zoneId']} ${ZONE_ID}
TC_MEC_MEC013_SRV_ZOINFOLOOK_002_NF
[Documentation]
... TO BE CMPLETED
[Tags] PIC_MEC_PLAT PIC_SERVICES
Get the zone info location ${NON_EXISTENT_ZONE_ID}
Check HTTP Response Status Code Is 404
*** Keywords ***
Get the zone info location
[Arguments] ${zoneId}
Set Headers {"Accept":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
Get ${apiRoot}/${apiName}/${apiVersion}/queries/zones/${zoneId}
${output}= Output response
Set Suite Variable ${response} ${output}
Get the zones info location list
Set Headers {"Accept":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
Get ${apiRoot}/${apiName}/${apiVersion}/queries/zones
${output}= Output response
Set Suite Variable ${response} ${output}