"""Tests für Admin-Route.""" from unittest.mock import MagicMock from flask import Flask from src.routes.admin import admin_bp class TestAdminRoute: """Tests für Admin-Route.""" def setup_method(self) -> None: """Erstellt Flask-App mit mocktem QueueHandler.""" self.app = Flask(__name__) self.app.queue_handler = MagicMock() self.app.queue_handler.queue_size.return_value = 42 self.app.register_blueprint(admin_bp, url_prefix="/") self.client = self.app.test_client() def test_get_admin_queue_ergibt_200(self) -> None: """GET /admin/queue → 200 + JSON mit queue_size.""" response = self.client.get("/admin/queue") assert response.status_code == 200 data = response.get_json() assert "queue_size" in data assert data["status"] == "ok" def test_get_admin_queue_queue_size_ist_integer(self) -> None: """GET /admin/queue → queue_size ist Integer.""" response = self.client.get("/admin/queue") data = response.get_json() assert isinstance(data["queue_size"], int) def test_get_admin_stats_ergibt_200(self) -> None: """GET /admin/stats → 200 + version '0.1.0'.""" response = self.client.get("/admin/stats") assert response.status_code == 200 data = response.get_json() assert data["version"] == "0.1.0" def test_get_admin_stats_json_enhaelt_alle_keys(self) -> None: """GET /admin/stats → JSON enthält alle Keys.""" response = self.client.get("/admin/stats") data = response.get_json() assert "queue_size" in data assert "uptime" in data assert "version" in data