Revision 72dea98f snf-cyclades-app/synnefo/logic/tests.py

b/snf-cyclades-app/synnefo/logic/tests.py
254 254
    def test_remove(self, client):
255 255
        vm = mfactory.VirtualMachineFactory()
256 256
        # Also create a NIC
257
        mfactory.NetworkInterfaceFactory(machine=vm)
257
        nic = mfactory.NetworkInterfaceFactory(machine=vm)
258
        nic.network.get_pool().reserve(nic.ipv4)
258 259
        msg = self.create_msg(operation='OP_INSTANCE_REMOVE',
259 260
                              instance=vm.backend_vm_id)
260 261
        with mocked_quotaholder():
......
265 266
        self.assertTrue(db_vm.deleted)
266 267
        # Check that nics are deleted
267 268
        self.assertFalse(db_vm.nics.all())
269
        self.assertTrue(nic.network.get_pool().is_available(nic.ipv4))
270
        vm2 = mfactory.VirtualMachineFactory()
271
        network = mfactory.NetworkFactory()
272
        fp1 = mfactory.FloatingIPFactory(machine=vm2, network=network)
273
        fp2 = mfactory.FloatingIPFactory(machine=vm2, network=network)
274
        mfactory.NetworkInterfaceFactory(machine=vm2, network=network,
275
                ipv4=fp1.ipv4)
276
        mfactory.NetworkInterfaceFactory(machine=vm2, network=network,
277
                ipv4=fp2.ipv4)
278
        pool = network.get_pool()
279
        pool.reserve(fp1.ipv4)
280
        pool.reserve(fp2.ipv4)
281
        pool.save()
282
        msg = self.create_msg(operation='OP_INSTANCE_REMOVE',
283
                              instance=vm2.backend_vm_id)
284
        with mocked_quotaholder():
285
            update_db(client, msg)
286
        client.basic_ack.assert_called_once()
287
        db_vm = VirtualMachine.objects.get(id=vm.id)
288
        self.assertEqual(db_vm.operstate, 'DESTROYED')
289
        self.assertTrue(db_vm.deleted)
290
        self.assertEqual(FloatingIP.objects.get(id=fp1.id).machine, None)
291
        self.assertEqual(FloatingIP.objects.get(id=fp2.id).machine, None)
292
        pool = network.get_pool()
293
        # Test that floating ips are not released
294
        self.assertFalse(pool.is_available(fp1.ipv4))
295
        self.assertFalse(pool.is_available(fp2.ipv4))
268 296

  
269 297
    def test_create(self, client):
270 298
        vm = mfactory.VirtualMachineFactory()

Also available in: Unified diff