SOL005 NS Fault management - Implementation of deltas between v4.5.1 and v4.4.1

This merge request refers to the implementation of deltas between v4.5.1 and v4.4.1 of SOL005 NS Fault Management Interface.

Deadline for review: Wed 25th Sept 2024 @noon CEST

Merge request reports

Loading
+7 −0
Changes for SOL005/NSFaultManagement-API/environment/variables.txt: 7 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -4,6 +4,13 @@ ${NFVO_PORT} 8080 # Listening port of the VNFM
${NFVO_SCHEMA}    http
${AUTHORIZATION_HEADER}    Authorization
${AUTHORIZATION_TOKEN}    Bearer 0b79bab50daca910b000d4f1a2b675d604257e42

${OAUTH_ENCRIPTION_ALGORITHM}    HS256
${ALARMS_PERMITTED_SCOPE}    nsfm:v2:alarms 
${ALARMS_NOT_PERMITTED_SCOPE}    nsfm:v2:alarms:readonly
${SUBSCRIPTIONS_PERMITTED_SCOPE}    nsfm:v2:subscriptions
${NOT_PERMITTED_SCOPE}    nsfm:v2:invalid 

${ACCEPT}         application/json
${ACCEPT_JSON}         application/json
${AUTH_USAGE}     1
+46 −21
Changes for SOL005/NSFaultManagement-API/Alarms.robot: 46 added lines, 21 removed lines.
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ POST Alarms - Method not implemented
    ...    Test title:POST Alarms - Method not implemented
    ...    Test objective: The objective is to test that Post method is not allowed to create Fault management alarms on NFV
    ...    Pre-conditions: none
    ...    Reference: Clause 8.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none 
    ...    Post-Conditions:  none
@@ -24,7 +24,7 @@ GET information about multiple alarms
    ...    Test title: GET information about multiple alarms
    ...    Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema and content validation of the returned alarms data structure
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -37,7 +37,7 @@ GET information about multiple alarms with filters
    ...    Test title: GET information about multiple alarms with filters
    ...    Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters 
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -50,7 +50,7 @@ GET information about multiple alarms Bad Request Invalid attribute-based filter
    ...    Test title: GET information about multiple alarms Bad Request Invalid attribute-based filtering parameters
    ...    Test objective:  The objective is to try to retrieve information about the alarm list with invalid filters and perform a JSON schema and content validation of the returned problem details data structure
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions:  none
@@ -63,7 +63,7 @@ GET information about multiple alarms with "all_fields" attribute selector
    ...    Test title: GET information about multiple alarms with "all_fields" attribute selector
    ...    Test objective: The objective is to retrieve information about the alarm list
    ...    Pre-conditions: none
    ...    Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: none
@@ -76,7 +76,7 @@ GET information about multiple alarms with exclude_default attribute selector
    ...    Test title: GET information about multiple alarms with "exclude_default" attribute selector
    ...    Test objective: The objective is to retrieve information about the alarm list
    ...    Pre-conditions: none
    ...    Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: none
@@ -90,7 +90,7 @@ GET information about multiple alarms with fields attribute selector
    ...    Test title: GET information about multiple alarms with fields attribute selector
    ...    Test objective: The objective is to retrieve information about the alarm list
    ...    Pre-conditions: none
    ...    Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: none
@@ -103,7 +103,7 @@ GET information about multiple alarms with "exclude_fields" attribute selector
    ...    Test title: GET information about multiple alarms with "exclude_fields" attribute selector
    ...    Test objective: The objective is to retrieve information about the alarm list
    ...    Pre-conditions: none
    ...    Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: none
