#!/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" USER_DN="uid=alice,${TEST_USERS_DN}" APP_ADMIN_DN="uid=alice-admin,${TEST_USERS_DN}" GROUP_DN="cn=cloud-admins,${TEST_GROUPS_DN}" SERVICE_DN="cn=other-service,${TEST_SERVICES_DN}" OUTSIDE_DN="uid=outside,${TEST_SUFFIX}" NEW_PASSWORD="Changed-passw0rd-2026" NEXT_PASSWORD="Another-passw0rd-2026" eventually has_entry "${URI}" "${TEST_SUFFIX}" if [ "${TEST_MANAGEMENT_MODE}" = "disabled" ]; then for dn in "${TEST_USERS_DN}" "${TEST_GROUPS_DN}" "${TEST_SERVICES_DN}" "${TEST_MANAGEMENT_DN}"; do expect_rc 32 bind_search "${URI}" "${ADMIN_DN}" -b "${dn}" -s base dn done ok 'tree and management are disabled by default' exit 0 fi for dn in "${TEST_USERS_DN}" "${TEST_GROUPS_DN}" "${TEST_SERVICES_DN}"; do expect_rc 0 bind_search "${URI}" "${ADMIN_DN}" -b "${dn}" -s base objectClass expect_output '^objectClass: organizationalUnit$' done if [ "${TEST_MANAGEMENT_MODE}" = "tree" ]; then expect_rc 32 bind_search "${URI}" "${ADMIN_DN}" -b "${TEST_MANAGEMENT_DN}" -s base dn ok 'tree creation does not enable the management account' exit 0 fi expect_rc 0 bind_search "${URI}" "${ADMIN_DN}" -b "${TEST_MANAGEMENT_DN}" -s base objectClass userPassword expect_output '^objectClass: simpleSecurityObject$' expect_output '^userPassword:' expect_rc 0 ldapwhoami -x -H "${URI}" -D "${TEST_MANAGEMENT_DN}" -w "${TEST_PASSWORD}" for dn in "${USER_DN}" "${APP_ADMIN_DN}" "${OUTSIDE_DN}"; do uid="${dn%%,*}" expect_rc 0 bind_modify "${URI}" "${ADMIN_DN}" -a <