Ejemplo n.º 1
0
    def test_database_bind(self):
        db = Database()
        self.assertIsInstance(db, Database)

        db.bind("sqlite://:memory:")
        result = db.get("SELECT 1")
        self.assertEqual(result, 1)
Ejemplo n.º 2
0
    def test_database_default_bind(self):
        db = Database()
        self.assertIsInstance(db, Database)

        os.environ["DATABASE_URL"] = "sqlite://:memory:"
        db.bind()
        result = db.get("SELECT 1")
        self.assertEqual(result, 1)
Ejemplo n.º 3
0
    def test_database_default_bind_from_parameters(self, mock_params):
        mock_params.return_value = "sqlite://:memory:"

        db = Database()
        self.assertIsInstance(db, Database)

        os.environ["DATABASE_URL"] = "parameters:///my-project/database_url"
        db.bind(mapping=True)
        result = db.get("SELECT 1")
        self.assertEqual(result, 1)
Ejemplo n.º 4
0
    def test_database_bind_with_mapping(self):
        db = Database()
        self.assertIsInstance(db, Database)

        class TestTable(db.Entity):
            _table_ = "test"

            id = PrimaryKey(int, auto=True)
            name = Required(str)

        db.bind("sqlite://:memory:", mapping=True)
        result = db.get("SELECT 1")
        self.assertEqual(result, 1)
Ejemplo n.º 5
0
    def test_database_instance(self):
        db = Database("sqlite://:memory:")
        db.execute("CREATE TABLE foo (id int, bar text)")
        db.execute("INSERT INTO foo (id, bar) VALUES (1, 'test')")

        result = db.get("SELECT * FROM foo WHERE id = 1")

        self.assertIsNotNone(result)
        self.assertEqual(result.id, 1)
        self.assertEqual(result.bar, "test")
Ejemplo n.º 6
0
    def test_database_bind_exception(self):
        db = Database()
        self.assertIsInstance(db, Database)

        with self.assertRaises(ValueError):
            db.bind("")
Ejemplo n.º 7
0
 def test_database_instance_invalid_uri(self):
     with self.assertRaises(ValueError):
         Database("xxx")
Ejemplo n.º 8
0
 def test_database_instance_empty_uri(self):
     with self.assertRaises(ValueError):
         Database("")
Ejemplo n.º 9
0
 def test_database_instance_no_uri(self):
     db = Database()
     self.assertIsInstance(db, Database)
Ejemplo n.º 10
0
 def test_parse_uri_invalid_uri(self):
     with self.assertRaises(ValueError):
         Database._parse_uri("xxx")
Ejemplo n.º 11
0
 def test_parse_uri_empty_uri(self):
     with self.assertRaises(ValueError):
         Database._parse_uri("")
Ejemplo n.º 12
0
 def test_parse_uri_sqlite_memory(self):
     result = Database._parse_uri("sqlite://:memory:")
     self.assertEqual(result, ("sqlite", ":memory:"))
Ejemplo n.º 13
0
 def test_parse_uri_sqlite(self):
     result = Database._parse_uri("sqlite://test.db")
     self.assertEqual(result, ("sqlite", "test.db"))
Ejemplo n.º 14
0
 def test_parse_uri_postgres(self):
     uri = "postgres://*****:*****@postgres/postgres"
     result = Database._parse_uri(uri)
     self.assertEqual(result, ("postgres", uri))