MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_merge_irregular_collection

Method test_merge_irregular_collection

test/orm/test_merge.py:592–616  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

590 assert u6.__dict__["data"] is None
591
592 def test_merge_irregular_collection(self):
593 users, Address, addresses, User = (
594 self.tables.users,
595 self.classes.Address,
596 self.tables.addresses,
597 self.classes.User,
598 )
599
600 self.mapper_registry.map_imperatively(
601 User,
602 users,
603 properties={
604 "addresses": relationship(
605 self.mapper_registry.map_imperatively(Address, addresses),
606 backref="user",
607 collection_class=attribute_keyed_dict("email_address"),
608 )
609 },
610 )
611 u1 = User(id=7, name="fred")
612 u1.addresses["foo@bar.com"] = Address(email_address="foo@bar.com")
613 sess = fixture_session()
614 sess.merge(u1)
615 sess.flush()
616 assert list(u1.addresses.keys()) == ["foo@bar.com"]
617
618 def test_attribute_cascade(self):
619 """Merge of a persistent entity with two child

Callers

nothing calls this directly

Calls 9

relationshipFunction · 0.90
fixture_sessionFunction · 0.90
attribute_keyed_dictFunction · 0.85
map_imperativelyMethod · 0.80
UserClass · 0.70
AddressClass · 0.70
mergeMethod · 0.45
flushMethod · 0.45
keysMethod · 0.45

Tested by

no test coverage detected