#!/usr/share/ucs-test/runner python
## desc: Univention-s4-connector dns alias record syncronisation
## exposure: dangerous
## packages:
##   - univention-config
##   - univention-directory-manager-tools
##   - univention-s4-connector
##   - dnsutils

import univention.testing.strings as uts
import univention.testing.udm as udm_test
import dnstests
import s4connector

if __name__ == '__main__':
	with udm_test.UCSTestUDM() as udm:
		s4connector.exit_if_connector_not_running()
		random_zone = dnstests.random_zone()
		host = dnstests.get_hostname()
		random_name1 = uts.random_string()
		random_name2 = uts.random_string()
		forward_zone = udm.create_object('dns/forward_zone', zone = random_zone, nameserver = host)
		dns_alias = udm.create_object('dns/alias', superordinate = forward_zone, name = random_name1, cname = random_name2)
		dnstests.check_ldap_object(dns_alias, 'alias', 'cNAMERecord', random_name2)
		s4connector.wait_for_sync(30)
		test_string = random_name1 + '.' +random_zone
		dnstests.test_dns_alias(test_string, random_name2)
		dnstests.check_ldap_object(dns_alias, 'alias', 'cNAMERecord', random_name2 + '.')
	s4connector.wait_for_sync()
