Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)