Commit bde22274 authored by mengxuan.zhao's avatar mengxuan.zhao
Browse files

Update VNF LCM VNFinstances tests

parent 43450ede
Loading
Loading
Loading
Loading
+132 −0
Original line number Original line Diff line number Diff line
*** Settings ***
*** Settings ***
Suite setup     Expect spec    SOL003-VNFLifecycleManagement-API.yaml
# Suite setup     Expect spec    SOL003-VNFLifecycleManagement-API.yaml
Resource    variables.txt 
Resource    variables.txt 
Library    REST    http://${VNFM_HOST}:${VNFM_PORT} 
Library    REST    http://${VNFM_HOST}:${VNFM_PORT} 
#Library    RequestsLibrary
#Library    RequestsLibrary
...        spec=SOL003-VNFLifecycleManagement-API.yaml


*** Test cases ***
*** Test cases ***


Create a new vnfInstance
Create a new vnfInstance
    Log    Create VNF instance by POST to /vnflcm/v1/vnf_instances
    Log    Create VNF instance by POST to ${apiRoot}/${apiName}/${apiVersion}
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Post    /vnflcm/v1/vnf_instances    {"vnfdId": "12345","vnfInstanceName": "Test-VnfInstance", "vnfInstanceDescription": "bla"}
    Post    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances    {"vnfdId": "${vnfId}","vnfInstanceName": "${vnfInstanceName}", "vnfInstanceDescription": "${vnfInstanceDescription}"}
    Output    response
    Output    response
    Integer    response status    201
    Integer    response status    201
    Log    Status code validated
    Log    Status code validated


Create a new vnfInstance Bad Request
# Create a new vnfInstance Bad Request
    Log    Create VNF instance by POST to /vnflcm/v1/vnf_instances
    # Log    Create VNF instance by POST to /vnflcm/v1/vnf_instances
    Set Headers  {"Accept":"${ACCEPT}"}  
    # Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    # Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    # Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Post    /vnflcm/v1/vnf_instances    {"bad_request": "bad_example"}
    # Post    /vnflcm/v1/vnf_instances    {"bad_request": "bad_example"}
    Output    response
    # Output    response
    Integer    response status    400
    # Integer    response status    400
    Log    Status code validated
    # Log    Status code validated


Create a new vnfInstance Unauthorized
# Create a new vnfInstance Unauthorized
    Log    Create VNF instance by POST to /vnflcm/v1/vnf_instances
    # Log    Create VNF instance by POST to /vnflcm/v1/vnf_instances
    Set Headers  {"Accept":"${ACCEPT}"}  
    # Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    # Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    #Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${WRONG_AUTHORIZATION}"}
    # #Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${WRONG_AUTHORIZATION}"}
    Post    /vnflcm/v1/vnf_instances    {"vnfdId": "12345","vnfInstanceName": "Test-VnfInstance", "vnfInstanceDescription": "bla"}
    # Post    /vnflcm/v1/vnf_instances    {"vnfdId": "12345","vnfInstanceName": "Test-VnfInstance", "vnfInstanceDescription": "bla"}
    Output    response
    # Output    response
    Integer    response status    401
    # Integer    response status    401
    Log    Status code validated
    # Log    Status code validated
    
    
Create a new vnfInstance Forbidden
# Create a new vnfInstance Forbidden
    Log    Create VNF instance by POST to /vnflcm/v1/vnf_instances
    # Log    Create VNF instance by POST to /vnflcm/v1/vnf_instances
    Set Headers  {"Accept":"${ACCEPT}"}  
    # Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    # Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${WRONG_AUTHORIZATION}"}
    # Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${WRONG_AUTHORIZATION}"}
    Post    /vnflcm/v1/vnf_instances    {"vnfdId": "12345","vnfInstanceName": "Test-VnfInstance", "vnfInstanceDescription": "bla"}
    # Post    /vnflcm/v1/vnf_instances    {"vnfdId": "12345","vnfInstanceName": "Test-VnfInstance", "vnfInstanceDescription": "bla"}
    Output    response
    # Output    response
    Integer    response status    403
    # Integer    response status    403
    Log    Status code validated
    # Log    Status code validated


Get information about multiple VNF instances  
Get information about multiple VNF instances  
    Log    Query VNF The GET method queries information about multiple VNF instances.
    Log    Query VNF The GET method queries information about multiple VNF instances.
@@ -52,40 +53,80 @@ Get information about multiple VNF instances
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Log    Execute Query and validate response
    Log    Execute Query and validate response
    Get    /vnflcm/v1/vnf_instances
    Get    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances
    Output    response
    Output    response
    Log    Validate Status code
    Log    Validate Status code
    Integer    response status    200
    Integer    response status    200


