(self, connection, metadata)
| 1291 | |
| 1292 | @testing.requires.insertmanyvalues |
| 1293 | def test_fixture_randomizing(self, connection, metadata): |
| 1294 | t = Table( |
| 1295 | "t", |
| 1296 | metadata, |
| 1297 | Column("id", Integer, Identity(), primary_key=True), |
| 1298 | Column("data", String(50)), |
| 1299 | ) |
| 1300 | metadata.create_all(connection) |
| 1301 | |
| 1302 | insertmanyvalues_fixture(connection, randomize_rows=True) |
| 1303 | |
| 1304 | results = set() |
| 1305 | |
| 1306 | for i in range(15): |
| 1307 | result = connection.execute( |
| 1308 | insert(t).returning(t.c.data, sort_by_parameter_order=False), |
| 1309 | [{"data": "d1"}, {"data": "d2"}, {"data": "d3"}], |
| 1310 | ) |
| 1311 | |
| 1312 | hashed_result = tuple(result.all()) |
| 1313 | results.add(hashed_result) |
| 1314 | if len(results) > 1: |
| 1315 | return |
| 1316 | else: |
| 1317 | assert False, "got same order every time for 15 tries" |
| 1318 | |
| 1319 | @testing.only_on("postgresql>=13") |
| 1320 | @testing.variation("downgrade", [True, False]) |
nothing calls this directly
no test coverage detected