| 123456789101112131415161718192021222324252627 |
- from __future__ import annotations
- import unittest
- from unittest.mock import patch
- from data_collector_mcp import db
- class DatabaseTests(unittest.TestCase):
- def test_database_url_requires_value(self) -> None:
- with patch.dict("os.environ", {}, clear=True):
- with self.assertRaisesRegex(ValueError, "DATABASE_URL is required"):
- db.database_url()
- def test_database_url_rejects_sqlite(self) -> None:
- with patch.dict("os.environ", {"DATABASE_URL": "sqlite:///test.db"}, clear=True):
- with self.assertRaisesRegex(ValueError, "SQLite is not supported"):
- db.database_url()
- def test_database_url_accepts_postgres(self) -> None:
- url = "postgresql+psycopg2://user:pass@localhost:5432/data-collector-mcp"
- with patch.dict("os.environ", {"DATABASE_URL": url}, clear=True):
- self.assertEqual(db.database_url(), url)
- if __name__ == "__main__":
- unittest.main()
|