Skip to content
Snippets Groups Projects
NotificationEndpoint.robot 3.37 KiB
Newer Older
  • Learn to ignore specific revisions
  • Resource    environment/variables.txt 
    
    Resource    VRQANOperationKeywords.robot 
    
    Elian Kraja's avatar
    Elian Kraja committed
    Suite Setup    Create Sessions
    Suite Teardown    Terminate All Processes    kill=true
    
    Library    MockServerLibrary
    Library    Process
    Library    OperatingSystem
    
    *** Variables ***
    
    Deliver a notification - Vr Quota Availibility
    
        [Documentation]    Test ID: 11.4.4.1
        ...    Test title: Deliver a notification - Vr Quota Availibility
        ...    Test objective: The objective is to notify related to the availability of the virtualised resources quota.
        ...    Pre-conditions: The VNF has subscribed to the Vr Quota Availibility resource
    
    Sana Zulfiqar's avatar
    Sana Zulfiqar committed
        ...    Reference: Clause 11.4.4 - ETSI GS NFV-SOL 003 [1] v3.3.1
    
        ...    Config ID: Config_prod_VNFM
        ...    Applicability: 
        ...    Post-Conditions:  
    
        log    The POST method delivers a notification from the server to the client.
    
        ${json}=	Get File	schemas/VrQuotaAvailNotification.schema.json
        ${BODY}=	evaluate	json.loads('''${json}''')	json
        Log  Creating mock request and response to handle Vr Quota AvailibilityNotification
    
        &{req}=  Create Mock Request Matcher	POST  ${callback_endpoint}  body_type="JSON_SCHEMA"    body=${BODY}
    
        &{rsp}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
    
        Create Mock Expectation  ${req}  ${rsp}
        Sleep  ${sleep_interval}
        Log  Verifying results
        Verify Mock Expectation  ${req}
        Log  Cleaning the endpoint
    
        Clear Requests  ${callback_endpoint}
    
    
    Test a notification end point
        log    The GET method allows the server to test the notification endpoint
    
    Elian Kraja's avatar
    Elian Kraja committed
        &{req}=  Create Mock Request Matcher	GET  ${callback_endpoint}    
        &{rsp}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
        Create Mock Expectation  ${req}  ${rsp}
        Sleep  ${sleep_interval}
        Verify Mock Expectation  ${req}
        Clear Requests  ${callback_endpoint}
    
    
    PUT notification - Method not implemented
    
    Elian Kraja's avatar
    Elian Kraja committed
        Log  PUT Method not implemented
        &{req}=  Create Mock Request Matcher	PUT  ${callback_endpoint}
        &{rsp}=  Create Mock Response  status_code=405
        Create Mock Expectation  ${req}  ${rsp}
        Sleep  ${sleep_interval}
        Log  Verifying results
        Verify Mock Expectation  ${req}
        Log  Cleaning the endpoint
        Clear Requests  ${callback_endpoint}
    
    
    PATCH subscriptions - Method not implemented
    
    Elian Kraja's avatar
    Elian Kraja committed
        Log  PATCH Method not implemented
        &{req}=  Create Mock Request Matcher	PATCH  ${callback_endpoint}
        &{rsp}=  Create Mock Response  status_code=405
        Create Mock Expectation  ${req}  ${rsp}
        Sleep  ${sleep_interval}
        Log  Verifying results
        Verify Mock Expectation  ${req}
        Log  Cleaning the endpoint
        Clear Requests  ${callback_endpoint}
    
    
    DELETE subscriptions - Method not implemented
    
    Elian Kraja's avatar
    Elian Kraja committed
        Log  DELETE Method not implemented
        &{req}=  Create Mock Request Matcher	DELETE  ${callback_endpoint}
        &{rsp}=  Create Mock Response  status_code=405
        Create Mock Expectation  ${req}  ${rsp}
        Sleep  ${sleep_interval}
        Log  Verifying results
        Verify Mock Expectation  ${req}
        Log  Cleaning the endpoint
        Clear Requests  ${callback_endpoint}
    
        Start Process  java  -jar  ${MOCK_SERVER_JAR}  -serverPort  ${callback_port}  alias=mockInstance
    
        Wait For Process  handle=mockInstance  timeout=5s  on_timeout=continue
    
    Elian Kraja's avatar
    Elian Kraja committed
        Create Mock Session  ${callback_uri}:${callback_port}