def test_active_venv_setcfg(self, mock_http_api, cmd_devpi, tmpdir, monkeypatch): from devpi.use import vbin monkeypatch.setenv("HOME", tmpdir.join('home').strpath) monkeypatch.setattr(PipCfg, "pip_conf_name", "pip.cfg") monkeypatch.setattr(DistutilsCfg, "default_location", tmpdir.join("dist.cfg")) monkeypatch.setattr(BuildoutCfg, "default_location", tmpdir.join("buildout.cfg")) mock_http_api.set("http://world/simple/+api", 200, result=dict( pypisubmit="", simpleindex="/simple", index="/", bases="", login="******", authstatus=["noauth", ""], )) venvdir = tmpdir venvdir.ensure(vbin, dir=1) monkeypatch.chdir(tmpdir) monkeypatch.setenv("VIRTUAL_ENV", venvdir.strpath) index = "http://world/simple" cmd_devpi("use", "--set-cfg", index) assert PipCfg(venv=venvdir).path.exists() assert not PipCfg().path.exists() assert not DistutilsCfg.default_location.exists() assert not BuildoutCfg.default_location.exists()
def test_main_setcfg(self, scheme, basic_auth, mock_http_api, cmd_devpi, tmpdir, monkeypatch): monkeypatch.delenv("VIRTUAL_ENV", raising=False) monkeypatch.setenv("HOME", tmpdir.join('home')) monkeypatch.setattr(PipCfg, "pip_conf_name", "pip.cfg") monkeypatch.setattr(DistutilsCfg, "default_location", tmpdir.join("dist.cfg")) monkeypatch.setattr(BuildoutCfg, "default_location", tmpdir.join("buildout.cfg")) mock_http_api.set("%s://world/+api" % scheme, 200, result=dict( pypisubmit="", simpleindex="/simple", index="/", bases="", login="******", authstatus=["noauth", ""], )) cmd_devpi("use", "--set-cfg", "%s://%sworld" % (scheme, basic_auth)) # run twice to find any issues where lines are added more than once cmd_devpi("use", "--set-cfg", "%s://%sworld" % (scheme, basic_auth)) assert PipCfg().default_location.exists() content = PipCfg().default_location.read() assert len( re.findall(r"index_url\s*=\s*%s://%sworld/simple" % ( scheme, basic_auth), content)) == 1 result = re.findall( r"\[search\].*index\s*=\s*%s://%sworld/" % ( scheme, basic_auth), content, flags=re.DOTALL) assert len(result) == 1 result = result[0].splitlines() assert len(result) == 2 assert DistutilsCfg.default_location.exists() content = DistutilsCfg.default_location.read() assert len( re.findall(r"index_url\s*=\s*%s://%sworld/simple" % ( scheme, basic_auth), content)) == 1 assert BuildoutCfg.default_location.exists() content = BuildoutCfg.default_location.read() assert len( re.findall(r"index\s*=\s*%s://%sworld/simple" % ( scheme, basic_auth), content)) == 1 hub = cmd_devpi("use", "--always-set-cfg=yes") assert hub.current.always_setcfg hub = cmd_devpi("use", "--always-set-cfg=no") assert not hub.current.always_setcfg # Now set the trusted-host cmd_devpi( "use", "--set-cfg", "--pip-set-trusted=yes", "%s://%sworld" % ( scheme, basic_auth)) content = PipCfg().default_location.read() assert len( re.findall(r"trusted-host\s*=\s*world", content)) == 1 hub = cmd_devpi("use", "--always-set-cfg=yes", "--pip-set-trusted=yes") assert hub.current.settrusted hub = cmd_devpi("use", "--always-set-cfg=no", "--pip-set-trusted=no") assert not hub.current.settrusted
def test_venv_setcfg(self, mock_http_api, cmd_devpi, tmpdir, monkeypatch): from devpi.use import vbin monkeypatch.setenv("HOME", tmpdir.join('home').strpath) monkeypatch.setattr(PipCfg, "pip_conf_name", "pip.cfg") monkeypatch.setattr(DistutilsCfg, "default_location", tmpdir.join("dist.cfg")) monkeypatch.setattr(BuildoutCfg, "default_location", tmpdir.join("buildout.cfg")) mock_http_api.set("http://world/simple/+api", 200, result=dict( pypisubmit="", simpleindex="/simple", index="/", bases="", login="******", authstatus=["noauth", ""], )) venvdir = tmpdir venvdir.ensure(vbin, dir=1) monkeypatch.chdir(tmpdir) index = "http://world/simple" cmd_devpi("use", "--venv=%s" % venvdir, "--set-cfg", index) assert not PipCfg().path.exists() assert not DistutilsCfg.default_location.exists() assert not BuildoutCfg.default_location.exists() venv_pip_config = venvdir.join("pip.cfg") assert venv_pip_config.exists() content = venv_pip_config.read() assert len(re.findall(r"index_url\s*=\s*%s" % index, content)) == 1 result = re.findall(r"\[search\].*index\s*=\s*%s" % index.replace('simple', ''), content, flags=re.DOTALL) assert len(result) == 1 result = result[0].splitlines() assert len(result) == 2
def test_pipcfg_default_location(tmpdir, monkeypatch): path = PipCfg().path monkeypatch.setenv('PIP_CONFIG_FILE', tmpdir.join("cfg")) assert path != PipCfg().path