From 91aa53db5456eb42c0b75f9e29fee4817caae52a Mon Sep 17 00:00:00 2001 From: Stefan Scherzinger Date: Fri, 19 Jul 2024 10:16:37 +0200 Subject: [PATCH] Add additional tests for the webserver's startup --- schunk_egu_egk_gripper_dummy/README.md | 2 +- .../schunk_egu_egk_gripper_dummy/main.py | 1 - schunk_egu_egk_gripper_dummy/src/dummy.py | 2 ++ .../tests/test_webserver.py | 17 +++++++++++++++++ 4 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 schunk_egu_egk_gripper_dummy/tests/test_webserver.py diff --git a/schunk_egu_egk_gripper_dummy/README.md b/schunk_egu_egk_gripper_dummy/README.md index f799ea8..d77e51f 100644 --- a/schunk_egu_egk_gripper_dummy/README.md +++ b/schunk_egu_egk_gripper_dummy/README.md @@ -16,7 +16,7 @@ pip install fastapi uvicorn ## Run tests locally ```bash -pip install pytest coverage +pip install pytest httpx coverage ``` ```bash diff --git a/schunk_egu_egk_gripper_dummy/schunk_egu_egk_gripper_dummy/main.py b/schunk_egu_egk_gripper_dummy/schunk_egu_egk_gripper_dummy/main.py index 0692ccc..ea8f176 100644 --- a/schunk_egu_egk_gripper_dummy/schunk_egu_egk_gripper_dummy/main.py +++ b/schunk_egu_egk_gripper_dummy/schunk_egu_egk_gripper_dummy/main.py @@ -7,7 +7,6 @@ # Components dummy = Dummy() -dummy.start() server = FastAPI() client = ["http://localhost:8001"] diff --git a/schunk_egu_egk_gripper_dummy/src/dummy.py b/schunk_egu_egk_gripper_dummy/src/dummy.py index 73948ef..3536681 100644 --- a/schunk_egu_egk_gripper_dummy/src/dummy.py +++ b/schunk_egu_egk_gripper_dummy/src/dummy.py @@ -50,6 +50,8 @@ def get_info(self, query: dict[str, str]) -> dict: return {"dataformat": 0} # 0: Little endian, 1: Big endian def get_enum(self, query: dict[str, str]) -> list: + if "inst" not in query or "value" not in query: + return [] inst = query["inst"] value = int(query["value"]) if inst in self.enum: diff --git a/schunk_egu_egk_gripper_dummy/tests/test_webserver.py b/schunk_egu_egk_gripper_dummy/tests/test_webserver.py new file mode 100644 index 0000000..2c05bfe --- /dev/null +++ b/schunk_egu_egk_gripper_dummy/tests/test_webserver.py @@ -0,0 +1,17 @@ +from schunk_egu_egk_gripper_dummy.main import server +from fastapi.testclient import TestClient + + +def test_info_route_is_available(): + client = TestClient(server) + assert client.get("/adi/info.json").is_success + + +def test_enum_route_is_available(): + client = TestClient(server) + assert client.get("/adi/enum.json").is_success + + +def test_data_route_is_available(): + client = TestClient(server) + assert client.get("/adi/data.json").is_success