Merge "Add unit tests for FileHandle._create_connection"

This commit is contained in:
Jenkins 2015-09-22 00:03:51 +00:00 committed by Gerrit Code Review
commit 05dd89936f
2 changed files with 58 additions and 10 deletions

View File

@ -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):

View File

@ -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)