blob: 450ef43206e00bb2a2553fa1cbcea1ad7cf2a346 [file] [log] [blame]
You Wang123d6942017-03-01 12:33:02 -08001*** Settings ***
2Documentation Test suite for Instance API verification
3Suite Setup Read InputFile
4Test Template Verify Instance API functionality
5Library Collections
6Library String
7Library OperatingSystem
8Library XML
9Library RequestsLibrary
10Library ../Framework/utils/utils.py
11Library ../Framework/restApi.py
12| Variables | ../Properties/RestApiProperties.py
13
14*** Variables ***
15${USER} admin
16${PASSWORD} admin
17${PATHFILE} ${CURDIR}/data/Instance.json
18| ${IP} | ${SERVER_IP}
19| ${PORT} | ${SERVER_PORT}
20
21*** Test Cases *** TYPE LISTINDEX
22Test Add Instance-1
23 CREATE 0
24
25Test Get Instance-1
26 RETRIEVE 0
27
28Test Delete Instance-1
29 DELETE 0
30
31Test Add Instance-2
32 CREATE 1
33
34Test Get Instance-2
35 RETRIEVE 1
36
37Test Delete Instance-2
38 DELETE 1
39
40*** Keywords ***
41Read InputFile
42 ${instanceList} = utils.jsonToList ${PATHFILE} InstanceInfo
43 Set Suite Variable ${iList} ${instanceList}
44 ${image}= Catenate SEPARATOR= http:// ${IP} : ${PORT} /api/core/images/1/
45 Set Suite Variable ${image} ${image}
46 ${slice}= Catenate SEPARATOR= http:// ${IP} : ${PORT} /api/core/slices/1/
47 Set Suite Variable ${slice} ${slice}
48 ${deployment}= Catenate SEPARATOR= http:// ${IP} : ${PORT} /api/core/deployments/1/
49 Set Suite Variable ${deployment} ${deployment}
50 ${node}= Catenate SEPARATOR= http:// ${IP} : ${PORT} /api/core/nodes/1/
51 Set Suite Variable ${node} ${node}
52 ${creator}= Catenate SEPARATOR= http:// ${IP} : ${PORT} /api/core/users/1/
53 Set Suite Variable ${creator} ${creator}
54
55Verify Instance API functionality
56 [Arguments] ${type} ${listIndex}
57 Run Keyword If "${type}" == "CREATE" Test Post Instances ${listIndex}
58 Run Keyword If "${type}" == "RETRIEVE" Test Get Instances ${listIndex}
59 Run Keyword If "${type}" == "DELETE" Test Delete Instances ${listIndex}
60
61Test Post Instances
62 [Arguments] ${listIndex}
63 ${instanceList} = Get Variable Value ${iList}
64 ${instanceDict}= utils.listToDict ${instanceList} ${listIndex}
65 ${image}= Get Variable Value ${image}
66 ${instanceDict}= utils.setFieldValueInDict ${instanceDict} image ${image}
67 ${slice}= Get Variable Value ${slice}
68 ${instanceDict}= utils.setFieldValueInDict ${instanceDict} slice ${slice}
69 ${deployment}= Get Variable Value ${deployment}
70 ${instanceDict}= utils.setFieldValueInDict ${instanceDict} deployment ${deployment}
71 ${node}= Get Variable Value ${node}
72 ${instanceDict}= utils.setFieldValueInDict ${instanceDict} node ${node}
73 ${creator}= Get Variable Value ${creator}
74 ${instanceDict}= utils.setFieldValueInDict ${instanceDict} creator ${creator}
75 ${api_result}= restApi.ApiPost CORE_INSTANCES ${instanceDict}
76 Should Be True ${api_result}
77
78Test Get Instances
79 [Arguments] ${listIndex}
80 ${json_result}= restApi.ApiGet CORE_INSTANCES
81 Log ${json_result}
82 ${instanceList}= Get Variable Value ${iList}
83 ${instanceDict}= utils.listToDict ${instanceList} ${listIndex}
84 ${image}= Get Variable Value ${image}
85 ${instanceDict}= utils.setFieldValueInDict ${instanceDict} image ${image}
86 ${slice}= Get Variable Value ${slice}
87 ${instanceDict}= utils.setFieldValueInDict ${instanceDict} slice ${slice}
88 ${deployment}= Get Variable Value ${deployment}
89 ${instanceDict}= utils.setFieldValueInDict ${instanceDict} deployment ${deployment}
90 ${node}= Get Variable Value ${node}
91 ${instanceDict}= utils.setFieldValueInDict ${instanceDict} node ${node}
92 ${creator}= Get Variable Value ${creator}
93 ${instanceDict}= utils.setFieldValueInDict ${instanceDict} creator ${creator}
94 ${instanceName}= utils.getFieldValueFromDict ${instanceDict} name
95 ${getJsonDict}= utils.getDictFromListOfDict ${json_result} name ${instanceName}
96 ${test_result}= utils.compare_dict ${instanceDict} ${getJsonDict}
97 Should Be True ${json_result}
98
99Test Delete Instances
100 [Arguments] ${listIndex}
101 ${json_getresult}= restApi.ApiGet CORE_INSTANCES
102 ${instanceList}= Get Variable Value ${iList}
103 ${instanceDict}= utils.listToDict ${iList} ${listIndex}
104 ${instanceName}= utils.getFieldValueFromDict ${instanceDict} name
105 Log ${instanceName}
106 ${getInstanceDict}= utils.getDictFromListofDict ${json_getresult} name ${instanceName}
107 Log ${getInstanceDict}
108 ${instanceID}= utils.getFieldValueFromDict ${getInstanceDict} id
109 Log ${instanceID}
110 ${test_result}= restApi.ApiDelete CORE_INSTANCES ${instanceID}
111 Should be True ${test_result}