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

Method test_basic

test/orm/test_eager_relations.py:4536–4610  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

4534 )
4535
4536 def test_basic(self):
4537 nodes = self.tables.nodes
4538
4539 class Node(ComparableEntity):
4540 def append(self, node):
4541 self.children.append(node)
4542
4543 self.mapper_registry.map_imperatively(
4544 Node,
4545 nodes,
4546 properties={
4547 "children": relationship(
4548 Node, lazy="joined", join_depth=3, order_by=nodes.c.id
4549 )
4550 },
4551 )
4552 sess = fixture_session()
4553 n1 = Node(data="n1")
4554 n1.append(Node(data="n11"))
4555 n1.append(Node(data="n12"))
4556 n1.append(Node(data="n13"))
4557 n1.children[1].append(Node(data="n121"))
4558 n1.children[1].append(Node(data="n122"))
4559 n1.children[1].append(Node(data="n123"))
4560 sess.add(n1)
4561 sess.flush()
4562 sess.expunge_all()
4563
4564 def go():
4565 d = sess.query(Node).filter_by(data="n1").all()[0]
4566 eq_(
4567 Node(
4568 data="n1",
4569 children=[
4570 Node(data="n11"),
4571 Node(
4572 data="n12",
4573 children=[
4574 Node(data="n121"),
4575 Node(data="n122"),
4576 Node(data="n123"),
4577 ],
4578 ),
4579 Node(data="n13"),
4580 ],
4581 ),
4582 d,
4583 )
4584
4585 self.assert_sql_count(testing.db, go, 1)
4586
4587 sess.expunge_all()
4588
4589 def go():
4590 d = sess.query(Node).filter_by(data="n1").first()
4591 eq_(
4592 Node(
4593 data="n1",

Callers

nothing calls this directly

Calls 9

appendMethod · 0.95
relationshipFunction · 0.90
fixture_sessionFunction · 0.90
map_imperativelyMethod · 0.80
assert_sql_countMethod · 0.80
NodeClass · 0.70
addMethod · 0.45
flushMethod · 0.45
expunge_allMethod · 0.45

Tested by

no test coverage detected