summaryrefslogtreecommitdiffstats
path: root/testprogs/blackbox/renamedc.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 17:20:00 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 17:20:00 +0000
commit8daa83a594a2e98f39d764422bfbdbc62c9efd44 (patch)
tree4099e8021376c7d8c05bdf8503093d80e9c7bad0 /testprogs/blackbox/renamedc.sh
parentInitial commit. (diff)
downloadsamba-8daa83a594a2e98f39d764422bfbdbc62c9efd44.tar.xz
samba-8daa83a594a2e98f39d764422bfbdbc62c9efd44.zip
Adding upstream version 2:4.20.0+dfsg.upstream/2%4.20.0+dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testprogs/blackbox/renamedc.sh')
-rwxr-xr-xtestprogs/blackbox/renamedc.sh103
1 files changed, 103 insertions, 0 deletions
diff --git a/testprogs/blackbox/renamedc.sh b/testprogs/blackbox/renamedc.sh
new file mode 100755
index 0000000..fc32cad
--- /dev/null
+++ b/testprogs/blackbox/renamedc.sh
@@ -0,0 +1,103 @@
+#!/bin/sh
+
+if [ $# -lt 1 ]; then
+ cat <<EOF
+Usage: renamedc.sh PREFIX
+EOF
+ exit 1
+fi
+
+PREFIX="$1"
+shift 1
+
+. $(dirname $0)/subunit.sh
+. "$(dirname "${0}")/common_test_fns.inc"
+
+ldbsearch=$(system_or_builddir_binary ldbsearch "${BINDIR}")
+
+if [ ! -d $PREFIX/renamedc_test ]; then
+ mkdir -p $PREFIX/renamedc_test
+fi
+
+testprovision()
+{
+ $PYTHON $BINDIR/samba-tool domain provision --host-name=bar --domain=FOO --realm=foo.example.com --targetdir="$PREFIX/renamedc_test" --server-role="dc" --use-ntvfs
+}
+
+testrenamedc()
+{
+ $PYTHON $SRCDIR/source4/scripting/bin/renamedc \
+ --oldname="BAR" \
+ --newname="RAYMONBAR" \
+ --configfile=$PREFIX/renamedc_test/etc/smb.conf
+}
+
+confirmrenamedc()
+{
+ $ldbsearch -H $PREFIX/renamedc_test/private/sam.ldb --scope=base -b 'cn=RAYMONBAR,ou=domain controllers,dc=foo,dc=example,dc=com'
+}
+
+confirmrenamedc_server()
+{
+ $ldbsearch -H $PREFIX/renamedc_test/private/sam.ldb --scope=base -b 'cn=RAYMONBAR,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=configuration,dc=foo,dc=example,dc=com'
+}
+
+confirmrenamedc_sAMAccountName()
+{
+ $ldbsearch -H $PREFIX/renamedc_test/private/sam.ldb --scope=base -b 'cn=RAYMONBAR,ou=domain controllers,dc=foo,dc=example,dc=com' sAMAccountName | grep 'sAMAccountName: RAYMONBAR\$'
+}
+
+confirmrenamedc_dNSHostName()
+{
+ $ldbsearch -H $PREFIX/renamedc_test/private/sam.ldb --scope=base -b 'cn=RAYMONBAR,ou=domain controllers,dc=foo,dc=example,dc=com' dNSHostName | grep 'dNSHostName: RAYMONBAR.foo.example.com'
+}
+
+confirmrenamedc_rootdse_dnsHostName()
+{
+ $ldbsearch -H $PREFIX/renamedc_test/private/sam.ldb --scope=base -b '' dNSHostName | grep 'dnsHostName: RAYMONBAR.foo.example.com'
+}
+
+confirmrenamedc_rootdse_dsServiceName()
+{
+ $ldbsearch -H $PREFIX/renamedc_test/private/sam.ldb --show-binary --scope=base -b '' dsServiceName | grep 'dsServiceName: CN=NTDS Settings,CN=RAYMONBAR,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=foo,DC=example,DC=com'
+}
+
+testrenamedc2()
+{
+ $PYTHON $SRCDIR/source4/scripting/bin/renamedc \
+ --oldname="RAYMONBAR" \
+ --newname="BAR" \
+ --configfile=$PREFIX/renamedc_test/etc/smb.conf
+}
+
+dbcheck_fix()
+{
+ # Unlike most calls to dbcheck --fix, this will not trigger an error, as
+ # we do not flag an error count for this old DN string case.
+ $PYTHON $BINDIR/samba-tool dbcheck --cross-ncs --configfile=$PREFIX/renamedc_test/etc/smb.conf --fix \
+ --quiet --yes fix_all_old_dn_string_component_mismatch \
+ --attrs="fsmoRoleOwner interSiteTopologyGenerator msDS-NC-Replica-Locations"
+}
+
+dbcheck()
+{
+ $PYTHON $BINDIR/samba-tool dbcheck --cross-ncs --configfile=$PREFIX/renamedc_test/etc/smb.conf
+}
+
+testit "renameprovision" testprovision || failed=$(expr $failed + 1)
+testit "renamedc" testrenamedc || failed=$(expr $failed + 1)
+testit "confirmrenamedc" confirmrenamedc || failed=$(expr $failed + 1)
+testit "confirmrenamedc_server" confirmrenamedc_server || failed=$(expr $failed + 1)
+testit "confirmrenamedc_sAMAccountName" confirmrenamedc_sAMAccountName || failed=$(expr $failed + 1)
+testit "confirmrenamedc_dNSHostName" confirmrenamedc_dNSHostName || failed=$(expr $failed + 1)
+testit "confirmrenamedc_rootdse_dnsHostName" confirmrenamedc_rootdse_dnsHostName || failed=$(expr $failed + 1)
+testit "confirmrenamedc_rootdse_dsServiceName" confirmrenamedc_rootdse_dsServiceName || failed=$(expr $failed + 1)
+testit "dbcheck_fix" dbcheck_fix || failed=$(expr $failed + 1)
+testit "dbcheck" dbcheck || failed=$(expr $failed + 1)
+testit "renamedc2" testrenamedc2 || failed=$(expr $failed + 1)
+
+if [ $failed -eq 0 ]; then
+ rm -rf $PREFIX/renamedc_test
+fi
+
+exit $failed