Exemplo n.º 1
0
def test_doit_coverage(cookies):
    result = cookies.bake()
    with inside_dir(result.project):
        with poetryenv_in_project():
            importlib.reload(dodo)
            dodo.webbrowser = mock.MagicMock()
            assert DoitMain(ModuleTaskLoader(dodo)).run(["coverage"]) == 0
    importlib.reload(dodo)
Exemplo n.º 2
0
def test_entrypoints(cookies, capfd):
    result = cookies.bake()
    with inside_dir(result.project):
        with poetryenv_in_project():
            assert subprocess.run(["doit", "install"]).returncode == 0
            emoji_cmd = ["poetry", "run", "emoji", "-e", "snek", "-c", "3"]
            assert subprocess.run(emoji_cmd).returncode == 0
        captured = capfd.readouterr()
        assert "\n🐍🐍🐍\n" in captured.out
Exemplo n.º 3
0
def test_doit_style_with_fails(cookies, capfd, pkg_name, expected_error):
    result = cookies.bake(extra_context={"project_name": "mypackage"})
    project = result.project
    with inside_dir(project):
        with project.join(pkg_name, "dummy.py").open("w") as fo:
            fo.write(bad_style_code()[expected_error])
        with poetryenv_in_project():
            assert subprocess.run(["doit", "style"]).returncode != 0
        captured = capfd.readouterr()
        assert expected_error in captured.out
Exemplo n.º 4
0
def test_doit_docs(cookies, docs_generator):
    extra_context = {"docs_generator": docs_generator}
    result = cookies.bake(extra_context=extra_context)
    project = result.project
    with inside_dir(project):
        with poetryenv_in_project():
            importlib.reload(dodo)
            dodo.webbrowser = mock.MagicMock()
            project.mkdir("docs", "htmlcov")
            with project.join("docs", "htmlcov", "index.html").open("w") as fo:
                fo.write("")
            assert DoitMain(ModuleTaskLoader(dodo)).run(["docs"]) == 0
            assert project.join("site", "htmlcov").check(dir=1)
    importlib.reload(dodo)
Exemplo n.º 5
0
def test_bumpversion(cookies):
    result = cookies.bake()
    with inside_dir(result.project):
        with poetryenv_in_project():
            subprocess.run(["poetry", "install"])
            bump = subprocess.run(
                ["poetry", "run", "bump2version", "patch", "-n", "--verbose"],
                stderr=subprocess.PIPE,
                universal_newlines=True,
            ).stderr
            assert '+version = "0.1.1"' in bump
            assert '+__version__ = "0.1.1"' in bump
            now = datetime.utcnow().strftime("%Y-%m-%d")
            assert (
                "+## [v0.1.1]({repo}/compare/0.1.0...0.1.1) ({now})".format(
                    repo="https://github.com/your_email/your_project_name",
                    now=now,
                ) in bump)
Exemplo n.º 6
0
def test_doit_command_run_in_project(cookies, command):
    result = cookies.bake()
    with inside_dir(result.project):
        with poetryenv_in_project():
            assert subprocess.run(["doit", command]).returncode == 0