activemq-artemis/tests/db-tests
Clebert Suconic de6efc82d1 [maven-release-plugin] prepare release 2.37.0 2024-08-14 14:39:21 -04:00
..
scripts ARTEMIS-4401 improving JDBC Performance with Paging by a significant factor 2023-09-12 08:34:09 -04:00
src/test/java/org/apache/activemq/artemis/tests/db ARTEMIS-4829 use lambdas consistently 2024-06-21 12:01:16 -04:00
README.md ARTEMIS-4627 Use now publicly available jdbc drivers for Oracle 2024-02-01 08:47:04 -05:00
pom.xml [maven-release-plugin] prepare release 2.37.0 2024-08-14 14:39:21 -04:00

README.md

Database Tests

This module runs tests against selected Databases.

There is one profile for each supported Database:

  • DB-derby-tests
  • DB-postgres-tests
  • DB-mysql-tests
  • DB-mssql-tests
  • DB-db2-tests
  • DB-oracle-tests

To enable the testsuite to run against any of these databases, simply enable the corresponding profiles.

Providing Databases

When enabling a Database profile, you must download and provide the running database for that profile. You can also configure the JDBC URI.

You can refer to the examples provided under ./scripts. Please note that you are responsible for complying with the licensing requirements of each database you provide.

Configuring the JDBC URI

You can pass the JDBC URI as a parameter using the following supported parameters:

  • derby.uri
  • postgres.uri
  • mysql.uri
  • mssql.uri
  • oracle.uri
  • db2.uri

Example:

mvn -Pdb2.uri='jdbc:db2://MyDB2Server:50000/artemis:user=db2inst1;password=artemis;'

#Security Authorization Tests on this module will perform several drop table and create table operations. So the user used to connecto these databases must have such security grants. Also It is recommended to the database schema allocated exclusively to this testsuite.

Servers

One Artemis server is created for each supported database. After building, they will be available under ./target/${DATABASE}:

  • ./target/derby
  • ./target/postgres
  • ./target/mysql
  • ./target/mssql
  • ./target/db2

Some of the tests on this module are connecting to the database directly, and these tests will use the JDBC jar directly from the lib folder from each of these servers.