Skip to main content
Executes utPLSQL v3 test cases using ut.run(options). utPLSQL version 3.0+ only.

Target Properties

Property Name

Property Code

Required

Description

utPLSQL Database User

FDUTPLSQL_DB_USER

Yes

User/Schema used to connect to the Database for utPLSQL testing.

utPLSQL Database Password

FDUTPLSQL_DB_PASSWORD

Yes

Password for the User used to connect to the Database for utPLSQL testing.

Oracle Database URL

FDORA_URL

Yes

The JDBC URL for the target Oracle database.

Connecting to Oracle Autonomous Database

You will need client credential zip file (wallet) to connect with Oracle Autonomous Database on Oracle cloud. You can download wallet zip file from Oracle Cloud, you will need admin userid and password to perform this download. See Download Client Credentials (Wallets) for more details on how to download wallet file.

  • Since FlexDeploy 9.0.0.9 with Oracle Wallet Credential Type : Instead of maintaining the wallet zip file under the file system, you can now store the wallet zip as an Oracle Credential Type in FlexDeploy. This allows for secure storage and use of the wallet.

    • Use the URL syntax in the following format: jdbc:oracle:thin:@service_low?TNS_ADMIN={{FDORACLEWALLETFILE}}</code></p></li><li><p>Wemustselectvalidoraclewalletcredentialfor<code>FDORACLEWALLETFILE</code>propertyontargetgroup.</p></li><li><p>Here,<code>\{\{FDORACLE_WALLET_FILE\}\}</code></p></li><li><p>We must select valid oracle wallet credential for <code>FDORACLE_WALLET_FILE</code> property on target group.</p></li><li><p>Here, <code>{{FDORACLE_WALLET_FILE}} is replaced with the temporary wallet folder path during execution. Once execution is completed, the temporary file is cleaned up automatically.

  • Before FlexDeploy 9.0.0.9

    • You must make sure that only authorized users have access to these wallet files. Unzip the client credentials zip file (wallet_databasename.zip) on FlexDeploy server and/or endpoint where it will be used. For example, /home/flexdeploy/.wallets/<wallet_databasename> is folder where specific wallet file was unzipped. Make sure to secure this folder to FlexDeploy and/or Endpoint user, so that it is not readable by all users.

    • We recommend using Oracle Wallet Credential Type for better security and easier management of Wallet usage.

    • Database URL Syntax : jdbc:oracle:thin:@service_high?TNS_ADMIN=/home/flexdeploy/.wallets/<wallet_databasename>

    • Database URL Long Connection String Format Syntax : jdbc:oracle:thin:@(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=<hostname>))(connect_data=(service_name=<serice_name>))(security=(ssl_server_cert_dn=“CN=<hostname>,OU=Oracle BMCS US,O=Oracle Corporation,L=Redwood City,ST=California,C=US”)))

      • Examples for the same can be found here.

If using the Oracle Database Plugin with ADW or ATP databases , use the _low connection. The _medium and _high connections can sometimes throw error ORA-12839: cannot modify an object in parallel after modifying it.

Oracle Wallet File

FDORACLE_WALLET_FILE

No

Since 9.0.0.9 - Provide the Oracle Wallet file, seeCredential Type - Oracle Wallet for more details.

Target JDBC Driver Path

FDORA_DRIVER_PATH

Yes

Path containing JDBC driver for target database connection.

Inputs

Input Name

Input Code

Required

Description

Suite Path

FDUTPLSQL_INP_RUN_PATH

No

A suite path or a comma separated list of suite paths for unit test to be executed. This can be a schema, package, procedure, function, etc… If only schema is provided, then all suites owned by that schema are executed. If not set, then the current schema is used. IE: ‘hr’ or ‘hr:com.my_org.my_project’ or ‘hr.test_apply_bonus,customers’

Reporters

FDUTPLSQL_INP_REPORTERS

No

Select output reporting format(s). UT_JUNIT_REPORTER is always added, therefore, is not in the list. For each reporter selected the corresponding file will be exported to the reports tab on the project workflow execution.

Available reporters include UT_COVERAGE_COBERTURA_REPORTER, UT_COVERAGE_HTML_REPORTER, UT_COVERAGE_SONAR_REPORTER, UT_COVERALLS_REPORTER, UT_DEBUG_REPORTER, UT_DOCUMENTATION_REPORTER, UT_REALTIME_REPORTER, UT_SONAR_TEST_REPORTER, UT_TEAMCITY_REPORTER, UT_TFS_JUNIT_REPORTER

