def test_listener(self, connect_mock, update_mock, creds_mock, monitor_mock, create_host_client_mock): """Test update listeners""" class MyUpdateListener(UpdateListener): def __init__(self): self.ds_updated = False def datastores_updated(self): self.ds_updated = True create_host_client_mock.return_value = VimClient() creds_mock.return_value = ["user", "pass"] si_mock = MagicMock(name="si_mock") si_mock.RetrieveContent = self._retrieve_content connect_mock.return_value = si_mock # Create 10 listeners each. listeners = [] for i in xrange(10): listeners.append(MyUpdateListener()) # Add listeners to the hypervisor and verify that the listeners get # notified immediately. self.hv = Hypervisor(self.agent_config) for listener in listeners: self.hv.add_update_listener(listener) assert_that(listener.ds_updated, is_(True)) # Remove listeners. for listener in listeners: self.hv.remove_update_listener(listener) # 1 for datastore manager assert_that(len(self.hv.host_client.update_listeners), is_(1))
def setUp(self): self.vim_client = VimClient(auto_sync=False) self.vim_client._content = MagicMock() self.vim_client.wait_for_task = MagicMock() self.disk_manager = DiskManager(self.vim_client, []) self.disk_manager._vmdk_mkdir = MagicMock() self.disk_manager._vmdk_rmdir = MagicMock()
def setUp(self): # Create VM manager self.vim_client = VimClient(auto_sync=False) self.vim_client._content = MagicMock() self.vim_client.wait_for_task = MagicMock() self.vm_manager = VmManager(self.vim_client, MagicMock()) services.register(ServiceName.AGENT_CONFIG, MagicMock()) # Set up test files self.base_dir = os.path.dirname(__file__) self.test_dir = os.path.join(self.base_dir, "../test_files") self.image_manager = ImageManager(MagicMock(), MagicMock()) self.image_scanner = DatastoreImageScanner(self.image_manager, self.vm_manager, self.DATASTORE_ID) self.write_count = 0
def vim_delete_vm(self, vm_id): """ Delete a VM using the vim client """ try: vim_client = VimClient() vim_client.connect_ticket(self.server, self._get_vim_ticket()) vim_vm = vim_client.get_vm(vm_id) if vim_vm.runtime.powerState != 'poweredOff': try: vim_task = vim_vm.PowerOff() vim_client.wait_for_task(vim_task) except: logger.info("Cannot power off vm", exc_info=True) vim_task = vim_vm.Destroy() vim_client.wait_for_task(vim_task) finally: if vim_client: vim_client.disconnect()
def setUp(self): from testconfig import config if "agent_remote_test" not in config: raise SkipTest() # Set the default datastore name self._datastores = None if "datastores" in config["agent_remote_test"]: datastores = config["agent_remote_test"]["datastores"] self._datastores = [d.strip() for d in datastores.split(",")] else: self.fail("datastores not provided for test setUp") # Optionally update the specification of a remote iso file. The file # needs to exist on the remote esx server for this test to succeed. self._remote_iso_file = None self._second_remote_iso_file = None if ("iso_file" in config["agent_remote_test"]): self._remote_iso_file = config["agent_remote_test"]["iso_file"] if ("second_iso_file" in config["agent_remote_test"]): self._second_remote_iso_file = config["agent_remote_test"][ "second_iso_file"] self.server = config["agent_remote_test"]["server"] self.generation = int(time.time()) # Connect to server and configure vim_client self.client_connections() self.vim_client = VimClient() self.vim_client.connect_ticket(self.server, self._get_vim_ticket()) connect.SetSi(self.vim_client._si) # Set host mode to normal self.set_host_mode(HostMode.NORMAL) # The first time setup is called the agent will restart. self.provision_hosts() # Reconnect to account for the restart self.client_connections() self.clear()
def test_config(self, connect_mock, update_mock, creds_mock, monitor_mock, create_host_client_mock): create_host_client_mock.return_value = VimClient() si_mock = MagicMock(name="si_mock") si_mock.RetrieveContent = self._retrieve_content connect_mock.return_value = si_mock creds_mock.return_value = ["user", "pass"] # Simulate exception thrown during construction of the # Hypervisor and verify that no keep alive thread is started creds_mock.side_effect = AcquireCredentialsException() self.assertRaises(AcquireCredentialsException, Hypervisor, self.agent_config) assert_that(update_mock.called, is_(False)) creds_mock.side_effect = None self.hv = Hypervisor(self.agent_config) assert_that(update_mock.called, is_(True))
def setUp(self): self.vim_client = VimClient(auto_sync=False) self.vim_client._content = MagicMock() self.vim_client.wait_for_task = MagicMock() self.vim_client.query_config = MagicMock() self.vm_manager = VmManager(self.vim_client, MagicMock())
def setUp(self): self.vim_client = VimClient(auto_sync=False) self.vim_client._content = MagicMock() self.ds_manager = MagicMock() services.register(ServiceName.AGENT_CONFIG, MagicMock()) self.image_manager = ImageManager(self.vim_client, self.ds_manager)