@@ -116,7 +116,7 @@ PUT Alarms - Method not implemented
    ...    Test title: PUT Alarms - Method not implemented
    ...    Test objective: The objective is to test that PUT method is not allowed for Fault management alarms on NFV
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -128,7 +128,7 @@ PATCH Alarms - Method not implemented
    ...    Test title: PATCH Alarms - Method not implemented
    ...    Test objective: The objective is to test that PATCH method is not allowed for Fault management alarms on NFV
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -140,7 +140,7 @@ DELETE Alarms - Method not implemented
    ...    Test title: DELETE Alarms - Method not implemented
    ...    Test objective: The objective is to test that DELETE method is not allowed for Fault management alarms on NFV
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -152,7 +152,7 @@ GET information about multiple alarms as Paged Response
    ...    Test title: GET information about multiple alarms as Paged Response
    ...    Test objective: The objective is to retrieve information about the alarm list as paged response.
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -165,7 +165,7 @@ GET information about multiple alarms - Bad Request Response too Big
    ...    Test title: GET information about multiple alarms - Bad Request Response too Big
    ...    Test objective:  The objective is to test that the retrieval of information about the alarm list fails because response is too big, and perform a JSON schema and content validation of the returned problem details data structure
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions:  none
@@ -178,7 +178,7 @@ GET information about multiple alarms with filter "id"
    ...    Test title: GET information about multiple alarms with filter "id"
    ...    Test objective: The objective is to retrieve information about the alarm list with filter "id" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters 
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -192,7 +192,7 @@ GET information about multiple alarms with filter "rootCauseFaultyComponent.faul
    ...    Test title: GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyNestedNsInstanceId"
    ...    Test objective: The objective is to retrieve information about the alarm list with filter "rootCauseFaultyComponent.faultyNestedNsInstanceId" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters 
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -206,7 +206,7 @@ GET information about multiple alarms with filter "rootCauseFaultyComponent.faul
    ...    Test title: GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId"
    ...    Test objective: The objective is to retrieve information about the alarm list with filter "rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters 
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -220,7 +220,7 @@ GET information about multiple alarms with filter "rootCauseFaultyComponent.faul
    ...    Test title: GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyVnfInstanceId"
    ...    Test objective: The objective is to retrieve information about the alarm list with filter "rootCauseFaultyComponent.faultyVnfInstanceId" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters 
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -234,7 +234,7 @@ GET information about multiple alarms with filter "rootCauseFaultyResource.fault
    ...    Test title: GET information about multiple alarms with filter "rootCauseFaultyResource.faultyResourceType"
    ...    Test objective: The objective is to retrieve information about the alarm list with filter "rootCauseFaultyResource.faultyResourceType" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters 
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -248,7 +248,7 @@ GET information about multiple alarms with filter "eventType"
    ...    Test title: GET information about multiple alarms with filter "eventType"
    ...    Test objective: The objective is to retrieve information about the alarm list with filter "eventType" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters 
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -262,7 +262,7 @@ GET information about multiple alarms with filter "perceivedSeverity"
    ...    Test title: GET information about multiple alarms with filter "perceivedSeverity"
    ...    Test objective: The objective is to retrieve information about the alarm list with filter "perceivedSeverity" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters 
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -276,7 +276,7 @@ GET information about multiple alarms with filter "probableCause"
    ...    Test title: GET information about multiple alarms with filter "probableCause"
    ...    Test objective: The objective is to retrieve information about the alarm list with filter "probableCause" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters 
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -284,3 +284,28 @@ GET information about multiple alarms with filter "probableCause"
    Check HTTP Response Status Code Is    200
    Check HTTP Response Body Json Schema Is    alarms
    Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "probableCause"

GET information about multiple alarms with permitted authorization scope
    [Documentation]    Test ID: 5.3.3.1.22
    ...    Test title: GET information about multiple alarms with permitted authorization scope
    ...    Test objective: The objective is to retrieve information about the alarm list with permitted authorization scope
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
    GET Alarms with permitted authorization scope
    Check HTTP Response Status Code Is    200
    Check HTTP Response Body Json Schema Is    alarms

GET information about multiple alarms with not permitted authorization scope
    [Documentation]    Test ID: 5.3.3.1.22
    ...    Test title: GET information about multiple alarms with not permitted authorization scope
    ...    Test objective: The objective is to test that retrieve information about the alarm list fails when using not permitted authorization scope
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
    GET Alarms with not permitted authorization scope
    Check HTTP Response Status Code Is    401
+32 −9
Changes for SOL005/NSFaultManagement-API/IndividualAlarm.robot: 32 added lines, 9 removed lines.
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ POST Individual Alarm - Method not implemented
    ...    Test title:POST Individual Alarm - Method not implemented
    ...    Test objective: The objective is to test that POST method is not allowed for Fault management individual alarm on NFV
    ...    Pre-conditions: none
    ...    Reference: Clause 8.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions:  none
@@ -26,7 +26,7 @@ GET information about Individual Alarm
    ...    Test title: GET information about Individual Alarm 
    ...    Test objective: The objective is to retrieve information about individual alarm and perform a JSON schema and content validation of the returned alarm data structure
    ...    Pre-conditions: The related alarm exists
    ...    Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: none   
@@ -39,7 +39,7 @@ GET information about Invalid Individual Alarm
    ...    Test title: GET information about Invalid Individual Alarm 
    ...    Test objective: The objective is to try to read an Invalid individual alarm and get 404 not found response code
    ...    Pre-conditions: The related alarm does not exists
    ...    Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions:   none 
