def test_resolve_reference(self):
        mock_resource = MagicMock()
        ref = ResourceReference(mock_resource, self._setter_uuid,
                                self._device_port_spec_1)
        ref.resolve_reference('uuid-000')

        mock_resource.set_uuid.assert_called_with('uuid-000')
예제 #2
0
 def test_register_resource_reference(self):
     """Test registering a resource reference."""
     self.build_empty_topology()
     mock_referrer = MagicMock()
     self._vtm.register_resource_reference(
             mock_referrer, 'port_group', {'port_group_name': 'pg-1'})
     self.assertIn(ResourceReference(mock_referrer,
                                     'port_group',
                                     {'port_group_name': 'pg-1'}),
                   self._vtm._resource_references)
예제 #3
0
    def register_resource_reference(self, referrer, setter, reference_spec):
        """Registers a resource reference for lazy resolution.

        Args:
            referrer: A resource referring to another resource.
            field: A setter for the field referring to the resource.
            reference_spec: A specification of the referred resource.
        """
        self._resource_references.append(
            ResourceReference(referrer, setter, reference_spec))
예제 #4
0
    def test_look_up_resource_no_chain(self):
        """Tests if lookup failure registers a resource reference."""
        self.mock_vtm_lookup_on_empty_topology('get_chain', None)
        mock_referrer = MagicMock()
        self._vtm.look_up_resource(
                mock_referrer, 'chain_setter', {'chain_name': 'filter-001'})

        self._vtm.get_chain.assert_called_with('filter-001')
        self.assertIn(ResourceReference(
                mock_referrer, 'chain_setter', {'chain_name': 'filter-001'}),
                self._vtm._resource_references)
예제 #5
0
    def test_look_up_resource_no_port_group(self):
        """Tests if lookup failure registers a resource reference."""
        self.mock_vtm_lookup_on_empty_topology('get_port_group', None)
        mock_referrer = MagicMock()
        self._vtm.look_up_resource(
                mock_referrer, 'port_group', {'port_group_name': 'pg-1'})

        self._vtm.get_port_group.assert_called_with('pg-1')
        self.assertIn(ResourceReference(
                mock_referrer, 'port_group', {'port_group_name': 'pg-1'}),
                self._vtm._resource_references)
 def setUp(self):
     self._res_a_1 = TestResourceClassA('res'),
     self._res_a_2 = TestResourceClassA('res')
     self._res_b_1 = TestResourceClassB('res')
     self._device_port_spec_1 = {
         'device_name': 'bridge-000-001',
         'port_id': 1
     }
     self._device_port_spec_2 = {
         'device_name': 'bridge-000-001',
         'port_id': 2
     }
     self._setter_uuid = 'set_uuid'
     self._setter_type = 'set_uuid'
     self._ref1 = ResourceReference(self._res_a_1, self._setter_uuid,
                                    self._device_port_spec_1)
     self._ref2 = ResourceReference(self._res_a_1, self._setter_uuid,
                                    self._device_port_spec_1)
     self._ref3 = ResourceReference(self._res_a_2, self._setter_uuid,
                                    self._device_port_spec_1)
     self._ref4 = ResourceReference(self._res_b_1, self._setter_uuid,
                                    self._device_port_spec_1)
     self._ref5 = ResourceReference(self._res_a_1, self._setter_type,
                                    self._device_port_spec_1)
     self._ref6 = ResourceReference(self._res_a_1, self._setter_uuid,
                                    self._device_port_spec_2)
예제 #7
0
    def test_look_up_resource_no_device_port(self):
        """Tests if lookup failure registers a resource reference."""
        self.mock_vtm_lookup_on_empty_topology('get_device_port', None)
        mock_referrer = MagicMock()
        self._vtm.look_up_resource(
            mock_referrer, 'out_ports',
            [{'device_name': 'bridge-000-001', 'port_id': 1},
             '01e436f4-d6be-4218-8fca-415207da604d'])

        self._vtm.get_device_port.assert_called_with('bridge-000-001', 1)
        self.assertIn(ResourceReference(
                mock_referrer, 'out_ports',
                [{'device_name': 'bridge-000-001', 'port_id': 1},
                 '01e436f4-d6be-4218-8fca-415207da604d']),
                self._vtm._resource_references)