def test_scrape_databases_metadata_with_port_should_return_objects( self, to_metadata_dict, cursor, connect): # noqa metadata = utils.Utils.convert_json_to_object(self.__MODULE_PATH, 'metadata.json') cursor.fetchall.return_value = \ utils.Utils.convert_json_to_object( self.__MODULE_PATH, 'rows.json') cursor.description = \ utils.Utils.convert_json_to_object( self.__MODULE_PATH, 'description.json') conn = MagicMock() connect.return_value = conn conn.cursor.return_value = cursor to_metadata_dict.return_value = metadata scraper = metadata_scraper.MetadataScraper() databases_metadata = scraper.get_metadata({}, connection_args={ 'database': 'db', 'host': 'mysql_host', 'port': 5432, 'user': '******', 'pass': '******' }) self.assertEqual(1, len(databases_metadata)) self.assertEqual(connect.call_count, 1)
def test_scrape_databases_metadata_with_csv_should_return_objects( self, to_metadata_dict, read_csv): # noqa metadata = utils.Utils.convert_json_to_object(self.__MODULE_PATH, 'metadata.json') read_csv.return_value = metadata to_metadata_dict.return_value = metadata scraper = metadata_scraper.MetadataScraper() databases_metadata = scraper.get_metadata({}, csv_path='csv') self.assertEqual(1, len(databases_metadata))
def test_scrape_databases_metadata_on_exception_should_re_raise( self, to_metadata_dict, cursor, connect): # noqa connect.side_effect = Exception('Error when connecting to Server') scraper = metadata_scraper.MetadataScraper() self.assertRaises(Exception, scraper.get_metadata, {}, connection_args={ 'database': 'db', 'host': 'mysql_host', 'user': '******', 'pass': '******' }) self.assertEqual(connect.call_count, 1) self.assertEqual(cursor.fetchall.call_count, 0) self.assertEqual(cursor.description.call_count, 0) self.assertEqual(to_metadata_dict.call_count, 0)