SOL005 NS Fault Management - Implementation of deltas between v2.6.1 and v2.4.1

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

@lynchpi @aelken @matsuurat @kraja @zulfiqar @uihassan

Merge request reports

Loading
+9 −0
Changes for SOL005/NSFaultManagement-API/environment/variables.txt: 9 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -21,6 +21,14 @@ ${fields} criteria,objectInstanceIds
${VNFM_ALLOWS_DUPLICATE_SUBS}    0

${alarmId}    6fc3539c-e602-4afa-8e13-962fb5a7d81d
${faultyNestedNsInstanceId}    faultyNestedNsInstanceId
${faultyNsVirtualLinkInstanceId}     faultyNsVirtualLinkInstanceId
${faultyVnfInstanceId}    faultyVnfInstanceId
${faultyResourceType}    COMPUTE
${eventType}            COMMUNICATIONS_ALARM
${perceivedSeverity}    CRITICAL
${probableCause}

${invalidAlarmId}    invalidAlramID
${Etag}=    an etag
${Etag_modified}=    a modified etag
@@ -32,6 +40,7 @@ ${sub_filter} filter
${sub_filter_invalid}    filter_invalid

${subscriptionId}    6fc3539c-e602-4afa-8e13-962fb5a7d81f
${notification_type}    AlarmNotification

${AlarmNotification}    {}
${AlarmClearedNotification}    {}
+198 −7
Changes for SOL005/NSFaultManagement-API/Alarms.robot: 198 added lines, 7 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] v2.4.1
    ...    Reference: clause 8.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none 
    ...    Post-Conditions:  alarm not created
@@ -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] v2.4.1
    ...    Reference: clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.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] v2.4.1
    ...    Reference: clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.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] v2.4.1
    ...    Reference: clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions:  none
@@ -58,12 +58,65 @@ GET information about multiple alarms Bad Request Invalid attribute-based filter
    Check HTTP Response Status Code Is    400
    Check HTTP Response Body Json Schema Is    ProblemDetails

GET information about multiple alarms with "all_fields" attribute selector
    [Documentation]    Test ID: 5.3.3.1.5
    ...    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: 
    ...    Reference: clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: 
    ...    Post-Conditions: 
    GET Alarms Task with all_fields attribute selector
    Check HTTP Response Status Code Is    200
    Check HTTP Response Body Json Schema Is    alarms
    
GET information about multiple alarms with exclude_default attribute selector
    [Documentation]    Test ID: 5.3.3.1.6
    ...    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: 
    ...    Reference: clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: 
    ...    Post-Conditions: 
    GET Alarms Task with exclude_default attribute selector
    Check HTTP Response Status Code Is    200
    Check HTTP Response Body Json Schema Is    alarms

    
GET information about multiple alarms with fields attribute selector
    [Documentation]    Test ID: 5.3.3.1.7
    ...    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: 
    ...    Reference: clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: 
    ...    Post-Conditions: 
    GET Alarms Task with fields attribute selector
    Check HTTP Response Status Code Is    200
    Check HTTP Response Body Json Schema Is    alarms
     
GET information about multiple alarms with "exclude_fields" attribute selector
    [Documentation]    Test ID: 5.3.3.1.8
    ...    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: 
    ...    Reference: clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: 
    ...    Post-Conditions: none
    GET Alarms Task with exclude_fields attribute selector
    Check HTTP Response Status Code Is    200
    Check HTTP Response Body Json Schema Is    alarms  
    
PUT Alarms - Method not implemented
    [Documentation]    Test ID: 5.3.3.1.5
    ...    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] v2.4.1
    ...    Reference: clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -76,7 +129,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] v2.4.1
    ...    Reference: clause 8.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -88,11 +141,149 @@ 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] v2.4.1
    ...    Reference: clause 8.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: alarm not deleted
    DELETE Alarms
    Check HTTP Response Status Code Is    405

GET information about multiple alarms as Paged Response
    [Documentation]    Test ID: 5.3.3.1.8
    ...    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] v2.6.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
    GET Alarms
    Check HTTP Response Status Code Is    200
    Check LINK in Header
    
GET information about multiple alarms - Bad Request Response too Big
    [Documentation]    Test ID: 5.3.3.1.9
    ...    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] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions:  none
    GET Alarms
    Check HTTP Response Status Code Is    400
    Check HTTP Response Body Json Schema Is    ProblemDetails
    
