Coverage for mindsdb / integrations / handlers / newsapi_handler / tests / test_newsapi_handler.py: 0%
44 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-21 00:36 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-21 00:36 +0000
1import unittest
3from newsapi.newsapi_exception import NewsAPIException
5from mindsdb.api.executor.data_types.response_type import RESPONSE_TYPE
6from mindsdb.integrations.handlers.newsapi_handler.newsapi_handler import NewsAPIHandler
9class NewsApiHandlerTest(unittest.TestCase):
10 @classmethod
11 def setUpClass(cls):
12 cls.kwargs = {
13 "connection_data": {"api_key": "82fa480335ce42c0aa3758cb0efe66be"}
14 }
15 cls.handler = NewsAPIHandler("test_newsapi_handler", **cls.kwargs)
17 def test_0_connect(self):
18 self.handler.connect()
20 def test_1_check_connection(self):
21 self.handler.check_connection()
23 def test_2_select(self):
24 # table = self.handler.get_table("article")
25 res = self.handler.native_query('SELECT * FROM article WHERE query="google"')
26 assert res.type is RESPONSE_TYPE.TABLE
28 def test_3_select(self):
29 # table = self.handler.get_table("article")
30 with self.assertRaises(NewsAPIException):
31 self.handler.native_query("SELECT * FROM article")
33 def test_4_select(self):
34 # table = self.handler.get_table("article")
35 with self.assertRaises(NewsAPIException):
36 self.handler.native_query(
37 'SELECT * FROM article WHERE query="google" AND sources="google.com"'
38 )
40 def test_5_select(self):
41 # table = self.handler.get_table("article")
42 res = self.handler.native_query(
43 'SELECT * FROM article WHERE query="google" AND sources="abc-news"'
44 )
45 assert res.type is RESPONSE_TYPE.TABLE
47 def test_6_select(self):
48 # table = self.handler.get_table("article")
49 self.handler.native_query(
50 'SELECT * FROM article WHERE query="google" AND publishedAt >= "2023-03-23" AND publishedAt <= "2023-04-23"'
51 )
53 def test_7_select(self):
54 # table = self.handler.get_table("article")
55 res = self.handler.native_query(
56 'SELECT * FROM article WHERE query="google" LIMIT 78'
57 )
58 assert res.type is RESPONSE_TYPE.TABLE
60 def test_8_select(self):
61 # table = self.handler.get_table("article")
62 res = self.handler.native_query(
63 'SELECT * FROM article WHERE query="google" LIMIT 150'
64 )
65 assert res.type is RESPONSE_TYPE.TABLE
67 def test_9_select(self):
68 # table = self.handler.get_table("article")
69 res = self.handler.native_query(
70 'SELECT * FROM article WHERE query="google" ORDER BY publishedAt'
71 )
72 assert res.type is RESPONSE_TYPE.TABLE
74 def test_10_select(self):
75 # table = self.handler.get_table("article")
76 with self.assertRaises(NotImplementedError):
77 self.handler.native_query(
78 'SELECT * FROM article WHERE query="google" ORDER BY query'
79 )
81 def test_11_select(self):
82 # table = self.handler.get_table("article")
83 res = self.handler.native_query(
84 'SELECT * FROM article WHERE query="google" ORDER BY relevancy'
85 )
86 assert res.type is RESPONSE_TYPE.TABLE
89if __name__ == "__main__":
90 unittest.main()