1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
samba-mirror/testprogs/blackbox/join_ldapcmp.sh
Andreas Schneider 65b3797352 testprogs: Reformat join_ldapcmp.sh
shfmt -w -p -i 0 -fn testprogs/blackbox/join_ldapcmp.sh

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Pavel Filipenský <pfilipensky@samba.org>
2022-08-04 12:56:37 +00:00

52 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
# Does a join against the testenv's DC and then runs ldapcmp on the resulting DB
. $(dirname $0)/subunit.sh
TARGET_DIR="$PREFIX_ABS/join_$SERVER"
cleanup_output_dir()
{
if [ -d $TARGET_DIR ]; then
rm -fr $TARGET_DIR
fi
}
SAMBA_TOOL="$PYTHON $BINDIR/samba-tool"
join_dc()
{
JOIN_ARGS="--targetdir=$TARGET_DIR --server=$SERVER -U$USERNAME%$PASSWORD"
$SAMBA_TOOL domain join $REALM dc $JOIN_ARGS --option="netbios name = TESTJOINDC"
}
demote_joined_dc()
{
DEMOTE_ARGS="--remove-other-dead-server=TESTJOINDC --server=$SERVER -U$USERNAME%$PASSWORD"
$SAMBA_TOOL domain demote $DEMOTE_ARGS
}
ldapcmp_result()
{
DB1_PATH="tdb://$PREFIX_ABS/$SERVER/private/sam.ldb"
DB2_PATH="tdb://$TARGET_DIR/private/sam.ldb"
# interSiteTopologyGenerator gets periodically updated. With the restored
# testenvs, it can sometimes point to the old/deleted DC object still
$SAMBA_TOOL ldapcmp $DB1_PATH $DB2_PATH --filter=interSiteTopologyGenerator
}
cleanup_output_dir
# check that we can join this DC
testit "check_dc_join" join_dc
# check resulting DB matches server DC
testit "new_db_matches" ldapcmp_result
testit "demote_joined_dc" demote_joined_dc
cleanup_output_dir
exit $failed