Merge "Fix temp file locking issues in tests"
This commit is contained in:
@@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
import fixtures
|
import fixtures
|
||||||
|
import git
|
||||||
import mock
|
import mock
|
||||||
import os
|
import os
|
||||||
import uuid
|
import uuid
|
||||||
@@ -32,6 +33,7 @@ class TestConfig(base.TestCase):
|
|||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestConfig, self).setUp()
|
super(TestConfig, self).setUp()
|
||||||
|
|
||||||
|
@patch.object(ooo_config.Config, 'initialize_git_repo')
|
||||||
@patch.object(ooo_config.shutil, 'copyfile')
|
@patch.object(ooo_config.shutil, 'copyfile')
|
||||||
@patch.object(ooo_config.Config, '_mkdir')
|
@patch.object(ooo_config.Config, '_mkdir')
|
||||||
@patch.object(ooo_config.Config, '_open_file')
|
@patch.object(ooo_config.Config, '_open_file')
|
||||||
@@ -40,7 +42,8 @@ class TestConfig(base.TestCase):
|
|||||||
mock_rmtree,
|
mock_rmtree,
|
||||||
mock_open,
|
mock_open,
|
||||||
mock_mkdir,
|
mock_mkdir,
|
||||||
mock_copyfile):
|
mock_copyfile,
|
||||||
|
mock_git_init):
|
||||||
config_type_list = ['config_settings', 'global_config_settings',
|
config_type_list = ['config_settings', 'global_config_settings',
|
||||||
'logging_sources', 'monitoring_subscriptions',
|
'logging_sources', 'monitoring_subscriptions',
|
||||||
'service_config_settings',
|
'service_config_settings',
|
||||||
@@ -56,6 +59,7 @@ class TestConfig(base.TestCase):
|
|||||||
self.config = ooo_config.Config(heat)
|
self.config = ooo_config.Config(heat)
|
||||||
self.config.download_config('overcloud', '/tmp/tht', config_type_list)
|
self.config.download_config('overcloud', '/tmp/tht', config_type_list)
|
||||||
|
|
||||||
|
mock_git_init.assert_called_once_with('/tmp/tht')
|
||||||
expected_mkdir_calls = [call('/tmp/tht/%s' % r) for r in fake_role]
|
expected_mkdir_calls = [call('/tmp/tht/%s' % r) for r in fake_role]
|
||||||
mock_mkdir.assert_has_calls(expected_mkdir_calls, any_order=True)
|
mock_mkdir.assert_has_calls(expected_mkdir_calls, any_order=True)
|
||||||
expected_calls = []
|
expected_calls = []
|
||||||
@@ -71,6 +75,7 @@ class TestConfig(base.TestCase):
|
|||||||
(role, config))]
|
(role, config))]
|
||||||
mock_open.assert_has_calls(expected_calls, any_order=True)
|
mock_open.assert_has_calls(expected_calls, any_order=True)
|
||||||
|
|
||||||
|
@patch.object(ooo_config.Config, 'initialize_git_repo')
|
||||||
@patch.object(ooo_config.shutil, 'copyfile')
|
@patch.object(ooo_config.shutil, 'copyfile')
|
||||||
@patch.object(ooo_config.Config, '_mkdir')
|
@patch.object(ooo_config.Config, '_mkdir')
|
||||||
@patch.object(ooo_config.Config, '_open_file')
|
@patch.object(ooo_config.Config, '_open_file')
|
||||||
@@ -79,7 +84,8 @@ class TestConfig(base.TestCase):
|
|||||||
mock_rmtree,
|
mock_rmtree,
|
||||||
mock_open,
|
mock_open,
|
||||||
mock_mkdir,
|
mock_mkdir,
|
||||||
mock_copyfile):
|
mock_copyfile,
|
||||||
|
mock_git_init):
|
||||||
|
|
||||||
expected_config_type = 'config_settings'
|
expected_config_type = 'config_settings'
|
||||||
fake_role = [role for role in
|
fake_role = [role for role in
|
||||||
@@ -96,6 +102,7 @@ class TestConfig(base.TestCase):
|
|||||||
for r in fake_role]
|
for r in fake_role]
|
||||||
mock_mkdir.assert_has_calls(expected_mkdir_calls, any_order=True)
|
mock_mkdir.assert_has_calls(expected_mkdir_calls, any_order=True)
|
||||||
mock_open.assert_has_calls(expected_calls, any_order=True)
|
mock_open.assert_has_calls(expected_calls, any_order=True)
|
||||||
|
mock_git_init.assert_called_once_with('/tmp/tht')
|
||||||
|
|
||||||
@patch.object(ooo_config.git, 'Repo')
|
@patch.object(ooo_config.git, 'Repo')
|
||||||
@mock.patch('os.mkdir')
|
@mock.patch('os.mkdir')
|
||||||
@@ -239,9 +246,11 @@ class TestConfig(base.TestCase):
|
|||||||
file_name)
|
file_name)
|
||||||
return yaml.safe_load(open(file_path).read())
|
return yaml.safe_load(open(file_path).read())
|
||||||
|
|
||||||
|
@patch.object(ooo_config.Config, 'initialize_git_repo')
|
||||||
@patch('tripleo_common.utils.config.Config.get_config_dict')
|
@patch('tripleo_common.utils.config.Config.get_config_dict')
|
||||||
@patch('tripleo_common.utils.config.Config.get_deployment_data')
|
@patch('tripleo_common.utils.config.Config.get_deployment_data')
|
||||||
def test_config_download(self, mock_deployment_data, mock_config_dict):
|
def test_config_download(self, mock_deployment_data, mock_config_dict,
|
||||||
|
mock_git_init):
|
||||||
heat = mock.MagicMock()
|
heat = mock.MagicMock()
|
||||||
self.config = ooo_config.Config(heat)
|
self.config = ooo_config.Config(heat)
|
||||||
stack = mock.MagicMock()
|
stack = mock.MagicMock()
|
||||||
@@ -286,6 +295,7 @@ class TestConfig(base.TestCase):
|
|||||||
self.tmp_dir = self.useFixture(fixtures.TempDir()).path
|
self.tmp_dir = self.useFixture(fixtures.TempDir()).path
|
||||||
tmp_path = self.config.download_config(stack, self.tmp_dir)
|
tmp_path = self.config.download_config(stack, self.tmp_dir)
|
||||||
|
|
||||||
|
mock_git_init.assert_called_once_with(self.tmp_dir)
|
||||||
for f in ['Controller',
|
for f in ['Controller',
|
||||||
'Compute', ]:
|
'Compute', ]:
|
||||||
|
|
||||||
@@ -344,10 +354,11 @@ class TestConfig(base.TestCase):
|
|||||||
'overcloud-novacompute-2',
|
'overcloud-novacompute-2',
|
||||||
d)))
|
d)))
|
||||||
|
|
||||||
|
@patch.object(ooo_config.Config, 'initialize_git_repo')
|
||||||
@patch('tripleo_common.utils.config.Config.get_config_dict')
|
@patch('tripleo_common.utils.config.Config.get_config_dict')
|
||||||
@patch('tripleo_common.utils.config.Config.get_deployment_data')
|
@patch('tripleo_common.utils.config.Config.get_deployment_data')
|
||||||
def test_config_download_os_apply_config(
|
def test_config_download_os_apply_config(
|
||||||
self, mock_deployment_data, mock_config_dict):
|
self, mock_deployment_data, mock_config_dict, mock_git_init):
|
||||||
heat = mock.MagicMock()
|
heat = mock.MagicMock()
|
||||||
self.config = ooo_config.Config(heat)
|
self.config = ooo_config.Config(heat)
|
||||||
stack = mock.MagicMock()
|
stack = mock.MagicMock()
|
||||||
@@ -411,12 +422,15 @@ class TestConfig(base.TestCase):
|
|||||||
self.tmp_dir = self.useFixture(fixtures.TempDir()).path
|
self.tmp_dir = self.useFixture(fixtures.TempDir()).path
|
||||||
with warnings.catch_warnings(record=True) as w:
|
with warnings.catch_warnings(record=True) as w:
|
||||||
self.config.download_config(stack, self.tmp_dir)
|
self.config.download_config(stack, self.tmp_dir)
|
||||||
|
mock_git_init.assert_called_once_with(self.tmp_dir)
|
||||||
self.assertEqual(1, len(w))
|
self.assertEqual(1, len(w))
|
||||||
assert issubclass(w[-1].category, DeprecationWarning)
|
assert issubclass(w[-1].category, DeprecationWarning)
|
||||||
assert "group:os-apply-config is deprecated" in str(w[-1].message)
|
assert "group:os-apply-config is deprecated" in str(w[-1].message)
|
||||||
|
|
||||||
|
@patch.object(ooo_config.Config, 'initialize_git_repo')
|
||||||
@patch('tripleo_common.utils.config.Config.get_deployment_data')
|
@patch('tripleo_common.utils.config.Config.get_deployment_data')
|
||||||
def test_config_download_no_deployment_name(self, mock_deployment_data):
|
def test_config_download_no_deployment_name(self, mock_deployment_data,
|
||||||
|
mock_git_init):
|
||||||
heat = mock.MagicMock()
|
heat = mock.MagicMock()
|
||||||
self.config = ooo_config.Config(heat)
|
self.config = ooo_config.Config(heat)
|
||||||
stack = mock.MagicMock()
|
stack = mock.MagicMock()
|
||||||
@@ -433,7 +447,9 @@ class TestConfig(base.TestCase):
|
|||||||
self.tmp_dir = self.useFixture(fixtures.TempDir()).path
|
self.tmp_dir = self.useFixture(fixtures.TempDir()).path
|
||||||
self.assertRaises(ValueError,
|
self.assertRaises(ValueError,
|
||||||
self.config.download_config, stack, self.tmp_dir)
|
self.config.download_config, stack, self.tmp_dir)
|
||||||
|
mock_git_init.assert_called_once_with(self.tmp_dir)
|
||||||
|
|
||||||
|
@patch.object(ooo_config.Config, 'initialize_git_repo')
|
||||||
@patch.object(ooo_config.git, 'Repo')
|
@patch.object(ooo_config.git, 'Repo')
|
||||||
@patch.object(ooo_config.shutil, 'copyfile')
|
@patch.object(ooo_config.shutil, 'copyfile')
|
||||||
@patch.object(ooo_config.Config, '_mkdir')
|
@patch.object(ooo_config.Config, '_mkdir')
|
||||||
@@ -446,7 +462,8 @@ class TestConfig(base.TestCase):
|
|||||||
mock_open,
|
mock_open,
|
||||||
mock_mkdir,
|
mock_mkdir,
|
||||||
mock_copyfile,
|
mock_copyfile,
|
||||||
mock_repo):
|
mock_repo,
|
||||||
|
mock_git_init):
|
||||||
config_type_list = ['config_settings', 'global_config_settings',
|
config_type_list = ['config_settings', 'global_config_settings',
|
||||||
'logging_sources', 'monitoring_subscriptions',
|
'logging_sources', 'monitoring_subscriptions',
|
||||||
'service_config_settings',
|
'service_config_settings',
|
||||||
@@ -464,6 +481,7 @@ class TestConfig(base.TestCase):
|
|||||||
self.config.download_config('overcloud', '/tmp/tht', config_type_list,
|
self.config.download_config('overcloud', '/tmp/tht', config_type_list,
|
||||||
False)
|
False)
|
||||||
|
|
||||||
|
mock_git_init.assert_called_once_with('/tmp/tht')
|
||||||
expected_rmtree_calls = [call('/tmp/tht')]
|
expected_rmtree_calls = [call('/tmp/tht')]
|
||||||
mock_rmtree.assert_has_calls(expected_rmtree_calls)
|
mock_rmtree.assert_has_calls(expected_rmtree_calls)
|
||||||
|
|
||||||
@@ -493,6 +511,14 @@ class TestConfig(base.TestCase):
|
|||||||
expected_rmtree_calls = [call('/tmp/tht')]
|
expected_rmtree_calls = [call('/tmp/tht')]
|
||||||
mock_rmtree.assert_has_calls(expected_rmtree_calls)
|
mock_rmtree.assert_has_calls(expected_rmtree_calls)
|
||||||
|
|
||||||
|
def test_initialize_git_repo(self):
|
||||||
|
heat = mock.MagicMock()
|
||||||
|
heat.stacks.get.return_value = fakes.create_tht_stack()
|
||||||
|
self.config = ooo_config.Config(heat)
|
||||||
|
self.tmp_dir = self.useFixture(fixtures.TempDir()).path
|
||||||
|
repo = self.config.initialize_git_repo(self.tmp_dir)
|
||||||
|
self.assertIsInstance(repo, git.Repo)
|
||||||
|
|
||||||
@patch('tripleo_common.utils.config.Config.get_config_dict')
|
@patch('tripleo_common.utils.config.Config.get_config_dict')
|
||||||
@patch('tripleo_common.utils.config.Config.get_deployment_data')
|
@patch('tripleo_common.utils.config.Config.get_deployment_data')
|
||||||
def test_write_config(self, mock_deployment_data, mock_config_dict):
|
def test_write_config(self, mock_deployment_data, mock_config_dict):
|
||||||
|
Reference in New Issue
Block a user