From 35b72756b86118df8e34b53df0adfaf1938d3a76 Mon Sep 17 00:00:00 2001 From: Alistair Coles Date: Thu, 18 Feb 2021 19:43:56 +0000 Subject: [PATCH] Add test that DiskFileRouter gets relinker conf Change-Id: I0457219b5490d58519321bfeec78bc6dd05520cf --- test/unit/cli/test_relinker.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/test/unit/cli/test_relinker.py b/test/unit/cli/test_relinker.py index 35d49e9912..84721a00c6 100644 --- a/test/unit/cli/test_relinker.py +++ b/test/unit/cli/test_relinker.py @@ -167,7 +167,7 @@ class TestRelinker(unittest.TestCase): def test_conf_file(self): config = """ [DEFAULT] - swift_dir = test/swift/dir + swift_dir = %s devices = /test/node mount_check = false reclaim_age = 5184000 @@ -175,7 +175,7 @@ class TestRelinker(unittest.TestCase): [object-relinker] log_level = WARNING log_name = test-relinker - """ + """ % self.testdir conf_file = os.path.join(self.testdir, 'relinker.conf') with open(conf_file, 'w') as f: f.write(dedent(config)) @@ -183,21 +183,29 @@ class TestRelinker(unittest.TestCase): # cite conf file on command line with mock.patch('swift.cli.relinker.relink') as mock_relink: relinker.main(['relink', conf_file, '--device', 'sdx', '--debug']) - mock_relink.assert_called_once_with({ + exp_conf = { '__file__': mock.ANY, - 'swift_dir': 'test/swift/dir', + 'swift_dir': self.testdir, 'devices': '/test/node', 'mount_check': False, 'reclaim_age': '5184000', 'files_per_second': 0.0, 'log_name': 'test-relinker', 'log_level': 'DEBUG', - }, mock.ANY, device='sdx') + } + mock_relink.assert_called_once_with(exp_conf, mock.ANY, device='sdx') logger = mock_relink.call_args[0][1] # --debug overrides conf file self.assertEqual(logging.DEBUG, logger.getEffectiveLevel()) self.assertEqual('test-relinker', logger.logger.name) + # check the conf is passed to DiskFileRouter + self._save_ring() + with mock.patch('swift.cli.relinker.diskfile.DiskFileRouter', + side_effect=DiskFileRouter) as mock_dfr: + relinker.main(['relink', conf_file, '--device', 'sdx', '--debug']) + mock_dfr.assert_called_once_with(exp_conf, mock.ANY) + # flip mount_check, no --debug... config = """ [DEFAULT]