VNFDInIndividualVNFPackage.robot 6.4 KB
Newer Older
1
2
3
4
*** Settings ***
Library           JSONSchemaLibrary    schemas/
Resource          environment/generic.txt    # Generic Parameters
Resource          environment/vnfdInIndividualVnfPackage.txt
5
Library           JSONLibrary
6
Library           REST    ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT}
7
8

*** Test Cases ***
9
GET VNFD in Individual VNF Package (PLAIN)
10
    Log    Trying to get a VNFD from a given VNF Package present in the NFVO Catalogue
11
12
    Set Headers    {"Accept": "${ACCEPT_PLAIN}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization: "${AUTHORIZATION}"}
13
    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgPlainVNFD}/vnfd
14
15
16
    Integer    response status    200
    ${contentType}=    Output    response headers Content-Type
    Should Contain    ${contentType}    ${CONTENT_TYPE_PLAIN}
17

18
GET VNFD in Individual VNF Package (ZIP)
19
    Log    Trying to get a VNFD from a given VNF Package present in the NFVO Catalogue
20
21
    Set Headers    {"Accept": "${ACCEPT_ZIP}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization: "${AUTHORIZATION}"}
22
    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgZipVNFD}/vnfd
23
24
25
    Integer    response status    200
    ${contentType}=    Output    response headers Content-Type
    Should Contain    ${contentType}    ${CONTENT_TYPE_ZIP}
26

27
GET VNFD in Individual VNF Package (PLAIN-ZIP)
28
    Log    Trying to get a VNFD from a given VNF Package present in the NFVO Catalogue
29
30
31
    Set Headers    {"Accept": "${ACCEPT_PLAIN}"}
    Set Headers    {"Accept": "${ACCEPT_ZIP}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization: "${AUTHORIZATION}"}
32
    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgZipVNFD}/vnfd
33
34
35
36
    Integer    response status    200
    ${contentType}=    Output    response headers Content-Type
    Run Keyword If    ${NFVO_PLAIN} == 0    Should Contain    ${contentType}    ${CONTENT_TYPE_ZIP}
    Run Keyword If    ${NFVO_PLAIN} == 1    Should Contain    ${contentType}    ${CONTENT_TYPE_PLAIN}
37
38
39

GET VNFD in Individual VNF Package - Negative (PLAIN/ZIP)
    Log    Trying to get a negative case performing a get on a VNFD from a given VNF Package present in the NFVO Catalogue. Accept will be text/plain but VNFD is composed my multiple files.
40
41
    Set Headers    {"Accept": "${ACCEPT_PLAIN}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization: "${AUTHORIZATION}"}
42
    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgZipVNFD}/vnfd
43
44
45
    Integer    response status    406
    ${contentType}=    Output    response headers Content-Type
    Should Contain    ${contentType}    ${CONTENT_TYPE_JSON}
46
    Log    Trying to validate ProblemDetails
47
48
    ${problemDetails}=    Output    response body
    ${json}=    evaluate    json.loads('''${problemDetails}''')    json
Elian Kraja's avatar
Elian Kraja committed
49
    Validate Json    ProblemDetails.schema.json    ${json}
50
51
    Log    Validation OK

52
GET VNFD in Individual VNF Package - Negative (Not Found)
53
    Log    Trying to perform a negative get, using an erroneous package ID
54
55
56
    Set Headers    {"Accept": "${ACCEPT_PLAIN}"}
    Set Headers    {"Accept": "${ACCEPT_ZIP}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization: "${AUTHORIZATION}"}
57
    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${erroneousVnfPkgId}/vnfd
58
    Integer    response status    404
59
    Log    Received 404 Not Found as expected
60
61
    ${contentType}=    Output    response headers Content-Type
    Should Contain    ${contentType}    ${CONTENT_TYPE_JSON}
62
    Log    Trying to validate ProblemDetails
63
    ${problemDetails}=    Output    response body
Elian Kraja's avatar
Elian Kraja committed
64
65
    ${json}=    evaluate    json.loads('''${problemDetails}''')    json
    Validate Json    ProblemDetails.schema.json    ${json}
66
67
68
69
    Log    Validation OK

GET VNFD in Individual VNF Package - Negative (onboardingState issue)
    Log    Trying to get a VNFD from a given VNF Package present in the NFVO Catalogue
70
71
72
    Set Headers    {"Accept": "${ACCEPT_PLAIN}"}
    Set Headers    {"Accept": "${ACCEPT_ZIP}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization: "${AUTHORIZATION}"}
73
    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${onboardingStateVnfPkgId}/vnfd
74
    Integer    response status    409
75
    Log    Received 409 Conflict as expected
76
77
    ${contentType}=    Output    response headers Content-Type
    Should Contain    ${contentType}    ${CONTENT_TYPE_JSON}
78
    Log    Trying to validate ProblemDetails
79
80
    ${problemDetails}=    Output    response body
    ${json}=    evaluate    json.loads('''${problemDetails}''')    json
Elian Kraja's avatar
Elian Kraja committed
81
    Validate Json    ProblemDetails.schema.json    ${json}
82
83
    Log    Validation OK

84
POST VNFD in Individual VNF Package (Method not implemented)
85
    Log    Trying to perform a POST (method should not be implemented)
86
87
    Set Headers    {"Accept": "${ACCEPT_ZIP}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization: "${AUTHORIZATION}"}
88
    POST    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/vnfd
89
    Integer    response status    405
90
91
    Log    Received 405 Method not implemented as expected

92
PUT VNFD in Individual VNF Package (Method not implemented)
93
    Log    Trying to perform a PUT. This method should not be implemented
94
95
    Set Headers    {"Accept": "${ACCEPT_ZIP}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization: "${AUTHORIZATION}"}
96
    PUT    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/vnfd
97
    Integer    response status    405
98
99
    Log    Received 405 Method not implemented as expected

100
PATCH VNFD in Individual VNF Package (Method not implemented)
101
    Log    Trying to perform a PATCH. This method should not be implemented
102
103
104
105
    Set Headers    {"Accept": "${ACCEPT_ZIP}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization: "${AUTHORIZATION}"}
    PATCH    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/vnfd
    Integer    response status    405
106
107
    Log    Received 405 Method not implemented as expected

108
DELETE VNFD in Individual VNF Package (Method not implemented)
109
    Log    Trying to perform a DELETE. This method should not be implemented
110
111
    Set Headers    {"Accept": "${ACCEPT_ZIP}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization: "${AUTHORIZATION}"}
112
    DELETE    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}
113
    Integer    response status    405
114
    Log    Received 405 Method not implemented as expected