test_sleep.py 1000 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import pytest
  2. import time
  3. from utils import *
  4. server = ServerPreset.tinyllama2()
  5. @pytest.fixture(autouse=True)
  6. def create_server():
  7. global server
  8. server = ServerPreset.tinyllama2()
  9. def test_server_sleep():
  10. global server
  11. server.sleep_idle_seconds = 1
  12. server.start()
  13. # wait a bit so that server can go to sleep
  14. time.sleep(2)
  15. # make sure these endpoints are still responsive after sleep
  16. res = server.make_request("GET", "/health")
  17. assert res.status_code == 200
  18. res = server.make_request("GET", "/props")
  19. assert res.status_code == 200
  20. assert res.body["is_sleeping"] == True
  21. # make a generation request to wake up the server
  22. res = server.make_request("POST", "/completion", data={
  23. "n_predict": 1,
  24. "prompt": "Hello",
  25. })
  26. assert res.status_code == 200
  27. # it should no longer be sleeping
  28. res = server.make_request("GET", "/props")
  29. assert res.status_code == 200
  30. assert res.body["is_sleeping"] == False