Implenting unit testing"
This commit is contained in:
61
test_client.py
Normal file
61
test_client.py
Normal file
@@ -0,0 +1,61 @@
|
||||
from fastapi.testclient import TestClient
|
||||
from main import app
|
||||
|
||||
|
||||
client = TestClient(app)
|
||||
|
||||
|
||||
def test_create_people():
|
||||
response = client.post(
|
||||
"/people",
|
||||
json=people_fixture
|
||||
)
|
||||
assert response.status_code == 200
|
||||
assert response.json()['records_created'] == 10
|
||||
|
||||
|
||||
def test_read_average_age():
|
||||
response = client.get("/average_age")
|
||||
assert response.status_code == 200
|
||||
r = response.json()
|
||||
assert r[0]['average_age'] == 15.0
|
||||
assert r[1]['average_age'] == 25.0
|
||||
assert r[2]['average_age'] == 23.3
|
||||
assert r[3]['average_age'] == 45.0
|
||||
|
||||
|
||||
def test_read_count_by_country():
|
||||
response = client.get("/count_by_country")
|
||||
assert response.status_code == 200
|
||||
r = response.json()
|
||||
assert r[0]['people_count'] == 2
|
||||
assert r[1]['people_count'] == 4
|
||||
assert r[2]['people_count'] == 3
|
||||
assert r[3]['people_count'] == 1
|
||||
|
||||
|
||||
def test_read_count_by_gender():
|
||||
response = client.get("/gender_repartition/DE")
|
||||
assert response.status_code == 200
|
||||
r = response.json()
|
||||
assert r['female_proportion'] == 33.3
|
||||
|
||||
|
||||
people_fixture = {
|
||||
"people": [
|
||||
{"name": "Alice", "age": 10, "gender": "F", "country": "FR"},
|
||||
{"name": "Bob", "age": 20, "gender": "M", "country": "FR"},
|
||||
|
||||
|
||||
{"name": "Charlie", "age": 10, "gender": "M", "country": "BE"},
|
||||
{"name": "David", "age": 20, "gender": "M", "country": "BE"},
|
||||
{"name": "Evelyn", "age": 30, "gender": "F", "country": "BE"},
|
||||
{"name": "Fanny", "age": 40, "gender": "F", "country": "BE"},
|
||||
|
||||
{"name": "Ghislain", "age": 20, "gender": "M", "country": "DE"},
|
||||
{"name": "Hector", "age": 22, "gender": "M", "country": "DE"},
|
||||
{"name": "Isabelle", "age": 28, "gender": "F", "country": "DE"},
|
||||
|
||||
{"name": "Jocelyne", "age": 45, "gender": "F", "country": "IT"},
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user