MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_exceptions_sticky

Method test_exceptions_sticky

test/orm/test_mapper.py:296–327  ·  view source on GitHub ↗

test preservation of mapper compile errors raised during hasattr(), as well as for redundant mapper compile calls. Test that repeated calls don't stack up error messages.

(self)

Source from the content-addressed store, hash-verified

294 eq_(str(User.addresses), "User.addresses")
295
296 def test_exceptions_sticky(self):
297 """test preservation of mapper compile errors raised during hasattr(),
298 as well as for redundant mapper compile calls. Test that
299 repeated calls don't stack up error messages.
300
301 """
302
303 Address, addresses, User = (
304 self.classes.Address,
305 self.tables.addresses,
306 self.classes.User,
307 )
308
309 self.mapper(
310 Address, addresses, properties={"user": relationship(User)}
311 )
312
313 try:
314 hasattr(Address.user, "property")
315 except sa.orm.exc.UnmappedClassError:
316 assert True
317
318 for i in range(3):
319 assert_raises_message(
320 sa.exc.InvalidRequestError,
321 "One or more mappers failed to initialize - can't "
322 "proceed with initialization of other mappers. "
323 r"Triggering mapper: 'Mapper\[Address\(addresses\)\]'. "
324 "Original exception was: Class 'test.orm._fixtures.User' "
325 "is not mapped",
326 configure_mappers,
327 )
328
329 def test_column_prefix(self):
330 users, User = self.tables.users, self.classes.User

Callers

nothing calls this directly

Calls 3

relationshipFunction · 0.90
assert_raises_messageFunction · 0.90
mapperMethod · 0.45

Tested by

no test coverage detected