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

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

commit ce1e2028153bd11467bda128594b7bc00f1d92bd
Author: Benoit Tellier <btell...@linagora.com>
AuthorDate: Thu Apr 11 10:42:57 2019 +0700

    JAMES-2709 FileExtension::asFileSuffix
---
 .../james/blob/export/api/FileExtension.java       |  9 ++++-
 .../james/blob/export/api/FileExtensionTest.java   | 40 +++++++++++++++++-----
 2 files changed, 39 insertions(+), 10 deletions(-)

diff --git 
a/server/blob/blob-export-api/src/main/java/org/apache/james/blob/export/api/FileExtension.java
 
b/server/blob/blob-export-api/src/main/java/org/apache/james/blob/export/api/FileExtension.java
index b0c3000..1faebe6 100644
--- 
a/server/blob/blob-export-api/src/main/java/org/apache/james/blob/export/api/FileExtension.java
+++ 
b/server/blob/blob-export-api/src/main/java/org/apache/james/blob/export/api/FileExtension.java
@@ -39,13 +39,20 @@ public class FileExtension {
 
     @VisibleForTesting
     FileExtension(String extension) {
+        Preconditions.checkNotNull(extension, "'extension' can not be null");
+        Preconditions.checkArgument(StringUtils.isNotBlank(extension), 
"'extension' can not be blank");
+
         this.extension = extension;
     }
 
     public String appendExtension(String filePath) {
         Preconditions.checkArgument(StringUtils.isNotBlank(filePath), 
"filePath cannot be null or blank");
 
-        return filePath + EXTENSION_SEPARATOR + extension;
+        return filePath + asFileSuffix();
+    }
+
+    public String asFileSuffix() {
+        return EXTENSION_SEPARATOR + extension;
     }
 
     public String getExtension() {
diff --git 
a/server/blob/blob-export-api/src/test/java/org/apache/james/blob/export/api/FileExtensionTest.java
 
b/server/blob/blob-export-api/src/test/java/org/apache/james/blob/export/api/FileExtensionTest.java
index 6c0823b..d2642e2 100644
--- 
a/server/blob/blob-export-api/src/test/java/org/apache/james/blob/export/api/FileExtensionTest.java
+++ 
b/server/blob/blob-export-api/src/test/java/org/apache/james/blob/export/api/FileExtensionTest.java
@@ -23,42 +23,64 @@ import static 
org.apache.james.blob.export.api.FileExtension.ZIP_EXTENSION_STRIN
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
-import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
 
 class FileExtensionTest {
+    @Test
+    void shouldMatchBeanContract() {
+        EqualsVerifier.forClass(FileExtension.class)
+            .verify();
+    }
 
-    private FileExtension fileExtension;
+    @Test
+    void constructorShouldThrowOnNull() {
+        assertThatThrownBy(() -> new FileExtension(null))
+            .isInstanceOf(NullPointerException.class);
+    }
 
-    @BeforeEach
-    void beforeEach() {
-        fileExtension = new FileExtension(ZIP_EXTENSION_STRING);
+    @Test
+    void constructorShouldThrowOnEmpty() {
+        assertThatThrownBy(() -> new FileExtension(""))
+            .isInstanceOf(IllegalArgumentException.class);
     }
 
     @Test
-    void shouldMatchBeanContract() {
-        EqualsVerifier.forClass(FileExtension.class)
-            .verify();
+    void constructorShouldThrowOnBlank() {
+        assertThatThrownBy(() -> new FileExtension("  "))
+            .isInstanceOf(IllegalArgumentException.class);
     }
 
     @Test
     void appendExtensionShouldThrowWhenPassingNullValue() {
+        FileExtension fileExtension = new FileExtension(ZIP_EXTENSION_STRING);
+
         assertThatThrownBy(() -> fileExtension.appendExtension(null))
             .isInstanceOf(IllegalArgumentException.class);
     }
 
     @Test
     void appendExtensionShouldThrowWhenPassingEmptyStringValue() {
+        FileExtension fileExtension = new FileExtension(ZIP_EXTENSION_STRING);
+
         assertThatThrownBy(() -> fileExtension.appendExtension(""))
             .isInstanceOf(IllegalArgumentException.class);
     }
 
     @Test
     void appendExtensionShouldReturnValueEndsWithExtension() {
-        fileExtension = new FileExtension("tar.gz");
+        FileExtension fileExtension = new FileExtension("tar.gz");
+
         assertThat(fileExtension.appendExtension("/local/james"))
             .endsWith(".tar.gz");
     }
+
+    @Test
+    void asFileSuffixShouldReturnDotAndExtension() {
+        FileExtension fileExtension = new FileExtension("tar.gz");
+
+        assertThat(fileExtension.asFileSuffix())
+            .isEqualTo(".tar.gz");
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to