MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_noload_remove

Method test_noload_remove

test/orm/test_dynamic.py:1144–1181  ·  view source on GitHub ↗
(self, user_address_fixture)

Source from the content-addressed store, hash-verified

1142 )
1143
1144 def test_noload_remove(self, user_address_fixture):
1145 # test that a load of User.addresses is not emitted
1146 # when flushing a remove
1147 User, Address = user_address_fixture()
1148
1149 sess = fixture_session()
1150 u1 = User(name="jack", addresses=[Address(email_address="a1")])
1151 a2 = Address(email_address="a2")
1152 u1.addresses.add(a2)
1153 sess.add(u1)
1154 sess.commit()
1155
1156 u1_id = u1.id
1157 a2_id = a2.id
1158 sess.expire_all()
1159
1160 u1.addresses.remove(a2)
1161
1162 self.assert_sql_execution(
1163 testing.db,
1164 sess.flush,
1165 CompiledSQL(
1166 "SELECT addresses.id, addresses.email_address "
1167 "FROM addresses "
1168 "WHERE addresses.id = :pk_1",
1169 lambda ctx: [{"pk_1": a2_id}],
1170 ),
1171 CompiledSQL(
1172 "UPDATE addresses SET user_id=:user_id WHERE addresses.id = "
1173 ":addresses_id",
1174 lambda ctx: [{"addresses_id": a2_id, "user_id": None}],
1175 ),
1176 CompiledSQL(
1177 "SELECT users.id, users.name "
1178 "FROM users WHERE users.id = :pk_1",
1179 lambda ctx: [{"pk_1": u1_id}],
1180 ),
1181 )
1182
1183 def test_rollback(self, user_address_fixture):
1184 User, Address = user_address_fixture()

Callers

nothing calls this directly

Calls 9

fixture_sessionFunction · 0.90
CompiledSQLClass · 0.90
assert_sql_executionMethod · 0.80
UserClass · 0.70
AddressClass · 0.70
addMethod · 0.45
commitMethod · 0.45
expire_allMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected