def test_list_all_jobs_count(self, mock_jenkins, mock_ctxcore, mock_print): mock_ctxcore_obj = mock_ctxcore.return_value mock_server = mock_jenkins.return_value mock_ctxcore_obj.validate_context.return_value = True mock_server.get_all_jobs.return_value = SupportJSON().all_jobs_json jxcore = JxCore() jxcore.list_all_jobs(count=True) expected_params = { "jobs": [{ "jobname": "maven-test-job", "joburl": "http://localhost:8080/job/maven-test-job/" }, { "jobname": "test-freestyle-job", "joburl": "http://localhost:8080/job/test-freestyle-job/" }, { "jobname": "pipeline-test-job", "joburl": "http://localhost:8080/job/pipeline-test-job/" }, { "jobname": "test-folder/test-sub-folder/subfolder-freestyle-job", "joburl": "http://localhost:8080/job/test-folder/job/test-sub-folder/job/subfolder-freestyle-job/" }] } mock_print.assert_called_with(expected_params, "json", True)
def test_trigger_job_exception(self, mock_jenkins, _): mock_jenkins.side_effect = jenkins.JenkinsException() param = {"node": "test"} with self.assertRaises(jenkins.JenkinsException) as exception: jxcore = JxCore() jxcore.trigger_job("test_job", param) self.assertEqual(str(exception.exception), "Job not found")
def test_node_info(self, mock_jenkins, mock_ctxcore, mock_print): mock_ctxcore_obj = mock_ctxcore.return_value mock_server = mock_jenkins.return_value mock_ctxcore_obj.validate_context.return_value = True mock_server.get_node_info.return_value = SupportJSON().node_info jxcore = JxCore() jxcore.node_info("slave1") expected_plugin_list = SupportJSON().node_info_return mock_print.assert_called_with(expected_plugin_list, "json")
def test_list_all_jobs_key_error(self, mock_jenkins, mock_ctxcore): mock_ctxcore_obj = mock_ctxcore.return_value mock_server = mock_jenkins.return_value mock_ctxcore_obj.validate_context.return_value = True mock_server.get_all_jobs.return_value = [{"_class": "dummy"}] with self.assertRaises(KeyError) as context_manager: jxcore = JxCore() jxcore.list_all_jobs() self.assertEqual(str(context_manager.exception), "'Key not found'")
def test_list_all_folders(self, mock_jenkins, mock_ctxcore, mock_print): mock_ctxcore_obj = mock_ctxcore.return_value mock_server = mock_jenkins.return_value mock_ctxcore_obj.validate_context.return_value = True mock_server.get_all_jobs.return_value = SupportJSON().all_jobs_json jxcore = JxCore() jxcore.list_all_folders() expected_plugins = SupportJSON().folders_list_return mock_print.assert_called_with(expected_plugins, "json", False)
def test_list_nodes(self, mock_jenkins, mock_print, mock_ctxcore): mock_ctxcore_obj = mock_ctxcore.return_value mock_server = mock_jenkins.return_value mock_ctxcore_obj.validate_context.return_value = True mock_server.get_nodes.return_value = SupportJSON().list_nodes jxcore = JxCore() jxcore.list_nodes() expected_plugin_list = SupportJSON().list_nodes_return mock_print.assert_called_with(expected_plugin_list, "json", False)
def test_list_all_jobs_with_no_result(self, mock_jenkins, mock_ctxcore, mock_print): mock_ctxcore_obj = mock_ctxcore.return_value mock_server = mock_jenkins.return_value mock_ctxcore_obj.validate_context.return_value = True mock_server.get_all_jobs.return_value = "" jxcore = JxCore() jxcore.list_all_jobs() expected_jobs_list = {"jobs": []} mock_print.assert_called_with(expected_jobs_list, "json", False)
def test_list_all_plugins_with_count(self, mock_jenkins, mock_ctxcore, mock_print): mock_ctxcore_obj = mock_ctxcore.return_value mock_server = mock_jenkins.return_value mock_ctxcore_obj.validate_context.return_value = True mock_server.get_plugins_info.return_value = SupportJSON().plugins_list jxcore = JxCore() jxcore.list_all_plugins(count=True) expected_plugin_list = SupportJSON().plugins_list_return mock_print.assert_called_with(expected_plugin_list, "json", True)
def test_build_info(self, mock_jenkins, mock_ctxcore, mock_print, mock_time): mock_time.return_value = "Fri Jul 3 11:10:41 50815" mock_ctxcore_obj = mock_ctxcore.return_value mock_server = mock_jenkins.return_value mock_ctxcore_obj.validate_context.return_value = True mock_server.get_build_info.return_value = SupportJSON().build_info jxcore = JxCore() jxcore.build_info("test-pipeline-job", "10") expected_build_info = SupportJSON().build_info_return mock_print.assert_called_with(expected_build_info, "json")
def test_list_all_folders_exception(self, mock_jenkins, mock_ctxcore, mock_print): mock_ctxcore_obj = mock_ctxcore.return_value mock_server = mock_jenkins.return_value mock_ctxcore_obj.validate_context.return_value = True mock_server.get_all_jobs.return_value = [{ '_class': 'com.cloudbees.hudson.plugins.folder.Folder' }] with self.assertRaises(KeyError) as context_manager: jxcore = JxCore() jxcore.list_all_folders() self.assertEqual(str(context_manager.exception), "'Key not found'")
def test_list_jobs_with_option(self, mock_jenkins, mock_ctxcore, mock_print): mock_ctxcore_obj = mock_ctxcore.return_value mock_server = mock_jenkins.return_value mock_ctxcore_obj.validate_context.return_value = True mock_server.get_all_jobs.return_value = SupportJSON().all_jobs_json jxcore = JxCore() jxcore.list_jobs(["pipeline"]) expected_params = { "jobs": [{ "jobname": "pipeline-test-job", "joburl": "http://localhost:8080/job/pipeline-test-job/" }] } mock_print.assert_called_with(expected_params, "json", False)
def test_jxcore_invalid_context(self, mock_jenkins, mock_ctxcore, mock_exit): mock_jenkins.side_effect = jenkins.JenkinsException() mock_ctxcore_obj = mock_ctxcore.return_value mock_ctxcore_obj.validate_context.return_value = False jxcore = JxCore() mock_exit.assert_called_once()
def test_abort_job_exception(self, mock_jenkins, _): mock_jenkins.side_effect = jenkins.JenkinsException() with self.assertRaises(jenkins.JenkinsException) as exception: jxcore = JxCore() jxcore.abort_job("test_job", 10) self.assertEqual(str(exception.exception), "Job/Build not found")
def test_node_action_offline_msg(self, mock_jenkins, _): jxcore = JxCore() jxcore.node_action("slave1", "offline", "maintenance") mock_jenkins.assert_called_with("slave1", msg="maintenance")
def test_node_action_online(self, mock_jenkins, _): jxcore = JxCore() jxcore.node_action("slave1", "online") mock_jenkins.assert_called_with("slave1")
def test_trigger_job(self, mock_jenkins, _): param = {"node": "test"} jxcore = JxCore() jxcore.trigger_job("test_job", param) mock_jenkins.assert_called_with("test_job", param)
def test_abort_job(self, mock_jenkins, _): jxcore = JxCore() jxcore.abort_job("test_job", 10) mock_jenkins.assert_called_with("test_job", 10)
def test_jxcore_init_exception(self, mock_jenkins, mock_ctxcore, mock_exit): mock_jenkins.side_effect = jenkins.JenkinsException() mock_ctxcore.validate_context.return_value = True jxcore = JxCore() mock_exit.assert_called_once()
def test_delete_job_exception(self, mock_jenkins, _): mock_jenkins.side_effect = jenkins.JenkinsException() with self.assertRaises(jenkins.JenkinsException) as exception: jxcore = JxCore() jxcore.delete_job("test_job") self.assertEqual(str(exception.exception), "Jenkins Exception")
def test_delete_job(self, mock_jenkins, _): jxcore = JxCore() jxcore.delete_job("test_job") mock_jenkins.assert_called_with("test_job")