@@ -24,6 +24,7 @@ public class ITDeltaSharingClient implements DatasetComparer, ScalaUtils {
24
24
private final StorageManagerInitializer storageManagerInitializer ;
25
25
private final String deltaTablePath ;
26
26
27
+
27
28
public ITDeltaSharingClient () {
28
29
this .storageManagerInitializer = new StorageManagerInitializer ();
29
30
this .deltaTablePath =
@@ -59,6 +60,30 @@ void showS3Table1withQueryTableApi() {
59
60
assertSmallDatasetEquality (ds , expectedData , true , false , false , 500 );
60
61
}
61
62
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
+
62
87
@ Test
63
88
void registerAnIcebergTable () {
64
89
TableInfo tableInfo = storageManagerInitializer .createIcebergTableWithGlueMetastore ();
0 commit comments