@@ -52,7 +52,7 @@ PUT Individual Alarm - Method not implemented
    ...    Test title:PUT Individual Alarm - Method not implemented
    ...    Test objective: The objective is to test that PUT method is not allowed for Fault management individual alarm on NFV
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions:   none
@@ -64,7 +64,7 @@ PATCH Alarm
    ...    Test title: Modify an individual alarm resource
    ...    Test objective: The objective is to Modify an individual alarm resource and perform a JSON schema and content validation of the returned alarm modifications data structure
    ...    Pre-conditions: The related alarm exists
    ...    Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions:  none
@@ -77,7 +77,7 @@ PATCH Alarm - Conflict
    ...    Test title: Modify an individual alarm resource - Conflict
    ...    Test objective: The objective is to test that an individual alarm resource cannot be modified if the alarm is already in the state that is requested to be set
    ...    Pre-conditions: The related alarm exists
    ...    Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -90,7 +90,7 @@ PATCH Alarm - Precondition failed
    ...    Test title: Modify an individual alarm resource - Precondition failed
    ...    Test objective: The objective is to test that an individual alarm resource cannot be modifed if the resource was modified by another entity
    ...    Pre-conditions: The related alarm exists
    ...    Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: 
@@ -103,7 +103,7 @@ PATCH Alarm - Precondition failed HTTP Conditional Request Not Supported
    ...    Test title: Modify an individual alarm resource - Precondition failed HTTP Conditional Request Not Supported
    ...    Test objective: The objective is to test that an individual alarm resource cannot be modifed if API Producer does not support "Last-Modified" and "ETag" HTTP Headers
    ...    Pre-conditions: The related alarm exists
    ...    Reference: Clause 8.4.3.3.4, 4.5 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.3.3.4, 4.5 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: API Producer does not support "Last-Modified" and "ETag" HTTP Headers
    ...    Post-Conditions: 
@@ -116,9 +116,32 @@ DELETE Individual Alarm - Method not implemented
    ...    Test title:DELETE Individual Alarm - Method not implemented
    ...    Test objective: The objective is to test that DELETE method is not allowed for Fault management individual alarm on NFV
    ...    Pre-conditions:  none
    ...    Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: none
    DELETE Individual Alarm
    Check HTTP Response Status Code Is    405

PATCH Alarm with permitted authorization scope
    [Documentation]    Test ID: 5.3.3.2.9
    ...    Test title: Modify an individual alarm resource with permitted authorization scope
    ...    Test objective: The objective is to Modify an individual alarm resource with permitted authorization scope
    ...    Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions:  none
    PATCH Individual Alarm with permitted authorization scope
    Check HTTP Response Status Code Is    200  
    Check HTTP Response Body Json Schema Is    alarmModifications

PATCH Alarm with not permitted authorization scope
    [Documentation]    Test ID: 5.3.3.2.10
    ...    Test title: Modify an individual alarm resource with not permitted authorization scope
    ...    Test objective: The objective is to test that Modify an individual alarm resource fails when using not permitted authorization scope
    ...    Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions:  none
    PATCH Individual Alarm with not permitted authorization scope
    Check HTTP Response Status Code Is    401
 No newline at end of file
+28 −5
Changes for SOL005/NSFaultManagement-API/IndividualSubscription.robot: 28 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ Post Individual Subscription - Method not implemented
    ...    Test title:Post Individual Subscription - Method not implemented
    ...    Test objective: The objective is to test that POST method is not allowed for Fault management subscription on NFV  
    ...    Pre-conditions:none 
    ...    Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: none
@@ -23,7 +23,7 @@ Get Information about an individual subscription
    ...    Test title: Get Information about an individual subscription
    ...    Test objective: The objective is to read an individual subscription for NFVO alarms subscribed by the client and perform a JSON schema and content validation of the returned fault management individual subscription data structure
    ...    Pre-conditions: The subscription with the given id exists
    ...    Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -36,7 +36,7 @@ PUT an individual subscription - Method not implemented
    ...    Test title:PUT an individual subscription - Method not implemented
    ...    Test objective: The objective is to test that PUT method is not allowed for Fault management subscription on NFV   
    ...    Pre-conditions: none
    ...    Reference: Clause 8.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: none
@@ -48,7 +48,7 @@ PATCH an individual subscription - Method not implemented
    ...    Test title:PATCH an individual subscription - Method not implemented
    ...    Test objective: The objective is to test that PATCH method is not allowed for Fault management subscription on NFV  
    ...    Pre-conditions: none
    ...    Reference: Clause 8.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: none
