(self)
| 17 | |
| 18 | class 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 = ( |
nothing calls this directly
no test coverage detected