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)
Exemple #2
0
 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))
Exemple #5
0
 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)
Exemple #12
0
 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)
Exemple #13
0
 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)
Exemple #14
0
 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)