{ 'startDS' : True }
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'DNToModify' : 'cn=Virtual Static uniqueMember,cn=Virtual Attributes,cn=config' ,
'changetype' : 'replace' ,
'attributeName' : 'ds-cfg-allow-retrieving-membership' ,
'newAttributeValue' : 'true'
}
'++++ Application add group entry %s' % newVirtualStaticGroupDn
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'DNToAdd' : newVirtualStaticGroupDn,
'listAttributes' : listAttr
}
'++++ Application do a search to check the entry has been created'
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'dsBaseDN' : newVirtualStaticGroupDn ,
'dsFilter' : 'objectclass=*' ,
'dsAttributes' : 'uniquemember' }
{ 'baseDn' : 'uid=user_02,ou=dynamic,dc=groups,dc=com' ,
'string2find' : newVirtualStaticGroupDn ,
'nbExpected' : 1
}
'++++ Delete the group entry %s' % newVirtualStaticGroupDn
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'dsBaseDN' : newVirtualStaticGroupDn,
}
'++++ Check the group entry %s no more exist' % newVirtualStaticGroup
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'dsBaseDN' : newVirtualStaticGroupDn ,
'dsFilter' : 'objectclass=*' ,
'expectedRC' : 32 }
{ 'baseDn' : 'uid=user_02,ou=dynamic,dc=groups,dc=com' ,
'string2find' : newVirtualStaticGroupDn ,
'nbExpected' : 0
}
'++++ Search members of group %s' % virtualStaticGroupDn
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'dsBaseDN' : virtualStaticGroupDn ,
'dsFilter' : 'uniquemember=*' ,
'expectedRC' : 0 }
'++++ Check uid=user_01,ou=dynamic,dc=groups,dc=com is NOT a group member'
{ 'string2find' : 'uid=user_01,ou=dynamic,dc=groups,dc=com' ,
'mainString' : ldapSearchResult ,
'nbExpected' : 0
}
'++++ Check uid=user_02,ou=dynamic,dc=groups,dc=com is a group member'
{ 'string2find' : 'uid=user_02,ou=dynamic,dc=groups,dc=com' ,
'mainString' : ldapSearchResult ,
'nbExpected' : 1
}
'++++ Check uid=user_12,ou=dynamic,dc=groups,dc=com is a group member'
{ 'string2find' : 'uid=user_12,ou=dynamic,dc=groups,dc=com' ,
'mainString' : ldapSearchResult ,
'nbExpected' : 1
}
'++++ Application add a new user %s / %s ' % (user2AddDn,user2AddPswd)
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'DNToAdd' : user2AddDn,
'listAttributes' : listAttr
}
'++++ Application search the new user %s in the virtual static group entry (should be a member)' % user2Add
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'dsBaseDN' : virtualStaticGroupDn ,
'dsFilter' : 'uniquemember=*' ,
'expectedRC' : 0 }
'++++ Check the search returns the added user'
{ 'string2find' : user2AddDn ,
'mainString' : STAXResult[0][1] ,
'nbExpected' : 1
}
{ 'baseDn' : user2AddDn ,
'string2find' : virtualStaticGroupDn ,
'nbExpected' : 1
}
'++++ Application delete user %s' % user2Add
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'dsBaseDN' : user2AddDn
}
'++++ Application search the deleted user %s in the virtual static group entry (should not be in)' % user2Add
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'dsBaseDN' : virtualStaticGroupDn ,
'dsFilter' : 'uniquemember=*' ,
'expectedRC' : 0 }
'++++ Check the search returns the added user'
{ 'string2find' : user2AddDn ,
'mainString' : STAXResult[0][1] ,
'nbExpected' : 0
}
'++++ Application set a value %s to ds-target-group-dn attribute for group %s' % (dynamicGroup2Dn,virtualStaticGroupDn)
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'DNToModify' : virtualStaticGroupDn ,
'changetype' : 'replace' ,
'attributeName' : 'ds-target-group-dn' ,
'newAttributeValue' : dynamicGroup2Dn }
'++++ Application search users becoming to the updated virtual static group entry'
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'dsBaseDN' : virtualStaticGroupDn ,
'dsFilter' : 'uniquemember=*' ,
'expectedRC' : 0 }
{ 'string2find' : 'uid=user_03,ou=dynamic,dc=groups,dc=com' ,
'mainString' : STAXResult[0][1] ,
'nbExpected' : 1 }
'++++ Application reset ds-target-group-dn attribute to default value %s' % (dynamicGroupDn)
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'DNToModify' : virtualStaticGroupDn ,
'changetype' : 'replace' ,
'attributeName' : 'ds-target-group-dn' ,
'newAttributeValue' : dynamicGroupDn }
'++++ Application set a value %s to ds-target-group-dn attribute for group %s' % (staticGroupDn,virtualStaticGroupDn)
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'DNToModify' : virtualStaticGroupDn ,
'changetype' : 'replace' ,
'attributeName' : 'ds-target-group-dn' ,
'newAttributeValue' : staticGroupDn }
'++++ Application search users becoming to the updated virtual static group entry'
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'dsBaseDN' : virtualStaticGroupDn ,
'dsFilter' : 'uniquemember=*' ,
'expectedRC' : 0 }
{ 'string2find' : 'uid=user_09,ou=static,dc=groups,dc=com' ,
'mainString' : STAXResult[0][1] ,
'nbExpected' : 1 }
'++++ Application reset ds-target-group-dn attribute to default value %s' % (dynamicGroupDn)
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'DNToModify' : virtualStaticGroupDn ,
'changetype' : 'replace' ,
'attributeName' : 'ds-target-group-dn' ,
'newAttributeValue' : dynamicGroupDn }
'++++ Application set a value %s to ds-target-group-dn attribute for group %s' % (staticGroupDn,virtualStaticGroupDn)
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'DNToModify' : virtualStaticGroupDn ,
'changetype' : 'replace' ,
'attributeName' : 'ds-target-group-dn' ,
'newAttributeValue' : staticGroupDn }
'++++ Application search users becoming to the updated virtual static group entry'
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'dsBaseDN' : virtualStaticGroupDn ,
'dsFilter' : 'uniquemember=*' ,
'expectedRC' : 0 }
{ 'string2find' : 'uid=user_09,ou=static,dc=groups,dc=com' ,
'mainString' : STAXResult[0][1] ,
'nbExpected' : 1 }
'++++ Application reset ds-target-group-dn attribute to default value %s' % (dynamicGroupDn)
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'DNToModify' : virtualStaticGroupDn ,
'changetype' : 'replace' ,
'attributeName' : 'ds-target-group-dn' ,
'newAttributeValue' : dynamicGroupDn }
'++++ Application remove ds-target-group-dn attribute'
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'DNToModify' : virtualStaticGroupDn ,
'changetype' : 'delete' ,
'attributeName' : 'ds-target-group-dn' ,
'newAttributeValue' : dynamicGroupDn ,
'expectedRC' : 65 }
'++++ Group should not be modified'
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : applicationDn ,
'dsInstancePswd' : applicationPswd ,
'dsBaseDN' : virtualStaticGroupDn ,
'dsFilter' : 'uniquemember=*' ,
'expectedRC' : 0 }
{ 'string2find' : 'uid=user_02,ou=dynamic,dc=groups,dc=com' ,
'mainString' : STAXResult[0][1] ,
'nbExpected' : 1 }
{ 'stopDS' : True }