#!/usr/share/ucs-test/runner python3
## desc: Remove locations during dns/srv_record modification
## tags: [udm]
## roles: [domaincontroller_master]
## exposure: careful
## packages:
##   - univention-config
##   - univention-directory-manager-tools

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

if __name__ == '__main__':
	with udm_test.UCSTestUDM() as udm:
		forward_zone = udm.create_object('dns/forward_zone', zone='%s.%s' % (uts.random_name(), uts.random_name()), nameserver=uts.random_dns_record())

		locations = ['0 1 2 %s.%s' % (uts.random_name(), uts.random_name()), '3 5 6 %s.%s' % (uts.random_name(), uts.random_name()), '1 4 9 %s.%s' % (uts.random_name(), uts.random_name()), '4 8 2 %s.%s' % (uts.random_name(), uts.random_name())]
		srv_record = udm.create_object('dns/srv_record', superordinate=forward_zone, name='%s tcp %s' % (uts.random_string(), uts.random_string()), append={'location': locations})

		udm.modify_object('dns/srv_record', dn=srv_record, superordinate=forward_zone, remove={'location': locations[:2]})
		utils.verify_ldap_object(srv_record, {'sRVRecord': locations[2:]})
