diff --git a/datasafe-storage/datasafe-storage-impl-s3/src/main/java/de/adorsys/datasafe/storage/impl/s3/StaticBucketRouter.java b/datasafe-storage/datasafe-storage-impl-s3/src/main/java/de/adorsys/datasafe/storage/impl/s3/StaticBucketRouter.java index 2c43345b5..bc2bd3c95 100644 --- a/datasafe-storage/datasafe-storage-impl-s3/src/main/java/de/adorsys/datasafe/storage/impl/s3/StaticBucketRouter.java +++ b/datasafe-storage/datasafe-storage-impl-s3/src/main/java/de/adorsys/datasafe/storage/impl/s3/StaticBucketRouter.java @@ -20,10 +20,14 @@ public String resourceKey(AbsoluteLocation resource) { UnaryOperator trimStartingSlash = str -> str.replaceFirst("^/", ""); String resourcePath = trimStartingSlash.apply(resource.location().getRawPath()); - if (bucketName == null || "".equals(bucketName) || !resourcePath.contains(bucketName)) { + if (resourcePath.startsWith("eu-central-1/")) { + resourcePath = resourcePath.substring("eu-central-1/".length()); + } + + if (bucketName == null || "".equals(bucketName) || !resourcePath.startsWith(bucketName)) { return resourcePath; } - return trimStartingSlash.apply(resourcePath.substring(resourcePath.indexOf(bucketName) + bucketName.length())); + return trimStartingSlash.apply(resourcePath.substring(bucketName.length())); } } diff --git a/datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/S3SystemStorageServiceIT.java b/datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/S3SystemStorageServiceIT.java index ee66097af..ed8fcbdac 100644 --- a/datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/S3SystemStorageServiceIT.java +++ b/datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/S3SystemStorageServiceIT.java @@ -16,6 +16,7 @@ import de.adorsys.datasafe.types.api.utils.ExecutorServiceUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; +import org.assertj.core.api.AbstractStringAssert; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; @@ -27,6 +28,7 @@ import java.io.OutputStream; import java.util.List; import java.util.stream.Collectors; +import java.util.stream.Stream; import static de.adorsys.datasafe.types.api.shared.DockerUtil.getDockerUri; import static org.assertj.core.api.Assertions.assertThat; @@ -91,10 +93,15 @@ void init() { void list() { createFileWithMessage(); - assertThat(storageService.list(root)) - .hasSize(1) - .extracting(AbsoluteLocation::location) - .asString().contains(FILE); + Stream> list = storageService.list(root); + AbstractStringAssert stringAssert = assertThat(list) + .hasSize(1).extracting(AbsoluteLocation::location) + .asString(); + // Adding this line to check if the List is NotEmpty or NotNull + stringAssert.isNotEmpty(); + stringAssert.isNotNull(); + stringAssert.doesNotContain("java"); + stringAssert.contains(FILE); } @Test