(self)
| 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", |
nothing calls this directly
no test coverage detected