summaryrefslogtreecommitdiff
path: root/squad_client/core/models.py
diff options
context:
space:
mode:
authormwasilew <milosz.wasilewski@linaro.org>2020-04-16 09:08:00 +0100
committerGitHub <noreply@github.com>2020-04-16 09:08:00 +0100
commit3a5b694153f0e3b61d163f54cc0b52bea10a1317 (patch)
treef444bda2abaa1fc2f5238cd6898122274d3bdbf0 /squad_client/core/models.py
parentf52045b39d08d846bf6ccaad40dad10845625c4e (diff)
parent3d5b536f3ccb4fc7d5a228d5c64ef49bc2fa0078 (diff)
Merge pull request #32 from chaws/use-test-run-status
core: models: use testrun status endpoint
Diffstat (limited to 'squad_client/core/models.py')
-rw-r--r--squad_client/core/models.py31
1 files changed, 17 insertions, 14 deletions
diff --git a/squad_client/core/models.py b/squad_client/core/models.py
index 9dd673f..4de72d4 100644
--- a/squad_client/core/models.py
+++ b/squad_client/core/models.py
@@ -318,6 +318,12 @@ class Metric(SquadObject):
pass
+class TestRunStatus(SquadObject):
+ attrs = ['id', 'tests_pass', 'tests_fail', 'tests_xfail',
+ 'tests_skip', 'metrics_summary', 'has_metrics',
+ 'suite', 'suite_version']
+
+
class TestRun(SquadObject):
endpoint = '/api/testruns/'
@@ -326,10 +332,6 @@ class TestRun(SquadObject):
'job_id', 'job_status', 'job_url', 'resubmit_url',
'data_processed', 'status_recorded', 'build',
'environment']
- total_fail = 0
- total_pass = 0
- total_skip = 0
- total_xfail = 0
metadata = None
attachments = None
log = None
@@ -378,19 +380,9 @@ class TestRun(SquadObject):
test_suite = Suite()
test_suite.name = suite_name
self.test_suites.append(test_suite)
-
for test in tests:
test_suite.add_test(test)
- if test.status == 'pass':
- self.total_pass += 1
- elif test.status == 'fail':
- self.total_fail += 1
- elif test.status == 'skip':
- self.total_skip += 1
- else:
- self.total_xfail += 1
-
all_metrics = self.metrics()
if len(all_metrics):
self.metric_suites = []
@@ -413,6 +405,17 @@ class TestRun(SquadObject):
log=self.log,
attachments=self.attachments)
+ __summary__ = None
+
+ def summary(self):
+ if self.__summary__ is None:
+ self.__summary__ = first(self.statuses(suite__isnull=True))
+ return self.__summary__
+
+ def statuses(self, count=ALL, **filters):
+ TestRunStatus.endpoint = '%s%d/status' % (self.endpoint, self.id)
+ return self.__fetch__(TestRunStatus, filters, count)
+
class Test(SquadObject):