#!/bin/bash # shellcheck disable=SC2153 set -euo pipefail # if container log level is trace: # print commands and their arguments as they are executed container log level eq trace && set -x # shellcheck disable=SC1091 source /tmp/openldap-test-lib.sh URI="ldap://${TEST_NODES}:3890" DIRECTORY_ADMIN_DN="${TEST_DIRECTORY_ADMIN_DN}" USER_DN="uid=alice,${TEST_USERS_DN}" RENAMED_DN="uid=alice-renamed,${TEST_USERS_DN}" GROUP_DN="cn=team,${TEST_GROUPS_DN}" RENAMED_GROUP_DN="cn=renamed-team,${TEST_GROUPS_DN}" SERVICE_DN="cn=other-service,${TEST_SERVICES_DN}" OUTSIDE_DN="cn=outside,${TEST_SUFFIX}" NEW_PASSWORD="Changed-passw0rd-2026" eventually has_entry "${URI}" "${TEST_SUFFIX}" if [ "${TEST_ADMIN_MODE}" = "disabled" ]; then expect_rc 32 bind_search "${URI}" "${ADMIN_DN}" -b "${DIRECTORY_ADMIN_DN}" -s base dn expect_rc 0 bind_search "${URI}" "${CONFIG_ADMIN_DN}" -b 'olcDatabase={1}mdb,cn=config' -s base olcAccess expect_no_output "${DIRECTORY_ADMIN_DN}" ok 'directory administrator and its ACLs are disabled by default' exit 0 fi expect_rc 0 ldapwhoami -x -H "${URI}" -D "${DIRECTORY_ADMIN_DN}" -w "${TEST_PASSWORD}" expect_rc 0 bind_search "${URI}" "${DIRECTORY_ADMIN_DN}" -b "${DIRECTORY_ADMIN_DN}" -s base objectClass cn entryUUID userPassword expect_output '^objectClass: organizationalRole$' expect_output '^objectClass: simpleSecurityObject$' expect_output '^entryUUID:' expect_no_output '^userPassword:' ok 'directory administrator can bind and read its real entry and identifier' expect_rc 0 bind_modify "${URI}" "${DIRECTORY_ADMIN_DN}" -a <