Replaced tabs with two whitespaces across the functional-tests
| | |
| | | Directory server JMX port number |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="Port number"/> |
| | | </function-arg-def> |
| | | </function-arg-def> |
| | | <function-arg-def name="dsBaseDN" type="optional"> |
| | | <function-arg-description> |
| | | Base DN (only single base DN supported). |
| | |
| | | if dsPath: |
| | | STAFCmd='%s/setup%s' % (dsPath,fileExt) |
| | | STAFCmdParamsList.append('--cli') |
| | | STAFCmdParamsList.append('-s') |
| | | STAFCmdParamsList.append('-s') |
| | | |
| | | if dsPort: |
| | | STAFCmdParamsList.append('-p %s' % dsPort) |
| | | |
| | | if dsJmxPort: |
| | | STAFCmdParamsList.append('-x %s' % dsJmxPort) |
| | | |
| | | |
| | | if dsBaseDN: |
| | | STAFCmdParamsList.append('-b "%s"' % dsBaseDN) |
| | | |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="hostname"/> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="dsHost" type="optional" default="'%s' % DIRECTORY_INSTANCE_HOST"> |
| | | <function-arg-description> |
| | | Directory server hostname or IP address |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="hostname"/> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="dsPort" type="optional" default="'%s' % DIRECTORY_INSTANCE_PORT"> |
| | | <function-arg-description> |
| | | Directory server port number |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="port"/> |
| | | </function-arg-def> |
| | | |
| | | </function-arg-def> |
| | | |
| | | <function-arg-def name="dsBindDN" type="optional" default="'%s' % DIRECTORY_INSTANCE_DN"> |
| | | <function-arg-description> |
| | | Bind DN |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="DN"/> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="dsBindPwd" type="optional" default="'%s' % DIRECTORY_INSTANCE_PSWD"> |
| | | <function-arg-description> |
| | | Bind password |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="dsBindPwdFile" type="optional"> |
| | | <function-arg-description> |
| | | Bind password file |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="extraParams" type="optional" default="''"> |
| | | <function-arg-description> |
| | | Optional extra parameters for specific test cases |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | | |
| | |
| | | 'noOfLoops' : 5 , |
| | | 'noOfMilliSeconds' : 2000 } |
| | | </call> |
| | | <!-- |
| | | <!-- |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | --> |
| | | --> |
| | | |
| | | </sequence> |
| | | </function> |
| | |
| | | <call function="'isAlive'"> |
| | | { 'noOfLoops' : 5 , |
| | | 'noOfMilliSeconds' : 2000 } |
| | | </call> |
| | | </call> |
| | | </sequence> |
| | | </if> |
| | | |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="propertyType" type="required"> |
| | | <function-arg-description> |
| | | Property type to modify, e.g. validator |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="propertyName" type="required"> |
| | | <function-arg-description> |
| | | Property to modify, e.g. enabled |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="attributeName" type="required"> |
| | | <function-arg-description> |
| | | Attribute to modify, e.g. minimum-password-length |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="attributeValue" type="optional" default="'none'"> |
| | | <function-arg-description> |
| | | New attribute value |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="modifyType" type="optional" default="'set'"> |
| | | <function-arg-description> |
| | | The modify type. Default value is set. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="expectedRC" type="optional" default="0"> |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="propertyType" type="required"> |
| | | <function-arg-description> |
| | | Property type to get, e.g. backend. it's used to make the property type: --backend-name |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="propertyName" type="required"> |
| | | <function-arg-description> |
| | | Property to get, e.g. userroot |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="attributeName" type="required"> |
| | | <function-arg-description> |
| | | Attribute to get, e.g. minimum-password-length |
| | |
| | | STAXCode=RC |
| | | STAXReason=STAXResult[0][1] |
| | | </script> |
| | | <if expr="expectedAttributeValue == 'none'"> |
| | | <if expr="expectedAttributeValue == 'none'"> |
| | | <call function="'checktestRC'"> |
| | | { 'returncode' : STAXCode, |
| | | 'result' : STAXReason, |
| | |
| | | </call> |
| | | <else> |
| | | <call function="'checktestString'"> |
| | | { 'expectedString' : expectedAttributeValue, |
| | | 'returnString' : STAXReason |
| | | { 'expectedString' : expectedAttributeValue, |
| | | 'returnString' : STAXReason |
| | | } |
| | | </call> |
| | | </else> |
| | |
| | | |
| | | <!-- generic wrapper on dsconfig --> |
| | | <!-- can be used to list, get or set a list of attribues --> |
| | | |
| | | |
| | | <function name="dsconfig"> |
| | | <function-prolog> |
| | | This function lists, get or set a list of attributes using dsconfig |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="objectType" type="optional"> |
| | | <function-arg-description> |
| | | Object type to modify, e.g. backend-name |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="objectName" type="optional"> |
| | | <function-arg-description> |
| | | object name to modify, e.g. userroot |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="optionsString" type="optional"> |
| | | <function-arg-description> |
| | | String containing the dsconfig options. e.g. --set enabled:true --set key-store-pin:servercert |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="expectedRC" type="optional" default="0"> |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | |
| | | STAFCmdParamsList=[] |
| | | STAFCmdParamsList.append(subcommand) |
| | | if objectType: |
| | | STAFCmdParamsList.append('--%s "%s" ' % (objectType,objectName)) |
| | | STAFCmdParamsList.append('--%s "%s" ' % (objectType,objectName)) |
| | | if optionsString: |
| | | STAFCmdParamsList.append(' %s' % optionsString) |
| | | </script> |
| | |
| | | STAXReason |
| | | </return> |
| | | </sequence> |
| | | </function> |
| | | |
| | | </function> |
| | | |
| | | <!-- Modify password policy using dsconfig --> |
| | | <function name="modifyPwdPolicy"> |
| | | <function-prolog> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="Port number" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="dsInstanceDn" type="required"> |
| | | <function-arg-description> |
| | | Bind DN |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="attributeName" type="required"> |
| | | <function-arg-description> |
| | | Attribute to modify, e.g. minimum-password-length |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="attributeValue" type="optional" default="'none'"> |
| | | <function-arg-description> |
| | | New attribute value |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="modifyType" type="optional" default="'set'"> |
| | | <function-arg-description> |
| | | The modify type. Default value is set. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="expectedRC" type="optional" default="0"> |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="attributeName" type="required"> |
| | | <function-arg-description> |
| | | Attribute to modify, e.g. match-attribute |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="attributeValue" type="optional" default="'none'"> |
| | | <function-arg-description> |
| | | New attribute value |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="modifyType" type="optional" default="'set'"> |
| | | <function-arg-description> |
| | | The modify type. Default value is set. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="expectedRC" type="optional" default="0"> |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | |
| | | <function-arg-def name="dsInstancePort" type="required"> |
| | | <function-arg-description> |
| | | Directory server port number |
| | | </function-arg-description> |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="integer" /> |
| | | </function-arg-def> |
| | | |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="attributeValue" type="required"> |
| | | <function-arg-description> |
| | | New attribute value |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="expectedRC" type="optional" default="0"> |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | |
| | | <!-- Local variables --> |
| | | <script> |
| | | mylocation=location |
| | | STAFCmdParams='' |
| | | STAFCmdParams='' |
| | | STAFCmd='' |
| | | |
| | | if dsPath: |
| | |
| | | <function-arg-def name="dsInstancePort" type="required"> |
| | | <function-arg-description> |
| | | Directory server port number |
| | | </function-arg-description> |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="integer" /> |
| | | </function-arg-def> |
| | | |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="attributeName" type="required"> |
| | | <function-arg-description> |
| | | Attribute to modify, e.g. match-attribute |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="attributeValue" type="required"> |
| | | <function-arg-description> |
| | | New attribute value |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="modifyType" type="optional" default="'set'"> |
| | | <function-arg-description> |
| | | The modify type. Default value is set. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="expectedRC" type="optional" default="0"> |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="opType" type="optional" default="set"> |
| | | <function-arg-description> |
| | | Operation type, one of set, add, and remove |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="expectedRC" type="optional" default="0"> |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="propertyName" type="required"> |
| | | <function-arg-description> |
| | | Property to modify, e.g. realm |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="propertyValue" type="required"> |
| | | <function-arg-description> |
| | | New property value |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="modifyType" type="optional" default="'set'"> |
| | | <function-arg-description> |
| | | The modify type. Default value is set. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="expectedRC" type="optional" default="0"> |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="hostname" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="dsPath" |
| | | type="optional" |
| | | default="'%s/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)"> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="filepath" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="host" |
| | | type="optional" |
| | | default="STAF_REMOTE_HOSTNAME"> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="hostname" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="port" |
| | | type="optional" |
| | | default="DIRECTORY_INSTANCE_PORT"> |
| | | <function-arg-description> |
| | | Directory server port number |
| | | </function-arg-description> |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="Port number" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="rootDN" |
| | | type="optional" |
| | | default="DIRECTORY_INSTANCE_DN"> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="DN" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="rootPwd" |
| | | type="optional" |
| | | default="DIRECTORY_INSTANCE_PSWD"> |
| | |
| | | The Back-end ID on to which to add an index |
| | | </function-arg-description> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="indexAttribute" type="required"> |
| | | <function-arg-description> |
| | | ldap attribute on to which to add indexing |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="indexTypes" type="required"> |
| | | <function-arg-description> |
| | | type of index to add |
| | |
| | | <sequence> |
| | | <!-- Local variables --> |
| | | <script> |
| | | dsconfigParams='' |
| | | dsconfigParams='' |
| | | dsconfigCmd='' |
| | | dsBinPath='%s/%s' % (dsPath,fileFolder) |
| | | dsconfigCmd='%s/%s%s' % (dsBinPath,DSCONFIG,fileExt) |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="hostname" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="dsPath" |
| | | type="optional" |
| | | default="'%s/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)"> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="filepath" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="host" |
| | | type="optional" |
| | | default="STAF_REMOTE_HOSTNAME"> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="hostname" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="port" |
| | | type="optional" |
| | | default="DIRECTORY_INSTANCE_PORT"> |
| | | <function-arg-description> |
| | | Directory server port number |
| | | </function-arg-description> |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="Port number" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="rootDN" |
| | | type="optional" |
| | | default="DIRECTORY_INSTANCE_DN"> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="DN" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="rootPwd" |
| | | type="optional" |
| | | default="DIRECTORY_INSTANCE_PSWD"> |
| | |
| | | The Back-end ID on to which to add an index |
| | | </function-arg-description> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="indexAttribute" type="required"> |
| | | <function-arg-description> |
| | | ldap attribute on to which add indexing |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="operation"> |
| | | <function-arg-description> |
| | | This parameters defines the operation to be performed. |
| | |
| | | <sequence> |
| | | <!-- Local variables --> |
| | | <script> |
| | | dsconfigParams='' |
| | | dsconfigParams='' |
| | | dsconfigCmd='' |
| | | dsBinPath='%s/%s' % (dsPath,fileFolder) |
| | | dsconfigCmd='%s/%s%s' % (dsBinPath,DSCONFIG,fileExt) |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="hostname" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="dsPath" |
| | | type="optional" |
| | | default="'%s/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)"> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="filepath" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="host" |
| | | type="optional" |
| | | default="STAF_REMOTE_HOSTNAME"> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="hostname" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="port" |
| | | type="optional" |
| | | default="DIRECTORY_INSTANCE_PORT"> |
| | | <function-arg-description> |
| | | Directory server port number |
| | | </function-arg-description> |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="Port number" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="rootDN" |
| | | type="optional" |
| | | default="DIRECTORY_INSTANCE_DN"> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="DN" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="rootPwd" |
| | | type="optional" |
| | | default="DIRECTORY_INSTANCE_PSWD"> |
| | |
| | | <sequence> |
| | | <!-- Local variables --> |
| | | <script> |
| | | dsconfigParams='' |
| | | dsconfigParams='' |
| | | dsconfigCmd='' |
| | | dsBinPath='%s/%s' % (dsPath,fileFolder) |
| | | dsconfigCmd='%s/%s%s' % (dsBinPath,DSCONFIG,fileExt) |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="providerType" |
| | | type="optional" |
| | | default="MultimasterType"> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="expectedRC" type="optional" default="0"> |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | | Expected return code value. Default value is 0 |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="replicationPort" type="required"> |
| | | <function-arg-description> |
| | | Replication port number |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="list" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="expectedRC" type="optional" default="0"> |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | | Expected return code value. Default value is 0 |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="list" /> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="expectedRC" type="optional" default="0"> |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | | Expected return code value. Default value is 0 |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | |
| | | <!-- Local variables --> |
| | | <script> |
| | | mylocation=location |
| | | STAFCmdParams='' |
| | | STAFCmdParams='' |
| | | STAFCmd='' |
| | | |
| | | if dsPath: |
| | |
| | | ! Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | ! --> |
| | | <stax> |
| | | |
| | | |
| | | <function name="importSharedLibraries"> |
| | | <function-prolog> |
| | | This function imports the shared function xml libraries. |
| | | </function-prolog> |
| | | |
| | | <sequence> |
| | | |
| | | This function imports the shared function xml libraries. |
| | | </function-prolog> |
| | | |
| | | <sequence> |
| | | |
| | | <!--- Import all the shared xml libraries --> |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/baselib.xml' % (TESTS_FUNCTIONS_DIR)" /> |
| | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/security.xml' % (TESTS_FUNCTIONS_DIR)" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/topology.xml' % (TESTS_FUNCTIONS_DIR)" /> |
| | | |
| | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/tools.xml' % (TESTS_FUNCTIONS_DIR)" /> |
| | | |
| | | </sequence> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | </function> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <function name="importPythonLibraries"> |
| | | <function-prolog> |
| | | This function imports the Python libraries and objects, |
| | | both starndard and local shared ones. |
| | | </function-prolog> |
| | | |
| | | This function imports the Python libraries and objects, |
| | | both starndard and local shared ones. |
| | | </function-prolog> |
| | | |
| | | <sequence> |
| | | |
| | | |
| | | <!-- Load in any standard python libraries --> |
| | | <script> |
| | | import re |
| | |
| | | from security import * |
| | | from replication import * |
| | | </script> |
| | | |
| | | |
| | | </sequence> |
| | | </function> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | </sequence> |
| | | </function> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <function name="initialiseGlobalVariables"> |
| | | <function-prolog> |
| | | This function initialises a set of global variables. |
| | | </function-prolog> |
| | | |
| | | This function initialises a set of global variables. |
| | | </function-prolog> |
| | | |
| | | <sequence> |
| | | |
| | | |
| | | <!-- Resolve any OS related variables --> |
| | | <call function="'setOSvariables'"> |
| | | { 'hostname' : STAF_REMOTE_HOSTNAME } |
| | |
| | | CurrentTestPath={} |
| | | DSInfoServersDict={} |
| | | True = 1 |
| | | False = 0 |
| | | False = 0 |
| | | |
| | | DSCONFIG = 'dsconfig' |
| | | NO_CHECK = 'noCheck' |
| | |
| | | MultimasterSync = 'Multimaster Synchronization' |
| | | MultimasterType = 'multimaster' |
| | | </script> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | |
| | | </sequence> |
| | | </function> |
| | | |
| | | <function name="GetDirectoryServerInformation"> |
| | |
| | | |
| | | </sequence> |
| | | |
| | | </function> |
| | | |
| | | </function> |
| | | |
| | | <function name="loadEnvironment"> |
| | | <function-prolog> |
| | | This function loads the environment (libraries, functions, variables) |
| | | needed by the tests. |
| | | </function-prolog> |
| | | |
| | | needed by the tests. |
| | | </function-prolog> |
| | | |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Load environment for test suite execution.' |
| | | </message> |
| | | <message> |
| | | 'Load environment for test suite execution.' |
| | | </message> |
| | | |
| | | <call function="'importSharedLibraries'"/> |
| | | |
| | | <call function="'importPythonLibraries'"/> |
| | | |
| | | <call function="'initialiseGlobalVariables'"/> |
| | | |
| | | <call function="'importSharedLibraries'"/> |
| | | |
| | | <call function="'importPythonLibraries'"/> |
| | | |
| | | <call function="'initialiseGlobalVariables'"/> |
| | | |
| | | <call function="'GetDirectoryServerInformation'"/> |
| | | |
| | | <call function="'SetLogsDir'"/> |
| | | |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | </function> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | </function> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | </stax> |
| | |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | | <!-- Local variables --> |
| | |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | | |
| | |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0. Wildcard 'noCheck' to not check the RC |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | | |
| | |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | | <call function="'runCommand'" > |
| | |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | | |
| | |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | | <sequence> |
| | |
| | | </function> |
| | | |
| | | |
| | | <!-- Modify an attribute --> |
| | | <!-- Modify an attribute --> |
| | | <function name="modifyAnAttribute"> |
| | | <function-prolog> |
| | | This function modifies an entry in the Directory Server |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="hostname"/> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)"> |
| | | <function-arg-description> |
| | | Pathname to installation root |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="filepath"/> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="dsInstanceHost" type="optional" default="STAF_REMOTE_HOSTNAME"> |
| | | <function-arg-description> |
| | | Directory server hostname or IP address |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="hostname"/> |
| | | <function-arg-property name="type" value="hostname"/> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="dsInstancePort" type="required"> |
| | | <function-arg-description> |
| | | Directory server port number |
| | | </function-arg-description> |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="Port number"/> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="dsInstanceDn" type="required"> |
| | | <function-arg-description> |
| | | Bind DN |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="DN"/> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="dsInstancePswd" type="required"> |
| | | <function-arg-description> |
| | | Bind password |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | |
| | | <function-arg-def name="DNToModify" type="required"> |
| | | |
| | | <function-arg-def name="DNToModify" type="required"> |
| | | <function-arg-description> |
| | | DN to modify |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="DN"/> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="attributeName" type="optional"> |
| | | <function-arg-description> |
| | | Attribute to modify |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | |
| | | <function-arg-def name="newAttributeValue" type="optional"> |
| | | |
| | | <function-arg-def name="newAttributeValue" type="optional"> |
| | | <function-arg-description> |
| | | New Attribute Value |
| | | </function-arg-description> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="changetype" type="required"> |
| | | <function-arg-description> |
| | | Type of modification, can be delete, add, replace |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | |
| | | |
| | | <function-arg-def name="expectedRC" type="optional" default="0"> |
| | | <function-arg-description> |
| | | Expected return code value. Default value is 0 |
| | | Expected return code value. Default value is 0 |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | |
| | | </function-arg-def> |
| | | |
| | | </function-map-args> |
| | | <sequence> |
| | | |
| | |
| | | <script> |
| | | mylocation=location |
| | | |
| | | |
| | | |
| | | <!-- Build the Command --> |
| | | |
| | | STAFCmdParamsList=[] |
| | | STAFCmdParams='' |
| | | STAFCmd='' |
| | | </script> |
| | | |
| | | STAFCmdParams='' |
| | | STAFCmd='' |
| | | </script> |
| | | |
| | | <!-- Set common ldap arguments --> |
| | | <call function="'_ldapCommonArgs'"/> |
| | | |
| | |
| | | STAFCmdParamsList.append('-l "%s"' % anAttributeToModify) |
| | | </script> |
| | | </iterate> |
| | | </if> |
| | | </if> |
| | | <script> |
| | | if newAttributeValue: |
| | | newAttributeValue=newAttributeValue.replace('"','QUOT') |
| | | </script> |
| | | </script> |
| | | <script> |
| | | |
| | | if DNToModify: |
| | |
| | | STAFCmdParamsList.append('-a "%s"' % attributeName) |
| | | |
| | | if newAttributeValue: |
| | | STAFCmdParamsList.append('-v "%s"' % newAttributeValue) |
| | | STAFCmdParamsList.append('-v "%s"' % newAttributeValue) |
| | | |
| | | if changetype: |
| | | STAFCmdParamsList.append('-t "%s"' % changetype) |
| | |
| | | |
| | | </function> |
| | | |
| | | |
| | | <!-- Add a New entry--> |
| | | |
| | | <!-- Add a New entry--> |
| | | <function name="addAnEntry"> |
| | | <function-prolog> |
| | | This function modifies an entry in the Directory Server |
| | |
| | | <function-arg-def name="dsInstancePort" type="required"> |
| | | <function-arg-description> |
| | | Directory server port number |
| | | </function-arg-description> |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="Port number"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="dsInstanceDn" type="required"> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="DNToAdd" type="required"> |
| | | <function-arg-def name="DNToAdd" type="required"> |
| | | <function-arg-description> |
| | | DN to add |
| | | </function-arg-description> |
| | |
| | | </function> |
| | | |
| | | |
| | | <!-- Modify an attribute --> |
| | | <!-- Modify an attribute --> |
| | | <function name="modifyDn"> |
| | | <function-prolog> |
| | | This function rename the rdn |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="DNToModify" type="required"> |
| | | <function-arg-def name="DNToModify" type="required"> |
| | | <function-arg-description> |
| | | DN to modify |
| | | </function-arg-description> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="deleteOldRDN" type="optional"> |
| | | <function-arg-def name="deleteOldRDN" type="optional"> |
| | | <function-arg-description> |
| | | 1 : delete old rdn, 0 do not delete old rdn, default value is 1 |
| | | </function-arg-description> |
| | |
| | | STAFCmdParams='' |
| | | STAFCmd='' |
| | | </script> |
| | | |
| | | |
| | | <!-- Set common ldap arguments --> |
| | | <call function="'_ldapCommonArgs'" /> |
| | | <script> |
| | |
| | | STAFCmdParamsList.append('-e "%s"' % newRDN) |
| | | |
| | | if deleteOldRDN: |
| | | STAFCmdParamsList.append('-f "%s"' % deleteOldRDN) |
| | | STAFCmdParamsList.append('-f "%s"' % deleteOldRDN) |
| | | |
| | | STAFCmdParams=' '.join(STAFCmdParamsList) |
| | | |
| | |
| | | ! Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | ! --> |
| | | <stax> |
| | | <!-- **************************************************** --> |
| | | <!-- generate a certificate --> |
| | | <!-- **************************************************** --> |
| | | <!-- **************************************************** --> |
| | | <!-- generate a certificate --> |
| | | <!-- **************************************************** --> |
| | | <function name="genCertificate"> |
| | | <function-prolog> |
| | | This function generates a server certificate |
| | |
| | | Alias certificate |
| | | </function-arg-description> |
| | | </function-arg-def> |
| | | <function-arg-def name="dname" type="optional" default="'cn=server,O=Sun Microsystems,C=US'"> |
| | | <function-arg-def name="dname" type="optional" default="'cn=server,O=Sun Microsystems,C=US'"> |
| | | <function-arg-description> |
| | | Certificate subject |
| | | </function-arg-description> |
| | |
| | | <script> |
| | | if dsPath: |
| | | dsConfigPath='%s/config' % (dsPath) |
| | | dsBinPath='%s/%s' % (dsPath,fileFolder) |
| | | dsBinPath='%s/%s' % (dsPath,fileFolder) |
| | | </script> |
| | | <call function="'runCommand'"> |
| | | { 'name' : 'Generate a Certificate', |
| | |
| | | </function-arg-def> |
| | | <function-arg-def name="storepass" type="optional" default="'servercert'"> |
| | | <function-arg-description> |
| | | Password to protect the contents of the key store |
| | | Password to protect the contents of the key store |
| | | </function-arg-description> |
| | | </function-arg-def> |
| | | <function-arg-def name="keypass" type="optional" default="'servercert'"> |
| | | <function-arg-description> |
| | | Password to protect the private key on the key store: keypass |
| | | Password to protect the private key on the key store: keypass |
| | | </function-arg-description> |
| | | </function-arg-def> |
| | | <function-arg-def name="storetype" type="optional" default="'JKS'"> |
| | | <function-arg-description> |
| | | The storetype. can be JKS or PKCS12 |
| | | The storetype. can be JKS or PKCS12 |
| | | </function-arg-description> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | |
| | | dsConfigPath='%s/config' % (dsPath) |
| | | dsBinPath='%s/%s' % (dsPath,fileFolder) |
| | | </script> |
| | | |
| | | |
| | | <call function="'runCommand'" > |
| | | { 'name' : 'Generate a Self-Signed Server Certificate', |
| | | 'location' : location, |
| | |
| | | |
| | | <!-- **************************************************** --> |
| | | <!-- Export a certificate --> |
| | | <!-- **************************************************** --> |
| | | <!-- **************************************************** --> |
| | | <function name="ExportCertificate"> |
| | | <function-prolog> |
| | | This function exports a certificate |
| | |
| | | { 'returncode' : STAXCode , |
| | | 'result' : STAXReason } |
| | | </call> |
| | | <return>STAXReason</return> |
| | | <return>STAXReason</return> |
| | | </sequence> |
| | | </function> |
| | | |
| | |
| | | <function-arg-def name="inputfile" type="required"> |
| | | <function-arg-description> |
| | | Certificate to import |
| | | </function-arg-description> |
| | | </function-arg-description> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | dsConfigPath='%s/config' % (dsPath) |
| | | dsBinPath='%s/%s' % (dsPath,fileFolder) |
| | | </script> |
| | | |
| | | |
| | | <call function="'runCommand'"> |
| | | { 'name' : 'Import a Certificate', |
| | | 'location' : location, |
| | |
| | | 'result' : STAXReason |
| | | } |
| | | </call> |
| | | <return>STAXReason</return> |
| | | <return>STAXReason</return> |
| | | </sequence> |
| | | </function> |
| | | |
| | | |
| | | <!-- **************************************************** --> |
| | | <!-- get MD5 and SHA1 values --> |
| | | <!-- **************************************************** --> |
| | | <!-- **************************************************** --> |
| | | <function name="getFingerprint"> |
| | | <function-prolog> |
| | | This function returns the fingerprint MD5 or SHA1 |
| | |
| | | <function-arg-description> |
| | | Location of target host |
| | | </function-arg-description> |
| | | </function-arg-def> |
| | | </function-arg-def> |
| | | <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)"> |
| | | <function-arg-description> |
| | | Pathname to installation root |
| | | </function-arg-description> |
| | | </function-arg-def> |
| | | </function-arg-def> |
| | | <function-arg-def name="certAlias" type="optional" default="'server-cert'"> |
| | | <function-arg-description> |
| | | Alias certificate |
| | | Alias certificate |
| | | </function-arg-description> |
| | | </function-arg-def> |
| | | <function-arg-def name="keystore" type="optional" default="'keystore'"> |
| | |
| | | </function> |
| | | |
| | | |
| | | <!-- ################################################## --> |
| | | <!-- ################################################## --> |
| | | <!-- configure SSL --> |
| | | <!-- ################################################## --> |
| | | <!-- ################################################## --> |
| | | <function name="configureSSL"> |
| | | <function-prolog> |
| | | This function makes the configuration changes for SSL |
| | |
| | | <function-arg-def name="keystoreType" type="optional" default="'JKS'"> |
| | | <function-arg-description> |
| | | Keystore type : JKS or PKCS12 |
| | | </function-arg-description> |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="keystorePin" type="optional" default="'servercert'"> |
| | | <function-arg-description> |
| | | Keystore pin |
| | | </function-arg-description> |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="extraParams" type="optional"> |
| | |
| | | option3='--set key-manager-provider-dn:"cn=%s,cn=Key Manager Providers,cn=config"' % (keystoreType) |
| | | option4='--set listen-port:%s' % DIRECTORY_INSTANCE_SSL_PORT |
| | | option5='--set enabled:true' |
| | | optionsString='%s %s %s %s %s' % (option1,option2,option3,option4,option5) |
| | | optionsString='%s %s %s %s %s' % (option1,option2,option3,option4,option5) |
| | | </script> |
| | | |
| | | <call function="'dsconfig'"> |
| | |
| | | </function> |
| | | |
| | | |
| | | <!-- ################################################## --> |
| | | <!-- ################################################## --> |
| | | <!-- configureTLS --> |
| | | <!-- ################################################## --> |
| | | <!-- ################################################## --> |
| | | <function name="configureTLS"> |
| | | <function-prolog> |
| | | This function makes the configuration changes for startTLS |
| | |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="keystorePin" type="optional" default="'servercert'"> |
| | | <function-arg-description> |
| | | <function-arg-description> |
| | | Keystore pin |
| | | </function-arg-description> |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="certAlias" type="optional" default="'server-cert'"> |
| | |
| | | <function-arg-def name="keystoreType" type="optional" default="'JKS'"> |
| | | <function-arg-description> |
| | | Keystore type : JKS or PKCS12 |
| | | </function-arg-description> |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="extraParams" type="optional"> |
| | |
| | | 'Configure Trust Manager Provider' |
| | | </message> |
| | | |
| | | |
| | | |
| | | <call function="'dsconfig'"> |
| | | { 'location' : location, |
| | | 'dsPath' : dsPath, |
| | |
| | | option2='--set trust-manager-provider-dn:"cn=Blind Trust,cn=Trust Manager Providers,cn=config" ' |
| | | option3='--set key-manager-provider-dn:"cn=%s,cn=Key Manager Providers,cn=config"' % (keystoreType) |
| | | option4='--set allow-start-tls:true' |
| | | optionsString='%s %s %s %s' % (option1,option2,option3,option4) |
| | | optionsString='%s %s %s %s' % (option1,option2,option3,option4) |
| | | </script> |
| | | |
| | | <call function="'dsconfig'"> |
| | |
| | | </function> |
| | | |
| | | |
| | | <!-- ################################################## --> |
| | | <!-- ################################################## --> |
| | | <!-- configure SSL and TLS --> |
| | | <!-- ################################################## --> |
| | | <!-- ################################################## --> |
| | | <function name="configureSSL_TLS"> |
| | | <function-prolog> |
| | | This function makes the configuration changes for SSL and TLS |
| | |
| | | <function-arg-def name="keystoreType" type="optional" default="'JKS'"> |
| | | <function-arg-description> |
| | | Keystore type : JKS or PKCS12 |
| | | </function-arg-description> |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="certAlias" type="optional" default="'server-cert'"> |
| | |
| | | </function-arg-description> |
| | | </function-arg-def> |
| | | <function-arg-def name="keystorePin" type="optional" default="'servercert'"> |
| | | <function-arg-description> |
| | | <function-arg-description> |
| | | Keystore pin |
| | | </function-arg-description> |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="extraParams" type="optional"> |
| | |
| | | option4='--set listen-port:%s' % DIRECTORY_INSTANCE_SSL_PORT |
| | | option5='--set enabled:true' |
| | | optionsString='%s %s %s %s %s' % (option1,option2,option3,option4,option5) |
| | | </script> |
| | | </script> |
| | | |
| | | <call function="'dsconfig'"> |
| | | { 'location' : location, |
| | |
| | | option2='--set trust-manager-provider-dn:"cn=Blind Trust,cn=Trust Manager Providers,cn=config" ' |
| | | option3='--set key-manager-provider-dn:"cn=%s,cn=Key Manager Providers,cn=config"' % (keystoreType) |
| | | option4='--set allow-start-tls:true' |
| | | optionsString='%s %s %s %s' % (option1,option2,option3,option4) |
| | | optionsString='%s %s %s %s' % (option1,option2,option3,option4) |
| | | </script> |
| | | |
| | | |
| | | <call function="'dsconfig'"> |
| | | { 'location' : location, |
| | | 'dsPath' : dsPath, |
| | |
| | | </call> |
| | | </sequence> |
| | | </function> |
| | | |
| | | |
| | | <!-- ################################################## --> |
| | | |
| | | |
| | | <!-- ################################################## --> |
| | | <!-- Unconfigure SSL --> |
| | | <!-- ################################################## --> |
| | | <!-- ################################################## --> |
| | | <function name="unconfigureSSL"> |
| | | <function-prolog> |
| | | This function reverses the configuration changes for SSL |
| | |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="keystoreType" type="optional" default="'JKS'"> |
| | | <function-arg-description> |
| | | <function-arg-description> |
| | | Keystore type : JKS or PKCS12 |
| | | </function-arg-description> |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="extraParams" type="optional"> |
| | |
| | | </call> |
| | | </sequence> |
| | | </function> |
| | | |
| | | |
| | | <!-- ################################################## --> |
| | | |
| | | <!-- ################################################## --> |
| | | <!-- unconfigureTLS --> |
| | | <!-- ################################################## --> |
| | | <!-- ################################################## --> |
| | | <function name="unconfigureTLS"> |
| | | <function-prolog> |
| | | This function reverses the configuration changes for startTLS |
| | |
| | | <function-arg-def name="keystoreType" type="optional" default="'JKS'"> |
| | | <function-arg-description> |
| | | Keystore type : JKS or PKCS12 |
| | | </function-arg-description> |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="extraParams" type="optional"> |
| | |
| | | 'expectedRC' : 0 |
| | | } |
| | | </call> |
| | | |
| | | |
| | | <!--- Disable Key Manager Provider --> |
| | | <message> |
| | | 'Disabling Key Manager Provider' |
| | |
| | | </function> |
| | | |
| | | |
| | | <!-- ################################################## --> |
| | | <!-- ################################################## --> |
| | | <!-- Unconfigure SSL and TLS --> |
| | | <!-- ################################################## --> |
| | | <!-- ################################################## --> |
| | | <function name="unconfigureSSL_TLS"> |
| | | <function-prolog> |
| | | This function reverses the configuration changes for SSL and TLS |
| | |
| | | <function-arg-def name="keystoreType" type="optional" default="'JKS'"> |
| | | <function-arg-description> |
| | | Keystore type : JKS or PKCS12 |
| | | </function-arg-description> |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="extraParams" type="optional"> |
| | |
| | | 'expectedRC' : 0 |
| | | } |
| | | </call> |
| | | |
| | | |
| | | <!--- Disable Key Manager Provider --> |
| | | <message> |
| | | 'Disabling Key Manager Provider' |
| | |
| | | Name of folder to be list |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="filepath"/> |
| | | </function-arg-def> |
| | | </function-arg-def> |
| | | <function-arg-def name="filename" type="required"> |
| | | <function-arg-description> |
| | | Name of file to be list |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="filepath"/> |
| | | <function-arg-property name="type" value="filepath"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | |
| | | <return>cmdRC</return> |
| | | </sequence> |
| | | </function> |
| | | |
| | | </function> |
| | | |
| | | </stax> |
| | |
| | | <script> |
| | | if STAXResult != 0 : |
| | | failedServers.append('%s:%s' % (server.getHostname(), server.getPort())) |
| | | </script> |
| | | </script> |
| | | </sequence> |
| | | </iterate> |
| | | <if expr="len(failedServers) > 0"> |
| | |
| | | </paralleliterate> |
| | | |
| | | <if expr="startDS"> |
| | | <!-- Stop the servers in the list --> |
| | | <!-- Stop the servers in the list --> |
| | | <call function="'stopServers'"> |
| | | [serverList] |
| | | </call> |
| | |
| | | </function-list-args> |
| | | |
| | | <sequence> |
| | | <!-- Start the servers in the list --> |
| | | <!-- Start the servers in the list --> |
| | | <paralleliterate var="server" in="serverList"> |
| | | <sequence> |
| | | <message> |
| | | 'Start DS on host %s to run on port %s' % (server.getHostname(),server.getPort()) |
| | | </message> |
| | | |
| | | <!--- Start DS --> |
| | | <!--- Start DS --> |
| | | <call function="'StartDsWithScript'"> |
| | | { 'location' : server.getHostname(), |
| | | 'dsPath' : '%s/%s' % (server.getDir(),OPENDSNAME) |
| | |
| | | </function-list-args> |
| | | |
| | | <sequence> |
| | | <!-- Stop the servers in the list --> |
| | | <!-- Stop the servers in the list --> |
| | | <paralleliterate var="server" in="serverList"> |
| | | <sequence> |
| | | <message> |
| | |
| | | <function-arg-description> |
| | | Topology Description file |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="filePath"/> |
| | | <function-arg-property name="type" value="filePath"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="initialiseInstance" type="optional" default="False"> |
| | | <function-arg-description> |
| | |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | | |
| | | <sequence> |
| | | <script> |
| | | if not sharedDataFolder and CurrentTestPath.has_key('group'): |
| | |
| | | { 'groupDataDir' : sharedDataFolder } |
| | | </call> |
| | | |
| | | <if expr="topologyDescFile == None"> |
| | | <if expr="topologyDescFile == None"> |
| | | <!-- SINGLE instance deployment: read parameters from config.py (done by default) --> |
| | | <sequence> |
| | | <message> |
| | | 'SINGLE instance deployment: read parameters from config.py' |
| | | </message> |
| | | <call function="'createInstance'" /> |
| | | <if expr="RC == 0 and initialiseInstance == True"> |
| | | <sequence> |
| | | <if expr="RC == 0 and initialiseInstance == True"> |
| | | <sequence> |
| | | <!-- Load the server with default data --> |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/quickstart/quickstart.xml' % (TESTS_DIR)" /> |
| | | <call function="'main_quickstart'"/> |
| | | </sequence> |
| | | </if> |
| | | </if> |
| | | </sequence> |
| | | <else> |
| | | <!-- MULTIPLE instance deployment: read parameters from topologyDescFile --> |
| | |
| | | ! (i.e. server is a changelog server and/or has synchronized suffixes) |
| | | --> |
| | | <if expr="server.requiresSynchronization()"> |
| | | <sequence> |
| | | <sequence> |
| | | <message> |
| | | 'Instance requires REPLICATION configuration.' |
| | | </message> |
| | |
| | | </sequence> |
| | | </function> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <function name="prepareInstanceCreation"> |
| | | <function-prolog> |
| | | This function prepares locally the necessary |
| | | files to create an instance: data zip file and OpenDS zip file. |
| | | </function-prolog> |
| | | </function-prolog> |
| | | <function-map-args> |
| | | <function-arg-def name="groupDataDir" type="optional" default="''"> |
| | | <function-arg-description> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | </function-map-args> |
| | | <sequence> |
| | | <!-- ON LOCAL HOST: get data ready to copy to remote host --> |
| | | <script> |
| | |
| | | </if> |
| | | </sequence> |
| | | </function> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <function name="createInstance"> |
| | | <function-prolog> |
| | | This function creates an instance on a given host. |
| | |
| | | <function-map-args> |
| | | <function-arg-def name="dsHost" type="optional" default="DIRECTORY_INSTANCE_HOST"> |
| | | <function-arg-description> |
| | | Hostname where the instance is to be created |
| | | </function-arg-description> |
| | | Hostname where the instance is to be created |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="hostname"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="dsDir" type="optional" default="DIRECTORY_INSTANCE_DIR"> |
| | | <function-arg-description> |
| | | Directory where OpenDS will be installed |
| | | Directory where OpenDS will be installed |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="filepath"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="dsPort" type="optional" default="DIRECTORY_INSTANCE_PORT"> |
| | | <function-arg-description> |
| | | Directory Server port number |
| | | Directory Server port number |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="Port number"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="dsSslPort" type="optional" default="DIRECTORY_INSTANCE_SSL_PORT"> |
| | | <function-arg-description> |
| | | Directory Server SSL port number |
| | | Directory Server SSL port number |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="Port number"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="dsJmxPort" type="optional" default="None"> |
| | | <function-arg-description> |
| | | Directory Server JMX port number |
| | | Directory Server JMX port number |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="Port number"/> |
| | | </function-arg-def> |
| | | </function-arg-def> |
| | | <function-arg-def name="dsBindDN" type="optional" default="DIRECTORY_INSTANCE_DN"> |
| | | <function-arg-description> |
| | | Directory Manager DN |
| | | Directory Manager DN |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="DN"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="dsBindPwd" type="optional" default="DIRECTORY_INSTANCE_PSWD"> |
| | | <function-arg-description> |
| | | Directory Server SSL port number |
| | | Directory Server SSL port number |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="dsBaseDN" type="optional" default="DIRECTORY_INSTANCE_SFX"> |
| | | <function-arg-description> |
| | | Directory Server base suffix dn |
| | | Directory Server base suffix dn |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="DN"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | | |
| | | <sequence> |
| | | <message> |
| | | 'Create instance in host %s at directory %s' % (dsHost,dsDir) |
| | |
| | | <function-prolog> |
| | | This function configures replication in a given server. |
| | | </function-prolog> |
| | | |
| | | |
| | | <function-list-args> |
| | | <function-arg-def name="syncserverMap" type="required"> |
| | | <function-arg-description> |
| | | Map containing a Server class instance representing the server to configure. |
| | | Map containing a Server class instance representing the server to configure. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="map"/> |
| | | </function-arg-def> |
| | | </function-list-args> |
| | | |
| | | |
| | | <sequence> |
| | | <script> |
| | | syncserver = syncserverMap['instance'] |
| | |
| | | syncserverPath = '%s/%s' % (syncserver.getDir(),OPENDSNAME) |
| | | </script> |
| | | |
| | | <!--- Start DS --> |
| | | <!--- Start DS --> |
| | | <call function="'StartDsWithScript'"> |
| | | { 'location' : syncserver.getHostname(), |
| | | 'dsPath' : syncserverPath |
| | |
| | | <message> |
| | | 'Add replication configuration entries in %s' % remoteFilePath |
| | | </message> |
| | | |
| | | |
| | | <call function="'addEntry'"> |
| | | { 'location' : syncserver.getHostname(), |
| | | 'dsPath' : syncserverPath, |
| | |
| | | } |
| | | </call> |
| | | |
| | | <!--- Stop DS --> |
| | | <!--- Stop DS --> |
| | | <call function="'StopDsWithScript'"> |
| | | { 'location' : syncserver.getHostname(), |
| | | 'dsHost' : syncserver.getHostname(), |
| | |
| | | <function-prolog> |
| | | This function configures replication in a given server. |
| | | </function-prolog> |
| | | |
| | | |
| | | <function-list-args> |
| | | <function-arg-def name="syncserver" type="required"> |
| | | <function-arg-description> |
| | | Server class instance representing the server to configure. |
| | | Server class instance representing the server to configure. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="Server"/> |
| | | </function-arg-def> |
| | | </function-list-args> |
| | | |
| | | |
| | | <sequence> |
| | | <!--- Configure replication using dsconfig --> |
| | | <!--- Configure replication using dsconfig --> |
| | | <message> |
| | | 'Configure replication on server on host %s at directory %s' % (syncserver.getHostname(),syncserver.getDir()) |
| | | </message> |
| | |
| | | syncserverPath = '%s/%s' % (syncserver.getDir(),OPENDSNAME) |
| | | </script> |
| | | |
| | | <!--- Start DS --> |
| | | <!--- Start DS --> |
| | | <call function="'StartDsWithScript'"> |
| | | { 'location' : syncserver.getHostname(), |
| | | 'dsPath' : syncserverPath |
| | |
| | | </sequence> |
| | | </iterate> |
| | | |
| | | <!--- Stop DS --> |
| | | <!--- Stop DS --> |
| | | <call function="'StopDsWithScript'"> |
| | | { 'location' : syncserver.getHostname(), |
| | | 'dsHost' : syncserver.getHostname(), |
| | |
| | | </function> |
| | | |
| | | |
| | | |
| | | |
| | | <function name="readTopology"> |
| | | <function-prolog> |
| | | This function reads the topology from a given file. |
| | |
| | | <function-map-args> |
| | | <function-arg-def name="file" type="required"> |
| | | <function-arg-description> |
| | | File containing the topology description. |
| | | File containing the topology description. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="filePath"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | | |
| | | <sequence> |
| | | <message> |
| | | 'Parse file %s for topology parameters' % file |
| | |
| | | |
| | | <script> |
| | | _topologyServerList = [] |
| | | |
| | | |
| | | f = open(file, 'r') |
| | | |
| | | hostname = None |
| | |
| | | prt = item[item.find(':') + 1:] |
| | | changelogServer.addChangelogServer(srv, prt) |
| | | server.addChangelogServer(changelogServer) |
| | | |
| | | |
| | | for suffix in suffixList: |
| | | synchroSuffix = SynchronizedSuffix(suffix, serverId) |
| | | for item in changelogList: |
| | |
| | | </script> |
| | | </sequence> |
| | | </function> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <function name="removeInstance"> |
| | | <function-prolog> |
| | | This function removes an instance on a given host. |
| | |
| | | <function-map-args> |
| | | <function-arg-def name="dsHost" type="optional" default="DIRECTORY_INSTANCE_HOST"> |
| | | <function-arg-description> |
| | | Hostname where the instance is to be created |
| | | </function-arg-description> |
| | | Hostname where the instance is to be created |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="hostname"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="dsDir" type="optional" default="DIRECTORY_INSTANCE_DIR"> |
| | | <function-arg-description> |
| | | Directory where OpenDS will be installed |
| | | Directory where OpenDS will be installed |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="filepath"/> |
| | | </function-arg-def> |
| | |
| | | </if> |
| | | </sequence> |
| | | </function> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <function name="removeTopology"> |
| | | <function-prolog> |
| | | This function removes the topology created for the Test Group/Suite. |
| | | </function-prolog> |
| | | </function-prolog> |
| | | <function-map-args> |
| | | <function-arg-def name="multipleInstanceTopology" type="optional" default="False"> |
| | | <function-arg-description> |
| | | Tells whether it is a single (i.e. parameters read from config.py) or |
| | | a multiple-instance topology (i.e. parameters read from topology desc file). |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="boolean"/> |
| | | </function-arg-def> |
| | | <function-arg-property name="type" value="boolean"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | | <if expr="multipleInstanceTopology == False"> |
| | | <if expr="multipleInstanceTopology == False"> |
| | | <!-- SINGLE instance deployment: parameters read from config.py (done by default) --> |
| | | <call function="'removeInstance'" /> |
| | | <else> |
| | |
| | | <function-arg-property name="type" value="integer"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | | <sequence> |
| | | <if expr="expected == NO_CHECK"> |
| | | <return/> |
| | | </if> |
| | |
| | | <sequence> |
| | | <if expr="STAXCurrentTestcase != None"> |
| | | <sequence> |
| | | <tcstatus result="'pass'"/> |
| | | <tcstatus result="'pass'"/> |
| | | </sequence> |
| | | </if> |
| | | </if> |
| | | <message log="1"> |
| | | 'SUCCESS: RC=%s, Expected %s, Result=%s' % (returncode,expected,result) |
| | | </message> |
| | |
| | | <sequence> |
| | | <if expr="STAXCurrentTestcase != None"> |
| | | <sequence> |
| | | <tcstatus result="'fail'"/> |
| | | <tcstatus result="'fail'"/> |
| | | </sequence> |
| | | </if> |
| | | </if> |
| | | <message log="1" level="'Error'"> |
| | | 'ERROR : RC=%s, Expected %s, Result=%s' % (returncode,expected,result) |
| | | </message> |
| | |
| | | </sequence> |
| | | </function> |
| | | |
| | | |
| | | |
| | | <!-- testPassed --> |
| | | <!-- Set the test status to PASS --> |
| | | |
| | | <!-- Set the test status to PASS --> |
| | | |
| | | <function name="testPassed"> |
| | | <function-prolog> |
| | | This function set the status of the tests: PASS |
| | | </function-prolog> |
| | | |
| | | <sequence> |
| | | <message>'Set test status to PASS'</message> |
| | | <tcstatus result="'pass'"/> |
| | | <message>'Set test status to PASS'</message> |
| | | <tcstatus result="'pass'"/> |
| | | </sequence> |
| | | </function> |
| | | |
| | | |
| | | |
| | | <!-- testFailed --> |
| | | <!-- Set the test status to FAIL --> |
| | | |
| | | <!-- Set the test status to FAIL --> |
| | | |
| | | <function name="testFailed"> |
| | | <function-prolog> |
| | | This function set the status of the tests: FAIL |
| | | </function-prolog> |
| | | |
| | | <sequence> |
| | | <message>'Set test status to FAIL'</message> |
| | | <tcstatus result="'fail'"/> |
| | | <message>'Set test status to FAIL'</message> |
| | | <tcstatus result="'fail'"/> |
| | | </sequence> |
| | | </function> |
| | | |
| | | <!-- checktestString --> |
| | | |
| | | <!-- checktestString --> |
| | | <function name="checktestString"> |
| | | <function-prolog> |
| | | This function checks the return string against an expected return substring for a testcase |
| | |
| | | |
| | | <if expr='re.search(searchre, returnString) != None'> |
| | | <sequence> |
| | | <tcstatus result="'pass'"/> |
| | | <tcstatus result="'pass'"/> |
| | | <message log="1"> |
| | | 'SUCCESS : Found substring, %s, in the return string' % (expectedString) |
| | | </message> |
| | |
| | | </sequence> |
| | | |
| | | </function> |
| | | |
| | | |
| | | |
| | | |
| | | <function name="CheckMatches"> |
| | |
| | | |
| | | <project name="opends-staf-installer" basedir="." default="usage"> |
| | | <description> |
| | | Installer ant file for the staf platform |
| | | This allows tests that need a running instance of staf to easily |
| | | get one and hides all the complexity under the hood |
| | | Installer ant file for the staf platform |
| | | This allows tests that need a running instance of staf to easily |
| | | get one and hides all the complexity under the hood |
| | | </description> |
| | | <dirname file="${basedir}/.." property="project.home"/> |
| | | |
| | |
| | | |
| | | <!-- Usage section - top --> |
| | | <!-- Default target => how to use this file --> |
| | | <target name="usage" |
| | | <target name="usage" |
| | | description="Gives a message that helps using this file"> |
| | | <echo>Installer usage: |
| | | <echo>Installer usage: |
| | | main targets= |
| | | usage : print this message |
| | | status : report if the staf is installed and running |
| | |
| | | start : start the staf unless it is already running |
| | | stop : stop the staf if it is already running |
| | | uninstall : uninstall the staf if it is installed</echo> |
| | | </target> |
| | | </target> |
| | | <!-- Usage section - bottom --> |
| | | |
| | | |
| | | <!-- Downloader section - top --> |
| | | <target name="download-do-prepare-check-proxy" unless="proxy.disabled"> |
| | | <echo>Checking for proxy [${proxy.host}:${proxy.port}] as user [${proxy.user}].</echo> |
| | |
| | | dest="${staf.install.dir}/services"/> |
| | | </target> |
| | | |
| | | <target name="install-staf-jar" |
| | | <target name="install-staf-jar" |
| | | description="deploy the staf bits" |
| | | if="staf.archive.is.jar"> |
| | | <echo message="Installing staf, please wait, it'll take some time..." /> |
| | |
| | | <available file="${staf.install.dir}/bin/STAF.cfg"/> |
| | | </condition> |
| | | </target> |
| | | |
| | | |
| | | <target name="install-staf-tar" if="staf.archive.is.tar"> |
| | | <delete dir="${bits.download.dir}/staf"/> |
| | | <gunzip |
| | |
| | | <!-- Uninstallation section - top --> |
| | | <target name="uninstall-do-jar" |
| | | description="Uninstall the staf" |
| | | if="staf.install.is.jar"> |
| | | if="staf.install.is.jar"> |
| | | <echo message="Uninstalling staf, please wait..." /> |
| | | <java jar="${staf.install.dir}/_uninst/uninstall.jar" fork="true"> |
| | | <arg value="-silent" /> |
| | |
| | | name="uninstall-dont" |
| | | depends="uninstall-dont-running,uninstall-dont-not-installed" /> |
| | | |
| | | <target name="uninstall" depends="status-do,uninstall-do,uninstall-dont"> |
| | | </target> |
| | | <target name="uninstall" depends="status-do,uninstall-do,uninstall-dont"> |
| | | </target> |
| | | <!-- Uninstallation section - bottom --> |
| | | |
| | | |
| | | <!-- Start section - top --> |
| | | <target name="start-do" |
| | | description="start the staf" |
| | | if="staf.installed" |
| | | unless="staf.running" > |
| | | <echo message="Starting staf daemon ... on ${os.myname}" /> |
| | | <condition property="staf.spawn"> |
| | | <not> |
| | | <isset property="staf.spawn"/> |
| | | </not> |
| | | </condition> |
| | | <echo message="Starting staf daemon ... on ${os.myname}" /> |
| | | <condition property="staf.spawn"> |
| | | <not> |
| | | <isset property="staf.spawn"/> |
| | | </not> |
| | | </condition> |
| | | <echo message="Starting STAF..."/> |
| | | <exec |
| | | dir="${staf.bin.dir}" |
| | |
| | | <target name="start-dont" if="staf.running"> |
| | | <echo>Staf is already running.</echo> |
| | | </target> |
| | | <target name="start" depends="status-do"> |
| | | <antcall target="start-do"/> |
| | | <target name="start" depends="status-do"> |
| | | <antcall target="start-do"/> |
| | | <antcall target="start-dont"/> |
| | | </target> |
| | | <target name="start-nodetach"> |
| | | <property name="staf.spawn" value="false"/> |
| | | <antcall target="start"/> |
| | | </target> |
| | | </target> |
| | | <target name="start-nodetach"> |
| | | <property name="staf.spawn" value="false"/> |
| | | <antcall target="start"/> |
| | | </target> |
| | | |
| | | <!-- Start section - bottom --> |
| | | |
| | | <!-- Stop section - top --> |
| | | <target name="stop-do" if="staf.running"> |
| | | <echo>Stopping staf...</echo> |
| | | <target name="stop-do" if="staf.running"> |
| | | <echo>Stopping staf...</echo> |
| | | <exec |
| | | executable="${staf.executable}" |
| | | > |
| | |
| | | <echo>Staf is not running.</echo> |
| | | </target> |
| | | <target name="stop" depends="status-do"> |
| | | <antcall target="stop-do"/> |
| | | <antcall target="stop-do"/> |
| | | <antcall target="stop-dont"/> |
| | | </target> |
| | | </target> |
| | | <!-- Stop section - bottom --> |
| | | |
| | | |
| | | <!-- Status section - top --> |
| | | <!-- Bits status section - top --> |
| | | <target name="status-archive-downloaded?" if="bits.all.downloaded.before"> |
| | |
| | | <antcall target="status-archive-not-downloaded?" /> |
| | | </target> |
| | | <!-- Installation status section - bottom --> |
| | | |
| | | |
| | | <!-- Running status section - top --> |
| | | <target name="status-staf-running?" if="staf.running"> |
| | | <echo>staf is listening on port [${staf.port.default}]</echo> |
| | |
| | | <!-- Status section - bottom --> |
| | | |
| | | <!-- Macros section - top --> |
| | | <target name="bootstrap"> |
| | | <target name="bootstrap"> |
| | | <antcall target="download" /> |
| | | <antcall target="install" /> |
| | | <antcall target="start" /> |
| | | </target> |
| | | |
| | | <target name="wipeout"> |
| | | <antcall target="stop"/> |
| | | <antcall target="install" /> |
| | | <antcall target="start" /> |
| | | </target> |
| | | |
| | | <target name="wipeout"> |
| | | <antcall target="stop"/> |
| | | <echo>Allow a minute for STAF to bring all the JVMs down</echo> |
| | | <sleep seconds="60"/> |
| | | <antcall target="uninstall"/> |
| | | </target> |
| | | <antcall target="uninstall"/> |
| | | </target> |
| | | |
| | | <target name="restart"> |
| | | <antcall target="stop" inheritAll="false" /> |
| | |
| | | ! Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | ! --> |
| | | <stax> |
| | | |
| | | <defaultcall function="main_aci"/> |
| | | |
| | | <function name="main_aci"> |
| | | |
| | | <sequence> |
| | | |
| | | <block name="'aci'"> |
| | | |
| | | <sequence> |
| | | |
| | | |
| | | <script> |
| | | CurrentTestPath['group']='aci' |
| | | GLOBAL_ACI_SEARCH="(targetattr!=\"userPassword||authPassword\")(version 3.0; acl \"Anonymous read access\"; allow (read,search,compare) userdn=\"ldap:///anyone\";)" |
| | | </script> |
| | | |
| | | |
| | | <call function="'testGroup_Preamble'"/> |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/global_acis.xml' % (TESTS_DIR)"/> |
| | | <call function="'global_acis'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_target.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_target'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_targetattr.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_targetattr'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_targetfilter.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_targetfilter'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_targattrfilter.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_targattrfilter'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_targetscope.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_targetscope'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_delete_entry.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_delete_entry'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_add_entry.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_add_entry'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_modify_entry.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_modify_entry'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_modify_filter_tests.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_modify_filter_tests'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_compare_tests.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_compare_tests'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/multiple_aci_tests.xml' % (TESTS_DIR)"/> |
| | | <call function="'multiple_aci_tests'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_modify_rdn.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_modify_rdn'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_rdn_wildcards.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_rdn_wildcards'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_bindtypes.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_bindtypes'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_proxy_auth.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_proxy_auth'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_effective_rights.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_effective_rights'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_import.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_import'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testGroup_Postamble'"/> |
| | | |
| | | </sequence> |
| | | |
| | | </block> |
| | | |
| | | </sequence> |
| | | |
| | | </function> |
| | | |
| | | </stax> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_setup'" /> |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_cleanup'" /> |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_setup'" /> |
| | | |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <sequence> |
| | | |
| | | |
| | | <block name="'Block DS Process Stop'"> |
| | | |
| | | <block name="'Block DS Process Stop'"> |
| | | <!--- Stop DS --> |
| | | <sequence> |
| | | <sequence> |
| | | <message> |
| | | 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | </sequence> |
| | | <!--- End Block DS Process Stop --> |
| | | </block> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <block name="'Block Remove DS Topology'"> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <sequence> |
| | | |
| | | <block name="'Block Remove DS Topology'"> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Remove DS topology created for the Test Suite' |
| | | </message> |
| | | </message> |
| | | |
| | | <call function="'removeTopology'"/> |
| | | |
| | | <call function="'checkRC'"> |
| | | <call function="'removeTopology'"/> |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!-- End Block Remove DS Topology--> |
| | | </block> |
| | | |
| | | |
| | | |
| | | </sequence> |
| | | <!-- End Block Remove DS Topology--> |
| | | </block> |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_setup'" /> |
| | | |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_setup'" /> |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_cleanup'" /> |
| | | |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_setup'" /> |
| | | |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_setup'" /> |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_cleanup'" /> |
| | | <call function="'aci_cleanup'" /> |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_setup'" /> |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_cleanup'" /> |
| | | |
| | | |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | </block> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_setup'" /> |
| | | |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_setup'" /> |
| | | |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | <script> |
| | | CurrentTestPath['group']='aci' |
| | | </script> |
| | | |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | |
| | | |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Create DS topology as described in config.py' |
| | | </message> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : True } |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : True } |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | |
| | | |
| | | <block name="'Block DS Process Active'"> |
| | | <block name="'Block DS Process Active'"> |
| | | <!--- Start DS --> |
| | | <sequence> |
| | | |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | <call function="'isAlive'"> |
| | | { 'noOfLoops' : 5 , |
| | | 'noOfMilliSeconds' : 2000 } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block DS Process Active --> |
| | | </block> |
| | | |
| | | </block> |
| | | |
| | | |
| | | |
| | | <block name="'Block DS Load Data'"> |
| | | <!-- Load the data needed by the test suite --> |
| | | <sequence> |
| | | |
| | | <block name="'Block DS Load Data'"> |
| | | <!-- Load the data needed by the test suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'ACI: ACI Setup: Adding Initial Entries' |
| | | </message> |
| | |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block DS Load Data --> |
| | | </block> |
| | | |
| | | |
| | | <!--- End Block DS Load Data --> |
| | | </block> |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_setup'" /> |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_cleanup'" /> |
| | | |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_setup'" /> |
| | | |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | #@TestScript aci_targetattr.xml |
| | | --> |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_setup'" /> |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_cleanup'" /> |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_setup'" /> |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_cleanup'" /> |
| | | |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_setup'" /> |
| | | |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_setup'" /> |
| | | |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_setup'" /> |
| | | |
| | | |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'aci_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="boolean"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | </function-map-args> |
| | | |
| | | <sequence> |
| | | |
| | |
| | | |
| | | <sequence> |
| | | |
| | | <if expr="stopDS == True"> |
| | | <block name="'Block DS Process Stop'"> |
| | | <if expr="stopDS == True"> |
| | | <block name="'Block DS Process Stop'"> |
| | | <!--- Stop DS --> |
| | | <sequence> |
| | | <sequence> |
| | | <message> |
| | | 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | </sequence> |
| | | <!--- End Block DS Process Stop --> |
| | | </block> |
| | | </if> |
| | | |
| | | |
| | | </if> |
| | | |
| | | |
| | | |
| | | <block name="'Block Remove DS Topology'"> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <sequence> |
| | | |
| | | <block name="'Block Remove DS Topology'"> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Remove DS topology created for the Test Suite' |
| | | </message> |
| | | </message> |
| | | |
| | | <call function="'removeTopology'"/> |
| | | |
| | | <call function="'checkRC'"> |
| | | <call function="'removeTopology'"/> |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!-- End Block Remove DS Topology--> |
| | | </block> |
| | | |
| | | |
| | | |
| | | </sequence> |
| | | <!-- End Block Remove DS Topology--> |
| | | </block> |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="boolean"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="loadBackend" type="optional" default="False"> |
| | | <function-arg-description> |
| | | Specifies whether the backend should be loaded with some data. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="boolean"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <function-arg-def name="loadBackend" type="optional" default="False"> |
| | | <function-arg-description> |
| | | Specifies whether the backend should be loaded with some data. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="boolean"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | | <sequence> |
| | | |
| | | <block name="'setup'"> |
| | | |
| | | <sequence> |
| | | |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | |
| | | |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Create DS topology as described in config.py' |
| | | </message> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : False } |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : False } |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | |
| | | |
| | | |
| | | <if expr="loadBackend == True"> |
| | | <block name="'Block DS Load Data'"> |
| | | <!-- Load the data needed by the test suite --> |
| | | <sequence> |
| | | |
| | | <block name="'Block DS Load Data'"> |
| | | <!-- Load the data needed by the test suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Backend: Backend Setup for Export, Backup, and Restore Tests' |
| | | </message> |
| | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block DS Load Data --> |
| | | </block> |
| | | </if> |
| | | |
| | | |
| | | <if expr="startDS == True"> |
| | | <block name="'Block DS Process Active'"> |
| | | <!--- End Block DS Load Data --> |
| | | </block> |
| | | </if> |
| | | |
| | | |
| | | <if expr="startDS == True"> |
| | | <block name="'Block DS Process Active'"> |
| | | <!--- Start DS --> |
| | | <sequence> |
| | | |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | <call function="'isAlive'"> |
| | | { 'noOfLoops' : 5 , |
| | | 'noOfMilliSeconds' : 2000 } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block DS Process Active --> |
| | | </block> |
| | | </if> |
| | | |
| | | |
| | | |
| | | </block> |
| | | </if> |
| | | |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | <sequence> |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='backends' |
| | | CurrentTestPath['group']='backends' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | <call function="'testSuite_Preamble'"/> |
| | |
| | | --> |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/backends/backend_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'backend_setup'" /> |
| | | <call function="'backend_setup'" /> |
| | | <!--- Test Case information |
| | | #@TestMarker Backend Import Tasks Tests |
| | | #@TestName Import Tasks: LDIF Default |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='backends' |
| | | CurrentTestPath['group']='backends' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/backends/backend_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'backend_setup'"> { 'startDS' : False } </call> |
| | | |
| | | |
| | | |
| | | |
| | | <!--- Test Case information |
| | | #@TestMarker Backend Import Tests |
| | | #@TestName Backend: Import: LDIF Default |
| | |
| | | |
| | | <!-- Need to know what the error codes are --> |
| | | |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/backends/backend_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'backend_cleanup'"> { 'stopDS' : False } </call> |
| | | |
| | | |
| | | <call function="'backend_cleanup'"> { 'stopDS' : False } </call> |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | --> |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/backends/backend_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'backend_setup'"> { 'loadBackend' : True } </call> |
| | | <call function="'backend_setup'"> { 'loadBackend' : True } </call> |
| | | |
| | | <!--- Test Case information |
| | | #@TestMarker Backend Restore Tasks Tests |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='clu' |
| | | CurrentTestPath['group']='clu' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/clu/clu_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'clu_setup'"> |
| | | { 'startDS' : True, |
| | | 'loadBackend' : True } |
| | | </call> |
| | | 'loadBackend' : True } |
| | | </call> |
| | | |
| | | |
| | | <!--- Test Case information |
| | |
| | | </sequence> |
| | | |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/clu/clu_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'clu_cleanup'"> { 'stopDS' : True } </call> |
| | | |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | </block> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='clu' |
| | | CurrentTestPath['group']='clu' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/clu/clu_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'clu_setup'"> |
| | | { 'startDS' : True, |
| | | 'loadBackend' : True } |
| | | </call> |
| | | 'loadBackend' : True } |
| | | </call> |
| | | |
| | | |
| | | <!--- Test Case information |
| | |
| | | </sequence> |
| | | |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/clu/clu_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'clu_cleanup'"> { 'stopDS' : True } </call> |
| | | |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | </block> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='clu' |
| | | CurrentTestPath['group']='clu' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/clu/clu_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'clu_setup'"> |
| | | { 'startDS' : True, |
| | | 'loadBackend' : True } |
| | | </call> |
| | | 'loadBackend' : True } |
| | | </call> |
| | | |
| | | |
| | | <!--- Test Case information |
| | |
| | | |
| | | </sequence> |
| | | |
| | | </testcase> |
| | | </testcase> |
| | | |
| | | <!--- Test Case information |
| | | #@TestMarker Clu Ldap Modify Tests |
| | |
| | | file="'%s/testcases/clu/clu_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'clu_cleanup'"> { 'stopDS' : True } </call> |
| | | |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | </block> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='clu' |
| | | CurrentTestPath['group']='clu' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/clu/clu_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'clu_setup'"> |
| | | { 'startDS' : True, |
| | | 'loadBackend' : True } |
| | | </call> |
| | | 'loadBackend' : True } |
| | | </call> |
| | | |
| | | <!--- Test Case information |
| | | #@TestMarker Clu Ldap Search Tests |
| | |
| | | </sequence> |
| | | |
| | | </testcase> |
| | | |
| | | |
| | | <!--- Test Case information |
| | | #@TestMarker Clu Ldap Search Tests |
| | | #@TestName Clu: Ldap Search: Test Case #2 |
| | |
| | | file="'%s/testcases/clu/clu_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'clu_cleanup'"> { 'stopDS' : True } </call> |
| | | |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | </block> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="boolean"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | </function-map-args> |
| | | |
| | | <sequence> |
| | | |
| | |
| | | |
| | | <sequence> |
| | | |
| | | <if expr="stopDS == True"> |
| | | <block name="'Block DS Process Stop'"> |
| | | <if expr="stopDS == True"> |
| | | <block name="'Block DS Process Stop'"> |
| | | <!--- Stop DS --> |
| | | <sequence> |
| | | <sequence> |
| | | <message> |
| | | 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | </sequence> |
| | | <!--- End Block DS Process Stop --> |
| | | </block> |
| | | </if> |
| | | |
| | | |
| | | </if> |
| | | |
| | | |
| | | |
| | | <block name="'Block Remove DS Topology'"> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <sequence> |
| | | |
| | | <block name="'Block Remove DS Topology'"> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Remove DS topology created for the Test Suite' |
| | | </message> |
| | | </message> |
| | | |
| | | <call function="'removeTopology'"/> |
| | | |
| | | <call function="'checkRC'"> |
| | | <call function="'removeTopology'"/> |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!-- End Block Remove DS Topology--> |
| | | </block> |
| | | |
| | | |
| | | |
| | | </sequence> |
| | | <!-- End Block Remove DS Topology--> |
| | | </block> |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | <block name="'setup'"> |
| | | |
| | | <sequence> |
| | | |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | |
| | | |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Create DS topology as described in config.py' |
| | | </message> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : True } |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : True } |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | |
| | | |
| | | <block name="'Block DS Process Active'"> |
| | | <block name="'Block DS Process Active'"> |
| | | <!--- Start DS --> |
| | | <sequence> |
| | | |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | <call function="'isAlive'"> |
| | | { 'noOfLoops' : 5 , |
| | | 'noOfMilliSeconds' : 2000 } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block DS Process Active --> |
| | | </block> |
| | | |
| | | </block> |
| | | |
| | | |
| | | <block name="'Block DS Load Data'"> |
| | | <!-- Load the data needed by the test suite --> |
| | | <sequence> |
| | | |
| | | <!-- Load the data needed by the test suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Add many entries needed for Testcase 18 in cluSearch tests' |
| | | </message> |
| | |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | |
| | | |
| | | |
| | | </sequence> |
| | | <!-- End Block DS Load Data --> |
| | | |
| | | </sequence> |
| | | <!-- End Block DS Load Data --> |
| | | </block> |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="boolean"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="loadBackend" type="optional" default="False"> |
| | | <function-arg-description> |
| | | Specifies whether the backend should be loaded with some data. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="boolean"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <function-arg-def name="loadBackend" type="optional" default="False"> |
| | | <function-arg-description> |
| | | Specifies whether the backend should be loaded with some data. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="boolean"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | | <sequence> |
| | | |
| | | <block name="'setup'"> |
| | | |
| | | <sequence> |
| | | |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | |
| | | |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Create DS topology as described in config.py' |
| | | </message> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : True } |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : True } |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | |
| | | |
| | | |
| | | <if expr="loadBackend == True"> |
| | | <block name="'Block DS Load Data'"> |
| | | <!-- Load the data needed by the test suite --> |
| | | <sequence> |
| | | |
| | | <block name="'Block DS Load Data'"> |
| | | <!-- Load the data needed by the test suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Clu: Clu Setup for cluSearch, cluModify, cluDelete, and cluCompare Tests' |
| | | </message> |
| | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block DS Load Data --> |
| | | </block> |
| | | </if> |
| | | |
| | | |
| | | <if expr="startDS == True"> |
| | | <block name="'Block DS Process Active'"> |
| | | <!--- End Block DS Load Data --> |
| | | </block> |
| | | </if> |
| | | |
| | | |
| | | <if expr="startDS == True"> |
| | | <block name="'Block DS Process Active'"> |
| | | <!--- Start DS --> |
| | | <sequence> |
| | | |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | <call function="'isAlive'"> |
| | | { 'noOfLoops' : 5 , |
| | | 'noOfMilliSeconds' : 2000 } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | </sequence> |
| | | |
| | | <!--- End Block DS Process Active --> |
| | | </block> |
| | | </if> |
| | | |
| | | |
| | | |
| | | </block> |
| | | </if> |
| | | |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | </script> |
| | | |
| | | <call function="'testGroup_Preamble'"/> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/clu/cluSearch.xml' % (TESTS_DIR)"/> |
| | | <call function="'main_cluSearch'" /> |
| | | |
| | | |
| | | <!-- <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/clu/cluModify.xml' % (TESTS_DIR)"/> |
| | | <call function="'main_cluModify'" /> --> |
| | | |
| | | |
| | | <!-- <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/clu/cluCompare.xml' % (TESTS_DIR)"/> |
| | | <call function="'main_cluCompare'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/clu/cluDelete.xml' % (TESTS_DIR)"/> |
| | | <call function="'main_cluDelete'" /> --> |
| | | |
| | | |
| | | <call function="'testGroup_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsBaseDN' : 'cn=version,cn=monitor', |
| | | 'dsFilter' : '|' , |
| | | 'extraParams' : '' |
| | | 'extraParams' : '' |
| | | } |
| | | </call> |
| | | <call function="'checktestRC'"> |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com', |
| | | 'dsFilter' : 'objectclass=*', |
| | | 'extraParams' : '' |
| | | 'extraParams' : '' |
| | | } |
| | | </call> |
| | | <call function="'checktestRC'"> |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com', |
| | | 'dsFilter' : 'objectclass=*', |
| | | 'extraParams' : '-z 150', |
| | | 'extraParams' : '-z 150', |
| | | 'expectedRC' : 4 |
| | | } |
| | | </call> |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com', |
| | | 'dsFilter' : 'objectclass=*', |
| | | 'extraParams' : '-z 151' |
| | | 'extraParams' : '-z 151' |
| | | } |
| | | </call> |
| | | <call function="'checktestRC'"> |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsBaseDN' : 'o=core tests,dc=example,dc=com', |
| | | 'dsFilter' : 'objectclass=*', |
| | | 'extraParams' : '-l 1', |
| | | 'extraParams' : '-l 1', |
| | | 'expectedRC' : 3 |
| | | } |
| | | </call> |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsBaseDN' : 'o=core tests,dc=example,dc=com', |
| | | 'dsFilter' : 'objectclass=*', |
| | | 'extraParams' : '-l 500' |
| | | 'extraParams' : '-l 500' |
| | | } |
| | | </call> |
| | | <call function="'checktestRC'"> |
| | |
| | | } |
| | | </call> |
| | | </sequence> |
| | | <!--- End Block Create DS Topology --> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | |
| | | <block name="'Block DS Process Active'"> |
| | | <block name="'Block DS Process Active'"> |
| | | <!--- Start DS --> |
| | | <sequence> |
| | | <message> |
| | |
| | | </block> |
| | | |
| | | <block name="'Block DS Load Data'"> |
| | | <!-- Load the data needed by the test suite --> |
| | | <!-- Load the data needed by the test suite --> |
| | | <sequence> |
| | | <message> |
| | | 'Add entries that are required for the Core Tests' |
| | |
| | | |
| | | <sequence> |
| | | |
| | | |
| | | <block name="'Block DS Process Stop'"> |
| | | |
| | | <block name="'Block DS Process Stop'"> |
| | | <!--- Stop DS --> |
| | | <sequence> |
| | | <sequence> |
| | | <message> |
| | | 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | </sequence> |
| | | <!--- End Block DS Process Stop --> |
| | | </block> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <block name="'Block Remove DS Topology'"> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <sequence> |
| | | |
| | | <block name="'Block Remove DS Topology'"> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Remove DS topology created for the Test Suite' |
| | | </message> |
| | | </message> |
| | | |
| | | <call function="'removeTopology'"/> |
| | | |
| | | <call function="'checkRC'"> |
| | | <call function="'removeTopology'"/> |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!-- End Block Remove DS Topology--> |
| | | </block> |
| | | |
| | | |
| | | |
| | | </sequence> |
| | | <!-- End Block Remove DS Topology--> |
| | | </block> |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/dsconfig/dsconfig_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'dsconfig_setup'" /> |
| | | |
| | | |
| | | |
| | | <script> |
| | | componentList = [] |
| | | |
| | |
| | | file="'%s/testcases/dsconfig/dsconfig_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'dsconfig_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['group']='aci' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/dsconfig/dsconfig_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'dsconfig_setup'" /> |
| | | |
| | | |
| | | |
| | | <script> |
| | | componentList = [] |
| | | |
| | |
| | | file="'%s/testcases/dsconfig/dsconfig_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'dsconfig_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | <script> |
| | | CurrentTestPath['group']='dsconfig' |
| | | </script> |
| | | |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | |
| | | |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Create DS topology as described in config.py' |
| | | </message> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : True } |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : True } |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | |
| | | |
| | | <block name="'Block DS Process Active'"> |
| | | <block name="'Block DS Process Active'"> |
| | | <!--- Start DS --> |
| | | <sequence> |
| | | |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | <call function="'isAlive'"> |
| | | { 'noOfLoops' : 5 , |
| | | 'noOfMilliSeconds' : 2000 } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block DS Process Active --> |
| | | </block> |
| | | |
| | | |
| | | </block> |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="boolean"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | </function-map-args> |
| | | |
| | | <sequence> |
| | | |
| | |
| | | |
| | | <sequence> |
| | | |
| | | <if expr="stopDS == True"> |
| | | <block name="'Block DS Process Stop'"> |
| | | <if expr="stopDS == True"> |
| | | <block name="'Block DS Process Stop'"> |
| | | <!--- Stop DS --> |
| | | <sequence> |
| | | <sequence> |
| | | <message> |
| | | '------ Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | </sequence> |
| | | <!--- End Block DS Process Stop --> |
| | | </block> |
| | | </if> |
| | | |
| | | |
| | | </if> |
| | | |
| | | |
| | | |
| | | <block name="'Block Remove DS Topology'"> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <sequence> |
| | | |
| | | <block name="'Block Remove DS Topology'"> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | '------ Remove DS topology created for the Test Suite' |
| | | </message> |
| | | </message> |
| | | |
| | | <call function="'removeTopology'"/> |
| | | |
| | | <call function="'checkRC'"> |
| | | <call function="'removeTopology'"/> |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!-- End Block Remove DS Topology--> |
| | | </block> |
| | | |
| | | |
| | | |
| | | </sequence> |
| | | <!-- End Block Remove DS Topology--> |
| | | </block> |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='groups' |
| | | CurrentTestPath['group']='groups' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | 'dsInstanceDn' : applicationDn , |
| | | 'dsInstancePswd' : applicationPswd , |
| | | 'DNToModify' : user2AddDn , |
| | | 'newRDN' : user2AddRenamed, |
| | | 'deleteOldRDN' : 1 } |
| | | 'newRDN' : user2AddRenamed, |
| | | 'deleteOldRDN' : 1 } |
| | | </call> |
| | | --> |
| | | <!-- ******************** --> |
| | |
| | | 'dsBaseDN' : user2AddDn , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsAttributes' : 'dn', |
| | | 'expectedRC' : 32 } |
| | | 'expectedRC' : 32 } |
| | | </call> |
| | | <!-- ******************** --> |
| | | <message> |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="boolean"/> |
| | | </function-arg-def> |
| | | <function-arg-def name="loadBackend" type="optional" default="True"> |
| | | <function-arg-description> |
| | | Specifies whether the backend should be loaded with some data. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="boolean"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | | |
| | | <function-arg-def name="loadBackend" type="optional" default="True"> |
| | | <function-arg-description> |
| | | Specifies whether the backend should be loaded with some data. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="boolean"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | | |
| | | <sequence> |
| | | |
| | | <block name="'setup'"> |
| | | <sequence> |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | <message> |
| | | '------ Create DS topology as described in config.py' |
| | | </message> |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : False } |
| | | </call> |
| | | <call function="'checkRC'"> |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : False } |
| | | </call> |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | |
| | | <if expr="loadBackend == True"> |
| | | <block name="'Block DS Load Data'"> |
| | | <!-- Load the data needed by the test suite --> |
| | | <sequence> |
| | | <!-- Load the data needed by the test suite --> |
| | | <sequence> |
| | | <message> |
| | | '------ Load LDIF : groups.ldif' |
| | | </message> |
| | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | </call> |
| | | </sequence> |
| | | <!--- End Block DS Load Data --> |
| | | </block> |
| | | </if> |
| | | <!--- End Block DS Load Data --> |
| | | </block> |
| | | </if> |
| | | |
| | | <if expr="startDS == True"> |
| | | <block name="'Block DS Process Active'"> |
| | | <!--- Start DS --> |
| | | <sequence> |
| | | <if expr="startDS == True"> |
| | | <block name="'Block DS Process Active'"> |
| | | <!--- Start DS --> |
| | | <sequence> |
| | | <message> |
| | | '------ Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | | <!--- Start DS --> |
| | | <call function="'StartDsWithScript'"> |
| | | { 'location' : STAF_REMOTE_HOSTNAME } |
| | | { 'location' : STAF_REMOTE_HOSTNAME } |
| | | </call> |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | |
| | | </call> |
| | | <!--- Check that DS started --> |
| | | <call function="'isAlive'"> |
| | | { 'noOfLoops' : 5 , |
| | | 'noOfMilliSeconds' : 2000 } |
| | | </call> |
| | | </sequence> |
| | | <!--- End Block DS Process Active --> |
| | | </block> |
| | | </if> |
| | | </sequence> |
| | | { 'noOfLoops' : 5 , |
| | | 'noOfMilliSeconds' : 2000 } |
| | | </call> |
| | | </sequence> |
| | | <!--- End Block DS Process Active --> |
| | | </block> |
| | | </if> |
| | | </sequence> |
| | | </block> |
| | | </sequence> |
| | | </function> |
| | | </function> |
| | | |
| | | </stax> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='groups' |
| | | CurrentTestPath['group']='groups' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='groups' |
| | | CurrentTestPath['group']='groups' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | 'dsBaseDN' : newStaticGroupDn , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsAttributes' : 'uniquemember', |
| | | 'expectedRC' : 32 } |
| | | 'expectedRC' : 32 } |
| | | </call> |
| | | <call function="'CheckIsMemberOf'"> |
| | | { 'baseDn' : user11Dn , |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='groups' |
| | | CurrentTestPath['group']='groups' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | 'dsInstanceDn' : applicationDn , |
| | | 'dsInstancePswd' : applicationPswd , |
| | | 'DNToModify' : user2AddDn , |
| | | 'newRDN' : user2AddRenamed, |
| | | 'deleteOldRDN' : 1 } |
| | | 'newRDN' : user2AddRenamed, |
| | | 'deleteOldRDN' : 1 } |
| | | </call> |
| | | --> |
| | | <!-- ******************** --> |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : 'ou=People,dc=example,%s' % DIRECTORY_INSTANCE_SFX , |
| | | 'dsFilter' : '%s' % test.getFilter() , |
| | | 'attributes' : 'debugsearchindex' , |
| | | 'attributes' : 'debugsearchindex' , |
| | | 'expectedRC' : 'noCheck' } |
| | | </call> |
| | | <script> |
| | |
| | | <sequence> |
| | | |
| | | <script> |
| | | CurrentTestPath['group']='logging' |
| | | CurrentTestPath['group']='logging' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | | <call function="'testSuite_Preamble'"/> |
| | | |
| | | |
| | | <import machine="'%s' % (STAF_LOCAL_HOSTNAME)" |
| | | file="'%s/testcases/logging/logging_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'logging_setup'"/> |
| | |
| | | <import machine="'%s' % STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/logging/logging_rotation.xml' % (TESTS_DIR)"/> |
| | | <call function="'logging_rotation'" /> |
| | | |
| | | |
| | | <import machine="'%s' % STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/logging/logging_properties.xml' % (TESTS_DIR)"/> |
| | | <call function="'logging_properties'" /> |
| | | |
| | | <import machine="'%s' % STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/logging/logging_writer.xml' % (TESTS_DIR)"/> |
| | | <call function="'logging_writer'" /> |
| | | |
| | | <call function="'logging_writer'" /> |
| | | |
| | | <import machine="'%s' % STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/logging/logging_retention.xml' % (TESTS_DIR)"/> |
| | | <call function="'logging_retention'" /> |
| | | |
| | | |
| | | <import machine="'%s' % (STAF_LOCAL_HOSTNAME)" |
| | | file="'%s/testcases/logging/logging_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'logging_cleanup'"/> |
| | | |
| | | <call function="'logging_cleanup'"/> |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <sequence> |
| | | |
| | | |
| | | <block name="'Block DS Process Stop'"> |
| | | |
| | | <block name="'Block DS Process Stop'"> |
| | | <!--- Stop DS --> |
| | | <sequence> |
| | | <sequence> |
| | | <message> |
| | | 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | </sequence> |
| | | <!--- End Block DS Process Stop --> |
| | | </block> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <block name="'Block Remove DS Topology'"> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <sequence> |
| | | |
| | | <block name="'Block Remove DS Topology'"> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Remove DS topology created for the Test Suite' |
| | | </message> |
| | | </message> |
| | | |
| | | <call function="'removeTopology'"/> |
| | | |
| | | <call function="'checkRC'"> |
| | | <call function="'removeTopology'"/> |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!-- End Block Remove DS Topology--> |
| | | </block> |
| | | |
| | | |
| | | |
| | | </sequence> |
| | | <!-- End Block Remove DS Topology--> |
| | | </block> |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | |
| | | <!--- Test Case : access logger --> |
| | | <!--- |
| | | #@TestMarker access logger |
| | | #@TestName access logger properties check |
| | | #@TestIssue |
| | | #@TestPurpose check the access logger properties. |
| | | #@TestPreamble none |
| | | #@TestStep Check the Access Logger's properties are correctly set and get using dsconfig |
| | | #@TestStep Set a property |
| | | #@TestMarker access logger |
| | | #@TestName access logger properties check |
| | | #@TestIssue |
| | | #@TestPurpose check the access logger properties. |
| | | #@TestPreamble none |
| | | #@TestStep Check the Access Logger's properties are correctly set and get using dsconfig |
| | | #@TestStep Set a property |
| | | #@TestStep Get the property and check it has been correctly updated |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | --> |
| | | |
| | | |
| | | |
| | | <testcase name="'logging : properties checks: Access logger '"> |
| | | |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | <message> |
| | | '---- Check the Access logger s properties -----' |
| | | </message> |
| | | </message> |
| | | |
| | | <!-- create a logger publisher--> |
| | | <message>'------ create logger publisher --' </message> |
| | | |
| | | <!-- DESACTRIVATED : bug 2107]--> |
| | | <call function="'testFailed'"/> |
| | | <script> |
| | | bug=2107 |
| | | </script> |
| | | <if expr="bug == 0"> |
| | | <sequence> |
| | | <!-- create a logger publisher--> |
| | | <message>'------ create logger publisher --' </message> |
| | | |
| | | <!-- DESACTRIVATED : bug 2107]--> |
| | | <call function="'testFailed'"/> |
| | | <script> |
| | | bug=2107 |
| | | </script> |
| | | <if expr="bug == 0"> |
| | | <sequence> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'create-log-publisher' , |
| | | 'subcommand' : 'create-log-publisher' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--type file-based-access --set asynchronous:false --set log-file-mode:555 --set log-file:logs/access --set enabled:true ', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | </sequence> |
| | | </if> |
| | | |
| | | <!-- auto-flush --> |
| | | <message>'------ set auto-flush to true --' </message> |
| | | </call> |
| | | </sequence> |
| | | </if> |
| | | |
| | | <!-- auto-flush --> |
| | | <message>'------ set auto-flush to true --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--set auto-flush:true', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get auto-flush --' </message> |
| | | <message>'------ get auto-flush --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'File-Based Access Logger', |
| | | 'attributeName' : 'auto-flush', |
| | | 'expectedAttributeValue' : 'true' } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- append --> |
| | | <message>'------ set append to false --' </message> |
| | | <!-- append --> |
| | | <message>'------ set append to false --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--set append:false', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get append --' </message> |
| | | </call> |
| | | <message>'------ get append --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'File-Based Access Logger', |
| | | 'attributeName' : 'append', |
| | | 'expectedAttributeValue' : 'false' } |
| | | </call> |
| | | |
| | | <!-- asynchronous --> |
| | | <message>'------ set asynchronous to true --' </message> |
| | | </call> |
| | | |
| | | <!-- asynchronous --> |
| | | <message>'------ set asynchronous to true --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--set asynchronous:true', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get asynchronous --' </message> |
| | | </call> |
| | | <message>'------ get asynchronous --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'File-Based Access Logger', |
| | | 'attributeName' : 'asynchronous', |
| | | 'expectedAttributeValue' : 'true' } |
| | | </call> |
| | | |
| | | <!-- buffer-size --> |
| | | <message>'------ set buffer-size to 10mb --' </message> |
| | | </call> |
| | | |
| | | <!-- buffer-size --> |
| | | <message>'------ set buffer-size to 10mb --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--set buffer-size:10mb', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get buffer-size --' </message> |
| | | </call> |
| | | <message>'------ get buffer-size --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'File-Based Access Logger', |
| | | 'attributeName' : 'buffer-size', |
| | | 'expectedAttributeValue' : '10 mb' } |
| | | </call> |
| | | |
| | | <!-- time-interval --> |
| | | <message>'------ set time-interval to 3m --' </message> |
| | | </call> |
| | | |
| | | <!-- time-interval --> |
| | | <message>'------ set time-interval to 3m --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--set time-interval:3m', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get time-interval --' </message> |
| | | </call> |
| | | <message>'------ get time-interval --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyType' : 'publisher' , |
| | | 'propertyName' : 'File-Based Access Logger', |
| | | 'attributeName' : 'time-interval', |
| | | 'extraParams' : '-M s', |
| | | 'extraParams' : '-M s', |
| | | 'expectedAttributeValue' : '180 s' } |
| | | </call> |
| | | |
| | | <!-- log-file --> |
| | | <message>'------ set log-file to logs/testaccess --' </message> |
| | | </call> |
| | | |
| | | <!-- log-file --> |
| | | <message>'------ set log-file to logs/testaccess --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--set log-file:logs/testaccess', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get log-file --' </message> |
| | | </call> |
| | | <message>'------ get log-file --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'File-Based Access Logger', |
| | | 'attributeName' : 'log-file', |
| | | 'expectedAttributeValue' : 'logs/testaccess' } |
| | | </call> |
| | | <!-- log-file --> |
| | | <message>'------ set log-file to logs/access --' </message> |
| | | </call> |
| | | <!-- log-file --> |
| | | <message>'------ set log-file to logs/access --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--set log-file:logs/access', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <!-- log-file-mode --> |
| | | <message>'------ set log-file-mode to 777 --' </message> |
| | | </call> |
| | | |
| | | <!-- log-file-mode --> |
| | | <message>'------ set log-file-mode to 777 --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--set log-file-mode:777', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get log-file-mode --' </message> |
| | | </call> |
| | | <message>'------ get log-file-mode --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'File-Based Access Logger', |
| | | 'attributeName' : 'log-file-mode', |
| | | 'expectedAttributeValue' : '777' } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- queue-size --> |
| | | <message>'------ set queue-size to 1000 --' </message> |
| | | <!-- queue-size --> |
| | | <message>'------ set queue-size to 1000 --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--set queue-size:1000', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get queue-size --' </message> |
| | | </call> |
| | | <message>'------ get queue-size --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'File-Based Access Logger', |
| | | 'attributeName' : 'queue-size', |
| | | 'expectedAttributeValue' : '1000' } |
| | | </call> |
| | | |
| | | <!-- suppress-synchronization-operations --> |
| | | <message>'------ set suppress-synchronization-operations to 1000 --' </message> |
| | | </call> |
| | | |
| | | <!-- suppress-synchronization-operations --> |
| | | <message>'------ set suppress-synchronization-operations to 1000 --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--set suppress-synchronization-operations:true', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get suppress-synchronization-operations --' </message> |
| | | </call> |
| | | <message>'------ get suppress-synchronization-operations --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'File-Based Access Logger', |
| | | 'attributeName' : 'suppress-synchronization-operations', |
| | | 'expectedAttributeValue' : 'true' } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | |
| | | <!-- suppress-internal-operations --> |
| | | <message>'------ set suppress-internal-operations to false --' </message> |
| | | <!-- suppress-internal-operations --> |
| | | <message>'------ set suppress-internal-operations to false --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--set suppress-internal-operations:false', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get suppress-synchronization-operations --' </message> |
| | | </call> |
| | | <message>'------ get suppress-synchronization-operations --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'File-Based Access Logger', |
| | | 'attributeName' : 'suppress-internal-operations', |
| | | 'expectedAttributeValue' : 'false' } |
| | | </call> |
| | | |
| | | <!-- delete a logger publisher--> |
| | | <if expr="bug == 0"> |
| | | <sequence> |
| | | <message>'------ delete logger publisher --' </message> |
| | | </call> |
| | | |
| | | <!-- delete a logger publisher--> |
| | | <if expr="bug == 0"> |
| | | <sequence> |
| | | <message>'------ delete logger publisher --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'delete-log-publisher' , |
| | | 'subcommand' : 'delete-log-publisher' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | </sequence> |
| | | </if> |
| | | </call> |
| | | </sequence> |
| | | </if> |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | <!--- Test Case : Error logger --> |
| | | <!--- |
| | | #@TestMarker error logger |
| | | #@TestName error logger properties check |
| | | #@TestIssue |
| | | #@TestPurpose check the error logger properties. |
| | | #@TestPreamble none |
| | | #@TestStep Check the error Logger's properties are correctly set and get using dsconfig |
| | | #@TestStep Set a property |
| | | #@TestMarker error logger |
| | | #@TestName error logger properties check |
| | | #@TestIssue |
| | | #@TestPurpose check the error logger properties. |
| | | #@TestPreamble none |
| | | #@TestStep Check the error Logger's properties are correctly set and get using dsconfig |
| | | #@TestStep Set a property |
| | | #@TestStep Get the property and check it has been correctly updated |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | --> |
| | | |
| | | |
| | | <testcase name="'logging : properties checks: Error logger '"> |
| | | |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | <message> |
| | | '---- Check the Error logger s properties -----' |
| | | </message> |
| | | </message> |
| | | |
| | | |
| | | <!-- default-severity --> |
| | | <message>'------ set default-severity to mild-error --' </message> |
| | | |
| | | <!-- default-severity --> |
| | | <message>'------ set default-severity to mild-error --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Error Logger', |
| | | 'optionsString' : '--set default-severity:mild-error', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get default-severity --' </message> |
| | | <message>'------ get default-severity --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'File-Based Error Logger', |
| | | 'attributeName' : 'default-severity', |
| | | 'expectedAttributeValue' : 'mild-error' } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- override-severity --> |
| | | <message>'------ set override-severity --' </message> |
| | | <!-- override-severity --> |
| | | <message>'------ set override-severity --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Error Logger', |
| | | 'optionsString' : '--set "override-severity:request=info,schema"', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get override-severity --' </message> |
| | | </call> |
| | | <message>'------ get override-severity --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'File-Based Error Logger', |
| | | 'attributeName' : 'override-severity', |
| | | 'expectedAttributeValue' : 'request=info,schema' } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | |
| | | |
| | | <!--- Test Case : Debug logger --> |
| | | <!--- |
| | | #@TestMarker Debug logger |
| | | #@TestName Debug logger properties check |
| | | #@TestIssue |
| | | #@TestPurpose check the Debug logger properties. |
| | | #@TestPreamble none |
| | | #@TestStep Check the Debug Logger's properties are correctly set and get using dsconfig |
| | | #@TestStep Set a property |
| | | #@TestMarker Debug logger |
| | | #@TestName Debug logger properties check |
| | | #@TestIssue |
| | | #@TestPurpose check the Debug logger properties. |
| | | #@TestPreamble none |
| | | #@TestStep Check the Debug Logger's properties are correctly set and get using dsconfig |
| | | #@TestStep Set a property |
| | | #@TestStep Get the property and check it has been correctly updated |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | --> |
| | | |
| | | |
| | | <testcase name="'logging : properties checks: Debug logger '"> |
| | | |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | <message> |
| | | '---- Check the Debug loggers properties -----' |
| | | </message> |
| | | |
| | | <!-- default-debug-category --> |
| | | <message>'------ set default-debug-category --' </message> |
| | | </message> |
| | | |
| | | <!-- default-debug-category --> |
| | | <message>'------ set default-debug-category --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Debug Logger', |
| | | 'optionsString' : '--set default-debug-category:thrown', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get default-debug-category --' </message> |
| | | <message>'------ get default-debug-category --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'File-Based Debug Logger', |
| | | 'attributeName' : 'default-debug-category', |
| | | 'expectedAttributeValue' : 'thrown' } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- default-debug-level --> |
| | | <message>'------ set default-debug-level --' </message> |
| | | <!-- default-debug-level --> |
| | | <message>'------ set default-debug-level --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Debug Logger', |
| | | 'optionsString' : '--set default-debug-level:verbose', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get default-debug-level --' </message> |
| | | </call> |
| | | <message>'------ get default-debug-level --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'File-Based Debug Logger', |
| | | 'attributeName' : 'default-debug-level', |
| | | 'expectedAttributeValue' : 'verbose' } |
| | | </call> |
| | | </call> |
| | | |
| | | |
| | | <!-- default-include-throwable-cause --> |
| | | <message>'------ set default-include-throwable-cause --' </message> |
| | | <!-- default-include-throwable-cause --> |
| | | <message>'------ set default-include-throwable-cause --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Debug Logger', |
| | | 'optionsString' : '--set default-include-throwable-cause:true', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get default-include-throwable-cause --' </message> |
| | | </call> |
| | | <message>'------ get default-include-throwable-cause --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'File-Based Debug Logger', |
| | | 'attributeName' : 'default-include-throwable-cause', |
| | | 'expectedAttributeValue' : 'true' } |
| | | </call> |
| | | </call> |
| | | |
| | | |
| | | <!-- default-omit-method-entry-arguments --> |
| | | <message>'------ set default-omit-method-entry-arguments --' </message> |
| | | <!-- default-omit-method-entry-arguments --> |
| | | <message>'------ set default-omit-method-entry-arguments --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Debug Logger', |
| | | 'optionsString' : '--set default-omit-method-entry-arguments:true', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get default-omit-method-entry-arguments --' </message> |
| | | </call> |
| | | <message>'------ get default-omit-method-entry-arguments --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'File-Based Debug Logger', |
| | | 'attributeName' : 'default-omit-method-entry-arguments', |
| | | 'expectedAttributeValue' : 'true' } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | |
| | | <!-- default-omit-method-return-value --> |
| | | <message>'------ set default-include-throwable-cause --' </message> |
| | | <!-- default-omit-method-return-value --> |
| | | <message>'------ set default-include-throwable-cause --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Debug Logger', |
| | | 'optionsString' : '--set default-omit-method-return-value:true', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get default-omit-method-return-value --' </message> |
| | | </call> |
| | | <message>'------ get default-omit-method-return-value --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'File-Based Debug Logger', |
| | | 'attributeName' : 'default-omit-method-return-value', |
| | | 'expectedAttributeValue' : 'true' } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | |
| | | <!-- default-throwable-stack-frames --> |
| | | <message>'------ set default-throwable-stack-frames --' </message> |
| | | <!-- default-throwable-stack-frames --> |
| | | <message>'------ set default-throwable-stack-frames --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Debug Logger', |
| | | 'optionsString' : '--set default-throwable-stack-frames:2', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get default-throwable-stack-frames --' </message> |
| | | </call> |
| | | <message>'------ get default-throwable-stack-frames --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'File-Based Debug Logger', |
| | | 'attributeName' : 'default-throwable-stack-frames', |
| | | 'expectedAttributeValue' : '2' } |
| | | </call> |
| | | </call> |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | </testcase> |
| | | |
| | | <!--- Test Case : Rotation policy --> |
| | | <!--- |
| | | #@TestMarker Rotation policy |
| | | #@TestName Check dsconfig properties of Rotation policy |
| | | #@TestIssue |
| | | #@TestPurpose check the rotation policy properties. |
| | | #@TestPreamble none |
| | | #@TestStep Check the rotation policy's properties are correctly set and get using dsconfig |
| | | #@TestStep Set a property |
| | | #@TestMarker Rotation policy |
| | | #@TestName Check dsconfig properties of Rotation policy |
| | | #@TestIssue |
| | | #@TestPurpose check the rotation policy properties. |
| | | #@TestPreamble none |
| | | #@TestStep Check the rotation policy's properties are correctly set and get using dsconfig |
| | | #@TestStep Set a property |
| | | #@TestStep Get the property and check it has been correctly updated |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | --> |
| | | |
| | | |
| | | |
| | | <testcase name="'logging : properties checks: Rotation policy '"> |
| | | |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | <message> |
| | | '---- Check the Rotation policy properties -----' |
| | | </message> |
| | | |
| | | |
| | | <!-- create-log-rotation-policy with the type size-limit --> |
| | | <message>'------ create a size limit rotation policy --' </message> |
| | | </message> |
| | | |
| | | |
| | | <!-- create-log-rotation-policy with the type size-limit --> |
| | | <message>'------ create a size limit rotation policy --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'create-log-rotation-policy' , |
| | | 'subcommand' : 'create-log-rotation-policy' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my size rotation policy', |
| | | 'optionsString' : '--type size-limit --set file-size-limit:5mb', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <message>'------ get file-size-limit --' </message> |
| | | |
| | | |
| | | <message>'------ get file-size-limit --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'my size rotation policy', |
| | | 'attributeName' : 'file-size-limit', |
| | | 'expectedAttributeValue' : '5 mb' } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- set file-size-limit --> |
| | | <message>'------ set file-size-limit to 6kb --' </message> |
| | | <!-- set file-size-limit --> |
| | | <message>'------ set file-size-limit to 6kb --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-rotation-policy-prop' , |
| | | 'subcommand' : 'set-log-rotation-policy-prop' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my size rotation policy', |
| | | 'optionsString' : '--set file-size-limit:5kb', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get file-size-limit --' </message> |
| | | </call> |
| | | <message>'------ get file-size-limit --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'my size rotation policy', |
| | | 'attributeName' : 'file-size-limit', |
| | | 'expectedAttributeValue' : '5 kb' } |
| | | </call> |
| | | |
| | | <message>'------ delete a size limit rotation policy --' </message> |
| | | </call> |
| | | |
| | | <message>'------ delete a size limit rotation policy --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'delete-log-rotation-policy' , |
| | | 'subcommand' : 'delete-log-rotation-policy' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my size rotation policy', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <!-- ################################--> |
| | | <!-- create-log-rotation-policy with the type time-limit --> |
| | | <message>'------ create a time limit rotation policy --' </message> |
| | | |
| | | <!-- ################################--> |
| | | <!-- create-log-rotation-policy with the type time-limit --> |
| | | <message>'------ create a time limit rotation policy --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'create-log-rotation-policy' , |
| | | 'subcommand' : 'create-log-rotation-policy' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my time rotation policy', |
| | | 'optionsString' : '--type time-limit --set rotation-interval:3d', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <message>'------ get rotation-interval --' </message> |
| | | |
| | | <message>'------ get rotation-interval --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyType' : 'policy' , |
| | | 'propertyName' : 'my time rotation policy', |
| | | 'attributeName' : 'rotation-interval', |
| | | 'extraParams' : '-M d', |
| | | 'extraParams' : '-M d', |
| | | 'expectedAttributeValue' : '3 d' } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- set rotation-interval --> |
| | | <message>'------ set rotation-interval to 3s --' </message> |
| | | <!-- set rotation-interval --> |
| | | <message>'------ set rotation-interval to 3s --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-rotation-policy-prop' , |
| | | 'subcommand' : 'set-log-rotation-policy-prop' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my time rotation policy', |
| | | 'optionsString' : '--set rotation-interval:3s', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get rotation-interval --' </message> |
| | | </call> |
| | | <message>'------ get rotation-interval --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyType' : 'policy' , |
| | | 'propertyName' : 'my time rotation policy', |
| | | 'attributeName' : 'rotation-interval', |
| | | 'extraParams' : '-M s', |
| | | 'extraParams' : '-M s', |
| | | 'expectedAttributeValue' : '3 s' } |
| | | </call> |
| | | </call> |
| | | |
| | | <message>'------ delete a time limit rotation policy --' </message> |
| | | <message>'------ delete a time limit rotation policy --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'delete-log-rotation-policy' , |
| | | 'subcommand' : 'delete-log-rotation-policy' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my time rotation policy', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <!-- ################################--> |
| | | <!-- create-log-rotation-policy with the type fixed-time --> |
| | | <message>'------ create a fixed time limit rotation policy --' </message> |
| | | |
| | | <!-- ################################--> |
| | | <!-- create-log-rotation-policy with the type fixed-time --> |
| | | <message>'------ create a fixed time limit rotation policy --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'create-log-rotation-policy' , |
| | | 'subcommand' : 'create-log-rotation-policy' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my fixedtime rotation policy', |
| | | 'optionsString' : '--type fixed-time --set time-of-day:1203', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <message>'------ get time-of-day --' </message> |
| | | |
| | | <message>'------ get time-of-day --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'my fixedtime rotation policy', |
| | | 'attributeName' : 'time-of-day', |
| | | 'expectedAttributeValue' : '1203' } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- set time-of-day --> |
| | | <message>'------ set time-of-day to 3s --' </message> |
| | | <!-- set time-of-day --> |
| | | <message>'------ set time-of-day to 3s --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-rotation-policy-prop' , |
| | | 'subcommand' : 'set-log-rotation-policy-prop' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my fixedtime rotation policy', |
| | | 'optionsString' : '--set time-of-day:0934', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get time-of-day --' </message> |
| | | </call> |
| | | <message>'------ get time-of-day --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'my fixedtime rotation policy', |
| | | 'attributeName' : 'time-of-day', |
| | | 'expectedAttributeValue' : '0934' } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- delete-log-rotation-policy with the type fixed-time --> |
| | | <message>'------ delete a fixed time limit rotation policy --' </message> |
| | | <!-- delete-log-rotation-policy with the type fixed-time --> |
| | | <message>'------ delete a fixed time limit rotation policy --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'delete-log-rotation-policy' , |
| | | 'subcommand' : 'delete-log-rotation-policy' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my fixedtime rotation policy', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | |
| | | |
| | | <!--- Test Case : Retention policy --> |
| | | <!--- |
| | | #@TestMarker retention policy |
| | | #@TestName Check dsconfig properties of retention policy |
| | | #@TestIssue |
| | | #@TestPurpose check the retention policy properties. |
| | | #@TestPreamble none |
| | | #@TestStep Check the retention policy's properties are correctly set and get using dsconfig |
| | | #@TestStep Set a property |
| | | #@TestMarker retention policy |
| | | #@TestName Check dsconfig properties of retention policy |
| | | #@TestIssue |
| | | #@TestPurpose check the retention policy properties. |
| | | #@TestPreamble none |
| | | #@TestStep Check the retention policy's properties are correctly set and get using dsconfig |
| | | #@TestStep Set a property |
| | | #@TestStep Get the property and check it has been correctly updated |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | --> |
| | | |
| | | |
| | | |
| | | <testcase name="'logging : properties checks: retention policy '"> |
| | | |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | <message> |
| | | '---- Check the retention policy properties -----' |
| | | </message> |
| | | |
| | | |
| | | <!-- create-log-retention-policy with the type size-limit --> |
| | | <message>'------ create a size limit retention policy --' </message> |
| | | </message> |
| | | |
| | | |
| | | <!-- create-log-retention-policy with the type size-limit --> |
| | | <message>'------ create a size limit retention policy --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'create-log-retention-policy' , |
| | | 'subcommand' : 'create-log-retention-policy' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my size retention policy', |
| | | 'optionsString' : '--type size-limit --set disk-space-used:5mb', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <message>'------ get file-size-limit --' </message> |
| | | |
| | | |
| | | <message>'------ get file-size-limit --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'my size retention policy', |
| | | 'attributeName' : 'disk-space-used', |
| | | 'expectedAttributeValue' : '5 mb' } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- set disk-space-used --> |
| | | <message>'------ set file-size-limit to 5kb --' </message> |
| | | <!-- set disk-space-used --> |
| | | <message>'------ set file-size-limit to 5kb --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-retention-policy-prop' , |
| | | 'subcommand' : 'set-log-retention-policy-prop' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my size retention policy', |
| | | 'optionsString' : '--set disk-space-used:5kb', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get disk-space-used --' </message> |
| | | </call> |
| | | <message>'------ get disk-space-used --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'my size retention policy', |
| | | 'attributeName' : 'disk-space-used', |
| | | 'expectedAttributeValue' : '5 kb' } |
| | | </call> |
| | | |
| | | <message>'------ delete a size limit retention policy --' </message> |
| | | </call> |
| | | |
| | | <message>'------ delete a size limit retention policy --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'delete-log-retention-policy' , |
| | | 'subcommand' : 'delete-log-retention-policy' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my size retention policy', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <!-- ################################--> |
| | | <!-- create-log-retention-policy with the type free-disk-space --> |
| | | <message>'------ create a free-disk-space limit retention policy --' </message> |
| | | |
| | | <!-- ################################--> |
| | | <!-- create-log-retention-policy with the type free-disk-space --> |
| | | <message>'------ create a free-disk-space limit retention policy --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'create-log-retention-policy' , |
| | | 'subcommand' : 'create-log-retention-policy' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my free-disk-space retention policy', |
| | | 'optionsString' : '--type free-disk-space --set free-disk-space:6Gb', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <message>'------ get free_disk-space --' </message> |
| | | |
| | | <message>'------ get free_disk-space --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'my free-disk-space retention policy', |
| | | 'attributeName' : 'free-disk-space', |
| | | 'expectedAttributeValue' : '6 gb' } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- set free_disk-space --> |
| | | <message>'------ set free_disk-space to 4mb --' </message> |
| | | <!-- set free_disk-space --> |
| | | <message>'------ set free_disk-space to 4mb --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-retention-policy-prop' , |
| | | 'subcommand' : 'set-log-retention-policy-prop' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my free-disk-space retention policy', |
| | | 'optionsString' : '--set free-disk-space:4mb', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get free_disk-space --' </message> |
| | | </call> |
| | | <message>'------ get free_disk-space --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'my free-disk-space retention policy', |
| | | 'attributeName' : 'free-disk-space', |
| | | 'expectedAttributeValue' : '4 mb' } |
| | | </call> |
| | | </call> |
| | | |
| | | <message>'------ delete a free-disk-space retention policy --' </message> |
| | | <message>'------ delete a free-disk-space retention policy --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'delete-log-retention-policy' , |
| | | 'subcommand' : 'delete-log-retention-policy' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my free-disk-space retention policy', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <!-- ################################--> |
| | | <!-- create-log-retention-policy with the type file-count --> |
| | | <message>'------ create a fixed time limit retention policy --' </message> |
| | | |
| | | <!-- ################################--> |
| | | <!-- create-log-retention-policy with the type file-count --> |
| | | <message>'------ create a fixed time limit retention policy --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'create-log-retention-policy' , |
| | | 'subcommand' : 'create-log-retention-policy' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my filecount retention policy', |
| | | 'optionsString' : '--type file-count --set number-of-files:10', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <message>'------ get number-of-files --' </message> |
| | | |
| | | <message>'------ get number-of-files --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'my filecount retention policy', |
| | | 'attributeName' : 'number-of-files', |
| | | 'expectedAttributeValue' : '10' } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- set number-of-files --> |
| | | <message>'------ set number-of-files to 32 --' </message> |
| | | <!-- set number-of-files --> |
| | | <message>'------ set number-of-files to 32 --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-retention-policy-prop' , |
| | | 'subcommand' : 'set-log-retention-policy-prop' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my filecount retention policy', |
| | | 'optionsString' : '--set number-of-files:32', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'------ get number-of-files --' </message> |
| | | </call> |
| | | <message>'------ get number-of-files --' </message> |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | |
| | | 'propertyName' : 'my filecount retention policy', |
| | | 'attributeName' : 'number-of-files', |
| | | 'expectedAttributeValue' : '32' } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- delete-log-retention-policy with the type file-count --> |
| | | <message>'------ delete a fixed file-count retention policy --' </message> |
| | | <!-- delete-log-retention-policy with the type file-count --> |
| | | <message>'------ delete a fixed file-count retention policy --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'delete-log-retention-policy' , |
| | | 'subcommand' : 'delete-log-retention-policy' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my filecount retention policy', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | </testcase> |
| | | |
| | | </sequence> |
| | | </function> |
| | | |
| | | </stax> |
| | | |
| | | |
| | |
| | | |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | <message> |
| | | '---- Check the file count -----' |
| | | </message> |
| | | |
| | | <!-- set the max number of files to keep --> |
| | | <script> |
| | | numberFiles=5 |
| | | maxFiles=6 |
| | | </script> |
| | | </message> |
| | | |
| | | <!-- set the max number of files to keep --> |
| | | <script> |
| | | numberFiles=5 |
| | | maxFiles=6 |
| | | </script> |
| | | |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsFilter' : 'objectclass=*', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsFilter' : 'objectclass=*', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <message>'-- create a new file count retention policy --'</message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | |
| | | 'objectName' : 'my file count retention policy', |
| | | 'optionsString' : '--type file-count --set number-of-files:%s' % (numberFiles), |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <message>'------ Add this retention policy to the Access log publisher --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--add retention-policy-dn:"cn=my file count retention policy,cn=Log Retention Policies,cn=config"', |
| | |
| | | 'objectName' : 'my size Limit Rotation Policy', |
| | | 'optionsString' : '--type size-limit --set file-size-limit:4kb', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <message>'------ Add this rotation policy to the Access log publisher --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--add rotation-policy-dn:"cn=my size Limit Rotation Policy,cn=Log Rotation Policies,cn=config"', |
| | | 'expectedRC' : 0 } |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--add rotation-policy-dn:"cn=my size Limit Rotation Policy,cn=Log Rotation Policies,cn=config"', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--add auto-flush:true --set append:true --set asynchronous:false', |
| | | 'expectedRC' : 0 } |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--add auto-flush:true --set append:true --set asynchronous:false', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <!-- Starting loop --> |
| | | <!-- Starting loop --> |
| | | |
| | | <!-- Execute ldapsearch until we detect a log rotation --> |
| | | <!-- Check the number of logs files never exceed the number-of-files --> |
| | | <!-- Execute ldapsearch until we detect a log rotation --> |
| | | <!-- Check the number of logs files never exceed the number-of-files --> |
| | | <script> |
| | | cpt=0 |
| | | error=0 |
| | | </script> |
| | | |
| | | <loop from="1" to="10" until="error != 0"> |
| | | cpt=0 |
| | | error=0 |
| | | </script> |
| | | |
| | | <loop from="1" to="10" until="error != 0"> |
| | | <sequence> |
| | | <message>'###########################'</message> |
| | | <message>' LOOP %s :' % cpt </message> |
| | | <message>'###########################'</message> |
| | | <message>'--- Execute a Search request ---'</message> |
| | | |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsFilter' : 'objectclass=*', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <message>'###########################'</message> |
| | | <message>' LOOP %s :' % cpt </message> |
| | | <message>'###########################'</message> |
| | | <message>'--- Execute a Search request ---'</message> |
| | | |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsFilter' : 'objectclass=*', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <call function="'listFolder'"> |
| | | { 'location' : '%s' % (DIRECTORY_INSTANCE_HOST), |
| | | 'foldername' : '%s/%s/logs' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME), |
| | | 'filename' : 'access' |
| | | { 'location' : '%s' % (DIRECTORY_INSTANCE_HOST), |
| | | 'foldername' : '%s/%s/logs' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME), |
| | | 'filename' : 'access' |
| | | } |
| | | </call> |
| | | </call> |
| | | |
| | | <if expr="int(len(cmdResult)) > maxFiles"> |
| | | <sequence> |
| | | <script> |
| | | error=1 |
| | | error=1 |
| | | </script> |
| | | <message>'Error, the number of logs files exceed the retention policy'</message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </if> |
| | | |
| | | <script> |
| | | cpt=cpt+1 |
| | | </script> |
| | | <script> |
| | | cpt=cpt+1 |
| | | </script> |
| | | </sequence> |
| | | </loop> |
| | | </loop> |
| | | |
| | | <if expr="error == 0" > |
| | | <sequence> |
| | | <if expr="error == 0" > |
| | | <sequence> |
| | | <message>'SUCCESS: the retention policy has been checked'</message> |
| | | <call function="'testPassed'"/> |
| | | </sequence> |
| | | </if> |
| | | <call function="'testPassed'"/> |
| | | </sequence> |
| | | </if> |
| | | |
| | | <!-- cleanup --> |
| | | <!-- cleanup --> |
| | | <message>'------ remove this rotation policy to the Access log publisher --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--remove rotation-policy-dn:"cn=my size Limit Rotation Policy,cn=Log Rotation Policies,cn=config"', |
| | | 'expectedRC' : 0 } |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--remove rotation-policy-dn:"cn=my size Limit Rotation Policy,cn=Log Rotation Policies,cn=config"', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | <message>'------ remove this retention policy to the Access log publisher --' </message> |
| | | <call function="'dsconfig'"> |
| | |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--remove retention-policy-dn:"cn=my file count retention policy,cn=Log Retention Policies,cn=config"', |
| | |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my file count retention policy', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | </call> |
| | | |
| | | |
| | | <message>'-- delete a new size limit rotation policy --'</message> |
| | |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my size Limit Rotation Policy', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | </sequence> |
| | | </function> |
| | | |
| | | </stax> |
| | | |
| | | |
| | |
| | | |
| | | |
| | | <!--- |
| | | #@TestMarker size limit rotation |
| | | #@TestName size limit rotation |
| | | #@TestIssue Check the size limit rotation policy |
| | | #@TestPreamble none |
| | | #@TestStep Create a new size limit rotation policy |
| | | #@TestMarker size limit rotation |
| | | #@TestName size limit rotation |
| | | #@TestIssue Check the size limit rotation policy |
| | | #@TestPreamble none |
| | | #@TestStep Create a new size limit rotation policy |
| | | #@TestStep Configure the Size Limit rotation policy with a Max size to 4kb |
| | | #@TestStep Execute ldapsearch request until the log are rotate |
| | | #@TestPostamble none |
| | | #@TestResult the logs size must match the rotation size |
| | | #@TestPostamble none |
| | | #@TestResult the logs size must match the rotation size |
| | | --> |
| | | |
| | | |
| | | |
| | | <testcase name="'logging : Rotation policy : size limit '"> |
| | | |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | <message> |
| | | '---- Check the size limit rotation -----' |
| | | </message> |
| | | |
| | | </message> |
| | | |
| | | <message>'-- create a new size limit rotation policy --'</message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | |
| | | 'objectName' : 'my size Limit Rotation Policy', |
| | | 'optionsString' : '--type size-limit --set file-size-limit:4kb', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <message>'------ Add this rotation policy to the Access log publisher --' </message> |
| | | </call> |
| | | |
| | | <message>'------ Add this rotation policy to the Access log publisher --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--add rotation-policy-dn:"cn=my size Limit Rotation Policy,cn=Log Rotation Policies,cn=config"', |
| | |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--add auto-flush:true --set append:true --set asynchronous:false --set buffer-size:64kb', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | </call> |
| | | |
| | | <call function="'dsconfigGet'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | |
| | | 'propertyType' : 'publisher' , |
| | | 'propertyName' : 'File-Based Access Logger', |
| | | 'attributeName' : 'rotation-policy-dn' |
| | | } |
| | | </call> |
| | | |
| | | } |
| | | </call> |
| | | |
| | | |
| | | <call function="'Sleep'"> |
| | | <call function="'Sleep'"> |
| | | { 'sleepForMilliSeconds' : 20000 } |
| | | </call> |
| | | |
| | | <!-- Starting loop --> |
| | | <script> |
| | | </call> |
| | | |
| | | <!-- Starting loop --> |
| | | <script> |
| | | listName=[] |
| | | listSize=[] |
| | | </script> |
| | | <script> |
| | | cpt=0 |
| | | nbLog=0 |
| | | </script> |
| | | <script> |
| | | cpt=0 |
| | | nbLog=0 |
| | | </script> |
| | | <!-- Execute ldapsearch until we detect a log rotation --> |
| | | <!-- Stop when the first rotation is done --> |
| | | |
| | | <loop from="1" to="50" until="RC != 0"> |
| | | <sequence> |
| | | <message>'###########################'</message> |
| | | <message>' LOOP %s :' % cpt </message> |
| | | <message>'###########################'</message> |
| | | <message>'--- Execute a Search request ---'</message> |
| | | <!-- Execute ldapsearch until we detect a log rotation --> |
| | | <!-- Stop when the first rotation is done --> |
| | | |
| | | <loop from="1" to="50" until="RC != 0"> |
| | | <sequence> |
| | | <message>'###########################'</message> |
| | | <message>' LOOP %s :' % cpt </message> |
| | | <message>'###########################'</message> |
| | | <message>'--- Execute a Search request ---'</message> |
| | | |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsFilter' : 'objectclass=*', |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsFilter' : 'objectclass=*', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'propertyType' : 'publisher' , |
| | | 'propertyName' : 'File-Based Access Logger', |
| | | 'attributeName' : 'rotation-policy-dn' |
| | | } |
| | | </call> |
| | | |
| | | <message>'--- Check log files ---'</message> |
| | | } |
| | | </call> |
| | | |
| | | <message>'--- Check log files ---'</message> |
| | | <call function="'listFolder'"> |
| | | { 'location' : '%s' % (DIRECTORY_INSTANCE_HOST), |
| | | 'foldername' : '%s/%s/logs' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME), |
| | | 'filename' : 'access' |
| | | } |
| | | </call> |
| | | |
| | | <if expr="len(cmdResult) > 0"> |
| | | <sequence> |
| | | </call> |
| | | |
| | | <if expr="len(cmdResult) > 0"> |
| | | <sequence> |
| | | <iterate var="result" in="cmdResult"> |
| | | <sequence> |
| | | <script> |
| | | logname=result["name"] |
| | | logsize=result["size"] |
| | | found=0 |
| | | </script> |
| | | <message>'the log file status for file "%s" is %s ' % (logname,logsize)</message> |
| | | <script> |
| | | for currentLog in listName: |
| | | if currentLog == logname: |
| | | found=1 |
| | | currentIndex=listName.index(currentLog) |
| | | currentSize=listSize[currentIndex] |
| | | if currentSize != logsize: |
| | | listSize[currentIndex]=logsize |
| | | <sequence> |
| | | <script> |
| | | logname=result["name"] |
| | | logsize=result["size"] |
| | | found=0 |
| | | </script> |
| | | <message>'the log file status for file "%s" is %s ' % (logname,logsize)</message> |
| | | <script> |
| | | for currentLog in listName: |
| | | if currentLog == logname: |
| | | found=1 |
| | | currentIndex=listName.index(currentLog) |
| | | currentSize=listSize[currentIndex] |
| | | if currentSize != logsize: |
| | | listSize[currentIndex]=logsize |
| | | |
| | | if found == 0: |
| | | if nbLog != 0: |
| | | RC=1 |
| | | newlogName=logname |
| | | newlogSize=logsize |
| | | listName.append(logname) |
| | | listSize.append(logsize) |
| | | </script> |
| | | </sequence> |
| | | </iterate> |
| | | <!-- set nbLog when we find a log file --> |
| | | if found == 0: |
| | | if nbLog != 0: |
| | | RC=1 |
| | | newlogName=logname |
| | | newlogSize=logsize |
| | | listName.append(logname) |
| | | listSize.append(logsize) |
| | | </script> |
| | | </sequence> |
| | | </iterate> |
| | | <!-- set nbLog when we find a log file --> |
| | | <script> |
| | | nbLog=1 |
| | | </script> |
| | | <message>'The new log file status is : %s : %s' % (listName,listSize)</message> |
| | | </sequence> |
| | | </if> |
| | | <script> |
| | | cpt=cpt+1 |
| | | </script> |
| | | </sequence> |
| | | nbLog=1 |
| | | </script> |
| | | <message>'The new log file status is : %s : %s' % (listName,listSize)</message> |
| | | </sequence> |
| | | </if> |
| | | <script> |
| | | cpt=cpt+1 |
| | | </script> |
| | | </sequence> |
| | | </loop> |
| | | |
| | | |
| | | |
| | | |
| | | <!-- ############################### --> |
| | | <!-- Check log file size --> |
| | | <!-- all the log file size must be around 4kb --> |
| | | <!-- Check log file size --> |
| | | <!-- all the log file size must be around 4kb --> |
| | | <!-- ############################### --> |
| | | |
| | | <if expr="RC == 1"> |
| | | <sequence> |
| | | <message>'A log rotation has been done. The new rotation file is "%s" (size = %s) ' % (newlogName,newlogSize)</message> |
| | | |
| | | <if expr="int(newlogSize) < 4100 and int(newlogSize) > 4000" > |
| | | |
| | | <if expr="RC == 1"> |
| | | <sequence> |
| | | <message>'A log rotation has been done. The new rotation file is "%s" (size = %s) ' % (newlogName,newlogSize)</message> |
| | | |
| | | <if expr="int(newlogSize) < 4100 and int(newlogSize) > 4000" > |
| | | <sequence> |
| | | <message>'SUCCESS. The rotation based on size limit is successfull. The file "%s" (size = %s) ' % (newlogName,newlogSize)</message> |
| | | <call function="'testPassed'"/> |
| | | </sequence> |
| | | <else> |
| | | <sequence> |
| | | <message>'ERROR in the rotation. The file "%s" (size = %s) does not match the rotation size ' % (newlogName,newlogSize)</message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | </sequence> |
| | | <else> |
| | | <sequence> |
| | | <message>'ERROR. The rotation process didn t work.'</message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | <call function="'testPassed'"/> |
| | | </sequence> |
| | | <else> |
| | | <sequence> |
| | | <message>'ERROR in the rotation. The file "%s" (size = %s) does not match the rotation size ' % (newlogName,newlogSize)</message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | </sequence> |
| | | <else> |
| | | <sequence> |
| | | <message>'ERROR. The rotation process didn t work.'</message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | </if> |
| | | |
| | | |
| | | <!-- ############################### --> |
| | | <!-- clean rotation policy --> |
| | | <!-- ############################### --> |
| | | |
| | | <message>'------ remove this rotation policy to the Access log publisher --' </message> |
| | | |
| | | <!-- ############################### --> |
| | | <!-- clean rotation policy --> |
| | | <!-- ############################### --> |
| | | |
| | | <message>'------ remove this rotation policy to the Access log publisher --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--remove rotation-policy-dn:"cn=my size Limit Rotation Policy,cn=Log Rotation Policies,cn=config"', |
| | |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'my size Limit Rotation Policy', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | </sequence> |
| | | </function> |
| | | |
| | | </stax> |
| | | |
| | | |
| | |
| | | <sequence> |
| | | |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Create DS topology as described in config.py' |
| | | </message> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : True } |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : True } |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | |
| | | |
| | | <block name="'Block DS Process Active'"> |
| | | <block name="'Block DS Process Active'"> |
| | | <!--- Start DS --> |
| | | <sequence> |
| | | |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | <call function="'isAlive'"> |
| | | { 'noOfLoops' : 5 , |
| | | 'noOfMilliSeconds' : 2000 } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block DS Process Active --> |
| | | </block> |
| | | |
| | | |
| | | </block> |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | |
| | | <!-- #################################### --> |
| | | <!-- |
| | | #@TestMarker access logger |
| | | #@TestName access logger properties check |
| | | #@TestIssue |
| | | #@TestPurpose check the asynchronous mode with auto-flush works |
| | | #@TestPreamble none |
| | | #@TestStep Set the Access Logger's properties to be an asynchronous mode |
| | | #@TestStep Set the auto-flush to TRUE |
| | | #@TestMarker access logger |
| | | #@TestName access logger properties check |
| | | #@TestIssue |
| | | #@TestPurpose check the asynchronous mode with auto-flush works |
| | | #@TestPreamble none |
| | | #@TestStep Set the Access Logger's properties to be an asynchronous mode |
| | | #@TestStep Set the auto-flush to TRUE |
| | | #@TestStep Set the append property to false |
| | | #@TestStep Configure the Size Limit rotation policy with a Max size to 1mb |
| | | #@TestStep Execute ldapsearch request until the log are writen in the disk |
| | | #@TestPostamble none |
| | | #@TestResult The recors must be written to disk after each operation |
| | | #@TestPostamble none |
| | | #@TestResult The recors must be written to disk after each operation |
| | | --> |
| | | <!-- #################################### --> |
| | | |
| | |
| | | |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | <message> |
| | | '---- Check the Synchronous mode for Access loggers -----' |
| | | </message> |
| | | </message> |
| | | |
| | | |
| | | <message> |
| | | ' asynchronous:false - auto-flush:true - append:false - buffer-size:20kb ' |
| | | </message> |
| | | |
| | | <message> |
| | | ' asynchronous:false - auto-flush:true - append:false - buffer-size:20kb ' |
| | | </message> |
| | | |
| | | |
| | | <message>'------ set properties --' </message> |
| | | |
| | | <message>'------ set properties --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Access Logger', |
| | | 'optionsString' : '--set auto-flush:true --set append:false --set asynchronous:false --set buffer-size:20kb', |
| | |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-rotation-policy-prop' , |
| | | 'subcommand' : 'set-log-rotation-policy-prop' , |
| | | 'objectType' : 'policy-name' , |
| | | 'objectName' : 'Size Limit Rotation Policy', |
| | | 'optionsString' : '--set file-size-limit:1mb', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <!-- Starting loop --> |
| | | <script> |
| | | |
| | | <!-- Starting loop --> |
| | | <script> |
| | | listName=[] |
| | | listSize=[] |
| | | </script> |
| | | <script> |
| | | cpt=0 |
| | | </script> |
| | | <script> |
| | | cpt=0 |
| | | </script> |
| | | |
| | | <!-- Execute ldapsearch until logs are written to disk --> |
| | | <!-- as auto-flush is true, the logs must be written after each operation --> |
| | | <loop from="1" to="5" until="RC != 0"> |
| | | <sequence> |
| | | <message>'###########################'</message> |
| | | <message>' LOOP %s :' % cpt </message> |
| | | <message>'###########################'</message> |
| | | <message>'--- Execute a Search request ---'</message> |
| | | |
| | | <!-- Execute ldapsearch until logs are written to disk --> |
| | | <!-- as auto-flush is true, the logs must be written after each operation --> |
| | | <loop from="1" to="5" until="RC != 0"> |
| | | <sequence> |
| | | <message>'###########################'</message> |
| | | <message>' LOOP %s :' % cpt </message> |
| | | <message>'###########################'</message> |
| | | <message>'--- Execute a Search request ---'</message> |
| | | |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'objectName' : 'log-publisher' , |
| | | 'propertyType' : 'publisher' , |
| | | 'propertyName' : 'File-Based Access Logger', |
| | | 'attributeName' : 'rotation-policy-dn' |
| | | } |
| | | </call> |
| | | |
| | | <message>'--- Check log files ---'</message> |
| | | 'attributeName' : 'rotation-policy-dn' |
| | | } |
| | | </call> |
| | | |
| | | <message>'--- Check log files ---'</message> |
| | | <call function="'listFolder'"> |
| | | { 'location' : '%s' % (DIRECTORY_INSTANCE_HOST), |
| | | 'foldername' : '%s/%s/logs' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME), |
| | | 'filename' : 'access' |
| | | } |
| | | </call> |
| | | |
| | | <if expr="len(cmdResult) > 0"> |
| | | <sequence> |
| | | </call> |
| | | |
| | | <if expr="len(cmdResult) > 0"> |
| | | <sequence> |
| | | <iterate var="result" in="cmdResult"> |
| | | <sequence> |
| | | <script> |
| | | logname=result["name"] |
| | | logsize=result["size"] |
| | | found=0 |
| | | </script> |
| | | <message>'log file status for file %s is %s ' % (logname,logsize)</message> |
| | | <script> |
| | | for currentLog in listName: |
| | | if currentLog == logname: |
| | | found=1 |
| | | currentIndex=listName.index(currentLog) |
| | | currentSize=listSize[currentIndex] |
| | | if currentSize != logsize: |
| | | RC=1 |
| | | listSize[currentIndex]=logsize |
| | | break |
| | | <sequence> |
| | | <script> |
| | | logname=result["name"] |
| | | logsize=result["size"] |
| | | found=0 |
| | | </script> |
| | | <message>'log file status for file %s is %s ' % (logname,logsize)</message> |
| | | <script> |
| | | for currentLog in listName: |
| | | if currentLog == logname: |
| | | found=1 |
| | | currentIndex=listName.index(currentLog) |
| | | currentSize=listSize[currentIndex] |
| | | if currentSize != logsize: |
| | | RC=1 |
| | | listSize[currentIndex]=logsize |
| | | break |
| | | |
| | | if found == 0: |
| | | listName.append(logname) |
| | | listSize.append(logsize) |
| | | </script> |
| | | </sequence> |
| | | </iterate> |
| | | </sequence> |
| | | </if> |
| | | <message>'The new log file status is : %s : %s' % (listName,listSize)</message> |
| | | <script> |
| | | cpt=cpt+1 |
| | | </script> |
| | | </sequence> |
| | | if found == 0: |
| | | listName.append(logname) |
| | | listSize.append(logsize) |
| | | </script> |
| | | </sequence> |
| | | </iterate> |
| | | </sequence> |
| | | </if> |
| | | <message>'The new log file status is : %s : %s' % (listName,listSize)</message> |
| | | <script> |
| | | cpt=cpt+1 |
| | | </script> |
| | | </sequence> |
| | | </loop> |
| | | <message>'The log file status of the file "%s" has changed ' % logname</message> |
| | | <message>'The log file status of the file "%s" has changed ' % logname</message> |
| | | |
| | | <!-- Check log file --> |
| | | <!-- records must be writen after each operation --> |
| | | <!-- we should exit the loop after the first ldapsearch --> |
| | | <if expr="cpt != 2"> |
| | | <sequence> |
| | | <message>'ERROR. The writer are not flushed after every log records'</message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | <else> |
| | | <sequence> |
| | | <message>'SUCCESS. The writer are flushed after every log records' </message> |
| | | <call function="'testPassed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | <!-- Check log file --> |
| | | <!-- records must be writen after each operation --> |
| | | <!-- we should exit the loop after the first ldapsearch --> |
| | | <if expr="cpt != 2"> |
| | | <sequence> |
| | | <message>'ERROR. The writer are not flushed after every log records'</message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | <else> |
| | | <sequence> |
| | | <message>'SUCCESS. The writer are flushed after every log records' </message> |
| | | <call function="'testPassed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | <!-- #################################### --> |
| | | <!-- |
| | | #@TestMarker Debug logger |
| | | #@TestName Debug logger properties check |
| | | #@TestIssue |
| | | #@TestPurpose Basic tests on the Debug logger |
| | | #@TestPreamble none |
| | | #@TestStep Enabled the Debug Logger |
| | | #@TestStep Define a spefic log file for debug message |
| | | #@TestMarker Debug logger |
| | | #@TestName Debug logger properties check |
| | | #@TestIssue |
| | | #@TestPurpose Basic tests on the Debug logger |
| | | #@TestPreamble none |
| | | #@TestStep Enabled the Debug Logger |
| | | #@TestStep Define a spefic log file for debug message |
| | | #@TestStep set the debug-log-level to All |
| | | #@TestStep Restart the server |
| | | #@TestStep Execute a ldapsearch request |
| | | #@TestPostamble none |
| | | #@TestResult Check the debug log file has been created and contains datas |
| | | #@TestPostamble none |
| | | #@TestResult Check the debug log file has been created and contains datas |
| | | --> |
| | | <!-- #################################### --> |
| | | |
| | |
| | | |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | <message> |
| | | '---- Basic tests on Debug loggers -----' |
| | | </message> |
| | | </message> |
| | | |
| | | <message>'------ Enabled Debug logger --' </message> |
| | | <message>'------ Enabled Debug logger --' </message> |
| | | <call function="'dsconfig'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'subcommand' : 'set-log-publisher-prop' , |
| | | 'objectType' : 'publisher-name' , |
| | | 'objectName' : 'File-Based Debug Logger', |
| | | 'optionsString' : '--set enabled:true --set default-debug-level:all --set log-file:logs/mydebug', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <call function="'RestartDs'"> |
| | | { 'dsHost' : DIRECTORY_INSTANCE_HOST, |
| | | { 'dsHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsPort' : DIRECTORY_INSTANCE_PORT, |
| | | 'dsBindDN' : DIRECTORY_INSTANCE_DN, |
| | | 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD } |
| | |
| | | 'foldername' : '%s/%s/logs' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME), |
| | | 'filename' : 'mydebug' |
| | | } |
| | | </call> |
| | | </call> |
| | | |
| | | <script> |
| | | error=0 |
| | | <script> |
| | | error=0 |
| | | </script> |
| | | <if expr="len(cmdResult) == 0"> |
| | | <sequence> |
| | | <message>'ERROR. The Debug logger should be created'</message> |
| | | <script> |
| | | error=1 |
| | | </script> |
| | | </sequence> |
| | | <else> |
| | | <sequence> |
| | | <if expr="len(cmdResult) == 0"> |
| | | <sequence> |
| | | <message>'ERROR. The Debug logger should be created'</message> |
| | | <script> |
| | | error=1 |
| | | </script> |
| | | </sequence> |
| | | <else> |
| | | <sequence> |
| | | <iterate var="result" in="cmdResult"> |
| | | <sequence> |
| | | <script> |
| | | logsize=result["size"] |
| | | </script> |
| | | |
| | | <if expr="logsize == 0"> |
| | | <sequence> |
| | | <script> |
| | | logsize=result["size"] |
| | | </script> |
| | | |
| | | <if expr="logsize == 0"> |
| | | <sequence> |
| | | <message>'ERROR. The Debug logger should contain data'</message> |
| | | <message>'ERROR. The Debug logger should contain data'</message> |
| | | <script> |
| | | error=1 |
| | | </script> |
| | | </sequence> |
| | | </if> |
| | | </sequence> |
| | | </iterate> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | error=1 |
| | | </script> |
| | | </sequence> |
| | | </if> |
| | | </sequence> |
| | | </iterate> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | <if expr="error == 0"> |
| | | <sequence> |
| | | <call function="'testPassed'"/> |
| | | <if expr="error == 0"> |
| | | <sequence> |
| | | <call function="'testPassed'"/> |
| | | </sequence> |
| | | <else> |
| | | <sequence> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | <sequence> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | </testcase> |
| | | |
| | | </sequence> |
| | | </function> |
| | | |
| | |
| | | </script> |
| | | |
| | | <call function="'testGroup_Preamble'"/> |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/privileges/privileges_users.xml' % (TESTS_DIR)"/> |
| | |
| | | file="'%s/testcases/privileges/privileges_restore_task.xml' % (TESTS_DIR)"/> |
| | | <call function="'privileges_restore_task'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testGroup_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='privileges' |
| | | CurrentTestPath['group']='privileges' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/privileges/privileges_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'privileges_setup'" /> |
| | | |
| | | <!--- |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | | #@TestMarker Privileges Backup Tasks Tests |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | <!--- |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | | #@TestMarker Privileges Backup Tasks Tests |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/privileges/privileges_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'privileges_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <sequence> |
| | | |
| | | |
| | | <block name="'Block DS Process Stop'"> |
| | | |
| | | <block name="'Block DS Process Stop'"> |
| | | <!--- Stop DS --> |
| | | <sequence> |
| | | <sequence> |
| | | <message> |
| | | 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | </sequence> |
| | | <!--- End Block DS Process Stop --> |
| | | </block> |
| | | |
| | | <block name="'Block Remove DS Topology'"> |
| | | <block name="'Block Remove DS Topology'"> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <sequence> |
| | | |
| | | |
| | | <message> |
| | | 'Remove DS topology created for the Test Suite' |
| | | </message> |
| | | </message> |
| | | |
| | | <call function="'removeTopology'"/> |
| | | |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | |
| | | </sequence> |
| | | <!-- End Block Remove DS Topology--> |
| | | </block> |
| | | |
| | | |
| | | </block> |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='privileges' |
| | | CurrentTestPath['group']='privileges' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/privileges/privileges_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'privileges_setup'" /> |
| | | |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | <else> |
| | | <!--- Start DS --> |
| | | <sequence> |
| | | |
| | | |
| | | <message> |
| | | 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | <call function="'isAlive'"> |
| | | { 'noOfLoops' : 5 , |
| | | 'noOfMilliSeconds' : 2000 } |
| | | </call> |
| | | </call> |
| | | </sequence> |
| | | <!--- End Block DS Process Active --> |
| | | </else> |
| | | </if> |
| | | </if> |
| | | |
| | | <message> |
| | | 'Privileges: Directory Manager: server-shutdown, DM searching entry' |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | |
| | | file="'%s/testcases/privileges/privileges_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'privileges_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='privileges' |
| | | CurrentTestPath['group']='privileges' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/privileges/privileges_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'privileges_setup'" /> |
| | | |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | <!--- |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | | #@TestMarker Privileges Export Tasks Tests |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/privileges/privileges_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'privileges_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='privileges' |
| | | CurrentTestPath['group']='privileges' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/privileges/privileges_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'privileges_setup'" /> |
| | | |
| | | <!--- |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | | #@TestMarker Privileges Import Tasks Tests |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/privileges/privileges_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'privileges_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='privileges' |
| | | CurrentTestPath['group']='privileges' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/privileges/privileges_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'privileges_setup'" /> |
| | | |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | <else> |
| | | <!--- Start DS --> |
| | | <sequence> |
| | | |
| | | |
| | | <message> |
| | | 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | <call function="'isAlive'"> |
| | | { 'noOfLoops' : 5 , |
| | | 'noOfMilliSeconds' : 2000 } |
| | | </call> |
| | | </call> |
| | | </sequence> |
| | | <!--- End Block DS Process Active --> |
| | | </else> |
| | | </if> |
| | | </if> |
| | | |
| | | <message> |
| | | 'Privileges: New Root User: server-shutdown, new root user searching entry' |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/privileges/privileges_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'privileges_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='privileges' |
| | | CurrentTestPath['group']='privileges' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/privileges/privileges_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'privileges_setup'" /> |
| | | |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/privileges/privileges_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'privileges_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | <script> |
| | | CurrentTestPath['group']='privileges' |
| | | </script> |
| | | |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | |
| | | |
| | | <message> |
| | | 'Create DS topology as described in config.py' |
| | | </message> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : True } |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : True } |
| | | </call> |
| | | |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | |
| | | |
| | | <block name="'Block DS Process Active'"> |
| | | <block name="'Block DS Process Active'"> |
| | | <!--- Start DS --> |
| | | <sequence> |
| | | |
| | | |
| | | <message> |
| | | 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | <call function="'isAlive'"> |
| | | { 'noOfLoops' : 5 , |
| | | 'noOfMilliSeconds' : 2000 } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block DS Process Active --> |
| | | </block> |
| | | |
| | | </block> |
| | | |
| | | <block name="'Block DS Load Data'"> |
| | | <!-- Load the data needed by the test suite --> |
| | | <!-- Load the data needed by the test suite --> |
| | | <sequence> |
| | | |
| | | |
| | | <message> |
| | | 'Privileges: Privileges Setup: Adding Initial Entries' |
| | | </message> |
| | |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block DS Load Data --> |
| | | </block> |
| | | |
| | | |
| | | <!--- End Block DS Load Data --> |
| | | </block> |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='privileges' |
| | | CurrentTestPath['group']='privileges' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/privileges/privileges_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'privileges_setup'" /> |
| | | |
| | | <!--- |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | | #@TestMarker Privileges Users Tests |
| | |
| | | <else> |
| | | <!--- Start DS --> |
| | | <sequence> |
| | | |
| | | |
| | | <message> |
| | | 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | <call function="'isAlive'"> |
| | | { 'noOfLoops' : 5 , |
| | | 'noOfMilliSeconds' : 2000 } |
| | | </call> |
| | | </call> |
| | | </sequence> |
| | | <!--- End Block DS Process Active --> |
| | | </else> |
| | | </if> |
| | | </if> |
| | | |
| | | <message> |
| | | 'Privileges: Users: server-shutdown, Admin deleting privilege' |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | <!--- |
| | | Place test-specific test information here. |
| | | The tag, TestMarker, must be the same as the tag, TestSuiteName. |
| | |
| | | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/privileges/privileges_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'privileges_cleanup'" /> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/replication/basic/replication_basic_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'replication_basic_setup'" /> |
| | | |
| | | |
| | | <!--- Test Case information |
| | | #@TestMarker Replication Basic Tests |
| | | #@TestName Replication: Basic: Add Entry |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Add Entry')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | 'entryToBeAdded' : '%s/replication_add_root_suffix.ldif' % clientDataDir } |
| | | </call> |
| | | |
| | | <!-- Check modify worked on "master" server --> |
| | | <!-- Check modify worked on "master" server --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'location' : clientHost, |
| | | 'dsPath' : clientPath, |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | |
| | | <!--- Test Case information |
| | | #@TestMarker Replication Basic Tests |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Modify Entry')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | 'dsFilename' : '%s/replication_mod.ldif' % clientDataDir } |
| | | </call> |
| | | |
| | | <!-- Check modify worked on "master" server --> |
| | | <!-- Check modify worked on "master" server --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'location' : clientHost, |
| | | 'dsPath' : clientPath, |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | <!--- Test Case information |
| | | #@TestMarker Replication Basic Tests |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Delete Entry')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | 'dsBaseDN' : entryDn } |
| | | </call> |
| | | |
| | | <!-- Check modify worked on "master" server --> |
| | | <!-- Check modify worked on "master" server --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'location' : clientHost, |
| | | 'dsPath' : clientPath, |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | <!--- Test Case information |
| | | #@TestMarker Replication Basic Tests |
| | | #@TestName Replication: Basic: Add Multiple Entries |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Add Multiple Entries')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | 'entryToBeAdded' : '%s/replication/Example.ldif' % clientDataDir } |
| | | </call> |
| | | |
| | | <!-- Check modify worked on "master" server --> |
| | | <!-- Check modify worked on "master" server --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'location' : clientHost, |
| | | 'dsPath' : clientPath, |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Modify Entry - add single attribute')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost , |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'uid=tmorris, ou=People,%s' % synchroSuffix, |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'uid=tmorris, ou=People,%s' % synchroSuffix, |
| | | 'attributeName' : 'description', |
| | | 'newAttributeValue' : ' ', |
| | | 'changetype' : 'add' } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- Check modify worked on "master" server --> |
| | | <!-- Check modify worked on "master" server --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'location' : clientHost, |
| | | 'dsPath' : clientPath, |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Modify Entry - add single value')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost , |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'uid=tmorris, ou=People,%s' % synchroSuffix, |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'uid=tmorris, ou=People,%s' % synchroSuffix, |
| | | 'attributeName' : 'departmentnumber', |
| | | 'newAttributeValue' : '5203214400', |
| | | 'changetype' : 'add' } |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Modify Entry - delete single attribute')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | { 'srcfile' : filePath, |
| | | 'destfile' : '%s/%s' % (clientDataDir,filename), |
| | | 'remotehost' : client.getHostname() } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- Modify "master" server --> |
| | | <call function="'ldapModifyWithScript'"> |
| | |
| | | 'dsFilename' : '%s/%s' % (clientDataDir, filename) } |
| | | </call> |
| | | |
| | | <!-- Check modify worked on "master" server --> |
| | | <!-- Check modify worked on "master" server --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'location' : clientHost, |
| | | 'dsPath' : clientPath, |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Modify Entry - delete single value')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost , |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'uid=jwalker, ou=People,%s' % synchroSuffix, |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'uid=jwalker, ou=People,%s' % synchroSuffix, |
| | | 'attributeName' : 'roomNumber', |
| | | 'newAttributeValue' : '3915', |
| | | 'changetype' : 'delete' } |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Modify Entry - add multiple values')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Modify Entry - delete multiple values')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost , |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'uid=jwallace, ou=People,%s' % synchroSuffix, |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'uid=jwallace, ou=People,%s' % synchroSuffix, |
| | | 'listAttributes' : valuesToDelete, |
| | | 'changetype' : 'delete' } |
| | | </call> |
| | | |
| | | <!-- Check modify worked on "master" server --> |
| | | <!-- Check modify worked on "master" server --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'location' : clientHost, |
| | | 'dsPath' : clientPath, |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Modify Entry - replace multiple values')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost , |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'uid=jwallace, ou=People,%s' % synchroSuffix, |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'uid=jwallace, ou=People,%s' % synchroSuffix, |
| | | 'listAttributes' : valuesToReplace, |
| | | 'changetype' : 'replace' } |
| | | </call> |
| | | |
| | | <!-- Check modify worked on "master" server --> |
| | | <!-- Check modify worked on "master" server --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'location' : clientHost, |
| | | 'dsPath' : clientPath, |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Modify Entry - add single value to multiple valued attribute')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost , |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'uid=jwallace, ou=People,%s' % synchroSuffix, |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'uid=jwallace, ou=People,%s' % synchroSuffix, |
| | | 'listAttributes' : valuesToAdd, |
| | | 'changetype' : 'add' } |
| | | </call> |
| | | |
| | | <!-- Check modify worked on "master" server --> |
| | | <!-- Check modify worked on "master" server --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'location' : clientHost, |
| | | 'dsPath' : clientPath, |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Modify Entry - delete single value from multiple valued attribute')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost , |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'uid=jwallace, ou=People,%s' % synchroSuffix, |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'uid=jwallace, ou=People,%s' % synchroSuffix, |
| | | 'listAttributes' : valuesToDelete, |
| | | 'changetype' : 'delete' } |
| | | </call> |
| | | |
| | | <!-- Check modify worked on "master" server --> |
| | | <!-- Check modify worked on "master" server --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'location' : clientHost, |
| | | 'dsPath' : clientPath, |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Modify Entry - replace case sensitive attribute')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost , |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'uid=tfitter, ou=People,%s' % synchroSuffix, |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'uid=tfitter, ou=People,%s' % synchroSuffix, |
| | | 'listAttributes' : valuesToReplace, |
| | | 'changetype' : 'replace' } |
| | | </call> |
| | | |
| | | <!-- Check modify worked on "master" server --> |
| | | <!-- Check modify worked on "master" server --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'location' : clientHost, |
| | | 'dsPath' : clientPath, |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Modify Entry - add binary attribute')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | { 'srcfile' : filePath, |
| | | 'destfile' : '%s/%s' % (clientDataDir,filename), |
| | | 'remotehost' : client.getHostname() } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- Modify "master" server --> |
| | | <call function="'ldapModifyWithScript'"> |
| | |
| | | 'dsInstancePswd' : master.getRootPwd() , |
| | | 'dsFilename' : '%s/%s' % (clientDataDir, filename) } |
| | | </call> |
| | | |
| | | |
| | | |
| | | <!-- Check modify worked on "master" server --> |
| | | <call function="'ldapSearchWithScript'"> |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | | |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Modify Entry - replace binary attribute')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | { 'srcfile' : filePath, |
| | | 'destfile' : '%s/%s' % (clientDataDir,filename), |
| | | 'remotehost' : client.getHostname() } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- Modify "master" server --> |
| | | <call function="'ldapModifyWithScript'"> |
| | |
| | | 'dsInstancePswd' : master.getRootPwd() , |
| | | 'dsFilename' : '%s/%s' % (clientDataDir, filename) } |
| | | </call> |
| | | |
| | | |
| | | |
| | | <!-- Check modify worked on "master" server --> |
| | | <call function="'ldapSearchWithScript'"> |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | | |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Modify Entry - delete binary attribute')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | { 'srcfile' : filePath, |
| | | 'destfile' : '%s/%s' % (clientDataDir,filename), |
| | | 'remotehost' : client.getHostname() } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- Modify "master" server --> |
| | | <call function="'ldapModifyWithScript'"> |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | | |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Rename Entry')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | { 'srcfile' : filePath, |
| | | 'destfile' : '%s/%s' % (clientDataDir,filename), |
| | | 'remotehost' : client.getHostname() } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- Modify "master" server --> |
| | | <call function="'ldapModifyWithScript'"> |
| | |
| | | 'dsInstancePswd' : master.getRootPwd() , |
| | | 'dsFilename' : '%s/%s' % (clientDataDir, filename) } |
| | | </call> |
| | | |
| | | |
| | | |
| | | <!-- Check modify worked on "master" server --> |
| | | <!-- check that "uid=kvaughan, ou=People, ${DIRECTORY_BASE}" does NOT exist anymore --> |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | | |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Rename Entry (preserving old rdn)')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | { 'srcfile' : filePath, |
| | | 'destfile' : '%s/%s' % (clientDataDir,filename), |
| | | 'remotehost' : client.getHostname() } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- Modify "master" server --> |
| | | <call function="'ldapModifyWithScript'"> |
| | |
| | | 'dsInstancePswd' : master.getRootPwd() , |
| | | 'dsFilename' : '%s/%s' % (clientDataDir, filename) } |
| | | </call> |
| | | |
| | | |
| | | |
| | | <!-- Check modify worked on "master" server --> |
| | | <!-- check that "uid=jwallace, ou=People, ${DIRECTORY_BASE}" does NOT exist anymore --> |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | | |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Rename Subtree')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | 'Replication: Basic: Rename Subtree. Check that a subtree rename (moddn) operation is well propagated by replication.' |
| | | </message> |
| | | |
| | | |
| | | <script> |
| | | filename = 'replication_moddn.ldif' |
| | | filePath = '%s/%s' % (logsTestDataDir,filename) |
| | |
| | | { 'srcfile' : filePath, |
| | | 'destfile' : '%s/%s' % (clientDataDir,filename), |
| | | 'remotehost' : client.getHostname() } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- Modify "master" server --> |
| | | <call function="'ldapModifyWithScript'"> |
| | |
| | | 'dsInstancePswd' : master.getRootPwd() , |
| | | 'dsFilename' : '%s/%s' % (clientDataDir, filename) } |
| | | </call> |
| | | |
| | | |
| | | |
| | | <!-- Check modify worked on "master" server --> |
| | | <!-- check that "uid=gfarmer, ou=People, ${DIRECTORY_BASE}" does NOT exist anymore --> |
| | |
| | | </call> |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | | |
| | | |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/replication/replication_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'replication_cleanup'" /> |
| | |
| | | |
| | | <sequence> |
| | | |
| | | <!--- Setup the client for the Basic test suite --> |
| | | <!--- Setup the client for the Basic test suite --> |
| | | <message> |
| | | 'Replication: Basic: Setup. Get client ready for Basic tests.' |
| | | </message> |
| | | |
| | | </message> |
| | | |
| | | <script> |
| | | synchroSuffix = master.getSynchronizedSuffixList()[0].getSuffixDn() |
| | | entryDn = 'uid=scarter,%s' % synchroSuffix |
| | | grandchildEntryDn = 'uid=scarter,ou=People,o=replication tests,%s' % synchroSuffix |
| | | mod_type = 'replace' |
| | | attr_type = 'roomnumber' |
| | | attr_value = '1111' |
| | | attr_value = '1111' |
| | | </script> |
| | | |
| | | <script> |
| | | <script> |
| | | filename = 'replication_add_root_suffix.ldif' |
| | | filePath = '%s/%s' % (logsTestDataDir,filename) |
| | | write_replication_add_root_suffix_ldif_file(filePath, synchroSuffix) |
| | |
| | | { 'srcfile' : filePath, |
| | | 'destfile' : '%s/%s' % (clientDataDir,filename), |
| | | 'remotehost' : client.getHostname() } |
| | | </call> |
| | | </call> |
| | | |
| | | <script> |
| | | filename = 'replication_add_single.ldif' |
| | | filePath = '%s/%s' % (logsTestDataDir,filename) |
| | | write_replication_add_single_ldif_file(filePath, synchroSuffix) |
| | | write_replication_add_single_ldif_file(filePath, synchroSuffix) |
| | | </script> |
| | | |
| | | <!-- Copy the replication_add_single ldif to client host --> |
| | |
| | | 'destfile' : '%s/%s' % (clientDataDir,filename), |
| | | 'remotehost' : client.getHostname() } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | filename = 'replication_add_multiple.ldif' |
| | | filePath = '%s/%s' % (logsTestDataDir,filename) |
| | | write_replication_add_multiple_ldif_file(filePath, synchroSuffix) |
| | | write_replication_add_multiple_ldif_file(filePath, synchroSuffix) |
| | | </script> |
| | | |
| | | <!-- Copy the replication_add_multiple ldif to client host --> |
| | |
| | | { 'srcfile' : filePath, |
| | | 'destfile' : '%s/%s' % (clientDataDir,filename), |
| | | 'remotehost' : client.getHostname() } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <script> |
| | | filename = 'replication_mod.ldif' |
| | | filePath = '%s/%s' % (logsTestDataDir,filename) |
| | |
| | | { 'srcfile' : filePath, |
| | | 'destfile' : '%s/%s' % (clientDataDir,filename), |
| | | 'remotehost' : client.getHostname() } |
| | | </call> |
| | | |
| | | |
| | | </call> |
| | | |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | </function> |
| | |
| | | #@TestHTMLLink http://opends.dev.java.net/ |
| | | --> |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/replication/replication_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'replication_setup'" /> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Off-line initialisation')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | 'Replication: Binary Copy: Off-line initialisation. Initialise replicated servers using off-line backup/restore' |
| | | </message> |
| | | |
| | | <!-- Stop the servers in the topology --> |
| | | <!-- Stop the servers in the topology --> |
| | | <call function="'stopServers'"> |
| | | [_topologyServerList] |
| | | </call> |
| | |
| | | |
| | | |
| | | |
| | | <!-- Start the servers in the topology --> |
| | | <!-- Start the servers in the topology --> |
| | | <call function="'startServers'"> |
| | | [_topologyServerList] |
| | | </call> |
| | |
| | | 'entryToBeAdded' : '%s/replication/tfitter.ldif' % clientDataDir } |
| | | </call> |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('On-line initialisation')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | 'Replication: Binary Copy: On-line initialisation. Initialise replicated servers using on-line backup/restore' |
| | | </message> |
| | | |
| | | <!-- Clean the servers in the topology |
| | | <!-- Clean the servers in the topology |
| | | <call function="'deleteTrees'"> |
| | | [_topologyServerList, synchroSuffix, False] |
| | | </call> --> |
| | |
| | | 'entryToBeAdded' : '%s/replication/tfitter.ldif' % clientDataDir } |
| | | </call> |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/replication/replication_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'replication_cleanup'" /> |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | </block> |
| | |
| | | #@TestHTMLLink http://opends.dev.java.net/ |
| | | --> |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/replication/replication_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'replication_setup'" /> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Off-line initialisation')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | 'Replication: Ldif Import: Off-line initialisation. Initialise replicated servers using off-line export/import' |
| | | </message> |
| | | |
| | | <!-- Stop the servers in the topology --> |
| | | <!-- Stop the servers in the topology --> |
| | | <call function="'stopServers'"> |
| | | [_topologyServerList] |
| | | </call> |
| | |
| | | |
| | | |
| | | |
| | | <!-- Start the servers in the topology --> |
| | | <!-- Start the servers in the topology --> |
| | | <call function="'startServers'"> |
| | | [_topologyServerList] |
| | | </call> |
| | |
| | | 'entryToBeAdded' : '%s/replication/tfitter.ldif' % clientDataDir } |
| | | </call> |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('On-line initialisation')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | 'entryToBeAdded' : '%s/replication/tfitter.ldif' % clientDataDir } |
| | | </call> |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/replication/replication_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'replication_cleanup'" /> |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | </block> |
| | |
| | | <block name="'replication'"> |
| | | |
| | | <sequence> |
| | | |
| | | |
| | | <script> |
| | | CurrentTestPath={} |
| | | envAlreadyLoaded='true' |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/replication/basic/replication_basic.xml' % (TESTS_DIR)"/> |
| | | <call function="'replication_basic'" /> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/replication/schema/schema.xml' % (TESTS_DIR)"/> |
| | | <call function="'replication_schema'" /> |
| | | |
| | | <call function="'testGroup_Postamble'"/> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | </block> |
| | |
| | | |
| | | <block name="'replication-cleanup'"> |
| | | |
| | | <sequence> |
| | | |
| | | <!-- Stop the servers in the topology --> |
| | | <sequence> |
| | | |
| | | <!-- Stop the servers in the topology --> |
| | | <call function="'stopServers'"> |
| | | [_topologyServerList] |
| | | </call> |
| | | |
| | | <!-- Remove the topology created for the test suite --> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <message> |
| | | 'Remove DS topology created for the Synchronization Basic Test Suite' |
| | | </message> |
| | | </message> |
| | | |
| | | <call function="'removeTopology'"> |
| | | { 'multipleInstanceTopology' : True } |
| | |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="filepath"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | | </function-map-args> |
| | | |
| | | <sequence> |
| | | |
| | | <block name="'replication-setup'"> |
| | | |
| | | <sequence> |
| | | |
| | | |
| | | <message> |
| | | 'Create DS topology as described in %s' % topologyFile |
| | | </message> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'topologyDescFile' : topologyFile, |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'topologyDescFile' : topologyFile, |
| | | 'sharedDataFolder' : 'replication' } |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | |
| | | consumerList = _topologyServerList[1:] |
| | | </script> |
| | | |
| | | <!-- Start the servers in the topology --> |
| | | <!-- Start the servers in the topology --> |
| | | <call function="'startServers'"> |
| | | [_topologyServerList] |
| | | </call> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | </block> |
| | |
| | | #@TestHTMLLink http://opends.dev.java.net/ |
| | | --> |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/replication/replication_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'replication_setup'" /> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Off-line initialisation')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | 'Replication: Re-Synchronization: Off-line initialisation. Initialise replicated servers using off-line backup/restore' |
| | | </message> |
| | | |
| | | <!-- Stop the servers in the topology --> |
| | | <!-- Stop the servers in the topology --> |
| | | <call function="'stopServers'"> |
| | | [_topologyServerList] |
| | | </call> |
| | |
| | | |
| | | |
| | | |
| | | <!-- Start the "consumer" servers --> |
| | | <!-- Start the "consumer" servers --> |
| | | <call function="'startServers'"> |
| | | [consumerList] |
| | | </call> |
| | |
| | | |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('On-line initialisation')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | <!-- Clean the servers in the topology |
| | | <call function="'deleteTrees'"> |
| | | [_topologyServerList, synchroSuffix, False] |
| | | </call> --> |
| | | </call> --> |
| | | |
| | | <!-- Delete manually added entry so that replication server won't add it automatically later on --> |
| | | <call function="'ldapDeleteWithScript'"> |
| | |
| | | |
| | | |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/replication/replication_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'replication_cleanup'" /> |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | </block> |
| | |
| | | #@TestHTMLLink http://opends.dev.java.net/ |
| | | --> |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/replication/replication_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'replication_setup'" /> |
| | |
| | | 'Create domain name for schema on server %s/%s' % (server.getDir(), OPENDSNAME) |
| | | </message> |
| | | |
| | | <call function="'createMultimasterDomain'"> |
| | | <call function="'createMultimasterDomain'"> |
| | | { 'location' : server.getHostname(), |
| | | 'dsPath' : '%s/%s' % (server.getDir(), OPENDSNAME), |
| | | 'dsInstanceHost' : server.getHostname(), |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Add objectclass')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost , |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'cn=schema', |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'cn=schema', |
| | | 'attributeName' : 'objectClasses', |
| | | 'newAttributeValue' : newObjectclass, |
| | | 'changetype' : 'add' } |
| | |
| | | 'entryToBeAdded' : '%s/replication/testuser-0.ldif' % clientDataDir } |
| | | </call> |
| | | |
| | | <!-- Verify the synchronization of the schema among the servers in the topology --> |
| | | <!-- Verify the synchronization of the schema among the servers in the topology --> |
| | | <call function="'verifySchemas'"> |
| | | [ clientHost, clientPath, master, consumerList, '99-user.ldif' ] |
| | | </call> |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Add attributetype')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost , |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'cn=schema', |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'cn=schema', |
| | | 'attributeName' : 'attributeTypes', |
| | | 'newAttributeValue' : newAttributetype, |
| | | 'changetype' : 'add' } |
| | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost , |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'cn=schema', |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'cn=schema', |
| | | 'attributeName' : 'objectClasses', |
| | | 'newAttributeValue' : newObjectclass, |
| | | 'changetype' : 'add' } |
| | |
| | | 'entryToBeAdded' : '%s/replication/testuser-1.ldif' % clientDataDir } |
| | | </call> |
| | | |
| | | <!-- Verify the synchronization of the schema among the servers in the topology --> |
| | | <!-- Verify the synchronization of the schema among the servers in the topology --> |
| | | <call function="'verifySchemas'"> |
| | | [ clientHost, clientPath, master, consumerList, '99-user.ldif' ] |
| | | </call> |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <!-- Verify the synchronization of the trees among the servers in the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | |
| | | #@TestSteps |
| | | #@TestPostamble |
| | | #@TestResult |
| | | --> |
| | | --> |
| | | <testcase name="getTestCaseName('Delete objectclass')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost , |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'cn=schema', |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToModify' : 'cn=schema', |
| | | 'attributeName' : 'objectClasses', |
| | | 'newAttributeValue' : newObjectclass, |
| | | 'changetype' : 'delete' } |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/replication/replication_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'replication_cleanup'" /> |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | </block> |
| | |
| | | </script> |
| | | |
| | | <call function="'testSuite_Preamble'"/> |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/replication/replication_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'replication_setup'" /> |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/replication/replication_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'replication_cleanup'" /> |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | </block> |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/replication/replication.xml' % TESTS_DIR" /> |
| | | <!-- |
| | | <call function="'main_replication'" /> |
| | | <call function="'main_replication'" /> |
| | | --> |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | |
| | | </script> |
| | | |
| | | <call function="'testGroup_Preamble'"/> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <!-- Call the test suites --> |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | |
| | | file="'%s/testcases/schema/schema_dynamic.xml' % TESTS_DIR" /> |
| | | <call function="'schema-dynamic'" /> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <call function="'testGroup_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <sequence> |
| | | |
| | | |
| | | <block name="'Block DS Process Stop'"> |
| | | |
| | | <block name="'Block DS Process Stop'"> |
| | | <!--- Stop DS --> |
| | | <sequence> |
| | | <sequence> |
| | | <message> |
| | | 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | </sequence> |
| | | <!--- End Block DS Process Stop --> |
| | | </block> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <block name="'Block Remove DS Topology'"> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <sequence> |
| | | |
| | | <block name="'Block Remove DS Topology'"> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Remove DS topology created for the Test Suite' |
| | | </message> |
| | | </message> |
| | | |
| | | <call function="'removeTopology'"/> |
| | | |
| | | <call function="'checkRC'"> |
| | | <call function="'removeTopology'"/> |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!-- End Block Remove DS Topology--> |
| | | </block> |
| | | |
| | | |
| | | |
| | | </sequence> |
| | | <!-- End Block Remove DS Topology--> |
| | | </block> |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='schema' |
| | | CurrentTestPath['group']='schema' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/schema/schema_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'schema_setup'"/> |
| | | |
| | | |
| | | |
| | | <!--- Test case: Update Schema via a file --> |
| | | <!--- |
| | | Place test-specific test information here. |
| | |
| | | file="'%s/testcases/schema/schema_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'schema_cleanup'"/> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='schema' |
| | | CurrentTestPath['group']='schema' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/schema/schema_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'schema_setup'"/> |
| | | |
| | | |
| | | |
| | | <!--- Test Case : Schema RFC Test 2079 --> |
| | | <testcase name="getTestCaseName('RFC 2079')"> |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : 'o=rfc tests,dc=example,dc=com' , |
| | | 'dsFilter' : 'uid=tsmith' , |
| | | 'attributes' : 'calCalURI' } |
| | | 'attributes' : 'calCalURI' } |
| | | |
| | | </call> |
| | | |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : 'o=rfc tests,dc=example,dc=com' , |
| | | 'dsFilter' : 'cn=corba1' , |
| | | 'attributes' : 'corbaRepositoryId' } |
| | | 'attributes' : 'corbaRepositoryId' } |
| | | |
| | | </call> |
| | | <call function="'checktestRC'"> |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : 'ou=java object,o=rfc tests,dc=example,dc=com' , |
| | | 'dsFilter' : 'cn=java1' , |
| | | 'attributes' : 'javaClassName' } |
| | | 'attributes' : 'javaClassName' } |
| | | |
| | | </call> |
| | | |
| | |
| | | file="'%s/testcases/schema/schema_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'schema_cleanup'"/> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | <block name="'setup'"> |
| | | |
| | | <sequence> |
| | | |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | |
| | | |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Create DS topology as described in config.py' |
| | | </message> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : True } |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : True } |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | |
| | | |
| | | <block name="'Block DS Process Active'"> |
| | | <block name="'Block DS Process Active'"> |
| | | <!--- Start DS --> |
| | | <sequence> |
| | | |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | <call function="'isAlive'"> |
| | | { 'noOfLoops' : 5 , |
| | | 'noOfMilliSeconds' : 2000 } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block DS Process Active --> |
| | | </block> |
| | | |
| | | </block> |
| | | |
| | | |
| | | <block name="'Block DS Load Data'"> |
| | | <!-- Load the data needed by the test suite --> |
| | | <sequence> |
| | | <!-- Load the data needed by the test suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Add entries that are required for the Schema Tests' |
| | |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | |
| | | </sequence> |
| | | <!-- End Block DS Load Data --> |
| | | |
| | | </sequence> |
| | | <!-- End Block DS Load Data --> |
| | | </block> |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/security/security_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_setup'"/> |
| | | |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/account_activation/security_setup_account_activation.xml' % (TESTS_DIR)"/> |
| | |
| | | file="'%s/testcases/security/account_activation/security_teardown_account_activation.xml' % (TESTS_DIR)"/> |
| | | <call function="'teardown_account_activation'" /> |
| | | |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/security_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_cleanup'"/> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstancePswd' : 'inflict' , |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base' } |
| | | 'extraParams' : '-s base' } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstancePswd' : 'inflict' , |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base' } |
| | | 'extraParams' : '-s base' } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : 'o=Account Activation Tests,dc=example,dc=com' , |
| | | 'extraParams' : '-x', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstancePswd' : 'sprain' , |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base' } |
| | | 'extraParams' : '-s base' } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/security_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_setup'"/> |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/auth_pwd_syntax/security_setup_auth_pwd_syntax.xml' % (TESTS_DIR)"/> |
| | |
| | | <call function="'security_cleanup'"/> |
| | | |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <message> |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'entryToBeAdded' : '%s/security/auth_pwd_syntax/admin_add_MD5_user1.ldif' % logsRemoteDataDir, |
| | | 'expectedRC' : 65 } |
| | | 'expectedRC' : 65 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'entryToBeAdded' : '%s/security/auth_pwd_syntax/admin_add_MD5_user2.ldif' % logsRemoteDataDir, |
| | | 'expectedRC' : 21 } |
| | | 'expectedRC' : 21 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base' , |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : 'ou=MD5 auth tests,o=Auth Pwd Syntax Tests,dc=example,dc=com' , |
| | | 'extraParams' : '-x', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'entryToBeAdded' : '%s/security/auth_pwd_syntax/admin_del_new_policy.ldif' % logsRemoteDataDir , |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'entryToBeAdded' : '%s/security/auth_pwd_syntax/admin_add_SHA1_policy.ldif' % logsRemoteDataDir, |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'entryToBeAdded' : '%s/security/auth_pwd_syntax/admin_add_SHA1_users.ldif' % logsRemoteDataDir, |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <message> |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'entryToBeAdded' : '%s/security/auth_pwd_syntax/admin_add_SHA1_user1.ldif' % logsRemoteDataDir, |
| | | 'expectedRC' : 65 } |
| | | 'expectedRC' : 65 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'entryToBeAdded' : '%s/security/auth_pwd_syntax/admin_add_SHA1_user2.ldif' % logsRemoteDataDir, |
| | | 'expectedRC' : 21 } |
| | | 'expectedRC' : 21 } |
| | | </call> |
| | | |
| | | <message> |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : 'ou=SHA1 auth tests,o=Auth Pwd Syntax Tests,dc=example,dc=com' , |
| | | 'extraParams' : '-x', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <message> |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'entryToBeAdded' : '%s/security/auth_pwd_syntax/admin_del_new_policy.ldif' % logsRemoteDataDir, |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'entryToBeAdded' : '%s/security/auth_pwd_syntax/admin_add_SHA256_user1.ldif' % logsRemoteDataDir, |
| | | 'expectedRC' : 65 } |
| | | 'expectedRC' : 65 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'entryToBeAdded' : '%s/security/auth_pwd_syntax/admin_add_SHA256_user2.ldif' % logsRemoteDataDir, |
| | | 'expectedRC' : 21 } |
| | | 'expectedRC' : 21 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'entryToBeAdded' : '%s/security/auth_pwd_syntax/admin_add_SHA384_user1.ldif' % logsRemoteDataDir, |
| | | 'expectedRC' : 65 } |
| | | 'expectedRC' : 65 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base' , |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'entryToBeAdded' : '%s/security/auth_pwd_syntax/admin_add_SHA384_user2.ldif' % logsRemoteDataDir, |
| | | 'expectedRC' : 21 } |
| | | 'expectedRC' : 21 } |
| | | </call> |
| | | |
| | | <message> |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'entryToBeAdded' : '%s/security/auth_pwd_syntax/admin_add_SHA512_user1.ldif' % logsRemoteDataDir, |
| | | 'expectedRC' : 65 } |
| | | 'expectedRC' : 65 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'entryToBeAdded' : '%s/security/auth_pwd_syntax/admin_add_SHA512_user2.ldif' % logsRemoteDataDir, |
| | | 'expectedRC' : 21 } |
| | | 'expectedRC' : 21 } |
| | | </call> |
| | | |
| | | <message> |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'entryToBeModified' : '%s/security/auth_pwd_syntax/admin_mod_def_policy.ldif' % logsRemoteDataDir, |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'entryToBeAdded' : '%s/security/auth_pwd_syntax/admin_add_def_users.ldif' % logsRemoteDataDir, |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <message> |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'entryToBeModified' : '%s/security/auth_pwd_syntax/admin_mod_def_policy2.ldif' % logsRemoteDataDir, |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | <message> |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | <call function="'security_setup'"/> |
| | | |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/bind_no_pwd/security_setup_bind_no_pwd.xml' % (TESTS_DIR)"/> |
| | | <call function="'setup_bind_no_pwd'" /> |
| | |
| | | file="'%s/testcases/security/security_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_cleanup'"/> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base -j %s/security/bind_no_pwd/null.pwd' % logsRemoteDataDir, |
| | | 'expectedRC' : 53 } |
| | | 'expectedRC' : 53 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | <sequence> |
| | | |
| | | <script> |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | | <call function="'testSuite_Preamble'"/> |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/client_auth/client_auth_lib.xml' % (TESTS_DIR)" /> |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/security_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_setup'"/> |
| | | |
| | | <!-- client authentication setup --> |
| | | <!-- client authentication setup --> |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/client_auth/client_auth_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'client_auth_setup'" /> |
| | | |
| | | |
| | | <!-- fingerprint certificates mapper --> |
| | | |
| | | |
| | | <!-- fingerprint certificates mapper --> |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/client_auth/fingerprint_mapper.xml' % (TESTS_DIR)"/> |
| | | <call function="'fingerprint_mapper'" /> |
| | | |
| | | |
| | | <!-- subject DN to user attribut certificate mapper --> |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/client_auth/subject_dn_mapper.xml' % (TESTS_DIR)"/> |
| | | <call function="'subject_dn_mapper'" /> |
| | | |
| | | <!-- subject attribute to user attribut certificate mapper --> |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | |
| | | <!-- subject attribute to user attribut certificate mapper --> |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/client_auth/subject_attribute_mapper.xml' % (TESTS_DIR)"/> |
| | | <call function="'subject_attribute_mapper'" /> |
| | | |
| | | <!-- subject equals dn certificate mapper --> |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | |
| | | <!-- subject equals dn certificate mapper --> |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/client_auth/equal_dn_mapper.xml' % (TESTS_DIR)"/> |
| | | <call function="'equal_dn_mapper'" /> |
| | | |
| | | <!-- client authentication teardown --> |
| | | |
| | | <!-- client authentication teardown --> |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/client_auth/client_auth_teardown.xml' % (TESTS_DIR)"/> |
| | | <call function="'client_auth_teardown'" /> |
| | | <call function="'client_auth_teardown'" /> |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/security_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_cleanup'"/> |
| | | <call function="'security_cleanup'"/> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | ! Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | ! --> |
| | | <stax> |
| | | |
| | | |
| | | |
| | | <!-- **************************************************** --> |
| | | <!-- load variables --> |
| | | <!-- **************************************************** --> |
| | | <!-- **************************************************** --> |
| | | <!-- load variables --> |
| | | <!-- **************************************************** --> |
| | | |
| | | <function name="loadVariables"> |
| | | <function-prolog> |
| | | This function loads variables used by the client_auth testsuite |
| | | </function-prolog> |
| | | |
| | | |
| | | <sequence> |
| | | <!-- Local variables --> |
| | | <script> |
| | |
| | | CERT_TMP="%s/../%s/CERT_%s" % (dsPath,relativeDataDir,DIRECTORY_INSTANCE_PORT) |
| | | CLIENT_KEYSTORE="%s/keystore" % (CERT_TMP) |
| | | CLIENT_KEYPASS="password" |
| | | CLIENT_STOREPASS="password" |
| | | CLIENT_STOREPASS="password" |
| | | USER_1_CERT="client-cert-1" |
| | | USER_1_CERT_FILE="%s/client_cert_1.txt" % (CERT_TMP) |
| | | USER_1_DN ="uid=%s,%s" % (USER_1_CERT,DIRECTORY_INSTANCE_SFX) |
| | | USER_1_DN ="uid=%s,%s" % (USER_1_CERT,DIRECTORY_INSTANCE_SFX) |
| | | USER_1_CERT_FILE_RFC="%s/client_cert_1_rfc.txt" % (CERT_TMP) |
| | | USER_2_CERT="client-cert-2" |
| | | USER_2_CERT_FILE_RFC="%s/client_cert_2_rfc.txt" % (CERT_TMP) |
| | | USER_2_CERT_FILE="%s/client_cert_2.txt" % (CERT_TMP) |
| | | USER_2_DN ="uid=%s,%s" % (USER_2_CERT,DIRECTORY_INSTANCE_SFX) |
| | | USER_2_CERT_FILE="%s/client_cert_2.txt" % (CERT_TMP) |
| | | USER_2_DN ="uid=%s,%s" % (USER_2_CERT,DIRECTORY_INSTANCE_SFX) |
| | | SERVER_CERT_FILE="%s/server_cert.txt" % (CERT_TMP) |
| | | user1LdifFileName='user1_cert.ldif' |
| | | user2LdifFileName='user2_cert.ldif' |
| | | remoteUser1LdifFile='%s/%s/../%s/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME,relativeDataDir,user1LdifFileName) |
| | | remoteUser2LdifFile='%s/%s/../%s/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME,relativeDataDir,user2LdifFileName) |
| | | localUser1LdifFile='%s/%s' % (logsTempDir,user1LdifFileName) |
| | | localUser2LdifFile='%s/%s' % (logsTempDir,user2LdifFileName) |
| | | localUser2LdifFile='%s/%s' % (logsTempDir,user2LdifFileName) |
| | | </script> |
| | | </sequence> |
| | | </function> |
| | |
| | | 'keystore' : 'keystore', |
| | | 'storepass' : SERVER_STOREPASS, |
| | | 'keypass' : SERVER_KEYPASS, |
| | | 'storetype' : 'JKS' |
| | | 'storetype' : 'JKS' |
| | | } |
| | | </call> |
| | | |
| | | |
| | | <!-- Self-Sign Server Cert --> |
| | | <message> |
| | | '---- Self-Signing Server Certicate ---- ' |
| | |
| | | 'storepass' : SERVER_STOREPASS, |
| | | 'keypass' : SERVER_KEYPASS, |
| | | 'keystore' : 'keystore', |
| | | 'storetype' : 'JKS' |
| | | 'storetype' : 'JKS' |
| | | } |
| | | </call> |
| | | |
| | |
| | | <call function="'createFolder'"> |
| | | { 'location' : DIRECTORY_INSTANCE_HOST, |
| | | 'foldername' : CERT_TMP } |
| | | </call> |
| | | </call> |
| | | <call function="'checktestRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | </call> |
| | | |
| | | <message> |
| | | '---- Generating client Certicate : %s ---- ' % (USER_1_CERT) |
| | | </message> |
| | | |
| | | <!-- create a client certificate : USER_1_CERT --> |
| | | <!-- create a client certificate : USER_1_CERT --> |
| | | <call function="'genCertificate'"> |
| | | { 'certAlias' : USER_1_CERT, |
| | | 'dname' : USER_1_DN, |
| | |
| | | <call function="'testCase_Postamble'" /> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | <!--- Test Case : export client and server certificates --> |
| | | <!--- |
| | |
| | | #@TestPurpose Export and import client and server certificates |
| | | #@TestPreamble none |
| | | #@TestStep Export client and server certificates |
| | | #@TestStep Import the certificates in the server and clients Database |
| | | #@TestStep Import the certificates in the server and clients Database |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | --> |
| | | |
| | | |
| | | <testcase name="getTestCaseName(' setup. Export and Import certificates')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'" /> |
| | |
| | | <call function="'loadVariables'" /> |
| | | |
| | | <!-- Export the server Cert --> |
| | | <message>'---- Export the Server Certicate ----'</message> |
| | | <message>'---- Export the Server Certicate ----'</message> |
| | | <call function="'ExportCertificate'"> |
| | | { 'certAlias' : 'server-cert' , |
| | | 'outputfile' : SERVER_CERT_FILE, |
| | | 'storepass' : SERVER_STOREPASS, |
| | | 'storetype' : 'JKS' |
| | | } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- export client certificate : USER_1_CERT --> |
| | | <message> '---- Export the client certificate : : %s ---- ' % (USER_1_CERT)</message> |
| | |
| | | 'storetype' : 'JKS' |
| | | } |
| | | </call> |
| | | |
| | | |
| | | <!-- Import the server Certificate under the client database --> |
| | | <message>'---- Import the Server Certificate under the client keystore----'</message> |
| | | <message>'---- Import the Server Certificate under the client keystore----'</message> |
| | | <call function="'ImportCertificate'"> |
| | | { 'certAlias' : 'server-cert', |
| | | 'inputfile' : SERVER_CERT_FILE, |
| | |
| | | 'storetype' : 'JKS' |
| | | } |
| | | </call> |
| | | |
| | | <message> '---- Import the client Certificates %s under the server keystore----' % (USER_2_CERT)</message> |
| | | |
| | | <message> '---- Import the client Certificates %s under the server keystore----' % (USER_2_CERT)</message> |
| | | <call function="'ImportCertificate'"> |
| | | { 'certAlias' : USER_2_CERT, |
| | | 'inputfile' : USER_2_CERT_FILE, |
| | |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsScope' : 'base', |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsUseSSL' : ' ', |
| | | 'dsUseSSL' : ' ', |
| | | 'dsTrustAll' : ' ', |
| | | 'expectedRC' : 0 |
| | | } |
| | |
| | | |
| | | <!-- Create users entries--> |
| | | <!-- Create USER_1_DN --> |
| | | <message> '---- Create User entry : %s----' % USER_1_DN</message> |
| | | <message> '---- Create User entry : %s----' % USER_1_DN</message> |
| | | <script> |
| | | listAttr = [] |
| | | listAttr.append('objectclass:top') |
| | |
| | | <call function="'addAnEntry'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToAdd' : USER_1_DN, |
| | | 'DNToAdd' : USER_1_DN, |
| | | 'listAttributes' : listAttr, |
| | | 'expectedRC' : 0 |
| | | } |
| | |
| | | <call function="'modifyEntry'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'entryToBeModified' : remoteUser1LdifFile, |
| | | 'entryToBeModified' : remoteUser1LdifFile, |
| | | 'expectedRC' : 0 |
| | | } |
| | | </call> |
| | |
| | | listAttr.append('objectclass:organizationalperson') |
| | | listAttr.append('objectclass:inetorgperson') |
| | | listAttr.append('objectclass:person') |
| | | listAttr.append('objectclass:ds-certificate-user') |
| | | listAttr.append('objectclass:ds-certificate-user') |
| | | listAttr.append('objectclass:strongAuthenticationUser') |
| | | listAttr.append('userCertificate;binary: bad_certificate') |
| | | listAttr.append('userCertificate;binary: bad_certificate') |
| | | listAttr.append('givenname:%s' % USER_2_CERT) |
| | | listAttr.append('sn:%s' % USER_2_CERT) |
| | | listAttr.append('cn:%s' % USER_2_CERT) |
| | |
| | | <call function="'addAnEntry'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'DNToAdd' : USER_2_DN, |
| | | 'DNToAdd' : USER_2_DN, |
| | | 'listAttributes' : listAttr, |
| | | 'expectedRC' : 0 |
| | | } |
| | |
| | | ret_str+=line.strip() |
| | | </script> |
| | | |
| | | <!-- Modify the user Entry to store the certificates --> |
| | | <!-- Modify the user Entry to store the certificates --> |
| | | <script> |
| | | listAttr = [] |
| | | listAttr.append('dn: %s' % USER_2_DN) |
| | |
| | | <call function="'modifyEntry'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'entryToBeModified' : '%s' % remoteUser2LdifFile, |
| | | 'entryToBeModified' : '%s' % remoteUser2LdifFile, |
| | | 'expectedRC' : 0 |
| | | } |
| | | </call> |
| | |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | <!-- Load in the local shared python objects from libraries --> |
| | | <!-- Load in the local shared python objects from libraries --> |
| | | <call function="'loadVariables'"> |
| | | </call> |
| | | </call> |
| | | <!--- Unconfigure SSL and TLS --> |
| | | |
| | | <message> |
| | | '---- Configure SSL and TLS----' |
| | | </message> |
| | | </message> |
| | | |
| | | <call function="'unconfigureSSL_TLS'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD } |
| | | </call> |
| | | |
| | | |
| | | <!-- remove client certificates keystore --> |
| | | |
| | | |
| | | <!-- remove client certificates keystore --> |
| | | <message> |
| | | 'Delete folder %s' % (CERT_TMP) |
| | | </message> |
| | | |
| | | |
| | | <call function="'deleteFolder'"> |
| | | { 'location' : DIRECTORY_INSTANCE_HOST, |
| | | 'foldername' : CERT_TMP } |
| | | </call> |
| | | |
| | | 'foldername' : CERT_TMP } |
| | | </call> |
| | | |
| | | <!--- Remove JKS Keystore --> |
| | | <message> |
| | | 'Security: client_auth: Removing JKS Keystore' |
| | |
| | | 'Security: client_auth: Postamble. Searching with Unsecure Connection' |
| | | </message> |
| | | |
| | | <call function="'SearchObject'"> |
| | | <call function="'SearchObject'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX , |
| | | 'dsScope' : 'base', |
| | | 'dsScope' : 'base', |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <call function="'DeleteEntry'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : USER_1_DN, |
| | | 'expectedRC' : 0 } |
| | | 'dsBaseDN' : USER_1_DN, |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | |
| | | <call function="'DeleteEntry'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : USER_2_DN, |
| | | 'expectedRC' : 0 } |
| | | 'dsBaseDN' : USER_2_DN, |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | |
| | | |
| | | <!--- Test Case : setup --> |
| | | <!--- |
| | | #@TestMarker Setup Tests |
| | | #@TestName Set the SASL EXTERNAL mechanism to Subject Equal DN |
| | | #@TestIssue |
| | | #@TestPurpose Set the SASL EXTERNAL mechanism to Subject EqualN |
| | | #@TestPreamble none |
| | | #@TestStep Set the SASL EXTERNAL mechanism to Subject Equal DN |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | #@TestMarker Setup Tests |
| | | #@TestName Set the SASL EXTERNAL mechanism to Subject Equal DN |
| | | #@TestIssue |
| | | #@TestPurpose Set the SASL EXTERNAL mechanism to Subject EqualN |
| | | #@TestPreamble none |
| | | #@TestStep Set the SASL EXTERNAL mechanism to Subject Equal DN |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | --> |
| | | |
| | | |
| | | |
| | | <testcase name="getTestCaseName(' setup - equal_dn_mapper')"> |
| | | |
| | | <sequence> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | <message> |
| | | '---- Configure the SASL EXTERNAL mechanism -----' |
| | | </message> |
| | | |
| | | </message> |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : 'cn=EXTERNAL,cn=SASL Mechanisms,cn=config', |
| | | 'DNToModify' : 'cn=EXTERNAL,cn=SASL Mechanisms,cn=config', |
| | | 'attributeName' : 'ds-cfg-certificate-mapper-dn', |
| | | 'newAttributeValue' : 'cn=Subject Equals DN,cn=Certificate Mappers,cn=config', |
| | | 'changetype' : 'replace', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | <!--- |
| | | #@TestMarker Equal DN mapping |
| | | #@TestName Mapping on DN |
| | | #@TestIssue |
| | | #@TestPurpose Use the Equal DN certificate mapper |
| | | #@TestMarker Equal DN mapping |
| | | #@TestName Mapping on DN |
| | | #@TestIssue |
| | | #@TestPurpose Use the Equal DN certificate mapper |
| | | #@TestPurpose The mapping will be done on entry DN |
| | | #@TestStep Two users entries are used to validate this mapper |
| | | #@TestPreamble none |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | #@TestPreamble none |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | --> |
| | | |
| | | <testcase name="getTestCaseName('Equal DN mapping ')"> |
| | |
| | | |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | <!-- Load in the local shared python objects from libraries --> |
| | | <!-- Load in the local shared python objects from libraries --> |
| | | <call function="'loadVariables'"> |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <!-- Check mapping is working --> |
| | | <message>'--- Check SSL communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseSSL' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | ldapSearchResult = STAXResult[0][1] |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- bound as USER_2_DN --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseSSL' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | ldapSearchResult = STAXResult[0][1] |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | <message>'--- Check StartTLS communication with SASL EXTERNAL authentication'</message> |
| | | <!-- bound as USER_1_DN --> |
| | | <message>'--- Check StartTLS communication with SASL EXTERNAL authentication'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseStartTLS' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <script> |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <!-- bound as USER_2_DN --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseStartTLS' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | <script> |
| | | STAXCode = RC |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | |
| | | |
| | | <!--- Test Case : setup --> |
| | | <!--- |
| | | #@TestMarker Setup Tests |
| | | #@TestName Set the SASL EXTERNAL mechanism to fingerprint certificate mapper |
| | | #@TestIssue |
| | | #@TestPurpose Set the SASL EXTERNAL mechanism to fingerprint certificate mapper |
| | | #@TestPreamble none |
| | | #@TestStep Set the SASL EXTERNAL mechanism to fingerprint certificate mapper |
| | | #@TestStep keep the default ds-cfg-certificate-subject-attribute-type which is ds-certificate-subject-dn |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | #@TestMarker Setup Tests |
| | | #@TestName Set the SASL EXTERNAL mechanism to fingerprint certificate mapper |
| | | #@TestIssue |
| | | #@TestPurpose Set the SASL EXTERNAL mechanism to fingerprint certificate mapper |
| | | #@TestPreamble none |
| | | #@TestStep Set the SASL EXTERNAL mechanism to fingerprint certificate mapper |
| | | #@TestStep keep the default ds-cfg-certificate-subject-attribute-type which is ds-certificate-subject-dn |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | --> |
| | | |
| | | |
| | | |
| | | <testcase name="getTestCaseName(' setup - fingerprint_mapper')"> |
| | | |
| | |
| | | |
| | | <message> |
| | | '---- Configure the SASL EXTERNAL mechanism -----' |
| | | </message> |
| | | |
| | | </message> |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : 'cn=EXTERNAL,cn=SASL Mechanisms,cn=config', |
| | | 'DNToModify' : 'cn=EXTERNAL,cn=SASL Mechanisms,cn=config', |
| | | 'attributeName' : 'ds-cfg-certificate-mapper-dn', |
| | | 'newAttributeValue' : 'cn=Fingerprint Mapper,cn=Certificate Mappers,cn=config', |
| | | 'changetype' : 'replace', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | |
| | | <!-- Load in the local shared python objects from libraries --> |
| | | <!-- Load in the local shared python objects from libraries --> |
| | | <call function="'loadVariables'"> |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | |
| | | <!-- get the fingerprint for USER_1_CERT --> |
| | | <!-- get the fingerprint for USER_1_CERT --> |
| | | <call function="'getFingerprint'"> |
| | | { 'certAlias' : '%s' % USER_1_CERT, |
| | | 'storepass' : CLIENT_STOREPASS, |
| | | 'keystore' : CLIENT_KEYSTORE } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | certificateResult = STAXResult[0][1] |
| | | </script> |
| | | <script> |
| | | <script> |
| | | string_len=len(certificateResult) |
| | | index_MD5=certificateResult.find("MD5:") |
| | | index_SHA1=certificateResult.find("SHA1:") |
| | |
| | | SHA1_fingerprint_cert1=certificateResult[index_SHA1+5:string_len].strip() |
| | | </script> |
| | | |
| | | <message>'MD5 fingerprint for %s is : %s ' % (USER_1_CERT,MD5_fingerprint_cert1)</message> |
| | | <message>'SHA1 fingerprint for %s is : %s ' % (USER_1_CERT,SHA1_fingerprint_cert1)</message> |
| | | <message>'MD5 fingerprint for %s is : %s ' % (USER_1_CERT,MD5_fingerprint_cert1)</message> |
| | | <message>'SHA1 fingerprint for %s is : %s ' % (USER_1_CERT,SHA1_fingerprint_cert1)</message> |
| | | |
| | | |
| | | <!-- get the fingerprint for USER_2_CERT --> |
| | | <!-- get the fingerprint for USER_2_CERT --> |
| | | <call function="'getFingerprint'"> |
| | | { 'certAlias' : '%s' % USER_2_CERT, |
| | | 'storepass' : CLIENT_STOREPASS, |
| | | 'keystore' : CLIENT_KEYSTORE } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | certificateResult = STAXResult[0][1] |
| | | </script> |
| | | <script> |
| | | <script> |
| | | string_len=len(certificateResult) |
| | | index_MD5=certificateResult.find("MD5:") |
| | | index_SHA1=certificateResult.find("SHA1:") |
| | |
| | | SHA1_fingerprint_cert2=certificateResult[index_SHA1+5:string_len].strip() |
| | | </script> |
| | | |
| | | <message>'MD5 fingerprint for %s is : %s ' % (USER_2_CERT,MD5_fingerprint_cert2)</message> |
| | | <message>'SHA1 fingerprint for %s is : %s ' % (USER_2_CERT,SHA1_fingerprint_cert2)</message> |
| | | <message>'MD5 fingerprint for %s is : %s ' % (USER_2_CERT,MD5_fingerprint_cert2)</message> |
| | | <message>'SHA1 fingerprint for %s is : %s ' % (USER_2_CERT,SHA1_fingerprint_cert2)</message> |
| | | |
| | | <!-- Configure the mapper to map MD5 --> |
| | | <!-- Configure the mapper to map MD5 --> |
| | | <script> |
| | | listAttr = [] |
| | | listAttr.append('ds-cfg-certificate-fingerprint-attribute-type:ds-certificate-fingerprint') |
| | | listAttr.append('ds-cfg-certificate-fingerprint-algorithm:MD5') |
| | | </script> |
| | | |
| | | <message>'----- Configure the mapper to map MD5 fingerprint '</message> |
| | | |
| | | <message>'----- Configure the mapper to map MD5 fingerprint '</message> |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : 'cn=Fingerprint Mapper,cn=Certificate Mappers,cn=config', |
| | | 'DNToModify' : 'cn=Fingerprint Mapper,cn=Certificate Mappers,cn=config', |
| | | 'listAttributes' : listAttr, |
| | | 'changetype' : 'replace', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <!-- configure the user entries --> |
| | | <message>'----- Configure the attribute ds-certificate-fingerprint for user %s ---' % USER_1_DN</message> |
| | | <message>'----- ds-certificate-fingerprint is the MD5 fingerprint of the certificate %s ' % USER_1_CERT</message> |
| | | |
| | | |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_1_DN, |
| | | 'DNToModify' : USER_1_DN, |
| | | 'attributeName' : 'ds-certificate-fingerprint', |
| | | 'newAttributeValue' : MD5_fingerprint_cert1, |
| | | 'changetype' : 'add', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <message> '----- Configure the attribute ds-certificate-fingerprint for user %s ---' % USER_2_DN</message> |
| | | <message>'------ ds-certificate-fingerprint is the SHA1 fingerprint of the certificate %s ' % USER_2_CERT</message> |
| | | |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_2_DN, |
| | | 'DNToModify' : USER_2_DN, |
| | | 'attributeName' : 'ds-certificate-fingerprint', |
| | | 'newAttributeValue' : SHA1_fingerprint_cert2, |
| | | 'changetype' : 'add', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <!-- Check mapping is working --> |
| | | <message>'--- Check SSL communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | |
| | | |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | |
| | | |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseSSL' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | ldapSearchResult = STAXResult[0][1] |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <!-- No bound expected --> |
| | | |
| | | |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseSSL' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | |
| | | <message>'--- Check StartTLS communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | |
| | | |
| | | |
| | | |
| | | <message>'--- Check StartTLS communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | |
| | | |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseStartTLS' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | ldapSearchResult = STAXResult[0][1] |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | </call> |
| | | |
| | | |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseStartTLS' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | <!-- Configure the mapper to map SHA1 fingerprint --> |
| | | <message>'----- Configure the mapper to map SHA1 fingerprint '</message> |
| | | <script> |
| | | |
| | | <!-- Configure the mapper to map SHA1 fingerprint --> |
| | | <message>'----- Configure the mapper to map SHA1 fingerprint '</message> |
| | | <script> |
| | | listAttr = [] |
| | | listAttr.append('ds-cfg-certificate-fingerprint-attribute-type:ds-certificate-fingerprint') |
| | | listAttr.append('ds-cfg-certificate-fingerprint-algorithm:SHA1') |
| | | </script> |
| | | |
| | | |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : 'cn=Fingerprint Mapper,cn=Certificate Mappers,cn=config', |
| | | 'DNToModify' : 'cn=Fingerprint Mapper,cn=Certificate Mappers,cn=config', |
| | | 'listAttributes' : listAttr, |
| | | 'changetype' : 'replace', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <!-- Check mapping is working --> |
| | | <message>'--- Check SSL communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_2_DN --> |
| | | |
| | | <!-- bound as USER_2_DN --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseSSL' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | ldapSearchResult = STAXResult[0][1] |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <!-- No bound expected --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseSSL' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | |
| | | <message>'--- Check StartTLS communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_2__DN --> |
| | | |
| | | |
| | | <message>'--- Check StartTLS communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_2__DN --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseStartTLS' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | ldapSearchResult = STAXResult[0][1] |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | </call> |
| | | |
| | | |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseStartTLS' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | |
| | | <!-- Restore initial users configuration --> |
| | | |
| | | |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_1_DN, |
| | | 'DNToModify' : USER_1_DN, |
| | | 'attributeName' : 'ds-certificate-fingerprint', |
| | | 'newAttributeValue' : MD5_fingerprint_cert1, |
| | | 'changetype' : 'delete', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_2_DN, |
| | | 'DNToModify' : USER_2_DN, |
| | | 'attributeName' : 'ds-certificate-fingerprint', |
| | | 'newAttributeValue' : SHA1_fingerprint_cert2, |
| | | 'changetype' : 'delete', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | |
| | | <!-- Load in the local shared python objects from libraries --> |
| | | <!-- Load in the local shared python objects from libraries --> |
| | | <call function="'loadVariables'"> |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | |
| | | <!-- get the fingerprint for USER_1_CERT --> |
| | | <!-- get the fingerprint for USER_1_CERT --> |
| | | <call function="'getFingerprint'"> |
| | | { 'certAlias' : '%s' % USER_1_CERT, |
| | | 'storepass' : CLIENT_STOREPASS, |
| | | 'keystore' : CLIENT_KEYSTORE } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | certificateResult = STAXResult[0][1] |
| | | </script> |
| | | <script> |
| | | <script> |
| | | string_len=len(certificateResult) |
| | | index_MD5=certificateResult.find("MD5:") |
| | | index_SHA1=certificateResult.find("SHA1:") |
| | |
| | | </script> |
| | | |
| | | |
| | | <message>'MD5 fingerprint for %s is : %s ' % (USER_1_CERT,MD5_fingerprint_cert1)</message> |
| | | <message>'SHA1 fingerprint for %s is : %s ' % (USER_1_CERT,SHA1_fingerprint_cert1)</message> |
| | | |
| | | <message>'MD5 fingerprint for %s is : %s ' % (USER_1_CERT,MD5_fingerprint_cert1)</message> |
| | | <message>'SHA1 fingerprint for %s is : %s ' % (USER_1_CERT,SHA1_fingerprint_cert1)</message> |
| | | |
| | | |
| | | |
| | | <!-- get the fingerprint for USER_2_CERT --> |
| | | <!-- get the fingerprint for USER_2_CERT --> |
| | | <call function="'getFingerprint'"> |
| | | { 'certAlias' : '%s' % USER_2_CERT, |
| | | 'storepass' : CLIENT_STOREPASS, |
| | | 'keystore' : CLIENT_KEYSTORE } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | certificateResult = STAXResult[0][1] |
| | | </script> |
| | | <script> |
| | | <script> |
| | | string_len=len(certificateResult) |
| | | index_MD5=certificateResult.find("MD5:") |
| | | index_SHA1=certificateResult.find("SHA1:") |
| | |
| | | </script> |
| | | |
| | | |
| | | <message>'MD5 fingerprint for %s is : %s ' % (USER_2_CERT,MD5_fingerprint_cert2)</message> |
| | | <message>'SHA1 fingerprint for %s is : %s ' % (USER_2_CERT,SHA1_fingerprint_cert2)</message> |
| | | <message>'MD5 fingerprint for %s is : %s ' % (USER_2_CERT,MD5_fingerprint_cert2)</message> |
| | | <message>'SHA1 fingerprint for %s is : %s ' % (USER_2_CERT,SHA1_fingerprint_cert2)</message> |
| | | |
| | | |
| | | <!-- Configure the mapper to map MD5 --> |
| | | <message>'----- Configure the mapper to map MD5 fingerprint on the attribute description'</message> |
| | | |
| | | <!-- Configure the mapper to map MD5 --> |
| | | <message>'----- Configure the mapper to map MD5 fingerprint on the attribute description'</message> |
| | | |
| | | <!-- Configure the mapper to map MD5 --> |
| | | <!-- Configure the mapper to map MD5 --> |
| | | <script> |
| | | listAttr = [] |
| | | listAttr.append('ds-cfg-certificate-fingerprint-attribute-type:description') |
| | | listAttr.append('ds-cfg-certificate-fingerprint-algorithm:MD5') |
| | | </script> |
| | | |
| | | |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : 'cn=Fingerprint Mapper,cn=Certificate Mappers,cn=config', |
| | | 'DNToModify' : 'cn=Fingerprint Mapper,cn=Certificate Mappers,cn=config', |
| | | 'listAttributes' : listAttr, |
| | | 'changetype' : 'replace', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <!-- configure the user entries --> |
| | | <message>'----- Configure the attribute description for user %s ---' % USER_1_DN</message> |
| | | <message>'----- description is the MD5 fingerprint of the certificate %s ' % USER_1_CERT</message> |
| | | |
| | | |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_1_DN, |
| | | 'DNToModify' : USER_1_DN, |
| | | 'attributeName' : 'description', |
| | | 'newAttributeValue' : MD5_fingerprint_cert1, |
| | | 'changetype' : 'add', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <message> '----- Configure the attribute description for user %s ---' % USER_2_DN</message> |
| | | <message>'------ description is the SHA1 fingerprint of the certificate %s ' % USER_2_CERT</message> |
| | | |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_2_DN, |
| | | 'DNToModify' : USER_2_DN, |
| | | 'attributeName' : 'description', |
| | | 'newAttributeValue' : SHA1_fingerprint_cert2, |
| | | 'changetype' : 'add' , |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <!-- Check mapping is working --> |
| | | <message>'--- Check SSL communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | |
| | | |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | |
| | | |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseSSL' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | ldapSearchResult = STAXResult[0][1] |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <!-- No bound expected --> |
| | | |
| | | |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseSSL' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | |
| | | <message>'--- Check StartTLS communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | |
| | | |
| | | |
| | | |
| | | <message>'--- Check StartTLS communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | |
| | | |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseStartTLS' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | ldapSearchResult = STAXResult[0][1] |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | </call> |
| | | |
| | | |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseStartTLS' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | <!-- Configure the mapper to map SHA1 fingerprint --> |
| | | <message>'----- Configure the mapper to map SHA1 fingerprint on the attributes description'</message> |
| | | <script> |
| | | |
| | | <!-- Configure the mapper to map SHA1 fingerprint --> |
| | | <message>'----- Configure the mapper to map SHA1 fingerprint on the attributes description'</message> |
| | | <script> |
| | | listAttr = [] |
| | | listAttr.append('ds-cfg-certificate-fingerprint-attribute-type:description') |
| | | listAttr.append('ds-cfg-certificate-fingerprint-algorithm:SHA1') |
| | | </script> |
| | | |
| | | |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : 'cn=Fingerprint Mapper,cn=Certificate Mappers,cn=config', |
| | | 'DNToModify' : 'cn=Fingerprint Mapper,cn=Certificate Mappers,cn=config', |
| | | 'listAttributes' : listAttr, |
| | | 'changetype' : 'replace', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <!-- Check mapping is working --> |
| | | <message>'--- Check SSL communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_2_DN --> |
| | | |
| | | <!-- bound as USER_2_DN --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseSSL' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | ldapSearchResult = STAXResult[0][1] |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <!-- No bound expected --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseSSL' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | |
| | | <message>'--- Check StartTLS communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_2__DN --> |
| | | |
| | | |
| | | <message>'--- Check StartTLS communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_2__DN --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseStartTLS' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | ldapSearchResult = STAXResult[0][1] |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | </call> |
| | | |
| | | |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseStartTLS' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | |
| | | <!-- Restore initial users configuration --> |
| | | |
| | | |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_1_DN, |
| | | 'DNToModify' : USER_1_DN, |
| | | 'attributeName' : 'description', |
| | | 'newAttributeValue' : MD5_fingerprint_cert1, |
| | | 'changetype' : 'delete', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_2_DN, |
| | | 'DNToModify' : USER_2_DN, |
| | | 'attributeName' : 'description', |
| | | 'newAttributeValue' : SHA1_fingerprint_cert2, |
| | | 'changetype' : 'delete', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | </sequence> |
| | | </function> |
| | | |
| | | </stax> |
| | | |
| | | |
| | |
| | | |
| | | <!--- Test Case : setup --> |
| | | <!--- |
| | | #@TestMarker Setup Tests |
| | | #@TestName Set the SASL EXTERNAL mechanism to Subject attribute to User Attribute |
| | | #@TestIssue |
| | | #@TestPurpose Set the SASL EXTERNAL mechanism to Subject attribute to User Attribute |
| | | #@TestPreamble none |
| | | #@TestStep Map attributes from the certificate subject to attributes in user entries |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | #@TestMarker Setup Tests |
| | | #@TestName Set the SASL EXTERNAL mechanism to Subject attribute to User Attribute |
| | | #@TestIssue |
| | | #@TestPurpose Set the SASL EXTERNAL mechanism to Subject attribute to User Attribute |
| | | #@TestPreamble none |
| | | #@TestStep Map attributes from the certificate subject to attributes in user entries |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | --> |
| | | |
| | | |
| | | |
| | | <testcase name="getTestCaseName(' setup - subject_attribute_mapper')"> |
| | | |
| | | <sequence> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | <message> |
| | | '---- Configure the SASL EXTERNAL mechanism with Subject Attribute to User Attribute mapper -----' |
| | | </message> |
| | | |
| | | </message> |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : 'cn=EXTERNAL,cn=SASL Mechanisms,cn=config', |
| | | 'DNToModify' : 'cn=EXTERNAL,cn=SASL Mechanisms,cn=config', |
| | | 'attributeName' : 'ds-cfg-certificate-mapper-dn', |
| | | 'newAttributeValue' : 'cn=Subject Attribute to User Attribute,cn=Certificate Mappers,cn=config', |
| | | 'changetype' : 'replace', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | <message> |
| | | '---- Configure the Subject Attribute to User Attribute mapper -----' |
| | | </message> |
| | | </message> |
| | | <script> |
| | | listAttr = [] |
| | | listAttr.append('cn=ds-cfg-certificate-subject-attribute-mapping:cn:cn') |
| | | listAttr.append('cn=ds-cfg-certificate-subject-attribute-mapping:e:mail') |
| | | </script> |
| | | listAttr.append('cn=ds-cfg-certificate-subject-attribute-mapping:e:mail') |
| | | </script> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | |
| | | |
| | | |
| | | <!--- |
| | | #@TestMarker Subject Attributes mapping to user attribute |
| | | #@TestName Use only one attribute mapping |
| | | #@TestIssue |
| | | #@TestPurpose Map attributes from the certificate subject to attributes in user entries |
| | | #@TestMarker Subject Attributes mapping to user attribute |
| | | #@TestName Use only one attribute mapping |
| | | #@TestIssue |
| | | #@TestPurpose Map attributes from the certificate subject to attributes in user entries |
| | | #@TestStep the subject certificate is defined with the format : uid=client-cert-1,SUFFIX |
| | | #@TestStep The mapping will be done on the attribute uid from the cerficate subject |
| | | #@TestStep The mapping will be done on the attribute uid from the cerficate subject |
| | | #@TestStep and the attribute 'description' of the user's entry |
| | | #@TestPreamble none |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | #@TestPreamble none |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | --> |
| | | |
| | | <testcase name="getTestCaseName('subject attribute mapping')"> |
| | |
| | | |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | <!-- Load in the local shared python objects from libraries --> |
| | | <!-- Load in the local shared python objects from libraries --> |
| | | <call function="'loadVariables'"> |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <message> |
| | | '---- Configure the Subject Attribute to User Attribute mapper -----' |
| | | </message> |
| | | <message>'---- Add a new mapping rule from attribute "uid" from certificate subject and attribute "description" of the user entry'</message> |
| | | </message> |
| | | <message>'---- Add a new mapping rule from attribute "uid" from certificate subject and attribute "description" of the user entry'</message> |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : 'cn=Subject Attribute to User Attribute,cn=Certificate Mappers,cn=config', |
| | | 'DNToModify' : 'cn=Subject Attribute to User Attribute,cn=Certificate Mappers,cn=config', |
| | | 'attributeName' : 'ds-cfg-certificate-subject-attribute-mapping', |
| | | 'newAttributeValue' : 'uid:description', |
| | | 'changetype' : 'replace', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | |
| | | <message>'----- Configure the attribute description for user %s ---' % USER_1_DN</message> |
| | | <message>'----- the attribute description will map with the attribute "uid" of the certificate subject'</message> |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_1_DN, |
| | | 'DNToModify' : USER_1_DN, |
| | | 'attributeName' : 'description', |
| | | 'newAttributeValue' : USER_1_CERT, |
| | | 'changetype' : 'add', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | <message>'----- Configure the attribute description for user %s ---' % USER_2_DN</message> |
| | | <message>'----- the attribute description contains invalid value'</message> |
| | | <message>'----- it will not map with the attribute "uid" of the certificate subject'</message> |
| | | <message>'----- it will not map with the attribute "uid" of the certificate subject'</message> |
| | | |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_2_DN, |
| | | 'DNToModify' : USER_2_DN, |
| | | 'attributeName' : 'description', |
| | | 'newAttributeValue' : 'bad-certificate', |
| | | 'changetype' : 'add', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | <!-- Check mapping is working --> |
| | | |
| | | <message>'--- Check SSL communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | <message>'--- Check SSL communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseSSL' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | ldapSearchResult = STAXResult[0][1] |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- No mapping expected --> |
| | | <!-- No mapping expected --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseSSL' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <message>'--- Check StartTLS communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | <message>'--- Check StartTLS communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseStartTLS' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | ldapSearchResult = STAXResult[0][1] |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | </call> |
| | | |
| | | <!-- No mapping expected --> |
| | | <!-- No mapping expected --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseStartTLS' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | |
| | | |
| | | <!--- Test Case : setup --> |
| | | <!--- |
| | | #@TestMarker Setup Tests |
| | | #@TestName Set the SASL EXTERNAL mechanism to Subject DN to User Attribute |
| | | #@TestIssue |
| | | #@TestPurpose Set the SASL EXTERNAL mechanism to Subject DN to User Attribute |
| | | #@TestPreamble none |
| | | #@TestStep Set the SASL EXTERNAL mechanism to Subject DN to User Attribute |
| | | #@TestStep keep the default ds-cfg-certificate-subject-attribute-type which is ds-certificate-subject-dn |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | #@TestMarker Setup Tests |
| | | #@TestName Set the SASL EXTERNAL mechanism to Subject DN to User Attribute |
| | | #@TestIssue |
| | | #@TestPurpose Set the SASL EXTERNAL mechanism to Subject DN to User Attribute |
| | | #@TestPreamble none |
| | | #@TestStep Set the SASL EXTERNAL mechanism to Subject DN to User Attribute |
| | | #@TestStep keep the default ds-cfg-certificate-subject-attribute-type which is ds-certificate-subject-dn |
| | | #@TestPostamble none |
| | | #@TestResult Success if OpenDS returns 0 for all operations |
| | | --> |
| | | |
| | | |
| | | |
| | | <testcase name="getTestCaseName(' setup - Subject_dn_mapper')"> |
| | | |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | |
| | | <message> |
| | | '---- Configure the SASL EXTERNAL mechanism -----' |
| | | </message> |
| | | |
| | | </message> |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : 'cn=EXTERNAL,cn=SASL Mechanisms,cn=config', |
| | | 'DNToModify' : 'cn=EXTERNAL,cn=SASL Mechanisms,cn=config', |
| | | 'attributeName' : 'ds-cfg-certificate-mapper-dn', |
| | | 'newAttributeValue' : 'cn=Subject DN to User Attribute,cn=Certificate Mappers,cn=config', |
| | | 'changetype' : 'replace', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | <!-- Load in the local shared python objects from libraries --> |
| | | <!-- Load in the local shared python objects from libraries --> |
| | | <call function="'loadVariables'"> |
| | | </call> |
| | | |
| | | |
| | | </call> |
| | | |
| | | |
| | | <message>'----- Configure the attribute ds-certificate-subject-dn for user %s ---' % USER_1_DN</message> |
| | | <message>'----- ds-certificate-subject-dn is the subject of the certificate %s '% USER_1_CERT</message> |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_1_DN, |
| | | 'DNToModify' : USER_1_DN, |
| | | 'attributeName' : 'ds-certificate-subject-dn', |
| | | 'newAttributeValue' : USER_1_DN, |
| | | 'changetype' : 'add', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | |
| | | <message> '----- Configure the attribute ds-certificate-subject-dn for user %s ---' % USER_2_DN</message> |
| | | <message>'------ ds-certificate-subject-dn contains an invalid DN'</message> |
| | | |
| | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_2_DN, |
| | | 'DNToModify' : USER_2_DN, |
| | | 'attributeName' : 'ds-certificate-subject-dn', |
| | | 'newAttributeValue' : 'uid=bad-certificate', |
| | | 'changetype' : 'add', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | |
| | | <!-- Check mapping is working --> |
| | | <message>'--- Check SSL communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseSSL' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | ldapSearchResult = STAXResult[0][1] |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <!-- No bound expected --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseSSL' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | |
| | | <message>'--- Check StartTLS communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | |
| | | |
| | | <message>'--- Check StartTLS communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- bound as USER_1_DN --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseStartTLS' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | ldapSearchResult = STAXResult[0][1] |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | </call> |
| | | |
| | | |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseStartTLS' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | |
| | | <!-- Restore initial users configuration --> |
| | | |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_1_DN, |
| | | 'DNToModify' : USER_1_DN, |
| | | 'attributeName' : 'ds-certificate-subject-dn', |
| | | 'newAttributeValue' : USER_1_DN, |
| | | 'changetype' : 'delete', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_2_DN, |
| | | 'DNToModify' : USER_2_DN, |
| | | 'attributeName' : 'ds-certificate-subject-dn', |
| | | 'newAttributeValue' : 'uid=bad-certificate', |
| | | 'changetype' : 'delete', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | |
| | | |
| | | <testcase name="getTestCaseName('subject dn mapping on attribut description')"> |
| | | <sequence> |
| | | |
| | | |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | <!-- Load in the local shared python objects from libraries --> |
| | | <!-- Load in the local shared python objects from libraries --> |
| | | <call function="'loadVariables'"> |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <message>'----- Configure the mapping to be done on the attribute description' </message> |
| | | |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : 'cn=Subject DN to User Attribute,cn=Certificate Mappers,cn=config', |
| | | 'DNToModify' : 'cn=Subject DN to User Attribute,cn=Certificate Mappers,cn=config', |
| | | 'attributeName' : 'ds-cfg-certificate-subject-attribute-type', |
| | | 'newAttributeValue' : 'description', |
| | | 'changetype' : 'replace', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | <message>'----- Configure the attribute ds-certificate-subject-dn for user %s ---' % USER_1_DN</message> |
| | | |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_1_DN, |
| | | 'DNToModify' : USER_1_DN, |
| | | 'attributeName' : 'description', |
| | | 'newAttributeValue' : 'bad_cert', |
| | | 'changetype' : 'add', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | <message> '----- Configure the attribute ds-certificate-subject-dn for user %s ---' % USER_2_DN</message> |
| | | <message>'------ ds-certificate-subject-dn contains an invalid DN'</message> |
| | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_2_DN, |
| | | 'DNToModify' : USER_2_DN, |
| | | 'attributeName' : 'description', |
| | | 'newAttributeValue' : USER_2_DN, |
| | | 'changetype' : 'add', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <!-- Check mapping is working --> |
| | | <message>'--- Check SSL communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- No mapping expected --> |
| | | |
| | | <!-- No mapping expected --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseSSL' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | <!-- bound as USER_2_DN --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseSSL' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | ldapSearchResult = STAXResult[0][1] |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <message>'--- Check StartTLS communication with SASL EXTERNAL authentication'</message> |
| | | |
| | | <!-- No mapping expected --> |
| | | |
| | | <!-- No mapping expected --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseStartTLS' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | <!-- bound as USER_2_DN --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsKeyStorePassword' : CLIENT_STOREPASS, |
| | | 'dsUseStartTLS' : ' ', |
| | | 'dsUseSASLExternal' : ' ', |
| | |
| | | 'dsKeyStorePath' : CLIENT_KEYSTORE, |
| | | 'dsReportAuthzID' : ' ', |
| | | 'dsScope' : 'base' , |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | STAXCode = RC |
| | | ldapSearchResult = STAXResult[0][1] |
| | |
| | | 'mainString' : ldapSearchResult , |
| | | 'nbExpected' : 1 |
| | | } |
| | | </call> |
| | | |
| | | |
| | | </call> |
| | | |
| | | |
| | | <!-- Restore initial users configuration --> |
| | | |
| | | |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_1_DN, |
| | | 'DNToModify' : USER_1_DN, |
| | | 'attributeName' : 'description', |
| | | 'newAttributeValue' : 'bad_cert', |
| | | 'changetype' : 'delete', |
| | | 'expectedRC' : 0 } |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_2_DN, |
| | | 'attributeName' : 'description', |
| | | 'newAttributeValue' : USER_2_DN, |
| | | 'changetype' : 'delete', |
| | | 'expectedRC' : 0 } |
| | | |
| | | <call function="'modifyAnAttribute'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'DNToModify' : USER_2_DN, |
| | | 'attributeName' : 'description', |
| | | 'newAttributeValue' : USER_2_DN, |
| | | 'changetype' : 'delete', |
| | | 'expectedRC' : 0 } |
| | | </call> |
| | | |
| | | |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | |
| | | </function> |
| | | |
| | | </stax> |
| | | |
| | | |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/security/security_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_setup'"/> |
| | | |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/jks/security_setup_jks.xml' % (TESTS_DIR)"/> |
| | |
| | | file="'%s/testcases/security/security_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_cleanup'"/> |
| | | |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | |
| | | 'Security: JKS: Preamble Step 1. Generating Server Certicate' |
| | | </message> |
| | | |
| | | |
| | | |
| | | <!-- create a server certificate --> |
| | | |
| | | |
| | | <call function="'genCertificate'"> |
| | | { 'certAlias' : 'server-cert' , |
| | | 'dname' : "cn=client,O=Sun Microsystems,C=US", |
| | | 'keystore' : 'keystore', |
| | | 'storepass' : 'servercert', |
| | | 'keypass' : 'servercert', |
| | | 'storetype' : 'JKS' } |
| | | 'storetype' : 'JKS' } |
| | | </call> |
| | | |
| | | |
| | | |
| | | <!--- Self-Sign Server Cert --> |
| | | <message> |
| | |
| | | 'storepass' : 'servercert', |
| | | 'keypass' : 'servercert', |
| | | 'keystore' : 'keystore', |
| | | 'storetype' : 'JKS' } |
| | | </call> |
| | | 'storetype' : 'JKS' } |
| | | </call> |
| | | |
| | | |
| | | |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-Z -X' } |
| | | 'extraParams' : '-Z -X' } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD } |
| | | </call> |
| | | </call> |
| | | |
| | | <!--- Remove JKS Keystore --> |
| | | <message> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/security/security_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_setup'"/> |
| | | |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/pkcs12/security_setup_pkcs12.xml' % (TESTS_DIR)"/> |
| | |
| | | file="'%s/testcases/security/security_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_cleanup'"/> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | 'keystore' : 'keystore', |
| | | 'storepass' : 'servercert', |
| | | 'keypass' : 'servercert', |
| | | 'storetype' : 'PKCS12' } |
| | | 'storetype' : 'PKCS12' } |
| | | </call> |
| | | |
| | | <!--- Self-Sign Server Cert --> |
| | |
| | | 'storepass' : 'servercert', |
| | | 'keypass' : 'servercert', |
| | | 'keystore' : 'keystore', |
| | | 'storetype' : 'PKCS12' } |
| | | </call> |
| | | 'storetype' : 'PKCS12' } |
| | | </call> |
| | | |
| | | <!--- Configure PKCS12 Keystore --> |
| | | <message> |
| | |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'keystoreType' : 'PKCS12' } |
| | | 'keystoreType' : 'PKCS12' } |
| | | </call> |
| | | |
| | | |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-Z -X' } |
| | | 'extraParams' : '-Z -X' } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'keystoreType' : 'PKCS12' } |
| | | </call> |
| | | |
| | | 'keystoreType' : 'PKCS12' } |
| | | </call> |
| | | |
| | | |
| | | <!--- Remove PKCS12 Keystore --> |
| | | <message> |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 19 } |
| | | 'expectedRC' : 19 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'attrToBeCompared' : 'pager:+1 999 555-1212', |
| | | 'entryToBeCompared' : 'uid=mdog,ou=people,ou=password tests,o=Pwd Policy Tests,dc=example,dc=com' , |
| | | 'expectedRC' : 16 } |
| | | 'expectedRC' : 16 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsInstancePswd' : 'pizza' , |
| | | 'attrToBeCompared' : 'l:Sunnyvale', |
| | | 'entryToBeCompared' : 'uid=mdog,ou=people,ou=password tests,o=Pwd Policy Tests,dc=example,dc=com' , |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 19 } |
| | | 'expectedRC' : 19 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base' , |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | <message> |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base', |
| | | 'expectedRC' : 49 } |
| | | 'expectedRC' : 49 } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | </iterate> |
| | | |
| | | <call function="'SearchObject'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : 'uid=tclow,ou=people,ou=password tests,o=Pwd Policy Tests,dc=example,dc=com' , |
| | | 'dsInstancePswd' : 'cardreader' , |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base' } |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : 'uid=tclow,ou=people,ou=password tests,o=Pwd Policy Tests,dc=example,dc=com' , |
| | | 'dsInstancePswd' : 'cardreader' , |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-s base' } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/security/security_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_setup'"/> |
| | | |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/pwd_policy/security_setup_pwd_policy.xml' % (TESTS_DIR)"/> |
| | |
| | | file="'%s/testcases/security/security_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_cleanup'"/> |
| | | |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/security/security_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_cleanup'"/> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/security_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_setup'"/> |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/pwd_storage/security_setup_pwd_storage.xml' % (TESTS_DIR)"/> |
| | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/security_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_cleanup'"/> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/security/security_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_setup'"/> |
| | | |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/pwd_validator/security_setup_pwd_validator.xml' % (TESTS_DIR)"/> |
| | |
| | | file="'%s/testcases/security/security_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_cleanup'"/> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/security/security_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_setup'"/> |
| | | |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | | file="'%s/testcases/security/sasl/security_setup_sasl.xml' % (TESTS_DIR)"/> |
| | |
| | | file="'%s/testcases/security/security_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_cleanup'"/> |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | |
| | | |
| | | <sequence> |
| | | |
| | | |
| | | <block name="'Block DS Process Stop'"> |
| | | |
| | | <block name="'Block DS Process Stop'"> |
| | | <!--- Stop DS --> |
| | | <sequence> |
| | | <sequence> |
| | | <message> |
| | | 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | </sequence> |
| | | <!--- End Block DS Process Stop --> |
| | | </block> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <block name="'Block Remove DS Topology'"> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <sequence> |
| | | |
| | | <block name="'Block Remove DS Topology'"> |
| | | <!-- Remove the topology created for the test suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Remove DS topology created for the Test Suite' |
| | | </message> |
| | | </message> |
| | | |
| | | <call function="'removeTopology'"/> |
| | | |
| | | <call function="'checkRC'"> |
| | | <call function="'removeTopology'"/> |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!-- End Block Remove DS Topology--> |
| | | </block> |
| | | |
| | | |
| | | |
| | | </sequence> |
| | | <!-- End Block Remove DS Topology--> |
| | | </block> |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | <sequence> |
| | | |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | |
| | | <block name="'Block Create DS Topology'"> |
| | | <!-- Create the topology necessary to the test group/suite --> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Create DS topology as described in config.py' |
| | | </message> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : True } |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | |
| | | <call function="'createTopology'"> |
| | | { 'initialiseInstance' : True } |
| | | </call> |
| | | |
| | | <call function="'checkRC'"> |
| | | { 'returncode' : RC , |
| | | 'result' : STAXResult } |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | <!--- End Block Create DS Topology --> |
| | | </block> |
| | | |
| | | |
| | | <block name="'Block DS Process Active'"> |
| | | <block name="'Block DS Process Active'"> |
| | | <!--- Start DS --> |
| | | <sequence> |
| | | |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT) |
| | | </message> |
| | |
| | | <call function="'isAlive'"> |
| | | { 'noOfLoops' : 5 , |
| | | 'noOfMilliSeconds' : 2000 } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | </sequence> |
| | | <!--- End Block DS Process Active --> |
| | | </block> |
| | | |
| | | |
| | | </block> |
| | | |
| | | |
| | | </sequence> |
| | | </block> |
| | | |
| | |
| | | 'keystore' : 'keystore', |
| | | 'storepass' : 'servercert', |
| | | 'keypass' : 'servercert', |
| | | 'storetype' : 'JKS' } |
| | | 'storetype' : 'JKS' } |
| | | </call> |
| | | |
| | | <!--- Self-Sign Server Cert --> |
| | |
| | | 'storepass' : 'servercert', |
| | | 'keypass' : 'servercert', |
| | | 'keystore' : 'keystore', |
| | | 'storetype' : 'JKS' } |
| | | </call> |
| | | 'storetype' : 'JKS' } |
| | | </call> |
| | | |
| | | |
| | | <!--- Configure JKS Keystore --> |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : 'dc=example,dc=com' , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'extraParams' : '-q -X -s base' } |
| | | 'extraParams' : '-q -X -s base' } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | |
| | | <sequence> |
| | | |
| | | <block name="'start-tls'"> |
| | | |
| | | <sequence> |
| | | |
| | | <block name="'start-tls'"> |
| | | |
| | | <sequence> |
| | | |
| | | <script> |
| | | if not CurrentTestPath.has_key('group'): |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['group']='security' |
| | | CurrentTestPath['suite']=STAXCurrentBlock |
| | | </script> |
| | | |
| | |
| | | file="'%s/testcases/security/security_setup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_setup'"/> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <import machine="STAF_LOCAL_HOSTNAME" |
| | |
| | | file="'%s/testcases/security/security_cleanup.xml' % (TESTS_DIR)"/> |
| | | <call function="'security_cleanup'"/> |
| | | |
| | | |
| | | |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | |
| | | </sequence> |
| | | </sequence> |
| | | |
| | | </block> |
| | | </block> |
| | | |
| | | </sequence> |
| | | |
| | |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD } |
| | | </call> |
| | | |
| | | </call> |
| | | |
| | | <!--- Remove JKS Keystore --> |
| | | <message> |
| | | 'Security: TLS: Postamble Step 3. Removing JKS Keystore' |