@@ -734,3 +734,44 @@ def test_prop_range(app: TileServer) -> None:
734734 assert response .status_code == 200
735735 # should be back to no scaling
736736 assert layer .renderer .score_fn (0.5 ) == 0.5
737+
738+
739+ def test_healthcheck (empty_app : TileServer ) -> None :
740+ """Test the /tileserver/healthcheck endpoint."""
741+ with empty_app .test_client () as client :
742+ response = client .get ("/tileserver/healthcheck" )
743+ assert response .status_code == 200
744+ assert response .content_type == "application/json"
745+ assert response .get_json () == {"status" : "OK" }
746+
747+
748+ def test_sessions_no_slide_loaded (empty_app : TileServer ) -> None :
749+ """Test /tileserver/sessions when no slides are loaded."""
750+ with empty_app .test_client () as client :
751+ setup_app (client )
752+ response = client .get ("/tileserver/sessions" )
753+ assert response .status_code == 200
754+ assert response .is_json
755+ assert response .get_json () == {}
756+
757+
758+ def test_sessions_one_slide_loaded (
759+ empty_app : TileServer , remote_sample : Callable
760+ ) -> None :
761+ """Test /tileserver/sessions after loading one slide."""
762+ with empty_app .test_client () as client :
763+ setup_app (client )
764+ slide_path = safe_str (remote_sample ("svs-1-small" ))
765+
766+ response = client .put (
767+ "/tileserver/slide" ,
768+ data = {"slide_path" : slide_path },
769+ )
770+ assert response .status_code == 200
771+
772+ response = client .get ("/tileserver/sessions" )
773+ assert response .status_code == 200
774+ sessions = response .get_json ()
775+
776+ assert isinstance (sessions , dict )
777+ assert len (sessions ) == 1
0 commit comments