MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_is_modified

Method test_is_modified

test/orm/test_session.py:2321–2349  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

2319 return User, Address
2320
2321 def test_is_modified(self):
2322 User, Address = self._default_mapping_fixture()
2323
2324 s = fixture_session()
2325
2326 # save user
2327 u = User(name="fred")
2328 s.add(u)
2329 s.flush()
2330 s.expunge_all()
2331
2332 user = s.query(User).one()
2333 assert user not in s.dirty
2334 assert not s.is_modified(user)
2335 user.name = "fred"
2336 assert user in s.dirty
2337 assert not s.is_modified(user)
2338 user.name = "ed"
2339 assert user in s.dirty
2340 assert s.is_modified(user)
2341 s.flush()
2342 assert user not in s.dirty
2343 assert not s.is_modified(user)
2344
2345 a = Address()
2346 user.addresses.append(a)
2347 assert user in s.dirty
2348 assert s.is_modified(user)
2349 assert not s.is_modified(user, include_collections=False)
2350
2351 def test_is_modified_passive_off(self):
2352 """as of 0.8 no SQL is emitted for is_modified()

Callers

nothing calls this directly

Calls 11

fixture_sessionFunction · 0.90
UserClass · 0.70
AddressClass · 0.70
addMethod · 0.45
flushMethod · 0.45
expunge_allMethod · 0.45
oneMethod · 0.45
queryMethod · 0.45
is_modifiedMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected