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

Method test_scalar

test/orm/test_validators.py:19–44  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

17
18class ValidatorTest(_fixtures.FixtureTest):
19 def test_scalar(self):
20 users = self.tables.users
21 canary = Mock()
22
23 class User(ComparableEntity):
24 @validates("name")
25 def validate_name(self, key, name):
26 canary(key, name)
27 ne_(name, "fred")
28 return name + " modified"
29
30 self.mapper_registry.map_imperatively(User, users)
31 sess = fixture_session()
32 u1 = User(name="ed")
33 eq_(u1.name, "ed modified")
34 assert_raises(AssertionError, setattr, u1, "name", "fred")
35 eq_(u1.name, "ed modified")
36 eq_(canary.mock_calls, [call("name", "ed"), call("name", "fred")])
37
38 sess.add(u1)
39 sess.commit()
40
41 eq_(
42 sess.query(User).filter_by(name="ed modified").one(),
43 User(name="ed"),
44 )
45
46 def test_collection(self):
47 users, addresses, Address = (

Callers

nothing calls this directly

Calls 11

fixture_sessionFunction · 0.90
eq_Function · 0.90
assert_raisesFunction · 0.90
callFunction · 0.85
map_imperativelyMethod · 0.80
UserClass · 0.70
addMethod · 0.45
commitMethod · 0.45
oneMethod · 0.45
filter_byMethod · 0.45
queryMethod · 0.45

Tested by

no test coverage detected