diff options
author | Athos Ribeiro <athos@redhat.com> | 2020-10-23 12:00:17 +0200 |
---|---|---|
committer | Sebastian Thiel <sebastian.thiel@icloud.com> | 2020-10-23 19:28:07 +0800 |
commit | 08989071e8c47bb75f3a5f171d821b805380baef (patch) | |
tree | f57ebf19469f199389bf9d7cfe2a39de8d267e99 | |
parent | e30a597b028290c7f703e68c4698499b3362a38f (diff) | |
download | gitpython-08989071e8c47bb75f3a5f171d821b805380baef.tar.gz |
Fix default actor name handling
In c96476b, the new default_name nested function does not contain a
retun statement. This leads to an issue when the environment variables
are not present, where the actor name would not be set.
Signed-off-by: Athos Ribeiro <athos@redhat.com>
-rw-r--r-- | git/util.py | 2 | ||||
-rw-r--r-- | test/test_util.py | 18 |
2 files changed, 15 insertions, 5 deletions
diff --git a/git/util.py b/git/util.py index 44eb0e51..04c96789 100644 --- a/git/util.py +++ b/git/util.py @@ -591,7 +591,7 @@ class Actor(object): return user_id def default_name(): - default_email().split('@')[0] + return default_email().split('@')[0] for attr, evar, cvar, default in (('name', env_name, cls.conf_name, default_name), ('email', env_email, cls.conf_email, default_email)): diff --git a/test/test_util.py b/test/test_util.py index 2f946891..5eba6c50 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -226,15 +226,25 @@ class TestUtils(TestBase): } os.environ.update(env) for cr in (None, self.rorepo.config_reader()): - Actor.committer(cr) - Actor.author(cr) + committer = Actor.committer(cr) + author = Actor.author(cr) + self.assertEqual(committer.name, 'Jane Doe') + self.assertEqual(committer.email, 'jane@example.com') + self.assertEqual(author.name, 'John Doe') + self.assertEqual(author.email, 'jdoe@example.com') self.assertFalse(mock_get_uid.called) @mock.patch("getpass.getuser") def test_actor_get_uid_laziness_called(self, mock_get_uid): + mock_get_uid.return_value = "user" for cr in (None, self.rorepo.config_reader()): - Actor.committer(cr) - Actor.author(cr) + committer = Actor.committer(cr) + author = Actor.author(cr) + if cr is None: # otherwise, use value from config_reader + self.assertEqual(committer.name, 'user') + self.assertTrue(committer.email.startswith('user@')) + self.assertEqual(author.name, 'user') + self.assertTrue(committer.email.startswith('user@')) self.assertTrue(mock_get_uid.called) self.assertEqual(mock_get_uid.call_count, 4) |