From 64849ca52d8e17a8de2a6d381033f0f1b5fbd321 Mon Sep 17 00:00:00 2001 From: Daniel Pawlik Date: Tue, 7 Dec 2021 11:15:52 +0100 Subject: [PATCH] Convert max-skipped parameter to int The condition was failing when max-skipped was provided. Change-Id: Ifbcbf2faf2df3cdabc741db5beaed5919116f8ce --- logscraper/logscraper.py | 2 +- logscraper/tests/test_logscraper.py | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/logscraper/logscraper.py b/logscraper/logscraper.py index d0ac434..9e8dd9b 100755 --- a/logscraper/logscraper.py +++ b/logscraper/logscraper.py @@ -348,7 +348,7 @@ def get_last_job_results(zuul_url, insecure, max_skipped, last_uuid): """Yield builds until we find the last uuid.""" count = 0 for build in get_builds(zuul_url, insecure): - if count > max_skipped: + if count > int(max_skipped): break if build["uuid"] == last_uuid: break diff --git a/logscraper/tests/test_logscraper.py b/logscraper/tests/test_logscraper.py index 311f4f0..06b3b3e 100644 --- a/logscraper/tests/test_logscraper.py +++ b/logscraper/tests/test_logscraper.py @@ -154,6 +154,26 @@ class TestScraper(base.TestCase): self.assertRaises(ValueError, logscraper.check_connection, args.logstash_url) + @mock.patch('logscraper.logscraper.get_builds', + return_value=iter([{'uuid': '1234'}])) + def test_get_last_job_results(self, mock_get_builds): + job_result = logscraper.get_last_job_results( + 'http://somehost.com/api/tenant/tenant1', False, '1234', + 'someuuid') + self.assertEqual([{'uuid': '1234'}], list(job_result)) + self.assertEqual(1, mock_get_builds.call_count) + + @mock.patch('logscraper.logscraper.get_builds', + return_value=iter([{'uuid': '1234'}])) + def test_get_last_job_results_wrong_max_skipped(self, mock_get_builds): + def make_fake_list(x): + return list(x) + + job_result = logscraper.get_last_job_results( + 'http://somehost.com/api/tenant/tenant1', False, 'somevalue', + 'someuuid') + self.assertRaises(ValueError, make_fake_list, job_result) + @mock.patch('multiprocessing.pool.Pool.map') @mock.patch('builtins.open', new_callable=mock.mock_open()) @mock.patch('os.path.isfile')