'###### Add user entries ###### ' ' ' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'DNToAdd' : 'cn=%s,%s' % (username,DIRECTORY_INSTANCE_SFX), 'listAttributes' : listAttr, 'expectedRC' : 0 } '###### Add a static Group ###### ' ' ' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'DNToAdd' : 'dc=groups,%s' % DIRECTORY_INSTANCE_SFX, 'listAttributes' : listAttr, 'expectedRC' : 0 } { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'DNToAdd' : 'cn=my_staticgroup,dc=groups,%s' % DIRECTORY_INSTANCE_SFX, 'listAttributes' : listAttr, 'expectedRC' : 0 } { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, 'dsFilter' : 'objectclass=groupOfUniqueNames' , 'attributes' : 'uniqueMember', 'expectedRC' : 0 } { 'returnString' : returnString , 'testString' : 'uniqueMember', 'expectedResult' : '1' } '###### Activate the referential integrity plugin. ###### ' ' ' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'subcommand' : 'set-plugin-prop' , 'objectType' : 'plugin-name' , 'objectName' : 'Referential Integrity', 'optionsString' : '--set enabled:true', 'expectedRC' : 0 } '###### Delete an user entry###### ' ' ' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'dsBaseDN' : 'cn=user01,%s' % (DIRECTORY_INSTANCE_SFX), } { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, 'dsFilter' : 'objectclass=groupOfUniqueNames' , 'attributes' : 'uniquemember', 'expectedRC' : 0 } 'references to the delete user must be gone ' { 'returnString' : returnString , 'testString' : 'user01', 'expectedResult' : '0' } 'references to an existing user must be still present' { 'returnString' : returnString , 'testString' : 'user02', 'expectedResult' : '1' } '###### Remove the attribute uniquemember from the list of referential-integrity-attribute-type ###### ' ' ' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'subcommand' : 'set-plugin-prop' , 'objectType' : 'plugin-name' , 'objectName' : 'Referential Integrity', 'optionsString' : '--remove referential-integrity-attribute-type:uniquemember', 'expectedRC' : 0 } '###### Delete an user entry###### ' ' ' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'dsBaseDN' : 'cn=user02,%s' % (DIRECTORY_INSTANCE_SFX), } 'Check the new configuration is applied' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, 'dsFilter' : 'objectclass=groupOfUniqueNames' , 'attributes' : 'uniquemember', 'expectedRC' : 0 } 'The references to the delete user must be still present ' { 'returnString' : returnString , 'testString' : 'user02', 'expectedResult' : '1' } '###### Disable the referential integrity plugin. ###### ' ' ' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'subcommand' : 'set-plugin-prop' , 'objectType' : 'plugin-name' , 'objectName' : 'Referential Integrity', 'optionsString' : '--set enabled:false', 'expectedRC' : 0 } '###### Set the list of referential-integrity-attribute-type ###### ' ' ' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'subcommand' : 'set-plugin-prop' , 'objectType' : 'plugin-name' , 'objectName' : 'Referential Integrity', 'optionsString' : '--set referential-integrity-attribute-type:uniquemember --set referential-integrity-attribute-type:member', 'expectedRC' : 0 } '###### Delete an user entry###### ' ' ' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'dsBaseDN' : 'cn=user03,%s' % (DIRECTORY_INSTANCE_SFX), } 'Check the new configuration is applied' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, 'dsFilter' : 'objectclass=groupOfUniqueNames' , 'attributes' : 'uniquemember', 'expectedRC' : 0 } 'The references to the delete user must be still present ' { 'returnString' : returnString , 'testString' : 'user03', 'expectedResult' : '1' }