Alarms.robot 23.7 KB
Newer Older
*** Settings ***
# Suite setup     Expect spec    SOL003-VNFLifecycleManagement-API.yaml
Resource    environment/variables.txt 
Library    REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}     ssl_verify=false
Library    JSONLibrary
Library    JSONSchemaLibrary    schemas/
Library    OperatingSystem
*** Test Cases ***
POST Alarms - Method not implemented
aureliano sinatra's avatar
aureliano sinatra committed
    [Documentation]    Test ID: 6.3.4.1.1
    ...    Test title: POST Alarms - Method not implemented
    ...    Test objective: The objective is to test that the method is not implemented
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1
    ...    Config ID: Config_prod_VNFM
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions: none
    POST Alarms Task
    Check HTTP Response Status Code Is    405
GET information about multiple alarms 
aureliano sinatra's avatar
aureliano sinatra committed
    [Documentation]    Test ID: 6.3.4.1.2
    ...    Test title: GET information about multiple alarms
    ...    Test objective: The objective is to retrieve information about the alarm list
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none 
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1
    ...    Config ID: Config_prod_VNFM
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions: none
    GET Alarms Task
    Check HTTP Response Status Code Is    200
aureliano sinatra's avatar
aureliano sinatra committed
    Check HTTP Response Body Json Schema Is    alarms    
aureliano sinatra's avatar
aureliano sinatra committed
GET information about multiple alarms with attribute-based filter
aureliano sinatra's avatar
aureliano sinatra committed
    [Documentation]    Test ID: 6.3.4.1.3
aureliano sinatra's avatar
aureliano sinatra committed
    ...    Test title: GET information about multiple alarms with attribute-based filter
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Test objective: The objective is to retrieve information about the alarm list with attribute-based filter
    ...    Pre-conditions: none
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1
    ...    Config ID: Config_prod_VNFM
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions: none
    GET Alarms Task with filter
    Check HTTP Response Status Code Is    200
    Check HTTP Response Body Json Schema Is    alarms
aureliano sinatra's avatar
aureliano sinatra committed
    
GET information about multiple alarms with invalid attribute-based filter
aureliano sinatra's avatar
aureliano sinatra committed
    [Documentation]    Test ID: 6.3.4.1.4
aureliano sinatra's avatar
aureliano sinatra committed
    ...    Test title: GET information about multiple alarms with invalid attribute-based filter
    ...    Test objective: The objective is to retrieve information about the alarm list
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1
    ...    Config ID: Config_prod_VNFM
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions: none
    GET Alarms Task with invalid filter
    Check HTTP Response Status Code Is    400
aureliano sinatra's avatar
aureliano sinatra committed
    Check HTTP Response Body Json Schema Is    ProblemDetails   

GET information about multiple alarms with "all_fields" attribute selector
    [Documentation]    Test ID: 6.3.4.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
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions: none
    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: 6.3.4.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
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions: none
    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: 6.3.4.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
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none 
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions: none
    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: 6.3.4.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
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    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
aureliano sinatra's avatar
aureliano sinatra committed
    [Documentation]    Test ID: 6.3.4.1.9
    ...    Test title: PUT Alarms - Method not implemented
    ...    Test objective: The objective is to test that the method is not implemented
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1
    ...    Config ID: Config_prod_VNFM
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions: none
    PUT Alarms Task
    Check HTTP Response Status Code Is    405

PATCH Alarms - Method not implemented
aureliano sinatra's avatar
aureliano sinatra committed
    [Documentation]    Test ID: 6.3.4.1.10
    ...    Test title: PATCH Alarms - Method not implemented
    ...    Test objective: The objective is to test that the method is not implemented
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1
    ...    Config ID: Config_prod_VNFM
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions: none
    PATCH Alarms Task
    Check HTTP Response Status Code Is    405

