def register_link(self, device_port, to_device_spec):
     """Registers a port linking between device port and to_device_sped."""
     link = Link(self._api, self, {})
     link.set_peer_a_name(device_port.get_device_name())
     link.set_peer_a_port_id(device_port.get_id())
     link.set_peer_b_name(to_device_spec['device'])
     link.set_peer_b_port_id(to_device_spec['port_id'])
     self._links.append(link)
     return link
 def register_link(self, device_port, to_device_spec):
     """Registers a port linking between device port and to_device_sped."""
     link = Link(self._api, self, {})
     link.set_peer_a_name(device_port.get_device_name())
     link.set_peer_a_port_id(device_port.get_id())
     link.set_peer_b_name(to_device_spec['device'])
     link.set_peer_b_port_id(to_device_spec['port_id'])
     self._links.append(link)
     return link
Example #3
0
class LinkTest(unittest.TestCase):
    def setUp(self):
        self._api = MagicMock()
        self._context = MagicMock()
        self._simple_link_data = yaml.load("""
            links:
              - link:
                  peer_A: [bridge-000-001, 1]
                  peer_B: [router-000-001, 2]
            """)
        self._link_data = self._simple_link_data['links'][0].get('link')

        self._link = Link(self._api, self._context, self._link_data)

    def test_peer_names_and_port_ids(self):
        self.assertEqual('bridge-000-001', self._link.get_peer_a_name())
        self.assertEqual(1, self._link.get_peer_a_port_id())
        self.assertEqual('router-000-001', self._link.get_peer_b_name())
        self.assertEqual(2, self._link.get_peer_b_port_id())

    def test_peer_name_and_port_id(self):
        self._link = Link(self._api, self._context, {})

        self.assertEqual(None, self._link.get_peer_a_name())
        self.assertEqual(None, self._link.get_peer_a_port_id())
        self._link.set_peer_a_name('foo')
        self._link.set_peer_a_port_id(33)
        self.assertEqual('foo', self._link.get_peer_a_name())
        self.assertEqual(33, self._link.get_peer_a_port_id())

        self.assertEqual(None, self._link.get_peer_b_name())
        self.assertEqual(None, self._link.get_peer_b_port_id())
        self._link.set_peer_b_name('bar')
        self._link.set_peer_b_port_id(44)
        self.assertEqual('bar', self._link.get_peer_b_name())
        self.assertEqual(44, self._link.get_peer_b_port_id())

    def test_build(self):
        mock_port = MagicMock()
        self._context.get_device_port.return_value = mock_port
        self._link.build()

        self.assertIn(call('bridge-000-001', 1),
                      self._context.get_device_port.mock_calls)
        self.assertIn(call('router-000-001', 2),
                      self._context.get_device_port.mock_calls)
        mock_port.link.assert_called_once_with(mock_port)

    def test_build_no_port(self):
        self._context.get_device_port.return_value = None
        self.assertRaisesRegexp(PeerDevicePortNotFoundException,
                                'No corresponding peer device port found.',
                                self._link.build)
Example #4
0
class LinkTest(unittest.TestCase):
    def setUp(self):
        self._api = MagicMock()
        self._context = MagicMock()
        self._simple_link_data = yaml.load("""
            links:
              - link:
                  peer_A: [bridge-000-001, 1]
                  peer_B: [router-000-001, 2]
            """)
        self._link_data = self._simple_link_data['links'][0].get('link')

        self._link = Link(self._api, self._context, self._link_data)

    def test_peer_names_and_port_ids(self):
        self.assertEqual('bridge-000-001', self._link.get_peer_a_name())
        self.assertEqual(1, self._link.get_peer_a_port_id())
        self.assertEqual('router-000-001', self._link.get_peer_b_name())
        self.assertEqual(2, self._link.get_peer_b_port_id())

    def test_peer_name_and_port_id(self):
        self._link = Link(self._api, self._context, {})

        self.assertEqual(None, self._link.get_peer_a_name())
        self.assertEqual(None, self._link.get_peer_a_port_id())
        self._link.set_peer_a_name('foo')
        self._link.set_peer_a_port_id(33)
        self.assertEqual('foo', self._link.get_peer_a_name())
        self.assertEqual(33, self._link.get_peer_a_port_id())

        self.assertEqual(None, self._link.get_peer_b_name())
        self.assertEqual(None, self._link.get_peer_b_port_id())
        self._link.set_peer_b_name('bar')
        self._link.set_peer_b_port_id(44)
        self.assertEqual('bar', self._link.get_peer_b_name())
        self.assertEqual(44, self._link.get_peer_b_port_id())

    def test_build(self):
        mock_port = MagicMock()
        self._context.get_device_port.return_value = mock_port
        self._link.build()

        self.assertIn(call('bridge-000-001', 1),
                      self._context.get_device_port.mock_calls)
        self.assertIn(call('router-000-001', 2),
                      self._context.get_device_port.mock_calls)
        mock_port.link.assert_called_once_with(mock_port)

    def test_build_no_port(self):
        self._context.get_device_port.return_value = None
        self.assertRaisesRegexp(PeerDevicePortNotFoundException,
                                'No corresponding peer device port found.',
                                self._link.build)