(self)
| 981 | ) |
| 982 | |
| 983 | def test_many_to_one_save(self): |
| 984 | Node, nodes = self.classes.Node, self.tables.nodes |
| 985 | |
| 986 | self.mapper_registry.map_imperatively( |
| 987 | Node, |
| 988 | nodes, |
| 989 | properties={"parent": relationship(Node, remote_side=nodes.c.id)}, |
| 990 | ) |
| 991 | sess = fixture_session() |
| 992 | |
| 993 | n1 = Node(data="n1") |
| 994 | n2, n3 = Node(data="n2", parent=n1), Node(data="n3", parent=n1) |
| 995 | |
| 996 | sess.add_all([n2, n3]) |
| 997 | |
| 998 | self.assert_sql_execution( |
| 999 | testing.db, |
| 1000 | sess.flush, |
| 1001 | CompiledSQL( |
| 1002 | "INSERT INTO nodes (parent_id, data) VALUES " |
| 1003 | "(:parent_id, :data)", |
| 1004 | {"parent_id": None, "data": "n1"}, |
| 1005 | ), |
| 1006 | Conditional( |
| 1007 | testing.db.dialect.insert_executemany_returning, |
| 1008 | [ |
| 1009 | CompiledSQL( |
| 1010 | "INSERT INTO nodes (parent_id, data) VALUES " |
| 1011 | "(:parent_id, :data) RETURNING nodes.id", |
| 1012 | lambda ctx: [ |
| 1013 | {"parent_id": n1.id, "data": "n2"}, |
| 1014 | {"parent_id": n1.id, "data": "n3"}, |
| 1015 | ], |
| 1016 | ), |
| 1017 | ], |
| 1018 | [ |
| 1019 | AllOf( |
| 1020 | CompiledSQL( |
| 1021 | "INSERT INTO nodes (parent_id, data) VALUES " |
| 1022 | "(:parent_id, :data)", |
| 1023 | lambda ctx: {"parent_id": n1.id, "data": "n2"}, |
| 1024 | ), |
| 1025 | CompiledSQL( |
| 1026 | "INSERT INTO nodes (parent_id, data) VALUES " |
| 1027 | "(:parent_id, :data)", |
| 1028 | lambda ctx: {"parent_id": n1.id, "data": "n3"}, |
| 1029 | ), |
| 1030 | ), |
| 1031 | ], |
| 1032 | ), |
| 1033 | ) |
| 1034 | |
| 1035 | def test_many_to_one_delete_all(self): |
| 1036 | Node, nodes = self.classes.Node, self.tables.nodes |
nothing calls this directly
no test coverage detected