• Dylan Griffith's avatar
    Fix spec violations for internal_ids cross-database modifications · e8a14346
    Dylan Griffith authored
    At present all the spec violations we found are false positives caused
    by the fact that `ensure_project_iid!` is not called on the pipeline
    before saving. We can remove many of them by just doing this in the
    `after(:build)` for the `ci_pipeline` factory.
    
    There are still a couple in `atomic_internal_id_shared_examples` but
    these are specs that are explicitly trying to do things in transactions
    and rolling things back so they aren't really representative of real
    application code so it seemed easier to just wrap these in `allow_...`
    for now and extract an issue if we ever want to actually refactor these
    tests. It may be tricky to refactor them because they are used for other
    models where these transaction behaviours being tested do indeed matter.
    e8a14346
cross-database-modification-allowlist.yml 4.78 KB