37 lines
943 B
Python
37 lines
943 B
Python
import subprocess
|
|
import yaml
|
|
|
|
|
|
def test_init_creates_site(tmp_path):
|
|
site_dir = tmp_path / "newsite"
|
|
result = subprocess.run(
|
|
["ossg", "--site", str(site_dir), "init"],
|
|
input="My Site\nhttps://example.com\n\n\n",
|
|
capture_output=True,
|
|
text=True,
|
|
)
|
|
assert result.returncode == 0, result.stderr
|
|
|
|
config = yaml.safe_load((site_dir / "config.yml").read_text())
|
|
assert config == {
|
|
"name": "My Site",
|
|
"base_url": "https://example.com/",
|
|
"template": "plain",
|
|
"items_per_page": 20,
|
|
}
|
|
assert (site_dir / "content").is_dir()
|
|
|
|
|
|
def test_init_refuses_non_empty_dir(tmp_path):
|
|
(tmp_path / "some_file").touch()
|
|
|
|
result = subprocess.run(
|
|
["ossg", "--site", str(tmp_path), "init"],
|
|
input="My Site\n\n\n\n",
|
|
capture_output=True,
|
|
text=True,
|
|
)
|
|
|
|
assert result.returncode == 1
|
|
assert "is not empty" in result.stdout
|