summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVanou Ishii <ishii.vanou@fujitsu.com>2022-08-05 16:58:32 +0900
committerJulia Kreger <juliaashleykreger@gmail.com>2022-08-09 14:38:46 -0700
commit231a41c924ceb6de2b92716c712f90442d3a79f2 (patch)
treed11608db03a6476f21d59e27ea386b9b714fd772
parentb35392b81e7420d1071d8602eaf62f04fa8c0d1f (diff)
downloadironic-231a41c924ceb6de2b92716c712f90442d3a79f2.tar.gz
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 commit 3b28d0984d5eb82320c632dd5840cebf6d0762ad) (cherry picked from commit 593a547a8dbbbeee2225520812f8b235c39656b0) (cherry picked from commit 3f624e5caa83acf9b98443cf32cb0cd69143c6e2) (cherry picked from commit 35e20b62de1a867534d54de844496072ae291eac) (cherry picked from commit 7d47ee3344c6a8fc81c039fe21cc83645d3c63d9) (cherry picked from commit f2431ed1f4112a4781362229b75af2353b24dbfd)
-rw-r--r--ironic/tests/unit/api/test_audit.py7
-rw-r--r--ironic/tests/unit/api/test_ospmiddleware.py4
-rw-r--r--ironic/tests/unit/drivers/modules/ilo/test_common.py32
-rw-r--r--ironic/tests/unit/drivers/modules/irmc/test_boot.py66
-rw-r--r--ironic/tests/unit/drivers/modules/test_snmp.py2
5 files changed, 56 insertions, 55 deletions
diff --git a/ironic/tests/unit/api/test_audit.py b/ironic/tests/unit/api/test_audit.py
index c621013d3..40dd0bf81 100644
--- a/ironic/tests/unit/api/test_audit.py
+++ b/ironic/tests/unit/api/test_audit.py
@@ -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)
diff --git a/ironic/tests/unit/api/test_ospmiddleware.py b/ironic/tests/unit/api/test_ospmiddleware.py
index 48638aff7..f6ed8337a 100644
--- a/ironic/tests/unit/api/test_ospmiddleware.py
+++ b/ironic/tests/unit/api/test_ospmiddleware.py
@@ -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)
diff --git a/ironic/tests/unit/drivers/modules/ilo/test_common.py b/ironic/tests/unit/drivers/modules/ilo/test_common.py
index 64a270ad2..e4f472d1b 100644
--- a/ironic/tests/unit/drivers/modules/ilo/test_common.py
+++ b/ironic/tests/unit/drivers/modules/ilo/test_common.py
@@ -363,8 +363,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:
@@ -582,9 +582,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)
@@ -611,7 +611,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'
@@ -634,7 +634,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'
@@ -659,7 +659,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'
@@ -678,7 +678,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:
@@ -819,8 +819,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"
@@ -836,8 +836,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"
@@ -852,8 +852,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)
@@ -963,7 +963,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)
diff --git a/ironic/tests/unit/drivers/modules/irmc/test_boot.py b/ironic/tests/unit/drivers/modules/irmc/test_boot.py
index 3dd100133..e248ec9b7 100644
--- a/ironic/tests/unit/drivers/modules/irmc/test_boot.py
+++ b/ironic/tests/unit/drivers/modules/irmc/test_boot.py
@@ -78,13 +78,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):
@@ -97,7 +98,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,
@@ -165,7 +167,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)
@@ -174,7 +176,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 = {}
@@ -232,7 +234,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:
@@ -253,7 +255,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',
@@ -333,7 +335,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:
@@ -365,7 +367,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:
@@ -438,7 +440,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}
@@ -690,7 +692,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")
@@ -705,12 +707,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
@@ -783,12 +785,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
@@ -862,8 +864,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()
@@ -878,8 +880,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)
diff --git a/ironic/tests/unit/drivers/modules/test_snmp.py b/ironic/tests/unit/drivers/modules/test_snmp.py
index 1d0cd77e3..50bd7cb78 100644
--- a/ironic/tests/unit/drivers/modules/test_snmp.py
+++ b/ironic/tests/unit/drivers/modules/test_snmp.py
@@ -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()