"""Tests for configuration pages — TDD: tests before implementation.""" import pytest from i2p_apps.console.app import create_app @pytest.fixture def client(): app = create_app({"TESTING": True}) return app.test_client() class TestConfigPage: def test_config_page_renders(self, client): resp = client.get("/config/") assert resp.status_code == 200 assert b"html" in resp.data.lower() def test_config_network(self, client): resp = client.get("/config/network") assert resp.status_code == 200 assert b"Network" in resp.data def test_config_security(self, client): resp = client.get("/config/security") assert resp.status_code == 200 def test_config_logging(self, client): resp = client.get("/config/logging") assert resp.status_code == 200 def test_config_advanced(self, client): resp = client.get("/config/advanced") assert resp.status_code == 200 def test_config_post_network(self, client): resp = client.post("/config/network", data={ "i2np.udp.port": "8887", "i2np.ntcp.port": "8887", }) # Should redirect back to config page assert resp.status_code in (200, 302) def test_config_unknown_section(self, client): resp = client.get("/config/nonexistent") assert resp.status_code == 404