MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_transient_to_pending

Method test_transient_to_pending

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

Source from the content-addressed store, hash-verified

86 eq_(len(u2.__dict__["addresses"]), 1)
87
88 def test_transient_to_pending(self):
89 User, users = self.classes.User, self.tables.users
90
91 self.mapper_registry.map_imperatively(User, users)
92 sess = fixture_session()
93 load = self.load_tracker(User)
94
95 u = User(id=7, name="fred")
96 eq_(load.called, 0)
97 u2 = sess.merge(u)
98 eq_(load.called, 1)
99 assert u2 in sess
100 eq_(u2, User(id=7, name="fred"))
101 sess.flush()
102 sess.expunge_all()
103 eq_(sess.query(User).first(), User(id=7, name="fred"))
104
105 def test_transient_to_pending_no_pk(self):
106 """test that a transient object with no PK attribute

Callers

nothing calls this directly

Calls 10

load_trackerMethod · 0.95
fixture_sessionFunction · 0.90
eq_Function · 0.90
map_imperativelyMethod · 0.80
UserClass · 0.70
mergeMethod · 0.45
flushMethod · 0.45
expunge_allMethod · 0.45
firstMethod · 0.45
queryMethod · 0.45

Tested by

no test coverage detected