---
tests/patchewtest.py | 20 +++++++++-----
tests/test_testing.py | 62 +++++++++++++++++++++----------------------
2 files changed, 44 insertions(+), 38 deletions(-)
diff --git a/tests/patchewtest.py b/tests/patchewtest.py
index e58e5b9..d511954 100644
--- a/tests/patchewtest.py
+++ b/tests/patchewtest.py
@@ -138,13 +138,19 @@ class PatchewTestCase(dj_test.LiveServerTestCase):
p.save()
return p
- def api_login(self):
- r = self.client.login(username=self.user, password=self.password)
- self.assertTrue(r)
-
- def api_call(self, method, **params):
- resp = self.client.post('/api/%s/' % method, {"params": json.dumps(params)})
- return json.loads(resp.content.decode('utf-8')) if resp.content else None
+ def api_login(self, username=None, password=None):
+ username = username or self.user
+ password = password or self.password
+ user = User.objects.get(username=username)
+ resp = self.api_client.post(self.REST_BASE + 'users/login/',
+ { 'username': username, 'password': password })
+ self.assertEquals(resp.status_code, 200)
+ self.api_client.force_authenticate(user, resp.data['key'])
+
+ def api_logout(self):
+ resp = self.api_client.post(self.REST_BASE + 'users/logout/')
+ self.assertEquals(resp.status_code, 200)
+ self.api_client.force_authenticate(None, None)
def apply_and_retrieve(self, mbox, project_id, msgid):
# TODO: change this to a REST import when it is added
diff --git a/tests/test_testing.py b/tests/test_testing.py
index 3fa912e..df155c7 100755
--- a/tests/test_testing.py
+++ b/tests/test_testing.py
@@ -70,29 +70,27 @@ class TestingTestCase(PatchewTestCase, metaclass=abc.ABCMeta):
kwargs['status'] = Result.SUCCESS
self.modify_test_result(obj, **kwargs)
- def do_testing_report(self, **report):
+ def do_testing_report(self, passed=True, log=None, is_timeout=False):
self.api_login()
- r = self.api_call(
- "testing-get",
- project="QEMU",
- tester="dummy tester",
- capabilities=[],
- )
- report['project'] = r["project"]
- report['identity'] = r["identity"]
- report['test'] = r["test"]["name"]
- report['tester'] = 'dummy_tester'
- report['head'] = r["head"]
- report['base'] = r["base"]
- if 'passed' not in report:
- report['passed'] = True
- if 'log' not in report:
- report['log'] = None
- if 'is_timeout' not in report:
- report['is_timeout'] = False
-
- self.api_call("testing-report", **report)
- return r['identity']
+ resp = self.api_client.post(self.PROJECT_BASE + "get-test/", {
+ 'tester': "dummy tester",
+ 'capabilities': [],
+ })
+ self.assertEqual(resp.status_code, 200)
+ r = resp.data
+ data = {
+ "status": "success" if passed else 'failure',
+ 'data': {
+ "head": r["head"],
+ "is_timeout": is_timeout,
+ "tester": "dummy_tester"
+ }
+ }
+ if log is not None:
+ data['log'] = log
+
+ self.api_client.put(r['result_uri'], data, format='json')
+ return r["identity"]
@abc.abstractmethod
def do_testing_done(self, log=None, **report):
@@ -104,10 +102,12 @@ class TestingTestCase(PatchewTestCase, metaclass=abc.ABCMeta):
def test_basic(self):
self.api_login()
- td = self.api_call("testing-get",
- project="QEMU",
- tester="dummy tester",
- capabilities=[])
+ resp = self.api_client.post(self.PROJECT_BASE + "get-test/", {
+ 'tester': "dummy tester",
+ 'capabilities': [],
+ })
+ self.assertEqual(resp.status_code, 200)
+ td = resp.data
self.assertIn("head", td)
resp = self.get_test_result('a')
self.assertEquals(resp.data['status'], 'running')
@@ -115,11 +115,11 @@ class TestingTestCase(PatchewTestCase, metaclass=abc.ABCMeta):
def test_done(self):
self.do_testing_done()
self.api_login()
- td = self.api_call("testing-get",
- project="QEMU",
- tester="dummy tester",
- capabilities=[])
- self.assertFalse(td)
+ resp = self.api_client.post(self.PROJECT_BASE + "get-test/", {
+ 'tester': "dummy tester",
+ 'capabilities': [],
+ })
+ self.assertEqual(resp.status_code, 204)
def test_rest_basic(self):
resp = self.get_test_result('a')
--
2.21.0
_______________________________________________
Patchew-devel mailing list
Patchew-devel@redhat.com
https://www.redhat.com/mailman/listinfo/patchew-devel