From 9774799001d95d23df898579856e8e2441493226 Mon Sep 17 00:00:00 2001 From: Daniel Azanov <31107191+muritane@users.noreply.github.com> Date: Mon, 18 Mar 2024 18:53:13 +0100 Subject: [PATCH] [git extension] fix existing user_override_name key, but with None value (#274) --- src/rocker/git_extension.py | 4 +++- test/test_git_extension.py | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/rocker/git_extension.py b/src/rocker/git_extension.py index b35c3979..03acbdab 100644 --- a/src/rocker/git_extension.py +++ b/src/rocker/git_extension.py @@ -35,7 +35,9 @@ def get_docker_args(self, cli_args): user_gitconfig = cli_args.get('git_config_path', os.path.expanduser('~/.gitconfig')) user_gitconfig_target = '/root/.gitconfig' if 'user' in cli_args and cli_args['user']: - username = cli_args.get('user_override_name', getpass.getuser()) + username = getpass.getuser() + if 'user_override_name' in cli_args and cli_args['user_override_name']: + username = cli_args['user_override_name'] user_gitconfig_target = '/home/%(username)s/.gitconfig' % locals() if os.path.exists(system_gitconfig): args += ' -v {system_gitconfig}:{system_gitconfig_target}:ro'.format(**locals()) diff --git a/test/test_git_extension.py b/test/test_git_extension.py index 7bdf0e3c..ef6941f5 100644 --- a/test/test_git_extension.py +++ b/test/test_git_extension.py @@ -57,7 +57,7 @@ def test_git_extension(self): p = git_plugin() self.assertTrue(plugin_load_parser_correctly(git_plugin)) - + mock_cliargs = {} mock_config_file = tempfile.NamedTemporaryFile() @@ -79,6 +79,12 @@ def test_git_extension(self): user_gitconfig_target = os.path.expanduser('~/.gitconfig') self.assertIn('-v %s:%s' % (user_gitconfig, user_gitconfig_target), user_args) + # Test with an existing overridden user key, but with None value + mock_cliargs['user_override_name'] = None + user_args = p.get_docker_args(mock_cliargs) + user_gitconfig_target = os.path.expanduser('~/.gitconfig') + self.assertIn('-v %s:%s' % (user_gitconfig, user_gitconfig_target), user_args) + # Test with overridden user mock_cliargs['user_override_name'] = 'testusername' user_args = p.get_docker_args(mock_cliargs)