vertex crud test update
This commit is contained in:
parent
e89da5f875
commit
7079c78e14
@ -6,21 +6,82 @@ import requests
|
||||
|
||||
class VertexCrudTest(unittest.TestCase):
|
||||
|
||||
def test_crud(self):
|
||||
def check_reponse_status_code(self, r, code):
|
||||
'''
|
||||
create -> read -> update -> read -> delete -> read
|
||||
Checks status code of the response and returns
|
||||
response data as json.
|
||||
|
||||
Returns:
|
||||
response data (json)
|
||||
'''
|
||||
endpoint = 'http://localhost:7474/db/data/node'
|
||||
payload = { "foo1": "bar1", "foo2": "bar2" }
|
||||
r = requests.post(endpoint, json = payload)
|
||||
self.assertEqual(r.status_code, 201)
|
||||
self.assertEqual(r.status_code, code)
|
||||
response = r.json()
|
||||
return response
|
||||
|
||||
def check_metadata_and_id(self, response, id=None):
|
||||
'''
|
||||
Checks reponse id and return it.
|
||||
'''
|
||||
self.assertIn("metadata", response)
|
||||
metadata = response["metadata"]
|
||||
self.assertIn("id", metadata)
|
||||
identifier = metadata["id"]
|
||||
response_id = metadata["id"]
|
||||
if id is not None:
|
||||
self.assertEqual(id, response_id)
|
||||
return response_id
|
||||
|
||||
def check_response_data(self, response, data):
|
||||
'''
|
||||
Takes data from response json and compare them to the data
|
||||
argument.
|
||||
'''
|
||||
self.assertIn("data", response)
|
||||
data = response["data"]
|
||||
self.assertDictEqual(payload, data)
|
||||
|
||||
# TODO: read -> update -> read -> delete -> read
|
||||
response_data = response["data"]
|
||||
self.assertDictEqual(response_data, data)
|
||||
return response_data
|
||||
|
||||
def check_read(self, resource_id, valid_data):
|
||||
'''
|
||||
Check a whole get request.
|
||||
'''
|
||||
resource_url = self.endpoint + '/%s' % resource_id
|
||||
r = requests.get(resource_url)
|
||||
response = self.check_reponse_status_code(r, 200)
|
||||
self.check_metadata_and_id(response, resource_id)
|
||||
self.check_response_data(response, valid_data)
|
||||
|
||||
def test_crud(self):
|
||||
'''
|
||||
CRUD test:
|
||||
create -> read -> update -> read -> delete -> read
|
||||
'''
|
||||
self.endpoint = 'http://localhost:7474/db/data/node'
|
||||
|
||||
create_payload = {"foo1": "bar1", "foo2": "bar2"}
|
||||
edit_payload = {"foo2": "bar22", "foo3": "bar3"}
|
||||
edited_resource = {"foo1": "bar1", "foo2": "bar22", "foo3": "bar3"}
|
||||
|
||||
# 1. create
|
||||
r = requests.post(self.endpoint, json=create_payload)
|
||||
response = self.check_reponse_status_code(r, 201)
|
||||
self.resource_id = self.check_metadata_and_id(response)
|
||||
self.resource_url = self.endpoint + "/%s" % self.resource_id
|
||||
self.check_response_data(response, create_payload)
|
||||
|
||||
# 2. read
|
||||
self.check_read(self.resource_id, create_payload)
|
||||
|
||||
# 3. update
|
||||
r = requests.put(self.resource_url, edit_payload)
|
||||
self.check_reponse_status_code(r, 200)
|
||||
|
||||
# 4. read
|
||||
self.check_read(self.resource_id, edited_resource)
|
||||
|
||||
# 5. delete
|
||||
r = requests.delete(self.resource_url)
|
||||
self.check_response_status_code(r, 200)
|
||||
|
||||
# 6. read
|
||||
r = requests.get(self.resource_url)
|
||||
self.check_response_status_code(r, 404)
|
||||
|
Loading…
Reference in New Issue
Block a user