Coverage for mindsdb / integrations / handlers / mendeley_handler / tests / test_mendeley_handler.py: 0%
69 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 mindsdb.integrations.handlers.mendeley_handler.mendeley_handler import MendeleyHandler
4from mindsdb.api.executor.data_types.response_type import RESPONSE_TYPE
7class MendeleyHandlerTest(unittest.TestCase):
8 @classmethod
9 def setUpClass(cls):
10 cls.kwargs = {
11 "connection_data": {"client_id": 15253, "client_secret": "BxmSvbrRW5iYEIQR"}
12 }
13 cls.handler = MendeleyHandler("test_mendeley_handler", **cls.kwargs)
15 def test_0_connect(self):
16 self.handler.connect()
18 def test_1_check_connection(self):
19 self.handler.check_connection()
21 def test_2_select(self):
22 query = "SELECT * FROM catalog_search_data WHERE doi='10.1111/joim.13091'"
23 result = self.handler.native_query(query)
24 assert result.type is RESPONSE_TYPE.TABLE
26 def test_3_select(self):
27 query = "SELECT * FROM catalog_search_data WHERE id='af1a0408-7409-3a8b-ad91-8accd4f8849a'"
28 result = self.handler.native_query(query)
29 assert result.type is RESPONSE_TYPE.TABLE
31 def test_4_select(self):
32 query = "SELECT * FROM catalog_search_data WHERE title='The American Mineralogist crystal structure database'"
33 result = self.handler.native_query(query)
34 assert result.type is RESPONSE_TYPE.TABLE
36 def test_5_select(self):
37 query = "SELECT * FROM catalog_search_data WHERE id='8e86b541-84fd-30ef-9eed-e8c9af847ca3' AND doi='10.1093/ajcn/77.1.71'"
38 result = self.handler.native_query(query)
39 assert result.type is RESPONSE_TYPE.TABLE
41 def test_6_select(self):
42 query = "SELECT * FROM catalog_search_data WHERE issn='15570878'"
43 result = self.handler.native_query(query)
44 assert result.type is RESPONSE_TYPE.TABLE
46 def test_7_select(self):
47 query = "SELECT * FROM catalog_search_data WHERE source='American Journal of Clinical Nutrition'"
48 result = self.handler.native_query(query)
49 assert result.type is RESPONSE_TYPE.TABLE
51 def test_8_select(self):
52 query = "SELECT * FROM catalog_search_data WHERE source='American Journal of Clinical Nutrition'AND id='4eeda257-8db4-3dad-80c8-6912356d3887'"
53 result = self.handler.native_query(query)
54 assert result.type is RESPONSE_TYPE.TABLE
56 def test_9_select(self):
57 query = "SELECT * FROM catalog_search_data WHERE source='American Journal of Clinical Nutrition'AND max_year='2020'"
58 result = self.handler.native_query(query)
59 assert result.type is RESPONSE_TYPE.TABLE
61 def test_10_call_mendeley_api_invalid_method_name(self):
62 with self.assertRaises(NotImplementedError):
63 self.handler.call_mendeley_api("method1", None)
65 def test_11_select_invalid_condition_name(self):
66 with self.assertRaises(NotImplementedError):
67 query = "SELECT * FROM catalog_search_data WHERE name='American Journal of Clinical Nutrition'"
68 self.handler.native_query(query)
70 def test_12_select_invalid_operator(self):
71 with self.assertRaises(NotImplementedError):
72 query = "SELECT * FROM catalog_search_data WHERE source>'American Journal of Clinical Nutrition'AND max_year='2020' "
73 self.handler.native_query(query)
75 def test_13_select_invalid_column_name(self):
76 with self.assertRaises(KeyError):
77 query = "SELECT name FROM catalog_search_data WHERE source='American Journal of Clinical Nutrition'AND max_year='2020' "
78 self.handler.native_query(query)
80 def test_14_get_columns(self):
81 columns = self.handler.catalog_search_data.get_columns()
83 expected_columns = [
85 'title',
86 'type',
87 'source',
88 'year',
89 'pmid',
90 'sgr',
91 'issn',
92 'scopus',
93 'doi',
94 'pui',
95 'authors',
96 'keywords',
97 'link',
98 'id'
99 ]
101 self.assertListEqual(columns, expected_columns)
103 def test_15_select_invalid_condition_name(self):
104 with self.assertRaises(ValueError):
105 query = "SELECT * FROM catalog_search_data"
106 self.handler.native_query(query)
109if __name__ == "__main__":
110 unittest.main()