def test_should_not_connect_twice_on_next_get_schema_from_parquet(self,
                                                                      mock_df):
        dal = ParquetDAL(self.dirname, self.sc)
        table = ParquetTable(self.table_name, schema_index_file=self.filename)
        dal.set_table(table)  # here it gets schema too

        self.assertTrue(mock_df.parquet.called)
        mock_df.reset_mock()
        table.schema()
        self.assertFalse(mock_df.parquet.called)
 def test_should_connect(self, mock_df):
     dal = ParquetDAL(self.dirname, self.sc)
     table = ParquetTable(self.table_name, schema_index_file=self.filename)
     dal.set_table(table)
     mock_df.reset_mock()
     dal.connect(table.name)
     self.assertTrue(mock_df.parquet.called)
Exemple #3
0
    def test_should_connect_and_execute_query_with_multiple_fields(self):
        table = ParquetTable(self.table_name, schema_index_file=self.filename)
        self.dal.set_table(table)

        result = self.dal.select(table('A'), table('B'), table('C')).execute()

        self.assertDictEqual({'A': 1, 'B': 2, 'C': 3}, result.head().asDict())
    def test_should_connect_and_execute_query(self):
        table = ParquetTable(self.table_name, schema_index_file=self.filename)
        self.dal.set_table(table)

        result = self.dal.select(table('A')).execute()

        self.assertIsInstance(result, dataframe.DataFrame)
        self.assertEqual({'A': 1}, result.head().asDict())
    def test_should_reset_query_when_execute(self):
        table = ParquetTable(self.table_name, schema_index_file=self.filename)
        self.dal.set_table(table)

        self.dal.select(table('A'), table('B'), table('C'))
        query_select = self.dal._query['select']
        self.dal.execute()

        self.assertNotEqual(id(query_select), id(self.dal._query.get('select')))
 def test_should_set_uri_to_schema_index_file_with_asterisk(self):
     name = 'Test Name'
     table = ParquetTable(name)
     self.assertEqual(table.schema_index_file, '*')
 def test_should_raise_error_connecting_to_not_found_table(self, mock_df):
     dal = ParquetDAL(self.dirname, self.sc)
     table = ParquetTable(self.table_name, schema_index_file=self.filename)
     dal.set_table(table)
     self.assertRaises(ValueError, dal.connect, 'not_found_table')
    def test_should_get_schema_from_parquet_with_schema_setter(self):

        table = ParquetTable(self.table_name)
        table.schema_index_file = self.filename
        self.dal.set_table(table)
        self.assertEqual(table.schema(), self.dataframe.keys())