Skip to content

Commit 6044ff6

Browse files
authored
fix: update example tests to use unique table names for isolation (#259)
Update example tests to use unique table names for better isolation during testing. This change prevents conflicts between tests that may run concurrently.
1 parent bfbb4f7 commit 6044ff6

11 files changed

+44
-40
lines changed

docs/examples/quickstart/quickstart_4.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ class User(BaseModel):
2525
async with db_manager.provide_session(db) as session:
2626
await session.execute(
2727
"""
28-
CREATE TABLE if not exists users (id INTEGER, name TEXT, email TEXT)
28+
CREATE TABLE if not exists qs4_users (id INTEGER, name TEXT, email TEXT)
2929
"""
3030
)
31-
await session.execute("INSERT INTO users VALUES (?, ?, ?)", 100, "Alice", "[email protected]")
32-
user = await session.select_one("SELECT * FROM users WHERE id = ?", 100, schema_type=User)
31+
await session.execute("INSERT INTO qs4_users VALUES (?, ?, ?)", 100, "Alice", "[email protected]")
32+
user = await session.select_one("SELECT * FROM qs4_users WHERE id = ?", 100, schema_type=User)
3333
print(f"User: {user.name}")
3434
# end-example
3535

docs/examples/quickstart/quickstart_5.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,24 +34,24 @@ def pool_config() -> "dict[str, Any]":
3434
async def seed_users(session: Any) -> None:
3535
await session.execute(
3636
"""
37-
CREATE TABLE IF NOT EXISTS users (
37+
CREATE TABLE IF NOT EXISTS qs5_users (
3838
id INTEGER PRIMARY KEY,
3939
name TEXT NOT NULL,
4040
email TEXT NOT NULL
4141
)
4242
"""
4343
)
44-
await session.execute("TRUNCATE TABLE users")
44+
await session.execute("TRUNCATE TABLE qs5_users")
4545
await session.execute(
46-
"INSERT INTO users (id, name, email) VALUES ($1, $2, $3)", 1, "Alice", "[email protected]"
46+
"INSERT INTO qs5_users (id, name, email) VALUES ($1, $2, $3)", 1, "Alice", "[email protected]"
4747
)
4848

4949
db_manager = SQLSpec()
5050
db = db_manager.add_config(AsyncpgConfig(pool_config=pool_config()))
5151

5252
async with db_manager.provide_session(db) as session:
5353
await seed_users(session)
54-
user = await session.select_one("SELECT * FROM users WHERE id = $1", 1, schema_type=User)
54+
user = await session.select_one("SELECT * FROM qs5_users WHERE id = $1", 1, schema_type=User)
5555
print(f"User: {user.name}")
5656
# end-example
5757

docs/examples/quickstart/quickstart_7.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,34 +13,34 @@ def test_quickstart_7() -> None:
1313
session.begin()
1414
session.execute(
1515
"""
16-
CREATE TABLE IF NOT EXISTS users (
16+
CREATE TABLE IF NOT EXISTS qs7_users (
1717
id INTEGER PRIMARY KEY,
1818
name TEXT NOT NULL
1919
)
2020
"""
2121
)
2222
session.execute(
2323
"""
24-
CREATE TABLE IF NOT EXISTS orders (
24+
CREATE TABLE IF NOT EXISTS qs7_orders (
2525
id INTEGER PRIMARY KEY,
2626
user_name TEXT NOT NULL
2727
)
2828
"""
2929
)
30-
session.execute("DELETE FROM users")
31-
session.execute("DELETE FROM orders")
32-
session.execute("INSERT INTO users (name) VALUES (?)", "Alice")
33-
session.execute("INSERT INTO orders (user_name) VALUES (?)", "Alice")
30+
session.execute("DELETE FROM qs7_users")
31+
session.execute("DELETE FROM qs7_orders")
32+
session.execute("INSERT INTO qs7_users (name) VALUES (?)", "Alice")
33+
session.execute("INSERT INTO qs7_orders (user_name) VALUES (?)", "Alice")
3434
session.commit()
3535

3636
with db_manager.provide_session(db) as session:
3737
session.begin()
38-
session.execute("INSERT INTO users (name) VALUES (?)", "Bob")
38+
session.execute("INSERT INTO qs7_users (name) VALUES (?)", "Bob")
3939
session.rollback()
4040

4141
with db_manager.provide_session(db) as session:
42-
alice = session.select_one_or_none("SELECT * FROM users WHERE name = ?", "Alice")
43-
bob = session.select_one_or_none("SELECT * FROM users WHERE name = ?", "Bob")
42+
alice = session.select_one_or_none("SELECT * FROM qs7_users WHERE name = ?", "Alice")
43+
bob = session.select_one_or_none("SELECT * FROM qs7_users WHERE name = ?", "Bob")
4444
# end-example
4545

4646
assert alice is not None

docs/examples/quickstart/quickstart_8.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ def test_quickstart_8() -> None:
66
from sqlspec import SQLSpec, sql
77
from sqlspec.adapters.sqlite import SqliteConfig
88

9-
query = sql.select("id", "name", "email").from_("users").where("age > ?").order_by("name")
9+
query = sql.select("id", "name", "email").from_("qs8_users").where("age > ?").order_by("name")
1010

1111
db_manager = SQLSpec()
1212
db = db_manager.add_config(SqliteConfig(pool_config={"database": ":memory:"}))
1313

1414
with db_manager.provide_session(db) as session:
1515
session.execute(
1616
"""
17-
CREATE TABLE users (id INTEGER, name TEXT, email TEXT, age INTEGER)
17+
CREATE TABLE qs8_users (id INTEGER, name TEXT, email TEXT, age INTEGER)
1818
"""
1919
)
20-
session.execute("INSERT INTO users VALUES (?, ?, ?, ?)", 1, "Alice", "[email protected]", 30)
20+
session.execute("INSERT INTO qs8_users VALUES (?, ?, ?, ?)", 1, "Alice", "[email protected]", 30)
2121
results = session.select(query, 25)
2222
print(results)
2323
# end-example

docs/examples/usage/usage_drivers_and_querying_2.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ async def test_example_2_importable(postgres_service: PostgresService) -> None:
1818
db = spec.add_config(AsyncpgConfig(pool_config={"dsn": dsn, "min_size": 10, "max_size": 20}))
1919
async with spec.provide_session(db) as session:
2020
create_table_query = """
21-
CREATE TABLE IF NOT EXISTS users (
21+
CREATE TABLE IF NOT EXISTS usage2_users (
2222
id SERIAL PRIMARY KEY,
2323
name VARCHAR(100),
2424
email VARCHAR(100) UNIQUE
@@ -27,12 +27,12 @@ async def test_example_2_importable(postgres_service: PostgresService) -> None:
2727
await session.execute(create_table_query)
2828
# Insert with RETURNING
2929
result = await session.execute(
30-
"INSERT INTO users (name, email) VALUES ($1, $2) RETURNING id", "Gretta", "[email protected]"
30+
"INSERT INTO usage2_users (name, email) VALUES ($1, $2) RETURNING id", "Gretta", "[email protected]"
3131
)
3232
new_id = result.scalar()
3333
print(f"Inserted user with ID: {new_id}")
3434
# Basic query
35-
result = await session.execute("SELECT * FROM users WHERE id = $1", 1)
35+
result = await session.execute("SELECT * FROM usage2_users WHERE id = $1", 1)
3636
user = result.one()
3737
print(f"User: {user}")
3838
# end-example

docs/examples/usage/usage_drivers_and_querying_3.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,18 @@ def test_example_3_sync(postgres_service: PostgresService) -> None:
2222

2323
with spec.provide_session(db) as session:
2424
create_table_query = """
25-
CREATE TABLE IF NOT EXISTS users (
25+
CREATE TABLE IF NOT EXISTS usage3_users (
2626
id SERIAL PRIMARY KEY,
2727
name VARCHAR(100),
2828
email VARCHAR(100) UNIQUE
2929
);
3030
"""
3131
session.execute(create_table_query)
3232
# Insert with RETURNING
33-
session.execute("INSERT INTO users (name, email) VALUES (%s, %s) RETURNING id", "Jane", "[email protected]")
34-
session.execute("SELECT * FROM users")
33+
session.execute(
34+
"INSERT INTO usage3_users (name, email) VALUES (%s, %s) RETURNING id", "Jane", "[email protected]"
35+
)
36+
session.execute("SELECT * FROM usage3_users")
3537
# end-example
3638

3739
spec.close_pool(db)

docs/examples/usage/usage_drivers_and_querying_4.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ async def test_example_4_async(postgres_service: PostgresService) -> None:
2222

2323
async with spec.provide_session(db) as session:
2424
create_table_query = """
25-
CREATE TABLE IF NOT EXISTS users (
25+
CREATE TABLE IF NOT EXISTS usage4_users (
2626
id SERIAL PRIMARY KEY,
2727
name VARCHAR(100),
2828
email VARCHAR(100) UNIQUE
@@ -31,9 +31,9 @@ async def test_example_4_async(postgres_service: PostgresService) -> None:
3131
await session.execute(create_table_query)
3232
# Insert with RETURNING
3333
await session.execute(
34-
"INSERT INTO users (name, email) VALUES (%s, %s) RETURNING id", "Bill", "[email protected]"
34+
"INSERT INTO usage4_users (name, email) VALUES (%s, %s) RETURNING id", "Bill", "[email protected]"
3535
)
36-
await session.execute("SELECT * FROM users")
36+
await session.execute("SELECT * FROM usage4_users")
3737
# end-example
3838

3939
await spec.close_pool(db)

docs/examples/usage/usage_drivers_and_querying_5.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,15 @@ async def test_example_5_construct_config(postgres_service: PostgresService) ->
1818
config = PsqlpyConfig(pool_config={"dsn": dsn})
1919
assert config is not None
2020
async with spec.provide_session(config) as session:
21-
create_table_query = """CREATE TABLE IF NOT EXISTS users (
21+
create_table_query = """CREATE TABLE IF NOT EXISTS usage5_users (
2222
id SERIAL PRIMARY KEY,
2323
name VARCHAR(100),
2424
email VARCHAR(100) UNIQUE
2525
); """
2626
await session.execute(create_table_query)
2727
# Insert with RETURNING
28-
await session.execute("INSERT INTO users (name, email) VALUES ($1, $2) RETURNING id", "Bob", "[email protected]")
29-
await session.execute("SELECT * FROM users WHERE id = $1", 1)
28+
await session.execute(
29+
"INSERT INTO usage5_users (name, email) VALUES ($1, $2) RETURNING id", "Bob", "[email protected]"
30+
)
31+
await session.execute("SELECT * FROM usage5_users WHERE id = $1", 1)
3032
# end-example

docs/examples/usage/usage_drivers_and_querying_6.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,16 @@ def test_example_6_sqlite_config() -> None:
1717
with spec.provide_session(config) as session:
1818
# Create table
1919
session.execute("""
20-
CREATE TABLE IF NOT EXISTS users (
20+
CREATE TABLE IF NOT EXISTS usage6_users (
2121
id INTEGER PRIMARY KEY,
2222
name TEXT NOT NULL
2323
)
2424
""")
2525

2626
# Insert with parameters
27-
session.execute("INSERT INTO users (name) VALUES (?)", "Alice")
27+
session.execute("INSERT INTO usage6_users (name) VALUES (?)", "Alice")
2828

2929
# Query
30-
result = session.execute("SELECT * FROM users")
30+
result = session.execute("SELECT * FROM usage6_users")
3131
result.all()
3232
# end-example

docs/examples/usage/usage_drivers_and_querying_8.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ async def test_example_8_aiosqlite_config() -> None:
1313
spec = SQLSpec()
1414

1515
async with spec.provide_session(config) as session:
16-
create_table_query = """CREATE TABLE IF NOT EXISTS users (
16+
create_table_query = """CREATE TABLE IF NOT EXISTS usage8_users (
1717
id INTEGER PRIMARY KEY AUTOINCREMENT,
1818
name TEXT NOT NULL
1919
);"""
2020
await session.execute(create_table_query)
21-
await session.execute("INSERT INTO users (name) VALUES (?)", "Bob")
22-
await session.execute("SELECT * FROM users")
21+
await session.execute("INSERT INTO usage8_users (name) VALUES (?)", "Bob")
22+
await session.execute("SELECT * FROM usage8_users")
2323
# end-example

0 commit comments

Comments
 (0)