You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2016/11/25 18:18:09 UTC

[14/14] struts git commit: Adds unit test to cover converter's logic

Adds unit test to cover converter's logic


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/32341681
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/32341681
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/32341681

Branch: refs/heads/master
Commit: 32341681ed420b4d042b35f712a6172dcab874f2
Parents: 1ff8a88
Author: Lukasz Lenart <lu...@apache.org>
Authored: Thu Nov 24 14:52:34 2016 +0100
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Thu Nov 24 14:52:34 2016 +0100

----------------------------------------------------------------------
 .../conversion/UploadedFileConverterTest.java   | 70 ++++++++++++++++++++
 1 file changed, 70 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/32341681/core/src/test/java/org/apache/struts2/conversion/UploadedFileConverterTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/conversion/UploadedFileConverterTest.java b/core/src/test/java/org/apache/struts2/conversion/UploadedFileConverterTest.java
new file mode 100644
index 0000000..9b83b72
--- /dev/null
+++ b/core/src/test/java/org/apache/struts2/conversion/UploadedFileConverterTest.java
@@ -0,0 +1,70 @@
+package org.apache.struts2.conversion;
+
+import org.apache.struts2.dispatcher.multipart.StrutsUploadedFile;
+import org.apache.struts2.dispatcher.multipart.UploadedFile;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.File;
+import java.lang.reflect.Member;
+import java.util.Collections;
+import java.util.Map;
+
+import static org.fest.assertions.Assertions.assertThat;
+
+public class UploadedFileConverterTest {
+
+    private Map<String, Object> context;
+    private Class target;
+    private Member member;
+    private String propertyName;
+    private File tempFile;
+
+    @Before
+    public void setUp() throws Exception {
+        context = Collections.emptyMap();
+        target = File.class;
+        member = File.class.getMethod("length");
+        propertyName = "ignore";
+        tempFile = File.createTempFile("struts", "test");
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        tempFile.delete();
+    }
+
+    @Test
+    public void convertUploadedFileToFile() throws Exception {
+        // given
+        UploadedFileConverter ufc = new UploadedFileConverter();
+        UploadedFile uploadedFile = new StrutsUploadedFile(tempFile);
+
+        // when
+        Object result = ufc.convertValue(context, target, member, propertyName, uploadedFile, File.class);
+
+        // then
+        assertThat(result).isInstanceOf(File.class);
+        File file = (File) result;
+        assertThat(file.length()).isEqualTo(tempFile.length());
+        assertThat(file.getAbsolutePath()).isEqualTo(tempFile.getAbsolutePath());
+    }
+
+    @Test
+    public void convertUploadedFileArrayToFile() throws Exception {
+        // given
+        UploadedFileConverter ufc = new UploadedFileConverter();
+        UploadedFile[] uploadedFile = new UploadedFile[] { new StrutsUploadedFile(tempFile) };
+
+        // when
+        Object result = ufc.convertValue(context, target, member, propertyName, uploadedFile, File.class);
+
+        // then
+        assertThat(result).isInstanceOf(File.class);
+        File file = (File) result;
+        assertThat(file.length()).isEqualTo(tempFile.length());
+        assertThat(file.getAbsolutePath()).isEqualTo(tempFile.getAbsolutePath());
+    }
+
+}
\ No newline at end of file