def test_search(self): # we can search a source source = RedisSource(host=self.redis_host, port=self.redis_port) self.redis.set("far", "boo") self.redis.set("gaz", "hor") result1 = [x.title for x in source.search("b")] result2 = [x.title for x in source.search("h")] result3 = [x.title for x in source.search("ba")] self.assertEqual(sorted(result1), ["bar", "boo"]) self.assertEqual(result2, ["hor"]) self.assertEqual(result3, ["bar"])
def test_get_term_contained(self): # we can get contained terms as ITerm source = RedisSource(host=self.redis_host, port=self.redis_port) term = source.getTerm(u'foo') assert ITitledTokenizedTerm.providedBy(term) self.assertTrue(hasattr(term, 'value')) self.assertEqual(term.value, u'foo') self.assertTrue(hasattr(term, 'token')) self.assertEqual(term.token, 'Zm9v') self.assertTrue(hasattr(term, 'title')) self.assertEqual(term.title, u'bar')
def psj_gnd_terms(self): if not hasattr(self, 'psj_gnd_id'): return [] conf = queryUtility(IRedisStoreConfig, name="psj.content.redis-GND") if conf is None: return [] redis_source = RedisSource( host=conf['host'], port=conf['port'], db=conf['db']) result = [] for elem in self.psj_gnd_id: try: val = redis_source.getTerm(elem) result.append(val.title) except LookupError: # id not in store. result.append(elem) return result
def test_get_term_by_token(self): # we can get a term by its token source = RedisSource(host=self.redis_host, port=self.redis_port) token = tokenize("foo") result = source.getTermByToken(token) self.assertTrue(ITitledTokenizedTerm.providedBy(result))