-
Notifications
You must be signed in to change notification settings - Fork 39
Expand file tree
/
Copy pathtest_static_files.py
More file actions
73 lines (61 loc) · 2.46 KB
/
test_static_files.py
File metadata and controls
73 lines (61 loc) · 2.46 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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
"""Test static file generation and inclusion."""
import tempfile
from pathlib import Path
from openapi_python_generator.common import Formatter
from openapi_python_generator.generate_data import write_data
from openapi_python_generator.models import ConversionResult, APIConfig, StaticFile
def test_static_files_are_written():
"""Test that static files are written to the output directory."""
# Create a minimal ConversionResult with static files
result = ConversionResult(
models=[],
services=[],
api_config=APIConfig(
file_name="api_config",
base_url="https://api.example.com",
content="class APIConfig:\n pass\n",
),
static_files=[
StaticFile(
file_name="errors",
content='"""Error types."""\nclass APIError(Exception):\n pass\n',
),
StaticFile(
file_name="response",
content='"""Response wrapper."""\nclass DetailedResponse:\n pass\n',
),
],
)
# Write to temp directory
with tempfile.TemporaryDirectory() as tmpdir:
output_path = Path(tmpdir) / "generated"
write_data(result, output_path, Formatter.NONE)
# Verify static files were created
assert (output_path / "errors.py").exists()
assert (output_path / "response.py").exists()
# Verify content
errors_content = (output_path / "errors.py").read_text()
assert "class APIError" in errors_content
response_content = (output_path / "response.py").read_text()
assert "class DetailedResponse" in response_content
def test_empty_static_files():
"""Test that empty static files list doesn't cause issues."""
result = ConversionResult(
models=[],
services=[],
api_config=APIConfig(
file_name="api_config",
base_url="https://api.example.com",
content="class APIConfig:\n pass\n",
),
static_files=[], # Empty list
)
# Write to temp directory
with tempfile.TemporaryDirectory() as tmpdir:
output_path = Path(tmpdir) / "generated"
write_data(result, output_path, Formatter.NONE)
# Verify basic structure still created
assert (output_path / "api_config.py").exists()
assert (output_path / "__init__.py").exists()
assert (output_path / "models").is_dir()
assert (output_path / "services").is_dir()