DELETE Alarms - Method not implemented
aureliano sinatra's avatar
aureliano sinatra committed
    [Documentation]    Test ID: 6.3.4.1.11
    ...    Test title: DELETE Alarms - Method not implemented
    ...    Test objective: The objective is to test that the method is not implemented
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1
    ...    Config ID: Config_prod_VNFM
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions: none
    DELETE Alarms Task
    Check HTTP Response Status Code Is    405
    
GET information about multiple alarms to get Paged Response
    [Documentation]    Test ID: 6.3.4.1.12
    ...    Test title: GET information about multiple alarms to get Paged Response
    ...    Test objective: The objective is to retrieve information about the alarms to get paged response
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions:  none
    GET Alarms Task
    Check HTTP Response Status Code Is    200
Najam UI Hassan's avatar
Najam UI Hassan committed
    Check HTTP Response Header Contain Link
    
GET information about multiple alarms for Bad Request Response too big
    [Documentation]    Test ID: 6.3.4.1.13
    ...    Test title: GET information about multiple alarms for Bad Request Response too big
    ...    Test objective: The objective is to test that GET method fail retrieving status information about Alarms when Response is too big, and perform the JSON schema validation of the failed operation HTTP response
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions: none
    GET Alarms Task with invalid filter
    Check HTTP Response Status Code Is    400
    Check HTTP Response Body Json Schema Is    ProblemDetails
    
GET information about alarms with attribute-based filter "id"
    [Documentation]    Test ID: 6.3.4.1.14
    ...    Test title: GET information about alarms with attribute-based filter "id"
    ...    Test objective: The objective is to retrieve information about the alarm list with alarm filter "id"
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none 
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions: none
    GET Alarms Task with filter "id"
    Check HTTP Response Status Code Is    200
    Check HTTP Response Body Json Schema Is    alarm
    Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "id"
    
GET information about multiple alarms with attribute-based filter "vnfcInstanceIds"
    [Documentation]    Test ID: 6.3.4.1.15
    ...    Test title: GET information about multiple alarms with attribute-based filter "vnfcInstanceIds"
    ...    Test objective: The objective is to retrieve information about the alarm list with attribute filter "vnfcInstanceIds"
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none 
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions: none
    GET Alarms Task with filter "vnfcInstanceIds"
    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 "vnfcInstanceIds"
    
GET information about multiple alarms with attribute-based filter "rootCauseFaultyResource.faultyResourceType"
    [Documentation]    Test ID: 6.3.4.1.16
    ...    Test title: GET information about multiple alarms with attribute-based filter "rootCauseFaultyResource.faultyResourceType"
    ...    Test objective: The objective is to retrieve information about the alarm list with attribute filter "rootCauseFaultyResource.faultyResourceType"
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions: none
    GET Alarms Task 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 "rootCauseFaultyResource_faultyResourceType"
    
GET information about multiple alarms with attribute-based filter "eventType"
    [Documentation]    Test ID: 6.3.4.1.17
    ...    Test title: GET information about multiple alarms with attribute-based filter "eventType"
    ...    Test objective: The objective is to retrieve information about the alarm list with attribute filter "eventType"
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions: none
    GET Alarms Task 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 attribute-based filter "perceivedSeverity"
    [Documentation]    Test ID: 6.3.4.1.18
    ...    Test title: GET information about multiple alarms with attribute-based filter "perceivedSeverity"
    ...    Test objective: The objective is to retrieve information about the alarm list with attribute filter "perceivedSeverity"
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions: none
    GET Alarms Task 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 attribute-based filter "probableCause"
    [Documentation]    Test ID: 6.3.4.1.19
    ...    Test title: GET information about multiple alarms with attribute-based filter "probableCause"
    ...    Test objective: The objective is to retrieve information about the alarm list with attribute filter "probableCause"
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Pre-conditions: none
Hammad Zafar's avatar
Hammad Zafar committed
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1
Najam UI Hassan's avatar
Najam UI Hassan committed
    ...    Applicability: none
    ...    Post-Conditions: none
    GET Alarms Task 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"

