From e521b43bf59c5e7e09224507b9457d397c3811ac Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Thu, 01 Oct 2026 13:22:25 +0000
Subject: [PATCH] [#1128] Replace the DocBook xinclude and olink leftovers of the generated reference with AsciiDoc (#1132)

---
 opendj-server-legacy/src/test/java/org/opends/server/tools/dsconfig/DsconfigOptionsTestCase.java |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/opendj-server-legacy/src/test/java/org/opends/server/tools/dsconfig/DsconfigOptionsTestCase.java b/opendj-server-legacy/src/test/java/org/opends/server/tools/dsconfig/DsconfigOptionsTestCase.java
index dfa9f05..31dd49e 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/tools/dsconfig/DsconfigOptionsTestCase.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/tools/dsconfig/DsconfigOptionsTestCase.java
@@ -12,6 +12,7 @@
  * information: "Portions Copyright [year] [name of copyright owner]".
  *
  * Copyright 2011-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.tools.dsconfig;
 
@@ -19,6 +20,8 @@
 
 import static org.testng.Assert.*;
 
+import java.io.ByteArrayOutputStream;
+
 import org.forgerock.opendj.config.dsconfig.DSConfig;
 import org.opends.server.DirectoryServerTestCase;
 import org.opends.server.TestCaseUtils;
@@ -182,6 +185,35 @@
     }
   }
 
+  /**
+   * Tests that the generated reference describes the duration and ACI values in AsciiDoc,
+   * and keeps the duration and size limits apart.
+   */
+  @Test
+  public void testGenerateDocHasNoDocBookLeftovers() throws Exception
+  {
+    System.setProperty("org.forgerock.opendj.gendoc", "true");
+    System.setProperty("com.forgerock.opendj.ldap.tools.scriptName", "dsconfig");
+    final ByteArrayOutputStream out = new ByteArrayOutputStream();
+    try
+    {
+      assertEquals(DSConfig.main(new String[] { "--no-prompt", "-?" }, out, System.err), SUCCESS.get());
+    }
+    finally
+    {
+      System.clearProperty("org.forgerock.opendj.gendoc");
+    }
+    final String doc = out.toString("UTF-8");
+    assertTrue(doc.contains("Upper limit is"), "no duration property with an upper limit was generated");
+    assertTrue(doc.contains("A duration: a number followed by a unit"), "duration syntax");
+    assertTrue(doc.contains("xref:../admin-guide/chap-privileges-acis.adoc#about-acis"), "ACI syntax");
+    assertFalse(doc.contains("<xinclude:include"), "DocBook xinclude leftover");
+    assertFalse(doc.contains("<olink"), "DocBook olink leftover");
+    assertFalse(doc.contains(".Lower limit") || doc.contains(".Upper limit"), "duration sentences glued together");
+    assertTrue(doc.contains("Lower value is 512"), "no size property with a lower limit was generated");
+    assertFalse(doc.contains(".Upper value"), "size sentences glued together");
+  }
+
   private int dsconfigMain(String[] args)
   {
     return DSConfig.main(args, System.out, System.err);

--
Gitblit v1.10.0