GET information about multiple alarms with filter "id"
     [Documentation]    Test ID: 5.3.3.1.10
    ...    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] v2.6.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
    GET Alarm With Filter "id"
    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 "id"
    
GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyNestedNsInstanceId"
     [Documentation]    Test ID: 5.3.3.1.11
    ...    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] v2.6.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
    GET Alarms With Filter "rootCauseFaultyComponent_faultyNestedNsInstanceId"
    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 "rootCauseFaultyComponent_faultyNestedNsInstanceId"
    
GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId"
     [Documentation]    Test ID: 5.3.3.1.12
    ...    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] v2.6.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
    GET Alarms With Filter "rootCauseFaultyComponent_faultyNsVirtualLinkInstanceId"
    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 "faultyNsVirtualLinkInstanceId"
    
GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyVnfInstanceId"
     [Documentation]    Test ID: 5.3.3.1.13
    ...    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] v2.6.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
    GET Alarms With Filter "rootCauseFaultyComponent_faultyVnfInstanceId"
    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 "faultyVnfInstanceId"
    

GET information about multiple alarms with filter "rootCauseFaultyResource.faultyResourceType"
     [Documentation]    Test ID: 5.3.3.1.14
    ...    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] v2.6.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
    GET Alarms With Filter "rootCauseFaultyResource_faultyResourceType"
    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 "faultyResourceType"
    
GET information about multiple alarms with filter "eventType"
     [Documentation]    Test ID: 5.3.3.1.15
    ...    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] v2.6.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
    GET Alarms with filter "eventType"
    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 "eventType"
    
GET information about multiple alarms with filter "perceivedSeverity"
     [Documentation]    Test ID: 5.3.3.1.16
    ...    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] v2.6.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
    GET Alarms with filter "perceivedSeverity"
    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 "perceivedSeverity"
    
GET information about multiple alarms with filter "probableCause"
     [Documentation]    Test ID: 5.3.3.1.17
    ...    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] v2.6.1
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability:  none
    ...    Post-Conditions: none
    GET 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"
    
 No newline at end of file
+8 −8
Changes for SOL005/NSFaultManagement-API/IndividualAlarm.robot: 8 added lines, 8 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] v2.4.1
    ...    Reference: clause 8.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions:  alarm is not created
@@ -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] v2.4.1
    ...    Reference: clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.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] v2.4.1
    ...    Reference: clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.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] v2.4.1
    ...    Reference: clause 8.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.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] v2.4.1
    ...    Reference: clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.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] v2.4.1
    ...    Reference: clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: none
@@ -91,7 +91,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] v2.4.1
    ...    Reference: clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: 
@@ -104,7 +104,7 @@ 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] v2.4.1
    ...    Reference: clause 8.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: alarm not deleted
+5 −5
Changes for SOL005/NSFaultManagement-API/IndividualSubscription.robot: 5 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] v2.4.1
    ...    Reference: clause 8.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: subscription is not created
@@ -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] v2.4.1
    ...    Reference: clause 8.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.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] v2.4.1
    ...    Reference: clause 8.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.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] v2.4.1
    ...    Reference: clause 8.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability: none
    ...    Post-Conditions: none
@@ -60,7 +60,7 @@ 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] v2.4.1
    ...    Reference: clause 8.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO
    ...    Applicability:  none
    ...    Post-Conditions: subscription is not deleted
+191 −0
Changes for SOL005/NSFaultManagement-API/NSFMOperationKeywords.robot: 191 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ Library OperatingSystem
#Suite Teardown    Terminate All Processes    kill=true
Library    MockServerLibrary
Library    Process
Library     Collections

*** Keywords ***
Create Sessions
@@ -422,3 +423,193 @@ Do DELETE Notification
    Sleep  ${sleep_interval}
    Log  Verifying results
    Verify Mock Expectation  ${req}
    
Check LINK in Header
    ${linkURL}=    Get Value From Json    ${response.headers}    $..Link
    Should Not Be Empty    ${linkURL}

