Skip to content

Commit fd5cb65

Browse files
committed
Test fixes — safety first STOP if not in test mode
1 parent 861470a commit fd5cb65

3 files changed

Lines changed: 14 additions & 2 deletions

File tree

components/rsptx/db/async_session.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
# Generate this key once and store it securely (e.g., env var or config file)
5757
fernet = Fernet(settings.fernet_secret)
5858

59-
59+
import pdb
6060
async def init_models():
6161
async with engine.begin() as conn:
6262
# Never, ever drop tables in a production environment!
@@ -65,6 +65,7 @@ async def init_models():
6565
in [BookServerConfig.development, BookServerConfig.test]
6666
and settings.drop_tables == "Yes"
6767
):
68+
pdb.set_trace()
6869
await conn.run_sync(Base.metadata.drop_all)
6970
await conn.run_sync(Base.metadata.create_all)
7071

components/rsptx/db/models.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -530,13 +530,20 @@ class AuthGroup(Base, IdMixin):
530530

531531
role = Column(String(512))
532532
description = Column(Text)
533+
memberships = relationship(
534+
"AuthMembership",
535+
back_populates="group",
536+
cascade="all, delete-orphan",
537+
passive_deletes=True,
538+
)
533539

534540

535541
class AuthMembership(Base, IdMixin):
536542
__tablename__ = "auth_membership"
537543

538544
user_id = Column(ForeignKey("auth_user.id", ondelete="CASCADE"))
539545
group_id = Column(ForeignKey("auth_group.id", ondelete="CASCADE"))
546+
group = relationship("AuthGroup", back_populates="memberships")
540547

541548

542549
class CourseInstructor(Base, IdMixin):

test/conftest.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,11 @@
1515

1616
def pytest_configure(config):
1717
"""Set test environment variables before any rsptx modules are imported."""
18-
os.environ.setdefault("SERVER_CONFIG", "test")
18+
server_config = os.environ.setdefault("SERVER_CONFIG", "test")
19+
if server_config != "test":
20+
raise RuntimeError(
21+
f"SERVER_CONFIG is set to '{server_config}', but must be 'test' for the test suite."
22+
)
1923
os.environ.setdefault(
2024
"TEST_DBURL",
2125
"postgresql://runestone:runestone@localhost:2345/runestone_test",

0 commit comments

Comments
 (0)