<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
|
<!--
|
! CDDL HEADER START
|
!
|
! The contents of this file are subject to the terms of the
|
! Common Development and Distribution License, Version 1.0 only
|
! (the "License"). You may not use this file except in compliance
|
! with the License.
|
!
|
! You can obtain a copy of the license at
|
! trunk/opends/resource/legal-notices/OpenDS.LICENSE
|
! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
|
! See the License for the specific language governing permissions
|
! and limitations under the License.
|
!
|
! When distributing Covered Code, include this CDDL HEADER in each
|
! file and include the License file at
|
! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
|
! add the following below this CDDL HEADER, with the fields enclosed
|
! by brackets "[]" replaced with your own identifying information:
|
! Portions Copyright [yyyy] [name of copyright owner]
|
!
|
! CDDL HEADER END
|
!
|
! Copyright 2007-2008 Sun Microsystems, Inc.
|
! -->
|
<stax>
|
<defaultcall function="main_indexes" />
|
<function name="main_indexes">
|
<block name="'indexes'">
|
<sequence>
|
<script>
|
CurrentTestPath={'group':'indexes','suite':'indexes'}
|
envAlreadyLoaded='true'
|
_setupSteps=['testGroup_Preamble','testSuite_Preamble',
|
'indexes_setup']
|
_testSteps=['indexes_search', 'indexes_dynamic_modify',
|
'indexes_dynamic_add', 'indexes_remove', 'indexes_add']
|
_cleanupSteps=['indexes_cleanup','testSuite_Postamble',
|
'testGroup_Postamble']
|
</script>
|
<!---
|
#@TestSuiteName Indexes
|
#@TestSuitePurpose test the database index feature from ldap
|
#@TestSuiteGroup indexes
|
#@TestScript indexes.xml
|
-->
|
|
<try>
|
<!-- the pre-requisites are in a separate iteration -->
|
<sequence>
|
<iterate in="_setupSteps" var="_setupStep">
|
<call function="_setupStep" />
|
</iterate>
|
<iterate in="_testSteps" var="_testStep" indexvar="_testStepNumber">
|
<call function="_testStep" />
|
</iterate>
|
</sequence>
|
<catch exception="'STAXException.Topology.CreationException'">
|
<message log="1" level="'fatal'">
|
'Could not create the topology. Bailing out.'
|
</message>
|
</catch>
|
<catch exception="'STAXException.Topology.StartException'">
|
<message log="1" level="'fatal'">
|
'Could not start at least one server in the topology.Bailing out.'
|
</message>
|
</catch>
|
<finally>
|
<iterate in="_cleanupSteps" var="_cleanupStep">
|
<call function="_cleanupStep" />
|
</iterate>
|
</finally>
|
</try>
|
</sequence>
|
</block>
|
</function>
|
|
<function name="indexes_search" scope="local">
|
<!---
|
This set of tests loop through a set of search filters to verify that
|
the default indexes behave as expected
|
#@TestMarker indexes
|
#@TestName indexes_search
|
#@TestIssue TODO: look up the issue in issue tracker
|
#@TestPurpose harden the default indexes
|
#@TestPreamble none
|
#@TestStep iterate through file search.filters
|
#@TestPostamble none
|
#@TestResult Success if entry are indexed correctly
|
-->
|
<block name="'Search'">
|
<sequence>
|
<message log="1" level="'info'">
|
'starting the search tests'
|
</message>
|
<call function="'loopThroughFilters'">
|
{ 'filters' : 'search' }
|
</call>
|
</sequence>
|
</block>
|
</function>
|
|
|
<function name="indexes_modify" scope="local">
|
<!--
|
This test alters the uid default index so that it does subString search
|
and then verifies that it worked
|
#@TestMarker indexes
|
#@TestName indexes_search
|
#@TestIssue TODO: look up the issue in issue tracker
|
#@TestPurpose harden the default indexes
|
#@TestPreamble none
|
#@TestStep iterate through file search.filters
|
#@TestPostamble none
|
#@TestResult Success if entry are indexed correctly
|
-->
|
<block name="'Modify'">
|
<sequence>
|
<try>
|
<sequence>
|
<call function="'loopThroughFilters'">
|
{ 'filters' : 'before-modify' }
|
</call>
|
<call function="'runFunction'">
|
{ 'functionName' : 'modifyIndex',
|
'functionException' : 'LDAP.ModifyException',
|
'functionFailureTC' : '%s: %s: %s' % (CurrentTestPath['group'],
|
CurrentTestPath['suite'],
|
STAXCurrentBlock ) ,
|
'functionMessage' : 'Adding substring index to attribute uid',
|
'functionArguments' : { 'operation' : 'add',
|
'indexAttribute' : 'uid',
|
'indexProperty' : 'index-type',
|
'indexPropertyValue' : 'substring'
|
}
|
}
|
</call>
|
<call function="'runFunction'">
|
{ 'functionName' : 'StopDsWithScript',
|
'functionException' : 'CLI.stop-ds',
|
'functionFailureTC' : 'Indexes - Modify' ,
|
'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME,
|
'dsHost' : DIRECTORY_INSTANCE_HOST,
|
'dsPort' : DIRECTORY_INSTANCE_PORT,
|
'dsBindDN' : DIRECTORY_INSTANCE_DN ,
|
'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
|
}
|
</call>
|
<call function="'runFunction'">
|
{ 'functionName' : 'CLI_rebuild-index' ,
|
'functionException' : 'CLI.RebuildIndex' ,
|
'functionFailureTC' : 'Indexes - Modify' ,
|
'functionArguments' : { 'baseDN' : DIRECTORY_INSTANCE_SFX ,
|
'attributes' : [ 'uid' ]
|
}
|
}
|
</call>
|
<call function="'runFunction'">
|
{ 'functionName' : 'StartDsWithScript',
|
'functionException' : 'CLI.start-ds',
|
'functionFailureTC' : 'Indexes - Modify' ,
|
'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME }
|
}
|
</call>
|
<call function="'loopThroughFilters'">
|
{ 'filters' : 'after-modify' }
|
</call>
|
</sequence>
|
<catch exception="'STAXException.LDAP.ModifyException'">
|
<message log="1" level="'fatal'">
|
'Fatal Error: Failed to alter index for attribute uid'
|
</message>
|
</catch>
|
<catch exception="'STAXException.CLI.RebuildIndex'">
|
<message log="1" level="'fatal'">
|
'Fatal Error: Failed to rebuild index for attribute uid'
|
</message>
|
</catch>
|
</try>
|
</sequence>
|
</block>
|
</function>
|
|
|
|
<function name="indexes_dynamic_modify" scope="local">
|
<!--
|
This test alters dynamically the uid default index so that it does
|
subString search and then verifies that it worked
|
#@TestMarker indexes
|
#@TestName indexes_dynamic_modify
|
#@TestIssue 1480
|
#@TestPurpose harden the default indexes
|
#@TestPreamble none
|
#@TestStep iterate through file search.filters
|
#@TestPostamble none
|
#@TestResult Success if entry are indexed correctly
|
-->
|
<block name="'Modify'">
|
<sequence>
|
<try>
|
<sequence>
|
<call function="'loopThroughFilters'">
|
{ 'filters' : 'before-modify' }
|
</call>
|
<call function="'runFunction'">
|
{ 'functionName' : 'modifyIndex',
|
'functionException' : 'LDAP.ModifyException',
|
'functionFailureTC' : '%s: %s: %s' % (CurrentTestPath['group'],
|
CurrentTestPath['suite'],
|
STAXCurrentBlock ) ,
|
'functionMessage' : 'Adding substring index to attribute uid',
|
'functionArguments' : { 'operation' : 'add',
|
'indexAttribute' : 'uid',
|
'indexProperty' : 'index-type',
|
'indexPropertyValue' : 'substring'
|
}
|
}
|
</call>
|
<call function="'runFunction'">
|
{ 'functionName' : 'rebuildIndexTask' ,
|
'functionException' : 'CLI.RebuildIndex' ,
|
'functionFailureTC' : 'Indexes - Dynamic Modify' ,
|
'functionArguments' :
|
{ 'location' : STAF_REMOTE_HOSTNAME,
|
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
|
'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
|
'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
|
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
|
'taskID' : 'rebuild uid index task',
|
'baseDN' : DIRECTORY_INSTANCE_SFX ,
|
'attributes' : [ 'uid' ]
|
}
|
}
|
</call>
|
<call function="'loopThroughFilters'">
|
{ 'filters' : 'after-modify' }
|
</call>
|
</sequence>
|
<catch exception="'STAXException.LDAP.ModifyException'">
|
<message log="1" level="'fatal'">
|
'Fatal Error: Failed to alter index for attribute uid'
|
</message>
|
</catch>
|
<catch exception="'STAXException.CLI.RebuildIndex'">
|
<message log="1" level="'fatal'">
|
'Fatal Error: Failed to rebuild index for attribute uid'
|
</message>
|
</catch>
|
</try>
|
</sequence>
|
</block>
|
</function>
|
|
|
|
<function name="indexes_add" scope="local">
|
<!--
|
This test adds a new presence and equality index for l attribute
|
and then verifies that it worked
|
#@TestMarker indexes
|
#@TestName indexes_add
|
#@TestIssue TODO: look up the issue in issue tracker
|
#@TestPurpose check if the user can add her own indexes
|
#@TestPreamble none
|
#@TestStep iterate through filters prior to adding indexes
|
#@TestStep add the indexes
|
#@TestStep iterate through filters after to adding indexes
|
#@TestPostamble none
|
#@TestResult Success if entry are indexed correctly
|
-->
|
<block name="'Add'">
|
<sequence>
|
<try>
|
<sequence>
|
<call function="'loopThroughFilters'">
|
{ 'filters' : 'before-add' }
|
</call>
|
<call function="'runFunction'">
|
{ 'functionName' : 'addIndex',
|
'functionException' : 'LDAP.AddIndexException',
|
'functionFailureTC' : 'Indexes - Add',
|
'functionMessage' : 'Adding presence and equality index to \
|
attribute l',
|
'functionArguments' : { 'indexAttribute' : 'l',
|
'indexTypes' : [ 'presence',
|
'equality' ]
|
}
|
}
|
</call>
|
|
<call function="'runFunction'">
|
{ 'functionName' : 'StopDsWithScript',
|
'functionException' : 'CLI.stop-ds',
|
'functionFailureTC' : '%s: %s: %s' % (CurrentTestPath['group'],
|
CurrentTestPath['suite'],
|
STAXCurrentBlock ) ,
|
'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME,
|
'dsHost' : DIRECTORY_INSTANCE_HOST,
|
'dsPort' : DIRECTORY_INSTANCE_PORT,
|
'dsBindDN' : DIRECTORY_INSTANCE_DN ,
|
'dsBindPwd' : DIRECTORY_INSTANCE_PSWD
|
}
|
}
|
</call>
|
<call function="'runFunction'">
|
{ 'functionName' : 'CLI_rebuild-index' ,
|
'functionException' : 'CLI.RebuildIndex' ,
|
'functionFailureTC' : 'Indexes - Modify' ,
|
'functionArguments' : { 'baseDN' : DIRECTORY_INSTANCE_SFX ,
|
'attributes' : [ 'l' ]
|
}
|
}
|
</call>
|
<call function="'runFunction'">
|
{ 'functionName' : 'StartDsWithScript',
|
'functionException' : 'CLI.start-ds',
|
'functionFailureTC' : '%s: %s: ' ,
|
'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME }
|
}
|
</call>
|
<call function="'loopThroughFilters'">
|
{ 'filters' : 'after-add' }
|
</call>
|
</sequence>
|
<catch exception="'STAXException.LDAP.AddIndexException'">
|
<message log="1" level="'fatal'">
|
'Fatal Error: Failed to add index for attribute l'
|
</message>
|
</catch>
|
<catch exception="'STAXException.CLI.RebuildIndex'">
|
<message log="1" level="'fatal'">
|
'Fatal Error: Failed to rebuild index for attribute l'
|
</message>
|
</catch>
|
</try>
|
</sequence>
|
</block>
|
</function>
|
|
|
|
<function name="indexes_dynamic_add" scope="local">
|
<!--
|
This test adds dynamically a new presence and equality index for l
|
attribute and then verifies that it worked
|
#@TestMarker indexes
|
#@TestName indexes_dynamic_add
|
#@TestIssue 1480
|
#@TestPurpose check if the user can add her own indexes
|
dynamically
|
#@TestPreamble none
|
#@TestStep iterate through filters prior to adding indexes
|
#@TestStep add the indexes
|
#@TestStep iterate through filters after to adding indexes
|
#@TestPostamble none
|
#@TestResult Success if entry are indexed correctly
|
-->
|
<block name="'Add'">
|
<sequence>
|
<try>
|
<sequence>
|
<call function="'loopThroughFilters'">
|
{ 'filters' : 'before-add' }
|
</call>
|
<call function="'runFunction'">
|
{ 'functionName' : 'addIndex',
|
'functionException' : 'LDAP.AddIndexException',
|
'functionFailureTC' : 'Indexes - Add',
|
'functionMessage' : 'Adding presence and equality index to \
|
attribute l',
|
'functionArguments' : { 'indexAttribute' : 'l',
|
'indexTypes' : [ 'presence',
|
'equality' ]
|
}
|
}
|
</call>
|
<call function="'runFunction'">
|
{ 'functionName' : 'rebuildIndexTask' ,
|
'functionException' : 'CLI.RebuildIndex' ,
|
'functionFailureTC' : 'Indexes - Dynamic Add' ,
|
'functionArguments' :
|
{ 'location' : STAF_REMOTE_HOSTNAME,
|
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
|
'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
|
'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
|
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
|
'taskID' : 'rebuild l index task',
|
'baseDN' : DIRECTORY_INSTANCE_SFX ,
|
'attributes' : [ 'l' ]
|
}
|
}
|
</call>
|
<call function="'loopThroughFilters'">
|
{ 'filters' : 'after-add' }
|
</call>
|
</sequence>
|
<catch exception="'STAXException.LDAP.AddIndexException'">
|
<message log="1" level="'fatal'">
|
'Fatal Error: Failed to add index for attribute l'
|
</message>
|
</catch>
|
<catch exception="'STAXException.CLI.RebuildIndex'">
|
<message log="1" level="'fatal'">
|
'Fatal Error: Failed to rebuild index for attribute l'
|
</message>
|
</catch>
|
</try>
|
</sequence>
|
</block>
|
</function>
|
|
|
<function name="indexes_remove" scope="local">
|
<!--
|
This test does a bunch of searches on the
|
and then verifies that it worked
|
#@TestMarker indexes
|
#@TestName indexes_remove
|
#@TestIssue TODO: look up the issue in issue tracker
|
#@TestPurpose Check if the user can remove indexes
|
#@TestPreamble none
|
#@TestStep iterate through filters prior to removing index
|
#@TestStep remove index
|
#@TestStep iterate through filters after to removing index
|
#@TestPostamble none
|
#@TestResult Success if entry are indexed as expected
|
-->
|
<block name="'Remove'">
|
<sequence>
|
<try>
|
<sequence>
|
<call function="'loopThroughFilters'">
|
{ 'filters' : 'before-remove' }
|
</call>
|
<call function="'runFunction'">
|
{ 'functionName' : 'removeIndex',
|
'functionException' : 'LDAP.RemoveIndexException',
|
'functionFailureTC' : '%s: %s: %s' % (CurrentTestPath['group'],
|
CurrentTestPath['suite'],
|
STAXCurrentBlock),
|
'functionMessage' : 'Removing index on attribute l' ,
|
'functionArguments' : { 'indexAttribute' : 'l' }
|
}
|
</call>
|
<call function="'loopThroughFilters'">
|
{ 'filters' : 'after-remove' }
|
</call>
|
</sequence>
|
<catch exception="'STAXException.LDAP.RemoveIndexException'">
|
<message log="1" level="'fatal'">
|
'Fatal Error: Failed to remove index for attribute l'
|
</message>
|
</catch>
|
</try>
|
</sequence>
|
</block>
|
</function>
|
|
<function name="indexes_entry_limit">
|
<!--
|
This test does a bunch of searches on the
|
and then verifies that it worked
|
#@TestMarker indexes
|
#@TestName indexes_remove
|
#@TestIssue TODO: look up the issue in issue tracker
|
#@TestPurpose Check if the user can remove indexes
|
#@TestPreamble none
|
#@TestStep iterate through filters prior to removing index
|
#@TestStep remove index
|
#@TestStep iterate through filters after to removing index
|
#@TestPostamble none
|
#@TestResult Success if entry are indexed as expected
|
-->
|
<block name="'Entry_Limit'">
|
<sequence>
|
<try>
|
<sequence>
|
<call function="'loopThroughFilters'">
|
{ 'filters' : 'before-entry-limit' }
|
</call>
|
<call function="'runFunction'">
|
{ 'functionName' : 'modifyIndex',
|
'functionException' : 'LDAP.ModifyIndexException',
|
'functionFailureTC' : '%s: %s: %s' % (CurrentTestPath['group'],
|
CurrentTestPath['suite'],
|
STAXCurrentBlock),
|
'functionMessage' : 'Modify index entry limit on attribute \
|
uid' ,
|
'functionArguments' : { 'operation' : 'set',
|
'indexAttribute' : 'uid',
|
'indexProperty' : 'index-entry-limit',
|
'indexPropertyValue' : '3'
|
}
|
}
|
</call>
|
<call function="'loopThroughFilters'">
|
{ 'filters' : 'after-entry-limit' }
|
</call>
|
</sequence>
|
<catch exception="'STAXException.LDAP.RemoveIndexException'">
|
<message log="1" level="'fatal'">
|
'Fatal Error: Failed to remove index for attribute l'
|
</message>
|
</catch>
|
</try>
|
</sequence>
|
</block>
|
</function>
|
|
<function name="indexes_vlv_add">
|
<!--
|
This test does a bunch of searches on the
|
and then verifies that it worked
|
#@TestMarker indexes
|
#@TestName indexes_vlv_add
|
#@TestIssue TODO: look up the issue in issue tracker
|
#@TestPurpose Check if the user can remove indexes
|
#@TestPreamble none
|
#@TestStep iterate through filters prior to removing index
|
#@TestStep remove index
|
#@TestStep iterate through filters after to removing index
|
#@TestPostamble none
|
#@TestResult Success if entry are indexed as expected
|
-->
|
<block name="'Entry_Limit'">
|
<sequence>
|
<try>
|
<sequence>
|
<call function="'loopThroughFilters'">
|
{ 'filters' : 'before-entry-limit' }
|
</call>
|
<call function="'runFunction'">
|
{ 'functionName' : 'modifyIndex',
|
'functionException' : 'LDAP.ModifyIndexException',
|
'functionFailureTC' : '%s: %s: %s' % (CurrentTestPath['group'],
|
CurrentTestPath['suite'],
|
STAXCurrentBlock),
|
'functionMessage' : 'Modify index entry limit on attribute \
|
uid' ,
|
'functionArguments' : { 'operation' : 'set',
|
'indexAttribute' : 'uid',
|
'indexProperty' : 'index-entry-limit' ,
|
'indexPropertyValue' : '3'
|
}
|
}
|
</call>
|
<call function="'loopThroughFilters'">
|
{ 'filters' : 'after-entry-limit' }
|
</call>
|
</sequence>
|
<catch exception="'STAXException.LDAP.RemoveIndexException'">
|
<message log="1" level="'fatal'">
|
'Fatal Error: Failed to remove index for attribute l'
|
</message>
|
</catch>
|
</try>
|
</sequence>
|
</block>
|
</function>
|
|
|
<function name="loopThroughFilters" scope="local">
|
<function-map-args>
|
<function-arg-def name="filters" type="required" />
|
</function-map-args>
|
<sequence>
|
<script>
|
class indexTest:
|
"Describes an index test with indexed attribute, filter to test with \
|
and expected behaviour"
|
def __init__(self, attribute,testName,filter,expectedValue,isIndexed):
|
self.attribute = attribute
|
self.name = testName
|
self.filter = filter
|
self.rc = expectedValue
|
self.isIndexed=re.compile(r'[\r\n]').sub('',isIndexed)
|
self.status='fail'
|
|
def getAttribute(self):
|
return self.attribute
|
|
def getName(self):
|
return self.name
|
|
def getFilter(self):
|
return self.filter
|
|
def getRC(self):
|
return self.rc
|
|
def getSearchString(self):
|
if self.isIndexed.startswith('NOT'):
|
return 'NOT'
|
else:
|
return 'INDEX:%s' % (self.attribute)
|
|
def pass(self):
|
self.status='pass'
|
|
def getStatus(self):
|
return self.status
|
|
def desc(self):
|
description = 'test:: name=[%s]\n' % self.name
|
description += 'test:: attribute=[%s]\n' % self.attribute
|
description += 'test:: filter=[%s]\n' % self.filter
|
description += 'test:: rc=[%s]\n' % self.rc
|
description += 'test:: indexed=[%s]\n' % self.isIndexed
|
return description
|
|
indexTests = []
|
|
f = open('%s/testcases/indexes/%s.filters' % (TESTS_DIR,filters),'r')
|
for line in f.readlines():
|
if line.startswith('#'):
|
continue
|
else:
|
testLine = line.split(' ')
|
indexTests.append(indexTest(testLine[0], testLine[1], testLine[2],
|
testLine[3], testLine[4]))
|
f.close()
|
|
indexTestNumber=0
|
previousTestName=''
|
testNumber=0
|
</script>
|
<iterate var="test" in="indexTests">
|
<sequence>
|
<script>
|
indexTestNumber=indexTestNumber+1
|
if previousTestName != test.getName():
|
previousTestName=test.getName()
|
testNumber=0
|
|
</script>
|
<testcase name="'%s: %d.%s: %03d-%03d.%s: %s%02d'
|
% ( CurrentTestPath['group'], len(_testSteps)-_testStepNumber,
|
filters, len(indexTests)-indexTestNumber, indexTestNumber,
|
test.getAttribute(), test.getName(), testNumber)" >
|
<sequence>
|
<call function="'testCase_Preamble'" />
|
<message log="1" level="'trace'">
|
'Searching attribute [%s] with filter[%s]' \
|
% (test.getAttribute(),test.getFilter())
|
</message>
|
<call function="'SearchObject'">
|
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
|
'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
|
'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
|
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
|
'dsBaseDN' : 'ou=People,dc=example,%s' \
|
% DIRECTORY_INSTANCE_SFX ,
|
'dsFilter' : '%s' % test.getFilter(),
|
'attributes' : 'debugsearchindex',
|
'expectedRC' : 'noCheck'
|
}
|
</call>
|
<script>
|
searchReturnCode, searchResultString = STAXResult[0]
|
# chop off the first line that contains the dn
|
searchResultString = re.compile(r'^dn:.*\n?').sub('',
|
searchResultString)
|
# join multiple lines into a single one
|
searchResultString = re.compile(r'[ \t]*\r?\n[ \t]*').sub('',
|
searchResultString)
|
srt=searchResultString.split('[')[1]
|
if (str(searchReturnCode) == str(test.getRC())) and \
|
srt.startswith(test.getSearchString()):
|
test.pass()
|
</script>
|
<message level="'trace'">
|
'%s\nsearchReturnCode=[%s]\nldapsearch return \
|
string=[%s]\nchunk to parse=[%s]\nstring looked for=[%s]' \
|
% (test.desc(), searchReturnCode, searchResultString, srt,
|
test.getSearchString())
|
</message>
|
<tcstatus result="test.getStatus()" />
|
<call function="'testCase_Postamble'" />
|
<script>
|
testNumber=testNumber+1
|
</script>
|
</sequence>
|
</testcase>
|
</sequence>
|
</iterate>
|
</sequence>
|
</function>
|
|
<!-- Setup the instance for indexes tests -->
|
<function name="indexes_setup">
|
<sequence>
|
<call function="'runFunction'">
|
{ 'functionName' : 'createTopology',
|
'functionMessage' : 'Create DS topology as described in config.py',
|
'functionException' : 'Topology.CreationException',
|
'functionArguments' : { 'initialiseInstance' : True }
|
}
|
</call>
|
<call function="'runFunction'">
|
{ 'functionName' : 'StartDsWithScript' ,
|
'functionMessage' : 'Start DS to run on port %s' \
|
% (DIRECTORY_INSTANCE_PORT) ,
|
'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME }
|
}
|
</call>
|
<call function="'runFunction'">
|
{ 'functionName' : 'isAlive',
|
'functionMessage' : 'Checking if the server is available',
|
'functionException' : 'Topology.StartException',
|
'functionArguments' : { 'noOfLoops' : 5,
|
'noOfMilliSeconds' : 2000
|
}
|
}
|
</call>
|
</sequence>
|
</function>
|
|
<!-- cleanup after the tests -->
|
<function name="indexes_cleanup">
|
<sequence>
|
<call function="'runFunction'">
|
{ 'functionName' : 'StopDsWithScript' ,
|
'functionMessage' : 'Stop DS running on port %s' \
|
% (DIRECTORY_INSTANCE_PORT),
|
'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME,
|
'dsHost' : DIRECTORY_INSTANCE_HOST,
|
'dsPort' : DIRECTORY_INSTANCE_PORT,
|
'dsBindDN' : DIRECTORY_INSTANCE_DN,
|
'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
|
}
|
</call>
|
<call function="'runFunction'">
|
{ 'functionName' : 'removeTopology',
|
'functionMessage' : 'Remove DS topology created for the Test Suite'
|
}
|
</call>
|
</sequence>
|
</function>
|
</stax>
|