diff options
author | mwasilew <milosz.wasilewski@linaro.org> | 2020-04-16 09:08:00 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-16 09:08:00 +0100 |
commit | 3a5b694153f0e3b61d163f54cc0b52bea10a1317 (patch) | |
tree | f444bda2abaa1fc2f5238cd6898122274d3bdbf0 /squad_client/core/models.py | |
parent | f52045b39d08d846bf6ccaad40dad10845625c4e (diff) | |
parent | 3d5b536f3ccb4fc7d5a228d5c64ef49bc2fa0078 (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.py | 31 |
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): |