From 15bf49d158435701a2c784addbd428c33970ed65 Mon Sep 17 00:00:00 2001 From: Harry Le Date: Wed, 26 Feb 2025 13:51:01 +0700 Subject: [PATCH 1/3] test: add e2e post default engine --- .../engines/test_api_post_default_engine.py | 56 +++++++++++++++++++ .../runner/cortex-llamacpp-e2e-nightly.py | 1 + engine/e2e-test/runner/main.py | 1 + 3 files changed, 58 insertions(+) create mode 100644 engine/e2e-test/api/engines/test_api_post_default_engine.py diff --git a/engine/e2e-test/api/engines/test_api_post_default_engine.py b/engine/e2e-test/api/engines/test_api_post_default_engine.py new file mode 100644 index 000000000..961fcc285 --- /dev/null +++ b/engine/e2e-test/api/engines/test_api_post_default_engine.py @@ -0,0 +1,56 @@ +import pytest +import requests +from utils.test_runner import start_server, stop_server +from tenacity import retry, wait_exponential, stop_after_attempt +from utils.logger import log_response +from utils.assertion import assert_equal + + +class TestApiSetDefaultEngine: + + @pytest.fixture(autouse=True) + def setup_and_teardown(self): + # Setup + success = start_server() + if not success: + raise Exception("Failed to start server") + + yield + + # Teardown + stop_server() + + def test_api_set_default_engine_successfully(self): + # Data test + engine= "llama-cpp" + name= "linux-amd64-avx-cuda-11-7" + version= "v0.1.35-27.10.24" + + data = {"version": version, "variant": name} + post_install_url = f"http://localhost:3928/v1/engines/{engine}/install" + response = requests.post( + post_install_url, json=data + ) + assert_equal(response.status_code,200) + log_response(response.json(), "test_api_get_default_engine_successfully") + + get_list_url = f"http://localhost:3928/v1/engines/{engine}" + post_default_url = f"http://localhost:3928/v1/engines/{engine}/default" + + @retry( + wait=wait_exponential(multiplier=2, min=2, max=30), + stop=stop_after_attempt(5) + ) + def get_request(url): + response = requests.get(url) + assert len(response.json()) > 0 + + get_request(get_list_url) + + response_set_default_engine = requests.post(post_default_url, json=data) + json_data = response_set_default_engine.json() + + log_response(json_data, "test_api_set_default_engine_successfully") + assert_equal(response_set_default_engine.status_code, 200) + + assert_equal(json_data["message"], f"Engine {name} {version.lstrip("v")} set as default") \ No newline at end of file diff --git a/engine/e2e-test/runner/cortex-llamacpp-e2e-nightly.py b/engine/e2e-test/runner/cortex-llamacpp-e2e-nightly.py index 61b153267..2bf3af09b 100644 --- a/engine/e2e-test/runner/cortex-llamacpp-e2e-nightly.py +++ b/engine/e2e-test/runner/cortex-llamacpp-e2e-nightly.py @@ -21,6 +21,7 @@ from api.engines.test_api_get_default_engine import TestApiDefaultEngine from api.engines.test_api_get_engine_release import TestApiEngineRelease from api.engines.test_api_get_engine_release_latest import TestApiEngineReleaseLatest +from test_api_post_default_engine import TestApiSetDefaultEngine from api.model.test_api_model import TestApiModel from api.model.test_api_model_import import TestApiModelImport diff --git a/engine/e2e-test/runner/main.py b/engine/e2e-test/runner/main.py index 9b2a0316c..009f4d718 100644 --- a/engine/e2e-test/runner/main.py +++ b/engine/e2e-test/runner/main.py @@ -21,6 +21,7 @@ from api.engines.test_api_get_default_engine import TestApiDefaultEngine from api.engines.test_api_get_engine_release import TestApiEngineRelease from api.engines.test_api_get_engine_release_latest import TestApiEngineReleaseLatest +from test_api_post_default_engine import TestApiSetDefaultEngine from api.model.test_api_model import TestApiModel from api.model.test_api_model_import import TestApiModelImport From 5f5df434c8bc687ce955c9a1effc2ae9139955c1 Mon Sep 17 00:00:00 2001 From: Harry Le Date: Wed, 26 Feb 2025 16:16:32 +0700 Subject: [PATCH 2/3] test: fix ci --- engine/e2e-test/api/engines/test_api_post_default_engine.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/e2e-test/api/engines/test_api_post_default_engine.py b/engine/e2e-test/api/engines/test_api_post_default_engine.py index 961fcc285..c04730cbd 100644 --- a/engine/e2e-test/api/engines/test_api_post_default_engine.py +++ b/engine/e2e-test/api/engines/test_api_post_default_engine.py @@ -53,4 +53,4 @@ def get_request(url): log_response(json_data, "test_api_set_default_engine_successfully") assert_equal(response_set_default_engine.status_code, 200) - assert_equal(json_data["message"], f"Engine {name} {version.lstrip("v")} set as default") \ No newline at end of file + assert_equal(json_data["message"], f"Engine {name} {version.lstrip('v')} set as default") \ No newline at end of file From 5798d269ef6655643722adeaa38467e09de030d4 Mon Sep 17 00:00:00 2001 From: Harry Le Date: Mon, 3 Mar 2025 17:48:40 +0700 Subject: [PATCH 3/3] test: update the variant non-cuda --- engine/e2e-test/api/engines/test_api_post_default_engine.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/e2e-test/api/engines/test_api_post_default_engine.py b/engine/e2e-test/api/engines/test_api_post_default_engine.py index c04730cbd..b2b4e4c48 100644 --- a/engine/e2e-test/api/engines/test_api_post_default_engine.py +++ b/engine/e2e-test/api/engines/test_api_post_default_engine.py @@ -23,7 +23,7 @@ def setup_and_teardown(self): def test_api_set_default_engine_successfully(self): # Data test engine= "llama-cpp" - name= "linux-amd64-avx-cuda-11-7" + name= "linux-amd64-avx" version= "v0.1.35-27.10.24" data = {"version": version, "variant": name}