Class PolarisRestCatalogIntegrationTest
java.lang.Object
org.apache.iceberg.catalog.CatalogTests<org.apache.iceberg.rest.RESTCatalog>
org.apache.polaris.service.it.test.PolarisRestCatalogIntegrationTest
@ExtendWith(PolarisIntegrationTestExtension.class)
public class PolarisRestCatalogIntegrationTest
extends org.apache.iceberg.catalog.CatalogTests<org.apache.iceberg.rest.RESTCatalog>
Import the full core Iceberg catalog tests by hitting the REST service via the RESTCatalog
client.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.iceberg.catalog.CatalogTests
org.apache.iceberg.catalog.CatalogTests.CustomMetricsReporter -
Field Summary
FieldsFields inherited from class org.apache.iceberg.catalog.CatalogTests
FILE_A, FILE_B, FILE_C, NS, OTHER_SCHEMA, RENAMED_TABLE, REPLACE_SCHEMA, REPLACE_SPEC, REPLACE_WRITE_ORDER, SCHEMA, SPEC, TABLE, TABLE_SCHEMA, TABLE_SPEC, TABLE_WRITE_ORDER, TBL, WRITE_ORDER -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbefore(org.junit.jupiter.api.TestInfo testInfo) protected org.apache.iceberg.rest.RESTCatalogcatalog()voidcleanUp()voidprotected org.apache.iceberg.rest.RESTCataloginitCatalog(String catalogName, Map<String, String> additionalProperties) Initialize a RESTCatalog for testing.voidvoidprotected booleanprotected booleanprotected booleanprotected booleanvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidRegister a table.voidCreate an EXTERNAL catalog.voidCreate an EXTERNAL catalog.voidCreate an EXTERNAL catalog.voidvoidvoidvoidInvoke an initial registerTable request to fetch and ensure ETag is present.voidvoidvoidvoidvoidvoidvoidMethods inherited from class org.apache.iceberg.catalog.CatalogTests
assertFilePartitionSpec, assertFiles, assertFilesPartitionSpec, assertNoFiles, assertPreviousMetadataFileCount, assertUUIDsMatch, baseTableLocation, createAndDropEmptyNamespace, createTableTransaction, listNamespacesWithEmptyNamespace, listTablesInEmptyNamespace, namespacePropertiesOnEmptyNamespace, renameTableNamespaceMissing, replaceTableTransaction, supportsEmptyNamespace, supportsNamespaceProperties, supportsNamesWithDot, supportsNamesWithSlashes, tableCreationWithoutNamespace, testAppend, testBasicCreateTable, testBasicCreateTableThatAlreadyExists, testCatalogWithCustomMetricsReporter, testCompleteCreateOrReplaceTransactionCreate, testCompleteCreateOrReplaceTransactionReplace, testCompleteCreateTable, testCompleteCreateTransaction, testCompleteCreateTransactionMultipleSchemas, testCompleteCreateTransactionV2, testCompleteReplaceTransaction, testConcurrentAppendEmptyTable, testConcurrentAppendNonEmptyTable, testConcurrentCreateTransaction, testConcurrentReplaceTransactionPartitionSpec, testConcurrentReplaceTransactionPartitionSpec2, testConcurrentReplaceTransactionPartitionSpecConflict, testConcurrentReplaceTransactions, testConcurrentReplaceTransactionSchema, testConcurrentReplaceTransactionSchema2, testConcurrentReplaceTransactionSchemaConflict, testConcurrentReplaceTransactionSortOrder, testConcurrentReplaceTransactionSortOrderConflict, testCreateExistingNamespace, testCreateNamespace, testCreateNamespaceWithProperties, testCreateOrReplaceReplaceTransactionReplace, testCreateOrReplaceTransactionConcurrentCreate, testCreateOrReplaceTransactionCreate, testCreateTableWithDefaultColumnValue, testCreateTransaction, testDefaultTableProperties, testDefaultTablePropertiesCreateTransaction, testDefaultTablePropertiesReplaceTransaction, testDropMissingTable, testDropNamespace, testDropNonEmptyNamespace, testDropNonexistentNamespace, testDropTable, testDropTableWithoutPurge, testDropTableWithPurge, testListNamespaces, testListNestedNamespaces, testListTables, testLoadMetadataTable, testLoadMissingTable, testLoadNamespaceMetadata, testLoadTable, testLoadTableWithNonExistingNamespace, testMetadataFileLocationsRemovalAfterCommit, testNamespaceWithDot, testNamespaceWithSlash, testOverrideTableProperties, testOverrideTablePropertiesCreateTransaction, testOverrideTablePropertiesReplaceTransaction, testRegisterExistingTable, testRegisterTable, testRemoveNamespaceProperties, testRemoveNamespacePropertiesNamespaceDoesNotExist, testRemoveUnusedSchemas, testRemoveUnusedSpec, testRenameTable, testRenameTableDestinationTableAlreadyExists, testRenameTableMissingSourceTable, testReplaceTableKeepsSnapshotLog, testReplaceTransaction, testReplaceTransactionRequiresTableExists, testSetNamespaceProperties, testSetNamespacePropertiesNamespaceDoesNotExist, testTableNameWithDot, testTableNameWithSlash, testUpdateAndSetNamespaceProperties, testUpdateNamespaceProperties, testUpdateTableAssignmentSpecConflict, testUpdateTableOrderThenRevert, testUpdateTableSchema, testUpdateTableSchemaAssignmentConflict, testUpdateTableSchemaConflict, testUpdateTableSchemaServerSideRetry, testUpdateTableSchemaThenRevert, testUpdateTableSortOrder, testUpdateTableSortOrderServerSideRetry, testUpdateTableSpec, testUpdateTableSpecConflict, testUpdateTableSpecServerSideRetry, testUpdateTableSpecThenRevert, testUpdateTransaction, testUUIDValidation
-
Field Details
-
VIEW_QUERY
- See Also:
-
-
Constructor Details
-
PolarisRestCatalogIntegrationTest
public PolarisRestCatalogIntegrationTest()
-
-
Method Details
-
before
@BeforeEach public void before(org.junit.jupiter.api.TestInfo testInfo) -
cleanUp
@AfterEach public void cleanUp() -
catalog
protected org.apache.iceberg.rest.RESTCatalog catalog()- Specified by:
catalogin classorg.apache.iceberg.catalog.CatalogTests<org.apache.iceberg.rest.RESTCatalog>
-
initCatalog
protected org.apache.iceberg.rest.RESTCatalog initCatalog(String catalogName, Map<String, String> additionalProperties) Initialize a RESTCatalog for testing.- Specified by:
initCatalogin classorg.apache.iceberg.catalog.CatalogTests<org.apache.iceberg.rest.RESTCatalog>- Parameters:
catalogName- this parameter is currently unused.additionalProperties- additional properties to apply on top of the default test settings- Returns:
- a configured instance of RESTCatalog
-
requiresNamespaceCreate
protected boolean requiresNamespaceCreate()- Overrides:
requiresNamespaceCreatein classorg.apache.iceberg.catalog.CatalogTests<org.apache.iceberg.rest.RESTCatalog>
-
supportsNestedNamespaces
protected boolean supportsNestedNamespaces()- Overrides:
supportsNestedNamespacesin classorg.apache.iceberg.catalog.CatalogTests<org.apache.iceberg.rest.RESTCatalog>
-
supportsServerSideRetry
protected boolean supportsServerSideRetry()- Overrides:
supportsServerSideRetryin classorg.apache.iceberg.catalog.CatalogTests<org.apache.iceberg.rest.RESTCatalog>
-
overridesRequestedLocation
protected boolean overridesRequestedLocation()- Overrides:
overridesRequestedLocationin classorg.apache.iceberg.catalog.CatalogTests<org.apache.iceberg.rest.RESTCatalog>
-
testListGrantsOnCatalogObjectsToCatalogRoles
@Test public void testListGrantsOnCatalogObjectsToCatalogRoles() -
testListGrantsAfterRename
@Test public void testListGrantsAfterRename() -
testCreateTableWithOverriddenBaseLocation
@Test public void testCreateTableWithOverriddenBaseLocation() -
testCreateTableWithOverriddenBaseLocationCannotOverlapSibling
@Test public void testCreateTableWithOverriddenBaseLocationCannotOverlapSibling() -
testCreateTableWithOverriddenBaseLocationMustResideInNsDirectory
@Test public void testCreateTableWithOverriddenBaseLocationMustResideInNsDirectory() -
testLoadTableWithAccessDelegationForExternalCatalogWithConfigDisabled
@Test public void testLoadTableWithAccessDelegationForExternalCatalogWithConfigDisabled()Create an EXTERNAL catalog. The test configuration, by default, disables access delegation for EXTERNAL catalogs, so register a table and try to load it with the REST client configured to try to fetch vended credentials. Expect a ForbiddenException. -
testLoadTableWithoutAccessDelegationForExternalCatalogWithConfigDisabled
@Test public void testLoadTableWithoutAccessDelegationForExternalCatalogWithConfigDisabled()Create an EXTERNAL catalog. The test configuration, by default, disables access delegation for EXTERNAL catalogs. Register a table and attempt to load it WITHOUT access delegation. This should succeed. -
testLoadTableWithAccessDelegationForExternalCatalogWithConfigEnabledForCatalog
@Test public void testLoadTableWithAccessDelegationForExternalCatalogWithConfigEnabledForCatalog()Create an EXTERNAL catalog. The test configuration, by default, disables access delegation for EXTERNAL catalogs. However, we setenable.credential.vendingtotruefor this catalog, enabling it. Register a table and attempt to load it WITH access delegation. This should succeed. -
testLoadTableTwiceWithETag
@Test @Disabled("Enable once ETag support is available in the API for loadTable.") public void testLoadTableTwiceWithETag()Register a table. Then, invoke an initial loadTable request to fetch and ensure ETag is present. Then, invoke a second loadTable to ensure that ETag is matched. -
testRegisterAndLoadTableWithReturnedETag
@Test @Disabled("Enable once ETag support is available in the API for loadTable.") public void testRegisterAndLoadTableWithReturnedETag()Invoke an initial registerTable request to fetch and ensure ETag is present. Then, invoke a second loadTable to ensure that ETag is matched. -
testCreateAndLoadTableWithReturnedEtag
@Test @Disabled("Enable once ETag support is available in the API for loadTable.") public void testCreateAndLoadTableWithReturnedEtag() -
testSendNotificationInternalCatalog
@Test public void testSendNotificationInternalCatalog() -
diffAgainstSingleTable
@Test public void diffAgainstSingleTable() -
multipleDiffsAgainstMultipleTables
@Test public void multipleDiffsAgainstMultipleTables() -
multipleDiffsAgainstMultipleTablesLastFails
@Test public void multipleDiffsAgainstMultipleTablesLastFails() -
testMultipleConflictingCommitsToSingleTableInTransaction
@Test public void testMultipleConflictingCommitsToSingleTableInTransaction() -
testTableExistsStatus
@Test public void testTableExistsStatus() -
testDropTableStatus
@Test public void testDropTableStatus() -
testViewExistsStatus
@Test public void testViewExistsStatus() -
testDropViewStatus
@Test public void testDropViewStatus() -
testRenameViewStatus
@Test public void testRenameViewStatus() -
testLoadCredentials
@Test public void testLoadCredentials() -
testCreateGenericTable
@Test public void testCreateGenericTable() -
testLoadGenericTable
@Test public void testLoadGenericTable() -
testListGenericTables
@Test public void testListGenericTables() -
testDropGenericTable
@Test public void testDropGenericTable() -
testGrantsOnGenericTable
@Test public void testGrantsOnGenericTable() -
testGrantsOnNonExistingGenericTable
@Test public void testGrantsOnNonExistingGenericTable() -
testDropNonExistingGenericTable
@Test public void testDropNonExistingGenericTable() -
testLoadTableWithSnapshots
@Test public void testLoadTableWithSnapshots() -
testLoadTableWithRefFiltering
@Test public void testLoadTableWithRefFiltering() -
testCreateGenericTableWithReservedProperty
@Test public void testCreateGenericTableWithReservedProperty() -
testCreateNamespaceWithReservedProperty
@Test public void testCreateNamespaceWithReservedProperty() -
testUpdateNamespaceWithReservedProperty
@Test public void testUpdateNamespaceWithReservedProperty() -
testRemoveReservedPropertyFromNamespace
@Test public void testRemoveReservedPropertyFromNamespace() -
testCreateTableWithReservedProperty
@Test public void testCreateTableWithReservedProperty() -
testUpdateTableWithReservedProperty
@Test public void testUpdateTableWithReservedProperty()
-