def test_set_recommendation_impact_via_redis(self): user_info = {'uid': '1', 'remote_ip': '127.0.0.1', 'uri': 'testuri'} records_to_test = range(0, 100000) recommendations = {90000: 1.0, 4300: 0.3} self.redis.set("obelix::recommendations::1", json.dumps(recommendations)) settings = ObelixSearchEngineSettings(redis=self.redis) settings_json = settings.dump() settings_json['recommendations_impact'] = 1 self.redis.set("obelix::settings", json.dumps(settings_json)) records, scores = rank_records_obelix(user_info, records_to_test, rg=10, jrec=0, settings=settings) for key, val in recommendations.iteritems(): self.assertTrue(key in records) settings_json['recommendations_impact'] = 0.1 self.redis.set("obelix::settings", json.dumps(settings_json)) records, scores = rank_records_obelix(user_info, records_to_test, rg=10, jrec=0, settings=settings) for key, val in recommendations.iteritems(): self.assertFalse(key in records)
def test_result_no_changes_when_user_is_zero_jrec_set(self): user_info = {'uid': '', 'remote_ip': '127.0.0.1', 'uri': 'testuri'} settings = ObelixSearchEngineSettings(redis=self.redis) self.assertEqual(self.hitset[4:14], rank_records_obelix(user_info, self.hitset, rg=10, jrec=5, settings=settings)[0])
def test_result_no_changes_when_user_is_zero_jrec_set(self): user_info = {'uid': '', 'remote_ip': '127.0.0.1', 'uri': 'testuri'} settings = ObelixSearchEngineSettings(redis=self.redis) self.assertEqual( self.hitset[4:14], rank_records_obelix(user_info, self.hitset, rg=10, jrec=5, settings=settings)[0])
def test_large_dataset_hidden_treasure_lost_without_recommendations(self): user_info = {'uid': '1', 'remote_ip': '127.0.0.1', 'uri': 'testuri'} records_to_test = range(0, 100000) recommendations = {90000: 1.0, 430: 0.8} self.redis.set("obelix::recommendations::1", json.dumps(recommendations)) settings = ObelixSearchEngineSettings(redis=self.redis) settings.recommendations_impact = 0 records, scores = rank_records_obelix(user_info, records_to_test, rg=10, jrec=0, settings=settings) for key, val in recommendations.iteritems(): self.assertFalse(key in records)
def test_return_size_ofrank_records_obelix(self): user_info = {'uid': 1, 'remote_ip': "127.0.0.1", "uri": "testuri"} hitset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] records, scores = rank_records_obelix(user_info, hitset, rg=10, jrec=0) self.assertEqual(hitset[0:10], records)
def test_rank_records_obelix(self): user_info = {'uid': 1, 'remote_ip': "127.0.0.1", "uri": "testuri"} hitset = [1, 2, 3, 4, 5, 6, 7, 8, 9] records, scores = rank_records_obelix(user_info, hitset, rg=10, jrec=0) self.assertEqual(hitset, records)