def test_getDetail(self): response = {} results = wikidata.getDetail(response, "Q123", "en", "en-US") self.assertEqual(results, []) title_html = '<div><div class="wikibase-title-label">Test</div></div>' html = """ <div> <div class="wikibase-entitytermsview-heading-description"> </div> <div> <ul class="wikibase-sitelinklistview-listview"> <li data-wb-siteid="enwiki"><a href="http://en.wikipedia.org/wiki/Test">Test</a></li> </ul> </div> </div> """ response = {"parse": {"displaytitle": title_html, "text": html}} results = wikidata.getDetail(response, "Q123", "en", "en-US") self.assertEqual(len(results), 1) self.assertEqual(results[0]['url'], 'https://en.wikipedia.org/wiki/Test') title_html = """ <div> <div class="wikibase-title-label"> <span lang="en">Test</span> <sup class="wb-language-fallback-indicator">English</sup> </div> </div> """ html = """ <div> <div class="wikibase-entitytermsview-heading-description"> <span lang="en">Description</span> <sup class="wb-language-fallback-indicator">English</sup> </div> <div id="P856"> <div class="wikibase-statementgroupview-property-label"> <a href="/wiki/Property:P856"> <span lang="en">official website</span> <sup class="wb-language-fallback-indicator">English</sup> </a> </div> <div class="wikibase-statementview-mainsnak"> <a class="external free" href="https://officialsite.com"> https://officialsite.com </a> </div> </div> <div> <ul class="wikibase-sitelinklistview-listview"> <li data-wb-siteid="enwiki"><a href="http://en.wikipedia.org/wiki/Test">Test</a></li> </ul> </div> </div> """ response = {"parse": {"displaytitle": title_html, "text": html}} results = wikidata.getDetail(response, "Q123", "yua", "yua_MX") self.assertEqual(len(results), 2) self.assertEqual(results[0]['title'], 'Official website') self.assertEqual(results[0]['url'], 'https://officialsite.com') self.assertEqual(results[1]['infobox'], 'Test') self.assertEqual(results[1]['id'], None) self.assertEqual(results[1]['content'], 'Description') self.assertEqual(results[1]['attributes'], []) self.assertEqual(results[1]['urls'][0]['title'], 'Official website') self.assertEqual(results[1]['urls'][0]['url'], 'https://officialsite.com') self.assertEqual(results[1]['urls'][1]['title'], 'Wikipedia (en)') self.assertEqual(results[1]['urls'][1]['url'], 'https://en.wikipedia.org/wiki/Test')