Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,32 @@ jobs:
opendj-server-legacy/target/package/opendj/bin/status --hostname localhost --bindDN "cn=Directory Manager" --bindPassword password --trustAll
opendj-server-legacy/target/package/opendj/bin/ldapsearch --hostname localhost --port 1636 --bindDN "cn=Directory Manager" --bindPassword password --useSsl --trustAll --baseDN "dc=example,dc=com" --searchScope base "(objectClass=*)" 1.1
opendj-server-legacy/target/package/opendj/bin/ldapsearch --hostname localhost --port 1636 --bindDN "cn=Directory Manager" --bindPassword password --useSsl --trustAll --baseDN "ou=people,dc=example,dc=com" --searchScope sub "(uid=user.*)" dn | grep ^dn: | wc -l | grep -q 5000
# --- Load-testing tools smoke tests (server online, 5000 sample users) ---
echo "===== searchrate ====="
opendj-server-legacy/target/package/opendj/bin/searchrate --hostname localhost --port 1636 --useSSL --trustAll --bindDN "cn=Directory Manager" --bindPassword password --baseDN "ou=people,dc=example,dc=com" --searchScope sub -c 4 -t 1 -m 2000 -i 1 -g "rand(0,4999)" "(uid=user.%d)" 1.1
echo "===== authrate ====="
opendj-server-legacy/target/package/opendj/bin/authrate --hostname localhost --port 1636 --useSSL --trustAll -D "uid=user.%d,ou=people,dc=example,dc=com" -w password -c 4 -m 2000 -i 1 -g "rand(0,4999)"
echo "===== modrate ====="
opendj-server-legacy/target/package/opendj/bin/modrate --hostname localhost --port 1636 --useSSL --trustAll --bindDN "cn=Directory Manager" --bindPassword password -b "uid=user.%d,ou=people,dc=example,dc=com" -c 4 -t 1 -m 2000 -i 1 -g "rand(0,4999)" "description:modrate-load-test"
echo "===== addrate ====="
cat > /tmp/addrate.template <<'EOF'
define suffix=dc=example,dc=com

branch: ou=People,[suffix]
subordinateTemplate: person

template: person
rdnAttr: uid
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
uid: addrate.<sequential:0>
cn: AddRate {uid}
sn: AddRate
userPassword: password
EOF
opendj-server-legacy/target/package/opendj/bin/addrate --hostname localhost --port 1636 --useSSL --trustAll --bindDN "cn=Directory Manager" --bindPassword password -c 4 -t 1 -m 2000 -i 1 -C fifo -s 100 /tmp/addrate.template
opendj-server-legacy/target/package/opendj/bin/dsconfig create-backend --hostname localhost --port 4444 --bindDN "cn=Directory Manager" --bindPassword password --backend-name=example2 --type je --set=base-dn:dc=example2,dc=com --set=enabled:true --no-prompt --trustAll
opendj-server-legacy/target/package/opendj/bin/makeldif -o /tmp/test.ldif -c suffix=dc=example2,dc=com opendj-server-legacy/target/package/opendj/config/MakeLDIF/example.template
opendj-server-legacy/target/package/opendj/bin/stop-ds
Expand Down Expand Up @@ -255,6 +281,36 @@ jobs:
opendj-server-legacy\target\package\opendj\bat\status.bat --hostname localhost --bindDN "cn=Directory Manager" --bindPassword password --trustAll
opendj-server-legacy\target\package\opendj\bat\ldapsearch.bat --hostname localhost --port 1636 --bindDN "cn=Directory Manager" --bindPassword password --useSsl --trustAll --baseDN "dc=example,dc=com" --searchScope base "(objectClass=*)" 1.1
opendj-server-legacy\target\package\opendj\bat\ldapsearch.bat --hostname localhost --port 1636 --bindDN "cn=Directory Manager" --bindPassword password --useSsl --trustAll --baseDN "dc=example,dc=com" --searchScope sub "(uid=user.*)" dn | find /c '"dn:"' | findstr "5000"
# --- Load-testing tools smoke tests (server online, 5000 sample users) ---
Write-Host "===== searchrate ====="
opendj-server-legacy\target\package\opendj\bat\searchrate.bat --hostname localhost --port 1636 --useSSL --trustAll --bindDN "cn=Directory Manager" --bindPassword password --baseDN "ou=people,dc=example,dc=com" --searchScope sub -c 4 -t 1 -m 2000 -i 1 -g "rand(0,4999)" "(uid=user.%d)" 1.1
if ($LASTEXITCODE -ne 0) { throw "searchrate failed with exit code $LASTEXITCODE" }
Write-Host "===== authrate ====="
opendj-server-legacy\target\package\opendj\bat\authrate.bat --hostname localhost --port 1636 --useSSL --trustAll -D "uid=user.%d,ou=people,dc=example,dc=com" -w password -c 4 -m 2000 -i 1 -g "rand(0,4999)"
if ($LASTEXITCODE -ne 0) { throw "authrate failed with exit code $LASTEXITCODE" }
Write-Host "===== modrate ====="
opendj-server-legacy\target\package\opendj\bat\modrate.bat --hostname localhost --port 1636 --useSSL --trustAll --bindDN "cn=Directory Manager" --bindPassword password -b "uid=user.%d,ou=people,dc=example,dc=com" -c 4 -t 1 -m 2000 -i 1 -g "rand(0,4999)" "description:modrate-load-test"
if ($LASTEXITCODE -ne 0) { throw "modrate failed with exit code $LASTEXITCODE" }
Write-Host "===== addrate ====="
@'
define suffix=dc=example,dc=com

