MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_many_to_one_save

Method test_many_to_one_save

test/orm/test_unitofworkv2.py:983–1033  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 9

relationshipFunction · 0.90
fixture_sessionFunction · 0.90
CompiledSQLClass · 0.90
ConditionalClass · 0.90
AllOfClass · 0.90
map_imperativelyMethod · 0.80
assert_sql_executionMethod · 0.80
NodeClass · 0.70
add_allMethod · 0.45

Tested by

no test coverage detected