Skip to content
This repository was archived by the owner on Jul 4, 2025. It is now read-only.

Commit 5ea79ec

Browse files
LeVinhGithubHarry Le
andauthored
task: expand e2e API POST engine default (#2034)
* test: add e2e post default engine * test: fix ci * test: update the variant non-cuda --------- Co-authored-by: Harry Le <[email protected]>
1 parent 8b36837 commit 5ea79ec

File tree

3 files changed

+58
-0
lines changed

3 files changed

+58
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
import pytest
2+
import requests
3+
from utils.test_runner import start_server, stop_server
4+
from tenacity import retry, wait_exponential, stop_after_attempt
5+
from utils.logger import log_response
6+
from utils.assertion import assert_equal
7+
8+
9+
class TestApiSetDefaultEngine:
10+
11+
@pytest.fixture(autouse=True)
12+
def setup_and_teardown(self):
13+
# Setup
14+
success = start_server()
15+
if not success:
16+
raise Exception("Failed to start server")
17+
18+
yield
19+
20+
# Teardown
21+
stop_server()
22+
23+
def test_api_set_default_engine_successfully(self):
24+
# Data test
25+
engine= "llama-cpp"
26+
name= "linux-amd64-avx"
27+
version= "v0.1.35-27.10.24"
28+
29+
data = {"version": version, "variant": name}
30+
post_install_url = f"http://localhost:3928/v1/engines/{engine}/install"
31+
response = requests.post(
32+
post_install_url, json=data
33+
)
34+
assert_equal(response.status_code,200)
35+
log_response(response.json(), "test_api_get_default_engine_successfully")
36+
37+
get_list_url = f"http://localhost:3928/v1/engines/{engine}"
38+
post_default_url = f"http://localhost:3928/v1/engines/{engine}/default"
39+
40+
@retry(
41+
wait=wait_exponential(multiplier=2, min=2, max=30),
42+
stop=stop_after_attempt(5)
43+
)
44+
def get_request(url):
45+
response = requests.get(url)
46+
assert len(response.json()) > 0
47+
48+
get_request(get_list_url)
49+
50+
response_set_default_engine = requests.post(post_default_url, json=data)
51+
json_data = response_set_default_engine.json()
52+
53+
log_response(json_data, "test_api_set_default_engine_successfully")
54+
assert_equal(response_set_default_engine.status_code, 200)
55+
56+
assert_equal(json_data["message"], f"Engine {name} {version.lstrip('v')} set as default")

engine/e2e-test/runner/cortex-llamacpp-e2e-nightly.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from api.engines.test_api_get_default_engine import TestApiDefaultEngine
2222
from api.engines.test_api_get_engine_release import TestApiEngineRelease
2323
from api.engines.test_api_get_engine_release_latest import TestApiEngineReleaseLatest
24+
from test_api_post_default_engine import TestApiSetDefaultEngine
2425
from api.model.test_api_model import TestApiModel
2526
from api.model.test_api_model_import import TestApiModelImport
2627

engine/e2e-test/runner/main.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from api.engines.test_api_get_default_engine import TestApiDefaultEngine
2222
from api.engines.test_api_get_engine_release import TestApiEngineRelease
2323
from api.engines.test_api_get_engine_release_latest import TestApiEngineReleaseLatest
24+
from test_api_post_default_engine import TestApiSetDefaultEngine
2425
from api.model.test_api_model import TestApiModel
2526
from api.model.test_api_model_import import TestApiModelImport
2627

0 commit comments

Comments
 (0)