From 3f4deb91789189521d577457bd6da27de8fd75b1 Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Wed, 07 Oct 2026 08:31:10 +0000
Subject: [PATCH] [#1153] Parse the whole DN string, and build or split DN strings through DN instead of string operations (#1171)

---
 opendj-cli/src/test/java/com/forgerock/opendj/cli/UtilsTestCase.java |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/opendj-cli/src/test/java/com/forgerock/opendj/cli/UtilsTestCase.java b/opendj-cli/src/test/java/com/forgerock/opendj/cli/UtilsTestCase.java
index c116cf4..1ea51ca 100644
--- a/opendj-cli/src/test/java/com/forgerock/opendj/cli/UtilsTestCase.java
+++ b/opendj-cli/src/test/java/com/forgerock/opendj/cli/UtilsTestCase.java
@@ -12,12 +12,17 @@
  * information: "Portions Copyright [year] [name of copyright owner]".
  *
  * Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package com.forgerock.opendj.cli;
 
 import java.io.File;
 import java.io.IOException;
 
+import org.forgerock.opendj.ldap.ByteString;
+import org.forgerock.opendj.ldap.DN;
+import org.forgerock.opendj.ldap.RDN;
+import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
 import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertTrue;
@@ -88,5 +93,21 @@
         assertFalse(Utils.isDN("babs@example.com"));
     }
 
+    @DataProvider
+    public Object[][] administratorUIDs() {
+        return new Object[][] { { "admin" }, { "a,b" }, { "a+b" }, { "#1" }, { " lead" }, { "a\\b" }, { "a;b" },
+            { "a=b" }, { "J\u00f6rg" } };
+    }
+
+    @Test(dataProvider = "administratorUIDs")
+    public void getAdministratorDNKeepsTheWholeUID(final String uid) {
+        final DN adminDN = Utils.getAdministratorDN(uid);
+        assertEquals(adminDN.parent(), DN.valueOf("cn=Administrators,cn=admin data"));
+        final RDN rdn = adminDN.rdn();
+        assertEquals(rdn.size(), 1);
+        assertEquals(rdn.getFirstAVA().getAttributeType().getNameOrOID(), "cn");
+        assertEquals(rdn.getFirstAVA().getAttributeValue(), ByteString.valueOfUtf8(uid));
+    }
+
 
 }

--
Gitblit v1.10.0