2443909362
---ci--- project: nova-platform milestone: v1.0 status: complete requirements: covered: [REQ-01,REQ-02,REQ-03,REQ-04,REQ-05,REQ-06,REQ-07,REQ-08,REQ-09,REQ-10,REQ-11,REQ-12,REQ-13,REQ-14,REQ-15,REQ-16,REQ-17,REQ-18,REQ-19,REQ-20,REQ-21,REQ-22,REQ-23,REQ-24,REQ-25,REQ-26,REQ-27,REQ-28,REQ-29,REQ-30,REQ-31,REQ-32,REQ-33,REQ-34,REQ-35,REQ-36,REQ-37,REQ-38] partial: [] ---/ci--- v1.0 milestone complete: simplified infrastructure-delivery platform derived from Nova (acdl). 6 phases (P0-P5 + P6 final). 38 REQ-IDs. 38 decisions (D-001..D-038). 76 tests pass. Engine boundary holds. Happy paths green (check-only + CI). 13 L1 + 2 L2 modules. 5 terraform roots. Shell reproducibility. Zero OOS files. Tags: v0.1.0 (P0) → v0.1.1..v0.1.5 (P1..P5) → v0.1.6 (P6 = milestone release on v0.1 patch line).
61 lines
1.6 KiB
Python
61 lines
1.6 KiB
Python
"""Pytest fixtures for nova-platform tests."""
|
|
|
|
import json
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
ROOT = Path(__file__).resolve().parent.parent
|
|
sys.path.insert(0, str(ROOT))
|
|
|
|
|
|
@pytest.fixture
|
|
def repo_root():
|
|
return ROOT
|
|
|
|
|
|
@pytest.fixture
|
|
def registry():
|
|
"""Minimal registry fixture for resolver/adapter tests (P3 lands the real one)."""
|
|
return {
|
|
"static-assets": {
|
|
"1.0.0": {
|
|
"interface": "modules/l2/static-assets/interface.json",
|
|
"terraform_dir": "modules/l2/static-assets/terraform",
|
|
"published_at": "2026-08-20T00:00:00Z",
|
|
"deprecated": False,
|
|
"kind": "l2",
|
|
}
|
|
},
|
|
"microservice": {
|
|
"1.0.0": {
|
|
"interface": "modules/l2/microservice/interface.json",
|
|
"terraform_dir": "modules/l2/microservice/terraform",
|
|
"published_at": "2026-08-20T00:00:00Z",
|
|
"deprecated": False,
|
|
"kind": "l2",
|
|
}
|
|
},
|
|
"s3": {
|
|
"1.0.0": {
|
|
"interface": "modules/l1/s3/interface.json",
|
|
"terraform_dir": "modules/l1/s3/terraform",
|
|
"published_at": "2026-08-20T00:00:00Z",
|
|
"deprecated": False,
|
|
"kind": "l1",
|
|
}
|
|
},
|
|
}
|
|
|
|
|
|
@pytest.fixture
|
|
def contract_schema():
|
|
with open(ROOT / "schemas" / "contract.schema.json") as fh:
|
|
return json.load(fh)
|
|
|
|
|
|
@pytest.fixture
|
|
def stack_schema():
|
|
with open(ROOT / "schemas" / "stack.schema.json") as fh:
|
|
return json.load(fh) |