Commit a07cb515 authored by Elian Kraja's avatar Elian Kraja
Browse files

Added tests on SOL003 and SOL002 postman collections

parent 7ecbac68
{
"info": {
"_postman_id": "6103b843-efec-4129-b85d-72d475bc135e",
"name": "SOL002 - VNF Configuration interface",
"description": "VNF Configuration interface of ETSI NFV SOL002\n\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\n\nPlease report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=---\n",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "configuration",
"description": "Folder for configuration",
"item": [
{
"name": "Read VNF/VNFC configuration from VNF.",
"event": [
{
"listen": "test",
"script": {
"id": "c9bc6a53-9744-4ae6-bdea-655ec5812cae",
"type": "text/javascript",
"exec": [
"pm.test(\"Status code is 200\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"var res_schema = {\"description\":\"This type represents configuration parameters of a VNF instance and its VNFC instances. \",\"type\":\"object\",\"required\":[\"vnfConfigurationData\"],\"properties\":{\"vnfConfigurationData\":{\"description\":\"This type represents configuration parameters of a VNF instance. \",\"type\":\"object\",\"properties\":{\"extCpConfig\":{\"description\":\"This type represents configuration parameters of a CP instance. \",\"type\":\"object\",\"required\":[\"cpId\",\"cpdId\",\"addresses\"],\"properties\":{\"cpId\":{\"description\":\"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. \",\"type\":\"string\"},\"cpdId\":{\"description\":\"An identifier that is unique within a VNF descriptor. \",\"type\":\"string\"},\"addresses\":{\"description\":\"Network address and port assigned to the CP. \",\"type\":\"array\",\"items\":{\"description\":\"This type represents configuration parameters of a CP instance address. * NOTE 1: Either \\\"address\\\" or \\\"useDynamicAddress\\\" shall be present. * NOTE 2: At least one of \\\"macAddress\\\" and \\\"ipAddress\\\" shall be present. \",\"type\":\"object\",\"properties\":{\"address\":{\"description\":\"Network address that has been configured on the CP. See NOTE 1. \",\"type\":\"object\",\"properties\":{\"macAddress\":{\"description\":\"A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. \",\"type\":\"string\",\"format\":\"MAC\"},\"ipAddress\":{\"description\":\"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. \",\"type\":\"string\",\"format\":\"IP\"}}},\"useDynamicAddress\":{\"description\":\"Set to true if an address shall be assigned dynamically. Otherwise set to false. The default value shall be false. See NOTE 1. \",\"type\":\"boolean\"},\"port\":{\"description\":\"The port assigned to the CP instance (e.g. IP port number, Ethernet port number, etc.). \",\"type\":\"integer\"}}}}}},\"dhcpServer\":{\"description\":\"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. \",\"type\":\"string\",\"format\":\"IP\"},\"vnfSpecificData\":{\"description\":\"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \",\"type\":\"object\"}}},\"vnfcConfigurationData\":{\"description\":\"Configuration parameters of the VNFC instances. \",\"type\":\"array\",\"items\":{\"description\":\"This type represents configuration parameters of a VNFC instance. \",\"type\":\"object\",\"required\":[\"vnfcInstanceId\"],\"properties\":{\"vnfcInstanceId\":{\"description\":\"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. \",\"type\":\"string\"},\"intCpConfig\":{\"description\":\"Configuration parameters for the internal CPs of the VNFC instance. \",\"type\":\"array\",\"items\":{\"description\":\"This type represents configuration parameters of a CP instance. \",\"type\":\"object\",\"required\":[\"cpId\",\"cpdId\",\"addresses\"],\"properties\":{\"cpId\":{\"description\":\"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. \",\"type\":\"string\"},\"cpdId\":{\"description\":\"An identifier that is unique within a VNF descriptor. \",\"type\":\"string\"},\"addresses\":{\"description\":\"Network address and port assigned to the CP. \",\"type\":\"array\",\"items\":{\"description\":\"This type represents configuration parameters of a CP instance address. * NOTE 1: Either \\\"address\\\" or \\\"useDynamicAddress\\\" shall be present. * NOTE 2: At least one of \\\"macAddress\\\" and \\\"ipAddress\\\" shall be present. \",\"type\":\"object\",\"properties\":{\"address\":{\"description\":\"Network address that has been configured on the CP. See NOTE 1. \",\"type\":\"object\",\"properties\":{\"macAddress\":{\"description\":\"A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. \",\"type\":\"string\",\"format\":\"MAC\"},\"ipAddress\":{\"description\":\"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. \",\"type\":\"string\",\"format\":\"IP\"}}},\"useDynamicAddress\":{\"description\":\"Set to true if an address shall be assigned dynamically. Otherwise set to false. The default value shall be false. See NOTE 1. \",\"type\":\"boolean\"},\"port\":{\"description\":\"The port assigned to the CP instance (e.g. IP port number, Ethernet port number, etc.). \",\"type\":\"integer\"}}}}}}},\"dhcpServer\":{\"description\":\"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. \",\"type\":\"string\",\"format\":\"IP\"},\"vnfcSpecificData\":{\"description\":\"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \",\"type\":\"object\"}}}}}};",
"",
"pm.test('Schema is valid', function() {",
" pm.expect(tv4.validate(pm.response.json(), res_schema)).to.be.true;",
"});",
""
]
}
}
],
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json"
},
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {},
"url": {
"raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}vnfconfig/v1/configuration",
"protocol": "{{scheme}}",
"host": [
"{{host}}{{port}}"
],
"path": [
"{{uri_prefix}}vnfconfig",
"v1",
"configuration"
]
},
"description": "The client can use this method to read configuration information about a VNF instance and/or its VNFC instances.\n"
},
"response": []
},
{
"name": "Modify VNF/VNFC configuration.",
"event": [
{
"listen": "test",
"script": {
"id": "94714a69-671b-4b3d-98a8-78afe9260841",
"type": "text/javascript",
"exec": [
"pm.test(\"Status code is 200\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"var res_schema = {\"description\":\"This type represents request parameters for the \\\"Set Configuration\\\" operation. * NOTE 1: At least one of \\\"vnfConfigurationData\\\" and \\\"vnfcConfigurationData\\\" shall be present. * NOTE 2: The VnfcConfiguration data type can only be used to modify the configuration of existing VNFC instances. \",\"type\":\"object\",\"properties\":{\"vnfConfigurationData\":{\"description\":\"This type represents configuration parameters of a VNF instance. \",\"type\":\"object\",\"properties\":{\"extCpConfig\":{\"description\":\"This type represents configuration parameters of a CP instance. \",\"type\":\"object\",\"required\":[\"cpId\",\"cpdId\",\"addresses\"],\"properties\":{\"cpId\":{\"description\":\"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. \",\"type\":\"string\"},\"cpdId\":{\"description\":\"An identifier that is unique within a VNF descriptor. \",\"type\":\"string\"},\"addresses\":{\"description\":\"Network address and port assigned to the CP. \",\"type\":\"array\",\"items\":{\"description\":\"This type represents configuration parameters of a CP instance address. * NOTE 1: Either \\\"address\\\" or \\\"useDynamicAddress\\\" shall be present. * NOTE 2: At least one of \\\"macAddress\\\" and \\\"ipAddress\\\" shall be present. \",\"type\":\"object\",\"properties\":{\"address\":{\"description\":\"Network address that has been configured on the CP. See NOTE 1. \",\"type\":\"object\",\"properties\":{\"macAddress\":{\"description\":\"A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. \",\"type\":\"string\",\"format\":\"MAC\"},\"ipAddress\":{\"description\":\"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. \",\"type\":\"string\",\"format\":\"IP\"}}},\"useDynamicAddress\":{\"description\":\"Set to true if an address shall be assigned dynamically. Otherwise set to false. The default value shall be false. See NOTE 1. \",\"type\":\"boolean\"},\"port\":{\"description\":\"The port assigned to the CP instance (e.g. IP port number, Ethernet port number, etc.). \",\"type\":\"integer\"}}}}}},\"dhcpServer\":{\"description\":\"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. \",\"type\":\"string\",\"format\":\"IP\"},\"vnfSpecificData\":{\"description\":\"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \",\"type\":\"object\"}}},\"vnfcConfigurationData\":{\"description\":\"Modifications to configuration data for certain VNFC instances. See NOTE 1 and NOTE 2. If present, the modifications of the \\\"vnfcConfigurationData\\\" attribute shall follow these provisions: Modifying an attribute that is an array of objects of type \\\"VnfcConfigurationData\\\". Assumptions: 1) \\\"oldList\\\" is the \\\"VnfcConfigurationData\\\" array to be modified and \\\"newList\\\" is the \\\"VnfcConfigurationData\\\" array that contains the changes. 2) \\\"oldEntry\\\" is an entry in \\\"oldList\\\" and \\\"newEntry\\\" is an entry in \\\"newList\\\". 3) A \\\"newEntry\\\" has a \\\"corresponding entry\\\" if there exists an \\\"oldEntry\\\" that has the same content of the \\\"vnfcInstanceId\\\" attribute as the \\\"newEntry\\\"; a \\\"newEntry\\\" has no corresponding entry if no such \\\"oldEntry\\\" exists. 4) In any array of \\\"VnfcConfigurationData\\\" structures, the content of \\\"vnfcInstanceId\\\" is unique (i.e. there shall be no two entries with the same content of \\\"vnfcInstanceId\\\"). Provisions: 1) For each \\\"newEntry\\\" in \\\"newList\\\" that has no corresponding entry in \\\"oldList\\\", the \\\"oldList\\\" array shall be modified by adding that \\\"newEntry\\\". 2) For each \\\"newEntry\\\" in \\\"newList\\\" that has a corresponding \\\"oldEntry\\\" in \\\"oldList\\\", the value of \\\"oldEntry\\\" shall be updated with the value of \\\"newEntry\\\" according to the rules of JSON Merge PATCH (see IETF RFC 7396 ). \",\"type\":\"array\",\"items\":{\"description\":\"This type represents configuration parameters of a VNFC instance. \",\"type\":\"object\",\"required\":[\"vnfcInstanceId\"],\"properties\":{\"vnfcInstanceId\":{\"description\":\"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. \",\"type\":\"string\"},\"intCpConfig\":{\"description\":\"Configuration parameters for the internal CPs of the VNFC instance. \",\"type\":\"array\",\"items\":{\"description\":\"This type represents configuration parameters of a CP instance. \",\"type\":\"object\",\"required\":[\"cpId\",\"cpdId\",\"addresses\"],\"properties\":{\"cpId\":{\"description\":\"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. \",\"type\":\"string\"},\"cpdId\":{\"description\":\"An identifier that is unique within a VNF descriptor. \",\"type\":\"string\"},\"addresses\":{\"description\":\"Network address and port assigned to the CP. \",\"type\":\"array\",\"items\":{\"description\":\"This type represents configuration parameters of a CP instance address. * NOTE 1: Either \\\"address\\\" or \\\"useDynamicAddress\\\" shall be present. * NOTE 2: At least one of \\\"macAddress\\\" and \\\"ipAddress\\\" shall be present. \",\"type\":\"object\",\"properties\":{\"address\":{\"description\":\"Network address that has been configured on the CP. See NOTE 1. \",\"type\":\"object\",\"properties\":{\"macAddress\":{\"description\":\"A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. \",\"type\":\"string\",\"format\":\"MAC\"},\"ipAddress\":{\"description\":\"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. \",\"type\":\"string\",\"format\":\"IP\"}}},\"useDynamicAddress\":{\"description\":\"Set to true if an address shall be assigned dynamically. Otherwise set to false. The default value shall be false. See NOTE 1. \",\"type\":\"boolean\"},\"port\":{\"description\":\"The port assigned to the CP instance (e.g. IP port number, Ethernet port number, etc.). \",\"type\":\"integer\"}}}}}}},\"dhcpServer\":{\"description\":\"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. \",\"type\":\"string\",\"format\":\"IP\"},\"vnfcSpecificData\":{\"description\":\"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \",\"type\":\"object\"}}}}}};",
"",
"pm.test('Schema is valid', function() {",
" pm.expect(tv4.validate(pm.response.json(), res_schema)).to.be.true;",
"});",
""
]
}
}
],
"request": {
"method": "PATCH",
"header": [
{
"key": "Accept",
"value": "application/json"
},
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"_comment\": \"al least one of vnfConfigurationData and vnfcConfigurationData must be defined\",\n\t\"vnfConfigurationData \": {},\n\t\"vnfcConfigurationData\" : []\n}"
},
"url": {
"raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}vnfconfig/v1/configuration",
"protocol": "{{scheme}}",
"host": [
"{{host}}{{port}}"
],
"path": [
"{{uri_prefix}}vnfconfig",
"v1",
"configuration"
]
},
"description": "This method sets or modifies a configuration resource."
},
"response": []
}
]
}
]
}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment