...Test objective: The objective is to test the retrieval list of active subscriptions of API consumer and perform a JSON schema validation of the returned subscriptions data structure
...Pre-conditions:At least one subscription is available in the NFV-MANO.
...Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1
...Config ID: Config_prod_NFV-MANO
...Applicability: none
...Post-Conditions: none
Get all Subscriptions
Check HTTP Response Status Code Is200
Check HTTP Response Body Json Schema IsCimSubscriptions
GET Subscriptions with attribute-based filter
[Documentation]Test ID:8.3.1.10.2
...Test title: GET Subscriptions with attribute-based filter
...Test objective: The objective is to test the retrieval of active subscriptions list of API consumer using attribute-based filter, perform a JSON schema validation of the collected indicators data structure, and verify that the retrieved information matches the issued attribute-based filters
...Pre-conditions: At least one subscription is available in the NFV-MANO.
...Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1
...Config ID: Config_prod_NFV-MANO
...Applicability: none
...Post-Conditions: none
Get Subscriptions with attribute-based filters
Check HTTP Response Status Code Is200
Check HTTP Response Body Json Schema IsCimSubscriptions
GET Subscriptions with Paged Response
[Documentation]Test ID: 8.3.1.10.3
...Test title: GET Subscriptions with Paged Response
...Test objective: The objective is to query information of active subscriptions list to of API consumer to get Paged Response.
...Pre-conditions:At least one subscription is available in the NFV-MANO.
...Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1
...Config ID: Config_prod_NFV-MANO
...Applicability:
...Post-Conditions:
Get all Subscriptions
Check HTTP Response Status Code Is200
Check LINK in Header
GET Subscriptions - invalid attribute-based filter
[Documentation]Test ID: 8.3.1.10.4
...Test title: GET Subscriptions - invalid attribute-based filter
...Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response.
...Pre-conditions: At least one subscription is available in the NFV-MANO.
...Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1
...Config ID: Config_prod_NFV-MANO
...Applicability: none
...Post-Conditions: none
Get Subscriptions with invalid attribute-based filters
Check HTTP Response Status Code Is400
Check HTTP Response Body Json Schema IsProblemDetails
GET Subscriptions - Bad Request Response too Big
[Documentation]Test ID: 8.3.1.10.5
...Test title: GET Subscriptions - Bad Request Response too Big
...Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response.
...Pre-conditions: At least one subscription is available in the NFV-MANO.
...Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1
...Config ID: Config_prod_NFV-MANO
...Applicability: none
...Post-Conditions: none
Get all Subscriptions
Check HTTP Response Status Code Is400
Check HTTP Response Body Json Schema IsProblemDetails
GET Subscriptions - invalid resource endpoint
[Documentation]Test ID: 8.3.1.10.6
...Test title: GET Subscriptions - invalid resource endpoint
...Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer fails when using invalid resource endpoint.
...Pre-conditions: At least one subscription is available in the NFV-MANO.
...Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1
...Config ID: Config_prod_NFV-MANO
...Applicability: none
...Post-Conditions: none
Get all Subscriptions
Check HTTP Response Status Code Is404
Create new Subscription
[Documentation]Test ID 8.3.1.10.7
...Test title: Create new Subscription
...Test objective: The objective is to test the creation of a new subscription and perform a JSON schema and content validation of the returned subscription data structure
...Pre-conditions:
...Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1
...Config ID: Config_prod_NFV-MANO
...Applicability: none
...Post-Conditions: The subscription is successfully set and it matches the issued subscription
Send Post Request for Subscription
Check HTTP Response Status Code Is201
Check HTTP Response Body Json Schema IsCimSubscription
Check HTTP Response Body CimSubscription Attributes Values Match the Issued Subscription
Check Postcondition Subscription Is Set
Create request for duplicated Subscription not creating duplicated subscriptions
[Tags]no-duplicated-subs
[Documentation]Test ID 8.3.1.10.8
...Test title: Create request for duplicated Subscription not creating duplicated subscriptions
...Test objective: The objective is to test the attempt of a creation of a duplicated subscription failed and check that no new subscription is created and a link to the original subscription is returned
...Pre-conditions: At least one subscription is available in the NFV-MANO.
...Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1
...Config ID: Config_prod_NFV-MANO
...Applicability: The NFV-MANO does not support the creation of duplicated subscriptions
...Post-Conditions: The existing Subscription returned is available in the NFV-MANO
Send Post Request for Duplicated Subscription
Check HTTP Response Status Code Is303
Check HTTP Response Body Is Empty
Check HTTP Response Header ContainsLocation
Check Postcondition Subscription Resource Returned in Location Header Is Available
Create request for duplicated Subscription creating duplicated subscriptions
[Tags]duplicated-subs
[Documentation]Test ID 8.3.1.10.9
...Test title: Create request for duplicated Subscription creating duplicated subscriptions
...Test objective: The objective is to test the creation of a duplicated subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure
...Pre-conditions: At least one subscription is available in the NFV-MANO.
...Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1
...Config ID: Config_prod_NFV-MANO
...Applicability: The NFV-MANO supports the creation of duplicated subscriptions
...Post-Conditions: The duplicated subscription is successfully set and it matches the issued subscription
Send Post Request for Duplicated Subscription
Check HTTP Response Status Code Is201
Check HTTP Response Body Json Schema IsPmSubscription
Check HTTP Response Body CimSubscription Attributes Values Match the Issued Subscription
Check Postcondition Subscription Is Set
PUT Subscriptions - Method not implemented
[Documentation]Test ID 8.3.1.10.10
...Test title: PUT Subscriptions - Method not implemented
...Test objective: The objective is to test that PUT method is not allowed to modify subscriptions
...Pre-conditions: At least one subscription is available in the NFV-MANO.
...Reference: clause 5.5.4.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1
...Config ID: Config_prod_NFV-MANO
...Applicability: none
...Post-Conditions: none
Send Put Request for Subscriptions
Check HTTP Response Status Code Is405
PATCH Subscriptions - Method not implemented
[Documentation]Test ID 8.3.1.10.11
...Test title: PATCH Subscriptions - Method not implemented
...Test objective: The objective is to test that PATCH method is not allowed to update subscriptions
...Pre-conditions: At least one subscription is available in the NFV-MANO.
...Reference: clause 5.5.4.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1
...Config ID: Config_prod_NFV-MANO
...Applicability: none
...Post-Conditions: none
Send Patch Request for Subscriptions
Check HTTP Response Status Code Is405
DELETE Subscriptions - Method not implemented
[Documentation]Test ID 8.3.1.10.12
...Test title: DELETE Subscriptions - Method not implemented
...Test objective: The objective is to test that DELETE method is not allowed to delete subscriptions
...Pre-conditions: At least one subscription is available in the NFV-MANO.
...Reference: clause 5.5.4.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1
...Config ID: Config_prod_NFV-MANO
...Applicability: none
...Post-Conditions: The subscriptions are not deleted by the failed operation
"description":"This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n",
"type":"object",
"properties":{
"id":{
"description":"An identifier with the intention of being globally unique.\n",
"type":"string"
},
"filter":{
"description":"This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. \n",
"type":"object",
"properties":{
"manoEntitySubscriptionFilter":{
"description":"This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n",
"type":"object",
"properties":{
"manoEntityId":{
"description":"An identifier with the intention of being globally unique.\n",
"type":"string"
},
"manoServiceIds":{
"description":"manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n",
"type":"array",
"items":{
"description":"An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n",
"type":"string"
}
},
"manoServiceNames":{
"description":"If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n",
"type":"array",
"items":{
"type":"string"
}
},
"manoServiceInterfaceIds":{
"description":"If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
"type":"array",
"items":{
"description":"An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n",
"type":"string"
}
},
"manoServiceInterfaceNames":{
"description":"If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
"type":"array",
"items":{
"type":"string"
}
},
"consumedManoInterfaceIds":{
"description":"If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
"type":"array",
"items":{
"description":"An identifier with the intention of being globally unique.\n",
"type":"string"
}
},
"consumedManoInterfaceNames":{
"description":"If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
"type":"array",
"items":{
"type":"string"
}
}
}
},
"notificationTypes":{
"description":"Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n",
"type":"array",
"items":{
"type":"string",
"enum":[
"InformationChangedNotification",
"ChangeStateNotification"
]
}
}
}
},
"callbackUri":{
"description":"String formatted according to IETF RFC 3986.\n",
"type":"string"
},
"_links":{
"description":"Links to resources related to this resource.\n",
"type":"object",
"properties":{
"self":{
"description":"This type represents a link to a resource using an absolute URI.\n",
"type":"object",
"required":[
"href"
],
"properties":{
"href":{
"description":"String formatted according to IETF RFC 3986.\n",