@@ -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+
212302def test_get_pypi_token_with_unavailable_backend (
213303 config : Config , with_fail_keyring : None
214304) -> None :
0 commit comments