Commit d85ed195 authored by Elian Kraja's avatar Elian Kraja
Browse files
parents 64dee189 6af3c99c
Loading
Loading
Loading
Loading
+71 −13
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


*** 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 /vnflcm/v1/vnf_instances
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "application/json"}
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${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"}
    Log    Validate Status code
    Output    response
    Integer    response status    200
    Integer    response status    201
    Log    Status code validated


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


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


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.
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "application/json"}
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Set Headers  {"Authorization": "${AUTHORIZATION_TOKEN}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Log    Execute Query and validate against online spec
    Log    Execute Query and validate response
    Get    /vnflcm/v1/vnf_instances
    Get    /vnflcm/v1/vnf_instances
    Output    response
    Log    Validate Status code
    Log    Validate Status code
    Integer    response status    200
    Integer    response status    200


    Log    Execute Query and validate against online spec
Get information about multiple VNF instances Bad Request 
    GET    ${apiRoot}/vnflcm/v1/vnf_instances?fields=wrong_field
    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":"${AUTHORIZATION}"} 
    GET    /vnflcm/v1/vnf_instances?fields=wrong_field
    Log    Validate Status code
    Log    Validate Status code
    Output    response
    Integer    response status    400
    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}"}
    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
    
*** Keywords ***
+21 −0
Original line number Original line Diff line number Diff line
*** Variables ***
${VNFM_HOST}      localhost    # Hostname of the VNFM
${VNFM_PORT}      8080    # Listening port of the VNFM
${NFVO_HOST}      localhost    # Hostname of the NFVO
${NFVO_PORT}      8081    # Listening port of the NFVO
${VNFM_SCHEMA}    https
${NFVO_SCHEMA}    https
${AUTHORIZATION}    Bearer    QWxhZGRpbjpvcGVuIHNlc2FtZQ==
${CONTENT_TYPE}    application/json
${ACCEPT}         application/json
${apiRoot}        /
${AUTH_USAGE}     1
${WRONG_AUTHORIZATION}    Bearer    XXXXXWRONGXXXXX
${vnfPkgId}       6fc3539c-e602-4afa-8e13-962fb5a7d81f
${SINGLE_FILE_VNFD}    1    # If VNFD is PLAIN TEXT
${ACCEPT_PLAIN}    text/plain
${ACCEPT_ZIP}     application/zip
${vnfPkgId_processing}    007c111c-38a1-42c0-a666-7475ecb1567c
${ARTIFACT_TYPE}    application/octet-stream
${ARTIFACT_ID}    artifactId
${WRONG_ACCEPT}    application/json
 No newline at end of file