|
@@ -9,6 +9,7 @@ import logging
|
|
import os
|
|
import os
|
|
import sys
|
|
import sys
|
|
import unittest
|
|
import unittest
|
|
|
|
+from typing import Iterable
|
|
|
|
|
|
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
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):
|
|
class TestConfigChanger(unittest.TestCase):
|
|
|
|
|
|
def setUp(self):
|
|
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):
|
|
def test_apply_new_auth(self):
|
|
git_auth.ConfigChanger(
|
|
git_auth.ConfigChanger(
|
|
@@ -137,6 +143,31 @@ class TestConfigChanger(unittest.TestCase):
|
|
}
|
|
}
|
|
self.assertEqual(scm.GIT._dump_config_state(), want)
|
|
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__':
|
|
if __name__ == '__main__':
|
|
logging.basicConfig(
|
|
logging.basicConfig(
|