*** Keywords ***
POST Alarms Task
    log    Trying to perform a POST. This method should not be implemented
    Set Headers  {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Najam UI Hassan's avatar
Najam UI Hassan committed
    Post    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms
    ${outputResponse}=    Output    response
	Set Global Variable    ${response}    ${outputResponse}
PUT Alarms Task
    log    Trying to perform a PUT. This method should not be implemented
    Set Headers  {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Najam UI Hassan's avatar
Najam UI Hassan committed
    Put    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms
    ${outputResponse}=    Output    response
	Set Global Variable    ${response}    ${outputResponse}
PATCH Alarms Task
    log    Trying to perform a PATCH. This method should not be implemented
    Set Headers  {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Najam UI Hassan's avatar
Najam UI Hassan committed
    Patch    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms
    ${outputResponse}=    Output    response
	Set Global Variable    ${response}    ${outputResponse}
DELETE Alarms Task
    log    Trying to perform a DELETE. This method should not be implemented
    Set Headers  {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Najam UI Hassan's avatar
Najam UI Hassan committed
    Delete    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms
    ${outputResponse}=    Output    response
	Set Global Variable    ${response}    ${outputResponse}			
GET Alarms Task	
	Log    Query VNF The GET method queries information about multiple alarms.
    Set Headers  {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Log    Execute Query and validate response
Najam UI Hassan's avatar
Najam UI Hassan committed
    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms
    ${outputResponse}=    Output    response
	Set Global Variable    ${response}    ${outputResponse}
GET Alarms Task with filter
	Log    Query VNF The GET method queries information about multiple alarms with filters.
    Set Headers  {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Log    Execute Query and validate response
Najam UI Hassan's avatar
Najam UI Hassan committed
    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?${alarm_filter}=${managedObjectId} 
    ${outputResponse}=    Output    response
	Set Global Variable    ${response}    ${outputResponse}	   	
GET Alarms Task with invalid filter
	Log    Query VNF The GET method queries information about multiple alarms with filters.
    Set Headers  {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Log    Execute Query and validate response
Najam UI Hassan's avatar
Najam UI Hassan committed
    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?${invalid_alarm_filter}=${managedObjectId} 
    ${outputResponse}=    Output    response
	Set Global Variable    ${response}    ${outputResponse}	
aureliano sinatra's avatar
aureliano sinatra committed
GET Alarms Task with all_fields attribute selector
    Log    Query VNF The GET method queries information about multiple alarms, using fields
    Set Headers    {"Accept": "${ACCEPT_JSON}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Najam UI Hassan's avatar
Najam UI Hassan committed
    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?exclude_default
aureliano sinatra's avatar
aureliano sinatra committed
    ${output}=    Output    response
    Set Suite Variable    ${response}    ${output}
GET Alarms Task with exclude_default attribute selector
    Log    Query VNF The GET method queries information about multiple alarms, using fields
    Set Headers    {"Accept": "${ACCEPT_JSON}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Najam UI Hassan's avatar
Najam UI Hassan committed
    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?exclude_default
aureliano sinatra's avatar
aureliano sinatra committed
    ${output}=    Output    response
    Set Suite Variable    ${response}    ${output}
GET Alarms Task with fields attribute selector
    Log    Query VNF The GET method queries information about multiple alarms, using fields
    Set Headers    {"Accept": "${ACCEPT_JSON}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Najam UI Hassan's avatar
Najam UI Hassan committed
    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?fields=${fields}
aureliano sinatra's avatar
aureliano sinatra committed
    ${output}=    Output    response
    Set Suite Variable    ${response}    ${output}	
GET Alarms Task with exclude_fields attribute selector
    Log    Query VNF The GET method queries information about multiple alarms, using fields
    Set Headers    {"Accept": "${ACCEPT_JSON}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Najam UI Hassan's avatar
Najam UI Hassan committed
    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?exclude_fields=${fields}
aureliano sinatra's avatar
aureliano sinatra committed
    ${output}=    Output    response
Giacomo Bernini's avatar
Giacomo Bernini committed
    Set Suite Variable    ${response}    ${output}
    
Check HTTP Response Status Code Is
    [Arguments]    ${expected_status}    
    Should Be Equal As Strings    ${response['status']}    ${expected_status}
    Log    Status code validated 
    
Check HTTP Response Header Contains
    [Arguments]    ${CONTENT_TYPE}
    Log    ${response['headers']}
    Should Contain    ${response['headers']}    ${CONTENT_TYPE}
    Log    Header is present
    
Check HTTP Response Body Json Schema Is
    [Arguments]    ${input}
    Run Keyword If    '${input}' == 'ProblemDetails'    Should Contain    ${response['headers']['Content-Type']}    application/problem+json
    ...    ELSE    Should Contain    ${response['headers']['Content-Type']}    application/json
    ${schema} =    Catenate    SEPARATOR=    ${input}	.schema.json
    Validate Json    ${schema}    ${response['body']}
    Log    Json Schema Validation OK
Najam UI Hassan's avatar
Najam UI Hassan committed
Check HTTP Response Header Contain Link
    ${linkURL}=    Get Value From Json    ${response['headers']}    $..Link
    Should Not Be Empty    ${linkURL}
    
GET Alarms Task with filter "id"
	Log    Query VNF The GET method queries information about multiple alarms with filters "id".
    Set Headers  {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Log    Execute Query and validate response
Najam UI Hassan's avatar
Najam UI Hassan committed
    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?id=${alarmId}
	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 Task with filter "vnfcInstanceIds"
	Log    Query VNF The GET method queries information about multiple alarms with filters "vnfcInstanceIds".
    Set Headers  {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Log    Execute Query and validate response
Najam UI Hassan's avatar
Najam UI Hassan committed
    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?vnfcInstanceIds=${vnfcInstanceIds}
	Set Global Variable    ${response}    ${outputResponse}
	
Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "vnfcInstanceIds"
    :FOR   ${item}   IN  @{response['body']}
    Lists Should Be Equal     ${item['vnfcInstanceIds']}    ${vnfcInstanceIds}
    END
	
GET Alarms Task with filter "rootCauseFaultyResource_faultyResourceType"
	Log    Query VNF The GET method queries information about multiple alarms with filters "rootCauseFaultyResource.faultyResourceType".
    Set Headers  {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Log    Execute Query and validate response
Najam UI Hassan's avatar
Najam UI Hassan committed
    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?rootCauseFaultyResource.faultyResourceType=${faultyResourceType}
	Set Global Variable    ${response}    ${outputResponse}
	
Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "rootCauseFaultyResource_faultyResourceType"
    :FOR   ${item}   IN  @{response['body']}
    Should Be Equal As Strings    ${item['rootCauseFaultyResource']['faultyResourceType']}   ${faultyResourceType}
    END
	
GET Alarms Task 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_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Log    Execute Query and validate response
Najam UI Hassan's avatar
Najam UI Hassan committed
    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?eventType=${eventType}
	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 Task 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_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Log    Execute Query and validate response
Najam UI Hassan's avatar
Najam UI Hassan committed
    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?perceivedSeverity=${perceivedSeverity}
	Set Global Variable    ${response}    ${outputResponse}
	
Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "perceivedSeverity"
    :FOR   ${item}   IN  @{response['body']}
Najam UI Hassan's avatar
Najam UI Hassan committed
    Should Be Equal As Strings    ${item['perceivedSeverity']}   ${PerceivedSeverity} 
    END
	
GET Alarms Task 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_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Log    Execute Query and validate response
Najam UI Hassan's avatar
Najam UI Hassan committed
    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?probableCause=${probableCause}
	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