forked from PGCSEDS-IIITH/devsecops-iris
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_app.py
More file actions
42 lines (37 loc) · 1.38 KB
/
test_app.py
File metadata and controls
42 lines (37 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
from fastapi.testclient import TestClient
from main import app
# test to check the correct functioning of the /ping route.
def test_ping():
with TestClient(app) as client:
response = client.get("/ping")
# asserting the correct response is received.
assert response.status_code == 200
assert response.json()["ping"] == "pong"
# test to check if Iris Virginica is classified correctly.
def test_pred_virginica():
# defining a sample payload for the testcase.
payload = {
"sepal_length": 3,
"sepal_width": 5,
"petal_length": 3.2,
"petal_width": 4.4,
}
with TestClient(app) as client:
response = client.post("/predict_flower", json=payload)
# asserting the correct response is received.
assert response.status_code == 200
assert response.json()["flower_class"] == "Iris Virginica"
def test_feedback_loop():
# defining a sample payload for the testcase.
payload = [{
"sepal_length": 5,
"sepal_width": 4.3,
"petal_length": 1,
"petal_width": 0.8,
"flower_class": "Iris Setosa"
}]
with TestClient(app) as client:
response = client.post("/feedback_loop", json=payload)
# asserting the correct response is received.
assert response.status_code == 200
assert response.json()["detail"] == "Feedback loop successful"