Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
NFV - Network Functions Virtualisation
api-tests
Commits
5124b1f8
Commit
5124b1f8
authored
Sep 26, 2018
by
Elian Kraja
Browse files
Completed VNF Indicator Interface
parent
fc066fde
Changes
22
Hide whitespace changes
Inline
Side-by-side
SOL003/VNFIndicator-API_nxw/IndividualSubscription.robot
0 → 100644
View file @
5124b1f8
*** Settings ***
Library
HttpLibrary.HTTP
Library
JSONSchemaLibrary
schemas/
Resource
environment/generic.txt
# Generic Parameters
Resource
environment/individualSubscription.txt
Library
OperatingSystem
*** Test Cases ***
GET Individual Subscription
Log
Trying to get a given subscription identified by subscriptionId
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions/
${subscriptionId}
Response Status Code Should Equal
200
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Received a 200 OK as expected
${result}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${result}
''')
json
Validate Json
VnfIndicatorSubscriptions.schema.json
${json}
Log
Validated VnfIndicatorSubscription schema
GET Subscription - Negative (Not Found)
Log
Trying to perform a request on a subscriptionID which doesn't exist
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions/
${erroneousSubscriptionId}
Response Status Code Should Equal
404
Log
Received 404 Not Found as expected
${problemDetails}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${problemDetails}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate ProblemDetails
Validate Json
ProblemDetails.schema.json
${json}
Log
Validation OK
GET Subscription - Negative (Unauthorized: Wrong Token)
Log
Trying to perform a negative get, using wrong authorization bearer
Pass Execution If
${VNFM_AUTH_USAGE}
=
= 0
Skipping test as NFVO is not supporting authentication
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions/
${subscriptionId}
Response Status Code Should Equal
401
Log
Received 401 Unauthorized as expected
${problemDetails}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${problemDetails}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate ProblemDetails
Validate Json
ProblemDetails.schema.json
${json}
Log
Validation OK
DELETE Subscription
Log
Trying to perform a DELETE on a subscriptionId
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
DELETE
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions/
${subscriptionId}
Response Status Code Should Equal
204
Log
Received 204 No Content as expected
Log
Trying to get the deleted element
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions/
${subscriptionId}
Response Status Code Should Equal
404
Log
The subscriptionId is not present in database
DELETE Subscription - Negative (Not Found)
Log
Trying to perform a DELETE on a subscriptionId which doesn't exist
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
DELETE
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions/
${erroneousSubscriptionId}
Response Status Code Should Equal
404
Log
The subscriptionId is not present in database
${problemDetails}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${problemDetails}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate ProblemDetails
Validate Json
ProblemDetails.schema.json
${json}
Log
Validation OK
PUT Subscription - (Method not implemented)
Log
Trying to perform a PUT. This method should not be implemented
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
PUT
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions/
${subscriptionId}
Response Status Code Should Equal
405
Log
Received 405 Method not implemented as expected
PATCH Subscription - (Method not implemented)
Log
Trying to perform a PATCH. This method should not be implemented
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
Http Request
PATCH
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions/
${subscriptionId}
Response Status Code Should Equal
405
Log
Received 405 Method not implemented as expected
POST Subscription - (Method not implemented)
Log
Trying to perform a POST. This method should not be implemented
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
POST
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions/
${subscriptionId}
Response Status Code Should Equal
405
Log
Received 405 Method not implemented as expected
SOL003/VNFIndicator-API_nxw/IndividualVNFindicator.robot
0 → 100644
View file @
5124b1f8
*** Settings ***
Library
HttpLibrary.HTTP
Library
JSONSchemaLibrary
schemas/
Resource
environment/generic.txt
# Generic Parameters
Resource
environment/individualVnfIndicator.txt
*** Test Cases ***
GET Individual VNF Indicator
Log
The GET method reads a VNF indicator.
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators/
${vnfInstanceId}
/
${indicatorId}
Response Status Code Should Equal
200
${result}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${vnfPkgInfo}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate response
Validate Json
vnfIndicators.schema.json
${json}
Log
Validation OK
GET Individual VNF Indicator - Negative (Not Found)
Log
Trying to perform a negative get, using an erroneous package ID
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators/
${vnfInstanceId}
/
${erroneousIndicatorId}
Response Status Code Should Equal
404
Log
Received 404 Not Found as expected
${problemDetails}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${problemDetails}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate ProblemDetails
Validate Json
ProblemDetails.schema.json
${json}
Log
Validation OK
GET Individual VNF Indicator - Negative (Unauthorized: Wrong Token)
Log
Trying to perform a negative get, using wrong authorization bearer
Pass Execution If
${VNFM_AUTH_USAGE}
=
= 0
Skipping test as NFVO is not supporting authentication
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Set Request Header
Authorization
${NEG_AUTHORIZATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators/
${vnfInstanceId}
/
${indicatorId}
Response Status Code Should Equal
401
Log
Received 401 Unauthorized as expected
${problemDetails}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${problemDetails}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate ProblemDetails
Validate Json
ProblemDetails.schema.json
${json}
Log
Validation OK
GET Individual VNF Indicator - Negative (Unauthorized: No Token)
Log
Trying to perform a negative get, without authentication token.
Pass Execution If
${VNFM_AUTH_USAGE}
=
= 0
Skipping test as NFVO is not supporting authentication
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators/
${vnfInstanceId}
/
${indicatorId}
Response Status Code Should Equal
401
Log
Received 401 Unauthozired as expected
${problemDetails}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${problemDetails}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate ProblemDetails
Validate Json
ProblemDetails.schema.json
${json}
Log
Validation OK
POST Individual VNF Indicator (Method not implemented)
Log
Trying to perform a POST (method should not be implemented)
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
POST
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators/
${vnfInstanceId}
/
${indicatorId}
Response Status Code Should Equal
405
Log
Received 405 Method not implemented as expected
PUT Individual VNF Indicator (Method not implemented)
Log
Trying to perform a PUT. This method should not be implemented
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
PUT
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators/
${vnfInstanceId}
/
${indicatorId}
Response Status Code Should Equal
405
Log
Received 405 Method not implemented as expected
PATCH Individual VNF Indicator (Method not implemented)
Log
Trying to perform a PATCH. This method should not be implemented
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
Http Request
PATCH
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators/
${vnfInstanceId}
/
${indicatorId}
Response Status Code Should Equal
405
Log
Received 405 Method not implemented as expected
DELETE Individual VNF Indicator (Method not implemented)
Log
Trying to perform a DELETE. This method should not be implemented
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
DELETE
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators/
${vnfInstanceId}
/
${indicatorId}
Response Status Code Should Equal
405
Log
Received 405 Method not implemented as expected
SOL003/VNFIndicator-API_nxw/SOL003-VNFIndicator-API.yaml
0 → 100644
View file @
5124b1f8
This source diff could not be displayed because it is too large. You can
view the blob
instead.
SOL003/VNFIndicator-API_nxw/Subscriptions.robot
0 → 100644
View file @
5124b1f8
*** Settings ***
Library
HttpLibrary.HTTP
Library
JSONSchemaLibrary
schemas/
Resource
environment/generic.txt
# Generic Parameters
Resource
environment/subscriptions.txt
Library
OperatingSystem
Library
JSONLibrary
*** Test Cases ***
GET Subscription
Log
Trying to get the list of subscriptions
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions
Response Status Code Should Equal
200
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Received a 200 OK as expected
${result}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${result}
''')
json
Validate Json
VnfIndicatorSubscription.schema.json
${json}
Log
Validated VnfIndicatorSubscription schema
GET Subscription - Filter
Log
Trying to get the list of subscriptions using filters
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions?
${POS_FILTER}
Response Status Code Should Equal
200
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Received a 200 OK as expected
${result}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${result}
''')
json
Validate Json
VnfIndicatorSubscriptions.schema.json
${json}
Log
Validated VnfIndicatorSubscriptions schema
GET Subscription - Negative Filter
Log
Trying to get the list of subscriptions using filters with wrong attribute name
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions?
${NEG_FILTER}
Response Status Code Should Equal
400
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Received a 400 Bad Request as expected
${problemDetails}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${problemDetails}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate ProblemDetails
Validate Json
ProblemDetails.schema.json
${json}
Log
Validation OK
GET Subscription - Negative (Not Found)
Log
Trying to perform a request on a Uri which doesn't exist
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscription
Response Status Code Should Equal
404
Log
Received 404 Not Found as expected
${problemDetails}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${problemDetails}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate ProblemDetails
Validate Json
ProblemDetails.schema.json
${json}
Log
Validation OK
GET Subscription - Negative (Unauthorized: Wrong Token)
Log
Trying to perform a negative get, using wrong authorization bearer
Pass Execution If
${VNFM_AUTH_USAGE}
=
= 0
Skipping test as VNFM is not supporting authentication
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions
Response Status Code Should Equal
401
Log
Received 401 Unauthorized as expected
${problemDetails}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${problemDetails}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate ProblemDetails
Validate Json
ProblemDetails.schema.json
${json}
Log
Validation OK
POST Subscription
Log
Trying to create a new subscription
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Set Request Header
Content-Type
${CONTENT_TYPE_JSON}
${body}
=
Get File
json/subscriptions.json
Set Request Body
${body}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
POST
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions
Response Status Code Should Equal
201
Log
Received 201 Created as expected
Response Should Have Header
Location
Log
Response has header Location
${result}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${result}
''')
json
Validate Json
VnfIndicatorSubscriptions.schema.json
${json}
Log
Validation of VnfIndicatorSubscription OK
POST Subscription - DUPLICATION
Log
Trying to create a subscription with an already created content
Pass Execution If
${VNFM_DUPLICATION}
=
= 0
VNFM is not permitting duplication. Skipping the test
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Set Request Header
Content-Type
${CONTENT_TYPE_JSON}
${body}
=
Get File
json/subscriptions.json
Set Request Body
${body}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
POST
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions
Response Status Code Should Equal
201
Log
Received 201 Created as expected
Response Should Have Header
Location
Log
Response has header Location
${result}
Get Response Body
${json}
=
evaluate
json.loads('''
${result}
''')
json
Validate Json
VnfIndictorSubscriptions.schema.json
${json}
Log
Validation of VnfIndicatorSubscriptions OK
POST Subscription - NO DUPLICATION
Log
Trying to create a subscription with an already created content
Pass Execution If
${VNFM_DUPLICATION}
=
= 1
VNFM is permitting duplication. Skipping the test
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Set Request Header
Content-Type
${CONTENT_TYPE_JSON}
${body}
=
Get File
json/subscriptions.json
Set Request Body
${body}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
POST
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions
Response Status Code Should Equal
303
Log
Received 303 See Other as expected
Response Should Have Header
Location
Log
Response header contains Location
PUT Subscription - (Method not implemented)
Log
Trying to perform a PUT. This method should not be implemented
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
PUT
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions
Response Status Code Should Equal
405
Log
Received 405 Method not implemented as expected
PATCH Subscription - (Method not implemented)
Log
Trying to perform a PATCH. This method should not be implemented
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
Http Request
PATCH
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions
Response Status Code Should Equal
405
Log
Received 405 Method not implemented as expected
DELETE Subscription - (Method not implemented)
Log
Trying to perform a DELETE. This method should not be implemented
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
DELETE
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions
Response Status Code Should Equal
405
Log
Received 405 Method not implemented as expected
SOL003/VNFIndicator-API_nxw/VNFIndicators.robot
0 → 100644
View file @
5124b1f8
*** Settings ***
Library
HttpLibrary.HTTP
Library
JSONSchemaLibrary
schemas/
Resource
environment/generic.txt
# Generic Parameters
Library
JSONLibrary
Resource
environment/vnfIndicators.txt
*** Test Cases ***
GET all Indicators
Log
The GET method queries multiple VNF indicators
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators
Response Status Code Should Equal
200
${result}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${result}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate response
Validate Json
vnfIndicators.schema.json
${json}
Log
Validation OK
GET all Indicators - Filter
Log
The GET method queries multiple VNF indicators using Attribute-based filtering parameters
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators?
${POS_FIELDS}
Response Status Code Should Equal
200
${result}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${result}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate response
Validate Json
vnfIndicators.schema.json
${json}
Log
Validation OK
GET all Indicators - Negative (wronge filter name)
Log
The GET method queries multiple VNF indicators using Attribute-based filtering parameters. Negative case, with erroneous attribute name
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators?
${NEG_FIELDS}
Response Status Code Should Equal
400
Log
Received 400 Bad Request as expected
${problemDetails}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${problemDetails}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate ProblemDetails
Validate Json
ProblemDetails.schema.json
${json}
Log
Validation OK
GET all Indicators - Negative (Unauthorized: Wrong Token)
Log
Trying to perform a negative get, using wrong authorization bearer
Pass Execution If
${VNFM_AUTH_USAGE}
=
= 0
Skipping test as NFVO is not supporting authentication
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Set Request Header
Authorization
${NEG_AUTHORIZATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators
Response Status Code Should Equal
401
Log
Received 401 Unauthorized as expected
${problemDetails}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${problemDetails}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate ProblemDetails
Validate Json
ProblemDetails.schema.json
${json}
Log
Validation OK
GET all Indicators - Negative (Unauthorized: No Token)
Log
Trying to perform a negative get, using wrong authorization bearer
Pass Execution If
${VNFM_AUTH_USAGE}
=
= 0
Skipping test as NFVO is not supporting authentication
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Set Request Header
Authorization
${NEG_AUTHORIZATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators
Response Status Code Should Equal
401
Log
Received 401 Unauthorized as expected
${problemDetails}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${problemDetails}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate ProblemDetails
Validate Json
ProblemDetails.schema.json
${json}
Log
Validation OK
GET all Indicators (Negative: Not found)
Log
Trying to perform a GET on a erroneous URI
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicator
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 Indicators (Method not implemented)
Log
Trying to perform a POST (method should not be implemented)
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
POST
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators
Response Status Code Should Equal
405
Log
Received 405 Method not implemented as expected
PUT all Indicators (Method not implemented)
Log
Trying to perform a PUT. This method should not be implemented
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
PUT
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators
Response Status Code Should Equal
405
Log
Received 405 Method not implemented as expected
PATCH all Indicators (Method not implemented)
Log
Trying to perform a PUT. This method should not be implemented
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
Http Request
PATCH
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators
Response Status Code Should Equal
405
Log
Received 405 Method not implemented as expected
DELETE all Indicators (Method not implemented)
Log
Trying to perform a PUT. This method should not be implemented
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
DELETE
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators
Response Status Code Should Equal
405
Log
Received 405 Method not implemented as expected
SOL003/VNFIndicator-API_nxw/VnfIndicatorsInVnfInstanceId.robot
0 → 100644
View file @
5124b1f8
*** Settings ***
Library
HttpLibrary.HTTP
Library
JSONSchemaLibrary
schemas/
Resource
environment/generic.txt
# Generic Parameters
Resource
environment/vnfIndicatorinVnfInstance.txt
Library
JSONLibrary
*** Test Cases ***
GET Indicators on VNF Instance
Log
This resource represents VNF indicators related to a VNF instance.
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators/
${vnfInstanceId}
Response Status Code Should Equal
200
${result}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${result}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate response
Validate Json
vnfIndicators.schema.json
${json}
Log
Validation OK
GET Indicators on VNF Instance - Filter
Log
This resource represents VNF indicators related to a VNF instance.
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators/
${vnfInstanceId}
?
${POS_FIELDS}
Response Status Code Should Equal
200
${result}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${result}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate response
Validate Json
vnfIndicators.schema.json
${json}
Log
Validation OK
GET Indicators on VNF Instance - Negative Filter
Log
This resource represents VNF indicators related to a VNF instance.
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators/
${vnfInstanceId}
?
${NEG_FIELDS}
Response Status Code Should Equal
400
${problemDetails}
=
Get Response Body
${json}
=
evaluate
json.loads('''
${problemDetails}
''')
json
Response Header Should Equal
Content-Type
${CONTENT_TYPE_JSON}
Log
Trying to validate ProblemDetails
Validate Json
ProblemDetails.schema.json
${json}
Log
Validation OK
GET Indicators on VNF Instance - Negative (Not Found)
Log
Trying to perform a negative get, using wrong authorization bearer
Create HTTP Context
${VNFM_HOST}
:
${VNFM_PORT}
${VNFM_SCHEMA}
Set Request Header
Accept
${ACCEPT_JSON}
Run Keyword If
${VNFM_AUTH_USAGE}
=
= 1
Set Request Header
Authorization
${VNFM_AUTHENTICATION}
GET
${apiRoot}
/
${apiName}
/
${apiVersion}
/indicators/
${erroneousVnfInstanceId}
Response Status Code Should Equal
404