GET Alarm With Filter "id"
	Log    Query NFVO The GET method queries information about multiple alarms with filter "id".
	Set Headers  {"Accept":"${ACCEPT}"}  
	Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
	Log    Execute Query
	Get    ${apiRoot}/${apiName}/${apiVersion}/alarms?id=${alarmId}
	${outputResponse}=    Output    response
	Set Global Variable    @{response}    ${outputResponse}
	
Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "id"
    Should Be Equal As Strings    ${response['body']['id']}    ${alarmId}
	
GET Alarms With Filter "rootCauseFaultyComponent_faultyNestedNsInstanceId"
	Log    Query NFVO The GET method queries information about multiple alarms with filter "rootCauseFaultyComponent.faultyNestedNsInstanceId".
	Set Headers  {"Accept":"${ACCEPT}"}  
	Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
	Log    Execute Query
	Get    ${apiRoot}/${apiName}/${apiVersion}/alarms?rootCauseFaultyComponent.faultyNestedNsInstanceId=${faultyNestedNsInstanceId}
	${outputResponse}=    Output    response
	Set Global Variable    @{response}    ${outputResponse}
	
Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "rootCauseFaultyComponent_faultyNestedNsInstanceId"
    :FOR   ${item}   IN  @{response['body']}
    Should Be Equal As Strings     ${item['rootCauseFaultyComponent']['faultyNestedNsInstanceId']}    ${faultyNestedNsInstanceId}
    END

GET Alarms With Filter "rootCauseFaultyComponent_faultyNsVirtualLinkInstanceId"
	Log    Query NFVO The GET method queries information about multiple alarms with filter "rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId".
	Set Headers  {"Accept":"${ACCEPT}"}  
	Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
	Log    Execute Query
	Get    ${apiRoot}/${apiName}/${apiVersion}/alarms?rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId=${faultyNsVirtualLinkInstanceId}
	${outputResponse}=    Output    response
	Set Global Variable    @{response}    ${outputResponse}
	
Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "faultyNsVirtualLinkInstanceId"
    :FOR   ${item}   IN  @{response['body']}
    Should Be Equal As Strings     ${item['rootCauseFaultyComponent']['faultyNsVirtualLinkInstanceId']}    ${faultyNsVirtualLinkInstanceId}
    END
	
GET Alarms With Filter "rootCauseFaultyComponent_faultyVnfInstanceId"
	Log    Query NFVO The GET method queries information about multiple alarms with filter "rootCauseFaultyComponent.faultyVnfInstanceId".
	Set Headers  {"Accept":"${ACCEPT}"}  
	Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
	Log    Execute Query
	Get    ${apiRoot}/${apiName}/${apiVersion}/alarms?rootCauseFaultyComponent.faultyVnfInstanceId=${faultyVnfInstanceId}
	${outputResponse}=    Output    response
	Set Global Variable    @{response}    ${outputResponse}
	
Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "faultyVnfInstanceId"
    :FOR   ${item}   IN  @{response['body']}
    Should Be Equal As Strings     ${item['rootCauseFaultyComponent']['faultyVnfInstanceId']}    ${faultyVnfInstanceId}
    END
	
GET Alarms With Filter "rootCauseFaultyResource_faultyResourceType"
	Log    Query NFVO The GET method queries information about multiple alarms with filter "rootCauseFaultyResource.faultyResourceType".
	Set Headers  {"Accept":"${ACCEPT}"}  
	Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
	Log    Execute Query
	Get    ${apiRoot}/${apiName}/${apiVersion}/alarms?rootCauseFaultyResource.faultyResourceType=${faultyResourceType}
	${outputResponse}=    Output    response
	Set Global Variable    @{response}    ${outputResponse}
	
Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "faultyResourceType"
    :FOR   ${item}   IN  @{response['body']}
    Should Be Equal As Strings     ${item['rootCauseFaultyResource']['faultyResourceType']}    ${faultyResourceType}
    END
	
