Skip to content

Commit 869b931

Browse files
author
rajatgarg
committed
Update Tests to get multiple extensions
1 parent f1c7b8b commit 869b931

1 file changed

Lines changed: 31 additions & 14 deletions

File tree

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
package com.baeldung.extension;
22

3+
import static org.junit.Assert.assertArrayEquals;
34
import static org.junit.Assert.assertEquals;
5+
6+
import java.util.Arrays;
47
import java.util.HashMap;
8+
import java.util.HashSet;
9+
import java.util.List;
510
import java.util.Map;
11+
import java.util.Set;
612

713
import org.apache.tika.mime.MimeType;
814
import org.apache.tika.mime.MimeTypeException;
@@ -12,36 +18,47 @@
1218
import com.j256.simplemagic.ContentInfo;
1319

1420
public class ExtensionFromMimeTypeUnitTest {
15-
public static final String PNG_EXT = "image/png";
21+
public static final String JPEG_EXT = "image/jpeg";
1622
@Test
1723
public void whenUsingTika_thenGetFileExtension() throws MimeTypeException {
24+
List<String> SUPPORTED_EXTENSIONS = Arrays.asList(".jpg", ".jpeg", ".jpe", ".jif", ".jfif", ".jfi");
1825
MimeTypes allTypes = MimeTypes.getDefaultMimeTypes();
19-
MimeType type = allTypes.forName(PNG_EXT);
26+
MimeType type = allTypes.forName(JPEG_EXT);
2027
String extension = type.getExtension();
21-
assertEquals(".png", extension);
28+
assertEquals(".jpg", extension);
29+
List<String> supportedExtensions = type.getExtensions();
30+
assertEquals(SUPPORTED_EXTENSIONS, supportedExtensions);
2231
}
2332

2433
@Test
2534
public void whenUsingJodd_thenGetFileExtension() {
26-
String fileExtension = jodd.net.MimeTypes.findExtensionsByMimeTypes(PNG_EXT,false)[0];
27-
assertEquals("png", fileExtension);
35+
String[] supportedExtensions = {"jpeg","jpg","jpe"};
36+
String[] extensionsByMimeTypes = jodd.net.MimeTypes.findExtensionsByMimeTypes(JPEG_EXT, false);
37+
assertArrayEquals(supportedExtensions, extensionsByMimeTypes);
2838
}
2939

3040
@Test
3141
public void whenUsingMimetypesFileTypeMap_thenGetFileExtension() {
32-
ContentInfo contentInfo = new ContentInfo("", PNG_EXT, "", true);
42+
String[] supportedExtensions = {"jpeg","jpg","jpe"};
43+
ContentInfo contentInfo = new ContentInfo("", JPEG_EXT, "", true);
3344
String[] fileExtensions = contentInfo.getFileExtensions();
34-
assertEquals("png", fileExtensions[0]);
45+
assertArrayEquals(supportedExtensions, fileExtensions);
3546
}
3647

3748
@Test
3849
public void whenUsingCustomLogic_thenGetFileExtension() {
39-
Map<String, String> mimeToExtensionMap = new HashMap<>();
40-
mimeToExtensionMap.put("application/pdf", "pdf");
41-
mimeToExtensionMap.put("image/jpeg", "jpg");
42-
mimeToExtensionMap.put("image/png", "png");
43-
String fileExtension = mimeToExtensionMap.get(PNG_EXT);
44-
if (fileExtension!= null)
45-
assertEquals("png", fileExtension);
50+
Map<String, Set<String>> mimeExtensionsMap = new HashMap<>();
51+
Set<String> supportedExtensions = new HashSet<>(Arrays.asList(".jpeg",".jpg",".jpe"));
52+
addMimeExtensions(mimeExtensionsMap, "image/jpeg", ".jpeg");
53+
addMimeExtensions(mimeExtensionsMap, "image/jpeg", ".jpg");
54+
addMimeExtensions(mimeExtensionsMap, "image/jpeg", ".jpe");
55+
56+
String mimeTypeToLookup = "image/jpeg";
57+
Set<String> extensions = mimeExtensionsMap.get(mimeTypeToLookup);
58+
assertEquals(supportedExtensions, extensions);
59+
}
60+
61+
private void addMimeExtensions(Map<String, Set<String>> map, String mimeType, String extension) {
62+
map.computeIfAbsent(mimeType, k -> new HashSet<>()).add(extension);
4663
}
4764
}

0 commit comments

Comments
 (0)