Skip to content

Commit 66b2390

Browse files
cephadm: fix a cephadm test when docker doesn't exist
Previously, when I ran the cephadm test suite locally the test case test_mon_crush_location was failing with the error: ``` > with pytest.raises(Exception, match='--set-crush-location database=a'): E AssertionError: Regex pattern did not match. E Regex: '--set-crush-location database=a' E Input: "[Errno 2] No such file or directory: '/usr/bin/docker'" ``` At the very least this test should run on a system that doesn't have docker installed. Although, I don't know why this test would have passed on any system that wasn't actively running a cephadm container... This patch mocks out `extract_uid_gid` which was calling out to docker even in the unit tests. Signed-off-by: John Mulligan <[email protected]>
1 parent ecebe2f commit 66b2390

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

src/cephadm/tests/test_cephadm.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,7 @@ def test_get_deployment_container(self, _get_container, _get_config, _logger):
299299
@mock.patch('cephadm.migrate_sysctl_dir')
300300
@mock.patch('cephadm.check_unit', lambda *args, **kwargs: (None, 'running', None))
301301
@mock.patch('cephadm.get_unit_name', lambda *args, **kwargs: 'mon-unit-name')
302+
@mock.patch('cephadm.extract_uid_gid', lambda *args, **kwargs: (0, 0))
302303
@mock.patch('cephadm.get_deployment_container')
303304
def test_mon_crush_location(self, _get_deployment_container, _migrate_sysctl, _make_var_run, _get_parm, _deploy_daemon, _file_lock, _logger):
304305
"""

0 commit comments

Comments
 (0)