def test(islandId,custName,numMessages): mc = ManagementContainer.getInstance() custid = findCustomer(custName) if custid < 0: print 'test failed because customer',custName,'was not found' return 1 island = mc.getIslandManager().getIsland(islandId) try: msgs = findMessages(mc,custid,numMessages) if msgs.size() < numMessages: print 'Fail, Did not find all messages stored, only found', msgs.size() return 1 if not checkSearchStatus(mc,msgs,custid): print 'Fail, could not find all messages in search index' return 1 ism = mc.getIndexSearchManager() isc = IndexSearchConstraint(custid,None) isc.constrainByNumberOfHitsToReturn(1) isc.constrainByIsland(island) isc.constrainByOffset(0) try: results = ism.resolveLocations(isc) print 'Fail, expected IndexSearchException' return 1 except IndexSearchException, e: print 'Pass, IndexSearchException',e except: print 'Expected IndexSearchException, but got',sys.exc_info(),traceback.print_exc(file=sys.stderr) return 1 isc.constrainByNumberOfHitsToReturn(2) isc.constrainByOffset(0) try: results = ism.resolveLocations(isc) sz = getResultSize(results) print 'Pass, hits=2',sz if sz < numMessages: print 'Wrong number of results. Expected >=',numMessages,'Got',sz except: print 'Unexpected exception caught when hits was set to 2',sys.exc_info(),traceback.print_exc(file=sys.stderr) return 1 isc.constrainByNumberOfHitsToReturn(numMessages) isc.constrainByOffset(0) try: results = ism.resolveLocations(isc) sz = getResultSize(results) print 'Pass, hits=',numMessages,sz if sz < numMessages: print 'Wrong number of results. Expected >=',numMessages,'Got',sz,results.getResults() except: print 'Unexpected exception caught when hits was set to',numMessages,sys.exc_info(),traceback.print_exc(file=sys.stderr) return 1