From 2f987452e6ac35c347c3c9b9edc8e1d48e27e521 Mon Sep 17 00:00:00 2001 From: barkhachoithani Date: Tue, 30 Jun 2026 17:52:01 -0700 Subject: [PATCH 01/10] 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 02/10] 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 03/10] 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. From 368eea54c742cc0c7caafd12b1c770c9cab0f2d6 Mon Sep 17 00:00:00 2001 From: barkhachoithani Date: Mon, 6 Jul 2026 22:12:17 -0700 Subject: [PATCH 04/10] updated test tags --- test/docker-tests.robot | 76 ++++++++++++++++++++--------------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/test/docker-tests.robot b/test/docker-tests.robot index 14b890a6..ec353f8d 100644 --- a/test/docker-tests.robot +++ b/test/docker-tests.robot @@ -9,7 +9,7 @@ Suite Setup Ensure Test Results Directory Exists *** Test Cases *** Smoke Test - [Tags] docker-run D01 positive + [Tags] docker-run positive [Documentation] Detailed scenario: Smoke Test. ... Covers setup, execution, and expected outcome validation for this scenario. Create container with @@ -17,7 +17,7 @@ Smoke Test [Teardown] Delete container Uninitialized MarkLogic container - [Tags] docker-run D02 positive + [Tags] docker-run positive [Documentation] Detailed scenario: Uninitialized MarkLogic container. ... Covers setup, execution, and expected outcome validation for this scenario. Create container with -e MARKLOGIC_INIT=false @@ -44,7 +44,7 @@ Uninitialized MarkLogic container [Teardown] Delete container Uninitialized MarkLogic container with no parameters - [Tags] docker-run D03 positive + [Tags] docker-run positive [Documentation] Detailed scenario: Uninitialized MarkLogic container with no parameters. ... Covers setup, execution, and expected outcome validation for this scenario. Create container with @@ -72,7 +72,7 @@ Uninitialized MarkLogic container with no parameters [Teardown] Delete container Initialized MarkLogic container - [Tags] docker-run D04 positive + [Tags] docker-run positive [Documentation] Detailed scenario: Initialized MarkLogic container. ... Covers setup, execution, and expected outcome validation for this scenario. Create container with -e MARKLOGIC_INIT=true @@ -102,7 +102,7 @@ Initialized MarkLogic container [Teardown] Delete container Initialized MarkLogic container with latency - [Tags] docker-run D05 positive long_running + [Tags] docker-run 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 @@ -135,7 +135,7 @@ Initialized MarkLogic container with latency [Teardown] Delete container Upgrade MarkLogic container - [Tags] docker-run D06 positive + [Tags] docker-run 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 @@ -162,7 +162,7 @@ Upgrade MarkLogic container ... AND Delete Volume Upgrade MarkLogic container with init parameter - [Tags] docker-run D07 positive + [Tags] docker-run 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 @@ -189,7 +189,7 @@ Upgrade MarkLogic container with init parameter ... AND Delete Volume Upgrade MarkLogic container with init and credential parameters - [Tags] docker-run D08 positive + [Tags] docker-run 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 @@ -218,7 +218,7 @@ Upgrade MarkLogic container with init and credential parameters ... AND Delete Volume Initialized MarkLogic container with admin password containing special characters - [Tags] docker-run D09 positive + [Tags] docker-run 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 @@ -236,7 +236,7 @@ Initialized MarkLogic container with admin password containing special character [Teardown] Delete container Initialized MarkLogic container with license key installed and MARKLOGIC_INIT set to TRUE - [Tags] docker-run D10 positive + [Tags] docker-run 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 @@ -255,7 +255,7 @@ Initialized MarkLogic container with license key installed and MARKLOGIC_INIT se [Teardown] Delete container Initialized MarkLogic container without credentials - [Tags] docker-run D11 negative + [Tags] docker-run 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 @@ -263,7 +263,7 @@ Initialized MarkLogic container without credentials [Teardown] Delete container Initialized MarkLogic container with invalid value for MARKLOGIC_JOIN_CLUSTER - [Tags] docker-run D12 negative + [Tags] docker-run 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 @@ -275,7 +275,7 @@ Initialized MarkLogic container with invalid value for MARKLOGIC_JOIN_CLUSTER [Teardown] Delete container Invalid value for INIT - [Tags] docker-run D13 negative + [Tags] docker-run 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 @@ -285,7 +285,7 @@ Invalid value for INIT [Teardown] Delete container Invalid value for HOSTNAME - [Tags] docker-run D14 negative + [Tags] docker-run 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 @@ -296,7 +296,7 @@ Invalid value for HOSTNAME [Teardown] Delete container Initialized MarkLogic container without config overrides - [Tags] docker-run D15 positive + [Tags] docker-run 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 @@ -334,7 +334,7 @@ Initialized MarkLogic container without config overrides [Teardown] Delete container Initialized MarkLogic container with config overrides - [Tags] docker-run D16 positive + [Tags] docker-run 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 @@ -362,7 +362,7 @@ Initialized MarkLogic container with config overrides [Teardown] Delete container Single node compose example - [Tags] compose C01 positive + [Tags] compose 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 @@ -381,7 +381,7 @@ Single node compose example [Teardown] Delete compose from ../docker-compose/marklogic-single-node.yaml Single node compose example with special characters in secrets file - [Tags] compose C02 positive + [Tags] compose 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} @@ -394,7 +394,7 @@ Single node compose example with special characters in secrets file [Teardown] Delete compose from ../docker-compose/marklogic-single-node.yaml Single node compose with special characters in yaml - [Tags] compose C03 positive + [Tags] compose 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} @@ -407,7 +407,7 @@ Single node compose with special characters in yaml [Teardown] Delete compose from ./compose-test-1.yaml Three node compose example - [Tags] compose C04 positive + [Tags] compose 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 @@ -435,7 +435,7 @@ Three node compose example [Teardown] Delete compose from ../docker-compose/marklogic-multi-node.yaml Two node compose example with node joining enode group - [Tags] compose C05 positive + [Tags] compose 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 @@ -455,7 +455,7 @@ Two node compose example with node joining enode group # 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 C06 negative + [Tags] compose 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 @@ -464,7 +464,7 @@ Compose example with node joining cluster using https with invalid parameter val [Teardown] Delete compose from ./compose-test-10.yaml Compose example with node joining cluster using https and missing certificate parameter - [Tags] compose C07 negative + [Tags] compose 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 @@ -472,7 +472,7 @@ Compose example with node joining cluster using https and missing certificate pa [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 C08 negative + [Tags] compose 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 @@ -490,7 +490,7 @@ Two node compose example with bootstrap node without SSL enabled and node joinin ... AND Delete compose from ./compose-test-2.yaml Two node compose example with node joining cluster using invalid CAcertificate - [Tags] compose C09 negative + [Tags] compose 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 @@ -508,7 +508,7 @@ Two node compose example with node joining cluster using invalid CAcertificate ... AND Delete compose from ./compose-test-2.yaml Two node compose example with node joining cluster using https - [Tags] compose C10 positive + [Tags] compose 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 @@ -525,7 +525,7 @@ Two node compose example with node joining cluster using https ... AND Delete compose from ./compose-test-2.yaml Single node compose example with bootstrap node joining trying to itself - [Tags] compose C11 negative + [Tags] compose 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 @@ -547,7 +547,7 @@ Single node compose example with bootstrap node joining trying to itself [Teardown] Delete compose from ${compose test file} Two node compose example with incorrect bootstrap host name - [Tags] compose C12 negative + [Tags] compose 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 @@ -575,7 +575,7 @@ 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 positive + [Tags] compose 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 @@ -615,7 +615,7 @@ Two node compose with credentials in env and verify restart logic [Teardown] Delete compose from ${compose test file} Two node compose with second node uncoupled - [Tags] compose C14 positive + [Tags] compose 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 @@ -626,7 +626,7 @@ Two node compose with second node uncoupled [Teardown] Delete compose from ./compose-test-4.yaml Two node compose with second node uninitialized - [Tags] compose C15 positive + [Tags] compose 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 @@ -639,7 +639,7 @@ Two node compose with second node uninitialized [Teardown] Delete compose from ./compose-test-5.yaml Initialized MarkLogic Server with wallet password and realm - [Tags] docker-run D17 positive + [Tags] docker-run 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 @@ -656,7 +656,7 @@ Initialized MarkLogic Server with wallet password and realm [Teardown] Delete container Initialized MarkLogic container with ML converters - [Tags] docker-run D18 positive + [Tags] docker-run 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 @@ -670,7 +670,7 @@ Initialized MarkLogic container with ML converters [Teardown] Delete container Dynamic Host Cluster Test - [Tags] compose C16 positive dynamic-hosts + [Tags] compose 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]} @@ -709,7 +709,7 @@ Dynamic Host Cluster Test [Teardown] Delete compose from ./compose-test-16.yaml Coupled Clusters Cross-Cluster API Test - [Tags] compose C17 positive dynamic-hosts coupled-clusters + [Tags] compose positive dynamic-hosts coupled-clusters [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. @@ -748,7 +748,7 @@ Coupled Clusters Cross-Cluster API Test [Teardown] Delete compose from ./compose-test-17.yaml Dynamic Host Cluster Concurrecy Join Test - [Tags] compose C18 positive dynamic-hosts + [Tags] compose positive dynamic-hosts [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]} @@ -764,7 +764,7 @@ Dynamic Host Cluster Concurrecy Join Test [Teardown] Delete compose from ./compose-test-16.yaml Verify parameter overrides - [Tags] docker-run D19 positive + [Tags] docker-run 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 @@ -786,7 +786,7 @@ Verify parameter overrides [Teardown] Delete container Verify implicit parameter overrides - [Tags] docker-run D20 positive + [Tags] docker-run 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 From 011f9f62357f195b04d32e04b03484c4455f6c24 Mon Sep 17 00:00:00 2001 From: barkhachoithani <40070058+barkhachoithani@users.noreply.github.com> Date: Mon, 6 Jul 2026 22:25:08 -0700 Subject: [PATCH 05/10] 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 ec353f8d..61ca47a9 100644 --- a/test/docker-tests.robot +++ b/test/docker-tests.robot @@ -138,7 +138,7 @@ Upgrade MarkLogic container [Tags] docker-run 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 + 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} From 0d48521210201376bc53b5bd6d4561c051aa92c3 Mon Sep 17 00:00:00 2001 From: barkhachoithani <40070058+barkhachoithani@users.noreply.github.com> Date: Mon, 6 Jul 2026 22:25:20 -0700 Subject: [PATCH 06/10] 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 61ca47a9..b68511ac 100644 --- a/test/docker-tests.robot +++ b/test/docker-tests.robot @@ -165,7 +165,7 @@ Upgrade MarkLogic container with init parameter [Tags] docker-run 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 + 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} From 079d343c53bbf5a50d0872c881cd4249242b4dc4 Mon Sep 17 00:00:00 2001 From: barkhachoithani <40070058+barkhachoithani@users.noreply.github.com> Date: Mon, 6 Jul 2026 22:25:28 -0700 Subject: [PATCH 07/10] 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 b68511ac..dfecf7ec 100644 --- a/test/docker-tests.robot +++ b/test/docker-tests.robot @@ -192,7 +192,7 @@ Upgrade MarkLogic container with init and credential parameters [Tags] docker-run 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 + 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} From c763c595eaf12f57667f148784faf57a644ba8a6 Mon Sep 17 00:00:00 2001 From: barkhachoithani Date: Tue, 7 Jul 2026 08:26:24 -0700 Subject: [PATCH 08/10] updated compose file names and removed redundant compose yaml. --- ...=> compose-1node-bootstrap-env-creds.yaml} | 1 + ...st-8.yaml => compose-1node-self-join.yaml} | 2 +- ...yaml => compose-2node-bootstrap-only.yaml} | 2 +- ...l => compose-2node-cluster-env-creds.yaml} | 2 +- ...compose-2node-invalid-bootstrap-host.yaml} | 2 +- ... => compose-2node-join-enode-secrets.yaml} | 2 +- ...compose-2node-join-https-invalid-tls.yaml} | 1 + ...pose-2node-join-https-missing-cacert.yaml} | 1 + ... => compose-2node-join-https-secrets.yaml} | 1 + ...ml => compose-2node-second-uncoupled.yaml} | 2 +- ...> compose-2node-second-uninitialized.yaml} | 2 +- ... => compose-2x2node-clusters-secrets.yaml} | 2 +- ...aml => compose-3core-11dynamic-hosts.yaml} | 2 +- test/compose-test-12.yaml | 25 ------ test/compose-test-14.yaml | 25 ------ test/compose-test-15.yaml | 42 ---------- test/compose-test-2.yaml | 42 ---------- test/docker-tests.robot | 82 +++++++++---------- test/keywords.resource | 2 +- 19 files changed, 55 insertions(+), 185 deletions(-) rename test/{compose-test-1.yaml => compose-1node-bootstrap-env-creds.yaml} (88%) rename test/{compose-test-8.yaml => compose-1node-self-join.yaml} (89%) rename test/{compose-test-6.yaml => compose-2node-bootstrap-only.yaml} (89%) rename test/{compose-test-3.yaml => compose-2node-cluster-env-creds.yaml} (93%) rename test/{compose-test-9.yaml => compose-2node-invalid-bootstrap-host.yaml} (93%) rename test/{compose-test-7.yaml => compose-2node-join-enode-secrets.yaml} (91%) rename test/{compose-test-10.yaml => compose-2node-join-https-invalid-tls.yaml} (94%) rename test/{compose-test-11.yaml => compose-2node-join-https-missing-cacert.yaml} (93%) rename test/{compose-test-13.yaml => compose-2node-join-https-secrets.yaml} (93%) rename test/{compose-test-4.yaml => compose-2node-second-uncoupled.yaml} (92%) rename test/{compose-test-5.yaml => compose-2node-second-uninitialized.yaml} (94%) rename test/{compose-test-17.yaml => compose-2x2node-clusters-secrets.yaml} (97%) rename test/{compose-test-16.yaml => compose-3core-11dynamic-hosts.yaml} (99%) delete mode 100644 test/compose-test-12.yaml delete mode 100644 test/compose-test-14.yaml delete mode 100644 test/compose-test-15.yaml delete mode 100644 test/compose-test-2.yaml diff --git a/test/compose-test-1.yaml b/test/compose-1node-bootstrap-env-creds.yaml similarity index 88% rename from test/compose-test-1.yaml rename to test/compose-1node-bootstrap-env-creds.yaml index 8a5a9459..137d56a9 100644 --- a/test/compose-test-1.yaml +++ b/test/compose-1node-bootstrap-env-creds.yaml @@ -1,4 +1,5 @@ # Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. +# Compose scenario: Single bootstrap node with admin credentials from environment variables. version: '3.6' services: bootstrap_3n: diff --git a/test/compose-test-8.yaml b/test/compose-1node-self-join.yaml similarity index 89% rename from test/compose-test-8.yaml rename to test/compose-1node-self-join.yaml index d444747d..33938464 100644 --- a/test/compose-test-8.yaml +++ b/test/compose-1node-self-join.yaml @@ -1,5 +1,5 @@ # Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. -#Docker compose file sample to setup a one node cluster +# Compose scenario: Single node configured to join itself to validate self-join handling. version: '3.6' services: bootstrap: diff --git a/test/compose-test-6.yaml b/test/compose-2node-bootstrap-only.yaml similarity index 89% rename from test/compose-test-6.yaml rename to test/compose-2node-bootstrap-only.yaml index 08c16eae..a7e2ad15 100644 --- a/test/compose-test-6.yaml +++ b/test/compose-2node-bootstrap-only.yaml @@ -1,5 +1,5 @@ # Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. -#Docker compose file to setup the bootstrap node on cluster +# Compose scenario: Bootstrap-only node used as base for follow-up join tests. version: '3.6' services: bootstrap_2n: diff --git a/test/compose-test-3.yaml b/test/compose-2node-cluster-env-creds.yaml similarity index 93% rename from test/compose-test-3.yaml rename to test/compose-2node-cluster-env-creds.yaml index 8af814a9..2060fe03 100644 --- a/test/compose-test-3.yaml +++ b/test/compose-2node-cluster-env-creds.yaml @@ -1,5 +1,5 @@ # Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. -#Docker compose file sample to setup a three node cluster +# Compose scenario: Two-node cluster using admin credentials from environment variables. version: '3.6' services: bootstrap: diff --git a/test/compose-test-9.yaml b/test/compose-2node-invalid-bootstrap-host.yaml similarity index 93% rename from test/compose-test-9.yaml rename to test/compose-2node-invalid-bootstrap-host.yaml index d3563f99..8b93a75d 100644 --- a/test/compose-test-9.yaml +++ b/test/compose-2node-invalid-bootstrap-host.yaml @@ -1,5 +1,5 @@ # Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. -#Docker compose file sample to setup a two node cluster +# Compose scenario: Two-node deployment with an invalid bootstrap host name for node2. version: '3.6' services: bootstrap: diff --git a/test/compose-test-7.yaml b/test/compose-2node-join-enode-secrets.yaml similarity index 91% rename from test/compose-test-7.yaml rename to test/compose-2node-join-enode-secrets.yaml index aaf145ed..3ece8c2a 100644 --- a/test/compose-test-7.yaml +++ b/test/compose-2node-join-enode-secrets.yaml @@ -1,5 +1,5 @@ # Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. -#Docker compose file to setup and join node2 on cluster using MARKLOGIC_GROUP param +# Compose scenario: Second node joins bootstrap and is assigned to the enode group using secrets. version: '3.6' services: node2: diff --git a/test/compose-test-10.yaml b/test/compose-2node-join-https-invalid-tls.yaml similarity index 94% rename from test/compose-test-10.yaml rename to test/compose-2node-join-https-invalid-tls.yaml index 99bf90aa..e4c1362b 100644 --- a/test/compose-test-10.yaml +++ b/test/compose-2node-join-https-invalid-tls.yaml @@ -1,4 +1,5 @@ # Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. +# Compose scenario: HTTPS join with invalid MARKLOGIC_JOIN_TLS_ENABLED value. version: '3.6' services: node2: diff --git a/test/compose-test-11.yaml b/test/compose-2node-join-https-missing-cacert.yaml similarity index 93% rename from test/compose-test-11.yaml rename to test/compose-2node-join-https-missing-cacert.yaml index 46897cfb..ed91c539 100644 --- a/test/compose-test-11.yaml +++ b/test/compose-2node-join-https-missing-cacert.yaml @@ -1,4 +1,5 @@ # Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. +# Compose scenario: HTTPS join with missing MARKLOGIC_JOIN_CACERT_FILE value. version: '3.6' services: node3: diff --git a/test/compose-test-13.yaml b/test/compose-2node-join-https-secrets.yaml similarity index 93% rename from test/compose-test-13.yaml rename to test/compose-2node-join-https-secrets.yaml index 493060f4..c806e826 100644 --- a/test/compose-test-13.yaml +++ b/test/compose-2node-join-https-secrets.yaml @@ -1,4 +1,5 @@ # Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. +# Compose scenario: Second node joins bootstrap over HTTPS using username/password/CA secrets. version: '3.6' services: node2: diff --git a/test/compose-test-4.yaml b/test/compose-2node-second-uncoupled.yaml similarity index 92% rename from test/compose-test-4.yaml rename to test/compose-2node-second-uncoupled.yaml index 0203c9a9..61c87290 100644 --- a/test/compose-test-4.yaml +++ b/test/compose-2node-second-uncoupled.yaml @@ -1,5 +1,5 @@ # Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. -#Docker compose file sample to setup a three node cluster +# Compose scenario: Two-node deployment where second node is initialized but does not join the cluster. version: '3.6' services: testbootstrap: diff --git a/test/compose-test-5.yaml b/test/compose-2node-second-uninitialized.yaml similarity index 94% rename from test/compose-test-5.yaml rename to test/compose-2node-second-uninitialized.yaml index 2df9c725..1138ac06 100644 --- a/test/compose-test-5.yaml +++ b/test/compose-2node-second-uninitialized.yaml @@ -1,5 +1,5 @@ # Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. -#Docker compose file sample to setup a three node cluster +# Compose scenario: Two-node deployment where second node remains uninitialized. version: '3.6' services: testbootstrap: diff --git a/test/compose-test-17.yaml b/test/compose-2x2node-clusters-secrets.yaml similarity index 97% rename from test/compose-test-17.yaml rename to test/compose-2x2node-clusters-secrets.yaml index 1b772246..edf7cc44 100644 --- a/test/compose-test-17.yaml +++ b/test/compose-2x2node-clusters-secrets.yaml @@ -1,5 +1,5 @@ # Copyright © 2018-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. -# Docker compose file to setup two separate 2-node clusters for coupling test +# Compose scenario: Two separate 2-node clusters with secrets for cross-cluster coupling tests. version: '3.6' services: # === CLUSTER 1 === diff --git a/test/compose-test-16.yaml b/test/compose-3core-11dynamic-hosts.yaml similarity index 99% rename from test/compose-test-16.yaml rename to test/compose-3core-11dynamic-hosts.yaml index 4728689c..f11d3b28 100644 --- a/test/compose-test-16.yaml +++ b/test/compose-3core-11dynamic-hosts.yaml @@ -1,5 +1,5 @@ # Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. -#Docker compose file sample to setup a three node cluster +# Compose scenario: Dynamic host test topology with 3 core nodes and 11 dynamic nodes. version: '3.6' services: bootstrap_3n: diff --git a/test/compose-test-12.yaml b/test/compose-test-12.yaml deleted file mode 100644 index 8a5a9459..00000000 --- a/test/compose-test-12.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. -version: '3.6' -services: - bootstrap_3n: - image: progressofficial/marklogic-db - container_name: bootstrap_3n - hostname: bootstrap_3n - dns_search: "" - environment: - - MARKLOGIC_INIT=true - - MARKLOGIC_ADMIN_USERNAME=test_admin - - MARKLOGIC_ADMIN_PASSWORD=test_admin_pass - - REALM=public - - TZ=Europe/Prague - volumes: - - MarkLogic_3n_vol1:/var/opt/MarkLogic - ports: - - 7100-7110:8000-8010 - - 7197:7997 - networks: - - external_net -networks: - external_net: {} -volumes: - MarkLogic_3n_vol1: \ No newline at end of file diff --git a/test/compose-test-14.yaml b/test/compose-test-14.yaml deleted file mode 100644 index 8a5a9459..00000000 --- a/test/compose-test-14.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. -version: '3.6' -services: - bootstrap_3n: - image: progressofficial/marklogic-db - container_name: bootstrap_3n - hostname: bootstrap_3n - dns_search: "" - environment: - - MARKLOGIC_INIT=true - - MARKLOGIC_ADMIN_USERNAME=test_admin - - MARKLOGIC_ADMIN_PASSWORD=test_admin_pass - - REALM=public - - TZ=Europe/Prague - volumes: - - MarkLogic_3n_vol1:/var/opt/MarkLogic - ports: - - 7100-7110:8000-8010 - - 7197:7997 - networks: - - external_net -networks: - external_net: {} -volumes: - MarkLogic_3n_vol1: \ No newline at end of file diff --git a/test/compose-test-15.yaml b/test/compose-test-15.yaml deleted file mode 100644 index 493060f4..00000000 --- a/test/compose-test-15.yaml +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. -version: '3.6' -services: - node2: - image: progressofficial/marklogic-db - container_name: node2 - hostname: node2 - dns_search: "" - environment: - - MARKLOGIC_INIT=true - - MARKLOGIC_ADMIN_USERNAME_FILE=mldb_admin_username - - MARKLOGIC_ADMIN_PASSWORD_FILE=mldb_admin_password - - MARKLOGIC_JOIN_TLS_ENABLED=true - - MARKLOGIC_JOIN_CACERT_FILE=certificate.cer - - MARKLOGIC_JOIN_CLUSTER=true - - MARKLOGIC_BOOTSTRAP_HOST=bootstrap_3n - - TZ=Europe/Prague - volumes: - - MarkLogic_3n_vol2:/var/opt/MarkLogic - secrets: - - source: mldb_admin_username - target: mldb_admin_username - - source: mldb_admin_password - target: mldb_admin_password - - source: certificate.cer - target: certificate.cer - ports: - - 7200-7210:8000-8010 - - 7297:7997 - networks: - - external_net -secrets: - mldb_admin_password: - file: ./mldb_admin_password.txt - mldb_admin_username: - file: ./mldb_admin_username.txt - certificate.cer: - file: ./certificate.cer -networks: - external_net: {} -volumes: - MarkLogic_3n_vol2: \ No newline at end of file diff --git a/test/compose-test-2.yaml b/test/compose-test-2.yaml deleted file mode 100644 index 493060f4..00000000 --- a/test/compose-test-2.yaml +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. -version: '3.6' -services: - node2: - image: progressofficial/marklogic-db - container_name: node2 - hostname: node2 - dns_search: "" - environment: - - MARKLOGIC_INIT=true - - MARKLOGIC_ADMIN_USERNAME_FILE=mldb_admin_username - - MARKLOGIC_ADMIN_PASSWORD_FILE=mldb_admin_password - - MARKLOGIC_JOIN_TLS_ENABLED=true - - MARKLOGIC_JOIN_CACERT_FILE=certificate.cer - - MARKLOGIC_JOIN_CLUSTER=true - - MARKLOGIC_BOOTSTRAP_HOST=bootstrap_3n - - TZ=Europe/Prague - volumes: - - MarkLogic_3n_vol2:/var/opt/MarkLogic - secrets: - - source: mldb_admin_username - target: mldb_admin_username - - source: mldb_admin_password - target: mldb_admin_password - - source: certificate.cer - target: certificate.cer - ports: - - 7200-7210:8000-8010 - - 7297:7997 - networks: - - external_net -secrets: - mldb_admin_password: - file: ./mldb_admin_password.txt - mldb_admin_username: - file: ./mldb_admin_username.txt - certificate.cer: - file: ./certificate.cer -networks: - external_net: {} -volumes: - MarkLogic_3n_vol2: \ No newline at end of file diff --git a/test/docker-tests.robot b/test/docker-tests.robot index dfecf7ec..9c23989a 100644 --- a/test/docker-tests.robot +++ b/test/docker-tests.robot @@ -397,14 +397,14 @@ Single node compose with special characters in yaml [Tags] compose 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} + Start compose from ./compose-1node-bootstrap-env-creds.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 ./compose-test-1.yaml + [Teardown] Delete compose from ./compose-1node-bootstrap-env-creds.yaml Three node compose example [Tags] compose positive @@ -438,7 +438,7 @@ Two node compose example with node joining enode group [Tags] compose 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 + Start compose from ./compose-2node-bootstrap-only.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* @@ -446,12 +446,12 @@ Two node compose example with node joining enode group Verify response for authenticated request with 7101 *No license key has been entered* Verify response for authenticated request with 7102 *Monitoring Dashboard* Add group enode on host on port 7102 - Start compose from ./compose-test-7.yaml readiness=False - Compose logs should contain ./compose-test-7.yaml *Cluster config complete, marking this container as ready.* + Start compose from ./compose-2node-join-enode-secrets.yaml readiness=False + Compose logs should contain ./compose-2node-join-enode-secrets.yaml *Cluster config complete, marking this container as ready.* Host node2 should be part of group enode [Teardown] Run keywords - ... Delete compose from ./compose-test-6.yaml - ... AND Delete compose from ./compose-test-7.yaml + ... Delete compose from ./compose-2node-bootstrap-only.yaml + ... AND Delete compose from ./compose-2node-join-enode-secrets.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 @@ -459,23 +459,23 @@ Compose example with node joining cluster using https with invalid parameter val [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 + Start compose from ./compose-2node-join-https-invalid-tls.yaml readiness=False + Compose logs should contain ./compose-2node-join-https-invalid-tls.yaml *MARKLOGIC_JOIN_TLS_ENABLED must be set to true or false, please review the configuration. Container shutting down.* + [Teardown] Delete compose from ./compose-2node-join-https-invalid-tls.yaml Compose example with node joining cluster using https and missing certificate parameter [Tags] compose 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 + Start compose from ./compose-2node-join-https-missing-cacert.yaml readiness=False + Compose logs should contain ./compose-2node-join-https-missing-cacert.yaml *MARKLOGIC_JOIN_CACERT_FILE is not set, please review the configuration. Container shutting down.* + [Teardown] Delete compose from ./compose-2node-join-https-missing-cacert.yaml Two node compose example with bootstrap node without SSL enabled and node joining cluster using https [Tags] compose 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 + Start compose from ./compose-1node-bootstrap-env-creds.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* @@ -483,17 +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-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.* + Start compose from ./compose-2node-join-https-secrets.yaml readiness=False + Compose logs should contain ./compose-2node-join-https-secrets.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-1.yaml - ... AND Delete compose from ./compose-test-2.yaml + ... Delete compose from ./compose-1node-bootstrap-env-creds.yaml + ... AND Delete compose from ./compose-2node-join-https-secrets.yaml Two node compose example with node joining cluster using invalid CAcertificate [Tags] compose 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 + Start compose from ./compose-1node-bootstrap-env-creds.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 @@ -501,34 +501,34 @@ 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-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.* + Start compose from ./compose-2node-join-https-secrets.yaml readiness=False + Compose logs should contain ./compose-2node-join-https-secrets.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-1.yaml - ... AND Delete compose from ./compose-test-2.yaml + ... Delete compose from ./compose-1node-bootstrap-env-creds.yaml + ... AND Delete compose from ./compose-2node-join-https-secrets.yaml Two node compose example with node joining cluster using https [Tags] compose 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 + Start compose from ./compose-1node-bootstrap-env-creds.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 Get CAcertificate for testTemplate 7100 Apply certificate testTemplate on App Server Admin 7102 Apply certificate testTemplate on App Server Manage 7102 - Start compose from ./compose-test-2.yaml readiness=False - Compose logs should contain ./compose-test-2.yaml *Cluster config complete, marking this container as ready.* + Start compose from ./compose-2node-join-https-secrets.yaml readiness=False + Compose logs should contain ./compose-2node-join-https-secrets.yaml *Cluster config complete, marking this container as ready.* [Teardown] Run keywords - ... Delete compose from ./compose-test-1.yaml - ... AND Delete compose from ./compose-test-2.yaml + ... Delete compose from ./compose-1node-bootstrap-env-creds.yaml + ... AND Delete compose from ./compose-2node-join-https-secrets.yaml Single node compose example with bootstrap node joining trying to itself [Tags] compose 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 + ${compose test file}= Set Variable ./compose-1node-self-join.yaml Start compose from ${compose test file} Verify response for unauthenticated request with 7100 *Unauthorized* Verify response for unauthenticated request with 7101 *Unauthorized* @@ -550,7 +550,7 @@ Two node compose example with incorrect bootstrap host name [Tags] compose 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 + ${compose test file}= Set Variable ./compose-2node-invalid-bootstrap-host.yaml Start compose from ${compose test file} Verify response for unauthenticated request with 7100 *Unauthorized* Verify response for unauthenticated request with 7101 *Unauthorized* @@ -578,7 +578,7 @@ Two node compose with credentials in env and verify restart logic [Tags] compose 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 + ${compose test file}= Set Variable ./compose-2node-cluster-env-creds.yaml Start compose from ${compose test file} Verify response for unauthenticated request with 7100 *Unauthorized* Verify response for unauthenticated request with 7101 *Unauthorized* @@ -618,25 +618,25 @@ Two node compose with second node uncoupled [Tags] compose 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 + Start compose from ./compose-2node-second-uncoupled.yaml Verify response for unauthenticated request with 7101 *Unauthorized* Verify response for unauthenticated request with 7201 *Unauthorized* Host count on port 7102 should be 1 Host count on port 7202 should be 1 - [Teardown] Delete compose from ./compose-test-4.yaml + [Teardown] Delete compose from ./compose-2node-second-uncoupled.yaml Two node compose with second node uninitialized [Tags] compose 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 + Start compose from ./compose-2node-second-uninitialized.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.* Host count on port 7102 should be 1 Verify response for authenticated request with 7200 *Forbidden* Verify response for authenticated request with 7201 *This server must now self-install the initial databases and application servers. Click OK to continue.* Verify response for authenticated request with 7202 *Forbidden* - [Teardown] Delete compose from ./compose-test-5.yaml + [Teardown] Delete compose from ./compose-2node-second-uninitialized.yaml Initialized MarkLogic Server with wallet password and realm [Tags] docker-run positive @@ -675,7 +675,7 @@ 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-3core-11dynamic-hosts.yaml # give it some time to prepare the large cluster Sleep 60s ${group}= set Variable dynamic @@ -706,7 +706,7 @@ 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-3core-11dynamic-hosts.yaml Coupled Clusters Cross-Cluster API Test [Tags] compose positive dynamic-hosts coupled-clusters @@ -717,7 +717,7 @@ Coupled Clusters Cross-Cluster API Test 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-2x2node-clusters-secrets.yaml # Get cluster names ${cluster1_name}= Get Local Cluster Name on port 7102 @@ -745,7 +745,7 @@ 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-2x2node-clusters-secrets.yaml Dynamic Host Cluster Concurrecy Join Test [Tags] compose positive dynamic-hosts @@ -753,7 +753,7 @@ 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-3core-11dynamic-hosts.yaml # give it some time to prepare the large cluster Sleep 60s ${group}= set Variable dynamic @@ -761,7 +761,7 @@ 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-3core-11dynamic-hosts.yaml Verify parameter overrides [Tags] docker-run positive diff --git a/test/keywords.resource b/test/keywords.resource index 9acc0fc0..03269b65 100644 --- a/test/keywords.resource +++ b/test/keywords.resource @@ -589,7 +589,7 @@ Verify Full Cluster Restart Removes Dynamic Host Configuration ${group} Should Be Equal As Integers ${host_count} 2 Expected 2 dynamic hosts but found ${host_count} # Restart the entire cluster - Restart compose from compose-test-16.yaml + Restart compose from compose-3core-11dynamic-hosts.yaml Sleep 30s # Verify dynamic host information is removed From 39024750c10f45de513d7ee575aca8398b47e0de Mon Sep 17 00:00:00 2001 From: barkhachoithani Date: Tue, 7 Jul 2026 09:50:54 -0700 Subject: [PATCH 09/10] updated copyright info in compose files --- test/compose-1node-bootstrap-env-creds.yaml | 2 +- test/compose-1node-self-join.yaml | 2 +- test/compose-2node-bootstrap-only.yaml | 2 +- test/compose-2node-cluster-env-creds.yaml | 2 +- test/compose-2node-invalid-bootstrap-host.yaml | 2 +- test/compose-2node-join-enode-secrets.yaml | 2 +- test/compose-2node-join-https-invalid-tls.yaml | 2 +- test/compose-2node-join-https-missing-cacert.yaml | 2 +- test/compose-2node-join-https-secrets.yaml | 2 +- test/compose-2node-second-uncoupled.yaml | 2 +- test/compose-2node-second-uninitialized.yaml | 2 +- test/compose-3core-11dynamic-hosts.yaml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/test/compose-1node-bootstrap-env-creds.yaml b/test/compose-1node-bootstrap-env-creds.yaml index 137d56a9..1210f981 100644 --- a/test/compose-1node-bootstrap-env-creds.yaml +++ b/test/compose-1node-bootstrap-env-creds.yaml @@ -1,4 +1,4 @@ -# Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. +# Copyright © 2018-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. # Compose scenario: Single bootstrap node with admin credentials from environment variables. version: '3.6' services: diff --git a/test/compose-1node-self-join.yaml b/test/compose-1node-self-join.yaml index 33938464..95cfd347 100644 --- a/test/compose-1node-self-join.yaml +++ b/test/compose-1node-self-join.yaml @@ -1,4 +1,4 @@ -# Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. +# Copyright © 2018-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. # Compose scenario: Single node configured to join itself to validate self-join handling. version: '3.6' services: diff --git a/test/compose-2node-bootstrap-only.yaml b/test/compose-2node-bootstrap-only.yaml index a7e2ad15..61de17f1 100644 --- a/test/compose-2node-bootstrap-only.yaml +++ b/test/compose-2node-bootstrap-only.yaml @@ -1,4 +1,4 @@ -# Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. +# Copyright © 2018-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. # Compose scenario: Bootstrap-only node used as base for follow-up join tests. version: '3.6' services: diff --git a/test/compose-2node-cluster-env-creds.yaml b/test/compose-2node-cluster-env-creds.yaml index 2060fe03..8cb5cde0 100644 --- a/test/compose-2node-cluster-env-creds.yaml +++ b/test/compose-2node-cluster-env-creds.yaml @@ -1,4 +1,4 @@ -# Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. +# Copyright © 2018-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. # Compose scenario: Two-node cluster using admin credentials from environment variables. version: '3.6' services: diff --git a/test/compose-2node-invalid-bootstrap-host.yaml b/test/compose-2node-invalid-bootstrap-host.yaml index 8b93a75d..c3bc70e1 100644 --- a/test/compose-2node-invalid-bootstrap-host.yaml +++ b/test/compose-2node-invalid-bootstrap-host.yaml @@ -1,4 +1,4 @@ -# Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. +# Copyright © 2018-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. # Compose scenario: Two-node deployment with an invalid bootstrap host name for node2. version: '3.6' services: diff --git a/test/compose-2node-join-enode-secrets.yaml b/test/compose-2node-join-enode-secrets.yaml index 3ece8c2a..465dcd89 100644 --- a/test/compose-2node-join-enode-secrets.yaml +++ b/test/compose-2node-join-enode-secrets.yaml @@ -1,4 +1,4 @@ -# Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. +# Copyright © 2018-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. # Compose scenario: Second node joins bootstrap and is assigned to the enode group using secrets. version: '3.6' services: diff --git a/test/compose-2node-join-https-invalid-tls.yaml b/test/compose-2node-join-https-invalid-tls.yaml index e4c1362b..c719fd1e 100644 --- a/test/compose-2node-join-https-invalid-tls.yaml +++ b/test/compose-2node-join-https-invalid-tls.yaml @@ -1,4 +1,4 @@ -# Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. +# Copyright © 2018-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. # Compose scenario: HTTPS join with invalid MARKLOGIC_JOIN_TLS_ENABLED value. version: '3.6' services: diff --git a/test/compose-2node-join-https-missing-cacert.yaml b/test/compose-2node-join-https-missing-cacert.yaml index ed91c539..d67ee492 100644 --- a/test/compose-2node-join-https-missing-cacert.yaml +++ b/test/compose-2node-join-https-missing-cacert.yaml @@ -1,4 +1,4 @@ -# Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. +# Copyright © 2018-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. # Compose scenario: HTTPS join with missing MARKLOGIC_JOIN_CACERT_FILE value. version: '3.6' services: diff --git a/test/compose-2node-join-https-secrets.yaml b/test/compose-2node-join-https-secrets.yaml index c806e826..8daf1e5d 100644 --- a/test/compose-2node-join-https-secrets.yaml +++ b/test/compose-2node-join-https-secrets.yaml @@ -1,4 +1,4 @@ -# Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. +# Copyright © 2018-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. # Compose scenario: Second node joins bootstrap over HTTPS using username/password/CA secrets. version: '3.6' services: diff --git a/test/compose-2node-second-uncoupled.yaml b/test/compose-2node-second-uncoupled.yaml index 61c87290..ee71392f 100644 --- a/test/compose-2node-second-uncoupled.yaml +++ b/test/compose-2node-second-uncoupled.yaml @@ -1,4 +1,4 @@ -# Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. +# Copyright © 2018-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. # Compose scenario: Two-node deployment where second node is initialized but does not join the cluster. version: '3.6' services: diff --git a/test/compose-2node-second-uninitialized.yaml b/test/compose-2node-second-uninitialized.yaml index 1138ac06..f1b3df94 100644 --- a/test/compose-2node-second-uninitialized.yaml +++ b/test/compose-2node-second-uninitialized.yaml @@ -1,4 +1,4 @@ -# Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. +# Copyright © 2018-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. # Compose scenario: Two-node deployment where second node remains uninitialized. version: '3.6' services: diff --git a/test/compose-3core-11dynamic-hosts.yaml b/test/compose-3core-11dynamic-hosts.yaml index f11d3b28..5a7f69b4 100644 --- a/test/compose-3core-11dynamic-hosts.yaml +++ b/test/compose-3core-11dynamic-hosts.yaml @@ -1,4 +1,4 @@ -# Copyright © 2018-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. +# Copyright © 2018-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. # Compose scenario: Dynamic host test topology with 3 core nodes and 11 dynamic nodes. version: '3.6' services: From b5f47e42b2b9dcb4eb1d868a6499351398909ae3 Mon Sep 17 00:00:00 2001 From: barkhachoithani Date: Tue, 7 Jul 2026 14:23:38 -0700 Subject: [PATCH 10/10] added test numbers --- Jenkinsfile | 1 + Makefile | 6 ++++ test/docker-tests.robot | 76 ++++++++++++++++++++--------------------- 3 files changed, 45 insertions(+), 38 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 622afa3e..43064562 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -296,6 +296,7 @@ void structureTests() { * Runs Docker functional tests using the 'make docker-tests' target. */ void dockerTests() { + sh "make docker-test-ids" sh "make docker-tests current_image=marklogic/marklogic-server-${dockerImageType}:${marklogicVersion}-${env.dockerImageType}-${env.dockerVersion} upgrade_image=${upgradeDockerImage} marklogicVersion=${marklogicVersion} build_branch=${env.BRANCH_NAME} dockerVersion=${env.dockerVersion} docker_image_type=${dockerImageType} DOCKER_TEST_LIST=\"${params.DOCKER_TEST_LIST}\"" } diff --git a/Makefile b/Makefile index cc5b405e..df6451a0 100644 --- a/Makefile +++ b/Makefile @@ -67,8 +67,14 @@ endif #*************************************************************************** # docker image tests #*************************************************************************** +.PHONY: docker-test-ids +docker-test-ids: + @echo "Docker test ID catalog (Robot test names):" + @awk 'BEGIN{in_tests=0} /^\*\*\* Test Cases \*\*\*/{in_tests=1;next} /^\*\*\*/{if(in_tests)exit} in_tests && /^[DC][0-9][0-9] /{print " - " $$0}' ./test/docker-tests.robot + docker-tests: cd test; \ + $(MAKE) -s docker-test-ids; \ python3 -m venv python_env; \ source ./python_env/bin/activate; \ pip3 install -r requirements.txt; \ diff --git a/test/docker-tests.robot b/test/docker-tests.robot index 9c23989a..0656d854 100644 --- a/test/docker-tests.robot +++ b/test/docker-tests.robot @@ -8,7 +8,7 @@ Suite Setup Ensure Test Results Directory Exists *** Test Cases *** -Smoke Test +D01 Smoke Test [Tags] docker-run positive [Documentation] Detailed scenario: Smoke Test. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -16,7 +16,7 @@ Smoke Test Docker log should contain *MARKLOGIC_INIT is set to false or not defined, not initializing.* [Teardown] Delete container -Uninitialized MarkLogic container +D02 Uninitialized MarkLogic container [Tags] docker-run positive [Documentation] Detailed scenario: Uninitialized MarkLogic container. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -43,7 +43,7 @@ Uninitialized MarkLogic container Verify response for authenticated request with 8002 *Forbidden* [Teardown] Delete container -Uninitialized MarkLogic container with no parameters +D03 Uninitialized MarkLogic container with no parameters [Tags] docker-run positive [Documentation] Detailed scenario: Uninitialized MarkLogic container with no parameters. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -71,7 +71,7 @@ Uninitialized MarkLogic container with no parameters Verify response for authenticated request with 8002 *Forbidden* [Teardown] Delete container -Initialized MarkLogic container +D04 Initialized MarkLogic container [Tags] docker-run positive [Documentation] Detailed scenario: Initialized MarkLogic container. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -101,7 +101,7 @@ Initialized MarkLogic container Verify response for authenticated request with 8002 *Monitoring Dashboard* [Teardown] Delete container -Initialized MarkLogic container with latency +D05 Initialized MarkLogic container with latency [Tags] docker-run 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 @@ Initialized MarkLogic container with latency Verify response for authenticated request with 8002 *Monitoring Dashboard* [Teardown] Delete container -Upgrade MarkLogic container +D06 Upgrade MarkLogic container [Tags] docker-run positive [Documentation] Detailed scenario: Upgrade MarkLogic container. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -161,7 +161,7 @@ Upgrade MarkLogic container [Teardown] Run Keywords Delete container True ... AND Delete Volume -Upgrade MarkLogic container with init parameter +D07 Upgrade MarkLogic container with init parameter [Tags] docker-run positive [Documentation] Detailed scenario: Upgrade MarkLogic container with init parameter. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -188,7 +188,7 @@ Upgrade MarkLogic container with init parameter [Teardown] Run Keywords Delete container True ... AND Delete Volume -Upgrade MarkLogic container with init and credential parameters +D08 Upgrade MarkLogic container with init and credential parameters [Tags] docker-run 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 @@ 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 Initialized MarkLogic container with admin password containing special characters [Tags] docker-run 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 @@ 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 Initialized MarkLogic container with license key installed and MARKLOGIC_INIT set to TRUE [Tags] docker-run 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 @@ 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 +D11 Initialized MarkLogic container without credentials [Tags] docker-run negative [Documentation] Detailed scenario: Initialized MarkLogic container without credentials. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -262,7 +262,7 @@ Initialized MarkLogic container without credentials 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 +D12 Initialized MarkLogic container with invalid value for MARKLOGIC_JOIN_CLUSTER [Tags] docker-run 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 @@ 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 +D13 Invalid value for INIT [Tags] docker-run negative [Documentation] Detailed scenario: Invalid value for INIT. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -284,7 +284,7 @@ Invalid value for INIT Docker log should contain *Error: MARKLOGIC_INIT must be true or false.* [Teardown] Delete container -Invalid value for HOSTNAME +D14 Invalid value for HOSTNAME [Tags] docker-run negative [Documentation] Detailed scenario: Invalid value for HOSTNAME. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -295,7 +295,7 @@ Invalid value for HOSTNAME Docker log should contain *Error: Failed to restart invalid_hostname* [Teardown] Delete container -Initialized MarkLogic container without config overrides +D15 Initialized MarkLogic container without config overrides [Tags] docker-run positive [Documentation] Detailed scenario: Initialized MarkLogic container without config overrides. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -333,7 +333,7 @@ Initialized MarkLogic container without config overrides Verify container timezone America/Los_Angeles [Teardown] Delete container -Initialized MarkLogic container with config overrides +D16 Initialized MarkLogic container with config overrides [Tags] docker-run positive [Documentation] Detailed scenario: Initialized MarkLogic container with config overrides. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -361,7 +361,7 @@ Initialized MarkLogic container with config overrides Verify container timezone America/Los_Angeles [Teardown] Delete container -Single node compose example +C01 Single node compose example [Tags] compose positive [Documentation] Detailed scenario: Single node compose example. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -380,7 +380,7 @@ 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 +C02 Single node compose example with special characters in secrets file [Tags] compose 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 @@ 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 +C03 Single node compose with special characters in yaml [Tags] compose 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 @@ Single node compose with special characters in yaml Verify response for authenticated request with 7102 *Monitoring Dashboard* ${SPEC CHARS ADMIN PASS} [Teardown] Delete compose from ./compose-1node-bootstrap-env-creds.yaml -Three node compose example +C04 Three node compose example [Tags] compose positive [Documentation] Detailed scenario: Three node compose example. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -434,7 +434,7 @@ 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 +C05 Two node compose example with node joining enode group [Tags] compose 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 @@ Two node compose example with node joining enode group ... AND Delete compose from ./compose-2node-join-enode-secrets.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 +C06 Compose example with node joining cluster using https with invalid parameter values [Tags] compose 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 @@ Compose example with node joining cluster using https with invalid parameter val Compose logs should contain ./compose-2node-join-https-invalid-tls.yaml *MARKLOGIC_JOIN_TLS_ENABLED must be set to true or false, please review the configuration. Container shutting down.* [Teardown] Delete compose from ./compose-2node-join-https-invalid-tls.yaml -Compose example with node joining cluster using https and missing certificate parameter +C07 Compose example with node joining cluster using https and missing certificate parameter [Tags] compose 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 @@ Compose example with node joining cluster using https and missing certificate pa Compose logs should contain ./compose-2node-join-https-missing-cacert.yaml *MARKLOGIC_JOIN_CACERT_FILE is not set, please review the configuration. Container shutting down.* [Teardown] Delete compose from ./compose-2node-join-https-missing-cacert.yaml -Two node compose example with bootstrap node without SSL enabled and node joining cluster using https +C08 Two node compose example with bootstrap node without SSL enabled and node joining cluster using https [Tags] compose 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 @@ Two node compose example with bootstrap node without SSL enabled and node joinin ... Delete compose from ./compose-1node-bootstrap-env-creds.yaml ... AND Delete compose from ./compose-2node-join-https-secrets.yaml -Two node compose example with node joining cluster using invalid CAcertificate +C09 Two node compose example with node joining cluster using invalid CAcertificate [Tags] compose 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 @@ Two node compose example with node joining cluster using invalid CAcertificate ... Delete compose from ./compose-1node-bootstrap-env-creds.yaml ... AND Delete compose from ./compose-2node-join-https-secrets.yaml -Two node compose example with node joining cluster using https +C10 Two node compose example with node joining cluster using https [Tags] compose 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 @@ Two node compose example with node joining cluster using https ... Delete compose from ./compose-1node-bootstrap-env-creds.yaml ... AND Delete compose from ./compose-2node-join-https-secrets.yaml -Single node compose example with bootstrap node joining trying to itself +C11 Single node compose example with bootstrap node joining trying to itself [Tags] compose 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 @@ 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 +C12 Two node compose example with incorrect bootstrap host name [Tags] compose 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 @@ 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 +C13 Two node compose with credentials in env and verify restart logic [Tags] compose 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 @@ 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 +C14 Two node compose with second node uncoupled [Tags] compose 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 @@ Two node compose with second node uncoupled Host count on port 7202 should be 1 [Teardown] Delete compose from ./compose-2node-second-uncoupled.yaml -Two node compose with second node uninitialized +C15 Two node compose with second node uninitialized [Tags] compose 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 @@ Two node compose with second node uninitialized Verify response for authenticated request with 7202 *Forbidden* [Teardown] Delete compose from ./compose-2node-second-uninitialized.yaml -Initialized MarkLogic Server with wallet password and realm +D17 Initialized MarkLogic Server with wallet password and realm [Tags] docker-run 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 @@ 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 Initialized MarkLogic container with ML converters [Tags] docker-run positive [Documentation] Detailed scenario: Initialized MarkLogic container with ML converters. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -669,7 +669,7 @@ Initialized MarkLogic container with ML converters Verify converter package installation [Teardown] Delete container -Dynamic Host Cluster Test +C16 Dynamic Host Cluster Test [Tags] compose positive dynamic-hosts [Documentation] Detailed scenario: Dynamic Host Cluster Test. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -708,7 +708,7 @@ Dynamic Host Cluster Test Verify Dynamic Host Can Execute Query Default 7902 [Teardown] Delete compose from ./compose-3core-11dynamic-hosts.yaml -Coupled Clusters Cross-Cluster API Test +C17 Coupled Clusters Cross-Cluster API Test [Tags] compose positive dynamic-hosts coupled-clusters [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. @@ -747,7 +747,7 @@ Coupled Clusters Cross-Cluster API Test [Teardown] Delete compose from ./compose-2x2node-clusters-secrets.yaml -Dynamic Host Cluster Concurrecy Join Test +C18 Dynamic Host Cluster Concurrecy Join Test [Tags] compose positive dynamic-hosts [Documentation] Detailed scenario: Dynamic Host Cluster Concurrency Join Test. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -763,7 +763,7 @@ Dynamic Host Cluster Concurrecy Join Test [Teardown] Delete compose from ./compose-3core-11dynamic-hosts.yaml -Verify parameter overrides +D19 Verify parameter overrides [Tags] docker-run positive [Documentation] Detailed scenario: Verify parameter overrides. ... Covers setup, execution, and expected outcome validation for this scenario. @@ -785,7 +785,7 @@ 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 parameter overrides [Tags] docker-run positive [Documentation] Detailed scenario: Verify implicit parameter overrides. ... Covers setup, execution, and expected outcome validation for this scenario.