Commit 7350b17b authored by Giacomo Bernini's avatar Giacomo Bernini
Browse files

Merge branch '2.7.1-dev-SOL005-reference-descriptors' into '2.7.1-dev'

SOL005 - Implementation of additional test steps for checks against NSD and VNFD content in v2.7.1

See merge request !146
parents 47589eb5 cf2703af
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ GET Individual Network Service Descriptor Information
    Check HTTP Response Status Code Is    200
    Check HTTP Response Body Json Schema Is   NsdInfo
    Check HTTP Response Header Contains ETag
    Check HTTP Response Body NsInstance content against NS Descriptor
    Check HTTP Response Body NsdInfo Identifier matches the requested Network Service Descriptor Information

GET Individual Network Service Descriptor Information with invalid resource identifier
+2 −1
Original line number Diff line number Diff line
@@ -18,7 +18,8 @@ GET Individual NSD Management Subscription
    ...    Post-Conditions: none
    Get Individual NSD Management Subscription
    Check HTTP Response Status Code Is    200
    Check HTTP Response Body Json Schema Is   PkgmSubscription
    Check HTTP Response Body Json Schema Is   NsdmSubscription
    Check HTTP Response Body NsdmSubscription content against NS Descriptor
    Check HTTP Response Body Subscription Identifier matches the requested Subscription

GET Individual NSD Management Subscription with invalid resource identifier
+56 −2
Original line number Diff line number Diff line
@@ -10,6 +10,8 @@ Library JSONSchemaLibrary schemas/
Library    RequestsLibrary
Library    Process
Library    String
Variables  descriptors/SOL006/NSD/nsd_SOL006.yaml
Variables  descriptors/SOL001/NSD/nsd_SOL001.yaml

*** Keywords ***
GET all Network Service Descriptors Information
@@ -784,8 +786,9 @@ Send Post Request for NSD Management Subscription
    Log    Trying to create a new subscription
    Set Headers    {"Accept": "${ACCEPT_JSON}"}
    Set Headers    {"Content-Type": "${CONTENT_TYPE_JSON}"}
    Run Keyword If    ${check_descriptors} == 1    PARSE the NS Descriptor File
    ${template}=    Get File    jsons/subscriptions.json
    ${body}=        Format String   ${template}     notifCallbackUri=${notifCallbackUri}
    ${body}=        Format String   ${template}     notifCallbackUri=${notifCallbackUri}    nsdId=${NS_DescriptorID}    nsdName=${NS_Name}    nsdVersion=${NS_Version}    nsdDesigner=${Designer}    nsdInvariantId=${NS_InvariantId}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    REST.POST    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions    ${body}
    ${output}=    Output    response
@@ -798,8 +801,9 @@ Send POST Request for Duplicated NSD Management Subscription
    Log    Trying to create a subscription with an already created content
    Set Headers    {"Accept": "${ACCEPT_JSON}"}
    Set Headers    {"Content-Type": "${CONTENT_TYPE_JSON}"}
    Run Keyword If    ${check_descriptors} == 1    PARSE the NS Descriptor File
    ${template}=    Get File    jsons/subscriptions.json
    ${body}=        Format String   ${template}     notifCallbackUri=${notifCallbackUri}
    ${body}=        Format String   ${template}     notifCallbackUri=${notifCallbackUri}    nsdId=${NS_DescriptorID}    nsdName=${NS_Name}    nsdVersion=${NS_Version}    nsdDesigner=${Designer}    nsdInvariantId=${NS_InvariantId}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    REST.POST    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions    ${body}
    ${output}=    Output    response
@@ -1313,3 +1317,53 @@ Send DELETE Request for PNFD Archive Manifest
    REST.DELETE    ${apiRoot}/${apiName}/${apiMajorVersion}/ns_descriptors/${pnfdInfoId}/manifest
    ${output}=    Output    response
    Set Suite Variable    ${response}    ${output}

Check HTTP Response Body NsInstance content against NS Descriptor
    #${check_descriptors} flag, 1 to check descriptors
    Run Keyword If    ${check_descriptors} == 1    Check Individual NsdInfo Content for NSD

Check Individual NsdInfo Content for NSD 
    PARSE the NS Descriptor File
    Match the Response Attributes with NS Descriptors
    
PARSE the NS Descriptor File
    Run Keyword If  '${descriptorType}'=='SOL001'    Fetch Information from SOL001 NS descriptor file    ELSE    Fetch Information from SOL006 NS descriptor file

Fetch Information from SOL001 NS descriptor file
    ${ns_descriptor_id}=    Get Variable Value    ${topology_template.node_templates.properties.descriptorId}
    ${designer}=    Get Variable Value    ${topology_template.node_templates.properties.designer}
    ${version}=    Get Variable Value    ${topology_template.node_templates.properties.version}
    ${name}=    Get Variable Value    ${topology_template.node_templates.properties.name}
    ${invariantId}=    Get Variable Value    ${topology_template.node_templates.properties.invariantId}
    
    Set Global Variable    ${NS_DescriptorID}    ${ns_descriptor_id}
    Set Global Variable    ${Designer}    ${designer}
    Set Global Variable    ${NS_Version}    ${version}
    Set Global Variable    ${NS_Name}    ${name}
    Set Global Variable    ${NS_InvariantID}    ${invariantId}

Fetch Information from SOL006 NS descriptor file
    ${nsd_id}=    Get Variable Value    ${nfv.nsd[0].id}
    Set Global Variable    ${NS_DescriptorID}    ${nsd_id}

