From c5dc032fb9a4331c1f7d0078beffe938dad071e3 Mon Sep 17 00:00:00 2001 From: Chenxiong Qi Date: Jul 25 2018 02:28:05 +0000 Subject: Fix TypeError raised from override create command This error does not block creating an override in Bodhi. It fails at step to print a summary of the created override. The reason is customized save_override does not return a value, so None is passed to the first parameter of override_str. Fixes #256 Signed-off-by: Chenxiong Qi --- diff --git a/fedpkg/__init__.py b/fedpkg/__init__.py index ba246b7..2f545ac 100644 --- a/fedpkg/__init__.py +++ b/fedpkg/__init__.py @@ -56,7 +56,7 @@ if _BodhiClient is not None: @clear_csrf_and_retry def save_override(self, *args, **kwargs): - super(BodhiClient, self).save_override(*args, **kwargs) + return super(BodhiClient, self).save_override(*args, **kwargs) @clear_csrf_and_retry def extend_override(self, override, expiration_date): diff --git a/test/test_cli.py b/test/test_cli.py index 3d1441e..78e8c49 100644 --- a/test/test_cli.py +++ b/test/test_cli.py @@ -1200,16 +1200,18 @@ class TestBodhiOverride(CliTestCase): self.cbv_p.stop() super(TestBodhiOverride, self).tearDown() - @patch('fedpkg.BodhiClient') - def test_create_for_given_build(self, BodhiClient): - bodhi_client = BodhiClient.return_value - bodhi_client.list_overrides.return_value = {'total': 0} + @patch('bodhi.client.bindings.BodhiClient.list_overrides') + @patch('bodhi.client.bindings.BodhiClient.save_override') + @patch('bodhi.client.bindings.BodhiClient.override_str') + def test_create_for_given_build( + self, override_str, save_override, list_overrides): + list_overrides.return_value = {'total': 0} expiration_date = datetime.now() + timedelta(days=7) new_override = { 'expiration_date': expiration_date.strftime('%Y-%m-%d %H:%M:%S'), 'notes': 'build for fedpkg' } - bodhi_client.save_override.return_value = new_override + save_override.return_value = new_override cli_cmd = [ 'fedpkg', '--path', self.cloned_repo_path, @@ -1223,13 +1225,13 @@ class TestBodhiOverride(CliTestCase): with patch.object(cli.cmd, 'log') as log: cli.create_buildroot_override() - bodhi_client.override_str.assert_called_once_with( - bodhi_client.save_override.return_value, + override_str.assert_called_once_with( + save_override.return_value, minimal=False) log.info.assert_any_call( - bodhi_client.override_str.return_value) + override_str.return_value) - bodhi_client.save_override.assert_called_once_with( + save_override.assert_called_once_with( nvr='rpkg-1.54-1.fc28', duration=7, notes='build for fedpkg')