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


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:
		dhcp_service = udm.create_object('dhcp/service', service=uts.random_name())

		ranges = ['10.20.10.1 10.20.10.254', '10.20.30.1 10.20.30.254', '10.20.20.1 10.20.20.254', '10.20.40.1 10.20.40.254']
		dhcp_subnet = udm.create_object('dhcp/subnet', subnet='10.20.0.0', subnetmask='16', append={'range': ranges}, superordinate=dhcp_service)

		udm.modify_object('dhcp/subnet', dn=dhcp_subnet, remove={'range': ranges[:2]}, superordinate=dhcp_service)
		utils.verify_ldap_object(dhcp_subnet, {'dhcpRange': ranges[2:]})
