This is an automated email from the ASF dual-hosted git repository.

rouazana pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 3d3d54008400eff590077af3d325be7248a38e43
Author: Rene Cordier <[email protected]>
AuthorDate: Fri Jul 19 15:33:54 2019 +0700

    JAMES-2829 extract BlobStore function call into a local variable in all 
BlobStore contracts for better clarity
---
 .../apache/james/blob/api/BlobStoreContract.java   | 103 ++++++++++++---------
 .../james/blob/api/BucketBlobStoreContract.java    |  76 ++++++++++-----
 .../james/blob/api/DeleteBlobStoreContract.java    |  75 ++++++++-------
 .../blob/api/MetricableBlobStoreContract.java      |  54 +++++++----
 4 files changed, 187 insertions(+), 121 deletions(-)

diff --git 
a/server/blob/blob-api/src/test/java/org/apache/james/blob/api/BlobStoreContract.java
 
b/server/blob/blob-api/src/test/java/org/apache/james/blob/api/BlobStoreContract.java
index cd63407..1b25ada 100644
--- 
a/server/blob/blob-api/src/test/java/org/apache/james/blob/api/BlobStoreContract.java
+++ 
b/server/blob/blob-api/src/test/java/org/apache/james/blob/api/BlobStoreContract.java
@@ -44,167 +44,184 @@ public interface BlobStoreContract {
 
     @Test
     default void saveShouldThrowWhenNullData() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        assertThatThrownBy(() -> testee().save(defaultBucketName, (byte[]) 
null).block())
+        assertThatThrownBy(() -> store.save(defaultBucketName, (byte[]) 
null).block())
             .isInstanceOf(NullPointerException.class);
     }
 
     @Test
     default void saveShouldThrowWhenNullString() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        assertThatThrownBy(() -> testee().save(defaultBucketName, (String) 
null).block())
+        assertThatThrownBy(() -> store.save(defaultBucketName, (String) 
null).block())
             .isInstanceOf(NullPointerException.class);
     }
 
     @Test
     default void saveShouldThrowWhenNullInputStream() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        assertThatThrownBy(() -> testee().save(defaultBucketName, 
(InputStream) null).block())
+        assertThatThrownBy(() -> store.save(defaultBucketName, (InputStream) 
null).block())
             .isInstanceOf(NullPointerException.class);
     }
 
     @Test
     default void saveShouldSaveEmptyData() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        BlobId blobId = testee().save(defaultBucketName, 
EMPTY_BYTEARRAY).block();
+        BlobId blobId = store.save(defaultBucketName, EMPTY_BYTEARRAY).block();
 
-        byte[] bytes = testee().readBytes(defaultBucketName, blobId).block();
+        byte[] bytes = store.readBytes(defaultBucketName, blobId).block();
 
         assertThat(new String(bytes, StandardCharsets.UTF_8)).isEmpty();
     }
 
     @Test
     default void saveShouldSaveEmptyString() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        BlobId blobId = testee().save(defaultBucketName, new String()).block();
+        BlobId blobId = store.save(defaultBucketName, new String()).block();
 
-        byte[] bytes = testee().readBytes(defaultBucketName, blobId).block();
+        byte[] bytes = store.readBytes(defaultBucketName, blobId).block();
 
         assertThat(new String(bytes, StandardCharsets.UTF_8)).isEmpty();
     }
 
     @Test
     default void saveShouldSaveEmptyInputStream() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        BlobId blobId = testee().save(defaultBucketName, new 
ByteArrayInputStream(EMPTY_BYTEARRAY)).block();
+        BlobId blobId = store.save(defaultBucketName, new 
ByteArrayInputStream(EMPTY_BYTEARRAY)).block();
 
