Pour tout problème contactez-nous par mail : support@froggit.fr | La FAQ :grey_question: | Rejoignez-nous sur le Chat :speech_balloon:

Skip to content
Snippets Groups Projects
Commit 52feab53 authored by Dorian Turba's avatar Dorian Turba
Browse files

remove output arg, > file is enough

parent 5f111d18
No related branches found
No related tags found
No related merge requests found
Pipeline #24109 passed
......@@ -148,23 +148,26 @@ def generate_changes(
return "\r\n".join(description)
def main(requirements_file: pathlib.Path, output_file: pathlib.Path) -> None:
added, updated, removed = compare_requirements(requirements_file)
if output_file == pathlib.Path():
return typer.echo(generate_changes(added, updated, removed), file=sys.stdout)
with output_file.open("w") as file:
typer.echo(generate_changes(added, updated, removed), file=file)
@app.command()
def main(
def rc(
requirements_file: typing.Annotated[
pathlib.Path, typer.Argument(help="The updated requirements file to compare")
],
output_file: typing.Annotated[
pathlib.Path, typer.Argument(help="Where to write the output")
]
| None = None,
) -> None:
"""
Compare a local requirements file to its HEAD version and generate a description of
the changes.
"""
added, updated, removed = compare_requirements(requirements_file)
with output_file.open("w") if output_file else sys.stdout as file:
typer.echo(generate_changes(added, updated, removed), file=file)
main(requirements_file, pathlib.Path())
if __name__ == "__main__":
......
import io
import pathlib
import pytest
@pytest.fixture(autouse=True)
def retrieve_requirements(monkeypatch):
def mock_retrieve_requirements(requirements_file):
return io.StringIO("example_package==1.0.0")
monkeypatch.setattr(
"requirements_compare.main.retrieve_requirements",
mock_retrieve_requirements,
)
@pytest.fixture
def requirements_file() -> pathlib.Path:
requirements_file_ = pathlib.Path("requirements.txt")
yield requirements_file_
requirements_file_.unlink()
@pytest.fixture
def output_file() -> pathlib.Path:
output_file_ = pathlib.Path("output.txt")
yield output_file_
output_file_.unlink()
import typer.testing
from requirements_compare import app
runner = typer.testing.CliRunner()
def test_app_2(requirements_file):
requirements_file.write_text(
"example_package==2.0.0\nlast_package==1.0.0",
)
result = runner.invoke(app, [requirements_file.name])
assert result.exit_code == 0
assert "added `last_package` version `1.0.0`" in result.stdout.lower()
assert "bump `example_package` from `1.0.0` to `2.0.0`" in result.stdout.lower()
"""Sample test module."""
import io
import pathlib
import pytest
from requirements_compare.main import main
@pytest.fixture(autouse=True)
def retrieve_requirements(monkeypatch):
def mock_retrieve_requirements(requirements_file):
return io.StringIO("example_package==1.0.0")
monkeypatch.setattr(
"requirements_compare.main.retrieve_requirements",
mock_retrieve_requirements,
)
@pytest.fixture
def requirements_file() -> pathlib.Path:
requirements_file_ = pathlib.Path("requirements.txt")
yield requirements_file_
requirements_file_.unlink()
@pytest.fixture
def output_file() -> pathlib.Path:
output_file_ = pathlib.Path("output.txt")
yield output_file_
output_file_.unlink()
def test_removed(requirements_file, output_file):
"""Test main function."""
requirements_file.write_text("")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment