Beispiel #1
0
 def test_get_bad_response_fields(self):
     c = xkcd_wrapper.AsyncClient()
     loop = asyncio.get_event_loop()
     with aioresponses() as mock:
         mock.get(comic_id_url.format(628), status=200, body=xkcd_api_example_wrong_raw)
         with self.assertRaises(xkcd_wrapper.exceptions.BadResponseField):
             loop.run_until_complete(c.get(628, raw_comic_image=False))
Beispiel #2
0
 def test_get_http_error(self):
     c = xkcd_wrapper.AsyncClient()
     loop = asyncio.get_event_loop()
     with aioresponses() as mock:
         mock.get(comic_id_url.format(628), status=404)
         with self.assertRaises(xkcd_wrapper.exceptions.HttpError):
             loop.run_until_complete(c.get(628, raw_comic_image=False))
Beispiel #3
0
 def test_get_without_raw_image(self):
     c = xkcd_wrapper.AsyncClient()
     loop = asyncio.get_event_loop()
     with aioresponses() as mock:
         mock.get(comic_id_url.format(628), status=200, body=xkcd_api_example_628_raw)
         response = loop.run_until_complete(c.get(628, raw_comic_image=False))
         check_comic(self, response, xkcd_api_example_628_dict, raw_image=False)
         with self.assertRaises(TypeError):
             loop.run_until_complete(c.get(''))
         with self.assertRaises(TypeError):
             loop.run_until_complete(c.get([1, 2, 3]))
Beispiel #4
0
    def test_get_latest(self):  # let's assume the example_628 json is the latest comic
        c = xkcd_wrapper.AsyncClient()
        loop = asyncio.get_event_loop()
        with aioresponses() as mock:
            mock.get(latest_comic_url, status=200, body=xkcd_api_example_628_raw)
            response = loop.run_until_complete(c.get_latest(raw_comic_image=False))
            check_comic(self, response, xkcd_api_example_628_dict, raw_image=False)

            # alias
            mock.get(latest_comic_url, status=200, body=xkcd_api_example_628_raw)
            response = loop.run_until_complete(c.latest(raw_comic_image=False))
            check_comic(self, response, xkcd_api_example_628_dict, raw_image=False)
Beispiel #5
0
    def test_client_init(self):
        with aioresponses() as mock:
            pattern = re.compile('a^')  # matches nothing
            mock.get(pattern, status=404)  # any request made will not match and throw an error
            c = xkcd_wrapper.AsyncClient()
        self.assertIsInstance(c, xkcd_wrapper.AsyncClient)
        self.assertIsInstance(c._base_url, str)
        self.assertIsInstance(c._api, str)
        self.assertIsInstance(c._explanation_wiki_url, str)
        self.assertIsInstance(c._explanation_wiki_url, str)

        self.assertIsInstance(c._response_int_values, dict)
        self.assertEqual(c._response_int_values['num'], 'id')
        self.assertEqual(c._response_int_values['year'], 'date')
        self.assertEqual(c._response_int_values['month'], 'date')
        self.assertEqual(c._response_int_values['day'], 'date')
Beispiel #6
0
    def test_get_random(self):  # let's assume the example_628 json is the latest comic
        c = xkcd_wrapper.AsyncClient()
        loop = asyncio.get_event_loop()
        with aioresponses() as mock:
            mock.get(latest_comic_url, status=200, body=xkcd_api_example_628_raw)
            mock.get(comic_id_url.format(138), status=200, body=xkcd_api_example_138_raw)
            random.seed(1)  # with latest comic being 628, random value will be 138
            response = loop.run_until_complete(c.get_random(raw_comic_image=False))
            self.assertEqual(response.id, xkcd_api_example_138_dict['num'])
            check_comic(self, response, xkcd_api_example_138_dict, raw_image=False)

            # alias
            mock.get(latest_comic_url, status=200, body=xkcd_api_example_628_raw)
            mock.get(comic_id_url.format(138), status=200, body=xkcd_api_example_138_raw)
            random.seed(1)
            response = loop.run_until_complete(c.get_random(raw_comic_image=False))
            self.assertEqual(response.id, xkcd_api_example_138_dict['num'])
            check_comic(self, response, xkcd_api_example_138_dict, raw_image=False)
Beispiel #7
0
 def test_comic_id_url(self, _id):
     c = xkcd_wrapper.AsyncClient()
     self.assertEqual(c.comic_id_url(_id), comic_id_url.format(_id))
Beispiel #8
0
 def test_latest_comic_url(self):
     c = xkcd_wrapper.AsyncClient()
     self.assertEqual(c.latest_comic_url(), latest_comic_url)
Beispiel #9
0
 def test_base_url(self):
     c = xkcd_wrapper.AsyncClient()
     self.assertEqual(c.base_url(), base_url)
Beispiel #10
0
 def test__repr__(self):
     c = xkcd_wrapper.AsyncClient()
     self.assertEqual(str(c), 'xkcd_wrapper.AsyncClient()')
Beispiel #11
0
 def __init__(self, bot):
     self.xkcd_api_client = xkcd_wrapper.AsyncClient()
     self.bot = bot
Beispiel #12
0
 def __init__(self, bot):
     self.bot = bot
     self.xkcd = xkcd_wrapper.AsyncClient()
Beispiel #13
0
 def __init__(self, bot):
     super().__init__(bot)
     self.emoji = 'ЁЯЧия╕П'
     self.xkcd_api_client = xkcd_wrapper.AsyncClient()