Add task api and resource locking ability

This commit is contained in:
Oliver Sauder
2017-05-22 11:51:35 +02:00
committed by Lorenzo Bolla
parent e63d74dff2
commit 6ab5e60833
24 changed files with 1519 additions and 620 deletions
+33
View File
@@ -47,6 +47,17 @@ class APITest(BaseTest):
kwargs["headers"]["Content-Type"] = "application/json"
return requests.post("http://%s%s" % (self.base_url, uri), *args, **kwargs)
def post_task(self, uri, *args, **kwargs):
resp = self.post(uri, *args, **kwargs)
if resp.status_code != 202:
return resp
_id = resp.json()['ID']
resp = self.get("/api/tasks/" + str(_id) + "/wait")
self.check_equal(resp.status_code, 200)
return self.get("/api/tasks/" + str(_id))
def put(self, uri, *args, **kwargs):
if "json" in kwargs:
kwargs["data"] = json.dumps(kwargs.pop("json"))
@@ -55,6 +66,17 @@ class APITest(BaseTest):
kwargs["headers"]["Content-Type"] = "application/json"
return requests.put("http://%s%s" % (self.base_url, uri), *args, **kwargs)
def put_task(self, uri, *args, **kwargs):
resp = self.put(uri, *args, **kwargs)
if resp.status_code != 202:
return resp
_id = resp.json()['ID']
resp = self.get("/api/tasks/" + str(_id) + "/wait")
self.check_equal(resp.status_code, 200)
return self.get("/api/tasks/" + str(_id))
def delete(self, uri, *args, **kwargs):
if "json" in kwargs:
kwargs["data"] = json.dumps(kwargs.pop("json"))
@@ -63,6 +85,17 @@ class APITest(BaseTest):
kwargs["headers"]["Content-Type"] = "application/json"
return requests.delete("http://%s%s" % (self.base_url, uri), *args, **kwargs)
def delete_task(self, uri, *args, **kwargs):
resp = self.delete(uri, *args, **kwargs)
if resp.status_code != 202:
return resp
_id = resp.json()['ID']
resp = self.get("/api/tasks/" + str(_id) + "/wait")
self.check_equal(resp.status_code, 200)
return self.get("/api/tasks/" + str(_id))
def upload(self, uri, *filenames, **kwargs):
upload_name = kwargs.pop("upload_name", None)
directory = kwargs.pop("directory", "files")