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

1import unittest 

2 

3from newsapi.newsapi_exception import NewsAPIException 

4 

5from mindsdb.api.executor.data_types.response_type import RESPONSE_TYPE 

6from mindsdb.integrations.handlers.newsapi_handler.newsapi_handler import NewsAPIHandler 

7 

8 

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) 

16 

17 def test_0_connect(self): 

18 self.handler.connect() 

19 

20 def test_1_check_connection(self): 

21 self.handler.check_connection() 

22 

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 

27 

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") 

32 

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 ) 

39 

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 

46 

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 ) 

52 

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 

59 

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 

66 

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 

73 

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 ) 

80 

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 

87 

88 

89if __name__ == "__main__": 

90 unittest.main()