Commit 15e1d8b6 authored by piscione's avatar piscione
Browse files

Update Robot tests of MEC015.

parent 523d9d5f
Pipeline #7007 passed with stage
in 0 seconds
...@@ -21,11 +21,10 @@ TP_MEC_MEC015_SRV_MTS_001_OK ...@@ -21,11 +21,10 @@ TP_MEC_MEC015_SRV_MTS_001_OK
Check HTTP Response Body Json Schema Is MtsCapabilityInfo Check HTTP Response Body Json Schema Is MtsCapabilityInfo
##GET on ${apiRoot}/${apiName}/${apiVersion}/mts_sessions ##GET on ${apiRoot}/${apiName}/${apiVersion}/mts_sessions
TP_MEC_MEC015_SRV_MTS_002_OK TP_MEC_MEC015_SRV_MTS_002_OK
[Documentation] [Documentation]
... Check that the IUT responds with the list of configured Multi-access Traffic Steering when queried by a MEC Application ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application
... ETSI GS MEC 015 V2.1.1, clause 9.5.3.1 ... ETSI GS MEC 015 V2.1.1, clause 9.5.3.1
... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml ... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml
Retrieve MTS session list information Retrieve MTS session list information
...@@ -37,35 +36,17 @@ TP_MEC_MEC015_SRV_MTS_002_OK ...@@ -37,35 +36,17 @@ TP_MEC_MEC015_SRV_MTS_002_OK
END END
Should Be True ${passed} Should Be True ${passed}
TP_MEC_MEC015_SRV_MTS_002_BR
TP_MEC_MEC015_SRV_MTS_003_OK
[Documentation] [Documentation]
... Check that the IUT responds with a configured Multi-access Traffic Steering when queried by a MEC Application ... Check that the IUT responds with the list of configured Multi-access Traffic Steering when queried by a MEC Application
... ETSI GS MEC 015 V2.1.1, clause 9.5.3.1
... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml
Retrieve MTS session list information using filter ${CORRECT_FILTER} ${APP_INSTANCE_ID}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is MtsSessionInfo
FOR ${mstSessionInfo} IN @{response['body']}
${passed} Run Keyword And Return Status Should Be Equal As Strings ${mstSessionInfo['appInsId']} ${APP_INSTANCE_ID}
Exit For Loop If ${passed}
END
Should Be True ${passed}
TP_MEC_MEC015_SRV_MTS_003_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 015 V2.1.1, clause 9.5.3.1 ... ETSI GS MEC 015 V2.1.1, clause 9.5.3.1
... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml ... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml
Retrieve MTS session list information using filter ${BAD_FILTER} ${APP_INSTANCE_ID} Retrieve MTS session list information using filter ${BAD_FILTER} ${APP_INSTANCE_ID}
Check HTTP Response Status Code Is 400 Check HTTP Response Status Code Is 400
TP_MEC_MEC015_SRV_MTS_003_NF TP_MEC_MEC015_SRV_MTS_002_NF
[Documentation] [Documentation]
... Check that the IUT responds with an error when a request with an unknown resource URI is sent by a MEC Application ... Check that the IUT responds with the list of configured Multi-access Traffic Steering when queried by a MEC Application
... ETSI GS MEC 015 V2.1.1, clause 9.5.3.1 ... ETSI GS MEC 015 V2.1.1, clause 9.5.3.1
... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml ... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml
Retrieve MTS session list information using filter ${CORRECT_FILTER} ${NOT_EXISTING_APP_INSTANCE_ID} Retrieve MTS session list information using filter ${CORRECT_FILTER} ${NOT_EXISTING_APP_INSTANCE_ID}
...@@ -73,34 +54,152 @@ TP_MEC_MEC015_SRV_MTS_003_NF ...@@ -73,34 +54,152 @@ TP_MEC_MEC015_SRV_MTS_003_NF
##POST on ${apiRoot}/${apiName}/${apiVersion}/mts_sessions ##POST on ${apiRoot}/${apiName}/${apiVersion}/mts_sessions
TP_MEC_MEC015_SRV_MTS_004_OK_01 TP_MEC_MEC015_SRV_MTS_003_OK_01
[Documentation]
... Check that the IUT creates a MTS session when queried by a MEC Application
... ETSI GS MEC 015 V2.1.1, clause 9.5.3.2
... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml
${path} Catenate SEPARATOR= jsons/ MtsSessionInfoApplicationSpecific.json
${body} Get File ${path}
${json_object}= Evaluate json.loads('''${body}''') json
Register MTS session ${body}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is MtsSessionInfo
Should Be Equal As Strings ${response['body']['appInsId']} ${json_object['appInsId']}
Should Be Equal As Strings ${response['body']['requestType']} ${json_object['requestType']}
Should Be Equal As Strings ${response['body']['qosD']} ${json_object['qosD']}
Should Be Equal As Strings ${response['body']['mtsMode']} ${json_object['mtsMode']}
Should Be Equal As Strings ${response['body']['trafficDirection']} ${json_object['trafficDirection']}
TP_MEC_MEC015_SRV_MTS_003_OK_02
[Documentation] [Documentation]
... Check that the IUT responds with a registration and initialisation approval for the requested MTS session requirements sent by a MEC Application ... Check that the IUT creates a MTS session when queried by a MEC Application
... ETSI GS MEC 015 V2.1.1, clause 9.5.3.2 ... ETSI GS MEC 015 V2.1.1, clause 9.5.3.2
... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml ... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml
Register MTS session MtsSessionInfoApplicationSpecific.json ${path} Catenate SEPARATOR= jsons/ MtsSessionInfoSessionSpecific.json
${body} Get File ${path}
${json_object}= Evaluate json.loads('''${body}''') json
Register MTS session ${body}
Check HTTP Response Status Code Is 200 Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is MtsSessionInfo Check HTTP Response Body Json Schema Is MtsSessionInfo
Should Be Equal As Strings ${response['body']['appInsId']} ${APP_INSTANCE_ID} Should Be Equal As Strings ${response['body']['appInsId']} ${json_object['appInsId']}
Should Be Equal As Strings ${response['body']['requestType']} ${json_object['requestType']}
Should Be Equal As Strings ${response['body']['flowFilter']} ${json_object['flowFilter']}
Should Be Equal As Strings ${response['body']['qosD']} ${json_object['qosD']}
Should Be Equal As Strings ${response['body']['mtsMode']} ${json_object['mtsMode']}
Should Be Equal As Strings ${response['body']['trafficDirection']} ${json_object['trafficDirection']}
TP_MEC_MEC015_SRV_MTS_004_OK_02
TP_MEC_MEC015_SRV_MTS_003_BR
[Documentation] [Documentation]
... Check that the IUT responds with a registration and initialisation approval for the requested MTS session requirements sent by a MEC Application ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application
... ETSI GS MEC 015 V2.1.1, clause 9.5.3.2 ... ETSI GS MEC 015 V2.1.1, clause 9.5.3.2
... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml ... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml
Register MTS session MtsSessionInfoSessionSpecific.json ${path} Catenate SEPARATOR= jsons/ MtsSessionInfoApplicationSpecific_BR.json
${body} Get File ${path}
${json_object}= Evaluate json.loads('''${body}''') json
Register MTS session ${body}
Check HTTP Response Status Code Is 400
Check HTTP Response Body Json Schema Is MtsSessionInfo
Should Be Equal As Strings ${response['body']['appInsId']} ${json_object['appInsId']}
Should Be Equal As Strings ${response['body']['requestType']} ${json_object['requestType']}
Should Be Equal As Strings ${response['body']['qosD']} ${json_object['qosD']}
Should Be Equal As Strings ${response['body']['mtsMode']} ${json_object['mtsMode']}
Should Be Equal As Strings ${response['body']['trafficDirection']} ${json_object['trafficDirection']}
##GET on ${apiRoot}/${apiName}/${apiVersion}/mts_sessions/{sessionId}
TP_MEC_MEC015_SRV_MTS_004_OK
[Documentation]
... Check that the IUT responds with a configured Multi-access Traffic Steering session when queried by a MEC Application
... ETSI GS MEC 015 V2.1.1, clause 9.4.3.1
... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml
Retrieve single MTS session ${SESSION_ID}
Check HTTP Response Status Code Is 200 Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is MtsSessionInfo Check HTTP Response Body Json Schema Is MtsSessionInfo
Should Be Equal As Strings ${response['body']['appInsId']} ${APP_INSTANCE_ID} Should Be Equal As Strings ${response['body']['appInsId']} ${APP_INSTANCE_ID}
Should Be Equal As Strings ${response['body']['requestType']} ${REQUEST_TYPE_SESSION}
Should Be Equal As Strings ${response['body']['mtsMode']} ${MTS_LOW_MODE_COST}
Should Be Equal As Strings ${response['body']['trafficDirection']} ${TRAFFIC_DIRECTION_DL}
TP_MEC_MEC015_SRV_MTS_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 015 V2.1.1, clause 9.4.3.1
... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml
Retrieve single MTS session ${WRONG_SESSION_ID}
Check HTTP Response Status Code Is 400
TP_MEC_MEC015_SRV_MTS_004_NF TP_MEC_MEC015_SRV_MTS_004_NF
[Documentation] [Documentation]
... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application
... ETSI GS MEC 015 V2.1.1, clause 9.5.3.2 ... ETSI GS MEC 015 V2.1.1, clause 9.4.3.1
... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml ... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml
Register MTS session wrong URI MtsSessionInfoSessionSpecific.json Retrieve single MTS session ${NOT_EXISTING_SESSION_ID}
Check HTTP Response Status Code Is 404 Check HTTP Response Status Code Is 404
##PUT on ${apiRoot}/${apiName}/${apiVersion}/mts_sessions/{sessionId}
TP_MEC_MEC015_SRV_MTS_005_OK
[Documentation]
... Check that the IUT updates the information about an individual MTS session when commanded by a MEC Application
... ETSI GS MEC 015 V2.1.1, clause 9.4.3.2
... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml
${path} Catenate SEPARATOR= jsons/ MtsSessionInfoApplicationSpecificUpdate.json
${body} Get File ${path}
${json_object}= Evaluate json.loads('''${body}''') json
Update requested requirements on the MTS Service ${SESSION_ID} ${body}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is MtsSessionInfo
Should Be Equal As Strings ${response['body']['appInsId']} ${json_object['appInsId']}
Should Be Equal As Strings ${response['body']['requestType']} ${json_object['requestType']}
Should Be Equal As Strings ${response['body']['qosD']} ${json_object['qosD']}
Should Be Equal As Strings ${response['body']['mtsMode']} ${json_object['mtsMode']}
Should Be Equal As Strings ${response['body']['trafficDirection']} ${json_object['trafficDirection']}
TP_MEC_MEC015_SRV_MTS_005_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 015 V2.1.1, clause 9.4.3.2
... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml
${path} Catenate SEPARATOR= jsons/ MtsSessionInfoApplicationSpecificUpdate_BR.json
${body} Get File ${path}
${json_object}= Evaluate json.loads('''${body}''') json
Update requested requirements on the MTS Service ${SESSION_ID} ${body}
Check HTTP Response Status Code Is 400
TP_MEC_MEC015_SRV_MTS_005_NF
[Documentation]
... Check that the IUT responds with an error when a request with an unknown resource URI is sent by a MEC Application
... ETSI GS MEC 015 V2.1.1, clause 9.4.3.2
... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml
${path} Catenate SEPARATOR= jsons/ MtsSessionInfoApplicationSpecificUpdate.json
${body} Get File ${path}
${json_object}= Evaluate json.loads('''${body}''') json
Update requested requirements on the MTS Service ${NOT_EXISTING_SESSION_ID} ${body}
Check HTTP Response Status Code Is 404
##DELETE on ${apiRoot}/${apiName}/${apiVersion}/mts_sessions/{sessionId}
TP_MEC_MEC015_SRV_MTS_006_OK
[Documentation]
... Check that the IUT deregisters a MTS session when commanded by a MEC Application
... ETSI GS MEC 015 V2.1.1, clause 9.4.3.3
... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml
Unregister from the MTS Service ${SESSION_ID}
Check HTTP Response Status Code Is 204
##TP_MEC_MEC015_SRV_MTS_006_BR missing.
#See issues https://forge.etsi.org/rep/mec/gs032p2-test-purposes/issues/11 for further details.
TP_MEC_MEC015_SRV_MTS_006_NF
[Documentation]
... Check that the IUT deregisters a MTS session when commanded by a MEC Application
... ETSI GS MEC 015 V2.1.1, clause 9.4.3.3
... https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml
Unregister from the MTS Service ${NOT_EXISTING_SESSION_ID}
Check HTTP Response Status Code Is 404
*** Keywords *** *** Keywords ***
Retrieve MTS capability information Retrieve MTS capability information
Should Be True ${PIC_MEC_PLAT} == 1 Should Be True ${PIC_MEC_PLAT} == 1
...@@ -120,7 +219,7 @@ Retrieve MTS session list information ...@@ -120,7 +219,7 @@ Retrieve MTS session list information
Set Headers {"Content-Type":"*/*"} Set Headers {"Content-Type":"*/*"}
Set Headers {"Authorization":"${TOKEN}"} Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Length":"0"} Set Headers {"Content-Length":"0"}
Get ${apiRoot}/${apiName}/${apiVersion}/mts_session Get ${apiRoot}/${apiName}/${apiVersion}/mts_sessions
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Suite Variable ${response} ${output}
...@@ -133,21 +232,19 @@ Retrieve MTS session list information using filter ...@@ -133,21 +232,19 @@ Retrieve MTS session list information using filter
Set Headers {"Content-Type":"*/*"} Set Headers {"Content-Type":"*/*"}
Set Headers {"Authorization":"${TOKEN}"} Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Length":"0"} Set Headers {"Content-Length":"0"}
Get ${apiRoot}/${apiName}/${apiVersion}/mts_session?${filter}=${value} Get ${apiRoot}/${apiName}/${apiVersion}/mts_sessions?${filter}=${value}
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Suite Variable ${response} ${output}
Register MTS session Register MTS session
[Arguments] ${content} [Arguments] ${body}
Should Be True ${PIC_MEC_PLAT} == 1 Should Be True ${PIC_MEC_PLAT} == 1
Should Be True ${PIC_SERVICES} == 1 Should Be True ${PIC_SERVICES} == 1
Set Headers {"Accept":"application/json"} Set Headers {"Accept":"application/json"}
Set Headers {"Content-Type":"application/json"} Set Headers {"Content-Type":"application/json"}
Set Headers {"Authorization":"${TOKEN}"} Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Length":"0"} Set Headers {"Content-Length":"0"}
${path} Catenate SEPARATOR= jsons/ ${content} POST ${apiRoot}/${apiName}/${apiVersion}/mts_sessions ${body}
${body} Get File ${path}
POST ${apiRoot}/${apiName}/${apiVersion}/mts_session ${body}
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Suite Variable ${response} ${output}
...@@ -162,6 +259,40 @@ Register MTS session wrong URI ...@@ -162,6 +259,40 @@ Register MTS session wrong URI
Set Headers {"Content-Length":"0"} Set Headers {"Content-Length":"0"}
${path} Catenate SEPARATOR= jsons/ ${content} ${path} Catenate SEPARATOR= jsons/ ${content}
${body} Get File ${path} ${body} Get File ${path}
POST ${apiRoot}/${apiName}/v0/mts_session ${body} POST ${apiRoot}/${apiName}/v0/mts_sessions ${body}
${output}= Output response
Set Suite Variable ${response} ${output}
Retrieve single MTS session
[Arguments] ${sessionId}
Should Be True ${PIC_MEC_PLAT} == 1
Should Be True ${PIC_SERVICES} == 1
Set Headers {"Accept":"application/json"}
Set Headers {"Content-Type":"*/*"}
Set Headers {"Authorization":"${TOKEN}"}
GET ${apiRoot}/${apiName}/${apiVersion}/mts_sessions/${sessionId}
${output}= Output response
Set Suite Variable ${response} ${output}
Update requested requirements on the MTS Service
[Arguments] ${sessionId} ${body}
Should Be True ${PIC_MEC_PLAT} == 1
Should Be True ${PIC_SERVICES} == 1
Set Headers {"Accept":"application/json"}
Set Headers {"Content-Type":"*/*"}
Set Headers {"Authorization":"${TOKEN}"}
PUT ${apiRoot}/${apiName}/${apiVersion}/mts_sessions/${sessionId} ${body}
${output}= Output response
Set Suite Variable ${response} ${output}
Unregister from the MTS Service
[Arguments] ${sessionId}
Should Be True ${PIC_MEC_PLAT} == 1
Should Be True ${PIC_SERVICES} == 1
Set Headers {"Accept":"application/json"}
Set Headers {"Content-Type":"*/*"}
Set Headers {"Authorization":"${TOKEN}"}
LOG ${sessionId}
DELETE ${apiRoot}/${apiName}/${apiVersion}/mts_sessions/${sessionId}
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Suite Variable ${response} ${output}
\ No newline at end of file
...@@ -13,4 +13,12 @@ ${apiVersion} v1 ...@@ -13,4 +13,12 @@ ${apiVersion} v1
${APP_INSTANCE_ID} appInstId01 ${APP_INSTANCE_ID} appInstId01
${NOT_EXISTING_APP_INSTANCE_ID} NOT_EXISTING_APP_INS_ID ${NOT_EXISTING_APP_INSTANCE_ID} NOT_EXISTING_APP_INS_ID
${CORRECT_FILTER} app_instance_id ${CORRECT_FILTER} app_instance_id
${BAD_FILTER} app_id ${BAD_FILTER} appInsId
\ No newline at end of file
${SESSION_ID} 1
${WRONG_SESSION_ID} WRONG_SESSION_ID
${NOT_EXISTING_SESSION_ID} NOT_EXISTING_SESSION_ID
${REQUEST_TYPE_SESSION} 0
${MTS_LOW_MODE_COST} 0
${TRAFFIC_DIRECTION_DL} 00
...@@ -6,15 +6,6 @@ ...@@ -6,15 +6,6 @@
}, },
"mtsMode": 0, "mtsMode": 0,
"trafficDirection": "00", "trafficDirection": "00",
"flowFilter": [{
"dstPort": [8081],
"protocol": 41,
"sourcePort": [8081],
"dstIp": "10.10.0.10",
"dscp": 40,
"sourceIp": "10.10.0.30"
}
],
"qosD":{ "qosD":{
"minTpt":10 "minTpt":10
} }
......
{
"appInsId": "myAppInstId",
"requestType": 0,
"qosD": {
"minTpt": 30
},
"mtsMode": 0,
"trafficDirection": "00",
"qosD":{
"minTpt":10
}
}
\ No newline at end of file
{
"appInsId": "myAppInstId",
"requestType": 0,
"qosD": {
"minTpt": 30
},
"mtsMode": 0,
"trafficDirection": "00",
"flowFilter": [{
"dstPort": [8081],
"protocol": 41,
"sourcePort": [8081],
"dstIp": "10.10.0.10",
"dscp": 40,
"sourceIp": "10.10.0.30"
}
],
"qosD":{
"minTpt":10
}
}
\ No newline at end of file
{
"appInsId": "myAppInstId",
"requestType": 0,
"qosD": {
"minTpt": 30
},
"mtsMode": 0,
"trafficDirection": "00",
"flowFilter": [{
"dstPort": [8081],
"protocol": 41,
"sourcePort": [8081],
"dstIp": "10.10.0.10",
"dscp": 40,
"sourceIp": "10.10.0.30"
}
],
"qosD":{
"minTpt":10
}
}
\ No newline at end of file
''[Documentation] robot --outputdir ../../outputs ./PlatBandwidthManager.robot
... Test Suite to validate Bandwidth Management API (BWA) operations.
*** Settings ***
Resource environment/variables.txt
Resource ../../pics.txt
Resource ../../GenericKeywords.robot
Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false
Library OperatingSystem
*** Test Cases ***
Request the list of configured bandwidth allocations
[Documentation] TC_MEC_SRV_BWA_001_OK
... Check that the IUT responds with the list of configured bandwidth allocations when queried by a MEC Application
... Reference ETSI GS MEC 015 V1.1.1, clause 8.4.3.1
... Reference https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.json
Retrieve the list of configured bandwidth allocations ${APP_INSTANCE_ID}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is BwInfo
Check AppInstanceId ${APP_INSTANCE_ID}
Request the list of configured bandwidth allocations with wrong app instance id
[Documentation] TC_MEC_SRV_BWA_001_BR
... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application
... Reference ETSI GS MEC 015 V1.1.1, clause 8.4.3.1
... Reference https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.json
Retrieve the list of configured bandwidth allocations ${NON_EXISTENT_APP_INSTANCE_ID}
Check HTTP Response Status Code Is 400
#Check ProblemDetails 400
Request to register Bandwidth Management Services
[Documentation] TC_MEC_SRV_BWA_002_OK
... Check that the IUT responds with a registration and initialisation approval for the requested bandwidth requirements sent by a MEC Application
... Reference ETSI GS MEC 015 V1.1.1, clause 8.4.3.4
... Reference https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.json
Registration for bandwidth services ${APP_INSTANCE_ID} BwInfo
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is BwInfo
Check AppInstanceId ${APP_INSTANCE_ID}
Request to register Bandwidth Management Services using wrong parameters
[Documentation] TC_MEC_SRV_BWA_002_BR
... Check that the IUT responds with a registration and initialisation approval for the requested bandwidth requirements sent by a MEC Application
... Reference ETSI GS MEC 015 V1.1.1, clause 8.4.3.4
... Reference https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.json
Registration for bandwidth services ${APP_INSTANCE_ID} BwInfoError
Check HTTP Response Status Code Is 400
Request for a bandwidth allocation
[Documentation] TC_MEC_SRV_BWA_003_OK
... Check that the IUT responds with the configured bandwidth allocation when queried by a MEC Application
... Reference ETSI GS MEC 015 V1.1.1, clause 8.3.3.1
... Reference https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.json
Get a bandwidth allocation ${ALLOCATION_ID}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is BwInfo
Check AppInstanceId ${APP_INSTANCE_ID}
Request for a bandwidth allocation using wrong parameters
[Documentation] TC_MEC_SRV_BWA_003_NF
... Check that the IUT responds with an error when a request for an unknown URI is sent by a MEC Application
... Reference ETSI GS MEC 015 V1.1.1, clause 8.3.3.1
... Reference https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.json
Get a bandwidth allocation ${NON_EXISTENT_ALLOCATION_ID}
Check HTTP Response Status Code Is 404
Updates the requested bandwidth requirements
[Documentation] TC_MEC_SRV_BWA_004_OK
... Check that the IUT updates the requested bandwidth requirements when commanded by a MEC Application
... Reference ETSI GS MEC 015 V1.1.1, clause 8.3.3.2
... Reference https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.json
# Preamble
Register Bandwidth Management Service BwInfo
# Test body
Update a bandwidth allocation ${ALLOCATION_ID} BwInfoUpdate
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is BwInfo
Check AppInstanceId ${APP_INSTANCE_ID}
# Postamble
Unregister Bandwidth Management Service ${ALLOCATION_ID}
Updates the requested bandwidth requirements using wrong allocationDirection
[Documentation] TC_MEC_SRV_BWA_004_BR
... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application
... Reference ETSI GS MEC 015 V1.1.1, clause 8.3.3.2
... Reference https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.json
# Preamble
Register Bandwidth Management Service BwInfo
# Test body
Update a bandwidth allocation ${ALLOCATION_ID} BwInfoError
Check HTTP Response Status Code Is 400
# Postamble
Unregister Bandwidth Management Service ${ALLOCATION_ID}
Updates the requested bandwidth requirements using wrong allocationId
[Documentation] TC_MEC_SRV_BWA_004_NF
... Check that the IUT responds with an error when a request for an unknown URI is sent by a MEC Application
... Reference ETSI GS MEC 015 V1.1.1, clause 8.3.3.2
... Reference https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.json
Update a bandwidth allocation ${NON_EXISTENT_ALLOCATION_ID} BwInfoUpdate
Check HTTP Response Status Code Is 404
Check ProblemDetails 404
Updates the requested bandwidth requirements using wrong parameters
[Documentation] TC_MEC_SRV_BWA_004_PF
... Check that the IUT responds with an error when a request sent by a MEC Application doesn't comply with a required condition
... Reference ETSI GS MEC 015 V1.1.1, clause 8.3.3.2
... Reference https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.json
# TODO Application doesn't comply with a required condition???
# Preamble
Register Bandwidth Management Service BwInfo
# Test body
Update a bandwidth allocation with invalid ETAG ${ALLOCATION_ID} BwInfoUpdate
Check HTTP Response Status Code Is 412
# Postamble
Unregister Bandwidth Management Service ${ALLOCATION_ID}
Request for deltas changes
[Documentation] TC_MEC_SRV_BWA_005_OK
... Check that the IUT when provided with just the changes (deltas) updates the requested bandwidth requirements when commanded by a MEC Application
... Reference ETSI GS MEC 015 V1.1.1, clause 8.3.3.3
... Reference https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.json
# Preamble
Register Bandwidth Management Service BwInfo
# Test body
Request a deltas changes ${ALLOCATION_ID} BwInfoUpdateDelta
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is bwInfo
Check AppInstanceId ${APP_INSTANCE_ID}
# Postamble
Unregister Bandwidth Management Service ${ALLOCATION_ID}
Request for deltas changes using invalid requestType