Ejemplo n.º 1
0
class TestShowNetworkAgent(TestNetworkAgent):

    _network_agent = (
        network_fakes.FakeNetworkAgent.create_one_network_agent())

    columns = (
        'admin_state_up',
        'agent_type',
        'alive',
        'availability_zone',
        'binary',
        'configurations',
        'host',
        'id',
    )
    data = (
        network_agent._format_admin_state(_network_agent.admin_state_up),
        _network_agent.agent_type,
        _network_agent.alive,
        _network_agent.availability_zone,
        _network_agent.binary,
        utils.format_dict(_network_agent.configurations),
        _network_agent.host,
        _network_agent.id,
    )

    def setUp(self):
        super(TestShowNetworkAgent, self).setUp()
        self.network.get_agent = mock.Mock(
            return_value=self._network_agent)

        # Get the command object to test
        self.cmd = network_agent.ShowNetworkAgent(self.app, self.namespace)

    def test_show_no_options(self):
        arglist = []
        verifylist = []

        # Missing required args should bail here
        self.assertRaises(tests_utils.ParserException, self.check_parser,
                          self.cmd, arglist, verifylist)

    def test_show_all_options(self):
        arglist = [
            self._network_agent.id,
        ]
        verifylist = [
            ('network_agent', self._network_agent.id),
        ]

        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
        columns, data = self.cmd.take_action(parsed_args)

        self.network.get_agent.assert_called_once_with(
            self._network_agent.id)
        self.assertEqual(self.columns, columns)
        self.assertEqual(list(self.data), list(data))
class TestListNetworkAgent(TestNetworkAgent):

    network_agents = (network_fakes.FakeNetworkAgent.create_network_agents(
        count=3))

    columns = ('ID', 'Agent Type', 'Host', 'Availability Zone', 'Alive',
               'State', 'Binary')
    data = []
    for agent in network_agents:
        data.append((
            agent.id,
            agent.agent_type,
            agent.host,
            agent.availability_zone,
            agent.alive,
            network_agent._format_admin_state(agent.admin_state_up),
            agent.binary,
        ))

    def setUp(self):
        super(TestListNetworkAgent, self).setUp()
        self.network.agents = mock.Mock(return_value=self.network_agents)

        # Get the command object to test
        self.cmd = network_agent.ListNetworkAgent(self.app, self.namespace)

    def test_network_agents_list(self):
        arglist = []
        verifylist = []

        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
        columns, data = self.cmd.take_action(parsed_args)

        self.network.agents.assert_called_once_with(**{})
        self.assertEqual(self.columns, columns)
        self.assertEqual(self.data, list(data))
class TestListNetworkAgent(TestNetworkAgent):

    network_agents = (network_fakes.FakeNetworkAgent.create_network_agents(
        count=3))

    columns = ('ID', 'Agent Type', 'Host', 'Availability Zone', 'Alive',
               'State', 'Binary')
    data = []
    for agent in network_agents:
        agent.agent_type = 'DHCP agent'
        data.append((
            agent.id,
            agent.agent_type,
            agent.host,
            agent.availability_zone,
            agent.alive,
            network_agent._format_admin_state(agent.admin_state_up),
            agent.binary,
        ))

    network_agent_columns = (
        'ID',
        'Host',
        'Admin State Up',
        'Alive',
    )

    network_agent_data = []

    for agent in network_agents:
        network_agent_data.append((
            agent.id,
            agent.host,
            network_agent._format_admin_state(agent.admin_state_up),
            agent.alive,
        ))

    def setUp(self):
        super(TestListNetworkAgent, self).setUp()
        self.network.agents = mock.Mock(return_value=self.network_agents)

        _testagent = \
            network_fakes.FakeNetworkAgent.create_one_network_agent()
        self.network.get_agent = mock.Mock(return_value=_testagent)

        self._testnetwork = network_fakes.FakeNetwork.create_one_network()
        self.network.find_network = mock.Mock(return_value=self._testnetwork)
        self.network.network_hosting_dhcp_agents = mock.Mock(
            return_value=self.network_agents)

        # Get the command object to test
        self.cmd = network_agent.ListNetworkAgent(self.app, self.namespace)

    def test_network_agents_list(self):
        arglist = []
        verifylist = []

        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
        columns, data = self.cmd.take_action(parsed_args)

        self.network.agents.assert_called_once_with(**{})
        self.assertEqual(self.columns, columns)
        self.assertEqual(self.data, list(data))

    def test_network_agents_list_agent_type(self):
        arglist = [
            '--agent-type',
            'dhcp',
        ]
        verifylist = [
            ('agent_type', 'dhcp'),
        ]
        parsed_args = self.check_parser(self.cmd, arglist, verifylist)

        columns, data = self.cmd.take_action(parsed_args)

        self.network.agents.assert_called_once_with(
            **{
                'agent_type': self.network_agents[0].agent_type,
            })
        self.assertEqual(self.columns, columns)
        self.assertEqual(self.data, list(data))

    def test_network_agents_list_host(self):
        arglist = [
            '--host',
            self.network_agents[0].host,
        ]
        verifylist = [
            ('host', self.network_agents[0].host),
        ]
        parsed_args = self.check_parser(self.cmd, arglist, verifylist)

        columns, data = self.cmd.take_action(parsed_args)

        self.network.agents.assert_called_once_with(
            **{
                'host': self.network_agents[0].host,
            })
        self.assertEqual(self.columns, columns)
        self.assertEqual(self.data, list(data))

    def test_network_agents_list_networks(self):
        arglist = [
            '--network',
            self._testnetwork.id,
        ]
        verifylist = [
            ('network', self._testnetwork.id),
        ]

        attrs = {
            self._testnetwork,
        }

        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
        columns, data = self.cmd.take_action(parsed_args)

        self.network.network_hosting_dhcp_agents.assert_called_once_with(
            *attrs)
        self.assertEqual(self.network_agent_columns, columns)
        self.assertEqual(list(self.network_agent_data), list(data))