@@ -60,9 +60,32 @@ DELETE an individual subscription
    ...    Test title:DELETE an individual subscription
    ...    Test objective: The objective is to DELETE an individual subscription 
    ...    Pre-conditions: The Subsbcription already exists
    ...    Reference: Clause 8.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v4.4.1
    ...    Reference: Clause 8.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: subscription is not deleted
    DELETE Individual Subscription
    Check HTTP Response Status Code Is    204

Get Information about an individual subscription with permitted authorization scope
    [Documentation]    Test ID: 5.3.3.4.6
    ...    Test title: Get Information about an individual subscription with permitted authorization scope
    ...    Test objective: The objective is to read an individual subscription for NFVO alarms subscribed by the client with permitted authorization scope
    ...    Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: none
    GET Individual Subscription with permitted authorization scope
    Check HTTP Response Status Code Is    200
    Check HTTP Response Body Json Schema Is    FmSubscription

Get Information about an individual subscription with not permitted authorization scope
    [Documentation]    Test ID: 5.3.3.4.7
    ...    Test title: Get Information about an individual subscription with not permitted authorization scope
    ...    Test objective: The objective is to test that read an individual subscription for NFVO alarms subscribed by the client fails when using a not permitted authorization scope
    ...    Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: none
    GET Individual Subscription with not permitted authorization scope
    Check HTTP Response Status Code Is    401
 No newline at end of file
+99 −0
Changes for SOL005/NSFaultManagement-API/NSFMOperationKeywords.robot: 99 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -100,6 +100,30 @@ GET Alarms
    ${outputResponse}=    Output    response
    Set Global Variable    ${response}    ${outputResponse}

GET Alarms with permitted authorization scope
    Log    Query NFVO The GET method queries information about multiple alarms.
    Set Headers  {"Accept":"${ACCEPT}"}  
    ${scopeValue}=    Create Dictionary    scope=${ALARMS_PERMITTED_SCOPE} 
    ${authorizationToken}=    JWT Encode    payload=${scopeValue}    key=''    algorithm=${OAUTH_ENCRIPTION_ALGORITHM}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${authorizationToken}"}
    Log    Authorization Token: ${authorizationToken}
    Log    Execute Query
    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms
    ${outputResponse}=    Output    response
    Set Global Variable    ${response}    ${outputResponse}

GET Alarms with not permitted authorization scope
    Log    Query NFVO The GET method queries information about multiple alarms.
    Set Headers  {"Accept":"${ACCEPT}"}  
    ${scopeValue}=    Create Dictionary    scope=${NOT_PERMITTED_SCOPE} 
    ${authorizationToken}=    JWT Encode    payload=${scopeValue}    key=''    algorithm=${OAUTH_ENCRIPTION_ALGORITHM}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${authorizationToken}"}
    Log    Authorization Token: ${authorizationToken}
    Log    Execute Query
    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms
    ${outputResponse}=    Output    response
    Set Global Variable    ${response}    ${outputResponse}
    
GET Alarms With Filters
	Log    Query NFVO The GET method queries information about multiple alarms with filters.
	Set Headers  {"Accept":"${ACCEPT}"}  
@@ -199,6 +223,32 @@ PATCH Individual Alarm
    ${outputResponse}=    Output    response
    Set Global Variable    ${response}    ${outputResponse}

PATCH Individual Alarm with permitted authorization scope
    log    Trying to perform a PATCH. This method modifies an individual alarm resource
    Set Headers  {"Accept":"${ACCEPT}"} 
    Set Headers  {"Content-Type": "${CONTENT_TYPE_PATCH}"} 
    ${scopeValue}=    Create Dictionary    scope=${ALARMS_PERMITTED_SCOPE} 
    ${authorizationToken}=    JWT Encode    payload=${scopeValue}    key=''    algorithm=${OAUTH_ENCRIPTION_ALGORITHM}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${authorizationToken}"}
    Log    Authorization Token: ${authorizationToken}
    ${body}=    Get File    jsons/alarmModifications.json
    Patch    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId}    ${body}
    ${outputResponse}=    Output    response
    Set Global Variable    ${response}    ${outputResponse}

