Skip to content

Commit ee0f9f4

Browse files
committed
add metadata GET endpoint
1 parent a12326a commit ee0f9f4

File tree

3 files changed

+51
-31
lines changed

3 files changed

+51
-31
lines changed

vetiver/server.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,10 @@ def pin_url():
100100
async def ping():
101101
return {"ping": "pong"}
102102

103+
@app.get("/metadata")
104+
async def get_metadata():
105+
return self.model.metadata.to_dict()
106+
103107
self.vetiver_post(
104108
self.model.handler_predict, "predict", check_prototype=self.check_prototype
105109
)

vetiver/tests/test_ping_server.py

Lines changed: 0 additions & 31 deletions
This file was deleted.

vetiver/tests/test_server.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
from vetiver import mock, VetiverModel, VetiverAPI
2+
from fastapi.testclient import TestClient
3+
import pytest
4+
5+
6+
@pytest.fixture
7+
def vetiver_model():
8+
X, y = mock.get_mock_data()
9+
model = mock.get_mock_model().fit(X, y)
10+
v = VetiverModel(
11+
model=model,
12+
prototype_data=X,
13+
model_name="my_model",
14+
versioned=None,
15+
description="A regression model for testing purposes",
16+
)
17+
return v
18+
19+
20+
@pytest.fixture
21+
def client(vetiver_model):
22+
app = VetiverAPI(vetiver_model)
23+
24+
return TestClient(app.app)
25+
26+
27+
def test_get_ping(client):
28+
response = client.get("/ping")
29+
assert response.status_code == 200, response.text
30+
assert response.json() == {"ping": "pong"}
31+
32+
33+
def test_get_docs(client):
34+
response = client.get("/__docs__")
35+
assert response.status_code == 200, response.text
36+
37+
38+
def test_get_metadata(client):
39+
response = client.get("/metadata")
40+
assert response.status_code == 200, response.text
41+
assert response.json() == {
42+
"user": {},
43+
"version": None,
44+
"url": None,
45+
"required_pkgs": ["scikit-learn"],
46+
"python_version": [3, 9, 11, "final", 0],
47+
}

0 commit comments

Comments
 (0)