summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsource4/selftest/tests.py2
-rw-r--r--source4/torture/drs/python/drs_base.py6
-rw-r--r--source4/torture/drs/python/replica_sync.py6
3 files changed, 12 insertions, 2 deletions
diff --git a/source4/selftest/tests.py b/source4/selftest/tests.py
index 9a6af526cc..8e868dc291 100755
--- a/source4/selftest/tests.py
+++ b/source4/selftest/tests.py
@@ -485,7 +485,7 @@ plantestsuite("samba4.ldap.bind(dc)", "dc", [python, os.path.join(srcdir(), "aut
planoldpythontestsuite("vampire_dc", "samba.tests.blackbox.samba_tool_drs",
environ={'DC1': '$DC_SERVER', 'DC2': '$VAMPIRE_DC_SERVER'},
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
-planoldpythontestsuite("vampire_dc", "replica_sync",
+planoldpythontestsuite("vampire_dc:local", "replica_sync",
extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
name="samba4.drs.replica_sync.python(vampire_dc)",
environ={'DC1': '$DC_SERVER', 'DC2': '$VAMPIRE_DC_SERVER'},
diff --git a/source4/torture/drs/python/drs_base.py b/source4/torture/drs/python/drs_base.py
index 8e48b92f7a..abfdbf5bd3 100644
--- a/source4/torture/drs/python/drs_base.py
+++ b/source4/torture/drs/python/drs_base.py
@@ -98,13 +98,17 @@ class DrsBaseTestCase(samba.tests.BlackboxTestCase):
# bin/samba-tool drs <drs_command> <cmdline_auth>
return "%s drs %s %s" % (samba_tool_cmd, drs_command, cmdline_auth)
- def _net_drs_replicate(self, DC, fromDC, nc_dn=None, forced=True):
+ def _net_drs_replicate(self, DC, fromDC, nc_dn=None, forced=True, local=False, full_sync=False):
if nc_dn is None:
nc_dn = self.domain_dn
# make base command line
samba_tool_cmdline = self._samba_tool_cmdline("replicate")
if forced:
samba_tool_cmdline += " --sync-forced"
+ if local:
+ samba_tool_cmdline += " --local"
+ if full_sync:
+ samba_tool_cmdline += " --full-sync"
# bin/samba-tool drs replicate <Dest_DC_NAME> <Src_DC_NAME> <Naming Context>
cmd_line = "%s %s %s %s" % (samba_tool_cmdline, DC, fromDC, nc_dn)
return self.check_output(cmd_line)
diff --git a/source4/torture/drs/python/replica_sync.py b/source4/torture/drs/python/replica_sync.py
index ddeb5822f5..af2da4fceb 100644
--- a/source4/torture/drs/python/replica_sync.py
+++ b/source4/torture/drs/python/replica_sync.py
@@ -63,3 +63,9 @@ class DrsReplicaSyncTestCase(drs_base.DrsBaseTestCase):
"""Tests we cann't replicate when replication is disabled"""
self._disable_inbound_repl(self.dnsname_dc1)
out = self._net_drs_replicate(DC=self.dnsname_dc1, fromDC=self.dnsname_dc2, forced=True)
+
+ def test_ReplLocal(self):
+ """Tests we can replicate direct to the local db"""
+ self._enable_inbound_repl(self.dnsname_dc1)
+ self._net_drs_replicate(DC=self.dnsname_dc1, fromDC=self.dnsname_dc2, forced=False, local=True, full_sync=True)
+