| 3306 | |
| 3307 | |
| 3308 | class ViewOnlySyncBackref(fixtures.MappedTest): |
| 3309 | @classmethod |
| 3310 | def define_tables(cls, metadata): |
| 3311 | Table( |
| 3312 | "t1", |
| 3313 | metadata, |
| 3314 | Column( |
| 3315 | "id", Integer, primary_key=True, test_needs_autoincrement=True |
| 3316 | ), |
| 3317 | Column("data", String(40)), |
| 3318 | ) |
| 3319 | Table( |
| 3320 | "t2", |
| 3321 | metadata, |
| 3322 | Column( |
| 3323 | "id", Integer, primary_key=True, test_needs_autoincrement=True |
| 3324 | ), |
| 3325 | Column("data", String(40)), |
| 3326 | Column("t1id", Integer, ForeignKey("t1.id")), |
| 3327 | ) |
| 3328 | |
| 3329 | class Case: |
| 3330 | def __init__( |
| 3331 | self, |
| 3332 | Ba_err=False, |
| 3333 | Abs_err=False, |
| 3334 | map_err=False, |
| 3335 | Ba_evt=False, |
| 3336 | Abs_evt=False, |
| 3337 | ): |
| 3338 | self.B_a_init_error = Ba_err |
| 3339 | self.A_bs_init_error = Abs_err |
| 3340 | self.map_error = map_err |
| 3341 | self.B_a_event = Ba_evt |
| 3342 | self.A_bs_event = Abs_evt |
| 3343 | |
| 3344 | def __repr__(self): |
| 3345 | return str(self.__dict__) |
| 3346 | |
| 3347 | cases = { |
| 3348 | # (B_a_view, B_a_sync, A_bs_view, A_bs_sync) |
| 3349 | (0, 0, 0, 0): Case(), |
| 3350 | (0, 0, 0, 1): Case(Abs_evt=1), |
| 3351 | (0, 0, 1, 0): Case(), |
| 3352 | (0, 0, 1, 1): Case(Abs_err=1), |
| 3353 | (0, 1, 0, 0): Case(Ba_evt=1), |
| 3354 | (0, 1, 0, 1): Case(Ba_evt=1, Abs_evt=1), |
| 3355 | (0, 1, 1, 0): Case(map_err="BA"), |
| 3356 | (0, 1, 1, 1): Case(Abs_err=1), |
| 3357 | (1, 0, 0, 0): Case(), |
| 3358 | (1, 0, 0, 1): Case(map_err="AB"), |
| 3359 | (1, 0, 1, 0): Case(), |
| 3360 | (1, 0, 1, 1): Case(Abs_err=1), |
| 3361 | (1, 1, 0, 0): Case(Ba_err=1), |
| 3362 | (1, 1, 0, 1): Case(Ba_err=1), |
| 3363 | (1, 1, 1, 0): Case(Ba_err=1), |
| 3364 | (1, 1, 1, 1): Case(Abs_err=1), |
| 3365 | (0, None, 0, 0): Case(Ba_evt=1), |