Skip to content

Commit

Permalink
#5 despiking of webapp reload
Browse files Browse the repository at this point in the history
  • Loading branch information
filiplajszczak authored and caseneuve committed Mar 13, 2021
1 parent d5cc276 commit 54fcb23
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 1 deletion.
7 changes: 6 additions & 1 deletion cli/webapp.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,12 @@

@app.command()
def reload(
domain_name: str = typer.Option("your-username.pythonanywhere.com", help="Domain name")
domain_name: str = typer.Option(
"your-username.pythonanywhere.com",
"-d",
"--domain",
help="Domain name, eg www.mydomain.com [default: your-username.pythonanywhere.com]",
)
):
domain_name = ensure_domain(domain_name)
webapp = Webapp(domain_name)
Expand Down
19 changes: 19 additions & 0 deletions tests/test_cli_webapp.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from unittest.mock import Mock, call

from typer.testing import CliRunner

from cli.webapp import app

runner = CliRunner()


def test_reload(mocker):
mock_webapp = mocker.patch("cli.webapp.Webapp")
mocker.patch("cli.webapp.ensure_domain", Mock(side_effect=lambda x: x))
domain_name = "foo.bar.baz"

result = runner.invoke(app, ["reload", "-d", domain_name])

assert f"{domain_name} has been reloaded" in result.stdout
mock_webapp.assert_called_once_with(domain_name)
assert mock_webapp.return_value.method_calls == [call.reload()]

0 comments on commit 54fcb23

Please sign in to comment.