Commit 604b196a authored by Najam UI Hassan's avatar Najam UI Hassan
Browse files

New Resource PNFD added

parent 2a68cb35
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_veri
Library           OperatingSystem

*** Test Cases ***
Get single file NSD Content in Plain Format
Get single file NSD in Plain Format
    [Documentation]    Test ID: 5.3.1.10.1
    ...    Test title: Get single file NSD in Plain Format
    ...    Test objective: The objective is to test the retrieval of the NSD in plain format within a NSD archive and perform a validation that returned content is in plain format
+101 −1
Original line number Diff line number Diff line
@@ -1172,3 +1172,103 @@ Send DELETE Request for NSD Archive Manifest
    DELETE    ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${nsdInfoIdZip}/manifest
    ${output}=    Output    response
    Set Suite Variable    ${response}    ${output} 
    
Get single file PNFD in Plain Format
    Log    Trying to get a PNFD present in the NFVO Catalogue
    Set Headers    {"Accept": "${ACCEPT_PLAIN}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    GET    ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd
    ${output}=    Output    response
    Set Suite Variable    ${response}    ${output}
    
Get PNFD in Zip Format
    Log    Trying to get a PNFD present in the NFVO Catalogue
    Set Headers    {"Accept": "${ACCEPT_ZIP}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    GET    ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd
    ${output}=    Output    response
    Set Suite Variable    ${response}    ${output}
    
Get single file PNFD in Plain or Zip Format
    Log    Trying to get a PNFD present in the NFVO Catalogue
    Set Headers    {"Accept": "${ACCEPT_PLAIN}"}
    Set Headers    {"Accept": "${ACCEPT_ZIP}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    GET    ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd
    ${output}=    Output    response
    Set Suite Variable    ${response}    ${output}

Get multi file PNFD in Plain or Zip Format
    Log    Trying to get a VNFD from a given PNFD Management present in the NFVO Catalogue
    Set Headers    {"Accept": "${ACCEPT_PLAIN}"}
    Set Headers    {"Accept": "${ACCEPT_ZIP}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    GET    ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd
    ${output}=    Output    response
    Set Suite Variable    ${response}    ${output}

Get multi file PNFD in Plain Format
    Log    Trying to get a negative case performing a get on a PNFD present in the NFVO Catalogue. Accept will be text/plain but PNFD is composed my multiple files.
    Set Headers    {"Accept": "${ACCEPT_PLAIN}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    GET    ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd
    ${output}=    Output    response
    Set Suite Variable    ${response}    ${output}
    
Get PNFD with invalid resource identifier
    Log    Trying to perform a negative get, using an erroneous package ID
    Set Headers    {"Accept": "${ACCEPT_ZIP}"}
    Set Headers    {"Accept": "${ACCEPT_PLAIN}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    GET    ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${erroneous_PNFDInfoId}/pnfd
    ${output}=    Output    response
    Set Suite Variable    ${response}    ${output}
    
Get PNFD with conflict due to onboarding state
    Log    Trying to get a VNFD from a given PNFD Management present in the NFVO Catalogue
    Set Headers    {"Accept": "${ACCEPT_ZIP}"}
    Set Headers    {"Accept": "${ACCEPT_PLAIN}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    GET    ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${onboardingStatePnfdId}/pnfd
    ${output}=    Output    response
    Set Suite Variable    ${response}    ${output} 
    
Get PNFD with security information
    Log    Trying to get a PNFD present in the NFVO Catalogue
    Set Headers    {"Accept": "${ACCEPT_ZIP}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    GET    ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd/include_signatures
    ${output}=    Output    response
    Set Suite Variable    ${response}    ${output}
    
Send POST Request for PNFD
    Pass Execution If    ${testOptionalMethods} == 0    optional methods are not implemented on the FUT. Skipping test.
    Log    Trying to perform a POST. This method should not be implemented
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    POST    ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd
    ${output}=    Output    response
    Set Suite Variable    ${response}    ${output} 

Send PUT Request for PNFD
    Pass Execution If    ${testOptionalMethods} == 0    optional methods are not implemented on the FUT. Skipping test.
    Log    Trying to perform a PATCH. This method should not be implemented
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    PUT    ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd
    ${output}=    Output    response
    Set Suite Variable    ${response}    ${output} 

Send PATCH Request for PNFD
    Pass Execution If    ${testOptionalMethods} == 0    optional methods are not implemented on the FUT. Skipping test.
    Log    Trying to perform a PATCH. This method should not be implemented
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    PATCH    ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd
    ${output}=    Output    response
    Set Suite Variable    ${response}    ${output} 

Send DELETE Request for PNFD
    Pass Execution If    ${testOptionalMethods} == 0    optional methods are not implemented on the FUT. Skipping test.
    Log    Trying to perform a DELETE. This method should not be implemented
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    DELETE    ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd
    ${output}=    Output    response
    Set Suite Variable    ${response}    ${output} 
+162 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation     This Clause defines the content of the individual NS descriptor, i.e. PNFD content
Library           JSONSchemaLibrary    schemas/
Resource          environment/variables.txt    # Generic Parameters
Resource          environment/pnfDescriptors.txt    # Specific PNFDescriptors Parameters
Resource          NSDManagementKeywords.robot
Library           JSONLibrary
Library           REST    ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT}    ssl_verify=false
Library           OperatingSystem

*** Test Cases ***
Get single file PNFD in Plain Format
    [Documentation]    Test ID: 5.3.1.11.1
    ...    Test title: Get single file PNFD in Plain Format
    ...    Test objective: The objective is to test the retrieval of the PNFD in plain format within a PNFD archive and perform a validation that returned content is in plain format
    ...    Pre-conditions: One or more PNFDs are onboarded in the NFVO.
    ...    Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: The PNFD is implemented as a single file
    ...    Post-Conditions: none
    Get single file PNFD in Plain Format
    Check HTTP Response Status Code Is    200
    Check HTTP Response Header Content-Type Is    text/plain

Get PNFD in Zip Format
    [Documentation]    Test ID: 5.3.1.11.2
    ...    Test title: Get PNFD in Zip Format
    ...    Test objective: The objective is to test the retrieval of the PNFD in zip format within a PNFD archive and perform a validation that returned content is in zip format
    ...    Pre-conditions: One or more PNFDs are onboarded in the NFVO.
    ...    Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: none
    Get PNFD in Zip Format
    Check HTTP Response Status Code Is    200
    Check HTTP Response Header Content-Type Is    application/zip

Get single file PNFD in Plain or Zip Format 
    [Documentation]    Test ID: 5.3.1.11.3
    ...    Test title: Get single file PNFDin Plain or Zip Format
    ...    Test objective: The objective is to test the retrieval of the single file PNFD within a PNFD archive when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that response is in Plain or Zip format
    ...    Pre-conditions: One or more PNFDs are onboarded in the NFVO.
    ...    Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: The PNFD is implemented as a single file
    ...    Post-Conditions: none
    Get single file PNFD in Plain or Zip Format
    Check HTTP Response Status Code Is    200
    Check HTTP Response Header Content-Type Is Any of   text/plain    application/zip
    
Get multi file PNFD in Plain or Zip Format
    [Documentation]    Test ID: 5.3.1.11.4
    ...    Test title: Get multi file PNFD in Plain or Zip Format
    ...    Test objective: The objective is to test the retrieval of the multi file PNFD within a PNFD archive when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Zip format
    ...    Pre-conditions: One or more PNFDs are onboarded in the NFVO.
    ...    Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: The PNFD is implemented as a multi file
    ...    Post-Conditions: none
    Get multi file PNFD in Plain or Zip Format
    Check HTTP Response Status Code Is    200
    Check HTTP Response Header Content-Type Is    application/zip

Get multi file PNFD in Plain Format
    [Documentation]    Test ID: 5.3.1.11.5
    ...    Test title: Get multi file PNFD in Plain Format
    ...    Test objective: The objective is to test that the retrieval of the multi file PNFD within a PNFD archive fails when requesting it in Plain format, and perform a validation of the JSON schema validation of the failed operation HTTP response
    ...    Pre-conditions: One or more PNFDs are onboarded in the NFVO.
    ...    Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: The PNFD is implemented as a multi file
    ...    Post-Conditions: none
    Get multi file PNFD in Plain Format
    Check HTTP Response Status Code Is    406
    Check HTTP Response Body Json Schema Is   ProblemDetails

Get PNFD Content with invalid resource identifier
    [Documentation]    Test ID: 5.3.1.11.6
    ...    Test title: Get PNFD Content with invalid resource identifier
    ...    Test objective: The objective is to test that the retrieval of the PNFD within a PNFD archive fails when using an invalid resource identifier
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: none
    Get PNFD with invalid resource identifier
    Check HTTP Response Status Code Is    404
    Check HTTP Response Body Json Schema Is   ProblemDetails

Get PNFD with conflict due to onboarding state
    [Documentation]    Test ID: 5.3.1.11.7
    ...    Test title: Get PNFD with conflict due to onboarding state
    ...    Test objective: The objective is to test that the retrieval of the PNFD within a PNFD archive fails due to a conflict when the PNFD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response
    ...    Pre-conditions: The onboarding state of the PNFD is different from ONBOARDED.
    ...    Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: none 
    Get PNFD with conflict due to onboarding state
    Check HTTP Response Status Code Is    409
    Check HTTP Response Body Json Schema Is   ProblemDetails    
    
Get PNFD with security information
    [Documentation]    Test ID: 5.3.1.11.8
    ...    Test title: Get PNFD with security information
    ...    Test objective: The objective is to test the retrieval of the PNFD within a PNFD archive shall include in the ZIP archive the security information when requested with "include_signature" parameter
    ...    Pre-conditions: One or more PNFDs are onboarded in the NFVO.
    ...    Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: none
    Get PNFD with security information
    Check HTTP Response Status Code Is    200
    Check HTTP Response Header Content-Type Is    application/zip   
    
POST PNFD - Method not implemented
    [Documentation]    Test ID: 5.3.1.11.9
    ...    Test title: POST PNFD - Method not implemented
    ...    Test objective: The objective is to test that POST method is not allowed to create a new PNFD
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.7a.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: none
    Send POST Request for PNFD
    Check HTTP Response Status Code Is    405
    
PUT PNFD - Method not implemented
    [Documentation]    Test ID: 5.3.1.11.10
    ...    Test title: PUT PNFD - Method not implemented
    ...    Test objective: The objective is to test that PATCH method is not allowed to update PNFD
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.7a.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: none
    Send PUT Request for PNFD
    Check HTTP Response Status Code Is    405

PATCH PNFD - Method not implemented
    [Documentation]    Test ID: 5.3.1.11.11
    ...    Test title: PATCH PNFD - Method not implemented
    ...    Test objective: The objective is to test that PATCH method is not allowed to update PNFD
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.7a.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: none
    Send PATCH Request for PNFD
    Check HTTP Response Status Code Is    405

DELETE PNFD - Method not implemented
    [Documentation]    Test ID: 5.3.1.11.12
    ...    Test title: DELETE PNFD - Method not implemented
    ...    Test objective: The objective is to test that DELETE method is not allowed to delete PNFD
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.7a.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: none
    Send DELETE Request for PNFD
    Check HTTP Response Status Code Is    405
 No newline at end of file
+3 −2
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ Get PNFD Content with invalid resource identifier
    ...    Post-Conditions: none
    Get PNFD Content with invalid resource identifier
    Check HTTP Response Status Code Is    404
    Check HTTP Response Body Json Schema Is   ProblemDetails

Get PNFD Content with conflict due to onboarding state
    [Documentation]    Test ID: 5.3.1.6.3
@@ -105,10 +106,9 @@ DELETE PNFD Content - Method not implemented
    ...    Reference: Clause 5.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v2.7.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: The PNFD content is not deleted by the failed operation
    ...    Post-Conditions: none
    Send DELETE Request for PNFD Content
    Check HTTP Response Status Code Is    405
    Check Postcondition PNFD Content Exists

Get PNFD Content with Range Request and NFVO supporting Range Requests
    [Documentation]    Test ID: 5.3.1.6.9
@@ -135,6 +135,7 @@ Get PNFD Content with invalid Range Request
    ...    Post-Conditions: none
    Get PNFD Content with invalid Range Request
    Check HTTP Response Status Code Is    416
    Check HTTP Response Body Json Schema Is   ProblemDetails
    
Upload PNFD Archive Content
    [Documentation]    Test ID: 5.3.1.6.11