Repository: openmeetings
Updated Branches:
  refs/heads/master c2565dfbc -> 5c24b1abc


[OPENMEETINGS-1671] more tests on file converter


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

Branch: refs/heads/master
Commit: 5c24b1abc3a56ef14de6c2688adc9e1a953c8712
Parents: c2565df
Author: Maxim Solodovnik <[email protected]>
Authored: Thu Sep 28 12:02:47 2017 +0700
Committer: Maxim Solodovnik <[email protected]>
Committed: Thu Sep 28 12:02:47 2017 +0700

----------------------------------------------------------------------
 .../core/converter/ImageConverter.java          |  3 +
 .../openmeetings/db/dto/file/FileItemDTO.java   | 17 ++++--
 .../test/core/file/TestFileProcessor.java       | 58 ++++++++++++++++++++
 .../test/webservice/AbstractWebServiceTest.java |  8 +--
 4 files changed, 76 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/5c24b1ab/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/ImageConverter.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/ImageConverter.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/ImageConverter.java
index 1765765..259f312 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/ImageConverter.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/ImageConverter.java
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.core.converter;
 
+import static org.apache.commons.io.FileUtils.copyFile;
 import static org.apache.openmeetings.util.OmFileHelper.DOC_PAGE_PREFIX;
 import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_JPG;
 import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_PNG;
@@ -75,6 +76,8 @@ public class ImageConverter extends BaseConverter {
 
                        log.debug("##### convertImage destinationFile: " + jpg);
                        returnMap.addItem("processJPG", convertSingleJpg(img, 
jpg));
+               } else if (!jpg.exists()){
+                       copyFile(f.getFile(sf.getExt()), jpg);
                }
                returnMap.addItem("get JPG dimensions", initSize(f, jpg, 
JPG_MIME_TYPE));
                return returnMap;

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/5c24b1ab/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileItemDTO.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileItemDTO.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileItemDTO.java
index 563eafe..125b1ba 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileItemDTO.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileItemDTO.java
@@ -26,8 +26,8 @@ import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlRootElement;
 
-import org.apache.openmeetings.db.entity.file.FileItem;
 import org.apache.openmeetings.db.entity.file.BaseFileItem.Type;
+import org.apache.openmeetings.db.entity.file.FileItem;
 
 /**
  * This Object will represent a File on the File-System
@@ -101,16 +101,18 @@ public class FileItemDTO implements Serializable {
                return name;
        }
 
-       public void setName(String name) {
+       public FileItemDTO setName(String name) {
                this.name = name;
+               return this;
        }
 
        public String getHash() {
                return hash;
        }
 
-       public void setHash(String hash) {
+       public FileItemDTO setHash(String hash) {
                this.hash = hash;
+               return this;
        }
 
        public Long getParentId() {
@@ -157,24 +159,27 @@ public class FileItemDTO implements Serializable {
                return externalId;
        }
 
-       public void setExternalId(String externalId) {
+       public FileItemDTO setExternalId(String externalId) {
                this.externalId = externalId;
+               return this;
        }
 
        public String getExternalType() {
                return externalType;
        }
 
-       public void setExternalType(String externalType) {
+       public FileItemDTO setExternalType(String externalType) {
                this.externalType = externalType;
+               return this;
        }
 
        public Type getType() {
                return type;
        }
 
-       public void setType(Type type) {
+       public FileItemDTO setType(Type type) {
                this.type = type;
+               return this;
        }
 
        public Integer getWidth() {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/5c24b1ab/openmeetings-web/src/test/java/org/apache/openmeetings/test/core/file/TestFileProcessor.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/test/core/file/TestFileProcessor.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/test/core/file/TestFileProcessor.java
new file mode 100644
index 0000000..82ca41a
--- /dev/null
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/test/core/file/TestFileProcessor.java
@@ -0,0 +1,58 @@
+/*
+ * 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.core.file;
+
+import static 
org.apache.openmeetings.util.OmFileHelper.getDefaultProfilePicture;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.util.UUID;
+
+import org.apache.openmeetings.core.data.file.FileProcessor;
+import org.apache.openmeetings.db.dto.file.FileItemDTO;
+import org.apache.openmeetings.db.entity.file.BaseFileItem;
+import org.apache.openmeetings.db.entity.file.FileItem;
+import org.apache.openmeetings.test.AbstractJUnitDefaults;
+import org.apache.openmeetings.util.process.ConverterProcessResultList;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestFileProcessor extends AbstractJUnitDefaults {
+       private static final String FILE_NAME = "test_name";
+
+       @Autowired
+       protected FileProcessor processor;
+
+       @Test
+       public void testProcessJpeg() throws Exception {
+               for (String ext : new String[] {null, "txt", "png"}) {
+                       FileItem f = new FileItemDTO()
+                                       .setName(String.format("%s.%s", 
FILE_NAME, ext))
+                                       .setHash(UUID.randomUUID().toString())
+                                       
.setType(BaseFileItem.Type.Recording).get();
+                       try (InputStream is = new 
FileInputStream(getDefaultProfilePicture())) {
+                               ConverterProcessResultList result = 
processor.processFile(f, is);
+                               assertFalse("Conversion should be successful", 
result.hasError());
+                               assertEquals("Type should be image", 
BaseFileItem.Type.Image, f.getType());
+                       }
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/5c24b1ab/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
index 598de43..17cfd57 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
@@ -149,10 +149,10 @@ public class AbstractWebServiceTest extends 
AbstractJUnitDefaults {
 
                FileItemDTO f1 = null;
                try (InputStream is = new FileInputStream(fsFile)) {
-                       FileItemDTO file = new FileItemDTO();
-                       file.setName(name);
-                       file.setHash(UUID.randomUUID().toString());
-                       file.setType(type);
+                       FileItemDTO file = new FileItemDTO()
+                                       .setName(name)
+                                       .setHash(UUID.randomUUID().toString())
+                                       .setType(type);
                        List<Attachment> atts = new ArrayList<>();
                        atts.add(new Attachment("file", 
MediaType.APPLICATION_JSON, file));
                        atts.add(new Attachment("stream", 
MediaType.APPLICATION_OCTET_STREAM, is));

Reply via email to