#!/usr/share/ucs-test/runner python3
## desc: Test indirect group memberships of users
## tags: [udm,apptest]
## roles: [domaincontroller_master]
## exposure: careful
## packages:
##   - univention-config
##   - univention-directory-manager-tools

import grp
import univention.testing.utils as utils
import univention.testing.udm as udm_test

if __name__ == '__main__':
	with udm_test.UCSTestUDM() as udm:
		group = udm.create_group()
		nested_group = udm.create_group(memberOf=group[0])
		user = udm.create_user(groups=nested_group[0])

		for group in grp.getgrall():
			if group.gr_name == group[1]:
				if not user[1] in group.gr_mem:
					utils.fail('User %s is no indirect member of group %s' % (user[1], group[1]))
				break
