Update Tests to get multiple extensions
This commit is contained in:
parent
f1c7b8b2b0
commit
869b931e73
@ -1,8 +1,14 @@
|
|||||||
package com.baeldung.extension;
|
package com.baeldung.extension;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertArrayEquals;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.apache.tika.mime.MimeType;
|
import org.apache.tika.mime.MimeType;
|
||||||
import org.apache.tika.mime.MimeTypeException;
|
import org.apache.tika.mime.MimeTypeException;
|
||||||
@ -12,36 +18,47 @@ import org.junit.Test;
|
|||||||
import com.j256.simplemagic.ContentInfo;
|
import com.j256.simplemagic.ContentInfo;
|
||||||
|
|
||||||
public class ExtensionFromMimeTypeUnitTest {
|
public class ExtensionFromMimeTypeUnitTest {
|
||||||
public static final String PNG_EXT = "image/png";
|
public static final String JPEG_EXT = "image/jpeg";
|
||||||
@Test
|
@Test
|
||||||
public void whenUsingTika_thenGetFileExtension() throws MimeTypeException {
|
public void whenUsingTika_thenGetFileExtension() throws MimeTypeException {
|
||||||
|
List<String> SUPPORTED_EXTENSIONS = Arrays.asList(".jpg", ".jpeg", ".jpe", ".jif", ".jfif", ".jfi");
|
||||||
MimeTypes allTypes = MimeTypes.getDefaultMimeTypes();
|
MimeTypes allTypes = MimeTypes.getDefaultMimeTypes();
|
||||||
MimeType type = allTypes.forName(PNG_EXT);
|
MimeType type = allTypes.forName(JPEG_EXT);
|
||||||
String extension = type.getExtension();
|
String extension = type.getExtension();
|
||||||
assertEquals(".png", extension);
|
assertEquals(".jpg", extension);
|
||||||
|
List<String> supportedExtensions = type.getExtensions();
|
||||||
|
assertEquals(SUPPORTED_EXTENSIONS, supportedExtensions);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void whenUsingJodd_thenGetFileExtension() {
|
public void whenUsingJodd_thenGetFileExtension() {
|
||||||
String fileExtension = jodd.net.MimeTypes.findExtensionsByMimeTypes(PNG_EXT,false)[0];
|
String[] supportedExtensions = {"jpeg","jpg","jpe"};
|
||||||
assertEquals("png", fileExtension);
|
String[] extensionsByMimeTypes = jodd.net.MimeTypes.findExtensionsByMimeTypes(JPEG_EXT, false);
|
||||||
|
assertArrayEquals(supportedExtensions, extensionsByMimeTypes);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void whenUsingMimetypesFileTypeMap_thenGetFileExtension() {
|
public void whenUsingMimetypesFileTypeMap_thenGetFileExtension() {
|
||||||
ContentInfo contentInfo = new ContentInfo("", PNG_EXT, "", true);
|
String[] supportedExtensions = {"jpeg","jpg","jpe"};
|
||||||
|
ContentInfo contentInfo = new ContentInfo("", JPEG_EXT, "", true);
|
||||||
String[] fileExtensions = contentInfo.getFileExtensions();
|
String[] fileExtensions = contentInfo.getFileExtensions();
|
||||||
assertEquals("png", fileExtensions[0]);
|
assertArrayEquals(supportedExtensions, fileExtensions);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void whenUsingCustomLogic_thenGetFileExtension() {
|
public void whenUsingCustomLogic_thenGetFileExtension() {
|
||||||
Map<String, String> mimeToExtensionMap = new HashMap<>();
|
Map<String, Set<String>> mimeExtensionsMap = new HashMap<>();
|
||||||
mimeToExtensionMap.put("application/pdf", "pdf");
|
Set<String> supportedExtensions = new HashSet<>(Arrays.asList(".jpeg",".jpg",".jpe"));
|
||||||
mimeToExtensionMap.put("image/jpeg", "jpg");
|
addMimeExtensions(mimeExtensionsMap, "image/jpeg", ".jpeg");
|
||||||
mimeToExtensionMap.put("image/png", "png");
|
addMimeExtensions(mimeExtensionsMap, "image/jpeg", ".jpg");
|
||||||
String fileExtension = mimeToExtensionMap.get(PNG_EXT);
|
addMimeExtensions(mimeExtensionsMap, "image/jpeg", ".jpe");
|
||||||
if (fileExtension!= null)
|
|
||||||
assertEquals("png", fileExtension);
|
String mimeTypeToLookup = "image/jpeg";
|
||||||
|
Set<String> extensions = mimeExtensionsMap.get(mimeTypeToLookup);
|
||||||
|
assertEquals(supportedExtensions, extensions);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addMimeExtensions(Map<String, Set<String>> map, String mimeType, String extension) {
|
||||||
|
map.computeIfAbsent(mimeType, k -> new HashSet<>()).add(extension);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user