1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
*** 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}
|