-        byte[] bytes = testee().readBytes(defaultBucketName, blobId).block();
+        byte[] bytes = store.readBytes(defaultBucketName, blobId).block();
 
         assertThat(new String(bytes, StandardCharsets.UTF_8)).isEmpty();
     }
 
     @Test
     default void saveShouldReturnBlobId() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        BlobId blobId = testee().save(defaultBucketName, 
SHORT_BYTEARRAY).block();
+        BlobId blobId = store.save(defaultBucketName, SHORT_BYTEARRAY).block();
 
         
assertThat(blobId).isEqualTo(blobIdFactory().from("31f7a65e315586ac198bd798b6629ce4903d0899476d5741a9f32e2e521b6a66"));
     }
 
     @Test
     default void saveShouldReturnBlobIdOfString() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        BlobId blobId = testee().save(defaultBucketName, SHORT_STRING).block();
+        BlobId blobId = store.save(defaultBucketName, SHORT_STRING).block();
 
         
assertThat(blobId).isEqualTo(blobIdFactory().from("31f7a65e315586ac198bd798b6629ce4903d0899476d5741a9f32e2e521b6a66"));
     }
 
     @Test
     default void saveShouldReturnBlobIdOfInputStream() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        BlobId blobId = testee().save(defaultBucketName, new 
ByteArrayInputStream(SHORT_BYTEARRAY)).block();
+        BlobId blobId = store.save(defaultBucketName, new 
ByteArrayInputStream(SHORT_BYTEARRAY)).block();
 
         
assertThat(blobId).isEqualTo(blobIdFactory().from("31f7a65e315586ac198bd798b6629ce4903d0899476d5741a9f32e2e521b6a66"));
     }
 
     @Test
     default void readBytesShouldThrowWhenNoExisting() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        assertThatThrownBy(() -> testee().readBytes(defaultBucketName, 
blobIdFactory().from("unknown")).block())
+        assertThatThrownBy(() -> store.readBytes(defaultBucketName, 
blobIdFactory().from("unknown")).block())
             .isExactlyInstanceOf(ObjectStoreException.class);
     }
 
     @Test
     default void readBytesShouldReturnSavedData() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        BlobId blobId = testee().save(defaultBucketName, 
SHORT_BYTEARRAY).block();
+        BlobId blobId = store.save(defaultBucketName, SHORT_BYTEARRAY).block();
 
-        byte[] bytes = testee().readBytes(defaultBucketName, blobId).block();
+        byte[] bytes = store.readBytes(defaultBucketName, blobId).block();
 
         assertThat(bytes).isEqualTo(SHORT_BYTEARRAY);
     }
 
     @Test
     default void readBytesShouldReturnLongSavedData() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        BlobId blobId = testee().save(defaultBucketName, 
ELEVEN_KILOBYTES).block();
+        BlobId blobId = store.save(defaultBucketName, 
ELEVEN_KILOBYTES).block();
 
-        byte[] bytes = testee().readBytes(defaultBucketName, blobId).block();
+        byte[] bytes = store.readBytes(defaultBucketName, blobId).block();
 
         assertThat(bytes).isEqualTo(ELEVEN_KILOBYTES);
     }
 
     @Test
     default void readBytesShouldReturnBigSavedData() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        BlobId blobId = testee().save(defaultBucketName, 
TWELVE_MEGABYTES).block();
+        BlobId blobId = store.save(defaultBucketName, 
TWELVE_MEGABYTES).block();
 
-        byte[] bytes = testee().readBytes(defaultBucketName, blobId).block();
+        byte[] bytes = store.readBytes(defaultBucketName, blobId).block();
 
         assertThat(bytes).isEqualTo(TWELVE_MEGABYTES);
     }
 
     @Test
     default void readShouldThrowWhenNoExistingStream() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        assertThatThrownBy(() -> testee().read(defaultBucketName, 
blobIdFactory().from("unknown")))
+        assertThatThrownBy(() -> store.read(defaultBucketName, 
blobIdFactory().from("unknown")))
             .isInstanceOf(ObjectStoreException.class);
     }
 
     @Test
     default void readShouldReturnSavedData() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        BlobId blobId = testee().save(defaultBucketName, 
SHORT_BYTEARRAY).block();
+        BlobId blobId = store.save(defaultBucketName, SHORT_BYTEARRAY).block();
 
