File: sqlalchemy_test.py

package info (click to toggle)
pytds 1.16.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 868 kB
  • sloc: python: 12,831; makefile: 199; sh: 8
file content (32 lines) | stat: -rw-r--r-- 1,080 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
"""
Testing integration with sqlalchemy
"""
import sqlalchemy.engine
from sqlalchemy.orm import Session
from sqlalchemy import select
from sqlalchemy_schema import User, Address
from fixtures import sqlalchemy_engine


def test_alchemy(sqlalchemy_engine: sqlalchemy.engine.Engine):
    with Session(sqlalchemy_engine) as session:
        spongebob = User(
            name="spongebob",
            fullname="Spongebob Squarepants",
            addresses=[Address(email_address="spongebob@sqlalchemy.org")],
        )
        sandy = User(
            name="sandy",
            fullname="Sandy Cheeks",
            addresses=[
                Address(email_address="sandy@sqlalchemy.org"),
                Address(email_address="sandy@squirrelpower.org"),
            ],
        )
        patrick = User(name="patrick", fullname="Patrick Star")
        session.add_all([spongebob, sandy, patrick])

        # Test select
        stmt = select(User).where(User.name.in_(["spongebob", "sandy"]))
        users = session.scalars(stmt)
        assert [spongebob, sandy] == list(users)