Newer
Older
Elian Kraja
committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
*** Settings ***
Library HttpLibrary.HTTP
Resource environment/vnfPackages.txt # VNF Packages specific parameters
Library JSONSchemaLibrary schemas/
Resource environment/generic.txt # Generic Parameters
Library JSONLibrary
*** Test Cases ***
GET all Packages
Log Trying to get all VNF Packages present in the NFVO Catalogue
Create HTTP Context ${NFVO_HOST}:${NFVO_PORT} ${NFVO_SCHEMA}
Set Request Header Accept ${ACCEPT_JSON}
Run Keyword If ${AUTH_USAGE} == 1 Set Request Header Authorization ${AUTHORIZATION}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages
Response Status Code Should Equal 200
${vnfPkgInfos}= Get Response Body
Response Header Should Equal Content-Type ${CONTENT_TYPE_JSON}
Log Trying to validate response
Validate Json vnfPkgInfo.schema.json ${vnfPkgInfos}
Log Validation OK
GET all Packages - Filter
Log Trying to get all VNF Packages present in the NFVO Catalogue, using filter params
Create HTTP Context ${NFVO_HOST}:${NFVO_PORT} ${NFVO_SCHEMA}
Set Request Header Accept ${ACCEPT_JSON}
Run Keyword If ${AUTH_USAGE} == 1 Set Request Header Authorization ${AUTHORIZATION}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages?${POS_FIELDS}
Response Status Code Should Equal 200
${vnfPkgInfos}= Get Response Body
Response Header Should Equal Content-Type ${CONTENT_TYPE_JSON}
Log Trying to validate response
Validate Json vnfPkgInfo.schema.json ${vnfPkgInfos}
Log Validation OK
GET all Packages - Negative (wronge filter name)
Log Trying to perform a negative get, filtering by the inexistent field 'nfvId'
Create HTTP Context ${NFVO_HOST}:${NFVO_PORT} ${NFVO_SCHEMA}
Set Request Header Accept ${ACCEPT_JSON}
Run Keyword If ${AUTH_USAGE} == 1 Set Request Header Authorization ${AUTHORIZATION}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages?${NEG_FIELDS}
Response Status Code Should Equal 400
Log Received 400 Bad Request as expected
${problemDetails}= Get Response Body
Response Header Should Equal Content-Type ${CONTENT_TYPE_JSON}
Log Trying to validate ProblemDetails
Validate Json ProblemDetails.schema.json ${problemDetails}
Log Validation OK
GET all Packages - Negative (Unauthorized: Wrong Token)
Log Trying to perform a negative get, using wrong authorization bearer
Pass Execution If ${AUTH_USAGE} == 0 Skipping test as NFVO is not supporting authentication
Create HTTP Context ${NFVO_HOST}:${NFVO_PORT} ${NFVO_SCHEMA}
Set Request Header Accept ${ACCEPT_JSON}
Set Request Header Authorization ${NEG_AUTHORIZATION}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages
Response Status Code Should Equal 401
Log Received 401 Unauthorized as expected
${problemDetails}= Get Response Body
Response Header Should Equal Content-Type ${CONTENT_TYPE_JSON}
Log Trying to validate ProblemDetails
Validate Json ProblemDetails.schema.json ${problemDetails}
Log Validation OK
GET all Packages - Negative (Unauthorized: No Token)
Log Trying to perform a negative get, using wrong authorization bearer
Pass Execution If ${AUTH_USAGE} == 0 Skipping test as NFVO is not supporting authentication
Create HTTP Context ${NFVO_HOST}:${NFVO_PORT} ${NFVO_SCHEMA}
Set Request Header Accept ${ACCEPT_JSON}
Set Request Header Authorization ${NEG_AUTHORIZATION}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages
Response Status Code Should Equal 401
Log Received 401 Unauthorized as expected
${problemDetails}= Get Response Body
Response Header Should Equal Content-Type ${CONTENT_TYPE_JSON}
Log Trying to validate ProblemDetails
Validate Json ProblemDetails.schema.json ${problemDetails}
Log Validation OK
GET all Packages - all_fields
Log Trying to get all VNF Packages present in the NFVO Catalogue, using filter params
Create HTTP Context ${NFVO_HOST}:${NFVO_PORT} ${NFVO_SCHEMA}
Set Request Header Accept ${ACCEPT_JSON}
Run Keyword If ${AUTH_USAGE} == 1 Set Request Header Authorization ${AUTHORIZATION}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages?all_fields
Response Status Code Should Equal 200
${vnfPkgInfos}= Get Response Body
Response Header Should Equal Content-Type ${CONTENT_TYPE_JSON}
Log Trying to validate response
Validate Json vnfPkgInfo.schema.json ${vnfPkgInfos}
Log Validation OK
Log Trying to validate softwareImages schema
${softwareImages}= Get Value From Json ${vnfPkgInfos} $..softwareImages
Validate Json softwareImage.schema.json ${softwareImages}
Log Validation for softwareImage schema OK
Log Trying to validate additionalArtifacts schema
${additional_artifacts}= Get Value From Json ${vnfPkgInfos} $..additionalArtifacts
Validate Json additionalArtifacts.schema.json ${additional_artifacts}
Log Validation for additionalArtifacts schema OK
${links}= Get Value From Json ${vnfPkgInfos} $.._links
Validate Json links.schema.json ${links}
Log Validation for _links schema OK
GET all Packages - fields
Log Trying to get all VNF Packages present in the NFVO Catalogue, using filter params
Pass Execution If ${AUTH_USAGE} == 0 Skipping test as NFVO is not supporting 'fields'
Create HTTP Context ${NFVO_HOST}:${NFVO_PORT} ${NFVO_SCHEMA}
Set Request Header Accept ${ACCEPT_JSON}
Run Keyword If ${AUTH_USAGE} == 1 Set Request Header Authorization ${AUTHORIZATION}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages?fields=${fields}
Response Status Code Should Equal 200
${vnfPkgInfos}= Get Response Body
Response Header Should Equal Content-Type ${CONTENT_TYPE_JSON}
Log Trying to validate response, checking vnfPkgInfo and other complex attributes included in the vnfPkgInfo
Validate Json vnfPkgInfo.schema.json ${vnfPkgInfos}
Log Validation for vnfPkgInfo OK
Log Trying to validate softwareImages schema
${softwareImages}= Get Value From Json ${vnfPkgInfos} $..softwareImages
Validate Json softwareImage.schema.json ${softwareImages}
Log Validation for softwareImage schema OK
Log Trying to validate additionalArtifacts schema
${additional_artifacts}= Get Value From Json ${vnfPkgInfos} $..additionalArtifacts
Validate Json additionalArtifacts.schema.json ${additional_artifacts}
Log Validation for additionalArtifacts schema OK
GET all PACKAGE (Negative: Not found)
Log Trying to perform a GET on a erroneous URI
Create HTTP Context ${NFVO_HOST}:${NFVO_PORT} ${NFVO_SCHEMA}
Set Request Header Accept ${ACCEPT_JSON}
Run Keyword If ${AUTH_USAGE} == 1 Set Request Header Authorization ${AUTHORIZATION}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_package
Response Status Code Should Equal 404
Log Received 404 Not Found as expected
${problemDetails}= Get Response Body
Response Header Should Equal Content-Type ${CONTENT_TYPE_JSON}
Log Trying to validate ProblemDetails
Validate Json ProblemDetails.schema.json ${problemDetails}
Log Validation OK
POST all PACKAGE (Method not implemented)
Log Trying to perform a POST (method should not be implemented)
Create HTTP Context ${NFVO_HOST}:${NFVO_PORT} ${NFVO_SCHEMA}
Set Request Header Accept ${ACCEPT_JSON}
Run Keyword If ${AUTH_USAGE} == 1 Set Request Header Authorization ${AUTHORIZATION}
POST ${apiRoot}/${apiName}/${apiVersion}/vnf_packages
Response Status Code Should Equal 405
Log Received 405 Method not implemented as expected
#${problemDetails}= Get Response Body
#Response Header Should Equal Content-Type ${CONTENT_TYPE_JSON}
#Log Trying to validate ProblemDetails
#Validate Json ProblemDetails.schema.json ${problemDetails}
#Log Validation OK
Elian Kraja
committed
PUT all PACKAGE (Method not implemented)
Log Trying to perform a PUT. This method should not be implemented
Create HTTP Context ${NFVO_HOST}:${NFVO_PORT} ${NFVO_SCHEMA}
Set Request Header Accept ${ACCEPT_JSON}
Run Keyword If ${AUTH_USAGE} == 1 Set Request Header Authorization ${AUTHORIZATION}
PUT ${apiRoot}/${apiName}/${apiVersion}/vnf_packages
Response Status Code Should Equal 405
Log Received 405 Method not implemented as expected
#${problemDetails}= Get Response Body
#Response Header Should Equal Content-Type ${CONTENT_TYPE_JSON}
#Log Trying to validate ProblemDetails
#Validate Json ProblemDetails.schema.json ${problemDetails}
#Log Validation OK
Elian Kraja
committed
PATCH all PACKAGE (Method not implemented)
Log Trying to perform a PUT. This method should not be implemented
Create HTTP Context ${NFVO_HOST}:${NFVO_PORT} ${NFVO_SCHEMA}
Set Request Header Accept ${ACCEPT_JSON}
Run Keyword If ${AUTH_USAGE} == 1 Set Request Header Authorization ${AUTHORIZATION}
Http Request "PATCH" ${apiRoot}/${apiName}/${apiVersion}/vnf_packages
#PATCH ${apiRoot}/${apiName}/${apiVersion}/vnf_packages
Response Status Code Should Equal 405
Log Received 405 Method not implemented as expected
#${problemDetails}= Get Response Body
#Response Header Should Equal Content-Type ${CONTENT_TYPE_JSON}
#Log Trying to validate ProblemDetails
#Validate Json ProblemDetails.schema.json ${problemDetails}
#Log Validation OK
Elian Kraja
committed
DELETE all PACKAGE (Method not implemented)
Log Trying to perform a PUT. This method should not be implemented
Create HTTP Context ${NFVO_HOST}:${NFVO_PORT} ${NFVO_SCHEMA}
Set Request Header Accept ${ACCEPT_JSON}
Run Keyword If ${AUTH_USAGE} == 1 Set Request Header Authorization ${AUTHORIZATION}
DELETE ${apiRoot}/${apiName}/${apiVersion}/vnf_packages
Response Status Code Should Equal 405
Log Received 405 Method not implemented as expected
#${problemDetails}= Get Response Body
#Response Header Should Equal Content-Type ${CONTENT_TYPE_JSON}
#Log Trying to validate ProblemDetails
#Validate Json ProblemDetails.schema.json ${problemDetails}
#Log Validation OK