blob: 2815a73a3280be18c76785b44b20464f6280e7a2 [file] [log] [blame]
Suchitra.Vemuri65900f02016-12-22 15:26:10 -08001*** Settings ***
2Documentation Test suite for Sanity Test of Flavors API
3Suite Setup Read InputFile
4Test Template Verify Flavor API 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.Vemuri65900f02016-12-22 15:26:10 -080012
13*** Variables ***
14${USER} admin
15${PASSWORD} admin
16${PATHFILE} ${CURDIR}/data/SanityFlavors.json
17
18*** Test Cases *** TYPE LISTINDEX
19Test Add Flavor-1 CREATE 0
20
21Test Get Flavor-1 RETRIEVE 0
22
23Test Delete Flavor-1
24 DELETE 0
25
26Test Add Flavor-2 CREATE 1
27
28Test Get Flavor-2 RETRIEVE 1
29
30Test Delete Flavor-2
31 DELETE 1
32
33*** Keywords ***
34Read InputFile
Zack Williams821c5022020-01-15 15:11:46 -070035 ${flavorList} = CORDRobot.jsonToList ${PATHFILE} flavorsInfo
Suchitra.Vemuri65900f02016-12-22 15:26:10 -080036 Set Suite Variable ${vList} ${flavorList}
37
38Verify Flavor API functionality
39 [Arguments] ${type} ${listIndex}
40 Run Keyword If "${type}" == "CREATE" Test Post Flavors ${listIndex}
41 Run Keyword If "${type}" == "RETRIEVE" Test Get Flavors ${listIndex}
42 Run Keyword If "${type}" == "DELETE" Test Delete Flavors ${listIndex}
43
44Test Post Flavors
45 [Arguments] ${listIndex}
46 ${flavorList} = Get Variable Value ${vList}
Zack Williams821c5022020-01-15 15:11:46 -070047 ${flavorDict}= CORDRobot.listToDict ${flavorList} ${listIndex}
48 ${api_result}= CORDRobot.ApiPost CORE_FLAVORS ${flavorDict}
Suchitra.Vemuri65900f02016-12-22 15:26:10 -080049 Should Be True ${api_result}
50
51Test Get Flavors
52 [Arguments] ${listIndex}
Zack Williams821c5022020-01-15 15:11:46 -070053 ${json_result}= CORDRobot.ApiGet CORE_FLAVORS
Suchitra.Vemuri65900f02016-12-22 15:26:10 -080054 Log ${json_result}
55 ${flavorList}= Get Variable Value ${vList}
Zack Williams821c5022020-01-15 15:11:46 -070056 ${inputDict}= CORDRobot.listToDict ${flavorList} ${listIndex}
57 ${flavorName}= CORDRobot.getFieldValueFromDict ${inputDict} name
58 ${getJsonDict}= CORDRobot.getDictFromListOfDict ${json_result} name ${flavorName}
59 ${test_result}= CORDRobot.compare_dict ${inputDict} ${getJsonDict}
Suchitra.Vemuri65900f02016-12-22 15:26:10 -080060 Should Be True ${json_result}
61
62Test Delete Flavors
63 [Arguments] ${listIndex}
Zack Williams821c5022020-01-15 15:11:46 -070064 ${json_getresult}= CORDRobot.ApiGet CORE_FLAVORS
Suchitra.Vemuri65900f02016-12-22 15:26:10 -080065 ${flavorList}= Get Variable Value ${vList}
Zack Williams821c5022020-01-15 15:11:46 -070066 ${flavorDict}= CORDRobot.listToDict ${vList} ${listIndex}
67 ${flavorName}= CORDRobot.getFieldValueFromDict ${flavorDict} name
Suchitra.Vemuri65900f02016-12-22 15:26:10 -080068 Log ${flavorName}
Zack Williams821c5022020-01-15 15:11:46 -070069 ${getFlavorDict}= CORDRobot.getDictFromListofDict ${json_getresult} name ${flavorName}
Suchitra.Vemuri65900f02016-12-22 15:26:10 -080070 Log ${getFlavorDict}
Zack Williams821c5022020-01-15 15:11:46 -070071 ${flavorID}= CORDRobot.getFieldValueFromDict ${getFlavorDict} id
Suchitra.Vemuri65900f02016-12-22 15:26:10 -080072 Log ${flavorID}
Zack Williams821c5022020-01-15 15:11:46 -070073 ${test_result}= CORDRobot.ApiDelete CORE_FLAVORS ${flavorID}
Suchitra.Vemuri65900f02016-12-22 15:26:10 -080074 Should be True ${test_result}