GET Alarms with filter "eventType"
	Log    Query VNF The GET method queries information about multiple alarms with filters "eventType".
    Set Headers  {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Log    Execute Query and validate response
    Get    ${apiRoot}/${apiName}/${apiVersion}/alarms?eventType=${eventType}
    ${outputResponse}=    Output    response
	Set Global Variable    @{response}    ${outputResponse}
	
Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "eventType"
    :FOR   ${item}   IN  @{response['body']}
    Should Be Equal As Strings     ${item['eventType']}    ${eventType}
    END
	
GET Alarms with filter "perceivedSeverity"
	Log    Query VNF The GET method queries information about multiple alarms with filters "perceivedSeverity".
    Set Headers  {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Log    Execute Query and validate response
    Get    ${apiRoot}/${apiName}/${apiVersion}/alarms?perceivedSeverity=${perceivedSeverity}
    ${outputResponse}=    Output    response
	Set Global Variable    @{response}    ${outputResponse}
	
Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "perceivedSeverity"
	:FOR   ${item}   IN  @{response['body']}
    Should Be Equal As Strings     ${item['perceivedSeverity']}    ${perceivedSeverity}
    END
	
GET Alarms with filter "probableCause"
	Log    Query VNF The GET method queries information about multiple alarms with filters "probableCause".
    Set Headers  {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Log    Execute Query and validate response
    Get    ${apiRoot}/${apiName}/${apiVersion}/alarms?probableCause=${probableCause}
    ${outputResponse}=    Output    response
	Set Global Variable    @{response}    ${outputResponse}
	
Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "probableCause"
    :FOR   ${item}   IN  @{response['body']}
    Should Be Equal As Strings     ${item['probableCause']}    ${probableCause}
    END
    
Get subscriptions with filter "id"
    Log    Get the list of active subscriptions using a filter "id"
    Set Headers    {"Accept": "${ACCEPT}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions?id=${subscription_id}
    ${outputResponse}=    Output    response
	Set Global Variable    @{response}    ${outputResponse}
	
Check PostCondition HTTP Response Body Subscription Matches the requested attribute-based filter "id"
    Should Be Equal As Strings    ${response['body']['id']}    ${subscription_id}
	
Get subscriptions with filter "filter_notificationTypes"
    Log    Get the list of active subscriptions using a filter "filter.notificationTypes"
    Set Headers    {"Accept": "${ACCEPT}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.notificationTypes=${notification_type}
    ${outputResponse}=    Output    response
	Set Global Variable    @{response}    ${outputResponse}
	
Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes"
    :FOR   ${item}   IN  @{response['body']}
    Should Contain Match    ${item['filter']['notificationTypes']}   ${notification_type}    case_insensitive=True
    END
	
Get subscriptions with filter "filter_faultyResourceTypes"
    Log    Get the list of active subscriptions using a filter "filter.faultyResourceTypes"
    Set Headers    {"Accept": "${ACCEPT}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.faultyResourceTypes=${faultyResourceType}
    ${outputResponse}=    Output    response
	Set Global Variable    @{response}    ${outputResponse}
	
Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_faultyResourceTypes"
	:FOR   ${item}   IN  @{response['body']}
    Should Contain Match    ${item['filter']['faultyResourceTypes']}   ${faultyResourceType}    case_insensitive=True
    END
    
Get subscriptions with filter "filter_perceivedSeverities"
    Log    Get the list of active subscriptions using a filter "filter.perceivedSeverities"
    Set Headers    {"Accept": "${ACCEPT}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.perceivedSeverities=${perceivedSeverity}
    ${outputResponse}=    Output    response
	Set Global Variable    @{response}    ${outputResponse}
	
Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_perceivedSeverities"
    :FOR   ${item}   IN  @{response['body']}
    Should Contain Match    ${item['filter']['perceivedSeverities']}   ${perceivedSeverity}    case_insensitive=True
    END
	
Get subscriptions with filter "filter_eventTypes"
    Log    Get the list of active subscriptions using a filter "filter.eventTypes"
    Set Headers    {"Accept": "${ACCEPT}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.eventTypes=${eventType}
    ${outputResponse}=    Output    response
	Set Global Variable    @{response}    ${outputResponse}
	
Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_eventTypes"
	:FOR   ${item}   IN  @{response['body']}
    Should Contain Match    ${item['filter']['eventTypes']}   ${eventType}    case_insensitive=True
    END
    
Get subscriptions with filter "filter_probableCauses"
    Log    Get the list of active subscriptions using a filter "filter.probableCauses"
    Set Headers    {"Accept": "${ACCEPT}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
    GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.probableCauses=${probableCause}
    ${outputResponse}=    Output    response
	Set Global Variable    @{response}    ${outputResponse}

Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_probableCauses"
    :FOR   ${item}   IN  @{response['body']}
    Should Contain Match    ${item['filter']['probableCauses']}   ${probableCause}    case_insensitive=True
    END
Loading
Loading