diff --git a/MEC028/WAI/AP_INFO/WaiApInfo.robot b/MEC028/WAI/AP_INFO/WaiApInfo.robot index b8be44a7f29b9c6ff458bd4700b8fe237acc6189..c181ba049bc6b7b1132a84027b45ae1ab8cb1a53 100644 --- a/MEC028/WAI/AP_INFO/WaiApInfo.robot +++ b/MEC028/WAI/AP_INFO/WaiApInfo.robot @@ -14,8 +14,8 @@ Library REST ${MEC-APP_SCHEMA}://${MEC-APP_HOST}:${MEC-APP_PORT} ssl_v TP_MEC_MEC028_SRV_WAI_001_OK [Documentation] ... Check that the IUT responds with the list of WLAN Access Point - ... Reference "ETSI GS MEC 028 2.1.1, clause 7.3.3.1 - ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/ApInfo + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.3.3.1 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/ApInfo ##Outdated Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 Retrieve the access point information @@ -31,8 +31,8 @@ TP_MEC_MEC028_SRV_WAI_001_OK TP_MEC_MEC028_SRV_WAI_002_OK [Documentation] ... Check that the IUT responds with the list of WLAN Access Point filtered by the macId provided as query parameter - ... Reference "ETSI GS MEC 028 2.1.1, clause 7.3.3.1 - ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/ApInfo + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.3.3.1 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/ApInfo ##Outdated Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 Retrieve the access point information using filters ${filter} @@ -49,8 +49,8 @@ TP_MEC_MEC028_SRV_WAI_002_OK TP_MEC_MEC028_SRV_WAI_002_BR [Documentation] ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application - ... Reference "ETSI GS MEC 028 2.1.1, clause 7.3.3.1 - ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/ApInfo + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.3.3.1 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/ApInfo ##Outdated Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 Retrieve the access point information using filters ${bad_filter} diff --git a/MEC028/WAI/AP_INFO/environment/variables.txt b/MEC028/WAI/AP_INFO/environment/variables.txt index ec621fedb2161f6ec78b3e3183b66e29b39caa83..0f20b2e2afce7307555bfb94507188687d96807b 100644 --- a/MEC028/WAI/AP_INFO/environment/variables.txt +++ b/MEC028/WAI/AP_INFO/environment/variables.txt @@ -1,7 +1,7 @@ *** Variables *** ${apiRoot} ${apiName} wai -${apiVersion} v1 +${apiVersion} v2 ${MEC-APP_SCHEMA} http ${MEC-APP_HOST} 127.0.0.1 diff --git a/MEC028/WAI/EXT_SUB/ExistingSubscription.robot b/MEC028/WAI/EXT_SUB/ExistingSubscription.robot index 9ebcad0533c346a9a3ac05a774d14266b3098931..187ff91203c19be4db2cb2d499ce0f67524ae160 100644 --- a/MEC028/WAI/EXT_SUB/ExistingSubscription.robot +++ b/MEC028/WAI/EXT_SUB/ExistingSubscription.robot @@ -9,13 +9,12 @@ Library String Library OperatingSystem Library REST ${MEC-APP_SCHEMA}://${MEC-APP_HOST}:${MEC-APP_PORT} ssl_verify=false -#GET *** Test Cases *** TP_MEC_MEC028_SRV_WAI_008_OK [Documentation] ... Check that the IUT responds with the list of Subscription" - ... Reference "ETSI GS MEC 028 2.1.1, clause 7.6.3.1 - ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.6.3.1 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription ##Outdated Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 Retrieve existing subscription information ${SUB_ID} @@ -28,21 +27,20 @@ TP_MEC_MEC028_SRV_WAI_008_OK TP_MEC_MEC028_SRV_WAI_008_NF [Documentation] ... Check that the IUT responds with an error when a request for existing subscription with incorrect parameters is sent" - ... Reference "ETSI GS MEC 028 2.1.1, clause 7.6.3.1 - ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.6.3.1 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription ##Outdated Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 Retrieve existing subscription information ${NOT_EXISTING_SUB_ID} Check HTTP Response Status Code Is 404 -#PUT *** Test Cases *** TP_MEC_MEC028_SRV_WAI_009_OK [Documentation] ... Check that the IUT responds with a Notification Subscription when it is modified" - ... Reference "ETSI GS MEC 028 2.1.1, clause 7.6.3.2 - ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.6.3.2 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription ##Outdated Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 Modify existing subscription information ${SUB_ID} UpdateAssocStaSubscription.json @@ -55,18 +53,18 @@ TP_MEC_MEC028_SRV_WAI_009_OK TP_MEC_MEC028_SRV_WAI_009_BR [Documentation] ... Check that the IUT responds with an error when an invalid field is set in the subscription modification request" - ... Reference "ETSI GS MEC 028 2.1.1, clause 7.6.3.2 - ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.6.3.2 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription ##Outdated Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 Modify existing subscription information ${SUB_ID} UpdateAssocStaSubscription_BR.json Check HTTP Response Status Code Is 400 -#DELETE + TP_MEC_MEC028_SRV_WAI_010_OK [Documentation] ... Check that the IUT responds with 204 when an existing subscription is correctly deleted" - ... Reference "ETSI GS MEC 028 2.1.1, clause 7.6.3.5 + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.6.3.5 Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 Remove existing subscription information ${SUB_ID} @@ -75,7 +73,7 @@ TP_MEC_MEC028_SRV_WAI_010_OK TP_MEC_MEC028_SRV_WAI_010_NF [Documentation] ... Check that the IUT responds with an error when an not existing subscription cannot be deleted" - ... Reference "ETSI GS MEC 028 2.1.1, clause 7.6.3.5 + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.6.3.5 Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 Remove existing subscription information ${NOT_EXISTING_SUB_ID} diff --git a/MEC028/WAI/EXT_SUB/environment/variables.txt b/MEC028/WAI/EXT_SUB/environment/variables.txt index 8e5fb8395c1c7e2675f30689b212982a0103fca9..d7beea87162ae10b50b7270001a5bf1fb1404bec 100644 --- a/MEC028/WAI/EXT_SUB/environment/variables.txt +++ b/MEC028/WAI/EXT_SUB/environment/variables.txt @@ -1,7 +1,7 @@ *** Variables *** ${apiRoot} ${apiName} wai -${apiVersion} v1 +${apiVersion} v2 ${MEC-APP_SCHEMA} http ${MEC-APP_HOST} 127.0.0.1 diff --git a/MEC028/WAI/MEAS/WaiMeasurement.robot b/MEC028/WAI/MEAS/WaiMeasurement.robot new file mode 100644 index 0000000000000000000000000000000000000000..0aa1a6ddf95b22ffb21687fcc0972ccd005e5a24 --- /dev/null +++ b/MEC028/WAI/MEAS/WaiMeasurement.robot @@ -0,0 +1,189 @@ +''[Documentation] robot --outputdir ../../outputs ./WaiMeasurement.robot +... Test Suite to validate WLAN Measurement API (MEAS) operations. + +*** Settings *** +Resource environment/variables.txt +Resource ../../../pics.txt +Resource ../../../GenericKeywords.robot +Library String +Library OperatingSystem +Library REST ${MEC-APP_SCHEMA}://${MEC-APP_HOST}:${MEC-APP_PORT} ssl_verify=false + + +*** Test Cases *** +TP_MEC_MEC028_SRV_WAI_012_OK + [Documentation] + ... Check that the IUT responds with a list of measurement + ... configurations available from the WLAN Access Information Service + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.7.3.1 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.2.1/WlanInformationApi.yaml#/schemas/MeasurementConfigLinkList + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Retrieve a list of list of measurement configurations + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is MeasurementConfigLinkList + +TP_MEC_MEC028_SRV_WAI_013_OK + [Documentation] + ... Check that the IUT responds with a new measurement configuration + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.7.3.4 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.2.1/WlanInformationApi.yaml#/schemas/MeasurementConfig + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + ${path} Catenate SEPARATOR= jsons/ MeasurementConfig.json + ${body} Get File ${path} + ${json_object}= Evaluate json.loads('''${body}''') json + Create a new measurement configuration ${body} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is MeasurementConfigLinkList + Should Be Equal As Strings ${response['body']['staIdentity']['staId']} ${STA_ID} + Should Be Equal As Strings ${response['body']['measurementId'] ${MEAS_ID} + Should Be Equal As Strings ${json_object['measurementInfo']} ${response['body']['measurementInfo']} + +TP_MEC_MEC028_SRV_WAI_013_BR + [Documentation] + ... Check that the IUT responds with an error when an invalid request is sent + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.7.3.4 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.2.1/WlanInformationApi.yaml#/schemas/MeasurementConfig + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + ${path} Catenate SEPARATOR= jsons/ MeasurementConfigError.json + ${body} Get File ${path} + ${json_object}= Evaluate json.loads('''${body}''') json + Create a new measurement configuration ${body} + Check HTTP Response Status Code Is 400 + +TP_MEC_MEC028_SRV_WAI_014_OK + [Documentation] + ... Check that the IUT responds with the specified measurement configuration + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.8.3.1 + ... "https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.2.1/WlanInformationApi.yaml#/schemas/MeasurementConfigLinkList" + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Check HTTP Response Body Json Schema Is MeasurementConfig + Retrieve a specified measurement configuration ${MEAS_ID} + Check HTTP Response Status Code Is 200 + Should Be Equal As Strings ${response['body']['measurementId'] ${MEAS_ID} + + + +TP_MEC_MEC028_SRV_WAI_014_NF + [Documentation] + ... Check that the IUT responds with an error when an invalid request is sent + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.8.3.1 + ... "https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.2.1/WlanInformationApi.yaml#/schemas/MeasurementConfigLinkList" + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Retrieve a specified measurement configuration ${INVALID_MEASUREMENT_CONFIG_ID} + Check HTTP Response Status Code Is 404 + + +TP_MEC_MEC028_SRV_WAI_015_OK + [Documentation] + ... Check that the IUT responds with the modified measurement configuration + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.8.3.2 + ... "https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.2.1/WlanInformationApi.yaml#/schemas/MeasurementConfigLinkList" + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + ${path} Catenate SEPARATOR= jsons/ MeasurementConfigUpdate.json + ${body} Get File ${path} + ${json_object}= Evaluate json.loads('''${body}''') json + Update a specified measurement configuration ${MEAS_ID} ${body} + Check HTTP Response Status Code Is 200 + Should Be Equal As Strings ${response['body']['staIdentity']['staId']} ${json_object['staIdentity']['staId']} + Should Be Equal As Strings ${response['body']['measurementId'] ${MEAS_ID} + Should Be Equal As Strings ${response['body']['measurementInfo']} ${json_object['measurementInfo']} + + + +TP_MEC_MEC028_SRV_WAI_015_NF + [Documentation] + ... Check that the IUT responds with an error when an invalid request is sent + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.8.3.2 + ... "https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.2.1/WlanInformationApi.yaml#/schemas/MeasurementConfigLinkList" + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Update a specified measurement configuration ${INVALID_MEASUREMENT_CONFIG_ID} MeasurementConfigUpdate.json + Check HTTP Response Status Code Is 404 + + +TP_MEC_MEC028_SRV_WAI_016_OK + [Documentation] + ... Check that the IUT responds with with 204 when requested to delete the specified measurement configuration + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.8.3.5 + ... "https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.2.1/WlanInformationApi.yaml#/schemas/MeasurementConfigLinkList" + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Delete a specified measurement configuration ${MEAS_ID} + Check HTTP Response Status Code Is 204 + + +TP_MEC_MEC028_SRV_WAI_016_NF + [Documentation] + ... Check that the IUT responds with an error when an invalid request is sent + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.8.3.5 + ... "https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.2.1/WlanInformationApi.yaml#/schemas/MeasurementConfigLinkList" + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Delete a specified measurement configuration ${INVALID_MEASUREMENT_CONFIG_ID} + Check HTTP Response Status Code Is 204 + + +*** Keywords *** +Retrieve a list of list of measurement configurations + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Authorization":"${TOKEN}"} + GET ${apiRoot}/${apiName}/${apiVersion}/queries/measurement + ${output}= Output response + Set Suite Variable ${response} ${output} + +Create a new measurement configuration + [Arguments] ${body} + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Authorization":"${TOKEN}"} + POST ${apiRoot}/${apiName}/${apiVersion}/queries/measurements ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Retrieve a specified measurement configuration + [Arguments] ${MEAS_CONF_ID} + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Authorization":"${TOKEN}"} + GET ${apiRoot}/${apiName}/${apiVersion}/queries/measurement/${MEAS_CONF_ID} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Update a specified measurement configuration + [Arguments] ${MEAS_CONF_ID} ${content} + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Authorization":"${TOKEN}"} + GET ${apiRoot}/${apiName}/${apiVersion}/queries/measurement/${MEAS_CONF_ID} ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + + + +Delete a specified measurement configuration + [Arguments] ${MEAS_CONF_ID} + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Authorization":"${TOKEN}"} + GET ${apiRoot}/${apiName}/${apiVersion}/queries/measurement/${MEAS_CONF_ID} + ${output}= Output response + Set Suite Variable ${response} ${output} + diff --git a/MEC028/WAI/MEAS/environment/variables.txt b/MEC028/WAI/MEAS/environment/variables.txt new file mode 100644 index 0000000000000000000000000000000000000000..bb9bd9dd503e35ce794bb8f8e3f39e7f10690e1d --- /dev/null +++ b/MEC028/WAI/MEAS/environment/variables.txt @@ -0,0 +1,14 @@ +*** Variables *** +${apiRoot} +${apiName} wai +${apiVersion} v2 + +${MEC-APP_SCHEMA} http +${MEC-APP_HOST} 127.0.0.1 +${MEC-APP_PORT} 8082 + +${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l + +${STA_ID} 123 +${MEAS_ID} 456 +${INVALID_MEASUREMENT_CONFIG_ID} 999 \ No newline at end of file diff --git a/MEC028/WAI/MEAS/jsons/MeasurementConfig.json b/MEC028/WAI/MEAS/jsons/MeasurementConfig.json new file mode 100644 index 0000000000000000000000000000000000000000..deb6857866480a2595a843d4f02d4ff012d4e0d6 --- /dev/null +++ b/MEC028/WAI/MEAS/jsons/MeasurementConfig.json @@ -0,0 +1,16 @@ +{ + "staId": [ + { + "macId": "123" + } + ], + "measurementId": "123", + "measurementInfo": { + "measurementDuration": 10 + }, + "_links": { + "self": { + "href": "/link/" + } + } +} \ No newline at end of file diff --git a/MEC028/WAI/MEAS/jsons/MeasurementConfigError.json b/MEC028/WAI/MEAS/jsons/MeasurementConfigError.json new file mode 100644 index 0000000000000000000000000000000000000000..a2e38f2087768821fda81296927b16e971455c6d --- /dev/null +++ b/MEC028/WAI/MEAS/jsons/MeasurementConfigError.json @@ -0,0 +1,16 @@ +{ + "StaIdentities": [ + { + "macId": "123" + } + ], + "measurementId": "123", + "measurementInfo": { + "measurementDuration": 10 + }, + "_links": { + "self": { + "href": "/link/" + } + } +} \ No newline at end of file diff --git a/MEC028/WAI/MEAS/jsons/MeasurementConfigUpdate.json b/MEC028/WAI/MEAS/jsons/MeasurementConfigUpdate.json new file mode 100644 index 0000000000000000000000000000000000000000..b758cf4353c89e140b37f8533d9c4e9326d53a3f --- /dev/null +++ b/MEC028/WAI/MEAS/jsons/MeasurementConfigUpdate.json @@ -0,0 +1,16 @@ +{ + "staId": [ + { + "macId": "123" + } + ], + "measurementId": "123", + "measurementInfo": { + "measurementDuration": 50 + }, + "_links": { + "self": { + "href": "/link/" + } + } +} \ No newline at end of file diff --git a/MEC028/WAI/MEAS/schemas/MeasurementConfig.schema.json b/MEC028/WAI/MEAS/schemas/MeasurementConfig.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..d393606cf81498b58422515178c3ab48c4525b7c --- /dev/null +++ b/MEC028/WAI/MEAS/schemas/MeasurementConfig.schema.json @@ -0,0 +1,329 @@ +{ + "properties": { + "_links": { + "properties": { + "self": { + "properties": { + "href": { + "description": "URI referring to a resource", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "href" + ], + "type": "object", + "x-etsi-ref": "6.5.23" + } + }, + "required": [ + "self" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1" + }, + "staId": { + "minItems": 1, + "type": "array", + "items": { + "properties": { + "aid": { + "description": "Number which identifies a particular association between a station and an Access Point ", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" + }, + "ipAddress": { + "description": "IPv4 or IPv6 address allocated for the station.", + "items": { + "type": "string" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "String" + }, + "macId": { + "description": "Unique identifier assigned to station (as network interface controller) for communications at the data link layer of a network segment.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "ssid": { + "description": "Service Set Identifier to identify logical networks.", + "items": { + "type": "string" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "macId" + ], + "type": "object", + "x-etsi-ref": "6.5.11" + } + }, + "measurementId": { + "type": "string" + }, + "measurementInfo": { + "properties": { + "measurementDuration": { + "type": "integer", + "format": "unit16" + }, + "randomInterval": { + "type": "integer", + "format": "unit16" + }, + "channelLoadConf": { + "properties": { + "apId": { + "properties": { + "ipAddress": { + "description": "IPv4 or IPv6 address allocated for the Access Point.", + "items": { + "type": "string" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "String" + }, + "macId": { + "description": "Unique Identifier assigned to an Access Point (as network interface controller) for communications at the data link layer of a network segment.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "ssid": { + "description": "Service Set Identifier to identify logical networks including Basic Service Set and Extended Service Set.", + "items": { + "type": "string" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "macId" + ], + "type": "object", + "x-etsi-ref": "6.5.3" + }, + "cChannelId": { + "description": "Channel number which load is reported", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + }, + "channelLoad": { + "description": "Channel load as per IEEE 802.11-2012 [8], section 11.11.9.3", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + } + }, + "required": [ + "apId", + "cChannelId", + "channelLoad" + ], + "type": "object", + "x-etsi-ref": "6.5.24" + }, + "beaconRequestConf": { + "properties": { + "bssId": { + "description": "The BSSID field indicates the BSSID of the BSS(s) for which a beacon report is requested. When requesting beacon reports for all BSSs on the channel, the BSSID field contains the wildcard BSSID.", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "String" + }, + "channelId": { + "description": "Channel number to scan. A Channel Number of 0 indicates a request to make iterative measurements for all supported channels in the Operating Class where the measurement is permitted on the channel and the channel is valid for the current regulatory domain. A Channel Number of 255 indicates a request to make iterative measurements for all supported channels in the current Operating Class listed in the latest AP Channel Report received from the serving AP.", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + }, + "measurementMode": { + "description": "0 for passive.\n1 for active.\n2 for beacon table.", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + }, + "reportingCondition": { + "description": "As in table T9-89 of IEEE 802.11-2012 [8].", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + }, + "ssId": { + "description": "(Optional) The SSID subelement indicates the ESS(s) or IBSS(s) for which a beacon report is requested.", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "String" + }, + "staId": { + "properties": { + "aid": { + "description": "Number which identifies a particular association between a station and an Access Point ", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" + }, + "ipAddress": { + "description": "IPv4 or IPv6 address allocated for the station.", + "items": { + "type": "string" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "String" + }, + "macId": { + "description": "Unique identifier assigned to station (as network interface controller) for communications at the data link layer of a network segment.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "ssid": { + "description": "Service Set Identifier to identify logical networks.", + "items": { + "type": "string" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "macId" + ], + "type": "object", + "x-etsi-ref": "6.5.11" + } + }, + "required": [ + "staId", + "channelId", + "measurementMode", + "bssId", + "ssId", + "reportingCondition" + ], + "type": "object", + "x-etsi-ref": "6.5.25" + }, + "staStatisticsConf": { + "properties": { + "groupIdentity": { + "description": "As per table T 9-114 of IEEE 802.11-2012 [8].", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + }, + "staId": { + "properties": { + "aid": { + "description": "Number which identifies a particular association between a station and an Access Point ", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" + }, + "ipAddress": { + "description": "IPv4 or IPv6 address allocated for the station.", + "items": { + "type": "string" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "String" + }, + "macId": { + "description": "Unique identifier assigned to station (as network interface controller) for communications at the data link layer of a network segment.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "ssid": { + "description": "Service Set Identifier to identify logical networks.", + "items": { + "type": "string" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "macId" + ], + "type": "object", + "x-etsi-ref": "6.5.11" + }, + "triggerCondition": { + "type": "integer" + }, + "triggerTimeout": { + "description": "The Trigger Timeout field contains a value in units of 100 TUs during which a measuring STA does not generate further triggered STA Statistics Reports after a trigger condition has been met.", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + }, + "triggeredReport": { + "type": "boolean" + } + }, + "required": [ + "staId", + "groupIdentity", + "triggeredReport", + "triggerTimeout", + "triggerCondition" + ], + "type": "object", + "x-etsi-ref": "6.5.26" + }, + "neighborReportConf": { + "properties": { + "ssid": { + "type": "string" + }, + "bssid": { + "type": "string" + } + } + } + }, + "type": "object", + "x-etsi-ref": "6.2.3" + } + }, + "required": [ + "staId", + "measurementId", + "measurementInfo" + ], + "type": "object" + } \ No newline at end of file diff --git a/MEC028/WAI/MEAS/schemas/MeasurementConfigLinkList.schema.json b/MEC028/WAI/MEAS/schemas/MeasurementConfigLinkList.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..976b69238c52758e6bcf59b4c7b073d9d10507d8 --- /dev/null +++ b/MEC028/WAI/MEAS/schemas/MeasurementConfigLinkList.schema.json @@ -0,0 +1,46 @@ +{ + "required": [ + "_links" + ], + "properties": { + "_links": { + "required": [ + "self" + ], + "properties": { + "self": { + "properties": { + "href": { + "description": "URI referring to a resource", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "href" + ], + "type": "object", + "x-etsi-ref": "6.5.23" + } + } + }, + "measurementConfig": { + "type": "array", + "items": { + "required": [ + "href", + "measurementId" + ], + "properties": { + "href": { + "type": "string" + }, + "measurementId": { + "type": "string" + } + } + } + } + } +} \ No newline at end of file diff --git a/MEC028/WAI/STA_INFO/WaiStaInfo.robot b/MEC028/WAI/STA_INFO/WaiStaInfo.robot index 3c58c8defbb3de3d988f72864d1b433ef7aaf22c..7cc7b4e0789b8f2069e8d90227eb030d2959aa30 100644 --- a/MEC028/WAI/STA_INFO/WaiStaInfo.robot +++ b/MEC028/WAI/STA_INFO/WaiStaInfo.robot @@ -14,8 +14,8 @@ Library REST ${MEC-APP_SCHEMA}://${MEC-APP_HOST}:${MEC-APP_PORT} ssl_v TP_MEC_MEC028_SRV_WAI_003_OK [Documentation] ... Check that the IUT responds with the list of Station Point - ... Reference "ETSI GS MEC 028 2.1.1, clause 7.4.3.1 - ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schema/StaInfo + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.4.3.1 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schema/StaInfo #Outdated Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 Retrieve the station information @@ -31,8 +31,8 @@ TP_MEC_MEC028_SRV_WAI_003_OK TP_MEC_MEC028_SRV_WAI_004_OK [Documentation] ... Check that the IUT responds with the list of Station Point filtered by the macId provided as query parameter - ... Reference "ETSI GS MEC 028 2.1.1, clause 7.4.3.1 - ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schema/StaInfo + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.4.3.1 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schema/StaInfo #Outdated Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 Retrieve the station information using filters ${filter} @@ -49,8 +49,8 @@ TP_MEC_MEC028_SRV_WAI_004_OK TP_MEC_MEC028_SRV_WAI_004_BR [Documentation] ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application - ... ETSI GS MEC 028 2.1.1, clause 7.4.3.1 - ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schema/StaInfo + ... ETSI GS MEC 028 2.2.1, clause 7.4.3.1 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schema/StaInfo #Outdated Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 Retrieve the station information using filters ${bad_filter} diff --git a/MEC028/WAI/STA_INFO/environment/variables.txt b/MEC028/WAI/STA_INFO/environment/variables.txt index c64df1ba8846d3b81f87df694691c034dc5210c1..79e2b50d7252eb9ea39b85c71ac9375dd5d0288b 100644 --- a/MEC028/WAI/STA_INFO/environment/variables.txt +++ b/MEC028/WAI/STA_INFO/environment/variables.txt @@ -1,7 +1,7 @@ *** Variables *** ${apiRoot} ${apiName} wai -${apiVersion} v1 +${apiVersion} v2 ${MEC-APP_SCHEMA} http ${MEC-APP_HOST} 127.0.0.1 diff --git a/MEC028/WAI/SUB/WaiSubscription.robot b/MEC028/WAI/SUB/WaiSubscription.robot index cca06e3157b367ae5ffa9af9ec59f9a18ebdce02..1db1a1d1c56e2c6aabf48467a8871abb3d8cacb9 100644 --- a/MEC028/WAI/SUB/WaiSubscription.robot +++ b/MEC028/WAI/SUB/WaiSubscription.robot @@ -13,8 +13,8 @@ Library REST ${MEC-APP_SCHEMA}://${MEC-APP_HOST}:${MEC-APP_PORT} ssl_v TP_MEC_MEC028_SRV_WAI_005_OK [Documentation] ... Check that the IUT responds with the requested list of subscription - ... Reference "ETSI GS MEC 028 2.1.1, clause 7.5.3.1 - ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.5.3.1 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription #Outdated Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 @@ -29,8 +29,8 @@ TP_MEC_MEC028_SRV_WAI_005_OK TP_MEC_MEC028_SRV_WAI_006_OK [Documentation] ... Check that the IUT responds with the requested list of subscription - ... Reference "ETSI GS MEC 028 2.1.1, clause 7.5.3.1 - ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.5.3.1 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription #Outdated Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 @@ -42,8 +42,8 @@ TP_MEC_MEC028_SRV_WAI_006_OK TP_MEC_MEC028_SRV_WAI_006_BR [Documentation] ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application - ... Reference "ETSI GS MEC 028 2.1.1, clause 7.5.3.1 - ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.5.3.1 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription #Outdated Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 @@ -53,16 +53,16 @@ TP_MEC_MEC028_SRV_WAI_006_BR TP_MEC_MEC028_SRV_WAI_006_NF [Documentation] ... Check that the IUT responds with an error when a request with not existing parameters is sent - ... Reference "ETSI GS MEC 028 2.1.1, clause 7.5.3.1 - ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.5.3.1 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription #Outdated Retrieve the subscription information using wrong endpoint Check HTTP Response Status Code Is 404 TP_MEC_MEC028_SRV_WAI_007_OK [Documentation] ... Check that the IUT responds with a Notification Subscription - ... Reference "ETSI GS MEC 028 2.1.1, clause 7.5.3.4 - ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.5.3.4 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription #Outdated Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 Send a request for creating a subscription AssocStaSubscription.json @@ -75,8 +75,8 @@ TP_MEC_MEC028_SRV_WAI_007_OK TP_MEC_MEC028_SRV_WAI_007_BR [Documentation] ... Check that the IUT responds with an error when an invalid Subscription request is sent - ... ETSI GS MEC 028 2.1.1, clause 7.5.3.4 - ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription + ... ETSI GS MEC 028 2.2.1, clause 7.5.3.4 + ... https://forge.etsi.org/rep/mec/gs028-wai-api/blob/v2.1.1/WlanInformationApi.yaml#/schemas/AssocStaSubscription #Outdated Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 Send a request for creating a subscription AssocStaSubscription_BR.json @@ -85,7 +85,7 @@ TP_MEC_MEC028_SRV_WAI_007_BR TP_MEC_MEC028_SRV_WAI_007_NF [Documentation] ... Check that the IUT responds with an error when a request with not existing parameters is sent - ... Reference "ETSI GS MEC 028 2.1.1, clause 7.5.3.1 + ... Reference "ETSI GS MEC 028 2.2.1, clause 7.5.3.1 Should Be True ${PIC_MEC_SYSTEM} == 1 Should Be True ${PIC_SERVICES} == 1 Send a request for creating a subscription using wrong endpoint AssocStaSubscription.json diff --git a/MEC028/WAI/SUB/environment/variables.txt b/MEC028/WAI/SUB/environment/variables.txt index dfa2d415cafa40cb7a529c53cef423977006867e..0a66f360896900ae0697e4be24a673400c6d1f57 100644 --- a/MEC028/WAI/SUB/environment/variables.txt +++ b/MEC028/WAI/SUB/environment/variables.txt @@ -1,7 +1,7 @@ *** Variables *** ${apiRoot} ${apiName} wai -${apiVersion} v1 +${apiVersion} v2 ${MEC-APP_SCHEMA} http ${MEC-APP_HOST} 127.0.0.1 @@ -14,5 +14,5 @@ ${SUB_TYPE} AssocStaSubscription ${SUB_FILTER} assoc_sta ${INVALID_SUB_FILTER} assocStaSub -${HREF} /wai/v1/subscriptions/1 +${HREF} /wai/v2/subscriptions/1 ${CALLBACK_URI} http://callback.uri/1 \ No newline at end of file