def test_get(self): signature_urls = SignatureURLs(config=self.config) now = datetimeutil.utc_now() now = datetime.datetime(now.year, now.month, now.day) now_str = datetimeutil.date_to_string(now) #...................................................................... # Test 1: find one exact match for products and versions passed params = { "signature": "EMPTY: no crashing thread identified; corrupt dump", "start_date": now_str, "end_date": now_str, "products": ['Firefox'], "versions": ["Firefox:10.0", "Firefox:11.0"] } res = signature_urls.get(**params) res_expected = { "hits": [ { "url": "http://deusex.wikia.com/wiki/Praxis_kit", "crash_count": 1 } ], "total": 1 } self.assertEqual(res, res_expected) #...................................................................... # Test 2: Raise error if parameter is not passed params = { "signature": "", "start_date": "", "end_date": now_str, "products": ['Firefox'], "versions": ["Firefox:10.0", "Firefox:11.0"] } self.assertRaises(MissingOrBadArgumentException, signature_urls.get, **params) #...................................................................... # Test 3: Query returning no results params = { "signature": "EMPTY: no crashing thread identified; corrupt dump", "start_date": now_str, "end_date": now_str, "products": ['Fennec'], "versions": ["Fennec:10.0", "Fennec:11.0"] } res = signature_urls.get(**params) res_expected = { "hits": [], "total": 0 } self.assertEqual(res, res_expected)
def test_get(self): signature_urls = SignatureURLs(config=self.config) now = self.now now = datetime.datetime(now.year, now.month, now.day) now_str = datetimeutil.date_to_string(now) #...................................................................... # Test 1: find one exact match for products and versions passed params = { "signature": "EMPTY: no crashing thread identified; corrupt dump", "start_date": now_str, "end_date": now_str, "products": ['Firefox'], "versions": ["Firefox:10.0", "Firefox:11.0"] } res = signature_urls.get(**params) res_expected = { "hits": [{ "url": "http://deusex.wikia.com/wiki/Praxis_kit", "crash_count": 1 }], "total": 1 } eq_(res, res_expected) #...................................................................... # Test 2: Raise error if parameter is not passed params = { "signature": "", "start_date": "", "end_date": now_str, "products": ['Firefox'], "versions": ["Firefox:10.0", "Firefox:11.0"] } assert_raises(MissingArgumentError, signature_urls.get, **params) #...................................................................... # Test 3: Query returning no results params = { "signature": "EMPTY: no crashing thread identified; corrupt dump", "start_date": now_str, "end_date": now_str, "products": ['Fennec'], "versions": ["Fennec:10.0", "Fennec:11.0"] } res = signature_urls.get(**params) res_expected = {"hits": [], "total": 0} eq_(res, res_expected) # Test 4: Return results for all version of Firefox params = { "signature": "EMPTY: no crashing thread identified; corrupt dump", "start_date": now_str, "end_date": now_str, "products": ['Firefox'], "versions": ["ALL"] } res = signature_urls.get(**params) res_expected = { "hits": [{ "url": "http://deusex.wikia.com/wiki/Praxis_kit", "crash_count": 1 }, { "url": "http://wikipedia.org/Code_Rush", "crash_count": 1 }], "total": 2 } eq_(res, res_expected) # Test 5: Return results for all products and versions params = { "signature": "EMPTY: no crashing thread identified; corrupt dump", "start_date": now_str, "end_date": now_str, "products": ['ALL'], "versions": ["ALL"] } res = signature_urls.get(**params) res_expected = { "hits": [{ "url": "http://deusex.wikia.com/wiki/Praxis_kit", "crash_count": 1 }, { "url": "http://wikipedia.org/Code_Rush", "crash_count": 1 }, { "url": "http://arewemobileyet.org/", "crash_count": 1 }], "total": 3 } eq_(res, res_expected) # Test when we send incorrectly formatted 'versions' parameter params = { "signature": 'Does not exist', "start_date": now_str, "end_date": now_str, "products": ['Firefox'], "versions": ['27.0a1'] } assert_raises(BadArgumentError, signature_urls.get, **params)
def test_get(self): signature_urls = SignatureURLs(config=self.config) now = self.now now = datetime.datetime(now.year, now.month, now.day) now_str = datetimeutil.date_to_string(now) #...................................................................... # Test 1: find one exact match for products and versions passed params = { "signature": "EMPTY: no crashing thread identified; corrupt dump", "start_date": now_str, "end_date": now_str, "products": ['Firefox'], "versions": ["Firefox:10.0", "Firefox:11.0"] } res = signature_urls.get(**params) res_expected = { "hits": [ { "url": "http://deusex.wikia.com/wiki/Praxis_kit", "crash_count": 1 } ], "total": 1 } eq_(res, res_expected) #...................................................................... # Test 2: Raise error if parameter is not passed params = { "signature": "", "start_date": "", "end_date": now_str, "products": ['Firefox'], "versions": ["Firefox:10.0", "Firefox:11.0"] } assert_raises(MissingArgumentError, signature_urls.get, **params) #...................................................................... # Test 3: Query returning no results params = { "signature": "EMPTY: no crashing thread identified; corrupt dump", "start_date": now_str, "end_date": now_str, "products": ['Fennec'], "versions": ["Fennec:10.0", "Fennec:11.0"] } res = signature_urls.get(**params) res_expected = { "hits": [], "total": 0 } eq_(res, res_expected) # Test 4: Return results for all version of Firefox params = { "signature": "EMPTY: no crashing thread identified; corrupt dump", "start_date": now_str, "end_date": now_str, "products": ['Firefox'], "versions": ["ALL"] } res = signature_urls.get(**params) res_expected = { "hits": [ { "url": "http://deusex.wikia.com/wiki/Praxis_kit", "crash_count": 1 }, { "url": "http://wikipedia.org/Code_Rush", "crash_count": 1 } ], "total": 2 } eq_(res, res_expected) # Test 5: Return results for all products and versions params = { "signature": "EMPTY: no crashing thread identified; corrupt dump", "start_date": now_str, "end_date": now_str, "products": ['ALL'], "versions": ["ALL"] } res = signature_urls.get(**params) res_expected = { "hits": [ { "url": "http://deusex.wikia.com/wiki/Praxis_kit", "crash_count": 1 }, { "url": "http://wikipedia.org/Code_Rush", "crash_count": 1 }, { "url": "http://arewemobileyet.org/", "crash_count": 1 } ], "total": 3 } eq_(res, res_expected) # Test when we send incorrectly formatted 'versions' parameter params = { "signature": 'Does not exist', "start_date": now_str, "end_date": now_str, "products": ['Firefox'], "versions": ['27.0a1'] } assert_raises(BadArgumentError, signature_urls.get, **params)