From a40df24c915e082f86e5cf5a24f640aa715e5c6a Mon Sep 17 00:00:00 2001 From: Allen Li Date: Mon, 12 Aug 2024 19:39:00 +0000 Subject: [PATCH] [git_auth] Add apply_global tests Bug: b/351024645 Change-Id: I54e55545c27275165b3435707e2b47095c8fcac9 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5739434 Reviewed-by: Yiwei Zhang Commit-Queue: Allen Li --- tests/git_auth_test.py | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/tests/git_auth_test.py b/tests/git_auth_test.py index 36ddcc018..41a5ec4f8 100755 --- a/tests/git_auth_test.py +++ b/tests/git_auth_test.py @@ -9,6 +9,7 @@ import logging import os import sys import unittest +from typing import Iterable sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) @@ -20,7 +21,12 @@ import scm_mock class TestConfigChanger(unittest.TestCase): def setUp(self): - scm_mock.GIT(self) + self._global_state_view: Iterable[tuple[str, + list[str]]] = scm_mock.GIT(self) + + @property + def global_state(self): + return dict(self._global_state_view) def test_apply_new_auth(self): git_auth.ConfigChanger( @@ -137,6 +143,31 @@ class TestConfigChanger(unittest.TestCase): } self.assertEqual(scm.GIT._dump_config_state(), want) + def test_apply_global_new_auth(self): + git_auth.ConfigChanger( + mode=git_auth.ConfigMode.NEW_AUTH, + remote_url= + 'https://chromium.googlesource.com/chromium/tools/depot_tools.git', + ).apply_global('/some/fake/dir') + want = { + 'credential.https://chromium.googlesource.com/.helper': + ['', 'luci'], + } + self.assertEqual(self.global_state, want) + + def test_apply_global_new_auth_sso(self): + git_auth.ConfigChanger( + mode=git_auth.ConfigMode.NEW_AUTH_SSO, + remote_url= + 'https://chromium.googlesource.com/chromium/tools/depot_tools.git', + ).apply_global('/some/fake/dir') + want = { + 'protocol.sso.allow': ['always'], + 'url.sso://chromium/.insteadof': + ['https://chromium.googlesource.com/'], + } + self.assertEqual(self.global_state, want) + if __name__ == '__main__': logging.basicConfig(