Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-5444

Test infrastructure ensuring that old engine completes old instances after schema migration

    Details

      Description

      AT:

      • old db schema is created
      • old engine starts instances
      • schema is migrated to newer version
      • old engine completes existing instances

        Issue Links

          Activity

          Hide
          sebastian.menski Sebastian Menski added a comment -

          Hi Christopher Zell,

          just reassign me if the jenkins issues are fixed.

          Cheers,
          Sebastian

          Show
          sebastian.menski Sebastian Menski added a comment - Hi Christopher Zell , just reassign me if the jenkins issues are fixed. Cheers, Sebastian
          Hide
          sebastian.menski Sebastian Menski added a comment -

          Also please update the README so other people can understand the setup without always asking you.

          Show
          sebastian.menski Sebastian Menski added a comment - Also please update the README so other people can understand the setup without always asking you.
          Hide
          sebastian.menski Sebastian Menski added a comment -

          Review Hints:

          • I think we should reuse the existing instance migration test suite
          • delete the test-old-engine-instances project
          • delete the jenkins job for the removed project from the jobdsl or ask Sebastian Menski to do it
          • add a new module test-old-engine in the instance migration project after the test-fixture-76 module and before test-migration module, the test-fixture-76 already does the database upgrade to 7.6
          • the new module test-old-engine uses the 7.5.x version of the engine to execute the tests and does no database operations, like upgrade, create or drop
          • test instance for the old-engine are started int the test-fixture-75

          Advantages:

          • reusing of existing code infrastructure instead of coping it
          • if upgrade scripts should be tested which introduce new columns with default values already existing instance from other tests can be reused without creating new test instances
          Show
          sebastian.menski Sebastian Menski added a comment - Review Hints: I think we should reuse the existing instance migration test suite delete the test-old-engine-instances project delete the jenkins job for the removed project from the jobdsl or ask Sebastian Menski to do it add a new module test-old-engine in the instance migration project after the test-fixture-76 module and before test-migration module, the test-fixture-76 already does the database upgrade to 7.6 the new module test-old-engine uses the 7.5.x version of the engine to execute the tests and does no database operations, like upgrade, create or drop test instance for the old-engine are started int the test-fixture-75 Advantages: reusing of existing code infrastructure instead of coping it if upgrade scripts should be tested which introduce new columns with default values already existing instance from other tests can be reused without creating new test instances
          Show
          sebastian.menski Sebastian Menski added a comment - I removed the job from the jobdsl: https://github.com/camunda-ci/jenkins-job-dsl-seed-jobs/commit/1bc0b886b0d6ab34148a6e26c8c5ebc5edd36dac
          Show
          sebastian.menski Sebastian Menski added a comment - Why did you choose rolling/scenarios instead of screnarios/rolling ? https://github.com/camunda/camunda-bpm-platform/tree/master/qa/test-db-instance-migration/test-fixture-75/src/main/java/org/camunda/bpm/qa/upgrade Can you please adjust your test to use the instance migration infrastructure. Use ScenarioUnderTest, Origin and the UpgradeTestRule. Have a look at this examples: Fixture: https://github.com/camunda/camunda-bpm-platform/blob/master/qa/test-db-instance-migration/test-fixture-73/src/main/java/org/camunda/bpm/qa/upgrade/scenarios/boundary/NonInterruptingBoundaryEventScenario.java Test: https://github.com/camunda/camunda-bpm-platform/blob/master/qa/test-db-instance-migration/test-migration/src/test/java/org/camunda/bpm/qa/upgrade/scenarios730/boundary/NonInterruptingBoundaryEventScenarioTest.java
          Hide
          sebastian.menski Sebastian Menski added a comment -

          Hi Christopher Zell,

          the reason I wanted you to align the test case was that you should use the upgrade test rule instead of queries by process definition key. In the migration test suite there can be multiple instances of a process definition so such queries are not the best approach.

          If you instead use the upgrade test rule queries, which use an unique business key, these problems do not exist.

          I adjusted the test case, see: https://github.com/camunda/camunda-bpm-platform/commit/f4bb3768535315e6d5957e8471e6155fc7bc78ea

          Cheers,
          Sebastian

          Show
          sebastian.menski Sebastian Menski added a comment - Hi Christopher Zell , the reason I wanted you to align the test case was that you should use the upgrade test rule instead of queries by process definition key. In the migration test suite there can be multiple instances of a process definition so such queries are not the best approach. If you instead use the upgrade test rule queries, which use an unique business key, these problems do not exist. I adjusted the test case, see: https://github.com/camunda/camunda-bpm-platform/commit/f4bb3768535315e6d5957e8471e6155fc7bc78ea Cheers, Sebastian
          Hide
          christopher.zell Christopher Zell added a comment -

          Hey Sebastian Menski,

          yeah you're right, it is much better.
          Thanks for the changes!

          Greets,
          Chris

          Show
          christopher.zell Christopher Zell added a comment - Hey Sebastian Menski , yeah you're right, it is much better. Thanks for the changes! Greets, Chris

            People

            • Assignee:
              sebastian.menski Sebastian Menski
              Reporter:
              gimbel Robert Gimbel
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: