def test_group_sync_from_udm_to_ad_with_nested_group(group_class, nested_class, sync_mode): with connector_setup(sync_mode), UCSTestUDM() as udm: udm_group = group_class() nested_group = nested_class() (udm_group_dn, ad_group_dn) = create_udm_group(udm, AD, udm_group, adconnector.wait_for_sync) print("\nModifying UDM group\n") (nested_group_dn, ad_nested_group_dn) = create_udm_group(udm, AD, nested_group, adconnector.wait_for_sync) udm.modify_object('groups/group', dn=udm_group_dn, nestedGroup=[nested_group_dn]) adconnector.wait_for_sync() ad_group = tcommon.map_udm_group_to_con(udm_group.group) ad_group.update({"member": [ad_nested_group_dn]}) AD.verify_object(ad_group_dn, ad_group) delete_udm_group(udm, AD, nested_group_dn, ad_nested_group_dn, adconnector.wait_for_sync) delete_udm_group(udm, AD, udm_group_dn, ad_group_dn, adconnector.wait_for_sync)
def test_group_sync_from_udm_to_ad_with_move(group_class, sync_mode): with connector_setup(sync_mode), UCSTestUDM() as udm: udm_group = group_class() (udm_group_dn, ad_group_dn) = create_udm_group(udm, AD, udm_group, adconnector.wait_for_sync) print("\nMove UDM group\n") udm_container_dn = udm.create_object('container/cn', name=udm_group.container) udm_group_dn = udm.move_object('groups/group', dn=udm_group_dn, position=udm_container_dn) adconnector.wait_for_sync() AD.verify_object(ad_group_dn, None) ad_group_dn = ldap.dn.dn2str( [[("CN", udm_group.to_unicode(udm_group.group).get("name"), ldap.AVA_STRING)], [("CN", udm_group.container, ldap.AVA_STRING)]] + ldap.dn.str2dn(AD.adldapbase)) AD.verify_object(ad_group_dn, tcommon.map_udm_group_to_con(udm_group.group)) delete_udm_group(udm, AD, udm_group_dn, ad_group_dn, adconnector.wait_for_sync)
def test_group_sync_from_udm_to_ad_with_rename(group_class, sync_mode): with connector_setup(sync_mode), UCSTestUDM() as udm: udm_group = group_class() (udm_group_dn, ad_group_dn) = create_udm_group(udm, AD, udm_group, adconnector.wait_for_sync) print("\nRename UDM group\n") old_udm_dn = udm_group_dn # part of the workaround for bug #41694 udm_group_dn = udm.modify_object('groups/group', dn=udm_group_dn, **udm_group.to_unicode( udm_group.rename)) # XXX after a modify, the old DN is _wrongly_ returned: see bug #41694 if old_udm_dn == udm_group_dn: udm_group_dn = ldap.dn.dn2str( [[("CN", udm_group.to_unicode(udm_group.rename).get("name"), ldap.AVA_STRING)]] + ldap.dn.str2dn(udm_group_dn)[1:]) if old_udm_dn in udm._cleanup.get('groups/group', []): udm._cleanup.setdefault('groups/group', []).append(udm_group_dn) udm._cleanup['groups/group'].remove(old_udm_dn) # XXX end of workaround for bug #41694 adconnector.wait_for_sync() AD.verify_object(ad_group_dn, None) ad_group_dn = ldap.dn.dn2str( [[("CN", udm_group.to_unicode(udm_group.rename).get("name"), ldap.AVA_STRING)], [("CN", "groups", ldap.AVA_STRING)]] + ldap.dn.str2dn(AD.adldapbase)) AD.verify_object(ad_group_dn, tcommon.map_udm_group_to_con(udm_group.rename)) delete_udm_group(udm, AD, udm_group_dn, ad_group_dn, adconnector.wait_for_sync)
def test_group_sync_from_udm_to_s4_with_nested_user(group_class, nested_class, sync_mode): with connector_setup(sync_mode) as s4, UCSTestUDM() as udm: udm_group = group_class() nested_user = nested_class() (udm_group_dn, s4_group_dn) = create_udm_group(udm, s4, udm_group, s4connector.wait_for_sync) print("\nModifying UDM group\n") (nested_user_dn, s4_nested_user_dn) = create_udm_user(udm, s4, nested_user, s4connector.wait_for_sync) udm.modify_object('groups/group', dn=udm_group_dn, users=[nested_user_dn]) s4connector.wait_for_sync() s4_group = tcommon.map_udm_group_to_con(udm_group.group) s4_group.update({"member": [s4_nested_user_dn]}) s4.verify_object(s4_group_dn, s4_group) delete_udm_user(udm, s4, nested_user_dn, s4_nested_user_dn, s4connector.wait_for_sync) delete_udm_group(udm, s4, udm_group_dn, s4_group_dn, s4connector.wait_for_sync)
def test_group_sync_from_udm_to_ad(group_class, sync_mode): with connector_setup(sync_mode), UCSTestUDM() as udm: udm_group = group_class() (udm_group_dn, ad_group_dn) = create_udm_group(udm, AD, udm_group, adconnector.wait_for_sync) delete_udm_group(udm, AD, udm_group_dn, ad_group_dn, adconnector.wait_for_sync)
def test_group_sync_from_udm_to_s4(group_class, sync_mode): with connector_setup(sync_mode) as s4, UCSTestUDM() as udm: udm_group = group_class() (udm_group_dn, s4_group_dn) = create_udm_group(udm, s4, udm_group, s4connector.wait_for_sync) delete_udm_group(udm, s4, udm_group_dn, s4_group_dn, s4connector.wait_for_sync)