test #11347
(self, stmt_type, col_type)
| 233 | ) |
| 234 | @testing.variation("col_type", ["orm", "core"]) |
| 235 | def test_dupe_col_name_nested(self, stmt_type, col_type): |
| 236 | """test #11347""" |
| 237 | Data = self.classes.Data |
| 238 | sess = fixture_session() |
| 239 | |
| 240 | if col_type.core: |
| 241 | data_table = self.tables.data |
| 242 | |
| 243 | b1 = DictBundle("b1", data_table.c.d1, data_table.c.d3) |
| 244 | b2 = DictBundle("b2", data_table.c.d2, data_table.c.d3) |
| 245 | b3 = DictBundle("b3", data_table.c.d2, data_table.c.d3, b1, b2) |
| 246 | elif col_type.orm: |
| 247 | b1 = DictBundle("b1", Data.d1, Data.d3) |
| 248 | b2 = DictBundle("b2", Data.d2, Data.d3) |
| 249 | b3 = DictBundle("b3", Data.d2, Data.d3, b1, b2) |
| 250 | else: |
| 251 | col_type.fail() |
| 252 | |
| 253 | if stmt_type.legacy: |
| 254 | row = ( |
| 255 | sess.query(Data.d1, Data.d2, b3) |
| 256 | .filter(Data.d1 == "d0d1") |
| 257 | .one() |
| 258 | ) |
| 259 | elif stmt_type.newstyle: |
| 260 | row = sess.execute( |
| 261 | select(Data.d1, Data.d2, b3).filter(Data.d1 == "d0d1") |
| 262 | ).one() |
| 263 | elif stmt_type.newstyle_w_label_conv: |
| 264 | row = sess.execute( |
| 265 | select(Data.d1, Data.d2, b3) |
| 266 | .filter(Data.d1 == "d0d1") |
| 267 | .set_label_style( |
| 268 | SelectLabelStyle.LABEL_STYLE_TABLENAME_PLUS_COL |
| 269 | ) |
| 270 | ).one() |
| 271 | else: |
| 272 | stmt_type.fail() |
| 273 | |
| 274 | if stmt_type.newstyle_w_label_conv: |
| 275 | eq_( |
| 276 | row._mapping, |
| 277 | { |
| 278 | "data_d1": "d0d1", |
| 279 | "data_d2": "d0d2", |
| 280 | "b3": { |
| 281 | "d2": "d0d2", |
| 282 | "d3": "d0d3", |
| 283 | "b1": {"d1": "d0d1", "d3": "d0d3"}, |
| 284 | "b2": {"d2": "d0d2", "d3": "d0d3"}, |
| 285 | }, |
| 286 | }, |
| 287 | ) |
| 288 | else: |
| 289 | eq_( |
| 290 | row._mapping, |
| 291 | { |
| 292 | "d1": "d0d1", |
nothing calls this directly
no test coverage detected