From 2f987452e6ac35c347c3c9b9edc8e1d48e27e521 Mon Sep 17 00:00:00 2001 From: barkhachoithani Date: Tue, 30 Jun 2026 17:52:01 -0700 Subject: [PATCH 1/3] robot tests enhancements --- test/docker-tests.robot | 257 +++++++++++++++++++++++++++------------- test/keywords.resource | 4 +- 2 files changed, 174 insertions(+), 87 deletions(-) diff --git a/test/docker-tests.robot b/test/docker-tests.robot index 4e6bae06..54087b0c 100644 --- a/test/docker-tests.robot +++ b/test/docker-tests.robot @@ -8,12 +8,18 @@ Suite Setup Ensure Test Results Directory Exists *** Test Cases *** -Smoke Test +D01 Smoke Test + [Tags] docker-run D01 positive + [Documentation] Detailed scenario: Smoke Test. + ... Covers setup, execution, and expected outcome validation for this scenario. Create container with Docker log should contain *MARKLOGIC_INIT is set to false or not defined, not initializing.* [Teardown] Delete container -Uninitialized MarkLogic container +D02 Uninit ML container + [Tags] docker-run D02 positive + [Documentation] Detailed scenario: Uninitialized MarkLogic container. + ... Covers setup, execution, and expected outcome validation for this scenario. Create container with -e MARKLOGIC_INIT=false IF 'rootless' not in '${IMAGE_TYPE}' # ROOT image Docker log should contain *OVERWRITE_ML_CONF is true, deleting existing /etc/marklogic.conf and overwriting with ENV variables.* @@ -37,7 +43,10 @@ Uninitialized MarkLogic container Verify response for authenticated request with 8002 *Forbidden* [Teardown] Delete container -Uninitialized MarkLogic container with no parameters +D03 Uninit ML container w/ no params + [Tags] docker-run D03 positive + [Documentation] Detailed scenario: Uninitialized MarkLogic container with no parameters. + ... Covers setup, execution, and expected outcome validation for this scenario. Create container with IF 'rootless' not in '${IMAGE_TYPE}' # ROOT image Docker log should contain *OVERWRITE_ML_CONF is true, deleting existing /etc/marklogic.conf and overwriting with ENV variables.* @@ -62,7 +71,10 @@ Uninitialized MarkLogic container with no parameters Verify response for authenticated request with 8002 *Forbidden* [Teardown] Delete container -Initialized MarkLogic container +D04 Init ML container + [Tags] docker-run D04 positive + [Documentation] Detailed scenario: Initialized MarkLogic container. + ... Covers setup, execution, and expected outcome validation for this scenario. Create container with -e MARKLOGIC_INIT=true ... -e MARKLOGIC_ADMIN_USERNAME=${DEFAULT ADMIN USER} ... -e MARKLOGIC_ADMIN_PASSWORD=${DEFAULT ADMIN PASS} @@ -89,9 +101,9 @@ Initialized MarkLogic container Verify response for authenticated request with 8002 *Monitoring Dashboard* [Teardown] Delete container -Initialized MarkLogic container with latency - [Tags] long_running - [Documentation] This test verifies the initialization of the MarkLogic container with high latency. +D05 Init ML container w/ latency + [Tags] docker-run D05 positive long_running + [Documentation] This test verifies the initialization of the MarkLogic container with high latency. Detailed scenario: Initialized MarkLogic container with latency. ... Setup on a linux host can be done with the following commands: ... sudo dnf install kernel-modules-extra ... sudo modprobe sch_netem @@ -122,8 +134,11 @@ Initialized MarkLogic container with latency Verify response for authenticated request with 8002 *Monitoring Dashboard* [Teardown] Delete container -Upgrade MarkLogic container - Skip If 'rootless' in '${IMAGE_TYPE}' msg = Skipping Upgrade MarkLogic test for rootless image +D06 Upgrade ML container + [Tags] docker-run D06 positive + [Documentation] Detailed scenario: Upgrade MarkLogic container. + ... Covers setup, execution, and expected outcome validation for this scenario. + Skip If 'rootless' in '${IMAGE_TYPE}' msg = Skipping Upgrade MarkLogic test for rootless image Create test container with -e MARKLOGIC_INIT=true ... -e MARKLOGIC_ADMIN_USERNAME=${DEFAULT ADMIN USER} ... -e MARKLOGIC_ADMIN_PASSWORD=${DEFAULT ADMIN PASS} @@ -146,8 +161,11 @@ Upgrade MarkLogic container [Teardown] Run Keywords Delete container True ... AND Delete Volume -Upgrade MarkLogic container with init parameter - Skip If 'rootless' in '${IMAGE_TYPE}' msg = Skipping Upgrade MarkLogic test for rootless image +D07 Upgrade ML container w/ init param + [Tags] docker-run D07 positive + [Documentation] Detailed scenario: Upgrade MarkLogic container with init parameter. + ... Covers setup, execution, and expected outcome validation for this scenario. + Skip If 'rootless' in '${IMAGE_TYPE}' msg = Skipping Upgrade MarkLogic test for rootless image Create test container with -e MARKLOGIC_INIT=true ... -e MARKLOGIC_ADMIN_USERNAME=${DEFAULT ADMIN USER} ... -e MARKLOGIC_ADMIN_PASSWORD=${DEFAULT ADMIN PASS} @@ -170,8 +188,11 @@ Upgrade MarkLogic container with init parameter [Teardown] Run Keywords Delete container True ... AND Delete Volume -Upgrade MarkLogic container with init and credential parameters - Skip If 'rootless' in '${IMAGE_TYPE}' msg = Skipping Upgrade MarkLogic test for rootless image +D08 Upgrade ML container w/ init & credential + [Tags] docker-run D08 positive + [Documentation] Detailed scenario: Upgrade MarkLogic container with init and credential parameters. + ... Covers setup, execution, and expected outcome validation for this scenario. + Skip If 'rootless' in '${IMAGE_TYPE}' msg = Skipping Upgrade MarkLogic test for rootless image Create test container with -e MARKLOGIC_INIT=true ... -e MARKLOGIC_ADMIN_USERNAME=${DEFAULT ADMIN USER} ... -e MARKLOGIC_ADMIN_PASSWORD=${DEFAULT ADMIN PASS} @@ -196,7 +217,10 @@ Upgrade MarkLogic container with init and credential parameters [Teardown] Run Keywords Delete container True ... AND Delete Volume -Initialized MarkLogic container with admin password containing special characters +D09 Init ML container w/ admin password + [Tags] docker-run D09 positive + [Documentation] Detailed scenario: Initialized MarkLogic container with admin password containing special characters. + ... Covers setup, execution, and expected outcome validation for this scenario. Create container with -e MARKLOGIC_INIT=true ... -e MARKLOGIC_ADMIN_USERNAME=${DEFAULT ADMIN USER} ... -e MARKLOGIC_ADMIN_PASSWORD=${SPEC CHARS ADMIN PASS} @@ -211,7 +235,10 @@ Initialized MarkLogic container with admin password containing special character Verify response for authenticated request with 8002 *Monitoring Dashboard* ${SPEC CHARS ADMIN PASS} [Teardown] Delete container -Initialized MarkLogic container with license key installed and MARKLOGIC_INIT set to TRUE +D10 Init ML container w/ license key installed + [Tags] docker-run D10 positive + [Documentation] Detailed scenario: Initialized MarkLogic container with license key installed and MARKLOGIC_INIT set to TRUE. + ... Covers setup, execution, and expected outcome validation for this scenario. Create container with -e MARKLOGIC_INIT=TRUE ... -e MARKLOGIC_ADMIN_USERNAME=${DEFAULT ADMIN USER} ... -e MARKLOGIC_ADMIN_PASSWORD=${DEFAULT ADMIN PASS} @@ -227,14 +254,18 @@ Initialized MarkLogic container with license key installed and MARKLOGIC_INIT se Verify response for authenticated request with 8002 *Monitoring Dashboard* [Teardown] Delete container -Initialized MarkLogic container without credentials - [Tags] negative +D11 Init ML container w/o creds + [Tags] docker-run D11 negative + [Documentation] Detailed scenario: Initialized MarkLogic container without credentials. + ... Covers setup, execution, and expected outcome validation for this scenario. Create failing container with -e MARKLOGIC_INIT=true Docker log should contain *MARKLOGIC_ADMIN_USERNAME and MARKLOGIC_ADMIN_PASSWORD must be set.* [Teardown] Delete container -Initialized MarkLogic container with invalid value for MARKLOGIC_JOIN_CLUSTER - [Tags] negative +D12 Init ML container w/ invalid value + [Tags] docker-run D12 negative + [Documentation] Detailed scenario: Initialized MarkLogic container with invalid value for MARKLOGIC_JOIN_CLUSTER. + ... Covers setup, execution, and expected outcome validation for this scenario. Create failing container with -e MARKLOGIC_INIT=true ... -e MARKLOGIC_ADMIN_USERNAME=${DEFAULT ADMIN USER} ... -e MARKLOGIC_ADMIN_PASSWORD=${DEFAULT ADMIN PASS} @@ -243,16 +274,20 @@ Initialized MarkLogic container with invalid value for MARKLOGIC_JOIN_CLUSTER Docker log should contain *Error: MARKLOGIC_JOIN_CLUSTER must be true or false.* [Teardown] Delete container -Invalid value for INIT - [Tags] negative +D13 Invalid value for INIT + [Tags] docker-run D13 negative + [Documentation] Detailed scenario: Invalid value for INIT. + ... Covers setup, execution, and expected outcome validation for this scenario. Create failing container with -e MARKLOGIC_INIT=invalid ... -e MARKLOGIC_ADMIN_USERNAME=${DEFAULT ADMIN USER} ... -e MARKLOGIC_ADMIN_PASSWORD=${DEFAULT ADMIN PASS} Docker log should contain *Error: MARKLOGIC_INIT must be true or false.* [Teardown] Delete container -Invalid value for HOSTNAME - [Tags] negative +D14 Invalid value for HOSTNAME + [Tags] docker-run D14 negative + [Documentation] Detailed scenario: Invalid value for HOSTNAME. + ... Covers setup, execution, and expected outcome validation for this scenario. Create failing container with -e HOSTNAME=invalid_hostname ... -e MARKLOGIC_INIT=true ... -e MARKLOGIC_ADMIN_USERNAME=${DEFAULT ADMIN USER} @@ -260,7 +295,10 @@ Invalid value for HOSTNAME Docker log should contain *Error: Failed to restart invalid_hostname* [Teardown] Delete container -Initialized MarkLogic container without config overrides +D15 Init ML container w/o config overrides + [Tags] docker-run D15 positive + [Documentation] Detailed scenario: Initialized MarkLogic container without config overrides. + ... Covers setup, execution, and expected outcome validation for this scenario. Create container with -e MARKLOGIC_INIT=true ... -e OVERWRITE_ML_CONF=false ... -e TZ=America/Los_Angeles @@ -295,7 +333,10 @@ Initialized MarkLogic container without config overrides Verify container timezone America/Los_Angeles [Teardown] Delete container -Initialized MarkLogic container with config overrides +D16 Init ML container w/ config overrides + [Tags] docker-run D16 positive + [Documentation] Detailed scenario: Initialized MarkLogic container with config overrides. + ... Covers setup, execution, and expected outcome validation for this scenario. Create container with -e MARKLOGIC_INIT=true ... -e OVERWRITE_ML_CONF=true ... -e TZ=America/Los_Angeles @@ -320,8 +361,10 @@ Initialized MarkLogic container with config overrides Verify container timezone America/Los_Angeles [Teardown] Delete container -Single node compose example - [Tags] compose +C01 Single node compose test + [Tags] compose C01 positive + [Documentation] Detailed scenario: Single node compose example. + ... Covers setup, execution, and expected outcome validation for this scenario. ${compose test file}= Set Variable ../docker-compose/marklogic-single-node.yaml Start compose from ${compose test file} Verify response for unauthenticated request with 8000 *Unauthorized* @@ -337,8 +380,10 @@ Single node compose example Verify container timezone Europe/Prague [Teardown] Delete compose from ../docker-compose/marklogic-single-node.yaml -Single node compose example with special characters in secrets file - [Tags] compose +C02 Single node compose special secrets + [Tags] compose C02 positive + [Documentation] Detailed scenario: Single node compose example with special characters in secrets file. + ... Covers setup, execution, and expected outcome validation for this scenario. Start compose from ../docker-compose/marklogic-single-node.yaml ${SPEC CHARS ADMIN PASS} Verify response for unauthenticated request with 8000 *Unauthorized* Verify response for unauthenticated request with 8001 *Unauthorized* @@ -348,19 +393,23 @@ Single node compose example with special characters in secrets file Verify response for authenticated request with 8002 *Monitoring Dashboard* ${SPEC CHARS ADMIN PASS} [Teardown] Delete compose from ../docker-compose/marklogic-single-node.yaml -Single node compose with special characters in yaml - [Tags] compose - Start compose from ../test/compose-test-1.yaml ${SPEC CHARS ADMIN PASS} +C03 Single node compose special yaml + [Tags] compose C03 positive + [Documentation] Detailed scenario: Single node compose with special characters in yaml. + ... Covers setup, execution, and expected outcome validation for this scenario. + Start compose from ./compose-test-1.yaml ${SPEC CHARS ADMIN PASS} Verify response for unauthenticated request with 7100 *Unauthorized* Verify response for unauthenticated request with 7101 *Unauthorized* Verify response for unauthenticated request with 7102 *Unauthorized* Verify response for authenticated request with 7100 *Query Console* ${SPEC CHARS ADMIN PASS} Verify response for authenticated request with 7101 *No license key has been entered* ${SPEC CHARS ADMIN PASS} Verify response for authenticated request with 7102 *Monitoring Dashboard* ${SPEC CHARS ADMIN PASS} - [Teardown] Delete compose from ../test/compose-test-1.yaml + [Teardown] Delete compose from ./compose-test-1.yaml -Three node compose example - [Tags] compose +C04 Three node compose cluster + [Tags] compose C04 positive + [Documentation] Detailed scenario: Three node compose example. + ... Covers setup, execution, and expected outcome validation for this scenario. Start compose from ../docker-compose/marklogic-multi-node.yaml Verify response for unauthenticated request with 7100 *Unauthorized* Verify response for unauthenticated request with 7101 *Unauthorized* @@ -385,8 +434,10 @@ Three node compose example Host count on port 7302 should be 3 [Teardown] Delete compose from ../docker-compose/marklogic-multi-node.yaml -Two node compose example with node joining enode group - [Tags] compose +C05 Two node compose enode join + [Tags] compose C05 positive + [Documentation] Detailed scenario: Two node compose example with node joining enode group. + ... Covers setup, execution, and expected outcome validation for this scenario. Start compose from ./compose-test-6.yaml Verify response for unauthenticated request with 7101 *Unauthorized* Verify response for unauthenticated request with 7101 *Unauthorized* @@ -403,22 +454,28 @@ Two node compose example with node joining enode group ... AND Delete compose from ./compose-test-7.yaml # Tests for invalid certificate/CA, invalid value for MARKLOGIC_JOIN_TLS_ENABLED -Compose example with node joining cluster using https with invalid parameter values - [Tags] compose negative +C06 Compose join HTTPS invalid params + [Tags] compose C06 negative + [Documentation] Detailed scenario: Compose example with node joining cluster using https with invalid parameter values. + ... Covers setup, execution, and expected outcome validation for this scenario. Create invalid certificate file Start compose from ./compose-test-10.yaml readiness=False Compose logs should contain ./compose-test-10.yaml *MARKLOGIC_JOIN_TLS_ENABLED must be set to true or false, please review the configuration. Container shutting down.* [Teardown] Delete compose from ./compose-test-10.yaml -Compose example with node joining cluster using https and missing certificate parameter - [Tags] compose negative +C07 Compose join HTTPS missing cert param + [Tags] compose C07 negative + [Documentation] Detailed scenario: Compose example with node joining cluster using https and missing certificate parameter. + ... Covers setup, execution, and expected outcome validation for this scenario. Start compose from ./compose-test-11.yaml readiness=False Compose logs should contain ./compose-test-11.yaml *MARKLOGIC_JOIN_CACERT_FILE is not set, please review the configuration. Container shutting down.* [Teardown] Delete compose from ./compose-test-11.yaml -Two node compose example with bootstrap node without SSL enabled and node joining cluster using https - [Tags] compose negative - Start compose from ./compose-test-12.yaml +C08 Compose bootstrap SSL mismatch + [Tags] compose C08 negative + [Documentation] Detailed scenario: Two node compose example with bootstrap node without SSL enabled and node joining cluster using https. + ... Covers setup, execution, and expected outcome validation for this scenario. + Start compose from ./compose-test-1.yaml Verify response for unauthenticated request with 7101 *Unauthorized* Verify response for unauthenticated request with 7101 *Unauthorized* Verify response for unauthenticated request with 7102 *Unauthorized* @@ -426,15 +483,17 @@ Two node compose example with bootstrap node without SSL enabled and node joinin Verify response for authenticated request with 7101 *No license key has been entered* Verify response for authenticated request with 7102 *Monitoring Dashboard* Create invalid certificate file - Start compose from ./compose-test-13.yaml readiness=False - Compose logs should contain ./compose-test-13.yaml *TLS is not enabled on bootstrap_host_name host, please verify the configuration. Container shutting down.* + Start compose from ./compose-test-2.yaml readiness=False + Compose logs should contain ./compose-test-2.yaml *TLS is not enabled on bootstrap_host_name host, please verify the configuration. Container shutting down.* [Teardown] Run keywords - ... Delete compose from ./compose-test-12.yaml - ... AND Delete compose from ./compose-test-13.yaml + ... Delete compose from ./compose-test-1.yaml + ... AND Delete compose from ./compose-test-2.yaml -Two node compose example with node joining cluster using invalid CAcertificate - [Tags] compose negative - Start compose from ./compose-test-14.yaml +C09 Compose join invalid CA cert + [Tags] compose C09 negative + [Documentation] Detailed scenario: Two node compose example with node joining cluster using invalid CAcertificate. + ... Covers setup, execution, and expected outcome validation for this scenario. + Start compose from ./compose-test-1.yaml Verify response for unauthenticated request with 7101 *Unauthorized* Verify response for authenticated request with 7101 *No license key has been entered* Add certificate template on bootstrap host ./test_template.json 7102 @@ -442,14 +501,16 @@ Two node compose example with node joining cluster using invalid CAcertificate Apply certificate testTemplate on App Server Admin 7102 Apply certificate testTemplate on App Server Manage 7102 Create invalid certificate file - Start compose from ./compose-test-15.yaml readiness=False - Compose logs should contain ./compose-test-15.yaml *MARKLOGIC_JOIN_CACERT_FILE is not valid, please check above error for details. Node shutting down.* + Start compose from ./compose-test-2.yaml readiness=False + Compose logs should contain ./compose-test-2.yaml *MARKLOGIC_JOIN_CACERT_FILE is not valid, please check above error for details. Node shutting down.* [Teardown] Run keywords - ... Delete compose from ./compose-test-14.yaml - ... AND Delete compose from ./compose-test-15.yaml + ... Delete compose from ./compose-test-1.yaml + ... AND Delete compose from ./compose-test-2.yaml -Two node compose example with node joining cluster using https - [Tags] compose +C10 Compose join HTTPS success + [Tags] compose C10 positive + [Documentation] Detailed scenario: Two node compose example with node joining cluster using https. + ... Covers setup, execution, and expected outcome validation for this scenario. Start compose from ./compose-test-1.yaml Verify response for unauthenticated request with 7101 *Unauthorized* Verify response for authenticated request with 7101 *No license key has been entered* @@ -463,8 +524,10 @@ Two node compose example with node joining cluster using https ... Delete compose from ./compose-test-1.yaml ... AND Delete compose from ./compose-test-2.yaml -Single node compose example with bootstrap node joining trying to itself - [Tags] compose negative +C11 Compose bootstrap self-join + [Tags] compose C11 negative + [Documentation] Detailed scenario: Single node compose example with bootstrap node joining trying to itself. + ... Covers setup, execution, and expected outcome validation for this scenario. ${compose test file}= Set Variable ./compose-test-8.yaml Start compose from ${compose test file} Verify response for unauthenticated request with 7100 *Unauthorized* @@ -483,8 +546,10 @@ Single node compose example with bootstrap node joining trying to itself Verify container timezone America/Los_Angeles port=7100 [Teardown] Delete compose from ${compose test file} -Two node compose example with incorrect bootstrap host name - [Tags] compose negative +C12 Compose incorrect bootstrap host + [Tags] compose C12 negative + [Documentation] Detailed scenario: Two node compose example with incorrect bootstrap host name. + ... Covers setup, execution, and expected outcome validation for this scenario. ${compose test file}= Set Variable ./compose-test-9.yaml Start compose from ${compose test file} Verify response for unauthenticated request with 7100 *Unauthorized* @@ -509,8 +574,10 @@ Two node compose example with incorrect bootstrap host name [Teardown] Delete compose from ${compose test file} -Two node compose with credentials in env and verify restart logic - [Tags] compose +C13 Compose creds env restart logic + [Tags] compose C13 positive + [Documentation] Detailed scenario: Two node compose with credentials in env and verify restart logic. + ... Covers setup, execution, and expected outcome validation for this scenario. ${compose test file}= Set Variable ./compose-test-3.yaml Start compose from ${compose test file} Verify response for unauthenticated request with 7100 *Unauthorized* @@ -547,8 +614,10 @@ Two node compose with credentials in env and verify restart logic Verify container timezone America/Los_Angeles port=7200 [Teardown] Delete compose from ${compose test file} -Two node compose with second node uncoupled - [Tags] compose +C14 Compose second node uncoupled + [Tags] compose C14 positive + [Documentation] Detailed scenario: Two node compose with second node uncoupled. + ... Covers setup, execution, and expected outcome validation for this scenario. Start compose from ./compose-test-4.yaml Verify response for unauthenticated request with 7101 *Unauthorized* Verify response for unauthenticated request with 7201 *Unauthorized* @@ -556,8 +625,10 @@ Two node compose with second node uncoupled Host count on port 7202 should be 1 [Teardown] Delete compose from ./compose-test-4.yaml -Two node compose with second node uninitialized - [Tags] compose +C15 Compose second node uninitialized + [Tags] compose C15 positive + [Documentation] Detailed scenario: Two node compose with second node uninitialized. + ... Covers setup, execution, and expected outcome validation for this scenario. Start compose from ./compose-test-5.yaml Verify response for unauthenticated request with 7101 *Unauthorized* Verify response for unauthenticated request with 7201 *This server must now self-install the initial databases and application servers. Click OK to continue.* @@ -567,7 +638,10 @@ Two node compose with second node uninitialized Verify response for authenticated request with 7202 *Forbidden* [Teardown] Delete compose from ./compose-test-5.yaml -Initialized MarkLogic Server with wallet password and realm +D17 Init ML Server w/ wallet password & realm + [Tags] docker-run D17 positive + [Documentation] Detailed scenario: Initialized MarkLogic Server with wallet password and realm. + ... Covers setup, execution, and expected outcome validation for this scenario. Create container with -e MARKLOGIC_INIT=true ... -e MARKLOGIC_ADMIN_USERNAME=${DEFAULT ADMIN USER} ... -e MARKLOGIC_ADMIN_PASSWORD=${DEFAULT ADMIN PASS} @@ -581,7 +655,10 @@ Initialized MarkLogic Server with wallet password and realm Verify response for authenticated request with 8002 *Monitoring Dashboard* [Teardown] Delete container -Initialized MarkLogic container with ML converters +D18 Init ML container w/ ML converters + [Tags] docker-run D18 positive + [Documentation] Detailed scenario: Initialized MarkLogic container with ML converters. + ... Covers setup, execution, and expected outcome validation for this scenario. Create container with -e MARKLOGIC_INIT=true ... -e MARKLOGIC_ADMIN_USERNAME=${DEFAULT ADMIN USER} ... -e MARKLOGIC_ADMIN_PASSWORD=${DEFAULT ADMIN PASS} @@ -592,11 +669,13 @@ Initialized MarkLogic container with ML converters Verify converter package installation [Teardown] Delete container -Dynamic Host Cluster Test - [Tags] dynamic-hosts +C16 Dynamic Host cluster flow + [Tags] compose C16 positive dynamic-hosts + [Documentation] Detailed scenario: Dynamic Host Cluster Test. + ... Covers setup, execution, and expected outcome validation for this scenario. ${major_version}= Set Variable ${MARKLOGIC_VERSION.split('.')[0]} Skip If '${major_version}' == '' or '${major_version}' == 'None' or int('${major_version}' or '0') < 12 msg=Dynamic Host Concurrency Test requires MarkLogic 12 or higher (current version: ${MARKLOGIC_VERSION}) - Start compose from compose-test-16.yaml + Start compose from ./compose-test-16.yaml # give it some time to prepare the large cluster Sleep 60s ${group}= set Variable dynamic @@ -627,16 +706,16 @@ Dynamic Host Cluster Test Delete Token By Invalid Host ID on port 7102 Verify Invalid Cluster Name Returns 404 on port 7102 Verify Dynamic Host Can Execute Query Default 7902 - [Teardown] Delete compose from compose-test-16.yaml + [Teardown] Delete compose from ./compose-test-16.yaml -Coupled Clusters Cross-Cluster API Test - [Tags] dynamic-hosts coupled-clusters - [Documentation] Tests that foreign cluster dynamic host endpoints return the expected cross-cluster responses: GET /dynamic-host-token=200(empty), POST /dynamic-host-token=400, and DELETE operations on foreign-cluster resources=404 +C17 Coupled clusters cross-cluster API + [Tags] compose C17 positive dynamic-hosts coupled-clusters + [Documentation] Tests that foreign cluster dynamic host endpoints return the expected cross-cluster responses: GET /dynamic-host-token=200(empty), POST /dynamic-host-token=400, and DELETE operations on foreign-cluster resources=404 Detailed scenario: Coupled Clusters Cross-Cluster API Test. ${major_version}= Set Variable ${MARKLOGIC_VERSION.split('.')[0]} Skip If '${major_version}' == '' or '${major_version}' == 'None' or int('${major_version}' or '0') < 12 msg=Coupled Clusters Test requires MarkLogic 12 or higher (current version: ${MARKLOGIC_VERSION}) # Start two separate clusters - Start compose from compose-test-17.yaml + Start compose from ./compose-test-17.yaml # Get cluster names ${cluster1_name}= Get Local Cluster Name on port 7102 @@ -664,13 +743,15 @@ Coupled Clusters Cross-Cluster API Test Log Successfully verified coupled cluster API behaviour: GET /dynamic-host-token=200(empty), POST /dynamic-host-token=400, DELETE /dynamic-host-token/{real-jti}=404, DELETE /dynamic-hosts/{real-host-id}=404 - [Teardown] Delete compose from compose-test-17.yaml + [Teardown] Delete compose from ./compose-test-17.yaml -Dynamic Host Cluster Concurrecy Join Test - [Tags] dynamic-hosts +C18 Dynamic Host concurrent join + [Tags] compose C18 positive dynamic-hosts + [Documentation] Detailed scenario: Dynamic Host Cluster Concurrecy Join Test. + ... Covers setup, execution, and expected outcome validation for this scenario. ${major_version}= Set Variable ${MARKLOGIC_VERSION.split('.')[0]} Skip If '${major_version}' == '' or '${major_version}' == 'None' or int('${major_version}' or '0') < 12 msg=Dynamic Host Concurrency Test requires MarkLogic 12 or higher (current version: ${MARKLOGIC_VERSION}) - Start compose from compose-test-16.yaml + Start compose from ./compose-test-16.yaml # give it some time to prepare the large cluster Sleep 60s ${group}= set Variable dynamic @@ -678,9 +759,12 @@ Dynamic Host Cluster Concurrecy Join Test Enable API token authentication on 7202 for group Default Concurrent Dynamic Host Join Test - [Teardown] Delete compose from compose-test-16.yaml + [Teardown] Delete compose from ./compose-test-16.yaml -Verify parameter overrides +D19 Verify param overrides + [Tags] docker-run D19 positive + [Documentation] Detailed scenario: Verify parameter overrides. + ... Covers setup, execution, and expected outcome validation for this scenario. Create container with -e OVERWRITE_ML_CONF=true ... -e TZ=America/Los_Angeles ... -e MARKLOGIC_PID_FILE=/tmp/MarkLogic.pid.test @@ -699,7 +783,10 @@ Verify parameter overrides Verify That marklogic.conf contains TZ=America/Los_Angeles MARKLOGIC_PID_FILE=/tmp/MarkLogic.pid.test MARKLOGIC_UMASK=022 ML_HUGEPAGES_TOTAL=0 MARKLOGIC_DISABLE_JVM=true MARKLOGIC_USER=marklogic_user JAVA_HOME=fakejava CLASSPATH=fakeclasspath MARKLOGIC_EC2_HOST=false [Teardown] Delete container -Verify implicit parameter overrides +D20 Verify implicit param overrides + [Tags] docker-run D20 positive + [Documentation] Detailed scenario: Verify implicit parameter overrides. + ... Covers setup, execution, and expected outcome validation for this scenario. Create container with -e TZ=America/Los_Angeles ... -e MARKLOGIC_PID_FILE=/tmp/MarkLogic.pid.test ... -e MARKLOGIC_UMASK=022 @@ -716,4 +803,4 @@ Verify implicit parameter overrides END Verify That marklogic.conf contains TZ=America/Los_Angeles MARKLOGIC_PID_FILE=/tmp/MarkLogic.pid.test MARKLOGIC_UMASK=022 ML_HUGEPAGES_TOTAL=0 MARKLOGIC_DISABLE_JVM=true MARKLOGIC_USER=marklogic_user JAVA_HOME=fakejava CLASSPATH=fakeclasspath MARKLOGIC_EC2_HOST=false [Teardown] Delete container - \ No newline at end of file + diff --git a/test/keywords.resource b/test/keywords.resource index fbdbbe72..9acc0fc0 100644 --- a/test/keywords.resource +++ b/test/keywords.resource @@ -141,7 +141,7 @@ Start compose from @{nodes}= Split to lines ${result.stdout} IF @{nodes} == [] Fail No containers detected in ${new path}! FOR ${node} IN @{nodes} - ${node}= Get Variable Value ${node} + ${node}= Get Variable Value ${node} Compose logs should contain ${new path} *${node}*Cluster config complete, marking this container as ready.* END END @@ -320,7 +320,7 @@ Apply certificate ${templateName} on App Server ${appServer} ${port} Get CAcertificate for ${templateName} ${port} [Documentation] Uses eval endpoint to get the CA of Cert template ${auth} ${headers}= Generate digest authorization for ${DEFAULT ADMIN USER} ${DEFAULT ADMIN PASS} - ${header}= Create Dictionary Content-type=application/x-www-form-urlencoded Accept=multipart/mixed boundary=BOUNDARY + ${header}= Create Dictionary Content-type=application/x-www-form-urlencoded Accept=multipart/mixed boundary=BOUNDARY ${xqy_data}= Get File get_ca_xquery.xqy ${response}= Create Digest Session RestSession url=http://localhost:${port} headers=${headers} auth=${auth} disable_warnings=1 ${response}= POST On Session RestSession url=http://localhost:${port}/v1/eval?database=Security data=${xqy_data} headers=${header} From 15bb82403ca1b2b7ccb6885738e4f546aef2ed8a Mon Sep 17 00:00:00 2001 From: barkhachoithani <40070058+barkhachoithani@users.noreply.github.com> Date: Tue, 30 Jun 2026 19:50:34 -0700 Subject: [PATCH 2/3] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- test/docker-tests.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/docker-tests.robot b/test/docker-tests.robot index 54087b0c..aac3294a 100644 --- a/test/docker-tests.robot +++ b/test/docker-tests.robot @@ -747,7 +747,7 @@ C17 Coupled clusters cross-cluster API C18 Dynamic Host concurrent join [Tags] compose C18 positive dynamic-hosts - [Documentation] Detailed scenario: Dynamic Host Cluster Concurrecy Join Test. + [Documentation] Detailed scenario: Dynamic Host Cluster Concurrency Join Test. ... Covers setup, execution, and expected outcome validation for this scenario. ${major_version}= Set Variable ${MARKLOGIC_VERSION.split('.')[0]} Skip If '${major_version}' == '' or '${major_version}' == 'None' or int('${major_version}' or '0') < 12 msg=Dynamic Host Concurrency Test requires MarkLogic 12 or higher (current version: ${MARKLOGIC_VERSION}) From 3a984d3098ce28ffbc92974c72fa3a5c79f3cba1 Mon Sep 17 00:00:00 2001 From: barkhachoithani Date: Tue, 30 Jun 2026 20:08:40 -0700 Subject: [PATCH 3/3] recommendation fixes --- test/docker-tests.robot | 80 +++++++++++++++++++++-------------------- 1 file changed, 41 insertions(+), 39 deletions(-) diff --git a/test/docker-tests.robot b/test/docker-tests.robot index aac3294a..14b890a6 100644 --- a/test/docker-tests.robot +++ b/test/docker-tests.robot @@ -8,7 +8,7 @@ Suite Setup Ensure Test Results Directory Exists *** Test Cases *** -D01 Smoke Test +Smoke Test [Tags] docker-run D01 positive [Documentation] Detailed scenario: Smoke Test. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -16,7 +16,7 @@ D01 Smoke Test Docker log should contain *MARKLOGIC_INIT is set to false or not defined, not initializing.* [Teardown] Delete container -D02 Uninit ML container +Uninitialized MarkLogic container [Tags] docker-run D02 positive [Documentation] Detailed scenario: Uninitialized MarkLogic container. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -43,7 +43,7 @@ D02 Uninit ML container Verify response for authenticated request with 8002 *Forbidden* [Teardown] Delete container -D03 Uninit ML container w/ no params +Uninitialized MarkLogic container with no parameters [Tags] docker-run D03 positive [Documentation] Detailed scenario: Uninitialized MarkLogic container with no parameters. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -71,7 +71,7 @@ D03 Uninit ML container w/ no params Verify response for authenticated request with 8002 *Forbidden* [Teardown] Delete container -D04 Init ML container +Initialized MarkLogic container [Tags] docker-run D04 positive [Documentation] Detailed scenario: Initialized MarkLogic container. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -101,7 +101,7 @@ D04 Init ML container Verify response for authenticated request with 8002 *Monitoring Dashboard* [Teardown] Delete container -D05 Init ML container w/ latency +Initialized MarkLogic container with latency [Tags] docker-run D05 positive long_running [Documentation] This test verifies the initialization of the MarkLogic container with high latency. Detailed scenario: Initialized MarkLogic container with latency. ... Setup on a linux host can be done with the following commands: @@ -134,7 +134,7 @@ D05 Init ML container w/ latency Verify response for authenticated request with 8002 *Monitoring Dashboard* [Teardown] Delete container -D06 Upgrade ML container +Upgrade MarkLogic container [Tags] docker-run D06 positive [Documentation] Detailed scenario: Upgrade MarkLogic container. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -161,7 +161,7 @@ D06 Upgrade ML container [Teardown] Run Keywords Delete container True ... AND Delete Volume -D07 Upgrade ML container w/ init param +Upgrade MarkLogic container with init parameter [Tags] docker-run D07 positive [Documentation] Detailed scenario: Upgrade MarkLogic container with init parameter. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -188,7 +188,7 @@ D07 Upgrade ML container w/ init param [Teardown] Run Keywords Delete container True ... AND Delete Volume -D08 Upgrade ML container w/ init & credential +Upgrade MarkLogic container with init and credential parameters [Tags] docker-run D08 positive [Documentation] Detailed scenario: Upgrade MarkLogic container with init and credential parameters. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -217,7 +217,7 @@ D08 Upgrade ML container w/ init & credential [Teardown] Run Keywords Delete container True ... AND Delete Volume -D09 Init ML container w/ admin password +Initialized MarkLogic container with admin password containing special characters [Tags] docker-run D09 positive [Documentation] Detailed scenario: Initialized MarkLogic container with admin password containing special characters. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -235,7 +235,7 @@ D09 Init ML container w/ admin password Verify response for authenticated request with 8002 *Monitoring Dashboard* ${SPEC CHARS ADMIN PASS} [Teardown] Delete container -D10 Init ML container w/ license key installed +Initialized MarkLogic container with license key installed and MARKLOGIC_INIT set to TRUE [Tags] docker-run D10 positive [Documentation] Detailed scenario: Initialized MarkLogic container with license key installed and MARKLOGIC_INIT set to TRUE. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -254,7 +254,7 @@ D10 Init ML container w/ license key installed Verify response for authenticated request with 8002 *Monitoring Dashboard* [Teardown] Delete container -D11 Init ML container w/o creds +Initialized MarkLogic container without credentials [Tags] docker-run D11 negative [Documentation] Detailed scenario: Initialized MarkLogic container without credentials. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -262,7 +262,7 @@ D11 Init ML container w/o creds Docker log should contain *MARKLOGIC_ADMIN_USERNAME and MARKLOGIC_ADMIN_PASSWORD must be set.* [Teardown] Delete container -D12 Init ML container w/ invalid value +Initialized MarkLogic container with invalid value for MARKLOGIC_JOIN_CLUSTER [Tags] docker-run D12 negative [Documentation] Detailed scenario: Initialized MarkLogic container with invalid value for MARKLOGIC_JOIN_CLUSTER. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -274,7 +274,7 @@ D12 Init ML container w/ invalid value Docker log should contain *Error: MARKLOGIC_JOIN_CLUSTER must be true or false.* [Teardown] Delete container -D13 Invalid value for INIT +Invalid value for INIT [Tags] docker-run D13 negative [Documentation] Detailed scenario: Invalid value for INIT. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -284,7 +284,7 @@ D13 Invalid value for INIT Docker log should contain *Error: MARKLOGIC_INIT must be true or false.* [Teardown] Delete container -D14 Invalid value for HOSTNAME +Invalid value for HOSTNAME [Tags] docker-run D14 negative [Documentation] Detailed scenario: Invalid value for HOSTNAME. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -295,7 +295,7 @@ D14 Invalid value for HOSTNAME Docker log should contain *Error: Failed to restart invalid_hostname* [Teardown] Delete container -D15 Init ML container w/o config overrides +Initialized MarkLogic container without config overrides [Tags] docker-run D15 positive [Documentation] Detailed scenario: Initialized MarkLogic container without config overrides. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -333,7 +333,7 @@ D15 Init ML container w/o config overrides Verify container timezone America/Los_Angeles [Teardown] Delete container -D16 Init ML container w/ config overrides +Initialized MarkLogic container with config overrides [Tags] docker-run D16 positive [Documentation] Detailed scenario: Initialized MarkLogic container with config overrides. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -361,7 +361,7 @@ D16 Init ML container w/ config overrides Verify container timezone America/Los_Angeles [Teardown] Delete container -C01 Single node compose test +Single node compose example [Tags] compose C01 positive [Documentation] Detailed scenario: Single node compose example. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -380,7 +380,7 @@ C01 Single node compose test Verify container timezone Europe/Prague [Teardown] Delete compose from ../docker-compose/marklogic-single-node.yaml -C02 Single node compose special secrets +Single node compose example with special characters in secrets file [Tags] compose C02 positive [Documentation] Detailed scenario: Single node compose example with special characters in secrets file. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -393,7 +393,7 @@ C02 Single node compose special secrets Verify response for authenticated request with 8002 *Monitoring Dashboard* ${SPEC CHARS ADMIN PASS} [Teardown] Delete compose from ../docker-compose/marklogic-single-node.yaml -C03 Single node compose special yaml +Single node compose with special characters in yaml [Tags] compose C03 positive [Documentation] Detailed scenario: Single node compose with special characters in yaml. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -406,7 +406,7 @@ C03 Single node compose special yaml Verify response for authenticated request with 7102 *Monitoring Dashboard* ${SPEC CHARS ADMIN PASS} [Teardown] Delete compose from ./compose-test-1.yaml -C04 Three node compose cluster +Three node compose example [Tags] compose C04 positive [Documentation] Detailed scenario: Three node compose example. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -434,7 +434,7 @@ C04 Three node compose cluster Host count on port 7302 should be 3 [Teardown] Delete compose from ../docker-compose/marklogic-multi-node.yaml -C05 Two node compose enode join +Two node compose example with node joining enode group [Tags] compose C05 positive [Documentation] Detailed scenario: Two node compose example with node joining enode group. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -454,7 +454,7 @@ C05 Two node compose enode join ... AND Delete compose from ./compose-test-7.yaml # Tests for invalid certificate/CA, invalid value for MARKLOGIC_JOIN_TLS_ENABLED -C06 Compose join HTTPS invalid params +Compose example with node joining cluster using https with invalid parameter values [Tags] compose C06 negative [Documentation] Detailed scenario: Compose example with node joining cluster using https with invalid parameter values. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -463,7 +463,7 @@ C06 Compose join HTTPS invalid params Compose logs should contain ./compose-test-10.yaml *MARKLOGIC_JOIN_TLS_ENABLED must be set to true or false, please review the configuration. Container shutting down.* [Teardown] Delete compose from ./compose-test-10.yaml -C07 Compose join HTTPS missing cert param +Compose example with node joining cluster using https and missing certificate parameter [Tags] compose C07 negative [Documentation] Detailed scenario: Compose example with node joining cluster using https and missing certificate parameter. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -471,7 +471,7 @@ C07 Compose join HTTPS missing cert param Compose logs should contain ./compose-test-11.yaml *MARKLOGIC_JOIN_CACERT_FILE is not set, please review the configuration. Container shutting down.* [Teardown] Delete compose from ./compose-test-11.yaml -C08 Compose bootstrap SSL mismatch +Two node compose example with bootstrap node without SSL enabled and node joining cluster using https [Tags] compose C08 negative [Documentation] Detailed scenario: Two node compose example with bootstrap node without SSL enabled and node joining cluster using https. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -489,7 +489,7 @@ C08 Compose bootstrap SSL mismatch ... Delete compose from ./compose-test-1.yaml ... AND Delete compose from ./compose-test-2.yaml -C09 Compose join invalid CA cert +Two node compose example with node joining cluster using invalid CAcertificate [Tags] compose C09 negative [Documentation] Detailed scenario: Two node compose example with node joining cluster using invalid CAcertificate. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -507,7 +507,7 @@ C09 Compose join invalid CA cert ... Delete compose from ./compose-test-1.yaml ... AND Delete compose from ./compose-test-2.yaml -C10 Compose join HTTPS success +Two node compose example with node joining cluster using https [Tags] compose C10 positive [Documentation] Detailed scenario: Two node compose example with node joining cluster using https. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -524,7 +524,7 @@ C10 Compose join HTTPS success ... Delete compose from ./compose-test-1.yaml ... AND Delete compose from ./compose-test-2.yaml -C11 Compose bootstrap self-join +Single node compose example with bootstrap node joining trying to itself [Tags] compose C11 negative [Documentation] Detailed scenario: Single node compose example with bootstrap node joining trying to itself. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -546,7 +546,7 @@ C11 Compose bootstrap self-join Verify container timezone America/Los_Angeles port=7100 [Teardown] Delete compose from ${compose test file} -C12 Compose incorrect bootstrap host +Two node compose example with incorrect bootstrap host name [Tags] compose C12 negative [Documentation] Detailed scenario: Two node compose example with incorrect bootstrap host name. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -574,7 +574,7 @@ C12 Compose incorrect bootstrap host [Teardown] Delete compose from ${compose test file} -C13 Compose creds env restart logic +Two node compose with credentials in env and verify restart logic [Tags] compose C13 positive [Documentation] Detailed scenario: Two node compose with credentials in env and verify restart logic. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -614,7 +614,7 @@ C13 Compose creds env restart logic Verify container timezone America/Los_Angeles port=7200 [Teardown] Delete compose from ${compose test file} -C14 Compose second node uncoupled +Two node compose with second node uncoupled [Tags] compose C14 positive [Documentation] Detailed scenario: Two node compose with second node uncoupled. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -625,7 +625,7 @@ C14 Compose second node uncoupled Host count on port 7202 should be 1 [Teardown] Delete compose from ./compose-test-4.yaml -C15 Compose second node uninitialized +Two node compose with second node uninitialized [Tags] compose C15 positive [Documentation] Detailed scenario: Two node compose with second node uninitialized. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -638,7 +638,7 @@ C15 Compose second node uninitialized Verify response for authenticated request with 7202 *Forbidden* [Teardown] Delete compose from ./compose-test-5.yaml -D17 Init ML Server w/ wallet password & realm +Initialized MarkLogic Server with wallet password and realm [Tags] docker-run D17 positive [Documentation] Detailed scenario: Initialized MarkLogic Server with wallet password and realm. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -655,7 +655,7 @@ D17 Init ML Server w/ wallet password & realm Verify response for authenticated request with 8002 *Monitoring Dashboard* [Teardown] Delete container -D18 Init ML container w/ ML converters +Initialized MarkLogic container with ML converters [Tags] docker-run D18 positive [Documentation] Detailed scenario: Initialized MarkLogic container with ML converters. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -669,7 +669,7 @@ D18 Init ML container w/ ML converters Verify converter package installation [Teardown] Delete container -C16 Dynamic Host cluster flow +Dynamic Host Cluster Test [Tags] compose C16 positive dynamic-hosts [Documentation] Detailed scenario: Dynamic Host Cluster Test. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -708,9 +708,11 @@ C16 Dynamic Host cluster flow Verify Dynamic Host Can Execute Query Default 7902 [Teardown] Delete compose from ./compose-test-16.yaml -C17 Coupled clusters cross-cluster API +Coupled Clusters Cross-Cluster API Test [Tags] compose C17 positive dynamic-hosts coupled-clusters - [Documentation] Tests that foreign cluster dynamic host endpoints return the expected cross-cluster responses: GET /dynamic-host-token=200(empty), POST /dynamic-host-token=400, and DELETE operations on foreign-cluster resources=404 Detailed scenario: Coupled Clusters Cross-Cluster API Test. + [Documentation] Tests that foreign cluster dynamic host endpoints return expected cross-cluster responses. + ... GET /dynamic-host-token=200(empty), POST /dynamic-host-token=400, and DELETE operations on foreign-cluster resources=404. + ... Detailed scenario: Coupled Clusters Cross-Cluster API Test. ${major_version}= Set Variable ${MARKLOGIC_VERSION.split('.')[0]} Skip If '${major_version}' == '' or '${major_version}' == 'None' or int('${major_version}' or '0') < 12 msg=Coupled Clusters Test requires MarkLogic 12 or higher (current version: ${MARKLOGIC_VERSION}) @@ -745,7 +747,7 @@ C17 Coupled clusters cross-cluster API [Teardown] Delete compose from ./compose-test-17.yaml -C18 Dynamic Host concurrent join +Dynamic Host Cluster Concurrecy Join Test [Tags] compose C18 positive dynamic-hosts [Documentation] Detailed scenario: Dynamic Host Cluster Concurrency Join Test. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -761,7 +763,7 @@ C18 Dynamic Host concurrent join [Teardown] Delete compose from ./compose-test-16.yaml -D19 Verify param overrides +Verify parameter overrides [Tags] docker-run D19 positive [Documentation] Detailed scenario: Verify parameter overrides. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -783,7 +785,7 @@ D19 Verify param overrides Verify That marklogic.conf contains TZ=America/Los_Angeles MARKLOGIC_PID_FILE=/tmp/MarkLogic.pid.test MARKLOGIC_UMASK=022 ML_HUGEPAGES_TOTAL=0 MARKLOGIC_DISABLE_JVM=true MARKLOGIC_USER=marklogic_user JAVA_HOME=fakejava CLASSPATH=fakeclasspath MARKLOGIC_EC2_HOST=false [Teardown] Delete container -D20 Verify implicit param overrides +Verify implicit parameter overrides [Tags] docker-run D20 positive [Documentation] Detailed scenario: Verify implicit parameter overrides. ... Covers setup, execution, and expected outcome validation for this scenario.