diff --git a/test/unit/cli/test_relinker.py b/test/unit/cli/test_relinker.py index 14cc68da4a..bfa8759622 100644 --- a/test/unit/cli/test_relinker.py +++ b/test/unit/cli/test_relinker.py @@ -223,7 +223,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 @@ -231,7 +231,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)) @@ -239,21 +239,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]