Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-8392

[QE] ATS execute database tests in CI

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • None
    • testing
    • False
    • None
    • False

      After AMQ 7.11.2, 7.12, and upstream/main, it is possible to run the DB-tests module against many databases.

      You have to enable a profile for each database:

      -PDB-oracle-tests
      -PDB-mysql-tests
      -PDB-mssql-tests
      -PDB-db2-tests
      -PDB-postgres-tests
      -PDB-derby-tests
      

      You can also pass a property for each JDBC connection:

      -Doracle.uri='your-connection-jdbc-'
      -Ddb2.uri='-your-connection-jdbc-'
      -Dmssql.uri='your-connection-uri'
      -Ddb2.uri='your-connection-uri'
      -Dpostgres.uri='your-connection-uri'
      # no need to provide one for derby
      -Dderby.uri='your-connection-uri'
      

      There are two ways this could e accomplished. By starting the databases using the scripts provided under ./tests/DB-tests/scripts on the same node where these tests would run (on which case you don't need to pass in the JDBC connections configuration), or use a DB allocator.

      Notice that the test runnings will need GRANT to drop the tables. and you can't run multiple instances of these tests against the same database.

      This would increase our coverage on the test suite. and it would give better support for our Databases.

      Notice that you also need to provide the ojdbc.jar for Oracle and place it under tests/db-tests/jdbc-drivers/oracle

      What is required here is to setup a mechanism (jenkins job) to run these tests against the DB container images or at least a DB-allocator.

              mtoth@redhat.com Michal Toth
              csuconic@redhat.com Clebert Suconic
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: