blob: 86554a13a4389b2b3edb650f0c16bf71280dcc13 [file] [log] [blame]
*** Settings ***
Library OperatingSystem
Library RequestsLibrary
Library requests
*** Variables ***
${TARGETURL} https://${HOST_IP}:9509/services/search-data-service/v1/search/indexes/test-index3
${INDEXDATA} {"fields": [{"name": "Name", "data-type": "string"}, {"name": "Number", "data-type": "long"}]}
${DOCUMENTDATA} {"Name": "A", "Number": 5}
*** Test Cases ***
Index Create Test
[Documentation] Create an index and verify success
${resp}= PutWithCert ${TARGETURL} ${INDEXDATA}
Should Be Equal As Strings ${resp.status_code} 201
Insert Document Test
[Documentation] Insert a document into the previously created index
${resp}= PutWithCert ${TARGETURL}/documents/testdoc ${DOCUMENTDATA}
Should Be Equal As Strings ${resp.status_code} 201
Get Document Test
[Documentation] Get the document that was just created
${resp} GetWithCert ${TARGETURL}/documents/testdoc
${content}= Evaluate $resp.json().get('content')
${originaljson}= Evaluate json.loads('${DOCUMENTDATA}') json
Should Be Equal As Strings ${resp.status_code} 200
Should Be Equal ${content} ${originaljson}
Delete Index Test
[Documentation] Delete the index
${resp}= DeleteWithCert ${TARGETURL}
Should Be Equal As Strings ${resp.status_code} 200
*** Keywords ***
PutWithCert
[Arguments] ${url} ${data}
${certinfo}= Evaluate ('${CURDIR}/publickey.crt', '${CURDIR}/private.key')
${resp}= Evaluate requests.put('${url}', data='${data}', cert=${certinfo}, verify=False) requests
[return] ${resp}
PostWithCert
[Arguments] ${url} ${data}
${certinfo}= Evaluate ('${CURDIR}/publickey.crt', '${CURDIR}/private.key')
${resp}= Evaluate requests.post('${url}', data='${data}', cert=${certinfo}, verify=False) requests
[return] ${resp}
GetWithCert
[Arguments] ${url}
${certinfo}= Evaluate ('${CURDIR}/publickey.crt', '${CURDIR}/private.key')
${resp}= Evaluate requests.get('${url}', cert=${certinfo}, verify=False) requests
[return] ${resp}
DeleteWithCert
[Arguments] ${url}
${certinfo}= Evaluate ('${CURDIR}/publickey.crt', '${CURDIR}/private.key')
${resp}= Evaluate requests.delete('${url}', cert=${certinfo}, verify=False) requests
[return] ${resp}