{ 'startDS' : True } '++++ Create user defined virtual attribute' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'create-virtual-attribute', 'optionsString' : myOptions, 'expectedRC' : 0 } '++++ check user defined virtual attribute created \ is listed by dsconfig' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'list-virtual-attributes', 'expectedRC' : 0 } { 'string2find' : cosName, 'mainString' : STAXResult[0][1], 'nbExpected' : 1 } '++++ Application do a search on user entry which \ should have now %s attribute' % attributeName { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : applicationDn, 'dsInstancePswd' : applicationPswd, 'dsBaseDN' : user1Dn, 'dsFilter' : 'objectclass=*', 'dsAttributes' : '%s' % attributeName } '++++ Check the search return value : %s' % attributeValue { 'string2find' : '%s' % attributeValue, 'mainString' : STAXResult[0][1], 'nbExpected' : 1 } '++++ change user defined virtual attribute value' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'set-virtual-attribute-prop', 'optionsString' : myOptions, 'expectedRC' : 0 } '++++ Application do a search on user entry which \ should have new value for %s attribute' % attributeName { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : applicationDn, 'dsInstancePswd' : applicationPswd, 'dsBaseDN' : user1Dn, 'dsFilter' : 'objectclass=*', 'dsAttributes' : '%s' % attributeName } '++++ Check the search return value : %s' % attributeValue2 { 'string2find' : '%s' % attributeValue2, 'mainString' : STAXResult[0][1], 'nbExpected' : 1 } '++++ Delete user defined virtual attribute' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'delete-virtual-attribute', 'optionsString' : '--name %s' % cosName, 'expectedRC' : 0 } '++++ Create user defined virtual attribute' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'create-virtual-attribute', 'optionsString' : myOptions, 'expectedRC' : 0 } '++++ check user defined virtual attribute created \ is listed by dsconfig' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'list-virtual-attributes', 'expectedRC' : 0 } { 'string2find' : cosName, 'mainString' : STAXResult[0][1], 'nbExpected' : 1 } '++++ Application do a search on user entry which \ should have now %s attribute (entry under the subtree %s)'\ % (attributeName,people1Dn) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : applicationDn, 'dsInstancePswd' : applicationPswd, 'dsBaseDN' : user1Dn, 'dsFilter' : 'objectclass=*', 'dsAttributes' : '%s' % attributeName } '++++ Check the search return value : %s' % attributeValue { 'string2find' : '%s' % attributeValue, 'mainString' : STAXResult[0][1], 'nbExpected' : 1 } '++++ Application do a search on user entry which \ should NOT have %s attribute (entry under the subtree %s)'\ % (attributeName,people2Dn) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : applicationDn, 'dsInstancePswd' : applicationPswd, 'dsBaseDN' : user4Dn, 'dsFilter' : 'objectclass=*', 'dsAttributes' : '%s' % attributeName } '++++ Check search do not return value : %s' % attributeValue { 'string2find' : '%s' % attributeValue, 'mainString' : STAXResult[0][1], 'nbExpected' : 0 } '++++ Delete user defined virtual attribute' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'delete-virtual-attribute', 'optionsString' : '--name %s' % cosName, 'expectedRC' : 0 } '++++ Create user defined virtual attribute' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'create-virtual-attribute', 'optionsString' : myOptions, 'expectedRC' : 0 } '++++ Application do a search on user entry which \ should NOT have %s attribute (entry under the subtree %s)'\ % (attributeName,people2Dn) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : applicationDn, 'dsInstancePswd' : applicationPswd, 'dsBaseDN' : user1Dn, 'dsFilter' : 'objectclass=*', 'dsAttributes' : '%s' % attributeName } '++++ Check the search return value %s' % attributeValue { 'string2find' : '%s' % attributeValue, 'mainString' : STAXResult[0][1], 'nbExpected' : 1 } '++++ Application do a modify on user entry which \ should have now %s attribute (should fail)' % attributeName { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : applicationDn, 'dsInstancePswd' : applicationPswd, 'dsFilename' : '%s/virtualAttributes/ldif_mod.ldif' \ % logsRemoteDataDir, 'expectedRC' : 21 } '++++ Delete user defined virtual attribute' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'delete-virtual-attribute', 'optionsString' : '--name %s' % cosName } '++++ Create user defined virtual attribute (disabled)' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'create-virtual-attribute', 'optionsString' : myOptions, 'expectedRC' : 0 } '++++ Application do a search on user' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : applicationDn, 'dsInstancePswd' : applicationPswd, 'dsBaseDN' : user1Dn, 'dsFilter' : 'objectclass=*', 'dsAttributes' : '%s' % attributeName } '++++ Check the search do not return %s' % attributeValue { 'string2find' : '%s' % attributeValue, 'mainString' : STAXResult[0][1], 'nbExpected' : 0 } '++++ Enable user defined virtual attribute' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'set-virtual-attribute-prop', 'optionsString' : myOptions, 'expectedRC' : 0 } '++++ Application do a search on user' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : applicationDn, 'dsInstancePswd' : applicationPswd, 'dsBaseDN' : user1Dn, 'dsFilter' : 'objectclass=*', 'dsAttributes' : '%s' % attributeName } '++++ Check the search return %s' % attributeValue { 'string2find' : '%s' % attributeValue, 'mainString' : STAXResult[0][1], 'nbExpected' : 1 } '++++ Delete user defined virtual attribute' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'delete-virtual-attribute', 'optionsString' : '--name %s' % cosName, 'expectedRC' : 0 } '++++ Create user defined virtual attribute with \ conflict-behavior prop set to virtual-overrides-real' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'create-virtual-attribute', 'optionsString' : myOptions, 'expectedRC' : 0 } '++++ Application do a search on user' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : applicationDn, 'dsInstancePswd' : applicationPswd, 'dsBaseDN' : user1Dn, 'dsFilter' : 'objectclass=*', 'dsAttributes' : '%s' % attributeName } '++++ Check search do not return %s' % descDefaultValue { 'string2find' : '%s' % descDefaultValue, 'mainString' : ldapsearchReturn, 'nbExpected' : 0 } '++++ Check search return virtualattribute %s' % attributeValue { 'string2find' : '%s' % attributeValue, 'mainString' : ldapsearchReturn, 'nbExpected' : 1 } '++++ Delete user defined virtual attribute' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'delete-virtual-attribute', 'optionsString' : '--name %s' % cosName, 'expectedRC' : 0 } '++++ Create user defined virtual attribute with \ conflict-behavior prop set to virtual-overrides-real' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'create-virtual-attribute', 'optionsString' : myOptions, 'expectedRC' : 0 } '++++ Application do a search on user' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : applicationDn, 'dsInstancePswd' : applicationPswd, 'dsBaseDN' : user1Dn, 'dsFilter' : 'objectclass=*', 'dsAttributes' : '%s' % attributeName } '++++ Check search return %s' % descDefaultValue { 'string2find' : '%s' % descDefaultValue, 'mainString' : ldapsearchReturn, 'nbExpected' : 1 } '++++ Check search do not return %s' % attributeValue { 'string2find' : '%s' % attributeValue, 'mainString' : ldapsearchReturn, 'nbExpected' : 0 } '++++ Delete user defined virtual attribute' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'delete-virtual-attribute', 'optionsString' : '--name %s' % cosName, 'expectedRC' : 0 } '++++ Create user defined virtual attribute with \ conflict-behavior prop set to virtual-overrides-real' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'create-virtual-attribute', 'optionsString' : myOptions, 'expectedRC' : 0 } '++++ Application do a search on user' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : applicationDn, 'dsInstancePswd' : applicationPswd, 'dsBaseDN' : user1Dn, 'dsFilter' : 'objectclass=*', 'dsAttributes' : '%s' % attributeName } '++++ Check search return %s' % descDefaultValue { 'string2find' : '%s' % descDefaultValue, 'mainString' : ldapsearchReturn, 'nbExpected' : 1 } '++++ Check search return %s' % attributeValue { 'string2find' : '%s' % attributeValue, 'mainString' : ldapsearchReturn, 'nbExpected' : 1 } '++++ Delete user defined virtual attribute' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'delete-virtual-attribute', 'optionsString' : '--name %s' % cosName, 'expectedRC' : 0 } '++++ Create user defined virtual attribute (disabled)' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'create-virtual-attribute', 'optionsString' : myOptions, 'expectedRC' : 0 } '++++ Application do a search on person entry' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : applicationDn, 'dsInstancePswd' : applicationPswd, 'dsBaseDN' : user1Dn, 'dsFilter' : 'objectclass=*', 'dsAttributes' : '%s' % attributeName } '++++ Check the search return %s' % attributeValue { 'string2find' : '%s' % attributeValue, 'mainString' : STAXResult[0][1], 'nbExpected' : 1 } '++++ Application do a search on organization entry' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : applicationDn, 'dsInstancePswd' : applicationPswd, 'dsBaseDN' : people1Dn, 'dsScope' : 'base', 'dsFilter' : 'objectclass=*', 'dsAttributes' : '%s' % attributeName } '++++ Check the search do not return %s' % attributeValue { 'string2find' : '%s' % attributeValue, 'mainString' : STAXResult[0][1], 'nbExpected' : 0 } '++++ Delete user defined virtual attribute' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, 'subcommand' : 'delete-virtual-attribute', 'optionsString' : '--name %s' % cosName, 'expectedRC' : 0 } { 'stopDS' : True }