test(table-catalog): add vendor compatibility audit (#4299)

* test(table-catalog): add vendor compatibility audit

* fix(table-catalog): include OSS data-plane endpoint

---------

Co-authored-by: Henry Guo <marshawcoco@users.noreply.github.com>
This commit is contained in:
Henry Guo
2026-07-06 14:12:19 +08:00
committed by GitHub
parent b09526c0f5
commit be52e35a1f
6 changed files with 393 additions and 13 deletions
@@ -73,6 +73,7 @@ class PyIcebergSmokeConfigTest(unittest.TestCase):
)
self.assertEqual(profiles["minio-aistor"]["rest_signing_name"], "s3tables")
self.assertEqual(profiles["cloudflare-r2-data-catalog"]["credential_mode"], "catalog-vended")
self.assertEqual(profiles["oss-tables"]["rest_signing_name"], "osstables")
def test_vendor_profiles_publish_migration_boundaries(self) -> None:
profiles = pyiceberg_smoke.vendor_profiles()
@@ -89,6 +90,10 @@ class PyIcebergSmokeConfigTest(unittest.TestCase):
self.assertEqual(cloudflare["credential_mode"], "catalog-vended")
self.assertIn("live RustFS interoperability", cloudflare["not_claimed"])
oss = profiles["oss-tables"]
self.assertEqual(oss["warehouse_shape"], "acs:osstables:{region}:{account_id}:bucket/{table_bucket}")
self.assertIn("provider-error-code parity", oss["not_claimed"])
def test_aws_reference_profile_formats_s3tables_warehouse_arn(self) -> None:
args = self.parse_with_args([
"--profile",
@@ -109,6 +114,26 @@ class PyIcebergSmokeConfigTest(unittest.TestCase):
self.assertEqual(properties["warehouse"], "arn:aws:s3tables:us-east-1:123456789012:bucket/analytics")
self.assertEqual(properties["rest.signing-name"], "s3tables")
def test_oss_tables_reference_profile_formats_warehouse_arn(self) -> None:
args = self.parse_with_args([
"--profile",
"oss-tables",
"--endpoint",
"https://cn-hangzhou.oss-tables.aliyuncs.com",
"--region",
"cn-hangzhou",
"--account-id",
"123456789012",
"--table-bucket",
"analytics",
])
properties = pyiceberg_smoke.catalog_properties(args)
self.assertEqual(properties["uri"], "https://cn-hangzhou.oss-tables.aliyuncs.com/iceberg")
self.assertEqual(properties["warehouse"], "acs:osstables:cn-hangzhou:123456789012:bucket/analytics")
self.assertEqual(properties["rest.signing-name"], "osstables")
def test_cloudflare_reference_profile_uses_catalog_uri_and_warehouse_name(self) -> None:
args = self.parse_with_args([
"--profile",