Get information about multiple VNF instances Bad Request 
Get information about multiple VNF instances Bad Request Invalid attribute-based filtering parameters
    Log    Query VNF The GET method queries information about multiple VNF instances.
    Log    Query VNF The GET method queries information about multiple VNF instances.
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"} 
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"} 
    GET    /vnflcm/v1/vnf_instances?fields=wrong_field
    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances?attribute_not_exist=some_value
    Log    Validate Status code
    Log    Validate Status code
    Output    response
    Output    response
    Integer    response status    400
    Integer    response status    400


Get information about multiple VNF instances Unauthorized
Get information about multiple VNF instances Bad Request Invalid attribute selector
    Log    Query VNF The GET method queries information about multiple VNF instances.
    Log    Query VNF The GET method queries information about multiple VNF instances.
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"} 
    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances?fields=wrong_field
    Log    Validate Status code
    Output    response
    Integer    response status    400

# Get information about multiple VNF instances Unauthorized
    # Log    Query VNF The GET method queries information about multiple VNF instances.
    # Set Headers  {"Accept":"${ACCEPT}"}  
    # Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    # Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${WRONG_AUTHORIZATION}"}
    # Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${WRONG_AUTHORIZATION}"}
    Get    /vnflcm/v1/vnf_instances
    # Get    /vnflcm/v1/vnf_instances
    # Output    response
    # Integer    response status    401
    # Log    Status code validated

# Get information about multiple VNF instances Forbidden
    # Log    Query VNF The GET method queries information about multiple VNF instances
    # Set Headers  {"Accept":"${ACCEPT}"}  
    # Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    # Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${WRONG_AUTHORIZATION}"}
    # Get    /vnflcm/v1/vnf_instances
    # Output    response
    # Integer    response status    403
    # Log    Status code validated
    
PUT VNFInstances - Method not implemented
    log    Trying to perform a PUT. This method should not be implemented
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Put    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances    {"vnfInstanceDescription": "${vnfInstanceDescription_Update}"}
    Log    Validate Status code
    Output    response
    Output    response
    Integer    response status    401
    Integer    response status    405
    Log    Status code validated


Get information about multiple VNF instances Forbidden
PATCH VNFInstances - Method not implemented
    Log    Query VNF The GET method queries information about multiple VNF instances
    log    Trying to perform a PATCH. This method should not be implemented
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${WRONG_AUTHORIZATION}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Get    /vnflcm/v1/vnf_instances
    Patch    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances    {"vnfInstanceDescription": "${vnfInstanceDescription_Update}"}
    Log    Validate Status code
    Output    response
    Output    response
    Integer    response status    403
    Integer    response status    405
    Log    Status code validated

DELETE VNFInstances - Method not implemented
    log    Trying to perform a DELETE. This method should not be implemented
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Delete    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances
    Log    Validate Status code
    Output    response
    Integer    response status    405
    
    
*** Keywords ***
*** Keywords ***
+6 −1
Original line number Original line Diff line number Diff line
@@ -9,9 +9,14 @@ ${AUTHORIZATION} Bearer QWxhZGRpbjpvcGVuIHNlc2FtZQ==
${CONTENT_TYPE}    application/json
${CONTENT_TYPE}    application/json
${ACCEPT}         application/json
${ACCEPT}         application/json
${apiRoot}        /
${apiRoot}        /
${apiName}        vnflcm
${apiVersion}     v1    
${AUTH_USAGE}     1
${AUTH_USAGE}     1
${WRONG_AUTHORIZATION}    Bearer    XXXXXWRONGXXXXX
${WRONG_AUTHORIZATION}    Bearer    XXXXXWRONGXXXXX
${vnfPkgId}       6fc3539c-e602-4afa-8e13-962fb5a7d81f
${vnfId}       6fc3539c-e602-4afa-8e13-962fb5a7d81f
${vnfInstanceName}    Test-VnfInstance
${vnfInstanceDescription}    description vnf
${vnfInstanceDescription_Update}    Updated description vnf 
${SINGLE_FILE_VNFD}    1    # If VNFD is PLAIN TEXT
${SINGLE_FILE_VNFD}    1    # If VNFD is PLAIN TEXT
${ACCEPT_PLAIN}    text/plain
${ACCEPT_PLAIN}    text/plain
${ACCEPT_ZIP}     application/zip
${ACCEPT_ZIP}     application/zip