from samba.auth import system_session
from samba.samdb import SamDB
import ldb
+import shutil, os
class SambaDnsUpdateTests(samba.tests.BlackboxTestCase):
"""Blackbox test case for samba_dnsupdate."""
pass
def test_samba_dnsupate_no_change(self):
- out = self.check_output("samba_dnsupdate --verbose")
+ try:
+ out = self.check_output("samba_dnsupdate --verbose")
+ except samba.tests.BlackboxProcessError as e:
+ self.fail("Error calling samba_dnsupdate: %s" % e)
self.assertTrue("No DNS updates needed" in out, out)
def test_samba_dnsupate_set_ip(self):
self.creds = Credentials()
self.creds.guess(self.lp)
self.session = system_session()
+ uc_fn = self.lp.private_path('dns_update_cache')
+ tmp_uc = uc_fn + '_tmp'
+ shutil.copyfile(uc_fn, tmp_uc)
self.samdb = SamDB(session_info=self.session,
credentials=self.creds,
self.samdb.get_config_basedn()),
ldb.FLAG_MOD_ADD, "siteList")
- out = self.check_output("samba_dnsupdate --verbose")
- self.assertTrue("No DNS updates needed" in out, out)
+ dns_c = "samba_dnsupdate --verbose --use-file={}".format(tmp_uc)
+ out = self.check_output(dns_c)
+ self.assertFalse(site_name.lower() in out, out)
self.samdb.modify(m)
- out = self.check_output("samba_dnsupdate --verbose --use-samba-tool"
- " --rpc-server-ip={}".format(self.server_ip))
+ shutil.copyfile(uc_fn, tmp_uc)
+ out = self.check_output(dns_c)
self.assertFalse("No DNS updates needed" in out, out)
self.assertTrue(site_name.lower() in out, out)