blob: 85838861512fa26b158f7f3858dd8f0409db56bf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
*** Settings ***
Library Collections
Library RequestsLibrary
Library OperatingSystem
Library json
Documentation Test cases for CNF lifecycle management operations
... Note, relies on:
... -package being onboarded in cnf_package_onboarding_tests
*** Variables ***
${SLEEP_INTERVAL_SEC}= 10
${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}= 60 # Represents the maximum number of attempts that will be made before a timeout. It sleeps for SLEEP_INTERVAL_SEC seconds before retry.
${BASIC_AUTH}= Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==
${SERVICE_INSTANTIATION_TEMPLATE}= ${CURDIR}${/}data${/}serviceInstantiationRequest.json
${CNF_RESOURCE_INSTANTIATION_TEMPLATE}= ${CURDIR}${/}data${/}cnfResourceInstantiationRequest.json
${CNF_RESOURCE_DELETE_TEMPLATE}= ${CURDIR}${/}data${/}cnfResourceDeleteRequest.json
${SERVICE_DELETE_TEMPLATE}= ${CURDIR}${/}data${/}serviceDeleteRequest.json
*** Test Cases ***
Invoke Service Instantiation
Create Session api_handler_session http://${REPO_IP}:8080
${data}= Get Binary File ${SERVICE_INSTANTIATION_TEMPLATE}
&{headers}= Create Dictionary Authorization=${BASIC_AUTH} Content-Type=application/json Accept=application/json
${service_instantiation_request}= Post On Session api_handler_session /onap/so/infra/serviceInstantiation/v7/serviceInstances data=${data} headers=${headers}
Log to Console \nStatus code received: ${service_instantiation_request.status_code}
Log to Console Content received: ${service_instantiation_request.content}
Should Be Equal As Strings '${service_instantiation_request.status_code}' '202'
${service_instantiation_json_response}= Evaluate json.loads(r"""${service_instantiation_request.content}""", strict=False) json
${request_ID}= Set Variable ${service_instantiation_json_response}[requestReferences][requestId]
${service_instance_Id}= Set Variable ${service_instantiation_json_response}[requestReferences][instanceId]
Set Global Variable ${service_instance_Id}
${actual_request_state}= Set Variable ""
FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
${orchestration_status_request}= Get On Session api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
Log to Console Orchestration status code received: ${orchestration_status_request.status_code}
Log to Console Orchestration Content received: ${orchestration_status_request.content}
${orchestration_json_response}= Evaluate json.loads(r"""${orchestration_status_request.content}""", strict=False) json
${actual_request_state}= Set Variable ${orchestration_json_response}[request][requestStatus][requestState]
Log To Console Received actual repsonse status:${actual_request_state}
Run Keyword If '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
Log to Console Will try again after ${SLEEP_INTERVAL_SEC} seconds
Sleep ${SLEEP_INTERVAL_SEC}s
END
Log To Console Final repsonse status received: ${actual_request_state}
Should Be Equal As Strings '${actual_request_state}' 'COMPLETE'
Invoke CNF Instantiation
Run Keyword If "${service_instance_Id}"!="${EMPTY}" Log to Console Service Instance ID :${service_instance_Id} received
... ELSE Fail Log to Console Invalid Service Instance ID :${service_instance_Id} recieved
${data}= Get Binary File ${CNF_RESOURCE_INSTANTIATION_TEMPLATE}
${cnf_instantiate_request_json}= Evaluate json.loads(r'''${data}''', strict=False) json
Set To Dictionary ${cnf_instantiate_request_json}[requestDetails][relatedInstanceList][0][relatedInstance] instanceId=${service_instance_Id}
${cnf_instantiate_request_string}= Evaluate json.dumps(${cnf_instantiate_request_json}) json
Create Session api_handler_session http://${REPO_IP}:8080
&{headers}= Create Dictionary Authorization=${BASIC_AUTH} Content-Type=application/json Accept=application/json
${cnf_instantiate_request}= Post On Session api_handler_session /onap/so/infra/serviceInstantiation/v7/serviceInstances/${service_instance_Id}/cnfs data=${cnf_instantiate_request_string} headers=${headers}
Log to Console \nStatus code received: ${cnf_instantiate_request.status_code}
Log to Console Content received: ${cnf_instantiate_request.content}
Should Be Equal As Strings '${cnf_instantiate_request.status_code}' '202'
${cnf_instantiate_json_response}= Evaluate json.loads(r"""${cnf_instantiate_request.content}""") json
${request_ID}= Set Variable ${cnf_instantiate_json_response}[requestReferences][requestId]
${actual_request_state}= Set Variable ""
${cnf_instance_Id}= Set Variable ${cnf_instantiate_json_response}[requestReferences][instanceId]
SET GLOBAL VARIABLE ${cnf_instance_Id}
FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
${orchestration_status_request}= Get On Session api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result
Log To Console ${orchestration_status_request.content}
${orchestration_json_response}= Evaluate json.loads(r"""${orchestration_status_request.content}""", strict=False) json
${actual_request_state}= Set Variable ${orchestration_json_response}[request][requestStatus][requestState]
Run Keyword If '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
Log To Console Will try again after ${SLEEP_INTERVAL_SEC} seconds
SLEEP ${SLEEP_INTERVAL_SEC}s
END
${service_instance_Id}= Set Variable ${orchestration_json_response}[request][instanceReferences][serviceInstanceId]
Log To Console Final repsonse status received: ${actual_request_state}
Should Be Equal As Strings '${actual_request_state}' 'COMPLETE'
Invoke CNF Delete
Run Keyword If "${cnf_instance_Id}" != "${EMPTY}" Log to Console CNF Instance ID :${cnf_instance_Id} received
... ELSE Fail Log to Console Invalid CNF Instance ID :${cnf_instance_Id} recieved
Run Keyword If "${service_instance_Id}" != "${EMPTY}" Log to Console CNF Instance ID :${service_instance_Id} received
... ELSE Fail Log to Console Invalid CNF Instance ID :${service_instance_Id} recieved
Create Session api_handler_session http://${REPO_IP}:8080
${data}= Get Binary File ${CNF_RESOURCE_DELETE_TEMPLATE}
&{headers}= Create Dictionary Authorization=${BASIC_AUTH} Content-Type=application/json Accept=application/json
${cnf_delete_request}= Delete On Session api_handler_session /onap/so/infra/serviceInstantiation/v7/serviceInstances/${service_instance_Id}/cnfs/${cnf_instance_Id} data=${data} headers=${headers}
Log to Console \nStatus code received: ${cnf_delete_request.status_code}
Log to Console Content received: ${cnf_delete_request.content}
Should Be Equal As Strings '${cnf_delete_request.status_code}' '202'
${cnf_delete_json_response}= Evaluate json.loads(r"""${cnf_delete_request.content}""") json
${request_ID}= Set Variable ${cnf_delete_json_response}[requestReferences][requestId]
${actual_request_state}= Set Variable ""
FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
${orchestration_status_request}= Get On Session api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result
Log To Console ${orchestration_status_request.content}
${orchestration_json_response}= Evaluate json.loads(r"""${orchestration_status_request.content}""") json
${actual_request_state}= Set Variable ${orchestration_json_response}[request][requestStatus][requestState]
RUN KEYWORD IF '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
Log To Console Will try again after ${SLEEP_INTERVAL_SEC} seconds
SLEEP ${SLEEP_INTERVAL_SEC}s
END
Log To Console Final repsonse status received: ${actual_request_state}
Should Be Equal As Strings '${actual_request_state}' 'COMPLETE'
Delete Service Instance
Run Keyword If "${service_instance_Id}" != "${EMPTY}" Log to Console CNF Instance ID :${service_instance_Id} received
... ELSE Fail Log to Console Invalid Service Instance ID :${service_instance_Id} recieved
Create Session api_handler_session http://${REPO_IP}:8080
${data}= Get Binary File ${SERVICE_DELETE_TEMPLATE}
&{headers}= Create Dictionary Authorization=${BASIC_AUTH} Content-Type=application/json Accept=application/json
${service_delete_request}= Delete On Session api_handler_session /onap/so/infra/serviceInstantiation/v7/serviceInstances/${service_instance_Id} data=${data} headers=${headers}
${service_delete_json_response}= Evaluate json.loads(r"""${service_delete_request.content}""") json
Log to Console \nStatus code received: ${service_delete_request.status_code}
Log to Console Content received: ${service_delete_request.content}
Should Be Equal As Strings '${service_delete_request.status_code}' '202'
${request_ID}= Set Variable ${service_delete_json_response}[requestReferences][requestId]
${actual_request_state}= Set Variable ""
FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
${orchestration_status_request}= Get On Session api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result
Log To Console ${orchestration_status_request.content}
${orchestration_json_response}= Evaluate json.loads(r"""${orchestration_status_request.content}""") json
${actual_request_state}= Set Variable ${orchestration_json_response}[request][requestStatus][requestState]
RUN KEYWORD IF '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
Log To Console Will try again after ${SLEEP_INTERVAL_SEC} seconds
SLEEP ${SLEEP_INTERVAL_SEC}s
END
Log To Console Final repsonse status received: ${actual_request_state}
Should Be Equal As Strings '${actual_request_state}' 'COMPLETE'
|