Modified: tika/trunk/tika-server/src/test/java/org/apache/tika/server/MetadataResourceTest.java URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/MetadataResourceTest.java?rev=1661200&r1=1661199&r2=1661200&view=diff ============================================================================== --- tika/trunk/tika-server/src/test/java/org/apache/tika/server/MetadataResourceTest.java (original) +++ tika/trunk/tika-server/src/test/java/org/apache/tika/server/MetadataResourceTest.java Fri Feb 20 19:29:42 2015 @@ -17,13 +17,12 @@ package org.apache.tika.server; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import au.com.bytecode.opencsv.CSVReader; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; @@ -31,6 +30,8 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; + +import au.com.bytecode.opencsv.CSVReader; import org.apache.cxf.helpers.IOUtils; import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; import org.apache.cxf.jaxrs.client.WebClient; @@ -40,9 +41,6 @@ import org.apache.tika.metadata.serializ import org.junit.Assert; import org.junit.Test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - public class MetadataResourceTest extends CXFTestBase { private static final String META_PATH = "/meta"; @@ -50,7 +48,7 @@ public class MetadataResourceTest extend protected void setUpResources(JAXRSServerFactoryBean sf) { sf.setResourceClasses(MetadataResource.class); sf.setResourceProvider(MetadataResource.class, - new SingletonResourceProvider(new MetadataResource(tika))); + new SingletonResourceProvider(new MetadataResource(tika))); } @Override @@ -96,7 +94,7 @@ public class MetadataResourceTest extend .accept("text/csv") .put(ClassLoader .getSystemResourceAsStream(TikaResourceTest.TEST_PASSWORD_PROTECTED)); - + // Won't work, no password given assertEquals(500, response.getStatus()); @@ -109,7 +107,7 @@ public class MetadataResourceTest extend .put(ClassLoader.getSystemResourceAsStream(TikaResourceTest.TEST_PASSWORD_PROTECTED)); assertEquals(500, response.getStatus()); - + // Try again, this time with the password response = WebClient .create(endPoint + META_PATH) @@ -117,7 +115,7 @@ public class MetadataResourceTest extend .accept("text/csv") .header("Password", "password") .put(ClassLoader.getSystemResourceAsStream(TikaResourceTest.TEST_PASSWORD_PROTECTED)); - + // Will work assertEquals(200, response.getStatus()); @@ -162,7 +160,7 @@ public class MetadataResourceTest extend .put(ClassLoader .getSystemResourceAsStream(TikaResourceTest.TEST_DOC)); - String result = IOUtils.readStringFromStream((InputStream)response.getEntity()); + String result = IOUtils.readStringFromStream((InputStream) response.getEntity()); assertContains("<rdf:li>Maxim Valyanskiy</rdf:li>", result); } @@ -192,7 +190,7 @@ public class MetadataResourceTest extend Response response = WebClient.create(endPoint + META_PATH + "/Author").type("application/msword") .accept(MediaType.TEXT_PLAIN).put(copy(stream, 12000)); Assert.assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); - String s = IOUtils.readStringFromStream((InputStream)response.getEntity()); + String s = IOUtils.readStringFromStream((InputStream) response.getEntity()); assertEquals("Maxim Valyanskiy", s); } @@ -205,7 +203,7 @@ public class MetadataResourceTest extend .accept(MediaType.APPLICATION_JSON).put(copy(stream, 12000)); Assert.assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); Metadata metadata = JsonMetadata.fromJson(new InputStreamReader( - (InputStream)response.getEntity(), org.apache.tika.io.IOUtils.UTF_8)); + (InputStream) response.getEntity(), org.apache.tika.io.IOUtils.UTF_8)); assertEquals("Maxim Valyanskiy", metadata.get("Author")); assertEquals(1, metadata.names().length); } @@ -218,7 +216,7 @@ public class MetadataResourceTest extend Response response = WebClient.create(endPoint + META_PATH + "/dc:creator").type("application/msword") .accept("application/rdf+xml").put(copy(stream, 12000)); Assert.assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); - String s = IOUtils.readStringFromStream((InputStream)response.getEntity()); + String s = IOUtils.readStringFromStream((InputStream) response.getEntity()); assertContains("<rdf:li>Maxim Valyanskiy</rdf:li>", s); }
Modified: tika/trunk/tika-server/src/test/java/org/apache/tika/server/RecursiveMetadataResourceTest.java URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/RecursiveMetadataResourceTest.java?rev=1661200&r1=1661199&r2=1661200&view=diff ============================================================================== --- tika/trunk/tika-server/src/test/java/org/apache/tika/server/RecursiveMetadataResourceTest.java (original) +++ tika/trunk/tika-server/src/test/java/org/apache/tika/server/RecursiveMetadataResourceTest.java Fri Feb 20 19:29:42 2015 @@ -14,39 +14,40 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -package org.apache.tika.server; - -import javax.ws.rs.core.Response; - -import java.io.InputStream; + +package org.apache.tika.server; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import javax.ws.rs.core.Response; + +import java.io.InputStream; import java.io.InputStreamReader; -import java.io.Reader; -import java.util.ArrayList; -import java.util.List; -import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; -import org.apache.cxf.jaxrs.client.WebClient; -import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider; +import java.io.Reader; +import java.util.ArrayList; +import java.util.List; + +import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; +import org.apache.cxf.jaxrs.client.WebClient; +import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider; import org.apache.tika.io.IOUtils; -import org.apache.tika.metadata.Metadata; -import org.apache.tika.metadata.serialization.JsonMetadataList; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -public class RecursiveMetadataResourceTest extends CXFTestBase { - private static final String META_PATH = "/rmeta"; +import org.apache.tika.metadata.Metadata; +import org.apache.tika.metadata.serialization.JsonMetadataList; +import org.junit.Test; + +public class RecursiveMetadataResourceTest extends CXFTestBase { + private static final String META_PATH = "/rmeta"; private static final String TEST_RECURSIVE_DOC = "test_recursive_embedded.docx"; @Override - protected void setUpResources(JAXRSServerFactoryBean sf) { - sf.setResourceClasses(RecursiveMetadataResource.class); - sf.setResourceProvider(RecursiveMetadataResource.class, - new SingletonResourceProvider(new RecursiveMetadataResource(tika))); - } - - @Override + protected void setUpResources(JAXRSServerFactoryBean sf) { + sf.setResourceClasses(RecursiveMetadataResource.class); + sf.setResourceProvider(RecursiveMetadataResource.class, + new SingletonResourceProvider(new RecursiveMetadataResource(tika))); + } + + @Override protected void setUpProviders(JAXRSServerFactoryBean sf) { List<Object> providers = new ArrayList<Object>(); providers.add(new MetadataListMessageBodyWriter()); @@ -74,24 +75,24 @@ public class RecursiveMetadataResourceTe Response response = WebClient .create(endPoint + META_PATH) .type("application/vnd.ms-excel") - .accept("application/json") - .put(ClassLoader - .getSystemResourceAsStream(TikaResourceTest.TEST_PASSWORD_PROTECTED)); - - // Won't work, no password given - assertEquals(500, response.getStatus()); - - // Try again, this time with the password - response = WebClient - .create(endPoint + META_PATH) + .accept("application/json") + .put(ClassLoader + .getSystemResourceAsStream(TikaResourceTest.TEST_PASSWORD_PROTECTED)); + + // Won't work, no password given + assertEquals(500, response.getStatus()); + + // Try again, this time with the password + response = WebClient + .create(endPoint + META_PATH) .type("application/vnd.ms-excel") - .accept("application/json") - .header("Password", "password") - .put(ClassLoader.getSystemResourceAsStream(TikaResourceTest.TEST_PASSWORD_PROTECTED)); - - // Will work - assertEquals(200, response.getStatus()); - + .accept("application/json") + .header("Password", "password") + .put(ClassLoader.getSystemResourceAsStream(TikaResourceTest.TEST_PASSWORD_PROTECTED)); + + // Will work + assertEquals(200, response.getStatus()); + // Check results Reader reader = new InputStreamReader((InputStream) response.getEntity(), IOUtils.UTF_8); List<Metadata> metadataList = JsonMetadataList.fromJson(reader); Modified: tika/trunk/tika-server/src/test/java/org/apache/tika/server/StackTraceOffTest.java URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/StackTraceOffTest.java?rev=1661200&r1=1661199&r2=1661200&view=diff ============================================================================== --- tika/trunk/tika-server/src/test/java/org/apache/tika/server/StackTraceOffTest.java (original) +++ tika/trunk/tika-server/src/test/java/org/apache/tika/server/StackTraceOffTest.java Fri Feb 20 19:29:42 2015 @@ -86,7 +86,7 @@ public class StackTraceOffTest extends C assertEquals("unprocessable: " + path, UNPROCESSEABLE, response.getStatus()); String msg = getStringFromInputStream((InputStream) response .getEntity()); - assertEquals("should be empty: "+path, "", msg); + assertEquals("should be empty: " + path, "", msg); } } @@ -103,7 +103,7 @@ public class StackTraceOffTest extends C assertEquals("unprocessable: " + path, UNPROCESSEABLE, response.getStatus()); String msg = getStringFromInputStream((InputStream) response .getEntity()); - assertEquals("should be empty: "+path, "", msg); + assertEquals("should be empty: " + path, "", msg); } } @@ -122,7 +122,7 @@ public class StackTraceOffTest extends C assertEquals("bad type: " + path, 415, response.getStatus()); String msg = getStringFromInputStream((InputStream) response .getEntity()); - assertEquals("should be empty: "+path, "", msg); + assertEquals("should be empty: " + path, "", msg); } } Modified: tika/trunk/tika-server/src/test/java/org/apache/tika/server/StackTraceTest.java URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/StackTraceTest.java?rev=1661200&r1=1661199&r2=1661200&view=diff ============================================================================== --- tika/trunk/tika-server/src/test/java/org/apache/tika/server/StackTraceTest.java (original) +++ tika/trunk/tika-server/src/test/java/org/apache/tika/server/StackTraceTest.java Fri Feb 20 19:29:42 2015 @@ -118,7 +118,7 @@ public class StackTraceTest extends CXFT assertEquals("bad type: " + path, 415, response.getStatus()); String msg = getStringFromInputStream((InputStream) response .getEntity()); - assertEquals("should be empty: "+path, "", msg); + assertEquals("should be empty: " + path, "", msg); } } Modified: tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaDetectorsTest.java URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaDetectorsTest.java?rev=1661200&r1=1661199&r2=1661200&view=diff ============================================================================== --- tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaDetectorsTest.java (original) +++ tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaDetectorsTest.java Fri Feb 20 19:29:42 2015 @@ -17,124 +17,125 @@ package org.apache.tika.server; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -import java.io.InputStream; -import java.util.Map; - -import javax.ws.rs.core.Response; - -import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; -import org.apache.cxf.jaxrs.client.WebClient; -import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import javax.ws.rs.core.Response; + +import java.io.InputStream; +import java.util.Map; + +import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; +import org.apache.cxf.jaxrs.client.WebClient; +import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider; import org.apache.tika.mime.MimeTypes; import org.apache.tika.parser.microsoft.POIFSContainerDetector; import org.apache.tika.parser.pkg.ZipContainerDetector; import org.eclipse.jetty.util.ajax.JSON; import org.gagravarr.tika.OggDetector; -import org.junit.Test; - -public class TikaDetectorsTest extends CXFTestBase { - private static final String DETECTORS_PATH = "/detectors"; - - @Override - protected void setUpResources(JAXRSServerFactoryBean sf) { - sf.setResourceClasses(TikaDetectors.class); - sf.setResourceProvider( - TikaDetectors.class, - new SingletonResourceProvider(new TikaDetectors(tika)) - ); - } - - @Override - protected void setUpProviders(JAXRSServerFactoryBean sf) {} - - @Test - public void testGetPlainText() throws Exception { - Response response = WebClient - .create(endPoint + DETECTORS_PATH) - .type("text/plain") - .accept("text/plain") - .get(); - - String text = getStringFromInputStream((InputStream) response.getEntity()); - assertContains("org.apache.tika.detect.DefaultDetector (Composite Detector)", text); - assertContains(OggDetector.class.getName(), text); - assertContains(POIFSContainerDetector.class.getName(), text); - assertContains(ZipContainerDetector.class.getName(), text); - assertContains(MimeTypes.class.getName(), text); - } - - @Test - public void testGetHTML() throws Exception { - Response response = WebClient - .create(endPoint + DETECTORS_PATH) - .type("text/html") - .accept("text/html") - .get(); - - String text = getStringFromInputStream((InputStream) response.getEntity()); - assertContains("<h2>DefaultDetector</h2>", text); - assertContains("Composite", text); - - assertContains("<h3>OggDetector", text); - assertContains("<h3>POIFSContainerDetector", text); - assertContains("<h3>MimeTypes", text); - - assertContains(OggDetector.class.getName(), text); - assertContains(POIFSContainerDetector.class.getName(), text); - assertContains(ZipContainerDetector.class.getName(), text); - assertContains(MimeTypes.class.getName(), text); - } - - @Test - @SuppressWarnings("unchecked") - public void testGetJSON() throws Exception { - Response response = WebClient - .create(endPoint + DETECTORS_PATH) - .type(javax.ws.rs.core.MediaType.APPLICATION_JSON) - .accept(javax.ws.rs.core.MediaType.APPLICATION_JSON) - .get(); - - String jsonStr = getStringFromInputStream((InputStream) response.getEntity()); - Map<String,Map<String,Object>> json = (Map<String,Map<String,Object>>)JSON.parse(jsonStr); - - // Should have a nested structure - assertTrue(json.containsKey("name")); - assertTrue(json.containsKey("composite")); - assertTrue(json.containsKey("children")); - assertEquals("org.apache.tika.detect.DefaultDetector", json.get("name")); - assertEquals(Boolean.TRUE, json.get("composite")); - - // At least 4 child detectors, none of them composite - Object[] children = (Object[])(Object)json.get("children"); - assertTrue(children.length >= 4); - boolean hasOgg = false, hasPOIFS = false, hasZIP = false, hasMime = false; - for (Object o : children) { - Map<String,Object> d = (Map<String,Object>)o; - assertTrue(d.containsKey("name")); - assertTrue(d.containsKey("composite")); - assertEquals(Boolean.FALSE, d.get("composite")); - assertEquals(false, d.containsKey("children")); - - String name = (String)d.get("name"); - if (OggDetector.class.getName().equals(name)) { - hasOgg = true; - } - if (POIFSContainerDetector.class.getName().equals(name)) { - hasPOIFS = true; - } - if (ZipContainerDetector.class.getName().equals(name)) { - hasZIP = true; - } - if (MimeTypes.class.getName().equals(name)) { - hasMime = true; - } - } - assertTrue(hasOgg); - assertTrue(hasPOIFS); - assertTrue(hasZIP); - assertTrue(hasMime); - } -} +import org.junit.Test; + +public class TikaDetectorsTest extends CXFTestBase { + private static final String DETECTORS_PATH = "/detectors"; + + @Override + protected void setUpResources(JAXRSServerFactoryBean sf) { + sf.setResourceClasses(TikaDetectors.class); + sf.setResourceProvider( + TikaDetectors.class, + new SingletonResourceProvider(new TikaDetectors(tika)) + ); + } + + @Override + protected void setUpProviders(JAXRSServerFactoryBean sf) { + } + + @Test + public void testGetPlainText() throws Exception { + Response response = WebClient + .create(endPoint + DETECTORS_PATH) + .type("text/plain") + .accept("text/plain") + .get(); + + String text = getStringFromInputStream((InputStream) response.getEntity()); + assertContains("org.apache.tika.detect.DefaultDetector (Composite Detector)", text); + assertContains(OggDetector.class.getName(), text); + assertContains(POIFSContainerDetector.class.getName(), text); + assertContains(ZipContainerDetector.class.getName(), text); + assertContains(MimeTypes.class.getName(), text); + } + + @Test + public void testGetHTML() throws Exception { + Response response = WebClient + .create(endPoint + DETECTORS_PATH) + .type("text/html") + .accept("text/html") + .get(); + + String text = getStringFromInputStream((InputStream) response.getEntity()); + assertContains("<h2>DefaultDetector</h2>", text); + assertContains("Composite", text); + + assertContains("<h3>OggDetector", text); + assertContains("<h3>POIFSContainerDetector", text); + assertContains("<h3>MimeTypes", text); + + assertContains(OggDetector.class.getName(), text); + assertContains(POIFSContainerDetector.class.getName(), text); + assertContains(ZipContainerDetector.class.getName(), text); + assertContains(MimeTypes.class.getName(), text); + } + + @Test + @SuppressWarnings("unchecked") + public void testGetJSON() throws Exception { + Response response = WebClient + .create(endPoint + DETECTORS_PATH) + .type(javax.ws.rs.core.MediaType.APPLICATION_JSON) + .accept(javax.ws.rs.core.MediaType.APPLICATION_JSON) + .get(); + + String jsonStr = getStringFromInputStream((InputStream) response.getEntity()); + Map<String, Map<String, Object>> json = (Map<String, Map<String, Object>>) JSON.parse(jsonStr); + + // Should have a nested structure + assertTrue(json.containsKey("name")); + assertTrue(json.containsKey("composite")); + assertTrue(json.containsKey("children")); + assertEquals("org.apache.tika.detect.DefaultDetector", json.get("name")); + assertEquals(Boolean.TRUE, json.get("composite")); + + // At least 4 child detectors, none of them composite + Object[] children = (Object[]) (Object) json.get("children"); + assertTrue(children.length >= 4); + boolean hasOgg = false, hasPOIFS = false, hasZIP = false, hasMime = false; + for (Object o : children) { + Map<String, Object> d = (Map<String, Object>) o; + assertTrue(d.containsKey("name")); + assertTrue(d.containsKey("composite")); + assertEquals(Boolean.FALSE, d.get("composite")); + assertEquals(false, d.containsKey("children")); + + String name = (String) d.get("name"); + if (OggDetector.class.getName().equals(name)) { + hasOgg = true; + } + if (POIFSContainerDetector.class.getName().equals(name)) { + hasPOIFS = true; + } + if (ZipContainerDetector.class.getName().equals(name)) { + hasZIP = true; + } + if (MimeTypes.class.getName().equals(name)) { + hasMime = true; + } + } + assertTrue(hasOgg); + assertTrue(hasPOIFS); + assertTrue(hasZIP); + assertTrue(hasMime); + } +} Modified: tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaMimeTypesTest.java URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaMimeTypesTest.java?rev=1661200&r1=1661199&r2=1661200&view=diff ============================================================================== --- tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaMimeTypesTest.java (original) +++ tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaMimeTypesTest.java Fri Feb 20 19:29:42 2015 @@ -17,103 +17,104 @@ package org.apache.tika.server; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -import java.io.InputStream; -import java.util.Map; - -import javax.ws.rs.core.Response; - -import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; -import org.apache.cxf.jaxrs.client.WebClient; -import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import javax.ws.rs.core.Response; + +import java.io.InputStream; +import java.util.Map; + +import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; +import org.apache.cxf.jaxrs.client.WebClient; +import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider; import org.eclipse.jetty.util.ajax.JSON; -import org.junit.Test; - -public class TikaMimeTypesTest extends CXFTestBase { - private static final String MIMETYPES_PATH = "/mime-types"; - - @Override - protected void setUpResources(JAXRSServerFactoryBean sf) { - sf.setResourceClasses(TikaMimeTypes.class); - sf.setResourceProvider( - TikaMimeTypes.class, - new SingletonResourceProvider(new TikaMimeTypes(tika)) - ); - } - - @Override - protected void setUpProviders(JAXRSServerFactoryBean sf) {} - - @Test - public void testGetPlainText() throws Exception { - Response response = WebClient - .create(endPoint + MIMETYPES_PATH) - .type("text/plain") - .accept("text/plain") - .get(); - - String text = getStringFromInputStream((InputStream) response.getEntity()); - assertContains("text/plain", text); - assertContains("application/xml", text); - assertContains("video/x-ogm", text); - - assertContains("supertype: video/ogg", text); - - assertContains("alias: image/bmp", text); - } - - @Test - public void testGetHTML() throws Exception { - Response response = WebClient - .create(endPoint + MIMETYPES_PATH) - .type("text/html") - .accept("text/html") - .get(); - - String text = getStringFromInputStream((InputStream) response.getEntity()); - assertContains("text/plain", text); - assertContains("application/xml", text); - assertContains("video/x-ogm", text); - - assertContains("<h2>text/plain", text); - assertContains("name=\"text/plain", text); - - assertContains("Super Type: <a href=\"#video/ogg\">video/ogg", text); - - assertContains("Alias: image/bmp", text); - } - - @Test - @SuppressWarnings("unchecked") - public void testGetJSON() throws Exception { - Response response = WebClient - .create(endPoint + MIMETYPES_PATH) - .type(javax.ws.rs.core.MediaType.APPLICATION_JSON) - .accept(javax.ws.rs.core.MediaType.APPLICATION_JSON) - .get(); - - String jsonStr = getStringFromInputStream((InputStream) response.getEntity()); - Map<String,Map<String,Object>> json = (Map<String,Map<String,Object>>)JSON.parse(jsonStr); - - assertEquals(true, json.containsKey("text/plain")); - assertEquals(true, json.containsKey("application/xml")); - assertEquals(true, json.containsKey("video/x-ogm")); - assertEquals(true, json.containsKey("image/x-ms-bmp")); - - Map<String,Object> bmp = json.get("image/x-ms-bmp"); - assertEquals(true, bmp.containsKey("alias")); - Object[] aliases = (Object[])bmp.get("alias"); - assertEquals(1, aliases.length); - assertEquals("image/bmp", aliases[0]); - - String whichParser = bmp.get("parser").toString(); - assertTrue("Which parser", whichParser.equals("org.apache.tika.parser.ocr.TesseractOCRParser") || - whichParser.equals("org.apache.tika.parser.image.ImageParser")); - - Map<String,Object> ogm = json.get("video/x-ogm"); - assertEquals("video/ogg", ogm.get("supertype")); - assertEquals("org.gagravarr.tika.OggParser", ogm.get("parser")); - } -} +import org.junit.Test; + +public class TikaMimeTypesTest extends CXFTestBase { + private static final String MIMETYPES_PATH = "/mime-types"; + + @Override + protected void setUpResources(JAXRSServerFactoryBean sf) { + sf.setResourceClasses(TikaMimeTypes.class); + sf.setResourceProvider( + TikaMimeTypes.class, + new SingletonResourceProvider(new TikaMimeTypes(tika)) + ); + } + + @Override + protected void setUpProviders(JAXRSServerFactoryBean sf) { + } + + @Test + public void testGetPlainText() throws Exception { + Response response = WebClient + .create(endPoint + MIMETYPES_PATH) + .type("text/plain") + .accept("text/plain") + .get(); + + String text = getStringFromInputStream((InputStream) response.getEntity()); + assertContains("text/plain", text); + assertContains("application/xml", text); + assertContains("video/x-ogm", text); + + assertContains("supertype: video/ogg", text); + + assertContains("alias: image/bmp", text); + } + + @Test + public void testGetHTML() throws Exception { + Response response = WebClient + .create(endPoint + MIMETYPES_PATH) + .type("text/html") + .accept("text/html") + .get(); + + String text = getStringFromInputStream((InputStream) response.getEntity()); + assertContains("text/plain", text); + assertContains("application/xml", text); + assertContains("video/x-ogm", text); + + assertContains("<h2>text/plain", text); + assertContains("name=\"text/plain", text); + + assertContains("Super Type: <a href=\"#video/ogg\">video/ogg", text); + + assertContains("Alias: image/bmp", text); + } + + @Test + @SuppressWarnings("unchecked") + public void testGetJSON() throws Exception { + Response response = WebClient + .create(endPoint + MIMETYPES_PATH) + .type(javax.ws.rs.core.MediaType.APPLICATION_JSON) + .accept(javax.ws.rs.core.MediaType.APPLICATION_JSON) + .get(); + + String jsonStr = getStringFromInputStream((InputStream) response.getEntity()); + Map<String, Map<String, Object>> json = (Map<String, Map<String, Object>>) JSON.parse(jsonStr); + + assertEquals(true, json.containsKey("text/plain")); + assertEquals(true, json.containsKey("application/xml")); + assertEquals(true, json.containsKey("video/x-ogm")); + assertEquals(true, json.containsKey("image/x-ms-bmp")); + + Map<String, Object> bmp = json.get("image/x-ms-bmp"); + assertEquals(true, bmp.containsKey("alias")); + Object[] aliases = (Object[]) bmp.get("alias"); + assertEquals(1, aliases.length); + assertEquals("image/bmp", aliases[0]); + + String whichParser = bmp.get("parser").toString(); + assertTrue("Which parser", whichParser.equals("org.apache.tika.parser.ocr.TesseractOCRParser") || + whichParser.equals("org.apache.tika.parser.image.ImageParser")); + + Map<String, Object> ogm = json.get("video/x-ogm"); + assertEquals("video/ogg", ogm.get("supertype")); + assertEquals("org.gagravarr.tika.OggParser", ogm.get("parser")); + } +} Modified: tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaParsersTest.java URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaParsersTest.java?rev=1661200&r1=1661199&r2=1661200&view=diff ============================================================================== --- tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaParsersTest.java (original) +++ tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaParsersTest.java Fri Feb 20 19:29:42 2015 @@ -17,164 +17,165 @@ package org.apache.tika.server; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -import java.io.InputStream; -import java.util.Map; - -import javax.ws.rs.core.Response; - -import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; -import org.apache.cxf.jaxrs.client.WebClient; -import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import javax.ws.rs.core.Response; + +import java.io.InputStream; +import java.util.Map; + +import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; +import org.apache.cxf.jaxrs.client.WebClient; +import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider; import org.apache.tika.parser.microsoft.ooxml.OOXMLParser; import org.apache.tika.parser.pdf.PDFParser; import org.apache.tika.parser.pkg.PackageParser; import org.eclipse.jetty.util.ajax.JSON; import org.gagravarr.tika.OpusParser; -import org.junit.Test; - -public class TikaParsersTest extends CXFTestBase { - private static final String PARSERS_SUMMARY_PATH = "/parsers"; - private static final String PARSERS_DETAILS_PATH = "/parsers/details"; - - @Override - protected void setUpResources(JAXRSServerFactoryBean sf) { - sf.setResourceClasses(TikaParsers.class); - sf.setResourceProvider( - TikaParsers.class, - new SingletonResourceProvider(new TikaParsers(tika)) - ); - } - - @Override - protected void setUpProviders(JAXRSServerFactoryBean sf) {} - - protected String getPath(boolean withDetails) { - return withDetails ? PARSERS_DETAILS_PATH : PARSERS_SUMMARY_PATH; - } - - @Test - public void testGetPlainText() throws Exception { - for (boolean details : new boolean[] { false, true }) { - Response response = WebClient - .create(endPoint + getPath(details)) - .type("text/plain") - .accept("text/plain") - .get(); - - String text = getStringFromInputStream((InputStream) response.getEntity()); - assertContains("org.apache.tika.parser.DefaultParser (Composite Parser)", text); - assertContains(OpusParser.class.getName(), text); - assertContains(PackageParser.class.getName(), text); - assertContains(OOXMLParser.class.getName(), text); - - if (details) { - // Should have the mimetypes they handle - assertContains("text/plain", text); - assertContains("application/pdf", text); - assertContains("audio/ogg", text); - } else { - // Shouldn't do - assertNotFound("text/plain", text); - assertNotFound("application/pdf", text); - assertNotFound("audio/ogg", text); - } - } - } - - @Test - public void testGetHTML() throws Exception { - for (boolean details : new boolean[] { false, true }) { - Response response = WebClient - .create(endPoint + getPath(details)) - .type("text/html") - .accept("text/html") - .get(); - - String text = getStringFromInputStream((InputStream) response.getEntity()); - assertContains("<h2>DefaultParser</h2>", text); - assertContains("Composite", text); - - assertContains("<h3>OpusParser", text); - assertContains("<h3>PackageParser", text); - assertContains("<h3>OOXMLParser", text); - - assertContains(OpusParser.class.getName(), text); - assertContains(PackageParser.class.getName(), text); - assertContains(OOXMLParser.class.getName(), text); - - if (details) { - // Should have the mimetypes they handle - assertContains("<li>text/plain", text); - assertContains("<li>application/pdf", text); - assertContains("<li>audio/ogg", text); - } else { - // Shouldn't do - assertNotFound("text/plain", text); - assertNotFound("application/pdf", text); - assertNotFound("audio/ogg", text); - } - } - } - - @Test - @SuppressWarnings("unchecked") - public void testGetJSON() throws Exception { - for (boolean details : new boolean[] { false, true }) { - Response response = WebClient - .create(endPoint + getPath(details)) - .type(javax.ws.rs.core.MediaType.APPLICATION_JSON) - .accept(javax.ws.rs.core.MediaType.APPLICATION_JSON) - .get(); - - String jsonStr = getStringFromInputStream((InputStream) response.getEntity()); - Map<String,Map<String,Object>> json = (Map<String,Map<String,Object>>)JSON.parse(jsonStr); - - // Should have a nested structure - assertEquals(true, json.containsKey("name")); - assertEquals(true, json.containsKey("composite")); - assertEquals(true, json.containsKey("children")); - assertEquals("org.apache.tika.parser.DefaultParser", json.get("name")); - assertEquals(Boolean.TRUE, json.get("composite")); - - // At least 20 child parsers which aren't composite - Object[] children = (Object[])(Object)json.get("children"); - assertTrue(children.length >= 20); - boolean hasOpus = false, hasOOXML = false, hasPDF = false, hasZip = false; - int nonComposite = 0; - for (Object o : children) { - Map<String,Object> d = (Map<String,Object>)o; - assertEquals(true, d.containsKey("name")); - assertEquals(true, d.containsKey("composite")); - assertEquals(Boolean.FALSE, d.get("composite")); - assertEquals(false, d.containsKey("children")); - - if (d.get("composite") == Boolean.FALSE) nonComposite++; - - // Will only have mime types if requested - assertEquals(details, d.containsKey("supportedTypes")); - - String name = (String)d.get("name"); - if (OpusParser.class.getName().equals(name)) { - hasOpus = true; - } - if (OOXMLParser.class.getName().equals(name)) { - hasOOXML = true; - } - if (PDFParser.class.getName().equals(name)) { - hasPDF = true; - } - if (PackageParser.class.getName().equals(name)) { - hasZip = true; - } - } - assertEquals(true, hasOpus); - assertEquals(true, hasOOXML); - assertEquals(true, hasPDF); - assertEquals(true, hasZip); - assertTrue(nonComposite > 20); - } - } -} +import org.junit.Test; + +public class TikaParsersTest extends CXFTestBase { + private static final String PARSERS_SUMMARY_PATH = "/parsers"; + private static final String PARSERS_DETAILS_PATH = "/parsers/details"; + + @Override + protected void setUpResources(JAXRSServerFactoryBean sf) { + sf.setResourceClasses(TikaParsers.class); + sf.setResourceProvider( + TikaParsers.class, + new SingletonResourceProvider(new TikaParsers(tika)) + ); + } + + @Override + protected void setUpProviders(JAXRSServerFactoryBean sf) { + } + + protected String getPath(boolean withDetails) { + return withDetails ? PARSERS_DETAILS_PATH : PARSERS_SUMMARY_PATH; + } + + @Test + public void testGetPlainText() throws Exception { + for (boolean details : new boolean[]{false, true}) { + Response response = WebClient + .create(endPoint + getPath(details)) + .type("text/plain") + .accept("text/plain") + .get(); + + String text = getStringFromInputStream((InputStream) response.getEntity()); + assertContains("org.apache.tika.parser.DefaultParser (Composite Parser)", text); + assertContains(OpusParser.class.getName(), text); + assertContains(PackageParser.class.getName(), text); + assertContains(OOXMLParser.class.getName(), text); + + if (details) { + // Should have the mimetypes they handle + assertContains("text/plain", text); + assertContains("application/pdf", text); + assertContains("audio/ogg", text); + } else { + // Shouldn't do + assertNotFound("text/plain", text); + assertNotFound("application/pdf", text); + assertNotFound("audio/ogg", text); + } + } + } + + @Test + public void testGetHTML() throws Exception { + for (boolean details : new boolean[]{false, true}) { + Response response = WebClient + .create(endPoint + getPath(details)) + .type("text/html") + .accept("text/html") + .get(); + + String text = getStringFromInputStream((InputStream) response.getEntity()); + assertContains("<h2>DefaultParser</h2>", text); + assertContains("Composite", text); + + assertContains("<h3>OpusParser", text); + assertContains("<h3>PackageParser", text); + assertContains("<h3>OOXMLParser", text); + + assertContains(OpusParser.class.getName(), text); + assertContains(PackageParser.class.getName(), text); + assertContains(OOXMLParser.class.getName(), text); + + if (details) { + // Should have the mimetypes they handle + assertContains("<li>text/plain", text); + assertContains("<li>application/pdf", text); + assertContains("<li>audio/ogg", text); + } else { + // Shouldn't do + assertNotFound("text/plain", text); + assertNotFound("application/pdf", text); + assertNotFound("audio/ogg", text); + } + } + } + + @Test + @SuppressWarnings("unchecked") + public void testGetJSON() throws Exception { + for (boolean details : new boolean[]{false, true}) { + Response response = WebClient + .create(endPoint + getPath(details)) + .type(javax.ws.rs.core.MediaType.APPLICATION_JSON) + .accept(javax.ws.rs.core.MediaType.APPLICATION_JSON) + .get(); + + String jsonStr = getStringFromInputStream((InputStream) response.getEntity()); + Map<String, Map<String, Object>> json = (Map<String, Map<String, Object>>) JSON.parse(jsonStr); + + // Should have a nested structure + assertEquals(true, json.containsKey("name")); + assertEquals(true, json.containsKey("composite")); + assertEquals(true, json.containsKey("children")); + assertEquals("org.apache.tika.parser.DefaultParser", json.get("name")); + assertEquals(Boolean.TRUE, json.get("composite")); + + // At least 20 child parsers which aren't composite + Object[] children = (Object[]) (Object) json.get("children"); + assertTrue(children.length >= 20); + boolean hasOpus = false, hasOOXML = false, hasPDF = false, hasZip = false; + int nonComposite = 0; + for (Object o : children) { + Map<String, Object> d = (Map<String, Object>) o; + assertEquals(true, d.containsKey("name")); + assertEquals(true, d.containsKey("composite")); + assertEquals(Boolean.FALSE, d.get("composite")); + assertEquals(false, d.containsKey("children")); + + if (d.get("composite") == Boolean.FALSE) nonComposite++; + + // Will only have mime types if requested + assertEquals(details, d.containsKey("supportedTypes")); + + String name = (String) d.get("name"); + if (OpusParser.class.getName().equals(name)) { + hasOpus = true; + } + if (OOXMLParser.class.getName().equals(name)) { + hasOOXML = true; + } + if (PDFParser.class.getName().equals(name)) { + hasPDF = true; + } + if (PackageParser.class.getName().equals(name)) { + hasZip = true; + } + } + assertEquals(true, hasOpus); + assertEquals(true, hasOOXML); + assertEquals(true, hasPDF); + assertEquals(true, hasZip); + assertTrue(nonComposite > 20); + } + } +} Modified: tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaResourceTest.java URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaResourceTest.java?rev=1661200&r1=1661199&r2=1661200&view=diff ============================================================================== --- tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaResourceTest.java (original) +++ tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaResourceTest.java Fri Feb 20 19:29:42 2015 @@ -20,12 +20,12 @@ package org.apache.tika.server; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import javax.ws.rs.core.Response; + import java.io.InputStream; import java.util.ArrayList; import java.util.List; -import javax.ws.rs.core.Response; - import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; import org.apache.cxf.jaxrs.client.WebClient; import org.apache.cxf.jaxrs.ext.multipart.Attachment; @@ -33,17 +33,17 @@ import org.apache.cxf.jaxrs.lifecycle.Si import org.junit.Test; public class TikaResourceTest extends CXFTestBase { - private static final String TIKA_PATH = "/tika"; public static final String TEST_DOC = "test.doc"; public static final String TEST_XLSX = "16637.xlsx"; public static final String TEST_PASSWORD_PROTECTED = "password.xls"; + private static final String TIKA_PATH = "/tika"; private static final int UNPROCESSEABLE = 422; @Override protected void setUpResources(JAXRSServerFactoryBean sf) { sf.setResourceClasses(TikaResource.class); sf.setResourceProvider(TikaResource.class, - new SingletonResourceProvider(new TikaResource(tika))); + new SingletonResourceProvider(new TikaResource(tika))); } @Override @@ -136,8 +136,8 @@ public class TikaResourceTest extends CX @Test public void testSimpleWordMultipartXML() throws Exception { - ClassLoader.getSystemResourceAsStream(TEST_DOC); - Attachment attachmentPart = + ClassLoader.getSystemResourceAsStream(TEST_DOC); + Attachment attachmentPart = new Attachment("myworddoc", "application/msword", ClassLoader.getSystemResourceAsStream(TEST_DOC)); WebClient webClient = WebClient.create(endPoint + TIKA_PATH + "/form"); Response response = webClient.type("multipart/form-data") @@ -147,5 +147,5 @@ public class TikaResourceTest extends CX .getEntity()); assertTrue(responseMsg.contains("test")); } - + } Modified: tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaVersionTest.java URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaVersionTest.java?rev=1661200&r1=1661199&r2=1661200&view=diff ============================================================================== --- tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaVersionTest.java (original) +++ tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaVersionTest.java Fri Feb 20 19:29:42 2015 @@ -16,43 +16,44 @@ */ package org.apache.tika.server; - -import static org.junit.Assert.assertEquals; - -import java.io.InputStream; - -import javax.ws.rs.core.Response; - -import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; -import org.apache.cxf.jaxrs.client.WebClient; -import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider; + +import static org.junit.Assert.assertEquals; + +import javax.ws.rs.core.Response; + +import java.io.InputStream; + +import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; +import org.apache.cxf.jaxrs.client.WebClient; +import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider; import org.apache.tika.Tika; -import org.junit.Test; - -public class TikaVersionTest extends CXFTestBase { - protected static final String VERSION_PATH = "/version"; - - @Override - protected void setUpResources(JAXRSServerFactoryBean sf) { - sf.setResourceClasses(TikaVersion.class); - sf.setResourceProvider( - TikaVersion.class, - new SingletonResourceProvider(new TikaVersion(tika)) - ); - } - - @Override - protected void setUpProviders(JAXRSServerFactoryBean sf) {} - - @Test - public void testGetVersion() throws Exception { - Response response = WebClient - .create(endPoint + VERSION_PATH) - .type("text/plain") - .accept("text/plain") - .get(); - - assertEquals(new Tika().toString(), - getStringFromInputStream((InputStream) response.getEntity())); - } -} +import org.junit.Test; + +public class TikaVersionTest extends CXFTestBase { + protected static final String VERSION_PATH = "/version"; + + @Override + protected void setUpResources(JAXRSServerFactoryBean sf) { + sf.setResourceClasses(TikaVersion.class); + sf.setResourceProvider( + TikaVersion.class, + new SingletonResourceProvider(new TikaVersion(tika)) + ); + } + + @Override + protected void setUpProviders(JAXRSServerFactoryBean sf) { + } + + @Test + public void testGetVersion() throws Exception { + Response response = WebClient + .create(endPoint + VERSION_PATH) + .type("text/plain") + .accept("text/plain") + .get(); + + assertEquals(new Tika().toString(), + getStringFromInputStream((InputStream) response.getEntity())); + } +} Modified: tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaWelcomeTest.java URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaWelcomeTest.java?rev=1661200&r1=1661199&r2=1661200&view=diff ============================================================================== --- tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaWelcomeTest.java (original) +++ tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaWelcomeTest.java Fri Feb 20 19:29:42 2015 @@ -14,77 +14,78 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -package org.apache.tika.server; - -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import javax.ws.rs.core.Response; - -import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; -import org.apache.cxf.jaxrs.client.WebClient; -import org.apache.cxf.jaxrs.lifecycle.ResourceProvider; + +package org.apache.tika.server; + +import javax.ws.rs.core.Response; + +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; +import org.apache.cxf.jaxrs.client.WebClient; +import org.apache.cxf.jaxrs.lifecycle.ResourceProvider; import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider; import org.apache.tika.Tika; -import org.junit.Test; - -public class TikaWelcomeTest extends CXFTestBase { - protected static final String WELCOME_PATH = "/"; - private static final String VERSION_PATH = TikaVersionTest.VERSION_PATH; - - @Override - protected void setUpResources(JAXRSServerFactoryBean sf) { - List<ResourceProvider> rpsCore = - Collections.<ResourceProvider>singletonList(new SingletonResourceProvider(new TikaVersion(tika))); - List<ResourceProvider> all = new ArrayList<ResourceProvider>(rpsCore); - all.add(new SingletonResourceProvider(new TikaWelcome(tika, rpsCore))); - sf.setResourceProviders(all); - } - - @Override - protected void setUpProviders(JAXRSServerFactoryBean sf) {} - - @Test - public void testGetHTMLWelcome() throws Exception { - Response response = WebClient - .create(endPoint + WELCOME_PATH) - .type("text/html") - .accept("text/html") - .get(); - - String html = getStringFromInputStream((InputStream) response.getEntity()); - - assertContains(new Tika().toString(), html); - assertContains("href=\"http", html); - - // Check our details were found - assertContains("GET", html); - assertContains(WELCOME_PATH, html); - assertContains("text/plain", html); - - // Check that the Tika Version details come through too - assertContains(VERSION_PATH, html); - } - - @Test - public void testGetTextWelcome() throws Exception { - Response response = WebClient - .create(endPoint + WELCOME_PATH) - .type("text/plain") - .accept("text/plain") - .get(); - - String text = getStringFromInputStream((InputStream) response.getEntity()); - assertContains(new Tika().toString(), text); - - // Check our details were found - assertContains("GET " + WELCOME_PATH, text); - assertContains("=> text/plain", text); - - // Check that the Tika Version details come through too - assertContains("GET " + VERSION_PATH, text); - } -} +import org.junit.Test; + +public class TikaWelcomeTest extends CXFTestBase { + protected static final String WELCOME_PATH = "/"; + private static final String VERSION_PATH = TikaVersionTest.VERSION_PATH; + + @Override + protected void setUpResources(JAXRSServerFactoryBean sf) { + List<ResourceProvider> rpsCore = + Collections.<ResourceProvider>singletonList(new SingletonResourceProvider(new TikaVersion(tika))); + List<ResourceProvider> all = new ArrayList<ResourceProvider>(rpsCore); + all.add(new SingletonResourceProvider(new TikaWelcome(tika, rpsCore))); + sf.setResourceProviders(all); + } + + @Override + protected void setUpProviders(JAXRSServerFactoryBean sf) { + } + + @Test + public void testGetHTMLWelcome() throws Exception { + Response response = WebClient + .create(endPoint + WELCOME_PATH) + .type("text/html") + .accept("text/html") + .get(); + + String html = getStringFromInputStream((InputStream) response.getEntity()); + + assertContains(new Tika().toString(), html); + assertContains("href=\"http", html); + + // Check our details were found + assertContains("GET", html); + assertContains(WELCOME_PATH, html); + assertContains("text/plain", html); + + // Check that the Tika Version details come through too + assertContains(VERSION_PATH, html); + } + + @Test + public void testGetTextWelcome() throws Exception { + Response response = WebClient + .create(endPoint + WELCOME_PATH) + .type("text/plain") + .accept("text/plain") + .get(); + + String text = getStringFromInputStream((InputStream) response.getEntity()); + assertContains(new Tika().toString(), text); + + // Check our details were found + assertContains("GET " + WELCOME_PATH, text); + assertContains("=> text/plain", text); + + // Check that the Tika Version details come through too + assertContains("GET " + VERSION_PATH, text); + } +} Modified: tika/trunk/tika-server/src/test/java/org/apache/tika/server/UnpackerResourceTest.java URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/UnpackerResourceTest.java?rev=1661200&r1=1661199&r2=1661200&view=diff ============================================================================== --- tika/trunk/tika-server/src/test/java/org/apache/tika/server/UnpackerResourceTest.java (original) +++ tika/trunk/tika-server/src/test/java/org/apache/tika/server/UnpackerResourceTest.java Fri Feb 20 19:29:42 2015 @@ -22,13 +22,13 @@ import static org.junit.Assert.assertFal import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import javax.ws.rs.core.Response; + import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.Map; -import javax.ws.rs.core.Response; - import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; import org.apache.cxf.jaxrs.client.WebClient; @@ -36,39 +36,39 @@ import org.apache.cxf.jaxrs.lifecycle.Si import org.junit.Test; public class UnpackerResourceTest extends CXFTestBase { - private static final String BASE_PATH = "/unpack"; - private static final String UNPACKER_PATH = BASE_PATH + ""; - private static final String ALL_PATH = BASE_PATH + "/all"; - - private static final String TEST_DOC_WAV = "Doc1_ole.doc"; - private static final String WAV1_MD5 = "bdd0a78a54968e362445364f95d8dc96"; - private static final String WAV1_NAME = "_1310388059/MSj00974840000[1].wav"; - private static final String WAV2_MD5 = "3bbd42fb1ac0e46a95350285f16d9596"; - private static final String WAV2_NAME = "_1310388058/MSj00748450000[1].wav"; - private static final String JPG_NAME = "image1.jpg"; - private static final String XSL_IMAGE1_MD5 = "68ead8f4995a3555f48a2f738b2b0c3d"; - private static final String JPG_MD5 = XSL_IMAGE1_MD5; - private static final String JPG2_NAME = "image2.jpg"; - private static final String JPG2_MD5 = "b27a41d12c646d7fc4f3826cf8183c68"; - private static final String TEST_DOCX_IMAGE = "2pic.docx"; - private static final String DOCX_IMAGE1_MD5 = "5516590467b069fa59397432677bad4d"; - private static final String DOCX_IMAGE2_MD5 = "a5dd81567427070ce0a2ff3e3ef13a4c"; - private static final String DOCX_IMAGE1_NAME = "image1.jpeg"; - private static final String DOCX_IMAGE2_NAME = "image2.jpeg"; - private static final String DOCX_EXE1_MD5 = "d71ffa0623014df725f8fd2710de4411"; - private static final String DOCX_EXE1_NAME = "GMapTool.exe"; - private static final String DOCX_EXE2_MD5 = "2485435c7c22d35f2de9b4c98c0c2e1a"; - private static final String DOCX_EXE2_NAME = "Setup.exe"; - private static final String XSL_IMAGE2_MD5 = "8969288f4245120e7c3870287cce0ff3"; - private static final String APPLICATION_MSWORD = "application/msword"; - private static final String APPLICATION_XML = "application/xml"; - private static final String CONTENT_TYPE = "Content-type"; + private static final String BASE_PATH = "/unpack"; + private static final String UNPACKER_PATH = BASE_PATH + ""; + private static final String ALL_PATH = BASE_PATH + "/all"; + + private static final String TEST_DOC_WAV = "Doc1_ole.doc"; + private static final String WAV1_MD5 = "bdd0a78a54968e362445364f95d8dc96"; + private static final String WAV1_NAME = "_1310388059/MSj00974840000[1].wav"; + private static final String WAV2_MD5 = "3bbd42fb1ac0e46a95350285f16d9596"; + private static final String WAV2_NAME = "_1310388058/MSj00748450000[1].wav"; + private static final String JPG_NAME = "image1.jpg"; + private static final String XSL_IMAGE1_MD5 = "68ead8f4995a3555f48a2f738b2b0c3d"; + private static final String JPG_MD5 = XSL_IMAGE1_MD5; + private static final String JPG2_NAME = "image2.jpg"; + private static final String JPG2_MD5 = "b27a41d12c646d7fc4f3826cf8183c68"; + private static final String TEST_DOCX_IMAGE = "2pic.docx"; + private static final String DOCX_IMAGE1_MD5 = "5516590467b069fa59397432677bad4d"; + private static final String DOCX_IMAGE2_MD5 = "a5dd81567427070ce0a2ff3e3ef13a4c"; + private static final String DOCX_IMAGE1_NAME = "image1.jpeg"; + private static final String DOCX_IMAGE2_NAME = "image2.jpeg"; + private static final String DOCX_EXE1_MD5 = "d71ffa0623014df725f8fd2710de4411"; + private static final String DOCX_EXE1_NAME = "GMapTool.exe"; + private static final String DOCX_EXE2_MD5 = "2485435c7c22d35f2de9b4c98c0c2e1a"; + private static final String DOCX_EXE2_NAME = "Setup.exe"; + private static final String XSL_IMAGE2_MD5 = "8969288f4245120e7c3870287cce0ff3"; + private static final String APPLICATION_MSWORD = "application/msword"; + private static final String APPLICATION_XML = "application/xml"; + private static final String CONTENT_TYPE = "Content-type"; @Override protected void setUpResources(JAXRSServerFactoryBean sf) { sf.setResourceClasses(UnpackerResource.class); sf.setResourceProvider(UnpackerResource.class, - new SingletonResourceProvider(new UnpackerResource(tika))); + new SingletonResourceProvider(new UnpackerResource(tika))); } @Override @@ -80,117 +80,117 @@ public class UnpackerResourceTest extend sf.setProviders(providers); } - @Test - public void testDocWAV() throws Exception { - Response response = WebClient.create(endPoint + UNPACKER_PATH) - .type(APPLICATION_MSWORD).accept("application/zip") - .put(ClassLoader.getSystemResourceAsStream(TEST_DOC_WAV)); - - Map<String, String> data = readZipArchive((InputStream) response.getEntity()); - assertEquals(WAV1_MD5, data.get(WAV1_NAME)); - assertEquals(WAV2_MD5, data.get(WAV2_NAME)); - assertFalse(data.containsKey(UnpackerResource.TEXT_FILENAME)); - } - - @Test - public void testDocWAVText() throws Exception { - Response response = WebClient.create(endPoint + ALL_PATH) - .type(APPLICATION_MSWORD).accept("application/zip") - .put(ClassLoader.getSystemResourceAsStream(TEST_DOC_WAV)); - - Map<String, String> data = readZipArchive((InputStream) response.getEntity()); - assertEquals(WAV1_MD5, data.get(WAV1_NAME)); - assertEquals(WAV2_MD5, data.get(WAV2_NAME)); - assertTrue(data.containsKey(UnpackerResource.TEXT_FILENAME)); - } - - @Test - public void testDocPicture() throws Exception { - Response response = WebClient.create(endPoint + UNPACKER_PATH) - .type(APPLICATION_MSWORD).accept("application/zip") - .put(ClassLoader.getSystemResourceAsStream(TEST_DOC_WAV)); - - Map<String, String> data = readZipArchive((InputStream) response.getEntity()); - - assertEquals(JPG_MD5, data.get(JPG_NAME)); - } - - @Test - public void testDocPictureNoOle() throws Exception { - Response response = WebClient.create(endPoint + UNPACKER_PATH) - .type(APPLICATION_MSWORD).accept("application/zip") - .put(ClassLoader.getSystemResourceAsStream("2pic.doc")); - - Map<String, String> data = readZipArchive((InputStream) response.getEntity()); - assertEquals(JPG2_MD5, data.get(JPG2_NAME)); - } - - @Test - public void testImageDOCX() throws Exception { - Response response = WebClient.create(endPoint + UNPACKER_PATH) - .accept("application/zip").put( - ClassLoader.getSystemResourceAsStream(TEST_DOCX_IMAGE)); - - Map<String, String> data = readZipArchive((InputStream) response.getEntity()); - assertEquals(DOCX_IMAGE1_MD5, data.get(DOCX_IMAGE1_NAME)); - assertEquals(DOCX_IMAGE2_MD5, data.get(DOCX_IMAGE2_NAME)); - } - - @Test - public void test415() throws Exception { - Response response = WebClient.create(endPoint + UNPACKER_PATH) - .type("xxx/xxx") - .accept("*/*") - .put(ClassLoader.getSystemResourceAsStream(TEST_DOC_WAV)); - - assertEquals(415, response.getStatus()); - } - - @Test - public void testExeDOCX() throws Exception { - String TEST_DOCX_EXE = "2exe.docx"; - Response response = WebClient.create(endPoint + UNPACKER_PATH) - .accept("application/zip") - .put(ClassLoader.getSystemResourceAsStream(TEST_DOCX_EXE)); - - Map<String, String> data = readZipArchive((InputStream) response.getEntity()); - - assertEquals(DOCX_EXE1_MD5, data.get(DOCX_EXE1_NAME)); - assertEquals(DOCX_EXE2_MD5, data.get(DOCX_EXE2_NAME)); - } - - @Test - public void testImageXSL() throws Exception { - Response response = WebClient.create(endPoint + UNPACKER_PATH) - .accept("application/zip") - .put(ClassLoader.getSystemResourceAsStream("pic.xls")); - - Map<String, String> data = readZipArchive((InputStream) response.getEntity()); - assertEquals(XSL_IMAGE1_MD5, data.get("0.jpg")); - assertEquals(XSL_IMAGE2_MD5, data.get("1.jpg")); - } - - @Test - public void testTarDocPicture() throws Exception { - Response response = WebClient.create(endPoint + UNPACKER_PATH) - .type(APPLICATION_MSWORD).accept("application/x-tar") - .put(ClassLoader.getSystemResourceAsStream(TEST_DOC_WAV)); - - Map<String, String> data = readArchiveFromStream(new TarArchiveInputStream((InputStream) response.getEntity())); - - assertEquals(JPG_MD5, data.get(JPG_NAME)); - } - - @Test - public void testText() throws Exception { - Response response = WebClient.create(endPoint + ALL_PATH) - .header(CONTENT_TYPE, APPLICATION_XML) - .accept("application/zip") - .put(ClassLoader.getSystemResourceAsStream("test.doc")); - - String responseMsg = readArchiveText((InputStream) response.getEntity()); - assertNotNull(responseMsg); - assertTrue(responseMsg.contains("test")); - } + @Test + public void testDocWAV() throws Exception { + Response response = WebClient.create(endPoint + UNPACKER_PATH) + .type(APPLICATION_MSWORD).accept("application/zip") + .put(ClassLoader.getSystemResourceAsStream(TEST_DOC_WAV)); + + Map<String, String> data = readZipArchive((InputStream) response.getEntity()); + assertEquals(WAV1_MD5, data.get(WAV1_NAME)); + assertEquals(WAV2_MD5, data.get(WAV2_NAME)); + assertFalse(data.containsKey(UnpackerResource.TEXT_FILENAME)); + } + + @Test + public void testDocWAVText() throws Exception { + Response response = WebClient.create(endPoint + ALL_PATH) + .type(APPLICATION_MSWORD).accept("application/zip") + .put(ClassLoader.getSystemResourceAsStream(TEST_DOC_WAV)); + + Map<String, String> data = readZipArchive((InputStream) response.getEntity()); + assertEquals(WAV1_MD5, data.get(WAV1_NAME)); + assertEquals(WAV2_MD5, data.get(WAV2_NAME)); + assertTrue(data.containsKey(UnpackerResource.TEXT_FILENAME)); + } + + @Test + public void testDocPicture() throws Exception { + Response response = WebClient.create(endPoint + UNPACKER_PATH) + .type(APPLICATION_MSWORD).accept("application/zip") + .put(ClassLoader.getSystemResourceAsStream(TEST_DOC_WAV)); + + Map<String, String> data = readZipArchive((InputStream) response.getEntity()); + + assertEquals(JPG_MD5, data.get(JPG_NAME)); + } + + @Test + public void testDocPictureNoOle() throws Exception { + Response response = WebClient.create(endPoint + UNPACKER_PATH) + .type(APPLICATION_MSWORD).accept("application/zip") + .put(ClassLoader.getSystemResourceAsStream("2pic.doc")); + + Map<String, String> data = readZipArchive((InputStream) response.getEntity()); + assertEquals(JPG2_MD5, data.get(JPG2_NAME)); + } + + @Test + public void testImageDOCX() throws Exception { + Response response = WebClient.create(endPoint + UNPACKER_PATH) + .accept("application/zip").put( + ClassLoader.getSystemResourceAsStream(TEST_DOCX_IMAGE)); + + Map<String, String> data = readZipArchive((InputStream) response.getEntity()); + assertEquals(DOCX_IMAGE1_MD5, data.get(DOCX_IMAGE1_NAME)); + assertEquals(DOCX_IMAGE2_MD5, data.get(DOCX_IMAGE2_NAME)); + } + + @Test + public void test415() throws Exception { + Response response = WebClient.create(endPoint + UNPACKER_PATH) + .type("xxx/xxx") + .accept("*/*") + .put(ClassLoader.getSystemResourceAsStream(TEST_DOC_WAV)); + + assertEquals(415, response.getStatus()); + } + + @Test + public void testExeDOCX() throws Exception { + String TEST_DOCX_EXE = "2exe.docx"; + Response response = WebClient.create(endPoint + UNPACKER_PATH) + .accept("application/zip") + .put(ClassLoader.getSystemResourceAsStream(TEST_DOCX_EXE)); + + Map<String, String> data = readZipArchive((InputStream) response.getEntity()); + + assertEquals(DOCX_EXE1_MD5, data.get(DOCX_EXE1_NAME)); + assertEquals(DOCX_EXE2_MD5, data.get(DOCX_EXE2_NAME)); + } + + @Test + public void testImageXSL() throws Exception { + Response response = WebClient.create(endPoint + UNPACKER_PATH) + .accept("application/zip") + .put(ClassLoader.getSystemResourceAsStream("pic.xls")); + + Map<String, String> data = readZipArchive((InputStream) response.getEntity()); + assertEquals(XSL_IMAGE1_MD5, data.get("0.jpg")); + assertEquals(XSL_IMAGE2_MD5, data.get("1.jpg")); + } + + @Test + public void testTarDocPicture() throws Exception { + Response response = WebClient.create(endPoint + UNPACKER_PATH) + .type(APPLICATION_MSWORD).accept("application/x-tar") + .put(ClassLoader.getSystemResourceAsStream(TEST_DOC_WAV)); + + Map<String, String> data = readArchiveFromStream(new TarArchiveInputStream((InputStream) response.getEntity())); + + assertEquals(JPG_MD5, data.get(JPG_NAME)); + } + + @Test + public void testText() throws Exception { + Response response = WebClient.create(endPoint + ALL_PATH) + .header(CONTENT_TYPE, APPLICATION_XML) + .accept("application/zip") + .put(ClassLoader.getSystemResourceAsStream("test.doc")); + + String responseMsg = readArchiveText((InputStream) response.getEntity()); + assertNotNull(responseMsg); + assertTrue(responseMsg.contains("test")); + } }