PATCH Individual Alarm with not permitted authorization scope
    log    Trying to perform a PATCH. This method modifies an individual alarm resource
    Set Headers  {"Accept":"${ACCEPT}"} 
    Set Headers  {"Content-Type": "${CONTENT_TYPE_PATCH}"} 
    ${scopeValue}=    Create Dictionary    scope=${ALARMS_NOT_PERMITTED_SCOPE} 
    ${authorizationToken}=    JWT Encode    payload=${scopeValue}    key=''    algorithm=${OAUTH_ENCRIPTION_ALGORITHM}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${authorizationToken}"}
    Log    Authorization Token: ${authorizationToken}
    ${body}=    Get File    jsons/alarmModifications.json
    Patch    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId}    ${body}
    ${outputResponse}=    Output    response
    Set Global Variable    ${response}    ${outputResponse}

PATCH Individual Alarm - ETag mismatch
    log    Trying to perform a PATCH. This method modifies an individual alarm resource
    Set Headers  {"Accept":"${ACCEPT}"} 
@@ -272,6 +322,28 @@ GET Subscriptions
    ${outputResponse}=    Output    response
    Set Global Variable    ${response}    ${outputResponse}

GET Subscriptions with permitted authorization scope
    Log    Get the list of active subscriptions
    Set Headers    {"Accept": "${ACCEPT}"}
    ${scopeValue}=    Create Dictionary    scope=${SUBSCRIPTIONS_PERMITTED_SCOPE} 
    ${authorizationToken}=    JWT Encode    payload=${scopeValue}    key=''    algorithm=${OAUTH_ENCRIPTION_ALGORITHM}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${authorizationToken}"}
    Log    Authorization Token: ${authorizationToken}
    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions
    ${outputResponse}=    Output    response
    Set Global Variable    ${response}    ${outputResponse}

GET Subscriptions with not permitted authorization scope
    Log    Get the list of active subscriptions
    Set Headers    {"Accept": "${ACCEPT}"}
    ${scopeValue}=    Create Dictionary    scope=${NOT_PERMITTED_SCOPE} 
    ${authorizationToken}=    JWT Encode    payload=${scopeValue}    key=''    algorithm=${OAUTH_ENCRIPTION_ALGORITHM}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${authorizationToken}"}
    Log    Authorization Token: ${authorizationToken}
    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions
    ${outputResponse}=    Output    response
    Set Global Variable    ${response}    ${outputResponse}
        
GET Subscriptions with filter
    Log    Get the list of active subscriptions using a filter
    Set Headers    {"Accept": "${ACCEPT}"}
@@ -349,6 +421,28 @@ POST Individual Subscription
    Set Global Variable    ${response}    ${outputResponse}
    
GET Individual Subscription
    log    Trying to get information about an individual subscription
    Set Headers    {"Accept":"${ACCEPT}"}  
    ${scopeValue}=    Create Dictionary    scope=${SUBSCRIPTIONS_PERMITTED_SCOPE} 
    ${authorizationToken}=    JWT Encode    payload=${scopeValue}    key=''    algorithm=${OAUTH_ENCRIPTION_ALGORITHM}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${authorizationToken}"}
    Log    Authorization Token: ${authorizationToken}
    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId}
    ${outputResponse}=    Output    response
    Set Global Variable    ${response}    ${outputResponse}   

GET Individual Subscription with permitted authorization scope
    log    Trying to get information about an individual subscription
    Set Headers    {"Accept":"${ACCEPT}"}  
    ${scopeValue}=    Create Dictionary    scope=${NOT_PERMITTED_SCOPE} 
    ${authorizationToken}=    JWT Encode    payload=${scopeValue}    key=''    algorithm=${OAUTH_ENCRIPTION_ALGORITHM}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${authorizationToken}"}
    Log    Authorization Token: ${authorizationToken}
    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId}
    ${outputResponse}=    Output    response
    Set Global Variable    ${response}    ${outputResponse}   

GET Individual Subscription with not permitted authorization scope
    log    Trying to get information about an individual subscription
    Set Headers    {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
@@ -643,3 +737,8 @@ Check Response for duplicated subscription
    Run Keyword If    ${NFVO_ALLOWS_DUPLICATE_SUBS} == 1    Check HTTP Response Status Code Is    201
    Run Keyword If    ${NFVO_ALLOWS_DUPLICATE_SUBS} == 1    Check HTTP Response Body Json Schema Is    FmSubscription
    Run Keyword If    ${NFVO_ALLOWS_DUPLICATE_SUBS} == 0    Check HTTP Response Status Code Is    303

JWT Encode
    [Arguments]    ${payload}    ${key}    ${algorithm}
    ${encoded}=    Evaluate    jwt.encode(${payload}, ${key}, ${algorithm})
    [Return]    ${encoded} 
 No newline at end of file
Loading
Loading