Modify test code to avoid CONF modification affection
Few unit tests change attribute of CONF variable via Python assignment. This changes attribute of CONF, which is instance of XxxOpt class defined in oslo_config, to Python literal value. This affects result of another unit test. To avoid this, we should change attribute of CONF variable with set_override method. Change-Id: I4bd8b1b4ea974834f1149fcaa79de85d24f5f7d1 Story: 2010214 Task: 45956 (cherry picked from commit3b28d0984d
) (cherry picked from commit593a547a8d
) (cherry picked from commit3f624e5caa
) (cherry picked from commit35e20b62de
) (cherry picked from commit7d47ee3344
)
This commit is contained in:
parent
0f7c968ec0
commit
f2431ed1f4
|
@ -34,7 +34,7 @@ class TestAuditMiddleware(base.BaseApiTest):
|
|||
|
||||
@mock.patch.object(audit, 'AuditMiddleware')
|
||||
def test_enable_audit_request(self, mock_audit):
|
||||
CONF.audit.enabled = True
|
||||
CONF.set_override('enabled', True, 'audit')
|
||||
self._make_app()
|
||||
mock_audit.assert_called_once_with(
|
||||
mock.ANY,
|
||||
|
@ -43,14 +43,13 @@ class TestAuditMiddleware(base.BaseApiTest):
|
|||
|
||||
@mock.patch.object(audit, 'AuditMiddleware')
|
||||
def test_enable_audit_request_error(self, mock_audit):
|
||||
CONF.audit.enabled = True
|
||||
CONF.set_override('enabled', True, 'audit')
|
||||
mock_audit.side_effect = IOError("file access error")
|
||||
|
||||
self.assertRaises(exception.InputFileError,
|
||||
self._make_app)
|
||||
|
||||
@mock.patch.object(audit, 'AuditMiddleware')
|
||||
def test_disable_audit_request(self, mock_audit):
|
||||
CONF.audit.enabled = False
|
||||
CONF.set_override('enabled', False, 'audit')
|
||||
self._make_app()
|
||||
self.assertFalse(mock_audit.called)
|
||||
|
|
|
@ -31,12 +31,12 @@ class TestOsprofilerWsgiMiddleware(base.BaseApiTest):
|
|||
|
||||
@mock.patch.object(web, 'WsgiMiddleware')
|
||||
def test_enable_osp_wsgi_request(self, mock_ospmiddleware):
|
||||
CONF.profiler.enabled = True
|
||||
CONF.set_override('enabled', True, 'profiler')
|
||||
self._make_app()
|
||||
mock_ospmiddleware.assert_called_once_with(mock.ANY)
|
||||
|
||||
@mock.patch.object(web, 'WsgiMiddleware')
|
||||
def test_disable_osp_wsgi_request(self, mock_ospmiddleware):
|
||||
CONF.profiler.enabled = False
|
||||
CONF.set_override('enabled', False, 'profiler')
|
||||
self._make_app()
|
||||
self.assertFalse(mock_ospmiddleware.called)
|
||||
|
|
|
@ -358,8 +358,8 @@ class IloCommonMethodsTestCase(BaseIloTest):
|
|||
tempfile_mock.return_value = mock_image_file_handle
|
||||
self.config(use_web_server_for_images=True, group='ilo')
|
||||
deploy_args = {'arg1': 'val1', 'arg2': 'val2'}
|
||||
CONF.deploy.http_url = "http://abc.com/httpboot"
|
||||
CONF.deploy.http_root = "/httpboot"
|
||||
CONF.set_override('http_url', 'http://abc.com/httpboot', 'deploy')
|
||||
CONF.set_override('http_root', '/httpboot', 'deploy')
|
||||
|
||||
with task_manager.acquire(self.context, self.node.uuid,
|
||||
shared=False) as task:
|
||||
|
@ -577,9 +577,9 @@ class IloCommonMethodsTestCase(BaseIloTest):
|
|||
swift_obj_mock = swift_api_mock.return_value
|
||||
boot_iso = 'swift:object-name'
|
||||
swift_obj_mock.get_temp_url.return_value = 'image_url'
|
||||
CONF.keystone_authtoken.auth_uri = 'http://authurl'
|
||||
CONF.ilo.swift_ilo_container = 'ilo_cont'
|
||||
CONF.ilo.swift_object_expiry_timeout = 1
|
||||
CONF.set_override('auth_uri', 'http://authurl', 'keystone_authtoken')
|
||||
CONF.set_override('swift_ilo_container', 'ilo_cont', 'ilo')
|
||||
CONF.set_override('swift_object_expiry_timeout', 1, 'ilo')
|
||||
with task_manager.acquire(self.context, self.node.uuid,
|
||||
shared=False) as task:
|
||||
ilo_common.setup_vmedia_for_boot(task, boot_iso)
|
||||
|
@ -606,7 +606,7 @@ class IloCommonMethodsTestCase(BaseIloTest):
|
|||
def test_cleanup_vmedia_boot(self, get_name_mock, swift_api_mock,
|
||||
eject_mock):
|
||||
swift_obj_mock = swift_api_mock.return_value
|
||||
CONF.ilo.swift_ilo_container = 'ilo_cont'
|
||||
CONF.set_override('swift_ilo_container', 'ilo_cont', 'ilo')
|
||||
|
||||
get_name_mock.return_value = 'image-node-uuid'
|
||||
|
||||
|
@ -629,7 +629,7 @@ class IloCommonMethodsTestCase(BaseIloTest):
|
|||
exc = exception.SwiftOperationError('error')
|
||||
swift_obj_mock = swift_api_mock.return_value
|
||||
swift_obj_mock.delete_object.side_effect = exc
|
||||
CONF.ilo.swift_ilo_container = 'ilo_cont'
|
||||
CONF.set_override('swift_ilo_container', 'ilo_cont', 'ilo')
|
||||
|
||||
get_name_mock.return_value = 'image-node-uuid'
|
||||
|
||||
|
@ -654,7 +654,7 @@ class IloCommonMethodsTestCase(BaseIloTest):
|
|||
exc = exception.SwiftObjectNotFoundError('error')
|
||||
swift_obj_mock = swift_api_mock.return_value
|
||||
swift_obj_mock.delete_object.side_effect = exc
|
||||
CONF.ilo.swift_ilo_container = 'ilo_cont'
|
||||
CONF.set_override('swift_ilo_container', 'ilo_cont', 'ilo')
|
||||
|
||||
get_name_mock.return_value = 'image-node-uuid'
|
||||
|
||||
|
@ -673,7 +673,7 @@ class IloCommonMethodsTestCase(BaseIloTest):
|
|||
def test_cleanup_vmedia_boot_for_webserver(self,
|
||||
destroy_image_mock,
|
||||
eject_mock):
|
||||
CONF.ilo.use_web_server_for_images = True
|
||||
CONF.set_override('use_web_server_for_images', True, 'ilo')
|
||||
|
||||
with task_manager.acquire(self.context, self.node.uuid,
|
||||
shared=False) as task:
|
||||
|
@ -814,8 +814,8 @@ class IloCommonMethodsTestCase(BaseIloTest):
|
|||
autospec=True)
|
||||
def test_copy_image_to_web_server(self, copy_mock,
|
||||
chmod_mock):
|
||||
CONF.deploy.http_url = "http://x.y.z.a/webserver/"
|
||||
CONF.deploy.http_root = "/webserver"
|
||||
CONF.set_override('http_url', 'http://x.y.z.a/webserver/', 'deploy')
|
||||
CONF.set_override('http_root', '/webserver', 'deploy')
|
||||
expected_url = "http://x.y.z.a/webserver/image-UUID"
|
||||
source = 'tmp_image_file'
|
||||
destination = "image-UUID"
|
||||
|
@ -831,8 +831,8 @@ class IloCommonMethodsTestCase(BaseIloTest):
|
|||
autospec=True)
|
||||
def test_copy_image_to_web_server_fails(self, copy_mock,
|
||||
chmod_mock):
|
||||
CONF.deploy.http_url = "http://x.y.z.a/webserver/"
|
||||
CONF.deploy.http_root = "/webserver"
|
||||
CONF.set_override('http_url', 'http://x.y.z.a/webserver/', 'deploy')
|
||||
CONF.set_override('http_root', '/webserver', 'deploy')
|
||||
source = 'tmp_image_file'
|
||||
destination = "image-UUID"
|
||||
image_path = "/webserver/image-UUID"
|
||||
|
@ -847,8 +847,8 @@ class IloCommonMethodsTestCase(BaseIloTest):
|
|||
@mock.patch.object(ilo_common, 'ironic_utils', autospec=True)
|
||||
def test_remove_image_from_web_server(self, utils_mock):
|
||||
# | GIVEN |
|
||||
CONF.deploy.http_url = "http://x.y.z.a/webserver/"
|
||||
CONF.deploy.http_root = "/webserver"
|
||||
CONF.set_override('http_url', 'http://x.y.z.a/webserver/', 'deploy')
|
||||
CONF.set_override('http_root', '/webserver', 'deploy')
|
||||
object_name = 'tmp_image_file'
|
||||
# | WHEN |
|
||||
ilo_common.remove_image_from_web_server(object_name)
|
||||
|
@ -958,7 +958,7 @@ class IloCommonMethodsTestCase(BaseIloTest):
|
|||
def test_destroy_floppy_image_from_web_server(self, get_floppy_name_mock,
|
||||
utils_mock):
|
||||
get_floppy_name_mock.return_value = 'image-uuid'
|
||||
CONF.deploy.http_root = "/webserver/"
|
||||
CONF.set_override('http_root', '/webserver/', 'deploy')
|
||||
with task_manager.acquire(self.context, self.node.uuid,
|
||||
shared=False) as task:
|
||||
ilo_common.destroy_floppy_image_from_web_server(task.node)
|
||||
|
|
|
@ -75,13 +75,14 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
|
|||
self.addCleanup(irmc_boot.check_share_fs_mounted_patcher.stop)
|
||||
super(IRMCDeployPrivateMethodsTestCase, self).setUp()
|
||||
|
||||
CONF.irmc.remote_image_share_root = '/remote_image_share_root'
|
||||
CONF.irmc.remote_image_server = '10.20.30.40'
|
||||
CONF.irmc.remote_image_share_type = 'NFS'
|
||||
CONF.irmc.remote_image_share_name = 'share'
|
||||
CONF.irmc.remote_image_user_name = 'admin'
|
||||
CONF.irmc.remote_image_user_password = 'admin0'
|
||||
CONF.irmc.remote_image_user_domain = 'local'
|
||||
CONF.set_override('remote_image_share_root',
|
||||
'/remote_image_share_root', 'irmc')
|
||||
CONF.set_override('remote_image_server', '10.20.30.40', 'irmc')
|
||||
CONF.set_override('remote_image_share_type', 'NFS', 'irmc')
|
||||
CONF.set_override('remote_image_share_name', 'share', 'irmc')
|
||||
CONF.set_override('remote_image_user_name', 'admin', 'irmc')
|
||||
CONF.set_override('remote_image_user_password', 'admin0', 'irmc')
|
||||
CONF.set_override('remote_image_user_domain', 'local', 'irmc')
|
||||
|
||||
@mock.patch.object(os.path, 'isdir', spec_set=True, autospec=True)
|
||||
def test__parse_config_option(self, isdir_mock):
|
||||
|
@ -94,7 +95,8 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
|
|||
|
||||
@mock.patch.object(os.path, 'isdir', spec_set=True, autospec=True)
|
||||
def test__parse_config_option_non_existed_root(self, isdir_mock):
|
||||
CONF.irmc.remote_image_share_root = '/non_existed_root'
|
||||
CONF.set_override('remote_image_share_root', '/non_existed_root',
|
||||
'irmc')
|
||||
isdir_mock.return_value = False
|
||||
|
||||
self.assertRaises(exception.InvalidParameterValue,
|
||||
|
@ -162,7 +164,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
|
|||
|
||||
def test__parse_instance_info_with_boot_iso_file_name_ok(self):
|
||||
"""With optional 'irmc_boot_iso' file name."""
|
||||
CONF.irmc.remote_image_share_root = '/etc'
|
||||
CONF.set_override('remote_image_share_root', '/etc', 'irmc')
|
||||
self.node.instance_info['irmc_boot_iso'] = 'hosts'
|
||||
instance_info_expected = {'irmc_boot_iso': 'hosts'}
|
||||
instance_info_actual = irmc_boot._parse_instance_info(self.node)
|
||||
|
@ -171,7 +173,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
|
|||
|
||||
def test__parse_instance_info_without_boot_iso_ok(self):
|
||||
"""With optional no 'irmc_boot_iso' file name."""
|
||||
CONF.irmc.remote_image_share_root = '/etc'
|
||||
CONF.set_override('remote_image_share_root', '/etc', 'irmc')
|
||||
|
||||
self.node.instance_info['irmc_boot_iso'] = None
|
||||
instance_info_expected = {}
|
||||
|
@ -229,7 +231,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
|
|||
|
||||
@mock.patch.object(os.path, 'isfile', spec_set=True, autospec=True)
|
||||
def test__parse_instance_info_with_boot_iso_invalid(self, isfile_mock):
|
||||
CONF.irmc.remote_image_share_root = '/etc'
|
||||
CONF.set_override('remote_image_share_root', '/etc', 'irmc')
|
||||
isfile_mock.return_value = False
|
||||
|
||||
with task_manager.acquire(self.context, self.node.uuid) as task:
|
||||
|
@ -250,7 +252,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
|
|||
@mock.patch('os.path.isfile', autospec=True)
|
||||
def test_parse_deploy_info_ok(self, mock_isfile,
|
||||
get_image_instance_info_mock):
|
||||
CONF.irmc.remote_image_share_root = '/etc'
|
||||
CONF.set_override('remote_image_share_root', '/etc', 'irmc')
|
||||
get_image_instance_info_mock.return_value = {'a': 'b'}
|
||||
driver_info_expected = {'a': 'b',
|
||||
'irmc_deploy_iso': 'hosts',
|
||||
|
@ -330,7 +332,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
|
|||
fetch_mock,
|
||||
setup_vmedia_mock,
|
||||
set_boot_device_mock):
|
||||
CONF.irmc.remote_image_share_root = '/'
|
||||
CONF.set_override('remote_image_share_root', '/', 'irmc')
|
||||
|
||||
with task_manager.acquire(self.context, self.node.uuid,
|
||||
shared=False) as task:
|
||||
|
@ -362,7 +364,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
|
|||
fetch_mock,
|
||||
setup_vmedia_mock,
|
||||
set_boot_device_mock):
|
||||
CONF.irmc.remote_image_share_root = '/'
|
||||
CONF.set_override('remote_image_share_root', '/', 'irmc')
|
||||
|
||||
with task_manager.acquire(self.context, self.node.uuid,
|
||||
shared=False) as task:
|
||||
|
@ -435,7 +437,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
|
|||
boot_mode_mock,
|
||||
create_boot_iso_mock):
|
||||
|
||||
CONF.irmc.remote_image_share_root = '/'
|
||||
CONF.set_override('remote_image_share_root', '/', 'irmc')
|
||||
image = '733d1c44-a2ea-414b-aca7-69decf20d810'
|
||||
is_image_href_ordinary_file_name_mock.return_value = False
|
||||
deploy_info_mock.return_value = {'irmc_boot_iso': image}
|
||||
|
@ -687,7 +689,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
|
|||
@mock.patch.object(ironic_utils, 'unlink_without_raise', spec_set=True,
|
||||
autospec=True)
|
||||
def test__remove_share_file(self, unlink_without_raise_mock):
|
||||
CONF.irmc.remote_image_share_root = '/share'
|
||||
CONF.set_override('remote_image_share_root', '/share', 'irmc')
|
||||
|
||||
irmc_boot._remove_share_file("boot.iso")
|
||||
|
||||
|
@ -702,12 +704,12 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
|
|||
cd_set_params = (irmc_boot.scci
|
||||
.get_virtual_cd_set_params_cmd.return_value)
|
||||
|
||||
CONF.irmc.remote_image_server = '10.20.30.40'
|
||||
CONF.irmc.remote_image_user_domain = 'local'
|
||||
CONF.irmc.remote_image_share_type = 'NFS'
|
||||
CONF.irmc.remote_image_share_name = 'share'
|
||||
CONF.irmc.remote_image_user_name = 'admin'
|
||||
CONF.irmc.remote_image_user_password = 'admin0'
|
||||
CONF.set_override('remote_image_server', '10.20.30.40', 'irmc')
|
||||
CONF.set_override('remote_image_share_type', 'NFS', 'irmc')
|
||||
CONF.set_override('remote_image_share_name', 'share', 'irmc')
|
||||
CONF.set_override('remote_image_user_name', 'admin', 'irmc')
|
||||
CONF.set_override('remote_image_user_password', 'admin0', 'irmc')
|
||||
CONF.set_override('remote_image_user_domain', 'local', 'irmc')
|
||||
|
||||
irmc_boot.scci.get_share_type.return_value = 0
|
||||
|
||||
|
@ -780,12 +782,12 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
|
|||
fd_set_params = (irmc_boot.scci
|
||||
.get_virtual_fd_set_params_cmd.return_value)
|
||||
|
||||
CONF.irmc.remote_image_server = '10.20.30.40'
|
||||
CONF.irmc.remote_image_user_domain = 'local'
|
||||
CONF.irmc.remote_image_share_type = 'NFS'
|
||||
CONF.irmc.remote_image_share_name = 'share'
|
||||
CONF.irmc.remote_image_user_name = 'admin'
|
||||
CONF.irmc.remote_image_user_password = 'admin0'
|
||||
CONF.set_override('remote_image_server', '10.20.30.40', 'irmc')
|
||||
CONF.set_override('remote_image_share_type', 'NFS', 'irmc')
|
||||
CONF.set_override('remote_image_share_name', 'share', 'irmc')
|
||||
CONF.set_override('remote_image_user_name', 'admin', 'irmc')
|
||||
CONF.set_override('remote_image_user_password', 'admin0', 'irmc')
|
||||
CONF.set_override('remote_image_user_domain', 'local', 'irmc')
|
||||
|
||||
irmc_boot.scci.get_share_type.return_value = 0
|
||||
|
||||
|
@ -859,8 +861,8 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
|
|||
# irmc_boot.check_share_fs_mounted is mocked in
|
||||
# third_party_driver_mocks.py.
|
||||
# irmc_boot.check_share_fs_mounted_orig is the real function.
|
||||
CONF.irmc.remote_image_share_root = '/'
|
||||
CONF.irmc.remote_image_share_type = 'nfs'
|
||||
CONF.set_override('remote_image_share_root', '/', 'irmc')
|
||||
CONF.set_override('remote_image_share_type', 'nfs', 'irmc')
|
||||
result = irmc_boot.check_share_fs_mounted_orig()
|
||||
|
||||
parse_conf_mock.assert_called_once_with()
|
||||
|
@ -875,8 +877,8 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
|
|||
# irmc_boot.check_share_fs_mounted is mocked in
|
||||
# third_party_driver_mocks.py.
|
||||
# irmc_boot.check_share_fs_mounted_orig is the real function.
|
||||
CONF.irmc.remote_image_share_root = '/etc'
|
||||
CONF.irmc.remote_image_share_type = 'cifs'
|
||||
CONF.set_override('remote_image_share_root', '/etc', 'irmc')
|
||||
CONF.set_override('remote_image_share_type', 'cifs', 'irmc')
|
||||
|
||||
self.assertRaises(exception.IRMCSharedFileSystemNotMounted,
|
||||
irmc_boot.check_share_fs_mounted_orig)
|
||||
|
|
|
@ -869,7 +869,7 @@ class SNMPDeviceDriverTestCase(db_base.DbTestCase):
|
|||
def test_power_off_timeout(self, mock_sleep, mock_get_client):
|
||||
# Ensure that a power off consistency poll timeout causes an error
|
||||
mock_client = mock_get_client.return_value
|
||||
CONF.snmp.power_timeout = 5
|
||||
CONF.set_override('power_timeout', 5, 'snmp')
|
||||
driver = snmp._get_driver(self.node)
|
||||
mock_client.get.return_value = driver.value_power_on
|
||||
pstate = driver.power_off()
|
||||
|
|
Loading…
Reference in New Issue