def test_configure_with_wsdl_url_override(self): vim_obj = vim.Vim('https', 'www.example.com', wsdl_url='https://test.com/sdk/vimService.wsdl') self.assertEqual('https://test.com/sdk/vimService.wsdl', vim_obj.wsdl_url) self.assertEqual('https://www.example.com/sdk', vim_obj.soap_url)
def vim(self): if not self._vim: self._vim = vim.Vim(protocol=self._scheme, host=self._host, port=self._port, wsdl_url=self._vim_wsdl_loc) return self._vim
def test_init(self, getattr_mock): getattr_ret = mock.Mock() getattr_mock.side_effect = lambda *args: getattr_ret vim_obj = vim.Vim() getattr_mock.assert_called_once_with(vim_obj, 'RetrieveServiceContent') getattr_ret.assert_called_once_with('ServiceInstance') self.assertEqual(self.SudsClientMock.return_value, vim_obj.client) self.assertEqual(getattr_ret.return_value, vim_obj.service_content)
def test_vim_request_handler_with_attribute_error(self): managed_object = 'VirtualMachine' vim_obj = vim.Vim() # no powerOn method in Vim service_mock = mock.Mock(spec=vim.Vim) vim_obj._client.service = service_mock self.assertRaises(exceptions.VimAttributeException, lambda: vim_obj.powerOn(managed_object))
def vim(self): if not self._vim: self._vim = vim.Vim(protocol=self._scheme, host=self._host, port=self._port, wsdl_url=self._vim_wsdl_loc, cacert=self._cacert, insecure=self._insecure) return self._vim
def _test_vim_request_handler_with_exception(self, message, exception): managed_object = 'VirtualMachine' def side_effect(mo, **kwargs): self.assertEqual(managed_object, mo._type) self.assertEqual(managed_object, mo.value) raise Exception(message) vim_obj = vim.Vim() attr_name = 'powerOn' service_mock = vim_obj._client.service setattr(service_mock, attr_name, side_effect) self.assertRaises(exception, lambda: vim_obj.powerOn(managed_object))
def test_vim_request_handler_with_http_error(self): managed_object = 'VirtualMachine' def side_effect(mo, **kwargs): self.assertEqual(managed_object, mo._type) self.assertEqual(managed_object, mo.value) raise urllib2.HTTPError(None, None, None, None, None) vim_obj = vim.Vim() attr_name = 'powerOn' service_mock = vim_obj._client.service setattr(service_mock, attr_name, side_effect) self.assertRaises(exceptions.VimConnectionException, lambda: vim_obj.powerOn(managed_object))
def test_vim_request_handler_with_http_cannot_send_header_error(self): managed_object = 'VirtualMachine' def side_effect(mo, **kwargs): self.assertEqual(managed_object, mo._type) self.assertEqual(managed_object, mo.value) raise httplib.CannotSendHeader() vim_obj = vim.Vim() attr_name = 'powerOn' service_mock = vim_obj._client.service setattr(service_mock, attr_name, side_effect) self.assertRaises(exceptions.VimSessionOverLoadException, lambda: vim_obj.powerOn(managed_object))
def test_vim_request_handler_with_retrieve_properties_ex_fault(self): managed_object = 'Datacenter' def side_effect(mo, **kwargs): self.assertEqual(managed_object, mo._type) self.assertEqual(managed_object, mo.value) return None vim_obj = vim.Vim() attr_name = 'retrievePropertiesEx' service_mock = vim_obj._client.service setattr(service_mock, attr_name, side_effect) self.assertRaises(exceptions.VimFaultException, lambda: vim_obj.retrievePropertiesEx(managed_object))
def test_vim_request_handler(self): managed_object = 'VirtualMachine' resp = mock.Mock() def side_effect(mo, **kwargs): self.assertEqual(managed_object, mo._type) self.assertEqual(managed_object, mo.value) return resp vim_obj = vim.Vim() attr_name = 'powerOn' service_mock = vim_obj._client.service setattr(service_mock, attr_name, side_effect) ret = vim_obj.powerOn(managed_object) self.assertEqual(resp, ret)
def test_vim_request_handler_with_web_fault(self): managed_object = 'VirtualMachine' fault_list = ['Fault'] def side_effect(mo, **kwargs): self.assertEqual(managed_object, mo._type) self.assertEqual(managed_object, mo.value) doc = mock.Mock() detail = doc.childAtPath.return_value child = mock.Mock() child.get.return_value = fault_list[0] detail.getChildren.return_value = [child] raise suds.WebFault(None, doc) vim_obj = vim.Vim() attr_name = 'powerOn' service_mock = vim_obj._client.service setattr(service_mock, attr_name, side_effect) try: vim_obj.powerOn(managed_object) except exceptions.VimFaultException as ex: self.assertEqual(fault_list, ex.fault_list)
def test_configure_ipv6_and_non_default_host_port(self): vim_obj = vim.Vim('https', '::1', 12345) self.assertEqual('https://[::1]:12345/sdk/vimService.wsdl', vim_obj.wsdl_url) self.assertEqual('https://[::1]:12345/sdk', vim_obj.soap_url)
def test_configure_ipv6(self): vim_obj = vim.Vim('https', '::1') self.assertEqual('https://[::1]/sdk/vimService.wsdl', vim_obj.wsdl_url) self.assertEqual('https://[::1]/sdk', vim_obj.soap_url)
def test_configure_non_default_host_port(self): vim_obj = vim.Vim('https', 'www.test.com', 12345) self.assertEqual('https://www.test.com:12345/sdk/vimService.wsdl', vim_obj.wsdl_url) self.assertEqual('https://www.test.com:12345/sdk', vim_obj.soap_url)