X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Flibraries%2FDatastoreCRUD.robot;h=ce6f98a50eb17427636423603f5258f633f2bc46;hb=aa07fea90aad58d217358730677d3b57c8ecf26e;hp=ba7f091af3cab28a41cdc4dafc41748fb3dc4835;hpb=59e81c38620fa1b61e15771191e35771450b9499;p=integration%2Ftest.git diff --git a/csit/libraries/DatastoreCRUD.robot b/csit/libraries/DatastoreCRUD.robot index ba7f091af3..ce6f98a50e 100644 --- a/csit/libraries/DatastoreCRUD.robot +++ b/csit/libraries/DatastoreCRUD.robot @@ -5,56 +5,61 @@ Variables ../variables/Variables.py *** Keywords *** Create Records - [Arguments] ${controller_ip} ${node} ${first} ${last} ${prefix} ${field bases} ${postfix} + [Arguments] ${controller_ip} ${node} ${first} ${last} ${prefix} ${field bases} + ... ${postfix} [Documentation] POSTs records to a controller's data store. First and last index numbers are specified ... as is a dictionary called field_bases containing the base name for the field contents ... onto which will be appended the index number. Prefix and postfix are used to complete ... the JSON payload. The keyword passes if return code is correct. ${last} Convert to Integer ${last} - : FOR ${INDEX} IN RANGE ${first} ${last+1} - \ ${payload}= Assemble Payload ${INDEX} ${prefix} ${field bases} ${postfix} - \ Log ${payload} - \ Create_Session session http://${controller_ip}:${RESTCONFPORT}${CONFIG_API} headers=${HEADERS} auth=${AUTH} - \ ${resp} RequestsLibrary.Post session ${node} ${payload} - \ Log ${resp} - \ Should Be Equal As Strings ${resp} + FOR ${INDEX} IN RANGE ${first} ${last+1} + ${payload}= Assemble Payload ${INDEX} ${prefix} ${field bases} ${postfix} + Log ${payload} + Create_Session session http://${controller_ip}:${RESTCONFPORT}${CONFIG_API} headers=${HEADERS} auth=${AUTH} + ${resp} RequestsLibrary.Post Request session ${node} ${payload} + Log ${resp} + Should Be Equal As Strings ${resp} + END Read Records [Arguments] ${controller_ip} ${node} [Documentation] GETs records from a shard on a controller's data store. Create_Session session http://${controller_ip}:${RESTCONFPORT}${CONFIG_API} headers=${HEADERS} auth=${AUTH} - ${resp}= RequestsLibrary.Get session ${node} + ${resp}= RequestsLibrary.Get Request session ${node} [Return] ${resp.json()} Update Records - [Arguments] ${controller_ip} ${node} ${first} ${last} ${prefix} ${field bases} ${postfix} + [Arguments] ${controller_ip} ${node} ${first} ${last} ${prefix} ${field bases} + ... ${postfix} [Documentation] PUTs records to shard on a controller's data store. First and last index numbers are specified ... as is a dictionary called field_bases containing the base name for the field contents ... onto which will be appended the index number. Prefix and postfix are used to complete ... the JSON payload. The keyword passes if return code is correct. ${last} Convert to Integer ${last} - : FOR ${INDEX} IN RANGE ${first} ${last+1} - \ ${payload}= Assemble Payload ${INDEX} ${prefix} ${field bases} ${postfix} - \ Log ${payload} - \ Create_Session session http://${controller_ip}:${RESTCONFPORT}${CONFIG_API} headers=${HEADERS} auth=${AUTH} - \ ${resp}= RequestsLibrary.Put session ${node}/${INDEX} ${payload} - \ Log ${resp} - \ Should Be Equal As Strings ${resp} + FOR ${INDEX} IN RANGE ${first} ${last+1} + ${payload}= Assemble Payload ${INDEX} ${prefix} ${field bases} ${postfix} + Log ${payload} + Create_Session session http://${controller_ip}:${RESTCONFPORT}${CONFIG_API} headers=${HEADERS} auth=${AUTH} + ${resp}= RequestsLibrary.Put Request session ${node}/${INDEX} ${payload} + Log ${resp} + Should Be Equal As Strings ${resp} + END Delete Records [Arguments] ${controller_ip} ${node} ${first} ${last} [Documentation] DELETEs specified range of records from a shard on a contrsoller's data store. ${last} Convert to Integer ${last} - : FOR ${INDEX} IN RANGE ${first} ${last+1} - \ Create_Session session http://${controller_ip}:${RESTCONFPORT}${CONFIG_API} headers=${HEADERS} auth=${AUTH} - \ ${resp}= RequestsLibrary.Delete session ${node}/${INDEX} - \ Should Be Equal As Strings ${resp} + FOR ${INDEX} IN RANGE ${first} ${last+1} + Create_Session session http://${controller_ip}:${RESTCONFPORT}${CONFIG_API} headers=${HEADERS} auth=${AUTH} + ${resp}= RequestsLibrary.Delete Request session ${node}/${INDEX} + Should Be Equal As Strings ${resp} + END Delete All Records [Arguments] ${controller_ip} ${node} [Documentation] DELETEs all records from a shard on a controller's data store. Create_Session session http://${controller_ip}:${RESTCONFPORT}${CONFIG_API} headers=${HEADERS} auth=${AUTH} - ${resp}= RequestsLibrary.Delete session ${node} + ${resp}= RequestsLibrary.Delete Request session ${node} Should Be Equal As Strings ${resp} Assemble Payload @@ -67,9 +72,10 @@ Assemble Payload ${length}= Get Length ${field bases} ${keys}= Get Dictionary Keys ${field bases} ${payload}= Set Variable ${prefix} - : FOR ${key string} IN @{keys} - \ ${value string}= Get From Dictionary ${field bases} ${key string} - \ ${payload}= Catenate ${payload} "${key string}": "${value string}${id}", + FOR ${key string} IN @{keys} + ${value string}= Get From Dictionary ${field bases} ${key string} + ${payload}= Catenate ${payload} "${key string}": "${value string}${id}", + END ${payload}= Get Substring ${payload} ${EMPTY} -1 ${payload}= Catenate ${payload} ${postfix} [Return] ${payload}