Skip to content

Commit

Permalink
destinations-s3-cdk-upgrade
Browse files Browse the repository at this point in the history
  • Loading branch information
gisripa committed Apr 5, 2024
1 parent 7a07bb3 commit 22bf871
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ plugins {
airbyteJavaConnector {
cdkVersionRequired = '0.10.2'
features = ['db-destinations', 's3-destinations']
useLocalCdk = false
useLocalCdk = true
}

airbyteJavaConnector.addCdkDependencies()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ protected S3DestinationStrictEncrypt(final S3DestinationConfigFactory configFact

@Override
public AirbyteConnectionStatus check(final JsonNode config) {
final S3DestinationConfig destinationConfig = this.configFactory.getS3DestinationConfig(config, super.storageProvider());
final S3DestinationConfig destinationConfig = this.getConfigFactory().getS3DestinationConfig(config, super.storageProvider());

// Fails early to avoid extraneous validations checks if custom endpoint is not secure
if (!S3BaseChecks.testCustomEndpointSecured(destinationConfig.getEndpoint())) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import io.airbyte.cdk.integrations.destination.s3.S3DestinationConfig;
import io.airbyte.cdk.integrations.destination.s3.S3DestinationConfigFactory;
import io.airbyte.cdk.integrations.destination.s3.StorageProvider;
import io.airbyte.commons.json.Jsons;
import io.airbyte.protocol.models.v0.AirbyteConnectionStatus;
import io.airbyte.protocol.models.v0.AirbyteConnectionStatus.Status;
import org.junit.jupiter.api.BeforeEach;
Expand Down Expand Up @@ -55,7 +56,7 @@ public S3DestinationConfig getS3DestinationConfig(final JsonNode config, final S
@Test
public void checksCustomEndpointIsHttpsOnly() {
final S3Destination destinationWithHttpsOnlyEndpoint = new S3DestinationStrictEncrypt(factoryConfig);
final AirbyteConnectionStatus status = destinationWithHttpsOnlyEndpoint.check(null);
final AirbyteConnectionStatus status = destinationWithHttpsOnlyEndpoint.check(Jsons.emptyObject());
assertEquals(Status.SUCCEEDED, status.getStatus(), "custom endpoint did not contain `s3-accesspoint`");
}

Expand All @@ -79,7 +80,7 @@ public S3DestinationConfig getS3DestinationConfig(final JsonNode config, final S
}

});
final AirbyteConnectionStatus status = destinationWithStandardUnsecuredEndpoint.check(null);
final AirbyteConnectionStatus status = destinationWithStandardUnsecuredEndpoint.check(Jsons.emptyObject());
assertEquals(Status.FAILED, status.getStatus());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import io.airbyte.cdk.integrations.destination.s3.S3DestinationConfigFactory;
import io.airbyte.cdk.integrations.destination.s3.S3StorageOperations;
import io.airbyte.cdk.integrations.destination.s3.StorageProvider;
import io.airbyte.commons.json.Jsons;
import io.airbyte.protocol.models.v0.AirbyteConnectionStatus;
import io.airbyte.protocol.models.v0.AirbyteConnectionStatus.Status;
import org.junit.jupiter.api.BeforeEach;
Expand Down Expand Up @@ -75,7 +76,7 @@ public S3DestinationConfig getS3DestinationConfig(final JsonNode config, final S
public void checksS3WithoutListObjectPermission() {
final S3Destination destinationFail = new S3Destination(factoryConfig);
doThrow(new AmazonS3Exception("Access Denied")).when(s3).listObjects(any(ListObjectsRequest.class));
final AirbyteConnectionStatus status = destinationFail.check(null);
final AirbyteConnectionStatus status = destinationFail.check(Jsons.emptyObject());
assertEquals(Status.FAILED, status.getStatus(), "Connection check should have failed");
assertTrue(status.getMessage().indexOf("Access Denied") > 0, "Connection check returned wrong failure message");
}
Expand All @@ -86,7 +87,7 @@ public void checksS3WithoutListObjectPermission() {
*/
public void checksS3WithListObjectPermission() {
final S3Destination destinationSuccess = new S3Destination(factoryConfig);
final AirbyteConnectionStatus status = destinationSuccess.check(null);
final AirbyteConnectionStatus status = destinationSuccess.check(Jsons.emptyObject());
assertEquals(Status.SUCCEEDED, status.getStatus(), "Connection check should have succeeded");
}

Expand Down

0 comments on commit 22bf871

Please sign in to comment.