| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | # coding=utf-8from collections import defaultdictimport mockfrom searx.engines import acgsoufrom searx.testing import SearxTestCaseclass TestAcgsouEngine(SearxTestCase):    def test_request(self):        query = 'test_query'        dic = defaultdict(dict)        dic['pageno'] = 1        params = acgsou.request(query, dic)        self.assertTrue('url' in params)        self.assertTrue(query in params['url'])        self.assertTrue('acgsou.com' in params['url'])    def test_response(self):        resp = mock.Mock(text='<html></html>')        self.assertEqual(acgsou.response(resp), [])        html = u"""        <html><table id="listTable" class="list_style table_fixed">  <thead class="tcat">      <tr>        <th axis="string" class="l1 tableHeaderOver">test</th>        <th axis="string" class="l2 tableHeaderOver">test</th>        <th axis="string" class="l3 tableHeaderOver">test</th>        <th axis="size" class="l4 tableHeaderOver">test</th>        <th axis="number" class="l5 tableHeaderOver">test</th>        <th axis="number" class="l6 tableHeaderOver">test</th>        <th axis="number" class="l7 tableHeaderOver">test</th>        <th axis="string" class="l8 tableHeaderOver">test</th>      </tr>  </thead>  <tbody class="tbody" id="data_list"> <tr class="alt1 ">        <td nowrap="nowrap">date</td>        <td><a href="category.html">testcategory テスト</a></td>        <td style="text-align:left;">            <a href="show-torrentid.html" target="_blank">torrentname テスト</a>        </td>        <td>1MB</td>        <td nowrap="nowrap">            <span class="bts_1">            29            </span>        </td>        <td nowrap="nowrap">            <span class="btl_1">            211        </span>        </td>        <td nowrap="nowrap">        <span class="btc_">            168        </span>        </td>        <td><a href="random.html">user</a></td>      </tr>      </tbody></table></html>        """        resp = mock.Mock(text=html)        results = acgsou.response(resp)        self.assertEqual(type(results), list)        self.assertEqual(len(results), 1)        r = results[0]        self.assertEqual(r['url'], 'http://www.acgsou.com/show-torrentid.html')        self.assertEqual(r['content'], u'Category: "testcategory テスト".')        self.assertEqual(r['title'], u'torrentname テスト')        self.assertEqual(r['filesize'], 1048576)
 |