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

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

      AT:

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

        This is the controller panel for Smart Panels app

            [CAM-5444] Test infrastructure ensuring that old engine completes old instances after schema migration

            Hi christopher.zell,

            just reassign me if the jenkins issues are fixed.

            Cheers,
            Sebastian

            Sebastian Menski added a comment - Hi christopher.zell , just reassign me if the jenkins issues are fixed. Cheers, Sebastian

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

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

            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

            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

            Sebastian Menski added a comment - I removed the job from the jobdsl: https://github.com/camunda-ci/jenkins-job-dsl-seed-jobs/commit/1bc0b886b0d6ab34148a6e26c8c5ebc5edd36dac

            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

            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

            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

            Hey sebastian.menski,

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

            Greets,
            Chris

            Christopher Kujawa added a comment - Hey sebastian.menski , yeah you're right, it is much better. Thanks for the changes! Greets, Chris

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

                Created:
                Updated:
                Resolved: