diff --git a/pygeoweaver/api_call/pgw_process_api_caller.py b/pygeoweaver/api_call/pgw_process_api_caller.py index 480ad77..e81daf1 100644 --- a/pygeoweaver/api_call/pgw_process_api_caller.py +++ b/pygeoweaver/api_call/pgw_process_api_caller.py @@ -11,8 +11,8 @@ def edit_process(self, process_data): def add_process(self, process_data): return self._call_api('/add/process', method='POST', data=process_data) - def get_process(self, process_id): - return self._call_api(f'/get/process/{process_id}', method='GET') + def get_process(self, process_data): + return self._call_api(f'/detail', method='POST', data=process_data) def delete_process(self, process_id): return self._call_api(f'/delete/process/{process_id}', method='DELETE') diff --git a/test/test_api_caller.py b/test/test_api_caller.py index ddf01b1..4826237 100644 --- a/test/test_api_caller.py +++ b/test/test_api_caller.py @@ -1,28 +1,18 @@ +from pygeoweaver.constants import GEOWEAVER_PORT from pygeoweaver.server import start, stop import pytest from pygeoweaver.api_call.pgw_base_api_caller import BaseAPI from pygeoweaver.api_call.pgw_process_api_caller import GeoweaverProcessAPI # Adjust the import path as needed # Define the base URL for the API -BASE_URL = "http://localhost:8070" # Update with your actual base URL +BASE_URL = f"http://localhost:{GEOWEAVER_PORT}" # Update with your actual base URL @pytest.fixture(scope="session") def start_geoweaver(): # Start the Geoweaver server start(exit_on_finish=False) - - yield - - # Stop the Geoweaver server - stop(exit_on_finish=False) - -@pytest.fixture -def geoweaver_api(): - return GeoweaverProcessAPI(base_url=BASE_URL) - -@pytest.fixture -def create_process(geoweaver_api): - + # create api object + geoweaver_api = GeoweaverProcessAPI(base_url=BASE_URL) # Example process data process_data = { "name": "Test Process", @@ -30,39 +20,49 @@ def create_process(geoweaver_api): "parameters": {"param1": "value1"} } response = geoweaver_api.add_process(process_data) - print(response) - assert response.status_code == 201, "Failed to create process" - process_id = response.json().get("id") - yield process_id, process_data + print("add process response: ", response) + assert response["name"] == "Test Process" + process_id = response["id"] + + yield process_id, process_data, geoweaver_api + + # Stop the Geoweaver server + stop(exit_on_finish=False) # Cleanup: Ensure process is deleted after test geoweaver_api.delete_process(process_id) # Verify the process is deleted response = geoweaver_api.get_process(process_id) - assert response.status_code == 404, "Process should be deleted" + print("delete process response: ", response) + assert response is None + -def test_edit_process(geoweaver_api, create_process): - process_id, process_data = create_process +def test_edit_process(start_geoweaver): + process_id, process_data, geoweaver_api = start_geoweaver updated_data = { "name": "Updated Test Process", "description": "An updated test process", "parameters": {"param1": "new_value"} } response = geoweaver_api.edit_process({**updated_data, "id": process_id}) - assert response.status_code == 200, "Failed to edit process" - assert response.json().get("id") == process_id + print("edit process response: ", response) + assert response["id"] == process_id -def test_get_process(geoweaver_api, create_process): - process_id, _ = create_process - response = geoweaver_api.get_process(process_id) - assert response.status_code == 200, "Failed to get process" - process = response.json() - assert process.get("id") == process_id +def test_get_process(start_geoweaver): + process_id, _, geoweaver_api = start_geoweaver + updated_data = { + "type": 'process', + "id": process_id + } + response = geoweaver_api.get_process(updated_data) + print("get process response: ", response) + assert response["id"] == process_id + -def test_delete_process(geoweaver_api, create_process): - process_id, _ = create_process +def test_delete_process(start_geoweaver): + process_id, _, geoweaver_api = start_geoweaver response = geoweaver_api.delete_process(process_id) - assert response.status_code == 200, "Failed to delete process" + assert response["id"] == process_id # Verify the process is deleted response = geoweaver_api.get_process(process_id) - assert response.status_code == 404, "Process should be deleted" + assert response["id"] == process_id