sqlalchemy.testing.db.connect - python examples

Here are the examples of the python api sqlalchemy.testing.db.connect taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

86 Examples 7

3 View Complete Implementation : test_query.py
Copyright MIT License
Author : sqlalchemy
    def test_execute(self):
        with testing.db.connect() as conn:
            conn.execute(cattable.insert().values(id=9, description="Python"))

            cats = conn.execute(cattable.select().order_by(cattable.c.id))
            eq_([(9, "Python")], list(cats))

            result = conn.execute(cattable.insert().values(description="PHP"))
            eq_([10], result.inserted_primary_key)
            lastcat = conn.execute(
                cattable.select().order_by(desc(cattable.c.id))
            )
            eq_((10, "PHP"), lastcat.first())

3 View Complete Implementation : test_query.py
Copyright MIT License
Author : sqlalchemy
def full_text_search_missing():
    """Test if full text search is not implemented and return False if
    it is and True otherwise."""

    try:
        connection = testing.db.connect()
        try:
            connection.execute("CREATE FULLTEXT CATALOG Catalog AS " "DEFAULT")
            return False
        except Exception:
            return True
    finally:
        connection.close()

3 View Complete Implementation : test_query.py
Copyright MIT License
Author : sqlalchemy
    @clastmethod
    def teardown_clast(cls):
        metadata.drop_all()
        connection = testing.db.connect()
        connection.execute("DROP FULLTEXT CATALOG Catalog")
        connection.close()

3 View Complete Implementation : test_types.py
Copyright MIT License
Author : sqlalchemy
    def _test_cant_insert(self, tab):
        with testing.db.connect() as conn:
            astert_raises_message(
                sa.exc.DBAPIError,
                r".*Cannot insert an explicit value into a timestamp column.",
                conn.execute,
                tab.insert().values(data="ins", rv=b"000"),
            )

3 View Complete Implementation : test_dialect.py
Copyright MIT License
Author : sqlalchemy
    def test_insert_executemany(self):
        with testing.db.connect() as conn:
            conn.execute(
                self.tables.t.insert().values(data=func.utc_timestamp()),
                [{"x": 5}, {"x": 6}, {"x": 7}],
            )

3 View Complete Implementation : test_dialect.py
Copyright MIT License
Author : sqlalchemy
    def test_update_executemany(self):
        with testing.db.connect() as conn:
            timestamp = datetime.datetime(2015, 4, 17, 18, 5, 2)
            conn.execute(
                self.tables.t.insert(),
                [
                    {"x": 5, "data": timestamp},
                    {"x": 6, "data": timestamp},
                    {"x": 7, "data": timestamp},
                ],
            )

            conn.execute(
                self.tables.t.update()
                .values(data=func.utc_timestamp())
                .where(self.tables.t.c.x == bindparam("xval")),
                [{"xval": 5}, {"xval": 6}, {"xval": 7}],
            )

3 View Complete Implementation : test_dialect.py
Copyright MIT License
Author : sqlalchemy
    def test_update_executemany_w_default(self):
        with testing.db.connect() as conn:
            timestamp = datetime.datetime(2015, 4, 17, 18, 5, 2)
            conn.execute(
                self.tables.t_default.insert(),
                [
                    {"x": 5, "idata": timestamp},
                    {"x": 6, "idata": timestamp},
                    {"x": 7, "idata": timestamp},
                ],
            )

            conn.execute(
                self.tables.t_default.update()
                .values(idata=func.utc_timestamp())
                .where(self.tables.t_default.c.x == bindparam("xval")),
                [{"xval": 5}, {"xval": 6}, {"xval": 7}],
            )

3 View Complete Implementation : test_for_update.py
Copyright MIT License
Author : sqlalchemy
    @contextlib.contextmanager
    def run_test(self):
        connection = testing.db.connect()
        connection.execute("set innodb_lock_wait_timeout=1")
        main_trans = connection.begin()
        try:
            yield Session(bind=connection)
        finally:
            main_trans.rollback()
            connection.close()

3 View Complete Implementation : test_on_duplicate.py
Copyright MIT License
Author : sqlalchemy
    def test_on_duplicate_key_update(self):
        foos = self.tables.foos
        with testing.db.connect() as conn:
            conn.execute(insert(foos, dict(id=1, bar="b", baz="bz")))
            stmt = insert(foos).values(
                [dict(id=1, bar="ab"), dict(id=2, bar="b")]
            )
            stmt = stmt.on_duplicate_key_update(bar=stmt.inserted.bar)
            result = conn.execute(stmt)
            eq_(result.inserted_primary_key, [2])
            eq_(
                conn.execute(foos.select().where(foos.c.id == 1)).fetchall(),
                [(1, "ab", "bz", False)],
            )

3 View Complete Implementation : test_on_duplicate.py
Copyright MIT License
Author : sqlalchemy
    def test_on_duplicate_key_update_null(self):
        foos = self.tables.foos
        with testing.db.connect() as conn:
            conn.execute(insert(foos, dict(id=1, bar="b", baz="bz")))
            stmt = insert(foos).values(
                [dict(id=1, bar="ab"), dict(id=2, bar="b")]
            )
            stmt = stmt.on_duplicate_key_update(updated_once=None)
            result = conn.execute(stmt)
            eq_(result.inserted_primary_key, [2])
            eq_(
                conn.execute(foos.select().where(foos.c.id == 1)).fetchall(),
                [(1, "b", "bz", None)],
            )