diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e2e8dd..6aa664e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.1.2 + +* **Add `/check` as the plugin connection-check route**: generated plugin apps now expose `/check` alongside `/precheck` for the v3 plugin contract. + ## 0.1.1 * **A provider rate limit no longer reaches the wire as terminal.** `plugin_error_of` declared diff --git a/test/api/test_api.py b/test/api/test_api.py index 7ecb1e6..6d817e3 100644 --- a/test/api/test_api.py +++ b/test/api/test_api.py @@ -59,6 +59,15 @@ def generic_validation(self): ] +def test_check_alias_matches_precheck_noop_response(): + from test.assets.empty_input_and_response import SampleClass as TestClass + + test_class = TestClass() + client = TestClient(wrap_in_fastapi(func=test_class.do_nothing, plugin_id="mock_plugin")) + + assert client.get("/check").json() == client.get("/precheck").json() + + @pytest.mark.parametrize( "file_data", mock_file_data, ids=[type(fd).__name__ for fd in mock_file_data] ) diff --git a/unstructured_platform_plugins/__version__.py b/unstructured_platform_plugins/__version__.py index 95d99bb..a88d269 100644 --- a/unstructured_platform_plugins/__version__.py +++ b/unstructured_platform_plugins/__version__.py @@ -1 +1 @@ -__version__ = "0.1.1" # pragma: no cover +__version__ = "0.1.2" # pragma: no cover diff --git a/unstructured_platform_plugins/etl_uvicorn/api_generator.py b/unstructured_platform_plugins/etl_uvicorn/api_generator.py index ab31e3a..5aa7ef1 100644 --- a/unstructured_platform_plugins/etl_uvicorn/api_generator.py +++ b/unstructured_platform_plugins/etl_uvicorn/api_generator.py @@ -475,7 +475,6 @@ async def get_schema() -> SchemaOutputResponse: resp = SchemaOutputResponse(inputs=schema["inputs"], outputs=schema["outputs"]) return resp - @fastapi_app.get("/precheck") async def run_precheck() -> InvokePrecheckResponse: if precheck_func: fn_response = await wrap_fn(func=precheck_func) @@ -489,6 +488,9 @@ async def run_precheck() -> InvokePrecheckResponse: else: return InvokePrecheckResponse(status_code=status.HTTP_200_OK, usage=[]) + fastapi_app.get("/check")(run_precheck) + fastapi_app.get("/precheck")(run_precheck) + @fastapi_app.get("/id") async def get_id() -> str: return plugin_id