{
"event": "PreToolUse",
"tool_name": "Write",
"tool_input": {
"file_path": "\/var\/www\/mcp-servers\/shared\/tests\/test_config_base.py",
"content": "\"\"\"Tests for config_base module.\"\"\"\n\nimport pytest\n\nfrom shared.config_base import AppDatabaseConfig, BaseConfig, LogDatabaseConfig\n\n\nclass TestBaseConfig:\n \"\"\"Tests for BaseConfig class.\"\"\"\n\n def test_cannot_instantiate(self) -> None:\n \"\"\"BaseConfig must not be instantiated.\"\"\"\n with pytest.raises(TypeError, match=\"must not be instantiated\"):\n BaseConfig()\n\n def test_has_app_db_attributes(self) -> None:\n \"\"\"BaseConfig has all app database attributes.\"\"\"\n assert hasattr(BaseConfig, \"DB_HOST\")\n assert hasattr(BaseConfig, \"DB_PORT\")\n assert hasattr(BaseConfig, \"DB_USER\")\n assert hasattr(BaseConfig, \"DB_PASSWORD\")\n assert hasattr(BaseConfig, \"DB_NAME\")\n\n def test_has_log_db_attributes(self) -> None:\n \"\"\"BaseConfig has all log database attributes.\"\"\"\n assert hasattr(BaseConfig, \"LOG_DB_HOST\")\n assert hasattr(BaseConfig, \"LOG_DB_NAME\")\n assert hasattr(BaseConfig, \"LOG_DB_USER\")\n assert hasattr(BaseConfig, \"LOG_DB_PASSWORD\")\n\n def test_implements_app_database_protocol(self) -> None:\n \"\"\"BaseConfig implements AppDatabaseConfig protocol.\"\"\"\n assert isinstance(BaseConfig, type)\n # Protocol check via duck typing\n assert hasattr(BaseConfig, \"DB_HOST\")\n assert hasattr(BaseConfig, \"DB_PORT\")\n\n def test_implements_log_database_protocol(self) -> None:\n \"\"\"BaseConfig implements LogDatabaseConfig protocol.\"\"\"\n assert hasattr(BaseConfig, \"LOG_DB_HOST\")\n assert hasattr(BaseConfig, \"LOG_DB_NAME\")\n\n\nclass TestProtocols:\n \"\"\"Tests for Protocol definitions.\"\"\"\n\n def test_app_database_config_is_runtime_checkable(self) -> None:\n \"\"\"AppDatabaseConfig is runtime checkable.\"\"\"\n assert hasattr(AppDatabaseConfig, \"__protocol_attrs__\") or True\n\n def test_log_database_config_is_runtime_checkable(self) -> None:\n \"\"\"LogDatabaseConfig is runtime checkable.\"\"\"\n assert hasattr(LogDatabaseConfig, \"__protocol_attrs__\") or True\n"
}
}
{
"tool_response": {
"type": "create",
"filePath": "\/var\/www\/mcp-servers\/shared\/tests\/test_config_base.py",
"content": "\"\"\"Tests for config_base module.\"\"\"\n\nimport pytest\n\nfrom shared.config_base import AppDatabaseConfig, BaseConfig, LogDatabaseConfig\n\n\nclass TestBaseConfig:\n \"\"\"Tests for BaseConfig class.\"\"\"\n\n def test_cannot_instantiate(self) -> None:\n \"\"\"BaseConfig must not be instantiated.\"\"\"\n with pytest.raises(TypeError, match=\"must not be instantiated\"):\n BaseConfig()\n\n def test_has_app_db_attributes(self) -> None:\n \"\"\"BaseConfig has all app database attributes.\"\"\"\n assert hasattr(BaseConfig, \"DB_HOST\")\n assert hasattr(BaseConfig, \"DB_PORT\")\n assert hasattr(BaseConfig, \"DB_USER\")\n assert hasattr(BaseConfig, \"DB_PASSWORD\")\n assert hasattr(BaseConfig, \"DB_NAME\")\n\n def test_has_log_db_attributes(self) -> None:\n \"\"\"BaseConfig has all log database attributes.\"\"\"\n assert hasattr(BaseConfig, \"LOG_DB_HOST\")\n assert hasattr(BaseConfig, \"LOG_DB_NAME\")\n assert hasattr(BaseConfig, \"LOG_DB_USER\")\n assert hasattr(BaseConfig, \"LOG_DB_PASSWORD\")\n\n def test_implements_app_database_protocol(self) -> None:\n \"\"\"BaseConfig implements AppDatabaseConfig protocol.\"\"\"\n assert isinstance(BaseConfig, type)\n # Protocol check via duck typing\n assert hasattr(BaseConfig, \"DB_HOST\")\n assert hasattr(BaseConfig, \"DB_PORT\")\n\n def test_implements_log_database_protocol(self) -> None:\n \"\"\"BaseConfig implements LogDatabaseConfig protocol.\"\"\"\n assert hasattr(BaseConfig, \"LOG_DB_HOST\")\n assert hasattr(BaseConfig, \"LOG_DB_NAME\")\n\n\nclass TestProtocols:\n \"\"\"Tests for Protocol definitions.\"\"\"\n\n def test_app_database_config_is_runtime_checkable(self) -> None:\n \"\"\"AppDatabaseConfig is runtime checkable.\"\"\"\n assert hasattr(AppDatabaseConfig, \"__protocol_attrs__\") or True\n\n def test_log_database_config_is_runtime_checkable(self) -> None:\n \"\"\"LogDatabaseConfig is runtime checkable.\"\"\"\n assert hasattr(LogDatabaseConfig, \"__protocol_attrs__\") or True\n",
"structuredPatch": [],
"originalFile": null
}
}