You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by se...@apache.org on 2020/04/19 05:38:35 UTC

[openmeetings] 01/01: OPENMEETINGS-2273 Add Mocked Unit test for getOriginal

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

sebawagner pushed a commit to branch feature/OPENMEETINGS-2273-get-original
in repository https://gitbox.apache.org/repos/asf/openmeetings.git

commit 4dee1cf7bf7cd4e3d232bad3df2d8b4d43b9bdad
Author: Sebastian Wagner <se...@apache.org>
AuthorDate: Sun Apr 19 17:37:53 2020 +1200

    OPENMEETINGS-2273 Add Mocked Unit test for getOriginal
---
 openmeetings-db/pom.xml                            |  21 ++++++
 .../openmeetings/db/entity/file/FileItemTest.java  |  71 +++++++++++++++++++++
 .../6594186e-c6bb-49d5-9f66-829e45599aaa.pdf       | Bin 0 -> 389035 bytes
 .../page-0000.png                                  | Bin 0 -> 69219 bytes
 .../page-0001.png                                  | Bin 0 -> 74483 bytes
 .../page-0002.png                                  | Bin 0 -> 55326 bytes
 .../page-0003.png                                  | Bin 0 -> 99512 bytes
 .../page-0004.png                                  | Bin 0 -> 21614 bytes
 8 files changed, 92 insertions(+)

diff --git a/openmeetings-db/pom.xml b/openmeetings-db/pom.xml
index 0e60739..fa3ce99 100644
--- a/openmeetings-db/pom.xml
+++ b/openmeetings-db/pom.xml
@@ -120,6 +120,27 @@
 			<type>test-jar</type>
 			<scope>test</scope>
 		</dependency>
+		<dependency> <!-- temporary, powermock doesn't support junit5 -->
+			<groupId>org.junit.vintage</groupId>
+			<artifactId>junit-vintage-engine</artifactId>
+			<version>${junit.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.mockito</groupId>
+			<artifactId>mockito-core</artifactId>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.powermock</groupId>
+			<artifactId>powermock-module-junit4</artifactId>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.powermock</groupId>
+			<artifactId>powermock-api-mockito2</artifactId>
+			<scope>test</scope>
+		</dependency>
 	</dependencies>
 	<build>
 		<plugins>
diff --git a/openmeetings-db/src/test/java/org/apache/openmeetings/db/entity/file/FileItemTest.java b/openmeetings-db/src/test/java/org/apache/openmeetings/db/entity/file/FileItemTest.java
new file mode 100644
index 0000000..66fd67b
--- /dev/null
+++ b/openmeetings-db/src/test/java/org/apache/openmeetings/db/entity/file/FileItemTest.java
@@ -0,0 +1,71 @@
+package org.apache.openmeetings.db.entity.file;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.when;
+import static org.powermock.api.mockito.PowerMockito.mockStatic;
+
+import java.io.File;
+
+import org.apache.openmeetings.util.OmFileHelper;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest(OmFileHelper.class)
+public class FileItemTest {
+	
+	@Mock
+	private OmFileHelper omFileHelper;
+	
+	@InjectMocks
+	private FileItem fileItem;
+	
+	@Before
+	public void setup() {
+		MockitoAnnotations.initMocks(this);
+		
+	}
+	
+	@Test
+	public void testGetOriginalWithPDFWithOriginalName() {
+		
+		// Setup path to be local test resources
+		mockStatic(OmFileHelper.class);
+		when(OmFileHelper.getUploadFilesDir()).thenReturn(new File("src/test/resources"));
+		
+		// Setup file
+		fileItem.setDeleted(false);
+		fileItem.setHash("6594186e-c6bb-49d5-9f66-829e45599aaa");
+		fileItem.setName("mypresentation.pdf");
+		fileItem.setType(BaseFileItem.Type.PRESENTATION);
+		
+		File f = fileItem.getOriginal();
+		
+		assertTrue(f.getName().endsWith("pdf"));
+	}
+	
+	@Test
+	public void testGetOriginalWithPDFWithChangedName() {
+		
+		// Setup path to be local test resources
+		mockStatic(OmFileHelper.class);
+		when(OmFileHelper.getUploadFilesDir()).thenReturn(new File("src/test/resources"));
+		
+		// Setup file
+		fileItem.setDeleted(false);
+		fileItem.setHash("6594186e-c6bb-49d5-9f66-829e45599aaa");
+		fileItem.setName("randomName");
+		fileItem.setType(BaseFileItem.Type.PRESENTATION);
+		
+		File f = fileItem.getOriginal();
+		
+		assertTrue(f.getName().endsWith("pdf"));
+	}
+
+}
diff --git a/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/6594186e-c6bb-49d5-9f66-829e45599aaa.pdf b/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/6594186e-c6bb-49d5-9f66-829e45599aaa.pdf
new file mode 100644
index 0000000..7df5932
Binary files /dev/null and b/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/6594186e-c6bb-49d5-9f66-829e45599aaa.pdf differ
diff --git a/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/page-0000.png b/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/page-0000.png
new file mode 100644
index 0000000..4a6d5b9
Binary files /dev/null and b/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/page-0000.png differ
diff --git a/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/page-0001.png b/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/page-0001.png
new file mode 100644
index 0000000..42ed3da
Binary files /dev/null and b/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/page-0001.png differ
diff --git a/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/page-0002.png b/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/page-0002.png
new file mode 100644
index 0000000..85050e2
Binary files /dev/null and b/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/page-0002.png differ
diff --git a/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/page-0003.png b/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/page-0003.png
new file mode 100644
index 0000000..f46f4aa
Binary files /dev/null and b/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/page-0003.png differ
diff --git a/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/page-0004.png b/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/page-0004.png
new file mode 100644
index 0000000..cae4e07
Binary files /dev/null and b/openmeetings-db/src/test/resources/6594186e-c6bb-49d5-9f66-829e45599aaa/page-0004.png differ