Removing Invoke VNF Notification for SOL002 in CSIT due to expired cert
[integration/csit.git] / tests / so / etsi / etsi_tests.robot
1 *** Settings ***
2 Library     Collections
3 Library     RequestsLibrary
4 Library     OperatingSystem
5 Library     json
6
7 *** Variables ***
8 ${SLEEP_INTERVAL_SEC}=   5
9 ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}=     48     # Represents the maximum number of attempts that will be made before a timeout. It sleeps for SLEEP_INTERVAL_SEC seconds before retry.
10
11 *** Test Cases ***
12 Distribute Service Template
13     Create Session   sdc_controller_session  http://${REPO_IP}:8085
14     ${data}=    Get Binary File     ${CURDIR}${/}data${/}distributeServiceTemplate.json
15     &{headers}=  Create Dictionary    Authorization=Basic bXNvX2FkbWluOnBhc3N3b3JkMSQ=    resource-location=/distribution-test-zip/unzipped/    Content-Type=application/json    Accept=application/json
16     ${resp}=    Post Request    sdc_controller_session    /test/treatNotification/v1    data=${data}    headers=${headers}
17     Run Keyword If  '${resp.status_code}' == '200'  log to console  \nexecuted with expected result
18     Should Be Equal As Strings    '${resp.status_code}'    '200'
19
20 Invoke Service Instantiation
21     Create Session   api_handler_session  http://${REPO_IP}:8080
22     ${data}=    Get Binary File     ${CURDIR}${/}data${/}serviceInstantiationRequest.json
23     &{headers}=  Create Dictionary    Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==    Content-Type=application/json    Accept=application/json
24     ${service_instantiation_request}=    Post Request    api_handler_session    /onap/so/infra/serviceInstantiation/v7/serviceInstances    data=${data}    headers=${headers}
25     Run Keyword If  '${service_instantiation_request.status_code}' == '200'  log to console   \nexecuted with expected result
26     log to console      ${service_instantiation_request.content}
27     ${service_instantiation_json_response}=    Evaluate     json.loads(r"""${service_instantiation_request.content}""", strict=False)    json
28     ${request_ID}=          Set Variable         ${service_instantiation_json_response}[requestReferences][requestId]
29     ${service_instance_Id}=     Set Variable       ${service_instantiation_json_response}[requestReferences][instanceId]
30     SET GLOBAL VARIABLE       ${service_instance_Id}
31     ${actual_request_state}=    Set Variable    ""
32
33     : FOR    ${INDEX}    IN RANGE    ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
34     \   ${orchestration_status_request}=   Get Request  api_handler_session   /onap/so/infra/orchestrationRequests/v7/${request_ID}
35     \   Run Keyword If  '${orchestration_status_request.status_code}' == '200'  log to console   \nexecuted with expected result
36     \   log to console      ${orchestration_status_request.content}
37     \   ${orchestration_json_response}=    Evaluate     json.loads(r"""${orchestration_status_request.content}""", strict=False)    json
38     \   ${actual_request_state}=     SET VARIABLE       ${orchestration_json_response}[request][requestStatus][requestState]
39     \   Log To Console    Received actual repsonse status:${actual_request_state}
40     \   RUN KEYWORD IF   '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED'      Exit For Loop
41     \   log to console  Will try again after ${SLEEP_INTERVAL_SEC} seconds
42     \   SLEEP   ${SLEEP_INTERVAL_SEC}s
43
44     Log To Console     final repsonse status received: ${actual_request_state}
45     Run Keyword If  '${actual_request_state}' == 'COMPLETE'  log to console   \nexecuted with expected result
46     Should Be Equal As Strings    '${actual_request_state}'    'COMPLETE'
47
48 Invoke VNF Instantiation
49     Run Keyword If      "${service_instance_Id}"!="${EMPTY}"      Log to Console    Service Instance ID :${service_instance_Id} received
50     ...                ELSE      Fail           Log to Console  Invalid Service Instance ID :${service_instance_Id} recieved
51
52     Create Session   api_handler_session  http://${REPO_IP}:8080
53     ${data}=    Get Binary File     ${CURDIR}${/}data${/}vnfInstantiationRequest.json
54     ${vnf_instantiate_request_json}=    evaluate    json.loads(r'''${data}''', strict=False)    json
55     set to dictionary    ${vnf_instantiate_request_json}[requestDetails][relatedInstanceList][0][relatedInstance]        instanceId=${service_instance_Id}
56     ${vnf_instantiate_request_string}=    evaluate    json.dumps(${vnf_instantiate_request_json})    json
57     &{headers}=  Create Dictionary    Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==    Content-Type=application/json    Accept=application/json
58     ${vnf_instantiate_request}=    Post Request    api_handler_session    /onap/so/infra/serviceInstantiation/v7/serviceInstances/${service_instance_Id}/vnfs   data=${vnf_instantiate_request_string}    headers=${headers}
59     Run Keyword If  '${vnf_instantiate_request.status_code}' == '200'  log to console   \nexecuted with expected result
60     ${vnf_instantiate_json_response}=    Evaluate     json.loads(r"""${vnf_instantiate_request.content}""")    json
61     ${request_ID}=          Set Variable         ${vnf_instantiate_json_response}[requestReferences][requestId]
62     ${actual_request_state}=    SET VARIABLE    ""
63     ${vnf_instance_Id}=     Set Variable       ${vnf_instantiate_json_response}[requestReferences][instanceId]
64     SET GLOBAL VARIABLE       ${vnf_instance_Id}
65
66     : FOR    ${INDEX}    IN RANGE    ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
67     \   ${orchestration_status_request}=   Get Request  api_handler_session   /onap/so/infra/orchestrationRequests/v7/${request_ID}
68     \   Run Keyword If  '${orchestration_status_request.status_code}' == '200'  log to console   \nexecuted with expected result
69     \   Log To Console      ${orchestration_status_request.content}
70     \   ${orchestration_json_response}=    Evaluate     json.loads(r"""${orchestration_status_request.content}""", strict=False)    json
71     \   ${actual_request_state}=     SET VARIABLE       ${orchestration_json_response}[request][requestStatus][requestState]
72     \   RUN KEYWORD IF   '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED'      Exit For Loop
73     \   Log To Console  Will try again after ${SLEEP_INTERVAL_SEC} seconds
74     \   SLEEP   ${SLEEP_INTERVAL_SEC}s
75
76     ${service_instance_Id}=     SET VARIABLE       ${orchestration_json_response}[request][instanceReferences][serviceInstanceId]
77     Log To Console     final repsonse status received: ${actual_request_state}
78     Run Keyword If  '${actual_request_state}' == 'COMPLETE'  log to console   \nexecuted with expected result
79     Should Be Equal As Strings    '${actual_request_state}'    'COMPLETE'
80
81 Delete VNF Instance
82     Run Keyword If      "${vnf_instance_Id}" != "${EMPTY}"      Log to Console    VNF Instance ID :${vnf_instance_Id} received
83     ...                ELSE      Fail           Log to Console  Invalid VNF Instance ID :${vnf_instance_Id} recieved
84     Run Keyword If      "${service_instance_Id}" != "${EMPTY}"      Log to Console    VNF Instance ID :${service_instance_Id} received
85     ...                ELSE      Fail           Log to Console  Invalid VNF Instance ID :${service_instance_Id} recieved
86
87     Create Session   api_handler_session  http://${REPO_IP}:8080
88     ${data}=    Get Binary File     ${CURDIR}${/}data${/}vnfDeleteRequest.json
89     &{headers}=  Create Dictionary    Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==    Content-Type=application/json    Accept=application/json
90     ${vnf_delete_request}=    Delete Request    api_handler_session    /onap/so/infra/serviceInstantiation/v7/serviceInstances/${service_instance_Id}/vnfs/${vnf_instance_Id}     data=${data}     headers=${headers}
91     ${vnf_delete_json_response}=    Evaluate     json.loads(r"""${vnf_delete_request.content}""")    json
92     Log to Console      ${vnf_delete_json_response}
93     ${request_ID}=          Set Variable         ${vnf_delete_json_response}[requestReferences][requestId]
94     ${actual_request_state}=    Set Variable    ""
95
96     : FOR    ${INDEX}    IN RANGE    ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
97     \   ${orchestration_status_request}=   Get Request  api_handler_session   /onap/so/infra/orchestrationRequests/v7/${request_ID}
98     \   Run Keyword If  '${orchestration_status_request.status_code}' == '200'  log to console   \nexecuted with expected result
99     \   Log To Console      ${orchestration_status_request.content}
100     \   ${orchestration_json_response}=    Evaluate     json.loads(r"""${orchestration_status_request.content}""")    json
101     \   ${actual_request_state}=     SET VARIABLE       ${orchestration_json_response}[request][requestStatus][requestState]
102     \   RUN KEYWORD IF   '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED'      Exit For Loop
103     \   Log To Console  Will try again after ${SLEEP_INTERVAL_SEC} seconds
104     \   SLEEP   ${SLEEP_INTERVAL_SEC}s
105
106     Log To Console     final repsonse status received: ${actual_request_state}
107     Run Keyword If  '${actual_request_state}' == 'COMPLETE'  log to console   \nexecuted with expected result
108     Should Be Equal As Strings    '${actual_request_state}'    'COMPLETE'
109
110
111 Delete Service Instance
112     Run Keyword If      "${service_instance_Id}" != "${EMPTY}"      Log to Console    VNF Instance ID :${service_instance_Id} received
113     ...                ELSE      Fail           Log to Console  Invalid Service Instance ID :${service_instance_Id} recieved
114
115     Create Session   api_handler_session  http://${REPO_IP}:8080
116     ${data}=    Get Binary File     ${CURDIR}${/}data${/}serviceDeleteRequest.json
117     &{headers}=  Create Dictionary    Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==    Content-Type=application/json    Accept=application/json
118     ${service_delete_request}=    Delete Request    api_handler_session    /onap/so/infra/serviceInstantiation/v7/serviceInstances/${service_instance_Id}     data=${data}     headers=${headers}
119     ${service_delete_json_response}=    Evaluate     json.loads(r"""${service_delete_request.content}""")    json
120     Log to Console      ${service_delete_json_response}
121     ${request_ID}=          Set Variable         ${service_delete_json_response}[requestReferences][requestId]
122     ${actual_request_state}=    Set Variable    ""
123
124     : FOR    ${INDEX}    IN RANGE    ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
125     \   ${orchestration_status_request}=   Get Request  api_handler_session   /onap/so/infra/orchestrationRequests/v7/${request_ID}
126     \   Run Keyword If  '${orchestration_status_request.status_code}' == '200'  log to console   \nexecuted with expected result
127     \   Log To Console      ${orchestration_status_request.content}
128     \   ${orchestration_json_response}=    Evaluate     json.loads(r"""${orchestration_status_request.content}""")    json
129     \   ${actual_request_state}=     SET VARIABLE       ${orchestration_json_response}[request][requestStatus][requestState]
130     \   RUN KEYWORD IF   '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED'      Exit For Loop
131     \   Log To Console  Will try again after ${SLEEP_INTERVAL_SEC} seconds
132     \   SLEEP   ${SLEEP_INTERVAL_SEC}s
133
134     Log To Console     final repsonse status received: ${actual_request_state}
135     Run Keyword If  '${actual_request_state}' == 'COMPLETE'  log to console   \nexecuted with expected result
136     Should Be Equal As Strings    '${actual_request_state}'    'COMPLETE'