def test_create_table_from_csv_if_exists_fail(mock_table, mock_g): mock_table.infer.return_value = {} mock_g.user = True mock_database = mock.MagicMock() mock_database.get_df.return_value.empty = False with pytest.raises(SupersetException, match="Table already exists"): HiveEngineSpec.create_table_from_csv("foo.csv", Table("foobar"), mock_database, {}, {"if_exists": "fail"})
def test_create_table_from_csv_if_exists_replace(mock_upload_to_s3, mock_table, mock_g): mock_upload_to_s3.return_value = "mock-location" mock_table.infer.return_value = {} mock_g.user = True mock_database = mock.MagicMock() mock_database.get_df.return_value.empty = False mock_execute = mock.MagicMock(return_value=True) mock_database.get_sqla_engine.return_value.execute = mock_execute table_name = "foobar" HiveEngineSpec.create_table_from_csv( "foo.csv", Table(table=table_name), mock_database, {"sep": "mock", "header": 1, "na_values": "mock"}, {"if_exists": "replace"}, ) mock_execute.assert_any_call(f"DROP TABLE IF EXISTS {table_name}")
def test_create_table_from_csv_append() -> None: with pytest.raises(SupersetException): HiveEngineSpec.create_table_from_csv( "foo.csv", Table("foobar"), mock.MagicMock(), {}, {"if_exists": "append"} )