(self)
| 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 = ( |
nothing calls this directly
no test coverage detected