Ejemplo n.º 4
0
class TestListNetworkAgent(TestNetworkAgent):

    network_agents = (network_fakes.FakeNetworkAgent.create_network_agents(
        count=3))

    columns = ('ID', 'Agent Type', 'Host', 'Availability Zone', 'Alive',
               'State', 'Binary')
    data = []
    for agent in network_agents:
        data.append((
            agent.id,
            agent.agent_type,
            agent.host,
            agent.availability_zone,
            network_agent._format_alive(agent.alive),
            network_agent._format_admin_state(agent.admin_state_up),
            agent.binary,
        ))

    def setUp(self):
        super(TestListNetworkAgent, self).setUp()
        self.network.agents = mock.Mock(return_value=self.network_agents)

        _testagent = \
            network_fakes.FakeNetworkAgent.create_one_network_agent()
        self.network.get_agent = mock.Mock(return_value=_testagent)

        self._testnetwork = network_fakes.FakeNetwork.create_one_network()
        self.network.find_network = mock.Mock(return_value=self._testnetwork)
        self.network.network_hosting_dhcp_agents = mock.Mock(
            return_value=self.network_agents)

        self.network.get_agent = mock.Mock(return_value=_testagent)

        self._testrouter = \
            network_fakes.FakeRouter.create_one_router()
        self.network.find_router = mock.Mock(return_value=self._testrouter)
        self.network.routers_hosting_l3_agents = mock.Mock(
            return_value=self.network_agents)

        # Get the command object to test
        self.cmd = network_agent.ListNetworkAgent(self.app, self.namespace)

    def test_network_agents_list(self):
        arglist = []
        verifylist = []

        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
        columns, data = self.cmd.take_action(parsed_args)

        self.network.agents.assert_called_once_with(**{})
        self.assertEqual(self.columns, columns)
        self.assertEqual(self.data, list(data))

    def test_network_agents_list_agent_type(self):
        arglist = [
            '--agent-type',
            'dhcp',
        ]
        verifylist = [
            ('agent_type', 'dhcp'),
        ]
        parsed_args = self.check_parser(self.cmd, arglist, verifylist)

        columns, data = self.cmd.take_action(parsed_args)

        self.network.agents.assert_called_once_with(**{
            'agent_type': 'DHCP agent',
        })
        self.assertEqual(self.columns, columns)
        self.assertEqual(self.data, list(data))

    def test_network_agents_list_host(self):
        arglist = [
            '--host',
            self.network_agents[0].host,
        ]
        verifylist = [
            ('host', self.network_agents[0].host),
        ]
        parsed_args = self.check_parser(self.cmd, arglist, verifylist)

        columns, data = self.cmd.take_action(parsed_args)

        self.network.agents.assert_called_once_with(
            **{
                'host': self.network_agents[0].host,
            })
        self.assertEqual(self.columns, columns)
        self.assertEqual(self.data, list(data))

    def test_network_agents_list_networks(self):
        arglist = [
            '--network',
            self._testnetwork.id,
        ]
        verifylist = [
            ('network', self._testnetwork.id),
        ]

        attrs = {
            self._testnetwork,
        }

        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
        columns, data = self.cmd.take_action(parsed_args)

        self.network.network_hosting_dhcp_agents.assert_called_once_with(
            *attrs)
        self.assertEqual(self.columns, columns)
        self.assertEqual(self.data, list(data))

    def test_network_agents_list_routers(self):
        arglist = [
            '--router',
            self._testrouter.id,
        ]
        verifylist = [('router', self._testrouter.id), ('long', False)]

        attrs = {
            self._testrouter,
        }

        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
        columns, data = self.cmd.take_action(parsed_args)

        self.network.routers_hosting_l3_agents.assert_called_once_with(*attrs)

        self.assertEqual(self.columns, columns)
        self.assertEqual(self.data, list(data))

    def test_network_agents_list_routers_with_long_option(self):
        arglist = [
            '--router',
            self._testrouter.id,
            '--long',
        ]
        verifylist = [('router', self._testrouter.id), ('long', True)]

        attrs = {
            self._testrouter,
        }

        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
        columns, data = self.cmd.take_action(parsed_args)

        self.network.routers_hosting_l3_agents.assert_called_once_with(*attrs)

        # Add a column 'HA State' and corresponding data.
        router_agent_columns = self.columns + ('HA State', )
        router_agent_data = [d + ('', ) for d in self.data]

        self.assertEqual(router_agent_columns, columns)
        self.assertEqual(router_agent_data, list(data))