Native SDK for Connectors Java Test - release notes

Release notes for Native SDK for Connectors Java test library.

Version 2.2.0 (December 10th, 2024)

General changes

  • Replaced the SnowSQL tool with new Snowflake CLI tool
  • Updated Java dependencies

Behavior changes

  • com.snowflake.connectors.application.scheduler.CreateSchedulerHandlerTestBuilder:

    • Renamed withSchedulerCreator(SchedulerCreator) method to withSchedulerManager(SchedulerManager).
  • com.snowflake.connectors.application.scheduler.InMemoryDefaultSchedulerCreator:

    • Renamed class to InMemoryDefaultSchedulerManager.
  • com.snowflake.connectors.taskreactor.commands.queue.InMemoryCommandsQueueRepository:

    • Renamed class to InMemoryCommandsQueue.

New features

  • New test builders for various handlers that allow to fully customize objects used by handler classes:

    • Added com.snowflake.connectors.application.configuration.reset.ResetConfigurationHandlerTestBuilder.
  • com.snowflake.connectors.application.lifecycle.pause.PauseConnectorHandlerTestBuilder:

    • Added withSchedulerManager(SchedulerManager) method.
  • com.snowflake.connectors.application.lifecycle.resume.ResumeConnectorHandlerTestBuilder:

    • Added withSchedulerManager(SchedulerManager) method.
  • Added new assertion classes:

    • com.snowflake.connectors.common.assertions.ingestion.IngestionConfigurationAssert that allows to assert objects of com.snowflake.connectors.application.ingestion.definition.IngestionConfiguration class.
    • com.snowflake.connectors.common.assertions.UUIDAssertions that allows to assert String representations of UUIDs.
  • com.snowflake.connectors.common.assertions.task.TaskPropertiesAssert:

    • Added hasPredecessors(List<TaskRef>) assertion.
  • com.snowflake.connectors.common.assertions.ingestion.IngestionRunAssert:

    • Added hasIdAsUUID() assertion.
    • Added hasIngestionConfigurationIdAsUUID() assertion.
    • Added hasIngestionProcessIdAsUUID() assertion.
    • Added hasStartedAt() assertion.
    • Added hasCompletedAt() assertion.
    • Added hasCompletedAtAfterStartedAt() assertion.
    • Added hasIngestedRowsGreaterThan(int) assertion.
    • Added hasUpdatedAt() assertion.
    • Added hasMetadata() assertion.
    • Added hasCompletedState() assertion.
  • Added new classes for use in integration testing:

    • com.snowflake.connectors.common.SharedObjects.
    • com.snowflake.connectors.common.PathResolver.
    • com.snowflake.connectors.common.procedure.ProcedureDescriptor.
    • com.snowflake.connectors.common.procedure.ProcedureProperties.

Bug fixes

  • com.snowflake.connectors.application.ingestion.process.InMemoryIngestionProcessRepository:
    • Provided an implementation of endProcess(String, String, String) method, instead of throwing UnsupportedOperationException.

Version 2.1.0 (July 8th, 2024)

Behavior changes

  • Removed com.snowflake.connectors.taskreactor.InMemoryConfiguredTaskReactorExistenceVerifier class.
  • Removed com.snowflake.connectors.taskreactor.InMemoryNotConfiguredTaskReactorExistenceVerifier class.
  • Removed com.snowflake.connectors.application.common.task.InMemoryTaskRepository class.

New features

  • New test builders for various handlers that allow to fully customize objects used by handler classes:

    • Added com.snowflake.connectors.application.ingestion.create.CreateResourceHandlerTestBuilder.
    • Added com.snowflake.connectors.application.ingestion.enable.EnableResourceHandlerTestBuilder.
    • Added com.snowflake.connectors.application.ingestion.disable.DisableResourceHandlerTestBuilder.
    • Added com.snowflake.connectors.application.ingestion.update.UpdateResourceHandlerTestBuilder.
    • Added com.snowflake.connectors.application.scheduler.CreateSchedulerHandlerTestBuilder.
  • New in-memory implementations:

    • Added com.snowflake.connectors.application.scheduler.InMemoryDefaultSchedulerCreator.
    • Added com.snowflake.connectors.application.configuration.connector.InMemoryConnectorConfigurationService.
    • Added com.snowflake.connectors.application.status.InMemoryConnectorStatusRepository.
    • Added com.snowflake.connectors.application.status.InMemoryConnectorStatusRepository.
    • Added com.snowflake.connectors.taskreactor.InMemoryTaskManagement.
    • Added com.snowflake.connectors.util.snowflake.InMemoryAccessTools.
    • Added com.snowflake.connectors.util.snowflake.InMemoryTransactionManager.
  • Added new assertions in com.snowflake.connectors.common.assertions.NativeSdkAssertions:

    • Added com.snowflake.connectors.common.assertions.task.CommandAssert that allows to assert objects of com.snowflake.connectors.taskreactor.commands.queue.Command class.
    • Added com.snowflake.connectors.common.assertions.common.object.ObjectNameAssert that allows to assert objects of com.snowflake.connectors.common.object.ObjectName class.
    • Added com.snowflake.connectors.common.assertions.common.object.SchemaNameAssert that allows to assert objects of com.snowflake.connectors.common.object.SchemaName class.
    • Added com.snowflake.connectors.common.assertions.common.object.ReferenceAssert that allows to assert objects of com.snowflake.connectors.common.object.Reference class.
  • com.snowflake.connectors.common.assertions.ingestion.definition.ResourceIngestionDefinitionAssert:

    • Added isEnabled() method.
    • Added isDisabled() method.
  • com.snowflake.connectors.common.assertions.common.response:
    • Added hasAdditionalPayload() method.

Version 2.0.0 (May 24th, 2024)

Initial release.