Exemple #1
0
    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)
Exemple #2
0
    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))
Exemple #3
0
    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)
Exemple #5
0
    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)