def setUp(self): """ Reset models.client.GanetiRapiClient back to the GanetiRapiClient class, so that patching can begin. """ models.client.GanetiRapiClient = GanetiRapiClient self._data = self.data.copy() if hasattr(self, 'patches'): self.proxy = MonkeyPatcher(*self.patches) self.proxy.patch()
class TestModifyVirtualMachineForm(TestCase, VirtualMachineTestCaseMixin): Form = ModifyVirtualMachineForm proxy = MonkeyPatcher() # Assure that we have a GanetiRapiClient object to work with in tests rapi = GanetiRapiClient data = dict(vcpus=2, acpi=True, disk_cache='default', initrd_path='', kernel_args='ro', kvm_flag=None, mem_path=None, migration_downtime=30, security_domain='', security_model='none', usb_mouse=None, use_chroot=False, use_localtime=False, vnc_bind_address='0.0.0.0', vnc_tls=False, vnc_x509_path=None, vnc_x509_verify=False, memory=512, os='image+debian-osgeo', disk_type='paravirtual', boot_order='disk', nic_type='paravirtual', nic_count=1, nic_count_original=1, nic_link_0='br0', nic_mac_0='aa:bb:00:00:33:d2', root_path='/dev/vda1', kernel_path='/boot/vmlinuz-2.32.6-27-generic', serial_console=True, cdrom_image_path='') def setUp(self): """ Reset models.client.GanetiRapiClient back to the GanetiRapiClient class, so that patching can begin. """ models.client.GanetiRapiClient = GanetiRapiClient self._data = self.data.copy() if hasattr(self, 'patches'): self.proxy = MonkeyPatcher(*self.patches) self.proxy.patch() def tearDown(self): self.proxy.restore() self.data = self._data.copy() self.vm.delete() self.cluster.delete() models.clear_rapi_cache() def test_multiple_nic(self): data = self.data.copy() data['nic_count'] = 2 data['nic_mac_1'] = 'aa:bb:cc:dd:ee:ff' data['nic_link_1'] = 'br1' form = self.Form(self.vm, data) self.assertTrue("nic_mac_0" in form.fields) self.assertTrue("nic_mac_1" in form.fields) self.assertTrue("nic_link_0" in form.fields) self.assertTrue("nic_link_1" in form.fields) self.assertTrue(form.is_valid(), form.errors) def test_validate_data(self): data = self.data.copy() form = self.Form(self.vm, data) self.assertTrue(form.is_valid(), form.errors) def test_validate_new_nic(self): data = self.data.copy() data['nic_count'] = 2 data['nic_mac_1'] = 'aa:bb:cc:dd:ee:ff' data['nic_link_1'] = 'br1' form = self.Form(self.vm, data) self.assertTrue(form.is_valid(), form.errors) def test_validate_remove_nic(self): data = self.data.copy() data['nic_count'] = 1 data['nic_original'] = 2 data['nic_mac_1'] = None data['nic_link_1'] = None form = self.Form(self.vm, data) self.assertTrue(form.is_valid(), form.errors) def test_validate_missing_nic_mac(self): data = self.data.copy() del data['nic_mac_0'] form = self.Form(self.vm, data) self.assertFalse(form.is_valid(), form.errors) def test_validate_missing_nic_link(self): data = self.data.copy() del data['nic_link_0'] form = self.Form(self.vm, data) self.assertFalse(form.is_valid()) def test_initial_base_initial_values(self): form = self.Form(self.vm) self.assertEqual(1, form.fields['nic_count'].initial) self.assertEqual('br42', form.fields['nic_link_0'].initial) self.assertEqual('aa:00:00:c5:47:2e', form.fields['nic_mac_0'].initial)