Read more about the different reporter types.

Tags

FDUTPLSQL_INP_TAGS

No

A comma separated list of tags to run. IE: ‘suite1’ or ‘suite1,suite2’ or ‘-suite1’. Filtering the tests to be run is in addition to any suite paths defined. The framework applies OR logic to all specified tags so any test / suite that matches at least one tag will be included in the test run. You can also exclude specific tags by adding a - (dash) in front of the tag.

Coverage Schemes

FDUTPLSQL_INP_COVERAGE_SCHEMES

No

A comma separated list of schemas on which coverage should be gathered. Only applicable to coverage reporters.

Fail on Errors

FDUTPLSQL_INP_FAIL_ON_ERRORS

No

Force workflow execution to fail if UTPLSQL run fails any tests. When set to false UTPLSQL run always exits with a success status. Defaults to false.

Skip Compatibility Check

FDUTPLSQL_INP_SKIP_COMPATIBILITY_CHECK

No

Skips the compatibility check with the version of the database framework. If you skip compatibility check, CLI will expect the latest framework version.

Random Test Order

FDUTPLSQL_INP_RANDOM_TEST_ORDER

No

Enables random order of test executions.

Random Test Order Seed

FDUTPLSQL_INP_RANDOM_TEST_ORDER_SEED

No

Sets the seed to use for random test execution order. If set, Random Test Order is set to true.

Include Objects

FDUTPLSQL_INP_INCLUDE_OBJECTS

No

Comma-separated object list to include in the coverage report. Only applicable to coverage reporters.

Exclude Objects

FDUTPLSQL_INP_EXCLUDE_OBJECTS

No

Comma-separated object list to exclude in the coverage report. Only applicable to coverage reporters.

Source File Mapping

FDUTPLSQL_INP_SOURCE_FILE_MAPPING_JSON

No

JSON for path to project source files with options to enable custom type mappings. Map database object names to project files. Keys must be spelled as shown in the example below and “file_paths” is the only required JSON field.

JSON Example
{
“file_paths”: [{“path”: “sources”}],
“type_mapping”: [{“key”: “packages_bodies”, “value”: “PACKAGE BODY”}, {“key”: “types_bodies”, “value”: “TYPE BODY”}],
“owner”: “code_owner”,
“regex_expression”: ”((\w+)/)?(\w+).(\w{3})",
	"owner_subexpression": 2,
    "name_subexpression": 3,
    "type_subexpression": 4
\}</pre></div></div><p><a class="external-link" href="http://utplsql.org/utPLSQL/latest/userguide/coverage.html" rel="nofollow">Read more</a> about custom type mappings under the Project based Coverage section.</p></td></tr><tr><td class="confluenceTd"><p>Test File Mapping</p></td><td class="confluenceTd"><p><code>FDUTPLSQL_INP_TEST_FILE_MAPPING_JSON</code></p></td><td class="confluenceTd"><p>No</p></td><td class="confluenceTd"><p>JSON for path to project test files with options to enable custom type mappings. Map database object names to test files.&nbsp;Keys must be spelled as shown in the example below and "file_paths" is the only required JSON field.</p><h5 id="runV3(utPLSQL)-JSONExample.1"><strong>JSON Example</strong></h5><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"><pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: text; gutter: false; theme: Confluence" data-theme="Confluence">\{ 
    "file_paths": [\{"path": "hr"\}, \{"path": "customers"\}],
    "type_mapping": [\{"key": "functions", "value": "FUNCTION"\}, \{"key": "triggers", "value": "TRIGGER"\}],
    "owner": "tests_owner",
    "regex_expression": "(\w+)/(\w+)(\w+)\..\{3\}”,
“owner_subexpression”: 2,
“name_subexpression”: 3,
“type_subexpression”: 4
}

Read more about custom type mappings under the Project based Coverage section.

Artifacts

This operation doesn’t consume or produce any artifacts.

Endpoint Selection

This operation will select all available endpoints associated to the Target.

Endpoint Execution 

This operation will execute on any one of the selected endpoints and will be random in the determination of which one.

Special Considerations

This operation is not backward compatible with utPLSQL version 2.  It can only be run against v3 test cases.