Esempio n. 1
0
def test_run_commands_called(tmpdir, use_option):
    from devpi_server.init import init
    from devpi_server.main import _main, get_pluginmanager
    l = []

    class Plugin:
        @hookimpl
        def devpiserver_cmdline_run(self, xom):
            l.append(xom)
            return 1

    pm = get_pluginmanager()
    pm.register(Plugin())
    if use_option:
        result = _main(
            argv=["devpi-server", "--init", "--serverdir",
                  str(tmpdir)],
            pluginmanager=pm)
    else:
        result = init(argv=["devpi-init", "--serverdir",
                            str(tmpdir)],
                      pluginmanager=pm)
    result = _main(argv=["devpi-server", "--serverdir",
                         str(tmpdir)],
                   pluginmanager=pm)
    assert result == 1
    assert len(l) == 1
    assert isinstance(l[0], XOM)
Esempio n. 2
0
def test_main_starts_server_if_run_commands_returns_none(monkeypatch, tmpdir):
    from devpi_server.main import _main
    l = []
    class Plugin:
        def devpiserver_run_commands(self, xom):
            l.append(xom)
    monkeypatch.setattr(devpi_server.extpypi.PyPIMirror, "init_pypi_mirror",
                        lambda self, proxy: None)
    # catch if _main doesn't return after run_commands
    monkeypatch.setattr(devpi_server.main, "wsgi_run", lambda *args: 0 / 0)
    with pytest.raises(ZeroDivisionError):
        _main(
            argv=["devpi-server", "--serverdir", str(tmpdir)],
            hook=PluginManager([(Plugin(), None)]))
    assert len(l) == 1
    assert isinstance(l[0], XOM)
Esempio n. 3
0
def test_main_starts_server_if_run_commands_returns_none(monkeypatch, tmpdir):
    from devpi_server.main import _main, get_pluginmanager
    l = []
    class Plugin:
        def devpiserver_cmdline_run(self, xom):
            l.append(xom)
    monkeypatch.setattr(devpi_server.extpypi.PyPIMirror, "init_pypi_mirror",
                        lambda self, proxy: None)
    pm = get_pluginmanager()
    pm.register(Plugin())
    with pytest.raises(ZeroDivisionError):
        _main(
            argv=["devpi-server", "--serverdir", str(tmpdir)],
            pluginmanager=pm)
    assert len(l) == 1
    assert isinstance(l[0], XOM)
Esempio n. 4
0
def test_main_starts_server_if_run_commands_returns_none(tmpdir):
    from devpi_server.main import _main, get_pluginmanager
    l = []
    class Plugin:
        def devpiserver_cmdline_run(self, xom):
            l.append(xom)
    pm = get_pluginmanager()
    pm.register(Plugin())
    _main(
        argv=["devpi-server", "--init", "--serverdir", str(tmpdir)],
        pluginmanager=pm)
    with pytest.raises(ZeroDivisionError):
        _main(
            argv=["devpi-server", "--serverdir", str(tmpdir)],
            pluginmanager=pm)
    assert len(l) == 1
    assert isinstance(l[0], XOM)
Esempio n. 5
0
def test_main_starts_server_if_run_commands_returns_none(monkeypatch, tmpdir):
    from devpi_server.main import _main
    l = []

    class Plugin:
        def devpiserver_run_commands(self, xom):
            l.append(xom)

    monkeypatch.setattr(devpi_server.extpypi.PyPIMirror, "init_pypi_mirror",
                        lambda self, proxy: None)
    # catch if _main doesn't return after run_commands
    monkeypatch.setattr(devpi_server.main, "wsgi_run", lambda *args: 0 / 0)
    with pytest.raises(ZeroDivisionError):
        _main(argv=["devpi-server", "--serverdir",
                    str(tmpdir)],
              hook=PluginManager([(Plugin(), None)]))
    assert len(l) == 1
    assert isinstance(l[0], XOM)
Esempio n. 6
0
def test_fatal_if_no_storage_and_no_sqlite_file(tmpdir):
    from devpi_server.init import init
    from devpi_server.main import _main, get_pluginmanager

    class Plugin:
        @hookimpl
        def devpiserver_cmdline_run(self, xom):
            return 1

    pm = get_pluginmanager()
    pm.register(Plugin())
    init(argv=["devpi-init", "--serverdir", str(tmpdir)], pluginmanager=pm)
    _main(argv=["devpi-server", "--serverdir", str(tmpdir)], pluginmanager=pm)
    tmpdir.join('.sqlite').remove()
    with pytest.raises(Fatal) as excinfo:
        _main(argv=["devpi-server", "--serverdir",
                    str(tmpdir)],
              pluginmanager=pm)
    assert "you first need to run devpi-init or devpi-import" in str(
        excinfo.value)
Esempio n. 7
0
def test_run_commands_called(monkeypatch, tmpdir):
    from devpi_server.main import _main
    l = []
    class Plugin:
        def devpiserver_run_commands(self, xom):
            l.append(xom)
            return 1
    monkeypatch.setattr(devpi_server.extpypi.PyPIMirror, "init_pypi_mirror",
                        lambda self, proxy: None)
    # catch if _main doesn't return after run_commands
    monkeypatch.setattr(devpi_server.main, "wsgi_run", lambda *args: 0 / 0)
    result = _main(
        argv=["devpi-server", "--serverdir", str(tmpdir)],
        hook=PluginManager([(Plugin(), None)]))
    assert result == 1
    assert len(l) == 1
    assert isinstance(l[0], XOM)
Esempio n. 8
0
def test_run_commands_called(monkeypatch, tmpdir):
    from devpi_server.main import _main, get_pluginmanager
    l = []
    class Plugin:
        def devpiserver_cmdline_run(self, xom):
            l.append(xom)
            return 1
    monkeypatch.setattr(devpi_server.extpypi.PyPIMirror, "init_pypi_mirror",
                        lambda self, proxy: None)
    pm = get_pluginmanager()
    pm.register(Plugin())
    result = _main(
        argv=["devpi-server", "--serverdir", str(tmpdir)],
        pluginmanager=pm)
    assert result == 1
    assert len(l) == 1
    assert isinstance(l[0], XOM)
Esempio n. 9
0
def test_run_commands_called(monkeypatch, tmpdir):
    from devpi_server.main import _main
    l = []

    class Plugin:
        def devpiserver_run_commands(self, xom):
            l.append(xom)
            return 1

    monkeypatch.setattr(devpi_server.extpypi.PyPIMirror, "init_pypi_mirror",
                        lambda self, proxy: None)
    # catch if _main doesn't return after run_commands
    monkeypatch.setattr(devpi_server.main, "wsgi_run", lambda *args: 0 / 0)
    result = _main(argv=["devpi-server", "--serverdir",
                         str(tmpdir)],
                   hook=PluginManager([(Plugin(), None)]))
    assert result == 1
    assert len(l) == 1
    assert isinstance(l[0], XOM)