#!/usr/share/ucs-test/runner python ## desc: Check if the NS Record at forward zone and reverse zone will be removed after removing a nameserver computer object ## tags: [udm-computers,apptest] ## roles: [domaincontroller_master] ## exposure: careful ## packages: ## - univention-config ## - univention-directory-manager-tools import atexit import univention.uldap import univention.testing.udm import univention.testing.utils as utils import univention.testing.strings as uts import univention.config_registry as configRegistry if __name__ == '__main__': ldap = univention.uldap.getMachineConnection(ldap_master=False) udm = univention.testing.udm.UCSTestUDM() atexit.register(udm.cleanup) ucr = configRegistry.ConfigRegistry() ucr.load() computername = uts.random_string() nameserver = '%s.%s.' % (computername, ucr['domainname']) dnsZone = udm.create_object('dns/forward_zone', zone = '%s.%s' % (uts.random_string(numeric=False), uts.random_string(numeric=False)), nameserver = nameserver) rdnsZone = udm.create_object('dns/reverse_zone', subnet = '10.20.30', nameserver = nameserver) computer = udm.create_object('computers/domaincontroller_slave', name=computername, ip = '10.20.30.60', dnsEntryZoneForward = '%s 10.20.30.60' % dnsZone, dnsEntryZoneReverse = '%s 10.20.30.60' % rdnsZone) udm.remove_object('computers/domaincontroller_slave', dn = computer) if nameserver in ldap.get(dnsZone).get('nSRecord', []): utils.fail('Nameserver %s still exists in forward zone %s' % (nameserver, dnsZone)) if nameserver in ldap.get(rdnsZone).get('nSRecord', []): utils.fail('Nameserver %s still exists in reverse zone %s' % (nameserver, rdnsZone))