forked from openapi-generators/openapi-python-client
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_cli.py
More file actions
43 lines (27 loc) · 1.29 KB
/
test_cli.py
File metadata and controls
43 lines (27 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
from typer.testing import CliRunner
from openapi_python_client.cli import app
runner = CliRunner()
def test_version() -> None:
result = runner.invoke(app, ["--version", "generate"])
assert result.exit_code == 0
assert "openapi-python-client version: " in result.stdout
def test_bad_config() -> None:
config_path = "config/path"
path = "cool/path"
result = runner.invoke(app, ["generate", f"--config={config_path}", f"--path={path}"])
assert result.exit_code == 2
assert "Unable to parse config" in result.stdout
class TestGenerate:
def test_generate_no_params(self) -> None:
result = runner.invoke(app, ["generate"])
assert result.exit_code == 1, result.output
def test_generate_url_and_path(self) -> None:
result = runner.invoke(app, ["generate", "--path=blah", "--url=otherblah"])
assert result.exit_code == 1
assert result.output == "Provide either --url or --path, not both\n"
def test_generate_encoding_errors(self) -> None:
path = "cool/path"
file_encoding = "error-file-encoding"
result = runner.invoke(app, ["generate", f"--path={path}", f"--file-encoding={file_encoding}"])
assert result.exit_code == 1
assert result.output == f"Unknown encoding : {file_encoding}\n"