diff --git a/jenkins/__init__.py b/jenkins/__init__.py index eb288f5..6bcab6f 100755 --- a/jenkins/__init__.py +++ b/jenkins/__init__.py @@ -1386,12 +1386,13 @@ class Jenkins(object): # run_script is an async call to run groovy. we need to wait a little # before we can get a reliable response on whether a restart is needed time.sleep(2) - is_restart_required = ('Jenkins.instance.updateCenter' - '.isRestartRequiredForCompletion()') + is_restart_required = ('println(' + 'Jenkins.instance.updateCenter' + '.isRestartRequiredForCompletion()' + ')') - # response is a string (i.e. u'Result: true\n'), return a bool instead response_str = self.run_script(is_restart_required) - response = response_str.split(':')[1].strip().lower() == 'true' + response = response_str.strip().lower() == 'true' return response def stop_build(self, name, number): diff --git a/tests/test_script.py b/tests/test_script.py index c39603e..1207406 100644 --- a/tests/test_script.py +++ b/tests/test_script.py @@ -67,8 +67,8 @@ class JenkinsScriptTest(JenkinsTestBase): '.getNeededDependencies().each{it.deploy()};Jenkins' '.instance.updateCenter.getPlugin(\"jabber\").deploy();')) self.assertEqual(run_script_mock.call_args_list[1][0][0], - ('Jenkins.instance.updateCenter' - '.isRestartRequiredForCompletion()')) + ('println(Jenkins.instance.updateCenter' + '.isRestartRequiredForCompletion())')) @patch.object(jenkins.Jenkins, 'jenkins_open') @patch.object(jenkins.Jenkins, 'run_script') @@ -82,17 +82,17 @@ class JenkinsScriptTest(JenkinsTestBase): ('Jenkins.instance.updateCenter' '.getPlugin(\"jabber\").deploy();')) self.assertEqual(run_script_mock.call_args_list[1][0][0], - ('Jenkins.instance.updateCenter' - '.isRestartRequiredForCompletion()')) + ('println(Jenkins.instance.updateCenter' + '.isRestartRequiredForCompletion())')) - @patch.object(jenkins.Jenkins, 'jenkins_open', return_value='\n{}'.format(MAGIC_STR)) + @patch.object(jenkins.Jenkins, 'jenkins_open', return_value='false\n{}'.format(MAGIC_STR)) def test_install_plugin_no_restart(self, jenkins_mock): '''Verify install plugin does not need a restart ''' j = jenkins.Jenkins(self.make_url(''), 'test', 'test') self.assertFalse(j.install_plugin("jabber")) - @patch.object(jenkins.Jenkins, 'jenkins_open', return_value='\n{}'.format(MAGIC_STR)) + @patch.object(jenkins.Jenkins, 'jenkins_open', return_value='true\n{}'.format(MAGIC_STR)) def test_install_plugin_restart(self, jenkins_mock): '''Verify install plugin needs a restart '''