MCPcopy Create free account
hub / github.com/sqlalchemy/sqlalchemy / test_expunge_cascade

Method test_expunge_cascade

test/orm/test_cascade.py:4378–4424  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

4376 eq_(r.cascade, CascadeOptions(expected))
4377
4378 def test_expunge_cascade(self):
4379 User, Order, orders, users = (
4380 self.classes.User,
4381 self.classes.Order,
4382 self.tables.orders,
4383 self.tables.users,
4384 )
4385
4386 self.mapper_registry.map_imperatively(Order, orders)
4387 self.mapper_registry.map_imperatively(
4388 User,
4389 users,
4390 properties={
4391 "orders": relationship(
4392 Order,
4393 primaryjoin=(
4394 self.tables.users.c.id
4395 == foreign(self.tables.orders.c.user_id)
4396 ),
4397 cascade="expunge",
4398 viewonly=True,
4399 )
4400 },
4401 )
4402
4403 sess = fixture_session()
4404 u = User(id=1, name="jack")
4405 sess.add(u)
4406 sess.add_all(
4407 [
4408 Order(id=1, user_id=1, description="someorder"),
4409 Order(id=2, user_id=1, description="someotherorder"),
4410 ]
4411 )
4412 sess.commit()
4413
4414 u1 = sess.query(User).first()
4415 orders = u1.orders
4416 eq_(len(orders), 2)
4417
4418 in_(orders[0], sess)
4419 in_(orders[1], sess)
4420
4421 sess.expunge(u1)
4422
4423 not_in(orders[0], sess)
4424 not_in(orders[1], sess)
4425
4426 def test_default_none_cascade(self):
4427 User, Order, orders, users = (

Callers

nothing calls this directly

Calls 15

relationshipFunction · 0.90
foreignFunction · 0.90
fixture_sessionFunction · 0.90
eq_Function · 0.90
in_Function · 0.90
not_inFunction · 0.90
map_imperativelyMethod · 0.80
UserClass · 0.70
OrderClass · 0.70
addMethod · 0.45
add_allMethod · 0.45
commitMethod · 0.45

Tested by

no test coverage detected