Match the Response Attributes with NS Descriptors
    Should Be Equal As Strings    ${response['body']['nsdId']}    ${NSDescriptor_ID}
    Run Keyword If  '${descriptorType}'=='SOL001'    Should Be Equal As Strings    ${response['body']['nsdName']}    ${NS_Name}
    Run Keyword If  '${descriptorType}'=='SOL001'    Should Be Equal As Strings    ${response['body']['nsdVersion']}    ${NS_Version}
    Run Keyword If  '${descriptorType}'=='SOL001'    Should Be Equal As Strings    ${response['body']['nsdDesigner']}    ${Designer}
    Run Keyword If  '${descriptorType}'=='SOL001'    Should Be Equal As Strings    ${response['body']['nsdInvariantId']}    ${NS_InvariantID}

Check HTTP Response Body NsdmSubscription content against NS Descriptor
    #${check_descriptors} flag, 1 to check descriptors
    Run Keyword If    ${check_descriptors} == 1    Check Individual NsdmSubscription Content for NSD

Check Individual NsdmSubscription Content for NSD 
    PARSE the NS Descriptor File
    Match the NsdmSubscription Response Attributes with NS Descriptors
    
Match the NsdmSubscription Response Attributes with NS Descriptors
    Should Be Equal As Strings    ${response['body']['filter']['nsdId']}    ${NSDescriptor_ID}
    Run Keyword If  '${descriptorType}'=='SOL001'    Should Be Equal As Strings    ${response['body']['filter']['nsdName']}    ${NS_Name}
    Run Keyword If  '${descriptorType}'=='SOL001'    Should Be Equal As Strings    ${response['body']['filter']['nsdVersion']}    ${NS_Version}
    Run Keyword If  '${descriptorType}'=='SOL001'    Should Be Equal As Strings    ${response['body']['filter']['nsdDesigner']}    ${Designer}
    Run Keyword If  '${descriptorType}'=='SOL001'    Should Be Equal As Strings    ${response['body']['filter']['nsdInvariantId']}    ${NS_InvariantID}
+1 −0
Original line number Diff line number Diff line
@@ -154,6 +154,7 @@ Create new Network Service Descriptor Resource
    Check HTTP Response Body Json Schema Is   NsdInfo
    Check HTTP Response Header Contains    Location
    Check Postcondition NsdInfo Exists
    Check HTTP Response Body NsInstance content against NS Descriptor

PUT all Network Service Descriptors - Method not implemented
    [Documentation]    Test ID: 5.3.1.1.12
+9 −4
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ Library JSONLibrary
Library           String
Library           REST    ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT}    ssl_verify=false
Suite Setup    Check resource existence and get CallbackUri
Resource          NSDManagementKeywords.robot

*** Test Cases ***
NSD Onboarding Notification
@@ -112,8 +113,9 @@ Post NSD Onboarding Notification
    Set Headers  {"Accept":"${ACCEPT_JSON}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE_JSON}"}
    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/notifications/NsdOnBoardingNotification.json
    ${body}=        Format String   ${template}    subscriptionId=${subscriptionId}    nsdInfoId=${nsdInfoId} 
    ${body}=        Format String   ${template}    subscriptionId=${subscriptionId}    nsdInfoId=${nsdInfoId}    nsdId=${NS_DescriptorID}    
    Post    ${callbackResp}    ${body}
    ${outputResponse}=    Output    response
	Set Global Variable    ${response}    ${outputResponse}
@@ -123,8 +125,9 @@ Post NSD Onboarding Failure Notification
    Set Headers  {"Accept":"${ACCEPT_JSON}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE_JSON}"}
    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/notifications/NsdOnBoardingFailureNotification.json
    ${body}=        Format String   ${template}    subscriptionId=${subscriptionId}    nsdInfoId=${nsdInfoId} 
    ${body}=        Format String   ${template}    subscriptionId=${subscriptionId}    nsdInfoId=${nsdInfoId}    nsdId=${NS_DescriptorID}     
    Post    ${callbackResp}    ${body}
    ${outputResponse}=    Output    response
	Set Global Variable    ${response}    ${outputResponse}
@@ -134,8 +137,9 @@ Post NSD Change Notification
    Set Headers  {"Accept":"${ACCEPT_JSON}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE_JSON}"}
    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/notifications/NsdChangeNotification.json
    ${body}=        Format String   ${template}    subscriptionId=${subscriptionId}    nsdInfoId=${nsdInfoId} 
    ${body}=        Format String   ${template}    subscriptionId=${subscriptionId}    nsdInfoId=${nsdInfoId}    nsdId=${NS_DescriptorID} 
    Post    ${callbackResp}    ${body}
    ${outputResponse}=    Output    response
	Set Global Variable    ${response}    ${outputResponse}
@@ -145,8 +149,9 @@ Post NSD Deletion Notification
    Set Headers  {"Accept":"${ACCEPT_JSON}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE_JSON}"}
    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/notifications/NsdDeletionNotification.json
    ${body}=        Format String   ${template}    subscriptionId=${subscriptionId}    nsdInfoId=${nsdInfoId} 
    ${body}=        Format String   ${template}    subscriptionId=${subscriptionId}    nsdInfoId=${nsdInfoId}    nsdId=${NS_DescriptorID} 
    Post    ${callbackResp}    ${body}
    ${outputResponse}=    Output    response
	Set Global Variable    ${response}    ${outputResponse}
Loading