Merge "Add unit tests for FileHandle._create_connection"
This commit is contained in:
commit
05dd89936f
@ -17,6 +17,8 @@
|
||||
Unit tests for read and write handles for image transfer.
|
||||
"""
|
||||
|
||||
import ssl
|
||||
|
||||
import mock
|
||||
import six
|
||||
|
||||
@ -24,7 +26,6 @@ from oslo_vmware import exceptions
|
||||
from oslo_vmware import rw_handles
|
||||
from oslo_vmware.tests import base
|
||||
from oslo_vmware import vim_util
|
||||
from urllib3 import connection as httplib
|
||||
|
||||
|
||||
class FileHandleTest(base.TestCase):
|
||||
@ -53,12 +54,59 @@ class FileHandleTest(base.TestCase):
|
||||
self.assertEqual(exp_url, url)
|
||||
self.assertEqual('11:22:33:44:55', thumbprint)
|
||||
|
||||
def test_create_connection(self):
|
||||
@mock.patch('urllib3.connection.HTTPConnection')
|
||||
def test_create_connection_http(self, http_conn):
|
||||
conn = mock.Mock()
|
||||
http_conn.return_value = conn
|
||||
|
||||
handle = rw_handles.FileHandle(None)
|
||||
conn = handle._create_connection('http://fira', 'GET')
|
||||
self.assertIsInstance(conn, httplib.HTTPConnection)
|
||||
conn = handle._create_connection('https://fira', 'GET')
|
||||
self.assertIsInstance(conn, httplib.HTTPSConnection)
|
||||
ret = handle._create_connection('http://localhost/foo?q=bar', 'GET')
|
||||
|
||||
self.assertEqual(conn, ret)
|
||||
conn.putrequest.assert_called_once_with('GET', '/foo?q=bar')
|
||||
|
||||
@mock.patch('urllib3.connection.HTTPSConnection')
|
||||
def test_create_connection_https(self, https_conn):
|
||||
conn = mock.Mock()
|
||||
https_conn.return_value = conn
|
||||
|
||||
handle = rw_handles.FileHandle(None)
|
||||
ret = handle._create_connection('https://localhost/foo?q=bar', 'GET')
|
||||
|
||||
self.assertEqual(conn, ret)
|
||||
conn.set_cert.assert_called_once_with(
|
||||
ca_certs=None, cert_reqs=ssl.CERT_NONE, assert_fingerprint=None)
|
||||
conn.putrequest.assert_called_once_with('GET', '/foo?q=bar')
|
||||
|
||||
@mock.patch('urllib3.connection.HTTPSConnection')
|
||||
def test_create_connection_https_with_cacerts(self, https_conn):
|
||||
conn = mock.Mock()
|
||||
https_conn.return_value = conn
|
||||
|
||||
handle = rw_handles.FileHandle(None)
|
||||
ret = handle._create_connection('https://localhost/foo?q=bar', 'GET',
|
||||
cacerts=True)
|
||||
|
||||
self.assertEqual(conn, ret)
|
||||
conn.set_cert.assert_called_once_with(
|
||||
ca_certs=None, cert_reqs=ssl.CERT_REQUIRED,
|
||||
assert_fingerprint=None)
|
||||
|
||||
@mock.patch('urllib3.connection.HTTPSConnection')
|
||||
def test_create_connection_https_with_ssl_thumbprint(self, https_conn):
|
||||
conn = mock.Mock()
|
||||
https_conn.return_value = conn
|
||||
|
||||
handle = rw_handles.FileHandle(None)
|
||||
cacerts = mock.sentinel.cacerts
|
||||
thumbprint = mock.sentinel.thumbprint
|
||||
ret = handle._create_connection('https://localhost/foo?q=bar', 'GET',
|
||||
cacerts=cacerts,
|
||||
ssl_thumbprint=thumbprint)
|
||||
|
||||
self.assertEqual(conn, ret)
|
||||
conn.set_cert.assert_called_once_with(
|
||||
ca_certs=cacerts, cert_reqs=None, assert_fingerprint=thumbprint)
|
||||
|
||||
|
||||
class FileWriteHandleTest(base.TestCase):
|
||||
|
@ -205,8 +205,8 @@ class VimUtilTest(base.TestCase):
|
||||
self.assertEqual([trav_spec], obj_spec.selectSet)
|
||||
self.assertFalse(obj_spec.skip)
|
||||
|
||||
vim.RetrievePropertiesEx.side_effect = \
|
||||
vim_RetrievePropertiesEx_side_effect
|
||||
vim.RetrievePropertiesEx.side_effect = (
|
||||
vim_RetrievePropertiesEx_side_effect)
|
||||
vim_util.get_objects(vim, _type, max_objects)
|
||||
self.assertEqual(1, vim.RetrievePropertiesEx.call_count)
|
||||
|
||||
@ -245,8 +245,8 @@ class VimUtilTest(base.TestCase):
|
||||
|
||||
return retrieve_result
|
||||
|
||||
vim.RetrievePropertiesEx.side_effect = \
|
||||
vim_RetrievePropertiesEx_side_effect
|
||||
vim.RetrievePropertiesEx.side_effect = (
|
||||
vim_RetrievePropertiesEx_side_effect)
|
||||
|
||||
res = vim_util.get_object_properties(vim, moref, None)
|
||||
self.assertEqual(1, vim.RetrievePropertiesEx.call_count)
|
||||
|
Loading…
x
Reference in New Issue
Block a user