diff --git a/SOL005/NSLifecycleManagement-API/NSInstances.robot b/SOL005/NSLifecycleManagement-API/NSInstances.robot index 8c662bcabc2e80a9ccf47ffb294d3a39c2d6098a..40dcf4efdd95795f47866dea5ed41975ff28b0ca 100644 --- a/SOL005/NSLifecycleManagement-API/NSInstances.robot +++ b/SOL005/NSLifecycleManagement-API/NSInstances.robot @@ -20,6 +20,7 @@ POST Create a new NsInstance Check HTTP Response Status Code Is 201 Check HTTP Response Header Contains Location Check HTTP Response Body Json Schema Is NsInstance + Check HTTP Response Body NsInstance content against NS Descriptor GET information about multiple NS instances [Documentation] Test ID: 5.3.2.1.2 diff --git a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot index 2d14cc8afec2269e57b8cd35b21b977920946cc1..ee1d307420a8dc8b448bb0b9b7b4dde651ecc89d 100644 --- a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot +++ b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot @@ -218,8 +218,9 @@ POST New nsInstance Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${check_descriptors} == 1 PARSE the NS Descriptor File ${template}= Get File jsons/CreateNsRequest.json - ${body}= Format String ${template} nsdId=${nsdId} nsInstanceName=${nsInstanceName} vimAccountId=${vimAccountId} nsInstanceDescription=${nsInstanceDescription} + ${body}= Format String ${template} nsdId=${NS_DescriptorID} nsInstanceName=${nsInstanceName} vimAccountId=${vimAccountId} nsInstanceDescription=${nsInstanceDescription} Post ${apiRoot}/${apiName}/${apiMajorVersion}/ns_instances ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} @@ -280,19 +281,19 @@ Get VNF Attributes from SOL001 Fetch Information from SOL006 descriptor file ${descriptor_id}= Get Variable Value ${nfv.vnfd[0].id} ${provider}= Get Variable Value ${nfv.vnfd[0].provider} - ${product_name}= Get Variable Value ${nfv.vnfd[0].product-name} - ${software_version}= Get Variable Value ${nfv.vnfd[0].software-version} + ${product_name}= Get Variable Value ${nfv.vnfd[0]['product-name']} + ${software_version}= Get Variable Value ${nfv.vnfd[0]['software-version']} ${descriptor_version}= Get Variable Value ${nfv.vnfd[0].version} ${VDUcount}= Get Length ${nfv.vnfd[0].vdu} - ${extCP_count}= Get Length ${nfv.vnfd[0].ext_cpd} - ${virtualLink_count}= Get length ${nfv.vnfd[0].int_virtual_link_desc} - ${instantiation_levels}= Get Length ${nfv.vnfd[0].df.instantiation_level} + ${extCP_count}= Get Length ${nfv.vnfd[0]['ext-cpd']} + ${virtualLink_count}= Get length ${nfv.vnfd[0]['int-virtual-link-desc']} + ${instantiation_levels}= Get Length ${nfv.vnfd[0].df['instantiation-level']} FOR ${key} IN @{nfv.vnfd[0].keys()} ${VDU_check}= Run Keyword And Return Status Should Be Equal As Strings ${key} vdu Run Keyword If ${VDU_check} Get VDU IDs ${VDUcount} - ${extCP_check}= Run Keyword And Return Status Should Be Equal As Strings ${key} ext_cpd + ${extCP_check}= Run Keyword And Return Status Should Be Equal As Strings ${key} ext-cpd Run Keyword If ${extCP_check} Get External CP IDs ${extCP_count} - ${virtualLink_check}= Run Keyword And Return Status Should Be Equal As Strings ${key} int_virtual_link_desc + ${virtualLink_check}= Run Keyword And Return Status Should Be Equal As Strings ${key} int-virtual-link-desc Run Keyword If ${virtualLink_check} Get Virtual Link IDs ${virtualLink_count} ${DF_check}= Run Keyword And Return Status Should Be Equal As Strings ${key} df Run Keyword If ${DF_check} Get Instantiation Levels ${instantiation_levels} @@ -308,8 +309,8 @@ Get VDU IDs @{VDU_labels}= Create List ${Storage_labels}= Create List FOR ${i} IN RANGE ${count} - Append To List ${VDU_labels} ${nfv.vnfd[0].vdu[${i}].id} - Append To List ${Storage_labels} ${nfv.vnfd[0].vdu[${i}].virtual_storage_desc} + Append To List ${VDU_labels} ${nfv.vnfd[0].vdu[${i}]['id']} + Append To List ${Storage_labels} ${nfv.vnfd[0].vdu[${i}]['virtual-storage-desc']} Get Internal CPs for each VDU ${i} END Set Global Variable ${VDU_IDs} ${VDU_labels} @@ -317,10 +318,10 @@ Get VDU IDs Get Internal CPs for each VDU [Arguments] ${vdu} - ${count}= Get Length ${nfv.vnfd[0].vdu[${vdu}].int_cpd} + ${count}= Get Length ${nfv.vnfd[0].vdu[${vdu}]['int-cpd']} ${internal_CPs}= Create List FOR ${i} IN RANGE ${count} - Append To List ${internal_CPs} ${nfv.vnfd[0].vdu[${vdu}].int_cpd[${i}].id} + Append To List ${internal_CPs} ${nfv.vnfd[0].vdu[${vdu}]['int-cpd'][${i}]['id']} END Set Global Variable ${internalCP_IDs} ${internal_CPs} @@ -328,15 +329,15 @@ Get External CP IDs [Arguments] ${count} @{external_CPs}= Create List FOR ${i} IN RANGE ${count} - Append To List ${external_CPs} ${nfv.vnfd[0].ext_cpd[${i}].id} + Append To List ${external_CPs} ${nfv.vnfd[0]['ext-cpd'][${i}]['id']} END Set Global Variable ${externalCP_IDs} ${external_CPs} Get Virtual Link IDs [Arguments] ${count} - ${VirtualLink_labels}= Create List + @{VirtualLink_labels}= Create List FOR ${i} IN RANGE ${count} - Append To List ${VirtualLink_labels} ${nfv.vnfd[0].int_virtual_link_desc[${i}].id} + Append To List ${VirtualLink_labels} ${nfv.vnfd[0]['int-virtual-link-desc'][${i}]['id']} END Set Global Variable ${VirtualLink_IDs} ${VirtualLink_labels} @@ -344,7 +345,7 @@ Get Instantiation Levels [Arguments] ${count} @{Instantiation_Levels}= Create List FOR ${i} IN RANGE ${count} - Append To List ${Instantiation_Levels} ${nfv.vnfd[0].df.instantiation_level[${i}].id} + Append To List ${Instantiation_Levels} ${nfv.vnfd[0].df['instantiation-level'][${i}]['id']} END Set Global Variable ${InstantiationLevel_IDs} ${Instantiation_Levels} @@ -1103,8 +1104,9 @@ POST subscriptions DUPLICATION Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${check_descriptors} == 1 PARSE the NS Descriptor File ${template}= Get File jsons/LccnSubscriptionRequest.json - ${body}= Format String ${template} callbackUri=${callback_uri} callbackEndpoint=${callback_endpoint} callbackPort=${callback_port} nsdId=${nsdId} + ${body}= Format String ${template} callbackUri=${callback_uri} callbackEndpoint=${callback_endpoint} callbackPort=${callback_port} nsdId=${NS_DescriptorID} Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} @@ -1115,8 +1117,9 @@ POST subscriptions NO DUPLICATION Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${check_descriptors} == 1 PARSE the NS Descriptor File ${template}= Get File jsons/LccnSubscriptionRequest.json - ${body}= Format String ${template} callbackUri=${callback_uri} callbackEndpoint=${callback_endpoint} callbackPort=${callback_port} nsdId=${nsdId} + ${body}= Format String ${template} callbackUri=${callback_uri} callbackEndpoint=${callback_endpoint} callbackPort=${callback_port} nsdId=${NS_DescriptorID} Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} @@ -1320,24 +1323,43 @@ Get NS Attributes from SOL001 Fetch Information from SOL006 NS descriptor file ${nsd_id}= Get Variable Value ${nfv.nsd[0].id} ${VNFcount}= Get Length ${nfv.vnfd} + ${SAPcount}= Get Length ${nfv.nsd[0].sapd} + ${NSvirtualLinkCount}= Get Length ${nfv.nsd[0]['virtual-link-desc']} FOR ${key} IN @{nfv.keys()} - ${VNF_check}= Run Keyword And Return Status Should Be Equal As Strings ${key} vnfd - Run Keyword If ${VNF_check} Get External CPs for each VNF ${VNFcount} - Run Keyword If ${VNF_check} Fetch Information from SOL006 descriptor file + ${VNFD_check}= Run Keyword And Return Status Should Be Equal As Strings ${key} vnfd + ${NSD_check}= Run Keyword And Return Status Should Be Equal As Strings ${key} nsd + Run Keyword If ${VNFD_check} Fetch Information from SOL006 descriptor file + Run Keyword If ${NSD_check} Get SAP IDs ${SAPcount} + Run Keyword If ${NSD_check} Get NS Virtual Link IDs ${NSvirtualLinkCount} + END Set Global Variable ${NS_DescriptorID} ${nsd_id} -Get External CPs for each VNF - [Arguments] ${vnf} - FOR ${i} IN RANGE ${vnf} - Get Ext CP IDs ${i} +Get SAP IDs + [Arguments] ${count} + @{SAPlabels}= Create List + FOR ${i} IN RANGE ${count} + Append To List ${SAPlabels} ${nfv.nsd[0].sapd[${i}]['id']} END - -Get Ext CP IDs - [Arguments] ${vnf} - @{extCP_labels}= Create List - ${count}= Get Length ${nfv.vnfd[${vnf}]['ext-cpd']} + Set Global Variable ${SAP_IDs} ${SAPlabels} + +Get NS Virtual Link IDs + [Arguments] ${count} + @{NsVirtualLink_labels}= Create List FOR ${i} IN RANGE ${count} - Append To List ${extCP_labels} ${nfv.vnfd[${vnf}]['ext-cpd'][${i}]['id']} + Append To List ${NsVirtualLink_labels} ${nfv.nsd[0]['virtual-link-desc'][${i}]['id']} END - Set Global Variable ${NsCP_IDs} ${extCP_labels} \ No newline at end of file + Set Global Variable ${NS_VirtualLink_IDs} ${NsVirtualLink_labels} + +Check HTTP Response Body NsInstance content against NS Descriptor + #${check_descriptors} flag, 1 to check descriptors + Run Keyword If ${check_descriptors} == 1 Check Individual NsInstance Content for NSD + +Check Individual NsInstance Content for NSD + PARSE the NS Descriptor File + Match the Response Attributes with NS Descriptors + +Match the Response Attributes with NS Descriptors + Should Be Equal As Strings ${response['body']['nsdId']} ${NSDescriptor_ID} + List Should Contain Value ${NS_VirtualLink_IDs} ${response['body']['virtualLinkInfo']['nsVirtualLinkDescId']} + Run Keyword If '${descriptorType}'=='SOL006' List Should Contain Value ${SAP_IDs} ${response['body']['sapInfo']['sapdId']} diff --git a/SOL005/NSLifecycleManagement-API/environment/variables.txt b/SOL005/NSLifecycleManagement-API/environment/variables.txt index 0dae31ed97f03cc35ff5151d6cd275d26a3d1a9a..b1eb55915c10094bf6ac286840cfab5100022a95 100644 --- a/SOL005/NSLifecycleManagement-API/environment/variables.txt +++ b/SOL005/NSLifecycleManagement-API/environment/variables.txt @@ -100,8 +100,9 @@ ${tosca_type_NsCP} tosca.nodes.nfv.Cp @{externalCP_IDs} @{InstantiationLevel_IDs} -@{NsVirtualLink} +@{NS_VirtualLink_IDs} @{NsCP_IDs} +@{SAP_IDs} ${NS_DescriptorID} ${Designer}