MCPcopy Index your code
hub / github.com/clips/pattern / _test_search_engine

Method _test_search_engine

test/test_web.py:459–499  ·  view source on GitHub ↗
(self, api, source, license, Engine, query="today", type=web.SEARCH)

Source from the content-addressed store, hash-verified

457 }
458
459 def _test_search_engine(self, api, source, license, Engine, query="today", type=web.SEARCH):
460 # Assert SearchEngine standard interface for any api:
461 # Google, Yahoo, Bing, Twitter, Wikipedia, Flickr, Facebook, Products, Newsfeed.
462 # SearchEngine.search() returns a list of Result objects with unicode fields,
463 # except Wikipedia which returns a WikipediaArticle (MediaWikiArticle subclass).
464 if api == "Yahoo" and license == ("",""):
465 return
466 t = time.time()
467 e = Engine(license=license, throttle=0.25, language="en")
468 v = e.search(query, type, start=1, count=1, cached=False)
469 t = time.time() - t
470 self.assertTrue(t >= 0.25)
471 self.assertEqual(e.license, license)
472 self.assertEqual(e.throttle, 0.25)
473 self.assertEqual(e.language, "en")
474 self.assertEqual(v.query, query)
475 if source != web.MEDIAWIKI:
476 self.assertEqual(v.source, source)
477 self.assertEqual(v.type, type)
478 self.assertEqual(len(v), 1)
479 self.assertTrue(isinstance(v[0], web.Result))
480 self.assertTrue(isinstance(v[0].url, unicode))
481 self.assertTrue(isinstance(v[0].title, unicode))
482 self.assertTrue(isinstance(v[0].description, unicode))
483 self.assertTrue(isinstance(v[0].language, unicode))
484 self.assertTrue(isinstance(v[0].author, (unicode, tuple)))
485 self.assertTrue(isinstance(v[0].date, unicode))
486 else:
487 self.assertTrue(isinstance(v, web.MediaWikiArticle))
488 # Assert zero results for start < 1 and count < 1.
489 v1 = e.search(query, start=0)
490 v2 = e.search(query, count=0)
491 if source != web.MEDIAWIKI:
492 self.assertEqual(len(v1), 0)
493 self.assertEqual(len(v2), 0)
494 else:
495 self.assertTrue(isinstance(v1, web.MediaWikiArticle))
496 self.assertEqual(v2, None)
497 # Assert SearchEngineTypeError for unknown type.
498 self.assertRaises(web.SearchEngineTypeError, e.search, query, type="crystall-ball")
499 print "pattern.web.%s.search()" % api
500
501 def test_search_google(self):
502 self._test_search_engine("Google", *self.api["Google"])

Callers 10

test_search_googleMethod · 0.95
test_search_yahooMethod · 0.95
test_search_bingMethod · 0.95
test_search_twitterMethod · 0.95
test_search_wikipediaMethod · 0.95
test_search_wikiaMethod · 0.95
test_search_flickrMethod · 0.95
test_search_facebookMethod · 0.95
test_search_productsMethod · 0.95
test_search_newsfeedMethod · 0.95

Calls 2

lenFunction · 0.85
searchMethod · 0.45

Tested by

no test coverage detected