From 2febc078b3b1c6361695f30671e55a00385b402d Mon Sep 17 00:00:00 2001 From: Jon Schlueter Date: Wed, 8 May 2019 14:04:37 -0400 Subject: [PATCH] update errata to use filter method - replaced duplicated filter query with method ErrataConnector::filter - fixup unittests to use paginated api - add fixture symlinks for exteranl_tests api - cleanup usage of api call to not use trailing / on the api call --- errata_tool/erratum.py | 11 ++++------- ...&filter[errata_id]=33840&filter[test_type]=rpmdiff | 1 + ...id]=33840&filter[test_type]=rpmdiff&page[number]=1 | 1 + ...id]=33840&filter[test_type]=rpmdiff&page[number]=2 | 1 + errata_tool/tests/test_external_tests.py | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) create mode 120000 errata_tool/tests/fixtures/errata.devel.redhat.com/api/v1/external_tests?filter[active]=true&filter[errata_id]=33840&filter[test_type]=rpmdiff create mode 120000 errata_tool/tests/fixtures/errata.devel.redhat.com/api/v1/external_tests?filter[active]=true&filter[errata_id]=33840&filter[test_type]=rpmdiff&page[number]=1 create mode 120000 errata_tool/tests/fixtures/errata.devel.redhat.com/api/v1/external_tests?filter[active]=true&filter[errata_id]=33840&filter[test_type]=rpmdiff&page[number]=2 diff --git a/errata_tool/erratum.py b/errata_tool/erratum.py index fc9b3b8..ccf3b3f 100644 --- a/errata_tool/erratum.py +++ b/errata_tool/erratum.py @@ -454,13 +454,10 @@ def externalTests(self, test_type=None): :param test_type: str, like "rpmdiff" or "covscan" :returns: a possibly-empty list of dicts, one per result. """ - tmpl = '/api/v1/external_tests/?filter[active]=true' - tmpl += '&filter[errata_id]={errata_id}' - if test_type: - tmpl += '&filter[test_type]={test_type}' - url = tmpl.format(errata_id=self.errata_id, test_type=test_type) - data = self.get_paginated_data(url) - return data + response = self.filter('/api/v1/external_tests', 'filter', + active='true', errata_id=self.errata_id, + test_type=test_type, paginated=True) + return response['data'] def _get_build_list(self, check_signatures=False): # Grab build list; store on a per-key basis diff --git a/errata_tool/tests/fixtures/errata.devel.redhat.com/api/v1/external_tests?filter[active]=true&filter[errata_id]=33840&filter[test_type]=rpmdiff b/errata_tool/tests/fixtures/errata.devel.redhat.com/api/v1/external_tests?filter[active]=true&filter[errata_id]=33840&filter[test_type]=rpmdiff new file mode 120000 index 0000000..d6772ed --- /dev/null +++ b/errata_tool/tests/fixtures/errata.devel.redhat.com/api/v1/external_tests?filter[active]=true&filter[errata_id]=33840&filter[test_type]=rpmdiff @@ -0,0 +1 @@ +external_tests/?filter[active]=true&filter[errata_id]=33840&filter[test_type]=rpmdiff&page[number]=1 \ No newline at end of file diff --git a/errata_tool/tests/fixtures/errata.devel.redhat.com/api/v1/external_tests?filter[active]=true&filter[errata_id]=33840&filter[test_type]=rpmdiff&page[number]=1 b/errata_tool/tests/fixtures/errata.devel.redhat.com/api/v1/external_tests?filter[active]=true&filter[errata_id]=33840&filter[test_type]=rpmdiff&page[number]=1 new file mode 120000 index 0000000..d6772ed --- /dev/null +++ b/errata_tool/tests/fixtures/errata.devel.redhat.com/api/v1/external_tests?filter[active]=true&filter[errata_id]=33840&filter[test_type]=rpmdiff&page[number]=1 @@ -0,0 +1 @@ +external_tests/?filter[active]=true&filter[errata_id]=33840&filter[test_type]=rpmdiff&page[number]=1 \ No newline at end of file diff --git a/errata_tool/tests/fixtures/errata.devel.redhat.com/api/v1/external_tests?filter[active]=true&filter[errata_id]=33840&filter[test_type]=rpmdiff&page[number]=2 b/errata_tool/tests/fixtures/errata.devel.redhat.com/api/v1/external_tests?filter[active]=true&filter[errata_id]=33840&filter[test_type]=rpmdiff&page[number]=2 new file mode 120000 index 0000000..c061236 --- /dev/null +++ b/errata_tool/tests/fixtures/errata.devel.redhat.com/api/v1/external_tests?filter[active]=true&filter[errata_id]=33840&filter[test_type]=rpmdiff&page[number]=2 @@ -0,0 +1 @@ +external_tests/?filter[active]=true&filter[errata_id]=33840&filter[test_type]=rpmdiff&page[number]=2 \ No newline at end of file diff --git a/errata_tool/tests/test_external_tests.py b/errata_tool/tests/test_external_tests.py index ae010a5..64c20a2 100644 --- a/errata_tool/tests/test_external_tests.py +++ b/errata_tool/tests/test_external_tests.py @@ -6,7 +6,7 @@ class TestExternalTests(object): def test_external_tests_url(self, monkeypatch, mock_get, advisory): monkeypatch.setattr(requests, 'get', mock_get) advisory.externalTests(test_type='rpmdiff') - assert mock_get.response.url == 'https://errata.devel.redhat.com/api/v1/external_tests/?filter[active]=true&filter[errata_id]=33840&filter[test_type]=rpmdiff&page[number]=2' # NOQA: E501 + assert mock_get.response.url == 'https://errata.devel.redhat.com/api/v1/external_tests?filter[active]=true&filter[errata_id]=33840&filter[test_type]=rpmdiff&page[number]=2' # NOQA: E501 def test_external_tests_data(self, monkeypatch, mock_get, advisory): monkeypatch.setattr(requests, 'get', mock_get)