def test_if_standby_fails_timeout_exception_raised(self): stub_executor = CliExecutor() stub_executor.get_full_status_xml = MagicMock() stub_executor.get_full_status_xml.return_value = GOOD_XML stub_executor.shutdown_node = MagicMock() connector = CliConnector(executor=stub_executor) connector.ensure_shutdown_possible = MagicMock() connector.get_nodes = MagicMock(return_value=[ Node(name='test', online=True, standby=False, unclean=False, resources_running=2) ]) connector.standby_node = MagicMock() client = Client(connector=connector) with self.assertRaises(TimeoutException): client.shutdown_node('test', timeout=2) connector.standby_node.assert_called_with('test') self.assertFalse(stub_executor.shutdown_node.called)
def test_get_online_nodes_works(self): stub_executor = CliExecutor() stub_executor.get_full_status_xml = MagicMock() stub_executor.get_full_status_xml.return_value = GOOD_XML connector = CliConnector(executor=stub_executor) client = Client(connector=connector) nodes = client.get_online_nodes() self.assertEqual(1, len(nodes))
def test_status_json_has_correct_figures(self): stub_executor = CliExecutor() stub_executor.get_full_status_xml = MagicMock() stub_executor.get_full_status_xml.return_value = REAL_XML_23 connector = CliConnector(executor=stub_executor) client = Client(connector=connector) status_text: str = client.get_status(is_full=True) status_obj = json.loads(status_text) rsrc_obj = status_obj['resources']['statistics'] self.assertEqual(71, rsrc_obj['started']) self.assertEqual(0, rsrc_obj['stopped']) self.assertEqual(0, rsrc_obj['starting'])
def _create_client_and_runner(self) -> Tuple[Client, AppRunner]: stub_executor = CliExecutor() stub_executor.get_full_status_xml = MagicMock() stub_executor.get_full_status_xml.return_value = GOOD_XML connector = CliConnector(executor=stub_executor) stub_client = Client(connector=connector) stub_client = mock_methods(stub_client) runner = AppRunner() runner._get_client = lambda x: stub_client return (stub_client, runner)
def test_before_shutdown_standby_invoked(self): stub_executor = CliExecutor() stub_executor.get_full_status_xml = MagicMock() stub_executor.get_full_status_xml.return_value = GOOD_XML connector = CliConnector(executor=stub_executor) connector.ensure_shutdown_possible = MagicMock() connector.manual_shutdown_node = MagicMock() connector.get_nodes = MagicMock( side_effect=[[ Node(name='test', online=True, standby=False, unclean=False, resources_running=2) ], [ Node(name='test', online=True, standby=False, unclean=False, resources_running=2) ], [ Node(name='test', online=True, standby=False, unclean=False, resources_running=0) ]]) connector.standby_node = MagicMock() client = Client(connector=connector) client.shutdown_node('test') connector.standby_node.assert_called_with('test') self.assertEqual(1, connector.manual_shutdown_node.call_count)