on master help sign in
Add a bit of testing to improve coverage
commit0a1a3e7371df02580ad923fa0a4c1f4a7c08d759 authorCqoicebordel <Cqoicebordel@users.noreply.github.com> dateFri 12 Jun 2015, 19:54 (11 years ago) parentab273e2
3 files changed+73−1
searx/tests/engines/test_swisscows.py+4 searx/tests/engines/test_yahoo_news.py+18−1 searx/tests/engines/test_youtube_noapi.py+51
searx/tests/engines/test_swisscows.py+4
@@ -23,6 +23,10 @@ class TestSwisscowsEngine(SearxTestCase):
2323 self.assertTrue('uiLanguage=browser' in params['url'])
2424 self.assertTrue('region=browser' in params['url'])
2525
26+ dicto['category'] = 'images'
27+ params = swisscows.request(query, dicto)
28+ self.assertIn('image', params['url'])
29+
2630 def test_response(self):
2731 self.assertRaises(AttributeError, swisscows.response, None)
2832 self.assertRaises(AttributeError, swisscows.response, [])
searx/tests/engines/test_yahoo_news.py+18−1
@@ -29,6 +29,13 @@ class TestYahooNewsEngine(SearxTestCase):
2929 self.assertIn('en', params['cookies']['sB'])
3030 self.assertIn('en', params['url'])
3131
32+ def test_sanitize_url(self):
33+ url = "test.url"
34+ self.assertEqual(url, yahoo_news.sanitize_url(url))
35+
36+ url = "www.yahoo.com/;_ylt=test"
37+ self.assertEqual("www.yahoo.com/", yahoo_news.sanitize_url(url))
38+
3239 def test_response(self):
3340 self.assertRaises(AttributeError, yahoo_news.response, None)
3441 self.assertRaises(AttributeError, yahoo_news.response, [])
@@ -57,7 +64,17 @@ class TestYahooNewsEngine(SearxTestCase):
5764 This is the content
5865 </div>
5966 </li>
60− </div>
67+ <li class="first">
68+ <div class="compTitle">
69+ <h3>
70+ <a class="yschttl spt" target="_blank">
71+ </a>
72+ </h3>
73+ </div>
74+ <div class="compText">
75+ </div>
76+ </li>
77+ </ol>
6178 """
6279 response = mock.Mock(text=html)
6380 results = yahoo_news.response(response)
searx/tests/engines/test_youtube_noapi.py+51
@@ -91,6 +91,57 @@ class TestYoutubeNoAPIEngine(SearxTestCase):
9191 self.assertEqual(results[0]['thumbnail'], 'https://i.ytimg.com/vi/DIVZCPfAOeM/hqdefault.jpg')
9292 self.assertTrue('DIVZCPfAOeM' in results[0]['embedded'])
9393
94+ html = """
95+ <ol id="item-section-063864" class="item-section">
96+ <li>
97+ <div class="yt-lockup yt-lockup-tile yt-lockup-video vve-check clearfix yt-uix-tile"
98+ data-context-item-id="DIVZCPfAOeM"
99+ data-visibility-tracking="CBgQ3DAYACITCPGXnYau6sUCFZEIHAod-VQASCj0JECx_-GK5uqMpcIB">
100+ <div class="yt-lockup-dismissable"><div class="yt-lockup-thumbnail contains-addto">
101+ <a aria-hidden="true" href="/watch?v=DIVZCPfAOeM" class=" yt-uix-sessionlink pf-link"
102+ data-sessionlink="itct=CBgQ3DAYACITCPGXnYau6sUCFZEIHAod-VQASCj0JFIEdGVzdA">
103+ <div class="yt-thumb video-thumb"><img src="//i.ytimg.com/vi/DIVZCPfAOeM/mqdefault.jpg"
104+ width="196" height="110"/></div><span class="video-time" aria-hidden="true">11:35</span></a>
105+ <span class="thumb-menu dark-overflow-action-menu video-actions">
106+ </span>
107+ </div>
108+ <div class="yt-lockup-content">
109+ <h3 class="yt-lockup-title">
110+ <span class="accessible-description" id="description-id-259079"> - Durée : 11:35.</span>
111+ </h3>
112+ <div class="yt-lockup-byline">de
113+ <a href="/user/mheejapan" class=" yt-uix-sessionlink spf-link g-hovercard"
114+ data-sessionlink="itct=CBgQ3DAYACITCPGXnYau6sUCFZEIHAod-VQASCj0JA" data-ytid="UCzEesu54Hjs0uRKmpy66qeA"
115+ data-name="">MEHAY SUPERBIKE</a></div><div class="yt-lockup-meta">
116+ <ul class="yt-lockup-meta-info">
117+ <li>il y a 20 heures</li>
118+ <li>8 424 vues</li>
119+ </ul>
120+ </div>
121+ <div class="yt-lockup-badges">
122+ <ul class="yt-badge-list ">
123+ <li class="yt-badge-item" >
124+ <span class="yt-badge">Nouveauté</span>
125+ </li>
126+ <li class="yt-badge-item" ><span class="yt-badge " >HD</span></li>
127+ </ul>
128+ </div>
129+ <div class="yt-lockup-action-menu yt-uix-menu-container">
130+ <div class="yt-uix-menu yt-uix-videoactionmenu hide-until-delayloaded"
131+ data-video-id="DIVZCPfAOeM" data-menu-content-id="yt-uix-videoactionmenu-menu">
132+ </div>
133+ </div>
134+ </div>
135+ </div>
136+ </div>
137+ </li>
138+ </ol>
139+ """
140+ response = mock.Mock(text=html)
141+ results = youtube_noapi.response(response)
142+ self.assertEqual(type(results), list)
143+ self.assertEqual(len(results), 1)
144+
94145 html = """
95146 <ol id="item-section-063864" class="item-section">
96147 <li>