blob: 203dd9a313ecae769c6a5d9078bb1ae3d3dd0fbf [file] [log] [blame]
Suchitra Vemurif7410a92017-05-16 17:04:05 -07001*** Settings ***
2Documentation Test suite for Service verification
3Suite Setup Read InputFile
4Test Template Verify Service functionality
5Library Collections
6Library String
7Library OperatingSystem
8Library XML
9Library RequestsLibrary
Zack Williams821c5022020-01-15 15:11:46 -070010Library CORDRobot
11Library ImportResource resources=CORDRobot
Suchitra Vemurif7410a92017-05-16 17:04:05 -070012
13*** Variables ***
Suchitra Vemurif7410a92017-05-16 17:04:05 -070014${PATHFILE} ${CURDIR}/data/Ch_Service.json
15${PATHFILE2} ${CURDIR}/data/Ch_putService.json
16
17*** Test Cases *** TYPE LISTINDEX
18Test Post Service-1
19 CREATE 0
20
21Test Get Service-1 RETRIEVE 0
22
23Test Edit Service-1
24 PUT 0
25
26Test Delete Service-1
27 DELETE 0
28
29Test Post Service-2
30 CREATE 1
31
32Test Get Service-2 RETRIEVE 1
33
34Test Edit Service-2
35 PUT 1
36
37Test Delete Service-2
38 DELETE 1
39
40*** Keywords ***
41Read InputFile
Zack Williams821c5022020-01-15 15:11:46 -070042 ${serviceList}= CORDRobot.jsonToList ${PATHFILE} ServiceInfo
Suchitra Vemurif7410a92017-05-16 17:04:05 -070043 Set Suite Variable ${slist} ${serviceList}
Zack Williams821c5022020-01-15 15:11:46 -070044 ${putServiceList}= CORDRobot.jsonToList ${PATHFILE2} ServiceInfo
Suchitra Vemurif7410a92017-05-16 17:04:05 -070045 Set Suite Variable ${putList} ${putServiceList}
46
47Verify Service functionality
48 [Arguments] ${type} ${listIndex}
49 Run Keyword If "${type}" == "CREATE" Test Post Service API ${listIndex}
50 Run Keyword If "${type}" == "RETRIEVE" Test Get Service API ${listIndex}
51 Run Keyword If "${type}" == "PUT" Test Edit Service API ${listIndex}
52 Run Keyword If "${type}" == "DELETE" Test Delete Service API ${listIndex}
53
54Test Post Service API
55 [Arguments] ${listIndex}
56 ${serviceList} = Get Variable Value ${slist}
Zack Williams821c5022020-01-15 15:11:46 -070057 ${serviceDict}= CORDRobot.listToDict ${serviceList} ${listIndex}
58 ${api_result}= CORDRobot.ApiPost CH_CORE_SERVICES ${serviceDict}
Suchitra Vemurif7410a92017-05-16 17:04:05 -070059 Should Be True ${api_result}
60
61Test Get Service API
62 [Arguments] ${listIndex}
Zack Williams821c5022020-01-15 15:11:46 -070063 ${json_result}= CORDRobot.ApiGet CH_CORE_SERVICES
Suchitra Vemurif7410a92017-05-16 17:04:05 -070064 ${json_result_list}= Get From Dictionary ${json_result} items
65 Log ${json_result_list}
66 Log ${json_result}
67 ${serviceList}= Get Variable Value ${slist}
Zack Williams821c5022020-01-15 15:11:46 -070068 ${serviceDict}= CORDRobot.listToDict ${serviceList} ${listIndex}
69 ${name}= CORDRobot.getFieldValueFromDict ${serviceDict} name
70 ${getJsonDict}= CORDRobot.getDictFromListOfDict ${json_result_list} name ${name}
71 ${test_result}= CORDRobot.compare_dict ${serviceDict} ${getJsonDict}
Suchitra Vemurif7410a92017-05-16 17:04:05 -070072 Should Be True ${test_result}
73
74Test Edit Service API
75 [Arguments] ${listIndex}
Zack Williams821c5022020-01-15 15:11:46 -070076 ${get_result}= CORDRobot.ApiGet CH_CORE_SERVICES
Suchitra Vemurif7410a92017-05-16 17:04:05 -070077 ${get_result_list}= Get From Dictionary ${get_result} items
78 ${putServiceList}= Get Variable Value ${putList}
Zack Williams821c5022020-01-15 15:11:46 -070079 ${putServiceDict}= CORDRobot.listToDict ${putServiceList} ${listIndex}
80 ${name}= CORDRobot.getFieldValueFromDict ${putServiceDict} name
81 ${serviceDict}= CORDRobot.getDictFromListofDict ${get_result_list} name ${name}
82 ${serviceID}= CORDRobot.getFieldValueFromDict ${serviceDict} id
83 ${api_result}= CORDRobot.ApiChameleonPut CH_CORE_SERVICES ${putServiceDict} ${serviceID}
Suchitra Vemurif7410a92017-05-16 17:04:05 -070084 Should Be True ${api_result}
Zack Williams821c5022020-01-15 15:11:46 -070085 ${getResultAfterPut}= CORDRobot.ApiChameleonGet CH_CORE_SERVICES ${serviceID}
86 ${test_result}= CORDRobot.compare_dict ${putServiceDict} ${getResultAfterPut}
Suchitra Vemurif7410a92017-05-16 17:04:05 -070087 Should Be True ${test_result}
88
89Test Delete Service API
90 [Arguments] ${listIndex}
Zack Williams821c5022020-01-15 15:11:46 -070091 ${json_result}= CORDRobot.ApiGet CH_CORE_SERVICES
Suchitra Vemurif7410a92017-05-16 17:04:05 -070092 ${json_result_list}= Get From Dictionary ${json_result} items
93 ${serviceList}= Get Variable Value ${slist}
Zack Williams821c5022020-01-15 15:11:46 -070094 ${serviceDict}= CORDRobot.listToDict ${serviceList} ${listIndex}
95 ${name}= CORDRobot.getFieldValueFromDict ${serviceDict} name
Suchitra Vemurif7410a92017-05-16 17:04:05 -070096 Log ${name}
Zack Williams821c5022020-01-15 15:11:46 -070097 ${serviceDict}= CORDRobot.getDictFromListofDict ${json_result_list} name ${name}
Suchitra Vemurif7410a92017-05-16 17:04:05 -070098 Log ${serviceDict}
Zack Williams821c5022020-01-15 15:11:46 -070099 ${serviceId}= CORDRobot.getFieldValueFromDict ${serviceDict} id
Suchitra Vemurif7410a92017-05-16 17:04:05 -0700100 Log ${serviceId}
Zack Williams821c5022020-01-15 15:11:46 -0700101 ${test_result}= CORDRobot.ApiChameleonDelete CH_CORE_SERVICES ${serviceId}
Suchitra Vemurif7410a92017-05-16 17:04:05 -0700102 Should Be True ${test_result}