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.
  • Field Details

  • 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:
      catalog in class org.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:
      initCatalog in class org.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:
      requiresNamespaceCreate in class org.apache.iceberg.catalog.CatalogTests<org.apache.iceberg.rest.RESTCatalog>
    • supportsNestedNamespaces

      protected boolean supportsNestedNamespaces()
      Overrides:
      supportsNestedNamespaces in class org.apache.iceberg.catalog.CatalogTests<org.apache.iceberg.rest.RESTCatalog>
    • supportsServerSideRetry

      protected boolean supportsServerSideRetry()
      Overrides:
      supportsServerSideRetry in class org.apache.iceberg.catalog.CatalogTests<org.apache.iceberg.rest.RESTCatalog>
    • overridesRequestedLocation

      protected boolean overridesRequestedLocation()
      Overrides:
      overridesRequestedLocation in class org.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 set enable.credential.vending to true for 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()