Skip to content
Snippets Groups Projects
Commit 2dd0cf99 authored by piscione's avatar piscione
Browse files

Implemented some of the TCs with filters for MEC040 specification

parent cedb3c25
No related branches found
No related tags found
1 merge request!3Merge of TT027 branch into master
Y''[Documentation] robot --outputdir ../../../outputs ./FederationEnablement.robot
... Test Suite to validate the Federation Enablement API (FED) operations.
*** Settings ***
Resource environment/variables.txt
Resource ../../pics.txt
Resource ../../GenericKeywords.robot
Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false
Library OperatingSystem
*** Test Cases ***
TP_MEC_MEC040_SRV_MEF_001_OK
[Documentation]
... Check that the IUT responds with a list of all available systemInfo
... when requested by a MEC Orchestrator - No query parameters
... ETSI GS MEC 040 V3.1.1, clause 7.3.3.1, clause 5.2.2.2
... https://www.etsi.org/deliver/etsi_gs/mec/001_099/040/03.01.01_60/gs_mec040v030101p.pdf
Retrieve all system info resources
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is SystemInfoList
TP_MEC_MEC040_SRV_MEF_001_OK_02
[Documentation]
... Check that the IUT responds with a selection of all available systemInfo
... when requested by a MEC Orchestrator - SystemId query parameters
... ETSI GS MEC 040 V3.1.1, clause 7.3.3.1, clause 5.2.2.2
... https://www.etsi.org/deliver/etsi_gs/mec/001_099/040/03.01.01_60/gs_mec040v030101p.pdf
Retrieve all system info resources with query params ${SYSTEM_ID_QUERY_PARAM}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is SystemInfoList
FOR ${element} IN @{response['body']}
Should Be Equal As Strings ${element}[systemId] ${EXPECTED_SYSTEM_ID}
END
TP_MEC_MEC040_SRV_MEF_001_OK_03
[Documentation]
... Check that the IUT responds with a selection of all available systemInfo
... when requested by a MEC Orchestrator - Multiple SystemId query parameters
... ETSI GS MEC 040 V3.1.1, clause 7.3.3.1, clause 5.2.2.2
... https://www.etsi.org/deliver/etsi_gs/mec/001_099/040/03.01.01_60/gs_mec040v030101p.pdf
Retrieve all system info resources with query params ${MULTIPLE_SYSTEM_ID_QUERY_PARAM}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is SystemInfoList
FOR ${element} IN @{response['body']}
IF '''${element}[systemId]''' == '''${EXPECTED_SYSTEM_ID}'''
${item} Set Variable ${TRUE}
END
IF '''${element}[systemId]''' == '''${EXPECTED_SYSTEM_ID2}'''
${item2} Set Variable ${TRUE}
END
END
Should Be True ${item}
Should Be True ${item2}
TP_MEC_MEC040_SRV_MEF_001_OK_04
[Documentation]
... Check that the IUT responds with a selection of all available systemInfo
... when requested by a MEC Orchestrator - Empty SystemId query parameters
... ETSI GS MEC 040 V3.1.1, clause 7.3.3.1, clause 5.2.2.2
... https://www.etsi.org/deliver/etsi_gs/mec/001_099/040/03.01.01_60/gs_mec040v030101p.pdf
Retrieve all system info resources
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is SystemInfoList
TP_MEC_MEC040_SRV_MEF_001_OK_05
[Documentation]
... Check that the IUT responds with a selection of all available systemInfo
... when requested by a MEC Orchestrator - SystemName query parameters
... ETSI GS MEC 040 V3.1.1, clause 7.3.3.1, clause 5.2.2.2
... https://www.etsi.org/deliver/etsi_gs/mec/001_099/040/03.01.01_60/gs_mec040v030101p.pdf
Retrieve all system info resources with query params ${SYSTEM_NAME_QUERY_PARAM}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is SystemInfoList
FOR ${element} IN @{response['body']}
Should Be Equal As Strings ${element}[systemName] ${EXPECTED_SYSTEM_NAME}
END
TP_MEC_MEC040_SRV_MEF_001_OK_06
[Documentation]
... Check that the IUT responds with a selection of all available systemInfo
... when requested by a MEC Orchestrator - Multiple SystemName query parameters
... ETSI GS MEC 040 V3.1.1, clause 7.3.3.1, clause 5.2.2.2
... https://www.etsi.org/deliver/etsi_gs/mec/001_099/040/03.01.01_60/gs_mec040v030101p.pdf
Retrieve all system info resources with query params ${MUTIPLE_SYSTEM_NAME_QUERY_PARAM}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is SystemInfoList
FOR ${element} IN @{response['body']}
IF '''${element}[systemName]''' == '''${EXPECTED_SYSTEM_NAME}'''
${item} Set Variable ${TRUE}
END
IF '''${element}[systemName]''' == '''${EXPECTED_SYSTEM_NAME2}'''
${item2} Set Variable ${TRUE}
END
END
Should Be True ${item}
Should Be True ${item2}
TP_MEC_MEC040_SRV_MEF_001_OK_07
[Documentation]
... Check that the IUT responds with a selection of all available systemInfo
... when requested by a MEC Orchestrator - Empty SystemName query parameters
... ETSI GS MEC 040 V3.1.1, clause 7.3.3.1, clause 5.2.2.2
... https://www.etsi.org/deliver/etsi_gs/mec/001_099/040/03.01.01_60/gs_mec040v030101p.pdf
Retrieve all system info resources with query params ${EMPTY_SYSTEM_NAME_QUERY_PARAM}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is SystemInfoList
FOR ${element} IN @{response['body']}
Should Be Equal As Strings ${element}[systemName] ${EMPTY}
END
TP_MEC_MEC040_SRV_MEF_001_OK_08
[Documentation]
... Check that the IUT responds with a selection of all available systemInfo
... when requested by a MEC Orchestrator - systemProvider query parameters
... ETSI GS MEC 040 V3.1.1, clause 7.3.3.1, clause 5.2.2.2
... https://www.etsi.org/deliver/etsi_gs/mec/001_099/040/03.01.01_60/gs_mec040v030101p.pdf
Retrieve all system info resources with query params ${SYSTEM_PROVIDER_QUERY_PARAM}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is SystemInfoList
FOR ${element} IN @{response['body']}
Should Be Equal As Strings ${element}[systemProvider] ${EXPECTED_SYSTEM_PROVIDER}
END
TP_MEC_MEC040_SRV_MEF_001_OK_09
[Documentation]
... Check that the IUT responds with a selection of all available systemInfo
... when requested by a MEC Orchestrator - Multiple systemProvider query parameters
... ETSI GS MEC 040 V3.1.1, clause 7.3.3.1, clause 5.2.2.2
... https://www.etsi.org/deliver/etsi_gs/mec/001_099/040/03.01.01_60/gs_mec040v030101p.pdf
Retrieve all system info resources with query params ${MUTIPLE_SYS_PROVIDER_QUERY_PAR}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is SystemInfoList
FOR ${element} IN @{response['body']}
IF '''${element}[systemProvider]''' == '''${EXPECTED_SYSTEM_PROVIDER}'''
${item} Set Variable ${TRUE}
END
IF '''${element}[systemProvider]''' == '''${EXPECTED_SYSTEM_PROVIDER2}'''
${item2} Set Variable ${TRUE}
END
END
Should Be True ${item}
Should Be True ${item2}
TP_MEC_MEC040_SRV_MEF_001_OK_10
[Documentation]
... Check that the IUT responds with a selection of all available systemInfo
... when requested by a MEC Orchestrator - Empty systemProvider query parameters
... ETSI GS MEC 040 V3.1.1, clause 7.3.3.1, clause 5.2.2.2
... https://www.etsi.org/deliver/etsi_gs/mec/001_099/040/03.01.01_60/gs_mec040v030101p.pdf
Retrieve all system info resources with query params ${EMPTY_SYSTEM_PROVIDER_QUERY_PARAM}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is SystemInfoList
FOR ${element} IN @{response['body']}
Should Be Equal As Strings ${element}[systemProvider] ${EMPTY}
END
TP_MEC_MEC040_SRV_MEF_001_OK_11
[Documentation]
... Check that the IUT responds with a selection of all available systemInfo
... when requested by a MEC Orchestrator - Multiple query parameters
... ETSI GS MEC 040 V3.1.1, clause 7.3.3.1, clause 5.2.2.2
... https://www.etsi.org/deliver/etsi_gs/mec/001_099/040/03.01.01_60/gs_mec040v030101p.pdf
Retrieve all system info resources with query params ${FILTER_ON_SYSTEM_ID_AND_NAME}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is SystemInfoList
${counterSystemId} Set Variable ${0}
${counterSystemName} Set Variable ${0}
FOR ${element} IN @{response['body']}
IF '''${element}[systemId]''' == '''${EXPECTED_SYSTEM_ID}'''
${counterSystemId}= set variable ${counterSystemId+1}
END
IF '''${element}[systemId]''' == '''${EXPECTED_SYSTEM_ID}'''
${counterSystemName}= set variable ${counterSystemName+1}
END
${counterSystemName}= set variable ${counterSystemName+1}
END
Should Be True '${counterSystemName}'>'0'
Should Be True '${counterSystemId}'>'0'
############################################################################
*** Keywords ***
Retrieve all system info resources
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}/fed_resources/system_info
${output}= Output response
Set Suite Variable ${response} ${output}
Retrieve all system info resources with query params
[Arguments] ${query_params}
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}/fed_resources/system_info?${query_params}
${output}= Output response
Set Suite Variable ${response} ${output}
\ No newline at end of file
*** Variables ***
# Generic variables
${SCHEMA} http
${HOST} 127.0.0.1
${PORT} 8084
${response} {}
${TOKEN} YWxhZGRpbjpvcGVuc2VzYW1l
${apiRoot}
${apiName} fed-enablement
${apiVersion} v1
${EXPECTED_SYSTEM_ID} SYSTEM_ID
${EXPECTED_SYSTEM_ID2} SYSTEM_ID2
${SYSTEM_ID_QUERY_PARAM} systemId=${EXPECTED_SYSTEM_ID}
${MULTIPLE_SYSTEM_ID_QUERY_PARAM} systemId=${EXPECTED_SYSTEM_ID},${EXPECTED_SYSTEM_ID2}
${EMPTY_SYSTEM_ID_QUERY_PARAM} systemId=
${EXPECTED_SYSTEM_NAME} SYSTEM_NAME
${EXPECTED_SYSTEM_NAME2} SYSTEM_NAME2
${SYSTEM_NAME_QUERY_PARAM} systemName=${EXPECTED_SYSTEM_NAME}
${MUTIPLE_SYSTEM_NAME_QUERY_PARAM} systemName=${EXPECTED_SYSTEM_NAME},${EXPECTED_SYSTEM_NAME2}
${EMPTY_SYSTEM_NAME_QUERY_PARAM} systemName=
${EXPECTED_SYSTEM_PROVIDER} SYSTEM_PROVIDER
${EXPECTED_SYSTEM_PROVIDER2} SYSTEM_PROVIDER2
${SYSTEM_PROVIDER_QUERY_PARAM} systemProvider=${EXPECTED_SYSTEM_PROVIDER}
${MUTIPLE_SYS_PROVIDER_QUERY_PAR} systemProvider=${EXPECTED_SYSTEM_PROVIDER},${EXPECTED_SYSTEM_PROVIDER2}
${EMPTY_SYSTEM_PROVIDER_QUERY_PARAM} systemProvider=
${FILTER_ON_SYSTEM_ID_AND_NAME} systemId=${EXPECTED_SYSTEM_ID},systemName=${EXPECTED_SYSTEM_NAME}
{
"systemId": "systemId",
"systemName": "systemNamea",
"systemProvider": "systemProvider"
}
\ No newline at end of file
{
"title": "SystemInfo",
"type": "object",
"description": "This type represents an information provided by the MEC orchestrator as a part of the \"Registration of MEC system to the federation\"",
"properties": {
"systemId": {
"description": "Identifier of the MEC system. For the uniqueness of the identifier across the federated MEC systems, UUID format [i.9] is recommended. Shall be absent in POST request, and present otherwise.",
"type": "string"
},
"systemName": {
"description": "The name of the MEC system. This is how the MEC system identifies other MEC systems",
"type": "string"
},
"systemProvider": {
"description": "Provider of the MEC system.",
"type": "string"
}
},
"required": [
"systemId",
"systemName",
"systemProvider"
]
}
\ No newline at end of file
{
"type": "array",
"items": {
"title": "SystemInfo",
"type": "object",
"description": "This type represents an information provided by the MEC orchestrator as a part of the \"Registration of MEC system to the federation\"",
"properties": {
"systemId": {
"description": "Identifier of the MEC system. For the uniqueness of the identifier across the federated MEC systems, UUID format [i.9] is recommended. Shall be absent in POST request, and present otherwise.",
"type": "string"
},
"systemName": {
"description": "The name of the MEC system. This is how the MEC system identifies other MEC systems",
"type": "string"
},
"systemProvider": {
"description": "Provider of the MEC system.",
"type": "string"
}
},
"required": [
"systemId",
"systemName",
"systemProvider"
]
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment