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