1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

s4-selftest: Test samba-tool drs replicate --local --full-sync

This commit is contained in:
Andrew Bartlett 2012-06-08 13:37:49 +10:00
parent ba44bd353d
commit 29ff3ce568
3 changed files with 12 additions and 2 deletions

View File

@ -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'},

View File

@ -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)

View File

@ -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)