branch: ou=People,[suffix]
subordinateTemplate: person

template: person
rdnAttr: uid
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
uid: addrate.<sequential:0>
cn: AddRate {uid}
sn: AddRate
userPassword: password
'@ | Set-Content -Encoding ascii addrate.template
opendj-server-legacy\target\package\opendj\bat\addrate.bat --hostname localhost --port 1636 --useSSL --trustAll --bindDN "cn=Directory Manager" --bindPassword password -c 4 -t 1 -m 2000 -i 1 -C fifo -s 100 addrate.template
if ($LASTEXITCODE -ne 0) { throw "addrate failed with exit code $LASTEXITCODE" }
opendj-server-legacy\target\package\opendj\bat\dsconfig.bat create-backend --hostname localhost --port 4444 --bindDN "cn=Directory Manager" --bindPassword password --backend-name=example2 --type je --set=base-dn:dc=example2,dc=com --set=enabled:true --no-prompt --trustAll
opendj-server-legacy\target\package\opendj\bat\makeldif.bat -o test.ldif -c suffix=dc=example2,dc=com opendj-server-legacy\target\package\opendj\config\MakeLDIF\example.template
opendj-server-legacy\target\package\opendj\bat\stop-ds.bat
Expand Down
5 changes: 4 additions & 1 deletion opendj-ldap-toolkit/src/main/assembly/bat/addrate.bat
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,13 @@ rem Header, with the fields enclosed by brackets [] replaced by your own identif
rem information: "Portions Copyright [year] [name of copyright owner]".
rem
rem Copyright 2014 ForgeRock AS.
rem Portions Copyright 2026 3A Systems, LLC

setlocal

set OPENDJ_INVOKE_CLASS="com.forgerock.opendj.ldap.tools.AddRate"
set SCRIPT_NAME=addrate
call "%~dp0\..\lib\_client-script.bat" %*
rem Chain (no CALL) so a literal '%' in arguments (e.g. the "%d" of a Java
rem format string used by -g) is not stripped by CALL's extra expansion pass.
"%~dp0\..\lib\_client-script.bat" %*

6 changes: 4 additions & 2 deletions opendj-ldap-toolkit/src/main/assembly/bat/authrate.bat
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@ rem Header, with the fields enclosed by brackets [] replaced by your own identif
rem information: "Portions Copyright [year] [name of copyright owner]".
rem
rem Copyright 2010 Sun Microsystems, Inc.

rem Portions Copyright 2026 3A Systems, LLC
setlocal

set OPENDJ_INVOKE_CLASS="com.forgerock.opendj.ldap.tools.AuthRate"
set SCRIPT_NAME=authrate
call "%~dp0\..\lib\_client-script.bat" %*
rem Chain (no CALL) so a literal '%' in arguments (e.g. the "%d" of a Java
rem format string used by -g) is not stripped by CALL's extra expansion pass.
"%~dp0\..\lib\_client-script.bat" %*

5 changes: 4 additions & 1 deletion opendj-ldap-toolkit/src/main/assembly/bat/modrate.bat
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,13 @@ rem Header, with the fields enclosed by brackets [] replaced by your own identif
rem information: "Portions Copyright [year] [name of copyright owner]".
rem
rem Copyright 2009 Sun Microsystems, Inc.
rem Portions Copyright 2026 3A Systems, LLC

setlocal

set OPENDJ_INVOKE_CLASS="com.forgerock.opendj.ldap.tools.ModRate"
set SCRIPT_NAME=modrate
call "%~dp0\..\lib\_client-script.bat" %*
rem Chain (no CALL) so a literal '%' in arguments (e.g. the "%d" of a Java
rem format string used by -g) is not stripped by CALL's extra expansion pass.
"%~dp0\..\lib\_client-script.bat" %*

5 changes: 4 additions & 1 deletion opendj-ldap-toolkit/src/main/assembly/bat/searchrate.bat
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,13 @@ rem Header, with the fields enclosed by brackets [] replaced by your own identif
rem information: "Portions Copyright [year] [name of copyright owner]".
rem
rem Copyright 2009 Sun Microsystems, Inc.
rem Portions Copyright 2026 3A Systems, LLC

setlocal

set OPENDJ_INVOKE_CLASS="com.forgerock.opendj.ldap.tools.SearchRate"
set SCRIPT_NAME=searchrate
call "%~dp0\..\lib\_client-script.bat" %*
rem Chain (no CALL) so a literal '%' in arguments (e.g. the "%d" of a Java
rem format string used by -g) is not stripped by CALL's extra expansion pass.
"%~dp0\..\lib\_client-script.bat" %*

Loading