async def test_client_fetch_news(self, mock): """Testing fetch news""" news_id = 6000 content = self.load_resource(FILE_NEWS_ARTICLE) mock.get(News.get_url(news_id), status=200, body=content) news = await self.client.fetch_news(news_id) self.assertIsInstance(news.data, News)
async def fetch_news(self, news_id): """Fetches a news entry by its id from Tibia.com Parameters ---------- news_id: :class:`int` The id of the news entry. Returns ------- :class:`News` The news entry if found, ``None`` otherwise. Raises ------ Forbidden If a 403 Forbidden error was returned. This usually means that Tibia.com is rate-limiting the client because of too many requests. NetworkError If there's any connection errors during the request. """ content = await self._get(News.get_url(news_id)) news = News.from_content(content, news_id) return news