@@ -183,7 +183,7 @@ impl TableMetadata {
183
183
self . partition_spec_by_id ( DEFAULT_SPEC_ID )
184
184
} else {
185
185
Some (
186
- self . partition_spec_by_id ( DEFAULT_SPEC_ID )
186
+ self . partition_spec_by_id ( self . default_spec_id )
187
187
. expect ( "Default partition spec id set, but not found in table metadata" ) ,
188
188
)
189
189
}
@@ -856,6 +856,13 @@ mod tests {
856
856
assert_eq ! ( parsed_json_value, desered_type) ;
857
857
}
858
858
859
+ fn get_test_table_metadata ( file_name : & str ) -> TableMetadata {
860
+ let path = format ! ( "testdata/table_metadata/{}" , file_name) ;
861
+ let metadata: String = fs:: read_to_string ( path) . unwrap ( ) ;
862
+
863
+ serde_json:: from_str ( & metadata) . unwrap ( )
864
+ }
865
+
859
866
#[ test]
860
867
fn test_table_data_v2 ( ) {
861
868
let data = r#"
@@ -1529,9 +1536,38 @@ mod tests {
1529
1536
}
1530
1537
1531
1538
#[ test]
1532
- fn order_of_format_version ( ) {
1539
+ fn test_order_of_format_version ( ) {
1533
1540
assert ! ( FormatVersion :: V1 < FormatVersion :: V2 ) ;
1534
1541
assert_eq ! ( FormatVersion :: V1 , FormatVersion :: V1 ) ;
1535
1542
assert_eq ! ( FormatVersion :: V2 , FormatVersion :: V2 ) ;
1536
1543
}
1544
+
1545
+ #[ test]
1546
+ fn test_default_partition_spec ( ) {
1547
+ let default_spec_id = 1234 ;
1548
+ let mut table_meta_data = get_test_table_metadata ( "TableMetadataV2Valid.json" ) ;
1549
+ table_meta_data. default_spec_id = default_spec_id;
1550
+ table_meta_data
1551
+ . partition_specs
1552
+ . insert ( default_spec_id, Arc :: new ( PartitionSpec :: default ( ) ) ) ;
1553
+
1554
+ assert_eq ! (
1555
+ table_meta_data. default_partition_spec( ) ,
1556
+ table_meta_data. partition_spec_by_id( default_spec_id)
1557
+ ) ;
1558
+ }
1559
+ #[ test]
1560
+ fn test_default_sort_order ( ) {
1561
+ let default_sort_order_id = 1234 ;
1562
+ let mut table_meta_data = get_test_table_metadata ( "TableMetadataV2Valid.json" ) ;
1563
+ table_meta_data. default_sort_order_id = default_sort_order_id;
1564
+ table_meta_data
1565
+ . sort_orders
1566
+ . insert ( default_sort_order_id, Arc :: new ( SortOrder :: default ( ) ) ) ;
1567
+
1568
+ assert_eq ! (
1569
+ table_meta_data. default_sort_order( ) ,
1570
+ table_meta_data. sort_orders. get( & default_sort_order_id)
1571
+ )
1572
+ }
1537
1573
}
0 commit comments