@@ -24,6 +24,7 @@ public class ITDeltaSharingClient implements DatasetComparer, ScalaUtils {
2424 private final StorageManagerInitializer storageManagerInitializer ;
2525 private final String deltaTablePath ;
2626
27+
2728 public ITDeltaSharingClient () {
2829 this .storageManagerInitializer = new StorageManagerInitializer ();
2930 this .deltaTablePath =
@@ -59,6 +60,30 @@ void showS3Table1withQueryTableApi() {
5960 assertSmallDatasetEquality (ds , expectedData , true , false , false , 500 );
6061 }
6162
63+ @ Test
64+ void showS3IcebergTableWithQueryTableApi () {
65+ var spark = TestSparkSession .newSparkSession ();
66+ registerAnIcebergTable ();
67+ var ds = spark .read ().format ("deltaSharing" ).load (deltaTablePath );
68+ var expectedSchema = new StructType (new StructField [] {
69+ new StructField ("id" , DataType .fromDDL ("long" ), true , new Metadata (emptyScalaMap ()))
70+ });
71+ var expectedData = spark
72+ .createDataFrame (
73+ List .of (
74+ new MrFoxDeltaTableSchema (0 ),
75+ new MrFoxDeltaTableSchema (3 ),
76+ new MrFoxDeltaTableSchema (2 ),
77+ new MrFoxDeltaTableSchema (1 ),
78+ new MrFoxDeltaTableSchema (4 )),
79+ MrFoxDeltaTableSchema .class )
80+ .toDF ();
81+
82+ assertEquals (expectedSchema , ds .schema ());
83+ assertEquals (5 , ds .count ());
84+ assertSmallDatasetEquality (ds , expectedData , true , false , false , 500 );
85+ }
86+
6287 @ Test
6388 void registerAnIcebergTable () {
6489 TableInfo tableInfo = storageManagerInitializer .createIcebergTableWithGlueMetastore ();
0 commit comments