def test_get(self): search = Search(config=self.config) # Test 1 params = {} res = search.get(**params) self.assertEqual(res['total'], 5) # Test 2 params = { 'products': 'WaterWolf' } res = search.get(**params) self.assertEqual(res['total'], 3) # Test 3 params = { 'products': 'WaterWolf', 'versions': 'WaterWolf:2.0' } res = search.get(**params) self.assertEqual(res['total'], 1) # Test 4 params = { 'products': 'WaterWolf', 'versions': ['WaterWolf:1.0', 'WaterWolf:3.0'], 'os': 'win', 'build_ids': '20001212010203', 'reasons': 'STACK_OVERFLOW' } res = search.get(**params) self.assertEqual(res['total'], 2) res_expected = { 'hits': [{ 'signature': 'sig1', 'count': 1, 'is_windows': 1, 'is_linux': 0, 'is_mac': 0, 'numhang': 0, 'numplugin': 0, 'numcontent': 0 }, { 'signature': 'sig2', 'count': 1, 'is_windows': 1, 'is_linux': 0, 'is_mac': 0, 'numhang': 0, 'numplugin': 0, 'numcontent': 0 }], 'total': 2 } self.assertEqual(res, res_expected) # Test 5 params = { 'terms': 'sig1' } res = search.get(**params) self.assertEqual(res['total'], 1) res_expected = { 'hits': [{ 'signature': 'sig1', 'count': 4, 'is_windows': 3, 'is_linux': 1, 'is_mac': 0, 'numhang': 2, 'numplugin': 1, 'numcontent': 0 }], 'total': 1 } self.assertEqual(res, res_expected) # with parameters renaming params = { 'for': 'sig1' } res = search.get(**params) self.assertEqual(res['total'], 1) self.assertEqual(res, res_expected) # Test 6: plugins params = { 'report_process': 'plugin', 'plugin_in': 'filename', 'plugin_terms': 'NPSWF', 'plugin_search_mode': 'contains', } res = search.get(**params) self.assertEqual(res['total'], 1) hits = res['hits'][0] self.assertEqual(hits['count'], 1) self.assertEqual(hits['pluginfilename'], 'NPSWF32_11_5_502_146.dll') # Test 7: plugins params = { 'report_process': 'plugin', 'plugin_in': 'name', 'plugin_terms': 'Flash', 'plugin_search_mode': 'starts_with', } res = search.get(**params) self.assertEqual(res['total'], 1) hits = res['hits'][0] self.assertEqual(hits['count'], 1) self.assertEqual(hits['pluginname'], 'Flash') # Test 8: parameters renaming params = { 'to_date': self.twodaysago } res = search.get(**params) self.assertEqual(res['total'], 2) res_expected = { 'hits': [{ 'signature': 'js::functions::call::hello_world', 'count': 1, 'is_windows': 0, 'is_linux': 1, 'is_mac': 0, 'numhang': 0, 'numplugin': 0, 'numcontent': 0 },{ 'signature': 'sig1', 'count': 1, 'is_windows': 1, 'is_linux': 0, 'is_mac': 0, 'numhang': 1, 'numplugin': 0, 'numcontent': 0 }], 'total': 2 } self.assertEqual(res, res_expected) # with parameter renaming params = { 'to': self.twodaysago } res = search.get(**params) self.assertEqual(res['total'], 2) self.assertEqual(res, res_expected) # Test 9: release channels params = { 'release_channels': ['Nightly'] } res = search.get(**params) self.assertEqual(res['total'], 2) hits = res['hits'][0] self.assertEqual(hits['signature'], 'js::functions::call::hello_world') hits = res['hits'][1] self.assertEqual(hits['signature'], 'sig2') # verify that several values work, verify that it's case insensitive params = { 'release_channels': ['NiGhTlY', 'release'] } res = search.get(**params) self.assertEqual(res['total'], 5)
def test_get(self): search = Search(config=self.config) # Test 1 params = {} res = search.get(**params) eq_(res['total'], 5) # Test 2 params = { 'products': 'WaterWolf' } res = search.get(**params) eq_(res['total'], 3) # Test 3 params = { 'products': 'WaterWolf', 'versions': 'WaterWolf:2.0' } res = search.get(**params) eq_(res['total'], 1) # Test 4 params = { 'products': 'WaterWolf', 'versions': ['WaterWolf:1.0', 'WaterWolf:3.0'], 'os': 'win', 'build_ids': '20001212010203', 'reasons': 'STACK_OVERFLOW' } res = search.get(**params) eq_(res['total'], 2) res_expected = { 'hits': [{ 'signature': 'sig1', 'count': 1, 'is_windows': 1, 'is_linux': 0, 'is_mac': 0, 'numhang': 0, 'numplugin': 0, 'numcontent': 0 }, { 'signature': 'sig2', 'count': 1, 'is_windows': 1, 'is_linux': 0, 'is_mac': 0, 'numhang': 0, 'numplugin': 0, 'numcontent': 0 }], 'total': 2 } eq_(res, res_expected) # Test 5 params = { 'terms': 'sig1' } res = search.get(**params) eq_(res['total'], 1) res_expected = { 'hits': [{ 'signature': 'sig1', 'count': 4, 'is_windows': 3, 'is_linux': 1, 'is_mac': 0, 'numhang': 2, 'numplugin': 1, 'numcontent': 0 }], 'total': 1 } eq_(res, res_expected) # with parameters renaming params = { 'for': 'sig1' } res = search.get(**params) eq_(res['total'], 1) eq_(res, res_expected) # Test 6: plugins params = { 'report_process': 'plugin', 'plugin_in': 'filename', 'plugin_terms': 'NPSWF', 'plugin_search_mode': 'contains', } res = search.get(**params) eq_(res['total'], 1) hits = res['hits'][0] eq_(hits['count'], 1) eq_(hits['pluginfilename'], 'NPSWF32_11_5_502_146.dll') # Test 7: plugins params = { 'report_process': 'plugin', 'plugin_in': 'name', 'plugin_terms': 'Flash', 'plugin_search_mode': 'starts_with', } res = search.get(**params) eq_(res['total'], 1) hits = res['hits'][0] eq_(hits['count'], 1) eq_(hits['pluginname'], 'Flash') # Test 8: parameters renaming params = { 'to_date': self.twodaysago } res = search.get(**params) eq_(res['total'], 2) res_expected = { 'hits': [{ 'signature': 'js::functions::call::hello_world', 'count': 1, 'is_windows': 0, 'is_linux': 1, 'is_mac': 0, 'numhang': 0, 'numplugin': 0, 'numcontent': 0 },{ 'signature': 'sig1', 'count': 1, 'is_windows': 1, 'is_linux': 0, 'is_mac': 0, 'numhang': 1, 'numplugin': 0, 'numcontent': 0 }], 'total': 2 } eq_(res, res_expected) # with parameter renaming params = { 'to': self.twodaysago } res = search.get(**params) eq_(res['total'], 2) eq_(res, res_expected) # Test 9: release channels params = { 'release_channels': ['Nightly'] } res = search.get(**params) eq_(res['total'], 2) hits = res['hits'][0] eq_(hits['signature'], 'js::functions::call::hello_world') hits = res['hits'][1] eq_(hits['signature'], 'sig2') # verify that several values work, verify that it's case insensitive params = { 'release_channels': ['NiGhTlY', 'release'] } res = search.get(**params) eq_(res['total'], 5)
def test_get(self): search = Search(config=self.config) # Test 1 params = {} res = search.get(**params) self.assertEqual(res['total'], 5) # Test 2 params = { 'products': 'WaterWolf' } res = search.get(**params) self.assertEqual(res['total'], 3) # Test 3 params = { 'products': 'WaterWolf', 'versions': 'WaterWolf:2.0' } res = search.get(**params) self.assertEqual(res['total'], 1) # Test 4 params = { 'products': 'WaterWolf', 'versions': ['WaterWolf:1.0', 'WaterWolf:3.0'], 'os': 'win', 'build_ids': '20001212010203', 'reasons': 'STACK_OVERFLOW' } res = search.get(**params) self.assertEqual(res['total'], 2) res_expected = { 'hits': [{ 'signature': 'sig1', 'count': 1, 'is_windows': 1, 'is_linux': 0, 'is_mac': 0, 'numhang': 0, 'numplugin': 0, 'numcontent': 0 }, { 'signature': 'sig2', 'count': 1, 'is_windows': 1, 'is_linux': 0, 'is_mac': 0, 'numhang': 0, 'numplugin': 0, 'numcontent': 0 }], 'total': 2 } self.assertEqual(res, res_expected) # Test 5 params = { 'terms': 'sig1' } res = search.get(**params) self.assertEqual(res['total'], 1) res_expected = { 'hits': [{ 'signature': 'sig1', 'count': 4, 'is_windows': 3, 'is_linux': 1, 'is_mac': 0, 'numhang': 2, 'numplugin': 1, 'numcontent': 0 }], 'total': 1 } self.assertEqual(res, res_expected) # Test 6: plugins params = { 'report_process': 'plugin', 'plugin_in': 'filename', 'plugin_terms': 'NPSWF', 'plugin_search_mode': 'contains', } res = search.get(**params) self.assertEqual(res['total'], 1) hits = res['hits'][0] self.assertEqual(hits['count'], 1) self.assertEqual(hits['pluginfilename'], 'NPSWF32_11_5_502_146.dll') # Test 7: plugins params = { 'report_process': 'plugin', 'plugin_in': 'name', 'plugin_terms': 'Flash', 'plugin_search_mode': 'starts_with', } res = search.get(**params) self.assertEqual(res['total'], 1) hits = res['hits'][0] self.assertEqual(hits['count'], 1) self.assertEqual(hits['pluginname'], 'Flash')