Skip to content

Commit 0efe6c1

Browse files
author
Louis Shawn
committed
test(password-manager): cover dotted repository read/delete flows
1 parent 98be024 commit 0efe6c1

1 file changed

Lines changed: 90 additions & 0 deletions

File tree

tests/utils/test_password_manager.py

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,55 @@ def test_set_http_password_with_dot_in_repo_name(
143143
assert auth["password"] == "qux"
144144

145145

146+
def test_get_http_auth_with_dot_in_repo_name(
147+
config: Config, with_fail_keyring: None
148+
) -> None:
149+
config.auth_config_source.add_property(
150+
"http-basic.foo\\.bar", {"username": "baz", "password": "qux"}
151+
)
152+
manager = PasswordManager(config)
153+
154+
auth = manager.get_http_auth("foo.bar")
155+
assert auth.username == "baz"
156+
assert auth.password == "qux"
157+
158+
159+
def test_delete_http_password_with_dot_in_repo_name(
160+
config: Config, with_fail_keyring: None
161+
) -> None:
162+
config.auth_config_source.add_property(
163+
"http-basic.foo\\.bar", {"username": "baz", "password": "qux"}
164+
)
165+
manager = PasswordManager(config)
166+
167+
manager.delete_http_password("foo.bar")
168+
assert config.get("http-basic.foo\\.bar") is None
169+
170+
171+
def test_get_http_auth_with_dot_in_repo_name_keyring(
172+
config: Config, with_simple_keyring: None, dummy_keyring: DummyBackend
173+
) -> None:
174+
manager = PasswordManager(config)
175+
manager.set_http_password("foo.bar", "baz", "qux")
176+
177+
auth = manager.get_http_auth("foo.bar")
178+
assert auth.username == "baz"
179+
assert auth.password == "qux"
180+
assert dummy_keyring.get_password("poetry-repository-foo.bar", "baz") == "qux"
181+
182+
183+
def test_delete_http_password_with_dot_in_repo_name_keyring(
184+
config: Config, with_simple_keyring: None, dummy_keyring: DummyBackend
185+
) -> None:
186+
manager = PasswordManager(config)
187+
manager.set_http_password("foo.bar", "baz", "qux")
188+
189+
manager.delete_http_password("foo.bar")
190+
191+
assert dummy_keyring.get_password("poetry-repository-foo.bar", "baz") is None
192+
assert config.get("http-basic.foo\\.bar") is None
193+
194+
146195
@pytest.mark.parametrize(
147196
("username", "password", "is_valid"),
148197
[
@@ -209,6 +258,47 @@ def test_set_pypi_token_with_dot_in_repo_name(
209258
assert config.get("pypi-token.foo\\.bar") == "baz"
210259

211260

261+
def test_get_pypi_token_with_dot_in_repo_name(
262+
config: Config, with_fail_keyring: None
263+
) -> None:
264+
config.auth_config_source.add_property("pypi-token.foo\\.bar", "baz")
265+
manager = PasswordManager(config)
266+
267+
assert manager.get_pypi_token("foo.bar") == "baz"
268+
269+
270+
def test_delete_pypi_token_with_dot_in_repo_name(
271+
config: Config, with_fail_keyring: None
272+
) -> None:
273+
config.auth_config_source.add_property("pypi-token.foo\\.bar", "baz")
274+
manager = PasswordManager(config)
275+
276+
manager.delete_pypi_token("foo.bar")
277+
assert config.get("pypi-token.foo\\.bar") is None
278+
279+
280+
def test_get_pypi_token_with_dot_in_repo_name_keyring(
281+
config: Config, with_simple_keyring: None, dummy_keyring: DummyBackend
282+
) -> None:
283+
manager = PasswordManager(config)
284+
manager.set_pypi_token("foo.bar", "baz")
285+
286+
assert manager.get_pypi_token("foo.bar") == "baz"
287+
assert (
288+
dummy_keyring.get_password("poetry-repository-foo.bar", "__token__") == "baz"
289+
)
290+
291+
292+
def test_delete_pypi_token_with_dot_in_repo_name_keyring(
293+
config: Config, with_simple_keyring: None, dummy_keyring: DummyBackend
294+
) -> None:
295+
manager = PasswordManager(config)
296+
manager.set_pypi_token("foo.bar", "baz")
297+
298+
manager.delete_pypi_token("foo.bar")
299+
assert dummy_keyring.get_password("poetry-repository-foo.bar", "__token__") is None
300+
301+
212302
def test_get_pypi_token_with_unavailable_backend(
213303
config: Config, with_fail_keyring: None
214304
) -> None:

0 commit comments

Comments
 (0)