MCPcopy Create free account
hub / github.com/sqlalchemy/sqlalchemy / test_is_modified

Method test_is_modified

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

Source from the content-addressed store, hash-verified

1920 return User, Address
1921
1922 def test_is_modified(self):
1923 User, Address = self._default_mapping_fixture()
1924
1925 s = fixture_session()
1926
1927 # save user
1928 u = User(name="fred")
1929 s.add(u)
1930 s.flush()
1931 s.expunge_all()
1932
1933 user = s.query(User).one()
1934 assert user not in s.dirty
1935 assert not s.is_modified(user)
1936 user.name = "fred"
1937 assert user in s.dirty
1938 assert not s.is_modified(user)
1939 user.name = "ed"
1940 assert user in s.dirty
1941 assert s.is_modified(user)
1942 s.flush()
1943 assert user not in s.dirty
1944 assert not s.is_modified(user)
1945
1946 a = Address()
1947 user.addresses.append(a)
1948 assert user in s.dirty
1949 assert s.is_modified(user)
1950 assert not s.is_modified(user, include_collections=False)
1951
1952 def test_is_modified_passive_off(self):
1953 """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