Spaces:
Sleeping
Sleeping
File size: 1,955 Bytes
1939cbc 491c280 1939cbc 491c280 1939cbc | 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | import unittest
from fastapi.testclient import TestClient
from app import app as fastapi_app
from server.app import app
class TestServerAPI(unittest.TestCase):
def setUp(self):
self.client = app.test_client()
def test_root_includes_new_endpoints(self):
response = self.client.get("/")
self.assertEqual(response.status_code, 200)
payload = response.get_json()
self.assertIn("/tasks", payload["endpoints"])
self.assertIn("/score", payload["endpoints"])
def test_tasks_endpoint(self):
response = self.client.get("/tasks")
self.assertEqual(response.status_code, 200)
payload = response.get_json()
self.assertIn("count", payload)
self.assertIn("tasks", payload)
self.assertGreaterEqual(payload["count"], 10)
def test_score_endpoint(self):
# Reset first so scoring context exists.
self.client.get("/reset")
response = self.client.get("/score")
self.assertEqual(response.status_code, 200)
payload = response.get_json()
self.assertIn("task_score", payload)
self.assertIn("current_step", payload)
self.assertIn("task_id", payload)
class TestFastAPIReset(unittest.TestCase):
def setUp(self):
self.client = TestClient(fastapi_app)
def test_post_reset_without_body(self):
response = self.client.post("/reset")
self.assertEqual(response.status_code, 200)
payload = response.json()
self.assertIn("observation", payload)
self.assertIn("task_description", payload["observation"])
def test_post_reset_with_task_id_body(self):
response = self.client.post("/reset", json={"task_id": "bug_detection_easy_1"})
self.assertEqual(response.status_code, 200)
payload = response.json()
self.assertEqual(payload["observation"]["task_difficulty"], "easy")
if __name__ == "__main__":
unittest.main()
|