#!/usr/share/ucs-test/runner python
## desc: Check dns/forward_zone SOA record serial number incrementation
## tags: [udm]
## roles: [domaincontroller_master]
## exposure: careful
## packages:
##   - univention-config
##   - univention-directory-manager-tools
## versions:
##  3.1-1: skip
##  3.2-0: fixed

import univention.testing.utils as utils
import univention.testing.udm as udm_test
import univention.testing.strings as uts

if __name__ == '__main__':
	with udm_test.UCSTestUDM() as udm:
		forward_zone_properties = {
				'zone': '%s.%s' % (uts.random_name(), uts.random_name()),
				'nameserver': uts.random_string(),
				'contact': '%s@%s.%s' % (uts.random_name(), uts.random_name(), uts.random_name()),
				'serial': '1',
				'zonettl': '128',
				'refresh': '64',
				'expire': '32',
				'ttl': '16',
				'retry': '8'
		}

		forward_zone = udm.create_object('dns/forward_zone', **forward_zone_properties)
		new_ttl = '12'
		udm.modify_object('dns/forward_zone', dn = forward_zone, ttl = new_ttl)

		utils.verify_ldap_object(forward_zone, {'sOARecord': ['%s %s. %s %s %s %s %s' % (
											   forward_zone_properties['nameserver'],
											   forward_zone_properties['contact'].replace('@', '.'),
											   '2',
											   forward_zone_properties['refresh'],
											   forward_zone_properties['retry'],
											   forward_zone_properties['expire'],
											   new_ttl) ]
		})
