Skip to main content
Version: 10.4.0

Flags

Most of the flags (apart from database) you can define in configuration section.
So why then we need flags?

You can look at them as phantom configuration, which you don't want to have in your permanent configuration.
Or it can be used to not create a branching logic for databases. If we would keep it only in a configuration section, and you would like to run your tests against 3-5 databases, then you had to create some branching logic for that.
And anyway, you can say your options to Gradle only via parameters. But I agree, that having a default database in a configuration section make sense, and we have it in plans to implement.

note

Parameters/Flags can be defined in 2 ways:

  • In a command line: ./gradlew startIntegrationServer -Pdatabase=postgres-10
  • In gradle.properties in a root of your project, as a key value pair: database=postgres-10
Flag nameOptionsDescription
clusterModedefault
full
hot-standby
Specify the cluster mode in which the server needs to start. Cluster tests will be executed based on clusterMode. If not set cluster mode is default
databasederby
derby-inmemory
derby-network
mssql
mysql
mysql-8
oracle-19c-se
postgres-10
postgres-12
Type of database. More details
debugBooleanEnables or disables starting processes in debug mode. It overrides any debug setting in configuration. If not set debugging is enabled.
databasePortAny available portThe port on which database is going to be started.
logSqltrue/falseEnables printing of SQL queries executed on the server
satelliteDebugPortAny available portProvides a satellite debug port for remote debugging.
serverDebugPortAny available portProvides a server debug port for remote debugging.
serverHttpPortAny available portOverrides default server HTTP port
testBaseSubDirectoryStringExample: -PtestBaseSubDirectory=provision-aws It points to a subset of tests running in a group of the tests
testNameStringExample: -PtestName=azure. If to specify this parameter, only 1 test section will be executed. It can be helpful, if you run in your CI pipeline tests in parallel and define in each the group of tests to run.
testScriptPatternPatternExample: -PtestScriptPattern=provision-aws/provision_aws.py
testSetupScriptsStringExample: -PtestScriptPatterns=root/setup.py,root/gcp/setup.py
testTeardownScriptsStringExample: -PtestTeardownScripts=root/teardown.py,root/gcp/teardown.py
info

In case when the configuration is defined in build.gradle and a parameter provided, parameter will take a precedence.

Database flag#

Each database configuration is fixed, you can't modify it through the configuration of flags.
The only thing what you can modify is the port for derby database.
We have plans to make it possible to choose the port for any database.

What exactly is configured for the database, you can check in src/main/resources/database-conf, or when you run the Integration Server in your <DEPLOY_HOME>/centralConfiguration/deploy-repository.yaml file.

Derby#

You can run derby in 2 modes, in-memory or from the file system. You should know that derby in-memory has also limitations regarding the connection limitation. It can be only one, so you can't view the content of the table.

derby is an alias for derby-network.