예제 #1
0
 def test_put_network(self):
     nc = dhcp_agent.NetworkCache()
     nc.put(fake_network)
     self.assertEqual(nc.cache, {fake_network.id: fake_network})
     self.assertEqual(nc.subnet_lookup, {
         fake_subnet1.id: fake_network.id,
         fake_subnet2.id: fake_network.id
     })
     self.assertEqual(nc.port_lookup, {fake_port1.id: fake_network.id})
예제 #2
0
 def test_put_port(self):
     fake_network = FakeModel('12345678-1234-5678-1234567890ab',
                              tenant_id='aaaaaaaa-aaaa-aaaa-aaaaaaaaaaaa',
                              subnets=[fake_subnet1],
                              ports=[fake_port1])
     nc = dhcp_agent.NetworkCache()
     nc.put(fake_network)
     nc.put_port(fake_port2)
     self.assertEqual(len(nc.port_lookup), 2)
     self.assertIn(fake_port2, fake_network.ports)
예제 #3
0
    def test_remove_network(self):
        nc = dhcp_agent.NetworkCache()
        nc.cache = {fake_network.id: fake_network}
        nc.subnet_lookup = {
            fake_subnet1.id: fake_network.id,
            fake_subnet2.id: fake_network.id
        }
        nc.port_lookup = {fake_port1.id: fake_network.id}
        nc.remove(fake_network)

        self.assertEqual(len(nc.cache), 0)
        self.assertEqual(len(nc.subnet_lookup), 0)
        self.assertEqual(len(nc.port_lookup), 0)
예제 #4
0
    def test_put_network_existing(self):
        prev_network_info = mock.Mock()
        nc = dhcp_agent.NetworkCache()
        with mock.patch.object(nc, 'remove') as remove:
            nc.cache[fake_network.id] = prev_network_info

            nc.put(fake_network)
            remove.assert_called_once_with(prev_network_info)
        self.assertEqual(nc.cache, {fake_network.id: fake_network})
        self.assertEqual(nc.subnet_lookup, {
            fake_subnet1.id: fake_network.id,
            fake_subnet2.id: fake_network.id
        })
        self.assertEqual(nc.port_lookup, {fake_port1.id: fake_network.id})
예제 #5
0
 def test_get_port_by_id(self):
     nc = dhcp_agent.NetworkCache()
     nc.put(fake_network)
     self.assertEqual(nc.get_port_by_id(fake_port1.id), fake_port1)
예제 #6
0
    def test_get_network_ids(self):
        nc = dhcp_agent.NetworkCache()
        nc.put(fake_network)

        self.assertEqual(nc.get_network_ids(), [fake_network.id])