MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_expunge_cascade

Method test_expunge_cascade

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

Source from the content-addressed store, hash-verified

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