-        InputStream read = testee().read(defaultBucketName, blobId);
+        InputStream read = store.read(defaultBucketName, blobId);
 
         assertThat(read).hasSameContentAs(new 
ByteArrayInputStream(SHORT_BYTEARRAY));
     }
 
     @Test
     default void readShouldReturnLongSavedData() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        BlobId blobId = testee().save(defaultBucketName, 
ELEVEN_KILOBYTES).block();
+        BlobId blobId = store.save(defaultBucketName, 
ELEVEN_KILOBYTES).block();
 
-        InputStream read = testee().read(defaultBucketName, blobId);
+        InputStream read = store.read(defaultBucketName, blobId);
 
         assertThat(read).hasSameContentAs(new 
ByteArrayInputStream(ELEVEN_KILOBYTES));
     }
 
     @Test
     default void readShouldReturnBigSavedData() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
         // 12 MB of text
-        BlobId blobId = testee().save(defaultBucketName, 
TWELVE_MEGABYTES).block();
+        BlobId blobId = store.save(defaultBucketName, 
TWELVE_MEGABYTES).block();
 
-        InputStream read = testee().read(defaultBucketName, blobId);
+        InputStream read = store.read(defaultBucketName, blobId);
 
         assertThat(read).hasSameContentAs(new 
ByteArrayInputStream(TWELVE_MEGABYTES));
     }
diff --git 
a/server/blob/blob-api/src/test/java/org/apache/james/blob/api/BucketBlobStoreContract.java
 
