MCPcopy Index your code
hub / github.com/sqlalchemy/sqlalchemy / test_entity_mapping_access

Method test_entity_mapping_access

test/orm/test_query.py:370–409  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

368 assert "jack" in row
369
370 def test_entity_mapping_access(self):
371 User, users = self.classes.User, self.tables.users
372 Address, addresses = self.classes.Address, self.tables.addresses
373
374 self.mapper_registry.map_imperatively(
375 User, users, properties={"addresses": relationship(Address)}
376 )
377 self.mapper_registry.map_imperatively(Address, addresses)
378
379 s = fixture_session()
380
381 row = s.query(User).only_return_tuples(True).first()
382 eq_(row._mapping[User], row[0])
383
384 row = s.query(User, Address).join(User.addresses).first()
385 eq_(row._mapping[User], row[0])
386 eq_(row._mapping[Address], row[1])
387 eq_(row._mapping["User"], row[0])
388 eq_(row._mapping["Address"], row[1])
389
390 u1 = aliased(User)
391 row = s.query(u1).only_return_tuples(True).first()
392 eq_(row._mapping[u1], row[0])
393 assert_raises(KeyError, lambda: row._mapping[User])
394
395 row = (
396 s.query(User.id, Address.email_address)
397 .join(User.addresses)
398 .first()
399 )
400
401 eq_(row._mapping[User.id], row[0])
402 eq_(row._mapping[User.id], row[0])
403 eq_(row._mapping["id"], row[0])
404 eq_(row._mapping[Address.email_address], row[1])
405 eq_(row._mapping["email_address"], row[1])
406 eq_(row._mapping[users.c.id], row[0])
407 eq_(row._mapping[addresses.c.email_address], row[1])
408 assert_raises(KeyError, lambda: row._mapping[User.name])
409 assert_raises(KeyError, lambda: row._mapping[users.c.name])
410
411 @testing.combinations(
412 lambda sess, User: (

Callers

nothing calls this directly

Calls 10

relationshipFunction · 0.90
fixture_sessionFunction · 0.90
eq_Function · 0.90
aliasedFunction · 0.90
assert_raisesFunction · 0.90
map_imperativelyMethod · 0.80
only_return_tuplesMethod · 0.80
firstMethod · 0.45
queryMethod · 0.45
joinMethod · 0.45

Tested by

no test coverage detected