@@ -79,7 +79,8 @@ def test_non_existent_package(register_settings):
7979 register .register (register_settings , package )
8080
8181
82- def test_values_from_env (monkeypatch ):
82+ @pytest .mark .parametrize ("repo" , ["pypi" , "testpypi" ])
83+ def test_values_from_env_pypi (monkeypatch , repo ):
8384 """Use env vars for settings when run from command line."""
8485
8586 def none_register (* args , ** settings_kwargs ):
@@ -88,13 +89,49 @@ def none_register(*args, **settings_kwargs):
8889 replaced_register = pretend .call_recorder (none_register )
8990 monkeypatch .setattr (register , "register" , replaced_register )
9091 testenv = {
91- "TWINE_USERNAME" : "pypiuser" ,
92+ "TWINE_REPOSITORY" : repo ,
93+ # Ignored because the TWINE_REPOSITORY is PyPI/TestPyPI
94+ "TWINE_USERNAME" : "this-is-ignored" ,
9295 "TWINE_PASSWORD" : "pypipassword" ,
9396 "TWINE_CERT" : "/foo/bar.crt" ,
9497 }
9598 with helpers .set_env (** testenv ):
9699 cli .dispatch (["register" , helpers .WHEEL_FIXTURE ])
97100 register_settings = replaced_register .calls [0 ].args [0 ]
98101 assert "pypipassword" == register_settings .password
99- assert "pypiuser" == register_settings .username
102+ assert "__token__" == register_settings .username
103+ assert "/foo/bar.crt" == register_settings .cacert
104+
105+
106+ def test_values_from_env_not_pypi (monkeypatch , write_config_file ):
107+ """Use env vars for settings when run from command line."""
108+ write_config_file (
109+ """
110+ [distutils]
111+ index-servers =
112+ notpypi
113+
114+ [notpypi]
115+ repository: https://upload.example.org/legacy/
116+ username:someusername
117+ password:password
118+ """
119+ )
120+
121+ def none_register (* args , ** settings_kwargs ):
122+ pass
123+
124+ replaced_register = pretend .call_recorder (none_register )
125+ monkeypatch .setattr (register , "register" , replaced_register )
126+ testenv = {
127+ "TWINE_REPOSITORY" : "notpypi" ,
128+ "TWINE_USERNAME" : "someusername" ,
129+ "TWINE_PASSWORD" : "pypipassword" ,
130+ "TWINE_CERT" : "/foo/bar.crt" ,
131+ }
132+ with helpers .set_env (** testenv ):
133+ cli .dispatch (["register" , helpers .WHEEL_FIXTURE ])
134+ register_settings = replaced_register .calls [0 ].args [0 ]
135+ assert "pypipassword" == register_settings .password
136+ assert "someusername" == register_settings .username
100137 assert "/foo/bar.crt" == register_settings .cacert
0 commit comments