Package sensei :: Module sensei_client_lib_test
[hide private]
[frames] | no frames]

Source Code for Module sensei.sensei_client_lib_test

  1  import random 
  2  import unittest 
  3   
  4  from sensei_client_lib import * 
  5   
6 -class TestSenseiClientLib(unittest.TestCase):
7
8 - def setUp(self):
9 self.proxy = SenseiServiceProxy()
10
12 req = SenseiRequest() 13 req.set_query(SenseiQueryMatchAll().set_boost(1.2)) 14 sensei_results = self.proxy.doQuery(req) 15 self.assertEqual(15000, sensei_results.numHits, "result is not correct for matchall query")
16
17 - def test_QueryString(self):
18 req = SenseiRequest() 19 req.set_query(SenseiQueryString("red AND cool")) 20 sensei_results = self.proxy.doQuery(req) 21 self.assertEqual(1070, sensei_results.numHits, "result is not correct for query string")
22
23 - def test_QueryTerm(self):
24 req = SenseiRequest() 25 req.set_query(SenseiQueryTerm("color", "red")) 26 sensei_results = self.proxy.doQuery(req) 27 self.assertEqual(2160, sensei_results.numHits, "result is not correct for term query")
28
29 - def test_QueryText(self):
30 pass
31 32
33 - def test_selectionTerm(self):
34 req = SenseiRequest() 35 req.append_selection(SenseiSelectionTerm("color", "red")) 36 sensei_results = self.proxy.doQuery(req) 37 self.assertEqual(2160, sensei_results.numHits, "result is not correct for term selection")
38
39 - def test_selectionRange1(self):
40 req = SenseiRequest() 41 req.append_selection(SenseiSelectionRange("year", from_str="2000", to_str="2002", include_lower=True, include_upper=True)) 42 sensei_results = self.proxy.doQuery(req) 43 self.assertEqual(4455, sensei_results.numHits, "result is not correct for range selection 1")
44
45 - def test_selectionRange2(self):
46 req = SenseiRequest() 47 req.append_selection(SenseiSelectionRange("year", from_str="2000", to_str="2002", include_lower=False, include_upper=True)) 48 sensei_results = self.proxy.doQuery(req) 49 self.assertEqual(2907, sensei_results.numHits, "result is not correct for range selection 2")
50
51 - def test_selectionRange3(self):
52 req = SenseiRequest() 53 req.append_selection(SenseiSelectionRange("year", from_str="2000", to_str="2002", include_lower=False, include_upper=False)) 54 sensei_results = self.proxy.doQuery(req) 55 self.assertEqual(1443, sensei_results.numHits, "result is not correct for range selection 3")
56 57
58 - def test_filterUIDs(self):
59 req = SenseiRequest() 60 req.set_filter(SenseiFilterIDs([1,2,3], [2])) 61 sensei_results = self.proxy.doQuery(req) 62 self.assertEqual(2, sensei_results.numHits, "result is not correct for UID filter")
63
64 - def test_filterTerm(self):
65 req = SenseiRequest() 66 req.set_filter(SenseiFilterTerm("color", "red")) 67 sensei_results = self.proxy.doQuery(req) 68 self.assertEqual(2160, sensei_results.numHits, "result is not correct for term filter")
69
70 - def test_filterTerms(self):
71 req = SenseiRequest() 72 req.set_filter(SenseiFilterTerms("tags", values=["leather","moon-roof"], excludes=["hybrid"])) 73 sensei_results = self.proxy.doQuery(req) 74 self.assertEqual(5777, sensei_results.numHits, "result is not correct for terms filter")
75
76 - def test_filterRange(self):
77 req = SenseiRequest() 78 req.set_filter(SenseiFilterRange("year", 1999, 2000)) 79 sensei_results = self.proxy.doQuery(req) 80 self.assertEqual(3015, sensei_results.numHits, "result is not correct for range filter")
81
82 - def test_filterAnd(self):
83 req = SenseiRequest() 84 req.set_filter(SenseiFilterAND([SenseiFilterTerm("tags","mp3"), SenseiFilterTerm("color","red")])) 85 sensei_results = self.proxy.doQuery(req) 86 self.assertEqual(439, sensei_results.numHits, "result is not correct for and filter") 87
88 - def test_filterOr(self):
89 req = SenseiRequest() 90 req.set_filter(SenseiFilterOR([SenseiFilterTerm("color","blue"), SenseiFilterTerm("color","red")])) 91 sensei_results = self.proxy.doQuery(req) 92 self.assertEqual(3264, sensei_results.numHits, "result is not correct for and filter") 93
94 - def test_filterBool(self):
95 req = SenseiRequest() 96 req.set_filter(SenseiFilterBool(must_filter=SenseiFilterTerm("color","red"), must_not_filter=SenseiFilterTerm("category","compact"), should_filter=[SenseiFilterTerm("color","red"), SenseiFilterTerm("color","green")])) 97 sensei_results = self.proxy.doQuery(req) 98 self.assertEqual(1652, sensei_results.numHits, "result is not correct for and filter") 99 100 101 if __name__ == '__main__': 102 unittest.main() 103