b/server/blob/blob-api/src/test/java/org/apache/james/blob/api/BucketBlobStoreContract.java
index d52d703..a36feb2 100644
--- 
a/server/blob/blob-api/src/test/java/org/apache/james/blob/api/BucketBlobStoreContract.java
+++ 
b/server/blob/blob-api/src/test/java/org/apache/james/blob/api/BucketBlobStoreContract.java
@@ -41,89 +41,113 @@ public interface BucketBlobStoreContract {
 
     @Test
     default void deleteBucketShouldThrowWhenNullBucketName() {
-        assertThatThrownBy(() -> testee().deleteBucket(null).block())
+        BlobStore store = testee();
+
+        assertThatThrownBy(() -> store.deleteBucket(null).block())
             .isInstanceOf(NullPointerException.class);
     }
 
     @Test
     default void deleteBucketShouldDeleteExistingBucketWithItsData() {
-        BlobId blobId = testee().save(CUSTOM, SHORT_BYTEARRAY).block();
-        testee().deleteBucket(CUSTOM).block();
+        BlobStore store = testee();
+
+        BlobId blobId = store.save(CUSTOM, SHORT_BYTEARRAY).block();
+        store.deleteBucket(CUSTOM).block();
 
-        assertThatThrownBy(() -> testee().read(CUSTOM, blobId))
+        assertThatThrownBy(() -> store.read(CUSTOM, blobId))
             .isInstanceOf(ObjectStoreException.class);
     }
 
     @Test
     default void deleteBucketShouldBeIdempotent(){
-        testee().save(CUSTOM, SHORT_BYTEARRAY).block();
-        testee().deleteBucket(CUSTOM).block();
+        BlobStore store = testee();
 
-        assertThatCode(() -> testee().deleteBucket(CUSTOM).block())
+        store.save(CUSTOM, SHORT_BYTEARRAY).block();
+        store.deleteBucket(CUSTOM).block();
+
+        assertThatCode(() -> store.deleteBucket(CUSTOM).block())
             .doesNotThrowAnyException();
     }
 
     @Test
     default void saveBytesShouldThrowWhenNullBucketName() {
-        assertThatThrownBy(() -> testee().save(null, SHORT_BYTEARRAY).block())
+        BlobStore store = testee();
+
+        assertThatThrownBy(() -> store.save(null, SHORT_BYTEARRAY).block())
             .isInstanceOf(NullPointerException.class);
     }
 
     @Test
     default void saveStringShouldThrowWhenNullBucketName() {
-        assertThatThrownBy(() -> testee().save(null, SHORT_STRING).block())
+        BlobStore store = testee();
+
+        assertThatThrownBy(() -> store.save(null, SHORT_STRING).block())
             .isInstanceOf(NullPointerException.class);
     }
 
     @Test
     default void saveInputStreamShouldThrowWhenNullBucketName() {
-        assertThatThrownBy(() -> testee().save(null, new 
ByteArrayInputStream(SHORT_BYTEARRAY)).block())
+        BlobStore store = testee();
+
+        assertThatThrownBy(() -> store.save(null, new 
ByteArrayInputStream(SHORT_BYTEARRAY)).block())
             .isInstanceOf(NullPointerException.class);
     }
 
     @Test
     default void readShouldThrowWhenNullBucketName() {
-        BlobId blobId = testee().save(BucketName.DEFAULT, 
SHORT_BYTEARRAY).block();
-        assertThatThrownBy(() -> testee().read(null, blobId))
+        BlobStore store = testee();
+
+        BlobId blobId = store.save(BucketName.DEFAULT, 
SHORT_BYTEARRAY).block();
+        assertThatThrownBy(() -> store.read(null, blobId))
             .isInstanceOf(NullPointerException.class);
     }
 
     @Test
     default void readBytesStreamShouldThrowWhenNullBucketName() {
-        BlobId blobId = testee().save(BucketName.DEFAULT, 
SHORT_BYTEARRAY).block();
-        assertThatThrownBy(() -> testee().readBytes(null, blobId).block())
+        BlobStore store = testee();
+
+        BlobId blobId = store.save(BucketName.DEFAULT, 
SHORT_BYTEARRAY).block();
+        assertThatThrownBy(() -> store.readBytes(null, blobId).block())
             .isInstanceOf(NullPointerException.class);
     }
 
     @Test
     default void readStringShouldThrowWhenBucketDoesNotExist() {
-        BlobId blobId = testee().save(BucketName.DEFAULT, 
SHORT_BYTEARRAY).block();
-        assertThatThrownBy(() -> testee().read(CUSTOM, blobId))
+        BlobStore store = testee();
+
+        BlobId blobId = store.save(BucketName.DEFAULT, 
SHORT_BYTEARRAY).block();
+        assertThatThrownBy(() -> store.read(CUSTOM, blobId))
             .isInstanceOf(ObjectStoreException.class);
     }
 
     @Test
     default void readBytesStreamShouldThrowWhenBucketDoesNotExist() {
-        BlobId blobId = testee().save(BucketName.DEFAULT, 
SHORT_BYTEARRAY).block();
-        assertThatThrownBy(() -> testee().readBytes(CUSTOM, blobId).block())
+        BlobStore store = testee();
+
+        BlobId blobId = store.save(BucketName.DEFAULT, 
SHORT_BYTEARRAY).block();
+        assertThatThrownBy(() -> store.readBytes(CUSTOM, blobId).block())
             .isInstanceOf(ObjectStoreException.class);
     }
 
     @Test
     default void shouldBeAbleToSaveDataInMultipleBuckets() {
-        BlobId blobIdDefault = testee().save(BucketName.DEFAULT, 
SHORT_BYTEARRAY).block();
-        BlobId blobIdCustom = testee().save(CUSTOM, SHORT_BYTEARRAY).block();
+        BlobStore store = testee();
 
-        byte[] bytesDefault = testee().readBytes(BucketName.DEFAULT, 
blobIdDefault).block();
-        byte[] bytesCustom = testee().readBytes(CUSTOM, blobIdCustom).block();
+        BlobId blobIdDefault = store.save(BucketName.DEFAULT, 
SHORT_BYTEARRAY).block();
+        BlobId blobIdCustom = store.save(CUSTOM, SHORT_BYTEARRAY).block();
+
+        byte[] bytesDefault = store.readBytes(BucketName.DEFAULT, 
blobIdDefault).block();
+        byte[] bytesCustom = store.readBytes(CUSTOM, blobIdCustom).block();
 
         assertThat(bytesDefault).isEqualTo(bytesCustom);
     }
 
     @Test
     default void saveConcurrentlyWithNonPreExistingBucketShouldNotFail() 
throws Exception {
+        BlobStore store = testee();
+
         ConcurrentTestRunner.builder()
-            .operation(((threadNumber, step) -> testee().save(CUSTOM, 
SHORT_STRING + threadNumber + step).block()))
+            .operation(((threadNumber, step) -> store.save(CUSTOM, 
SHORT_STRING + threadNumber + step).block()))
             .threadCount(10)
             .operationCount(10)
             .runSuccessfullyWithin(Duration.ofMinutes(1));
@@ -131,10 +155,12 @@ public interface BucketBlobStoreContract {
 
     @Test
     default void deleteBucketConcurrentlyShouldNotFail() throws Exception {
-        testee().save(CUSTOM, SHORT_BYTEARRAY).block();
+        BlobStore store = testee();
+
+        store.save(CUSTOM, SHORT_BYTEARRAY).block();
 
         ConcurrentTestRunner.builder()
-            .operation(((threadNumber, step) -> 
testee().deleteBucket(CUSTOM).block()))
+            .operation(((threadNumber, step) -> 
store.deleteBucket(CUSTOM).block()))
             .threadCount(10)
             .operationCount(10)
             .runSuccessfullyWithin(Duration.ofMinutes(1));
diff --git 
a/server/blob/blob-api/src/test/java/org/apache/james/blob/api/DeleteBlobStoreContract.java
 
b/server/blob/blob-api/src/test/java/org/apache/james/blob/api/DeleteBlobStoreContract.java
index 1602a6f..58d8e32 100644
--- 
a/server/blob/blob-api/src/test/java/org/apache/james/blob/api/DeleteBlobStoreContract.java
+++ 
b/server/blob/blob-api/src/test/java/org/apache/james/blob/api/DeleteBlobStoreContract.java
@@ -49,56 +49,61 @@ public interface DeleteBlobStoreContract {
 
     @Test
     default void deleteShouldNotThrowWhenBlobDoesNotExist() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        assertThatCode(() -> testee().delete(defaultBucketName, 
blobIdFactory().randomId()).block())
+        assertThatCode(() -> store.delete(defaultBucketName, 
blobIdFactory().randomId()).block())
             .doesNotThrowAnyException();
     }
 
     @Test
     default void deleteShouldDeleteExistingBlobData() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        BlobId blobId = testee().save(defaultBucketName, 
SHORT_BYTEARRAY).block();
-        testee().delete(defaultBucketName, blobId).block();
+        BlobId blobId = store.save(defaultBucketName, SHORT_BYTEARRAY).block();
+        store.delete(defaultBucketName, blobId).block();
 
-        assertThatThrownBy(() -> testee().read(defaultBucketName, blobId))
+        assertThatThrownBy(() -> store.read(defaultBucketName, blobId))
             .isInstanceOf(ObjectStoreException.class);
     }
 
     @Test
     default void deleteShouldBeIdempotent() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        BlobId blobId = testee().save(defaultBucketName, 
SHORT_BYTEARRAY).block();
-        testee().delete(defaultBucketName, blobId).block();
+        BlobId blobId = store.save(defaultBucketName, SHORT_BYTEARRAY).block();
+        store.delete(defaultBucketName, blobId).block();
 
-        assertThatCode(() -> testee().delete(defaultBucketName, 
blobId).block())
+        assertThatCode(() -> store.delete(defaultBucketName, blobId).block())
             .doesNotThrowAnyException();
     }
 
     @Test
     default void deleteShouldNotDeleteOtherBlobs() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        BlobId blobIdToDelete = testee().save(defaultBucketName, 
SHORT_BYTEARRAY).block();
-        BlobId otherBlobId = testee().save(defaultBucketName, 
ELEVEN_KILOBYTES).block();
+        BlobId blobIdToDelete = store.save(defaultBucketName, 
SHORT_BYTEARRAY).block();
+        BlobId otherBlobId = store.save(defaultBucketName, 
ELEVEN_KILOBYTES).block();
 
-        testee().delete(defaultBucketName, blobIdToDelete).block();
+        store.delete(defaultBucketName, blobIdToDelete).block();
 
-        InputStream read = testee().read(defaultBucketName, otherBlobId);
+        InputStream read = store.read(defaultBucketName, otherBlobId);
 
         assertThat(read).hasSameContentAs(new 
ByteArrayInputStream(ELEVEN_KILOBYTES));
     }
 
     @Test
     default void deleteConcurrentlyShouldNotFail() throws Exception {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        BlobId blobId = testee().save(defaultBucketName, 
TWELVE_MEGABYTES).block();
+        BlobId blobId = store.save(defaultBucketName, 
TWELVE_MEGABYTES).block();
 
         ConcurrentTestRunner.builder()
-            .operation(((threadNumber, step) -> 
testee().delete(defaultBucketName, blobId).block()))
+            .operation(((threadNumber, step) -> 
store.delete(defaultBucketName, blobId).block()))
             .threadCount(10)
             .operationCount(10)
             .runSuccessfullyWithin(Duration.ofMinutes(1));
@@ -106,48 +111,52 @@ public interface DeleteBlobStoreContract {
 
     @Test
     default void deleteShouldThrowWhenNullBucketName() {
-        assertThatThrownBy(() -> testee().delete(null, 
blobIdFactory().randomId()).block())
+        BlobStore store = testee();
+        assertThatThrownBy(() -> store.delete(null, 
blobIdFactory().randomId()).block())
             .isInstanceOf(NullPointerException.class);
     }
 
     @Test
     default void deleteShouldNotDeleteFromOtherBucket() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        BlobId customBlobId = testee().save(CUSTOM, "custom_string").block();
-        BlobId defaultBlobId = testee().save(defaultBucketName, 
SHORT_BYTEARRAY).block();
+        BlobId customBlobId = store.save(CUSTOM, "custom_string").block();
+        BlobId defaultBlobId = store.save(defaultBucketName, 
SHORT_BYTEARRAY).block();
 
-        testee().delete(CUSTOM, customBlobId).block();
+        store.delete(CUSTOM, customBlobId).block();
 
-        InputStream read = testee().read(defaultBucketName, defaultBlobId);
+        InputStream read = store.read(defaultBucketName, defaultBlobId);
 
         assertThat(read).hasSameContentAs(new 
ByteArrayInputStream(SHORT_BYTEARRAY));
     }
 
     @Test
     default void deleteShouldNotDeleteFromOtherBucketWhenSameBlobId() {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        testee().save(CUSTOM, SHORT_BYTEARRAY).block();
-        BlobId blobId = testee().save(defaultBucketName, 
SHORT_BYTEARRAY).block();
+        store.save(CUSTOM, SHORT_BYTEARRAY).block();
+        BlobId blobId = store.save(defaultBucketName, SHORT_BYTEARRAY).block();
 
-        testee().delete(defaultBucketName, blobId).block();
+        store.delete(defaultBucketName, blobId).block();
 
-        InputStream read = testee().read(CUSTOM, blobId);
+        InputStream read = store.read(CUSTOM, blobId);
 
         assertThat(read).hasSameContentAs(new 
ByteArrayInputStream(SHORT_BYTEARRAY));
     }
 
     @Test
     default void readShouldNotReadPartiallyWhenDeletingConcurrentlyBigBlob() 
throws Exception {
-        BucketName defaultBucketName = testee().getDefaultBucketName();
+        BlobStore store = testee();
+        BucketName defaultBucketName = store.getDefaultBucketName();
 
-        BlobId blobId = testee().save(defaultBucketName, 
TWELVE_MEGABYTES).block();
+        BlobId blobId = store.save(defaultBucketName, 
TWELVE_MEGABYTES).block();
 
         ConcurrentTestRunner.builder()
             .operation(((threadNumber, step) -> {
                 try {
-                    InputStream read = testee().read(defaultBucketName, 
blobId);
+                    InputStream read = store.read(defaultBucketName, blobId);
 
                     if (!IOUtils.toString(read, 
StandardCharsets.UTF_8).equals(TWELVE_MEGABYTES_STRING)) {
                         throw new RuntimeException("Should not read partial 
blob when an other thread is deleting it");
@@ -156,7 +165,7 @@ public interface DeleteBlobStoreContract {
                     // normal behavior here
                 }
 
-                testee().delete(defaultBucketName, blobId).block();
+                store.delete(defaultBucketName, blobId).block();
             }))
             .threadCount(10)
             .operationCount(10)
diff --git 
a/server/blob/blob-api/src/test/java/org/apache/james/blob/api/MetricableBlobStoreContract.java
 
b/server/blob/blob-api/src/test/java/org/apache/james/blob/api/MetricableBlobStoreContract.java
index e3c50c9..efe2b8d 100644
--- 
a/server/blob/blob-api/src/test/java/org/apache/james/blob/api/MetricableBlobStoreContract.java
+++ 
b/server/blob/blob-api/src/test/java/org/apache/james/blob/api/MetricableBlobStoreContract.java
@@ -59,8 +59,10 @@ public interface MetricableBlobStoreContract extends 
BlobStoreContract {
 
     @Test
     default void saveBytesShouldPublishSaveBytesTimerMetrics() {
-        testee().save(testee().getDefaultBucketName(), BYTES_CONTENT).block();
-        testee().save(testee().getDefaultBucketName(), BYTES_CONTENT).block();
+        BlobStore store = testee();
+
+        store.save(store.getDefaultBucketName(), BYTES_CONTENT).block();
+        store.save(store.getDefaultBucketName(), BYTES_CONTENT).block();
 
         
assertThat(metricsTestExtension.getMetricFactory().executionTimesFor(SAVE_BYTES_TIMER_NAME))
             .hasSize(2);
@@ -68,8 +70,10 @@ public interface MetricableBlobStoreContract extends 
BlobStoreContract {
 
     @Test
     default void saveStringShouldPublishSaveBytesTimerMetrics() {
-        testee().save(testee().getDefaultBucketName(), STRING_CONTENT).block();
-        testee().save(testee().getDefaultBucketName(), STRING_CONTENT).block();
+        BlobStore store = testee();
+
+        store.save(store.getDefaultBucketName(), STRING_CONTENT).block();
+        store.save(store.getDefaultBucketName(), STRING_CONTENT).block();
 
         
assertThat(metricsTestExtension.getMetricFactory().executionTimesFor(SAVE_BYTES_TIMER_NAME))
             .hasSize(2);
@@ -77,8 +81,10 @@ public interface MetricableBlobStoreContract extends 
BlobStoreContract {
 
     @Test
     default void saveInputStreamShouldPublishSaveInputStreamTimerMetrics() {
-        testee().save(testee().getDefaultBucketName(), new 
ByteArrayInputStream(BYTES_CONTENT)).block();
-        testee().save(testee().getDefaultBucketName(), new 
ByteArrayInputStream(BYTES_CONTENT)).block();
+        BlobStore store = testee();
+
+        store.save(store.getDefaultBucketName(), new 
ByteArrayInputStream(BYTES_CONTENT)).block();
+        store.save(store.getDefaultBucketName(), new 
ByteArrayInputStream(BYTES_CONTENT)).block();
 
         
assertThat(metricsTestExtension.getMetricFactory().executionTimesFor(SAVE_INPUT_STREAM_TIMER_NAME))
             .hasSize(2);
@@ -86,9 +92,11 @@ public interface MetricableBlobStoreContract extends 
BlobStoreContract {
 
     @Test
     default void readBytesShouldPublishReadBytesTimerMetrics() {
-        BlobId blobId = testee().save(testee().getDefaultBucketName(), 
BYTES_CONTENT).block();
-        testee().readBytes(testee().getDefaultBucketName(), blobId).block();
-        testee().readBytes(testee().getDefaultBucketName(), blobId).block();
+        BlobStore store = testee();
+
+        BlobId blobId = store.save(store.getDefaultBucketName(), 
BYTES_CONTENT).block();
+        store.readBytes(store.getDefaultBucketName(), blobId).block();
+        store.readBytes(store.getDefaultBucketName(), blobId).block();
 
         
assertThat(metricsTestExtension.getMetricFactory().executionTimesFor(READ_BYTES_TIMER_NAME))
             .hasSize(2);
@@ -96,9 +104,11 @@ public interface MetricableBlobStoreContract extends 
BlobStoreContract {
 
     @Test
     default void readShouldPublishReadTimerMetrics() {
-        BlobId blobId = testee().save(testee().getDefaultBucketName(), 
BYTES_CONTENT).block();
-        testee().read(testee().getDefaultBucketName(), blobId);
-        testee().read(testee().getDefaultBucketName(), blobId);
+        BlobStore store = testee();
+
+        BlobId blobId = store.save(store.getDefaultBucketName(), 
BYTES_CONTENT).block();
+        store.read(store.getDefaultBucketName(), blobId);
+        store.read(store.getDefaultBucketName(), blobId);
 
         
assertThat(metricsTestExtension.getMetricFactory().executionTimesFor(READ_TIMER_NAME))
             .hasSize(2);
@@ -106,12 +116,14 @@ public interface MetricableBlobStoreContract extends 
BlobStoreContract {
 
     @Test
     default void deleteBucketShouldPublishDeleteBucketTimerMetrics() {
+        BlobStore store = testee();
+
         BucketName bucketName = BucketName.of("custom");
-        testee().save(BucketName.DEFAULT, BYTES_CONTENT).block();
-        testee().save(bucketName, BYTES_CONTENT).block();
+        store.save(BucketName.DEFAULT, BYTES_CONTENT).block();
+        store.save(bucketName, BYTES_CONTENT).block();
 
-        testee().deleteBucket(BucketName.DEFAULT).block();
-        testee().deleteBucket(bucketName).block();
+        store.deleteBucket(BucketName.DEFAULT).block();
+        store.deleteBucket(bucketName).block();
 
         
assertThat(metricsTestExtension.getMetricFactory().executionTimesFor(DELETE_BUCKET_TIMER_NAME))
             .hasSize(2);
@@ -119,11 +131,13 @@ public interface MetricableBlobStoreContract extends 
BlobStoreContract {
 
     @Test
     default void deleteShouldPublishDeleteTimerMetrics() {
-        BlobId blobId1 = testee().save(testee().getDefaultBucketName(), 
BYTES_CONTENT).block();
-        BlobId blobId2 = testee().save(testee().getDefaultBucketName(), 
BYTES_CONTENT).block();
+        BlobStore store = testee();
+
+        BlobId blobId1 = store.save(store.getDefaultBucketName(), 
BYTES_CONTENT).block();
+        BlobId blobId2 = store.save(store.getDefaultBucketName(), 
BYTES_CONTENT).block();
 
-        testee().delete(BucketName.DEFAULT, blobId1).block();
-        testee().delete(BucketName.DEFAULT, blobId2).block();
+        store.delete(BucketName.DEFAULT, blobId1).block();
+        store.delete(BucketName.DEFAULT, blobId2).block();
 
         
assertThat(metricsTestExtension.getMetricFactory().executionTimesFor(DELETE_TIMER_NAME))
             .hasSize(2);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to