Commit 3af21a7a authored by Elian Kraja's avatar Elian Kraja Committed by Michele Carignani

LocationAPI schemas update

parent 9983362d
{
"description": "A type containing list of access points.",
"type": "object",
"required": [
"zoneId",
"resourceURL"
],
"properties": {
"zoneId": {
"description": "Identifier of zone",
"type": "string",
"example": "zone01"
},
"accessPoint": {
"description": "Collection of the access point information list.",
"type": "array",
"items": {
"description": "A type containing access point information.",
"type": "object",
"required": [
"accessPointId",
"connectionType",
"operationStatus",
"numberOfUsers",
"resourceURL"
],
"properties": {
"accessPointId": {
"description": "Identifier of access point, <E-CGI><Cell Portion ID> (reference ETSI TS 129 171). Where the E-CGI is made up of the PLMN and Cell Identity (28 bit string). Then the PLMN is made up of the 3 digit MCC & 2 or 3 digit MNC. The Cell Portion is an optional element",
"type": "string",
"example": "001010000000000000000000000000001"
},
"locationInfo": {
"description": "A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided.",
"type": "object",
"required": [
"latitude",
"longitude",
"accuracy"
],
"properties": {
"latitude": {
"type": "number",
"format": "float",
"example": "80.123"
},
"longitude": {
"type": "number",
"format": "float",
"example": "70.123"
},
"altitude": {
"type": "number",
"format": "float",
"example": "10.0"
},
"accuracy": {
"type": "integer",
"format": "int32",
"example": "10"
}
}
},
"connectionType": {
"description": "The connection type for the access point",
"type": "string",
"enum": [
"Femto",
"LTE-femto",
"Smallcell",
"LTE-smallcell",
"Wifi",
"Pico",
"Micro",
"Macro",
"Wimax",
"Unknown"
],
"example": "Macro"
},
"operationStatus": {
"description": "The operation status of the access point",
"type": "string",
"enum": [
"Serviceable",
"Unserviceable",
"Unknown"
],
"example": "Serviceable"
},
"numberOfUsers": {
"description": "The number of users currently on the access point.",
"type": "integer",
"format": "uint32",
"example": "7"
},
"timezone": {
"description": "Time zone of access point",
"type": "string",
"format": "date-time",
"example": "2017-01-01T02:51:43Z"
},
"interestRealm": {
"description": "Interest realm of access point (e.g. geographical area, a type of industry etc.).",
"type": "string",
"example": "LA"
},
"resourceURL": {
"description": "Self referring URL.",
"type": "string",
"format": "uri",
"example": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123"
}
}
}
},
"resourceURL": {
"description": "Self referring URL.",
"type": "string",
"format": "uri",
"example": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123"
}
}
}
\ No newline at end of file
......@@ -25,7 +25,7 @@ TC_MEC_SRV_UEAREASUB_001_OK
[Tags] PIC_MEC_PLAT PIC_SERVICES
Create new subscription CircleNotificationSubscription
Check HTTP Response Status Code Is 201
Check HTTP Response Body Json Schema Is circleNotificationSubscription
Check HTTP Response Body Json Schema Is CircleNotificationSubscription
Check Result Contains ${response['body']['circleNotificationSubscription']} clientCorrelator ${UEAREASUB_CLIENT_ID}
Check Result Contains ${response['body']['circleNotificationSubscription']} callbackReference ${APP_UEAREASUB_CALLBACK_URI}
Check Result Contains ${response['body']['circleNotificationSubscription']} address ${IP_ADDRESS}
......
{
"circleNotificationSubscription": {
"address": "acr:10.0.0.1",
"callbackReference": {
"callbackData": "1234",
......@@ -13,5 +12,4 @@
"longitude": "41.277306",
"radius": "500",
"trackingAccuracy": "10"
}
}
\ No newline at end of file
{
"circleNotificationSubscription": {
"address": "acr:10.0.0.1",
"callback": {
"callbackData": "1234",
......@@ -13,5 +12,4 @@
"longitude": "41.277306",
"radius": "500",
"trackingAccuracy": "10"
}
}
\ No newline at end of file
{
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://example.com/root.json",
"type": "object",
"title": "The Root Schema",
"required": [
"address",
"callbackReference",
"checkImmediate",
"clientCorrelator",
"enteringLeavingCriteria",
"frequency",
"latitude",
"longitude",
"radius",
"trackingAccuracy"
],
"properties": {
"address": {
"$id": "#/properties/address",
"type": "string",
"title": "The Address Schema",
"default": "",
"examples": [
"acr:10.0.0.1"
],
"pattern": "^(.*)$"
},
"callbackReference": {
"$id": "#/properties/callbackReference",
"type": "object",
"title": "The Callbackreference Schema",
"required": [
"callbackData",
"notifyURL"
],
"properties": {
"callbackData": {
"$id": "#/properties/callbackReference/properties/callbackData",
"type": "string",
"title": "The Callbackdata Schema",
"default": "",
"examples": [
"1234"
],
"pattern": "^(.*)$"
},
"notifyURL": {
"$id": "#/properties/callbackReference/properties/notifyURL",
"type": "string",
"title": "The Notifyurl Schema",
"default": "",
"examples": [
"http://application.example.com/notifications/distance_notifications/123456"
],
"pattern": "^(.*)$"
}
}
},
"checkImmediate": {
"$id": "#/properties/checkImmediate",
"type": "string",
"title": "The Checkimmediate Schema",
"default": "",
"examples": [
"true"
],
"pattern": "^(.*)$"
},
"clientCorrelator": {
"$id": "#/properties/clientCorrelator",
"type": "string",
"title": "The Clientcorrelator Schema",
"default": "",
"examples": [
"0123"
],
"pattern": "^(.*)$"
},
"enteringLeavingCriteria": {
"$id": "#/properties/enteringLeavingCriteria",
"type": "string",
"title": "The Enteringleavingcriteria Schema",
"default": "",
"examples": [
"Entering"
],
"pattern": "^(.*)$"
},
"frequency": {
"$id": "#/properties/frequency",
"type": "string",
"title": "The Frequency Schema",
"default": "",
"examples": [
"10"
],
"pattern": "^(.*)$"
},
"latitude": {
"$id": "#/properties/latitude",
"type": "string",
"title": "The Latitude Schema",
"default": "",
"examples": [
"-80.86302"
],
"pattern": "^(.*)$"
},
"longitude": {
"$id": "#/properties/longitude",
"type": "string",
"title": "The Longitude Schema",
"default": "",
"examples": [
"41.277306"
],
"pattern": "^(.*)$"
},
"radius": {
"$id": "#/properties/radius",
"type": "string",
"title": "The Radius Schema",
"default": "",
"examples": [
"500"
],
"pattern": "^(.*)$"
},
"trackingAccuracy": {
"$id": "#/properties/trackingAccuracy",
"type": "string",
"title": "The Trackingaccuracy Schema",
"default": "",
"examples": [
"10"
],
"pattern": "^(.*)$"
}
}
}
\ No newline at end of file
{
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://example.com/root.json",
"type": "object",
"title": "The Root Schema",
"required": [
" terminalDistance"
],
"properties": {
" terminalDistance": {
"$id": "#/properties/ terminalDistance",
"type": "object",
"title": "The terminaldistance Schema",
"required": [
"distance"
],
"properties": {
"distance": {
"$id": "#/properties/ terminalDistance/properties/distance",
"type": "string",
"title": "The Distance Schema",
"default": "",
"examples": [
"123"
],
"pattern": "^(.*)$"
}
}
}
}
}
{
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://example.com/root.json",
"type": "object",
"title": "The Root Schema",
"required": [
"distanceNotificationSubscription"
],
"properties": {
"distanceNotificationSubscription": {
"$id": "#/properties/distanceNotificationSubscription",
"type": "object",
"title": "The Distancenotificationsubscription Schema",
"required": [
"callbackReference",
"checkImmediate",
"clientCorrelator",
"criteria",
"distance",
"frequency",
"monitoredAddress",
"referenceAddress",
"trackingAccuracy"
],
"properties": {
"callbackReference": {
"$id": "#/properties/distanceNotificationSubscription/properties/callbackReference",
"type": "object",
"title": "The Callbackreference Schema",
"required": [
"callbackData",
"notifyURL"
],
"properties": {
"callbackData": {
"$id": "#/properties/distanceNotificationSubscription/properties/callbackReference/properties/callbackData",
"type": "string",
"title": "The Callbackdata Schema",
"default": "",
"examples": [
"1234"
],
"pattern": "^(.*)$"
},
"notifyURL": {
"$id": "#/properties/distanceNotificationSubscription/properties/callbackReference/properties/notifyURL",
"type": "string",
"title": "The Notifyurl Schema",
"default": "",
"examples": [
"http://application.example.com/notifications/distance_notifications/123456"
],
"pattern": "^(.*)$"
}
}
},
"checkImmediate": {
"$id": "#/properties/distanceNotificationSubscription/properties/checkImmediate",
"type": "string",
"title": "The Checkimmediate Schema",
"default": "",
"examples": [
"true"
],
"pattern": "^(.*)$"
},
"clientCorrelator": {
"$id": "#/properties/distanceNotificationSubscription/properties/clientCorrelator",
"type": "string",
"title": "The Clientcorrelator Schema",
"default": "",
"examples": [
"0123"
],
"pattern": "^(.*)$"
},
"criteria": {
"$id": "#/properties/distanceNotificationSubscription/properties/criteria",
"type": "string",
"title": "The Criteria Schema",
"default": "",
"examples": [
"AllWithinDistance"
],
"pattern": "^(.*)$"
},
"distance": {
"$id": "#/properties/distanceNotificationSubscription/properties/distance",
"type": "string",
"title": "The Distance Schema",
"default": "",
"examples": [
"100"
],
"pattern": "^(.*)$"
},
"frequency": {
"$id": "#/properties/distanceNotificationSubscription/properties/frequency",
"type": "string",
"title": "The Frequency Schema",
"default": "",
"examples": [
"10"
],
"pattern": "^(.*)$"
},
"monitoredAddress": {
"$id": "#/properties/distanceNotificationSubscription/properties/monitoredAddress",
"type": "array",
"title": "The Monitoredaddress Schema",
"items": {
"$id": "#/properties/distanceNotificationSubscription/properties/monitoredAddress/items",
"type": "string",
"title": "The Items Schema",
"default": "",
"examples": [
"acr:10.0.0.1",
"acr:10.0.0.2"
],
"pattern": "^(.*)$"
}
},
"referenceAddress": {
"$id": "#/properties/distanceNotificationSubscription/properties/referenceAddress",
"type": "string",
"title": "The Referenceaddress Schema",
"default": "",
"examples": [
"acr:10.0.0.3"
],
"pattern": "^(.*)$"
},
"trackingAccuracy": {
"$id": "#/properties/distanceNotificationSubscription/properties/trackingAccuracy",
"type": "string",
"title": "The Trackingaccuracy Schema",
"default": "",
"examples": [
"10"
],
"pattern": "^(.*)$"
}
}
}
}
}
......@@ -24,7 +24,7 @@ TC_MEC_SRV_UEINFOLOOK_001_OK
[Tags] PIC_MEC_PLAT PIC_SERVICES
Get list of users with filter address ${ACR_ADDRESS}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is userList
Check HTTP Response Body Json Schema Is UserList
TC_MEC_SRV_UEINFOLOOK_001_BR
......
{
"user":[
{
"address":"acr:192.0.2.1",
"accessPointId":"",
"zoneId":"",
"resourceURL":"http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription1",
"locationInfo":{
"latitude":0.0,
"longitude":0.0,
"altitude":0.0,
"accuracy":0.0
},
"contextLocationInfo":"",
"ancillaryInfo":""
}
],
"resourceURL":"http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription1"
}
\ No newline at end of file
{
"description": "A type containing list of users.",
"type": "object",
"required": [
"resourceURL"
],
"properties": {
"user": {
"description": "Collection of the zone information list.",
"type": "array",
"items": {
"description": "A type containing user information.",
"type": "object",
"required": [
"address",
"accessPointId",
"zoneId",
"resourceURL"
],
"properties": {
"address": {
"description": "Address of user (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI).",
"type": "string",
"format": "uri",
"example": "acr:192.0.2.1"
},
"accessPointId": {
"description": "Identifier of access point, <E-CGI><Cell Portion ID> (reference ETSI TS 129 171). Where the E-CGI is made up of the PLMN and Cell Identity (28 bit string). Then the PLMN is made up of the 3 digit MCC & 2 or 3 digit MNC. The Cell Portion is an optional element",
"type": "string",
"example": "001010000000000000000000000000001"
},
"zoneId": {
"description": "Identifier of zone",
"type": "string",
"example": "zone01"
},
"resourceURL": {
"description": "Self referring URL.",
"type": "string",
"format": "uri",
"example": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123"
},
"locationInfo": {
"description": "A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided.",
"type": "object",
"required": [
"latitude",
"longitude",
"accuracy"
],
"properties": {
"latitude": {
"type": "number",
"format": "float",
"example": "80.123"
},
"longitude": {
"type": "number",
"format": "float",
"example": "70.123"
},
"altitude": {
"type": "number",
"format": "float",
"example": "10.0"
},
"accuracy": {
"type": "integer",
"format": "int32",
"example": "10"
}
}
},
"contextLocationInfo": {
"description": "Contextual information of a user location (e.g., aisle, floor, room number, etc.)",
"type": "string",
"example": "GroundFloor"
},
"ancillaryInfo": {
"description": "Reserved for future use.",
"type": "string"
}
}
}
},
"resourceURL": {
"description": "Self referring URL.",
"type": "string",
"format": "uri",
"example": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123"
}
}
}
\ No newline at end of file
{
"name": "zonalTrafficSubscription",
"in": "body",
"description": "Zonal Traffic Subscription",
"required": true,
"schema": {
"description": "A type containing zonal traffic subscription",
"type": "object",
"required": [
"callbackReference",
"zoneId"
],
"properties": {
"clientCorrelator": {
"description": "Uniquely identifies this create subscription request. If there is a communication failure during the request, using the same clientCorrelator when retrying the request allows the operator to avoid creating a duplicate subscription.",
"type": "string",
"example": "0123"
},
"callbackReference": {
"description": "Notification callback definition.",
"type": "object",
"required": [
"notifyURL"
],
"properties": {
"notifyURL": {
"description": "The URL of your own listener application.",
"type": "string",
"format": "url",
"example": "http://clientApp.example.com/location_notifications/123456"
}
}
},
"zoneId": {
"description": "Identifier of zone",
"type": "string",
"example": "zone01"
},
"interestRealm": {
"description": "Interest realms of access points within a zone (e.g. geographical area, a type of industry etc.).",
"type": "array",
"items": {
"description": "Interest realm of access point (e.g. geographical area, a type of industry etc.).",
"type": "string",
"example": "LA"
}
},
"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.",
"type": "array",
"items": {
"description": "User event",
"type": "string",
"enum": [
"Entering",
"Leaving",
"Transferring"
],
"example": "Entering"
}
},
"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": "string",
"example": "0"
},
"resourceURL": {
"description": "Self referring URL.",
"type": "string",
"format": "uri",
"example": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123"
}
}
}
}
\ No newline at end of file
......@@ -26,7 +26,7 @@ TC_MEC_SRV_UELOCLOOK_001_OK
[Tags] PIC_MEC_PLAT PIC_SERVICES
Get list of user equipments zoneId ${ZONE_ID}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is userInfo
Check HTTP Response Body Json Schema Is UserInfo
Check Result Contains ${response['body']['userInfo']} zoneId ${ZONE_ID}
......