You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/07/06 16:38:23 UTC
openmeetings git commit: no jira: JUnit test for file service add is
added
Repository: openmeetings
Updated Branches:
refs/heads/3.3.x a3f41b241 -> cbb91c3c5
no jira: JUnit test for file service add is added
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/cbb91c3c
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/cbb91c3c
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/cbb91c3c
Branch: refs/heads/3.3.x
Commit: cbb91c3c585b8f4a7e2fff4a1feb8cd93679b621
Parents: a3f41b2
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Thu Jul 6 23:38:13 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Thu Jul 6 23:38:13 2017 +0700
----------------------------------------------------------------------
.../test/webservice/TestFileService.java | 103 +++++++++++++++++++
1 file changed, 103 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/cbb91c3c/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestFileService.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestFileService.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestFileService.java
new file mode 100644
index 0000000..400d1cd
--- /dev/null
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestFileService.java
@@ -0,0 +1,103 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.test.webservice;
+
+import static org.apache.openmeetings.db.util.ApplicationHelper.getWicketTester;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.awt.Graphics;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import javax.imageio.ImageIO;
+import javax.ws.rs.core.MediaType;
+
+import org.apache.cxf.jaxrs.ext.multipart.Attachment;
+import org.apache.openmeetings.db.dto.basic.ServiceResult;
+import org.apache.openmeetings.db.dto.file.FileExplorerItemDTO;
+import org.apache.openmeetings.db.entity.file.FileItem;
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.wicket.util.tester.WicketTester;
+import org.junit.After;
+import org.junit.Test;
+
+public class TestFileService extends AbstractWebServiceTest {
+ public final static String FILE_SERVICE_URL = BASE_SERVICES_URL + "/file";
+ protected WicketTester tester;
+
+ @Override
+ public void setUp() throws Exception {
+ super.setUp();
+ tester = getWicketTester();
+ assertNotNull("Web session should not be null", WebSession.get());
+ }
+
+ @Test
+ public void addFileTest() throws IOException {
+ ServiceResult r = login();
+
+ File img = null;
+ try {
+ img = File.createTempFile("omtest", ".jpg");
+ final Integer width = 150;
+ final Integer height = 100;
+ BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
+ Graphics g = image.getGraphics();
+ g.drawString("Hello World!!!", 10, 20);
+ ImageIO.write(image, "jpg", img);
+ try (InputStream is = new FileInputStream(img)) {
+ FileExplorerItemDTO file = new FileExplorerItemDTO();
+ file.setName("test.txt");
+ file.setHash(UUID.randomUUID().toString());
+ file.setType(FileItem.Type.Presentation);
+ List<Attachment> atts = new ArrayList<>();
+ atts.add(new Attachment("file", MediaType.APPLICATION_JSON, file));
+ atts.add(new Attachment("stream", MediaType.APPLICATION_OCTET_STREAM, is));
+ FileExplorerItemDTO f1 = getClient(FILE_SERVICE_URL)
+ .path("/")
+ .query("sid", r.getMessage())
+ .type(MediaType.MULTIPART_FORM_DATA_TYPE).postCollection(atts, Attachment.class, FileExplorerItemDTO.class);
+ assertNotNull("Valid FileItem should be returned", f1);
+ assertNotNull("Valid FileItem should be returned", f1.getId());
+ assertEquals("Type should be Image", FileItem.Type.Image, f1.getType());
+ assertEquals("Width should be determined", width, f1.getWidth());
+ assertEquals("Height should be Image", height, f1.getHeight());
+ }
+ } finally {
+ if (img != null && img.exists()) {
+ img.delete();
+ }
+ }
+ }
+
+ @After
+ public void tearDown() {
+ if (tester != null) {
+ //can be null in case exception on initialization
+ tester.destroy();
+ }
+ }
+}