def test_basicsearch(self): """Test the simple search results interface.""" self._frob_intidutil(ints=0) catalog = Catalog() catalog['simiantype'] = StubIndex('simiantype', None) catalog['name'] = StubIndex('name', None) catalog.updateIndexes() res = catalog.searchResults(simiantype='monkey') names = [x.name for x in res] names.sort() self.assertEqual(len(names), 3) self.assertEqual(names, ['bobo', 'bubbles', 'ginger']) res = catalog.searchResults(name='bobo') names = [x.simiantype for x in res] names.sort() self.assertEqual(len(names), 2) self.assertEqual(names, ['bonobo', 'monkey']) res = catalog.searchResults(simiantype='punyhuman', name='anthony') self.assertEqual(len(res), 1) ob = iter(res).next() self.assertEqual((ob.name, ob.simiantype), ('anthony', 'punyhuman')) res = catalog.searchResults(simiantype='ape', name='bobo') self.assertEqual(len(res), 0) res = catalog.searchResults(simiantype='ape', name='mwumi') self.assertEqual(len(res), 0) self.assertRaises(KeyError, catalog.searchResults, simiantype='monkey', hat='beret')
def test_updateindexes(self): """Test a full refresh.""" self._frob_intidutil() catalog = Catalog() catalog['author'] = StubIndex('author', None) catalog['title'] = StubIndex('author', None) catalog.updateIndexes() for index in catalog.values(): checkNotifies = index.doc self.assertEqual(len(checkNotifies), 18)