Complete backend MVP

This commit is contained in:
gabdevele
2026-06-05 11:56:28 +02:00 Unverified
parent 25c280f38b
commit 5974f01daa
25 changed files with 3468 additions and 1137 deletions
+21
View File
@@ -34,6 +34,27 @@ class GenerateOpenApiTest(unittest.TestCase):
self.assertEqual(operation["operationId"], "SampleController.detail")
self.assertEqual(operation["parameters"][0]["name"], "id")
def test_names_secondary_path_parameters_from_previous_segment(self) -> None:
with tempfile.TemporaryDirectory() as tmp:
controllers = Path(tmp)
(controllers / "SampleController.h").write_text(
"""
class SampleController {
METHOD_LIST_BEGIN
ADD_METHOD_TO(SampleController::flagMessage,
"/api/v1/reports/{1}/messages/{2}/flags",
drogon::Post);
METHOD_LIST_END
};
""",
encoding="utf-8",
)
routes = generate_openapi.parse_routes(controllers)
operation = routes[
("/api/v1/reports/{id}/messages/{message_id}/flags", "post")
]
self.assertEqual(operation["parameters"][1]["name"], "message_id")
def test_manual_operation_overrides_generated_defaults(self) -> None:
generated = {
("/api/v1/samples", "get"): {