http://git-wip-us.apache.org/repos/asf/tika/blob/aa5f60d7/tika-parsers/src/test/java/org/apache/tika/parser/RecursiveParserWrapperTest.java
----------------------------------------------------------------------
diff --git 
a/tika-parsers/src/test/java/org/apache/tika/parser/RecursiveParserWrapperTest.java
 
b/tika-parsers/src/test/java/org/apache/tika/parser/RecursiveParserWrapperTest.java
deleted file mode 100644
index 4889b38..0000000
--- 
a/tika-parsers/src/test/java/org/apache/tika/parser/RecursiveParserWrapperTest.java
+++ /dev/null
@@ -1,312 +0,0 @@
-package org.apache.tika.parser;
-
-/*
- * 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.
- */
-
-
-import static org.apache.tika.TikaTest.assertContains;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.InputStream;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.TikaMetadataKeys;
-import org.apache.tika.parser.utils.CommonsDigester;
-import org.apache.tika.sax.BasicContentHandlerFactory;
-import org.apache.tika.sax.ContentHandlerFactory;
-import org.junit.Test;
-import org.xml.sax.helpers.DefaultHandler;
-
-public class RecursiveParserWrapperTest {
-
-    @Test
-    public void testBasicXML() throws Exception {
-        List<Metadata> list = getMetadata(new Metadata(),
-                new 
BasicContentHandlerFactory(BasicContentHandlerFactory.HANDLER_TYPE.XML, -1));
-        Metadata container = list.get(0);
-        String content = container.get(RecursiveParserWrapper.TIKA_CONTENT);
-        //not much differentiates html from xml in this test file
-        assertTrue(content.indexOf("<p class=\"header\" />") > -1);
-    }
-
-    @Test
-    public void testBasicHTML() throws Exception {
-        List<Metadata> list = getMetadata(new Metadata(),
-                new 
BasicContentHandlerFactory(BasicContentHandlerFactory.HANDLER_TYPE.HTML, -1));
-        Metadata container = list.get(0);
-        String content = container.get(RecursiveParserWrapper.TIKA_CONTENT);
-        //not much differentiates html from xml in this test file
-        assertTrue(content.indexOf("<p class=\"header\"></p>") > -1);
-    }
-
-    @Test
-    public void testBasicText() throws Exception {
-        List<Metadata> list = getMetadata(new Metadata(),
-                new 
BasicContentHandlerFactory(BasicContentHandlerFactory.HANDLER_TYPE.TEXT, -1));
-        Metadata container = list.get(0);
-        String content = container.get(RecursiveParserWrapper.TIKA_CONTENT);
-        assertTrue(content.indexOf("<p ") < 0);
-        assertTrue(content.indexOf("embed_0") > -1);
-    }
-
-    @Test
-    public void testIgnoreContent() throws Exception {
-        List<Metadata> list = getMetadata(new Metadata(),
-                new 
BasicContentHandlerFactory(BasicContentHandlerFactory.HANDLER_TYPE.IGNORE, -1));
-        Metadata container = list.get(0);
-        String content = container.get(RecursiveParserWrapper.TIKA_CONTENT);
-        assertNull(content);
-    }
-
-
-    @Test
-    public void testCharLimit() throws Exception {
-        ParseContext context = new ParseContext();
-        Metadata metadata = new Metadata();
-
-        Parser wrapped = new AutoDetectParser();
-        RecursiveParserWrapper wrapper = new RecursiveParserWrapper(wrapped,
-                new 
BasicContentHandlerFactory(BasicContentHandlerFactory.HANDLER_TYPE.TEXT, 60));
-        InputStream stream = 
RecursiveParserWrapperTest.class.getResourceAsStream(
-                "/test-documents/test_recursive_embedded.docx");
-        wrapper.parse(stream, new DefaultHandler(), metadata, context);
-        List<Metadata> list = wrapper.getMetadata();
-
-        assertEquals(5, list.size());
-
-        int wlr = 0;
-        for (Metadata m : list) {
-            String limitReached = 
m.get(RecursiveParserWrapper.WRITE_LIMIT_REACHED);
-            if (limitReached != null && limitReached.equals("true")) {
-                wlr++;
-            }
-        }
-        assertEquals(1, wlr);
-
-    }
-
-    @Test
-    public void testMaxEmbedded() throws Exception {
-        int maxEmbedded = 4;
-        int totalNoLimit = 12;//including outer container file
-        ParseContext context = new ParseContext();
-        Metadata metadata = new Metadata();
-        String limitReached = null;
-
-        Parser wrapped = new AutoDetectParser();
-        RecursiveParserWrapper wrapper = new RecursiveParserWrapper(wrapped,
-                new 
BasicContentHandlerFactory(BasicContentHandlerFactory.HANDLER_TYPE.TEXT, -1));
-
-        InputStream stream = 
RecursiveParserWrapperTest.class.getResourceAsStream(
-                "/test-documents/test_recursive_embedded.docx");
-        wrapper.parse(stream, new DefaultHandler(), metadata, context);
-        List<Metadata> list = wrapper.getMetadata();
-        //test default
-        assertEquals(totalNoLimit, list.size());
-
-        limitReached = 
list.get(0).get(RecursiveParserWrapper.EMBEDDED_RESOURCE_LIMIT_REACHED);
-        assertNull(limitReached);
-
-
-        wrapper.reset();
-        stream.close();
-
-        //test setting value
-        metadata = new Metadata();
-        stream = RecursiveParserWrapperTest.class.getResourceAsStream(
-                "/test-documents/test_recursive_embedded.docx");
-        wrapper.setMaxEmbeddedResources(maxEmbedded);
-        wrapper.parse(stream, new DefaultHandler(), metadata, context);
-        list = wrapper.getMetadata();
-
-        //add 1 for outer container file
-        assertEquals(maxEmbedded + 1, list.size());
-
-        limitReached = 
list.get(0).get(RecursiveParserWrapper.EMBEDDED_RESOURCE_LIMIT_REACHED);
-        assertEquals("true", limitReached);
-
-        wrapper.reset();
-        stream.close();
-
-        //test setting value < 0
-        metadata = new Metadata();
-        stream = RecursiveParserWrapperTest.class.getResourceAsStream(
-                "/test-documents/test_recursive_embedded.docx");
-
-        wrapper.setMaxEmbeddedResources(-2);
-        wrapper.parse(stream, new DefaultHandler(), metadata, context);
-        assertEquals(totalNoLimit, list.size());
-        limitReached = 
list.get(0).get(RecursiveParserWrapper.EMBEDDED_RESOURCE_LIMIT_REACHED);
-        assertNull(limitReached);
-    }
-
-    @Test
-    public void testEmbeddedResourcePath() throws Exception {
-
-        Set<String> targets = new HashSet<String>();
-        targets.add("/embed1.zip");
-        targets.add("/embed1.zip/embed2.zip");
-        targets.add("/embed1.zip/embed2.zip/embed3.zip");
-        targets.add("/embed1.zip/embed2.zip/embed3.zip/embed4.zip");
-        targets.add("/embed1.zip/embed2.zip/embed3.zip/embed4.zip/embed4.txt");
-        targets.add("/embed1.zip/embed2.zip/embed3.zip/embed3.txt");
-        targets.add("/embed1.zip/embed2.zip/embed2a.txt");
-        targets.add("/embed1.zip/embed2.zip/embed2b.txt");
-        targets.add("/embed1.zip/embed1b.txt");
-        targets.add("/embed1.zip/embed1a.txt");
-        targets.add("/image1.emf");
-
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.RESOURCE_NAME_KEY, 
"test_recursive_embedded.docx");
-        List<Metadata> list = getMetadata(metadata,
-                new 
BasicContentHandlerFactory(BasicContentHandlerFactory.HANDLER_TYPE.XML, -1));
-        Metadata container = list.get(0);
-        String content = container.get(RecursiveParserWrapper.TIKA_CONTENT);
-        assertTrue(content.indexOf("<p class=\"header\" />") > -1);
-
-        Set<String> seen = new HashSet<String>();
-        for (Metadata m : list) {
-            String path = m.get(RecursiveParserWrapper.EMBEDDED_RESOURCE_PATH);
-            if (path != null) {
-                seen.add(path);
-            }
-        }
-        assertEquals(targets, seen);
-    }
-
-    @Test
-    public void testEmbeddedNPE() throws Exception {
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.RESOURCE_NAME_KEY, 
"test_recursive_embedded_npe.docx");
-        List<Metadata> list = getMetadata(metadata,
-                new 
BasicContentHandlerFactory(BasicContentHandlerFactory.HANDLER_TYPE.TEXT, -1));
-        //default behavior (user doesn't specify whether or not to catch 
embedded exceptions
-        //is to catch the exception
-        assertEquals(13, list.size());
-        Metadata mockNPEMetadata = list.get(10);
-        assertContains("java.lang.NullPointerException", 
mockNPEMetadata.get(RecursiveParserWrapper.EMBEDDED_EXCEPTION));
-
-        metadata = new Metadata();
-        metadata.set(Metadata.RESOURCE_NAME_KEY, 
"test_recursive_embedded_npe.docx");
-        list = getMetadata(metadata,
-                new 
BasicContentHandlerFactory(BasicContentHandlerFactory.HANDLER_TYPE.TEXT, -1),
-                false, null);
-
-        //Composite parser swallows caught TikaExceptions, IOExceptions and 
SAXExceptions
-        //and just doesn't bother to report that there was an exception.
-        assertEquals(12, list.size());
-    }
-
-    @Test
-    public void testPrimaryExcWEmbedded() throws Exception {
-        //if embedded content is handled and then
-        //the parser hits an exception in the container document,
-        //that the first element of the returned list is the container document
-        //and the second is the embedded content
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.RESOURCE_NAME_KEY, "embedded_then_npe.xml");
-
-        ParseContext context = new ParseContext();
-        Parser wrapped = new AutoDetectParser();
-        RecursiveParserWrapper wrapper = new RecursiveParserWrapper(wrapped,
-                new 
BasicContentHandlerFactory(BasicContentHandlerFactory.HANDLER_TYPE.TEXT, -1), 
true);
-        String path = "/test-documents/mock/embedded_then_npe.xml";
-
-        InputStream stream = null;
-        boolean npe = false;
-        try {
-            stream = RecursiveParserWrapperTest.class.getResourceAsStream(
-                    path);
-            wrapper.parse(stream, new DefaultHandler(), metadata, context);
-        } catch (TikaException e) {
-            if (e.getCause().getClass().equals(NullPointerException.class)) {
-                npe = true;
-            }
-        } finally {
-            IOUtils.closeQuietly(stream);
-        }
-        assertTrue("npe", npe);
-
-        List<Metadata> metadataList = wrapper.getMetadata();
-        assertEquals(2, metadataList.size());
-        Metadata outerMetadata = metadataList.get(0);
-        Metadata embeddedMetadata = metadataList.get(1);
-        assertContains("main_content", 
outerMetadata.get(RecursiveParserWrapper.TIKA_CONTENT));
-        assertEquals("embedded_then_npe.xml", 
outerMetadata.get(TikaMetadataKeys.RESOURCE_NAME_KEY));
-        assertEquals("Nikolai Lobachevsky", outerMetadata.get("author"));
-
-        assertContains("some_embedded_content", 
embeddedMetadata.get(RecursiveParserWrapper.TIKA_CONTENT));
-        assertEquals("embed1.xml", 
embeddedMetadata.get(TikaMetadataKeys.RESOURCE_NAME_KEY));
-        assertEquals("embeddedAuthor", embeddedMetadata.get("author"));
-    }
-
-    @Test
-    public void testDigesters() throws Exception {
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.RESOURCE_NAME_KEY, 
"test_recursive_embedded.docx");
-        List<Metadata> list = getMetadata(metadata,
-                new 
BasicContentHandlerFactory(BasicContentHandlerFactory.HANDLER_TYPE.TEXT, -1),
-                true, new CommonsDigester(100000, 
CommonsDigester.DigestAlgorithm.MD5));
-        int i = 0;
-        Metadata m0 = list.get(0);
-        Metadata m6 = list.get(6);
-        String md5Key = "X-TIKA:digest:MD5";
-        assertEquals("59f626e09a8c16ab6dbc2800c685f772", 
list.get(0).get(md5Key));
-        assertEquals("ccdf3882e7e4c2454e28884db9b0a54d", 
list.get(6).get(md5Key));
-        assertEquals("a869bf6432ebd14e19fc79416274e0c9", 
list.get(7).get(md5Key));
-    }
-
-    private List<Metadata> getMetadata(Metadata metadata, 
ContentHandlerFactory contentHandlerFactory,
-                                       boolean catchEmbeddedExceptions,
-                                       DigestingParser.Digester digester) 
throws Exception {
-        ParseContext context = new ParseContext();
-        Parser wrapped = new AutoDetectParser();
-        if (digester != null) {
-            wrapped = new DigestingParser(wrapped, digester);
-        }
-        RecursiveParserWrapper wrapper = new RecursiveParserWrapper(wrapped,
-                contentHandlerFactory, catchEmbeddedExceptions);
-        String path = metadata.get(Metadata.RESOURCE_NAME_KEY);
-        if (path == null) {
-            path = "/test-documents/test_recursive_embedded.docx";
-        } else {
-            path = "/test-documents/" + path;
-        }
-        InputStream stream = null;
-        try {
-            stream = 
TikaInputStream.get(RecursiveParserWrapperTest.class.getResource(path).toURI());
-            wrapper.parse(stream, new DefaultHandler(), metadata, context);
-        } finally {
-            IOUtils.closeQuietly(stream);
-        }
-        return wrapper.getMetadata();
-
-    }
-
-    private List<Metadata> getMetadata(Metadata metadata, 
ContentHandlerFactory contentHandlerFactory)
-            throws Exception {
-        return getMetadata(metadata, contentHandlerFactory, true, null);
-    }
-}

http://git-wip-us.apache.org/repos/asf/tika/blob/aa5f60d7/tika-parsers/src/test/java/org/apache/tika/parser/fork/ForkParserIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/tika-parsers/src/test/java/org/apache/tika/parser/fork/ForkParserIntegrationTest.java
 
b/tika-parsers/src/test/java/org/apache/tika/parser/fork/ForkParserIntegrationTest.java
deleted file mode 100644
index 54c1427..0000000
--- 
a/tika-parsers/src/test/java/org/apache/tika/parser/fork/ForkParserIntegrationTest.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * 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.tika.parser.fork;
-
-import static org.apache.tika.TikaTest.assertContains;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.NotSerializableException;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.tika.Tika;
-import org.apache.tika.detect.Detector;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.fork.ForkParser;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.junit.Test;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Test that the ForkParser correctly behaves when
- *  wired in to the regular Parsers and their test data
- */
-public class ForkParserIntegrationTest {
-
-    private Tika tika = new Tika(); // TODO Use TikaConfig instead, when it 
works
-
-    /**
-     * Simple text parsing
-     */
-    @Test
-    public void testForkedTextParsing() throws Exception {
-        ForkParser parser = new ForkParser(
-                ForkParserIntegrationTest.class.getClassLoader(),
-                tika.getParser());
-
-       try {
-          ContentHandler output = new BodyContentHandler();
-          InputStream stream = 
ForkParserIntegrationTest.class.getResourceAsStream(
-                  "/test-documents/testTXT.txt");
-          ParseContext context = new ParseContext();
-          parser.parse(stream, output, new Metadata(), context);
-
-          String content = output.toString();
-          assertContains("Test d'indexation", content);
-          assertContains("http://www.apache.org";, content);
-       } finally {
-          parser.close();
-       }
-    }
-   
-    /**
-     * This error has a message and an equals() implementation as to be able 
-     * to match it against the serialized version of itself.
-     */
-    static class AnError extends Error {
-        private static final long serialVersionUID = -6197267350768803348L;
-        private String message;
-        AnError(String message) {
-            super(message);
-            this.message = message;
-        }
-
-        @Override
-        public boolean equals(Object o) {
-            if (this == o) return true;
-            if (o == null || getClass() != o.getClass()) return false;
-
-            AnError anError = (AnError) o;
-
-            if (!message.equals(anError.message)) return false;
-
-            return true;
-        }
-
-        @Override
-        public int hashCode() {
-            return message.hashCode();
-        }
-    }
-    
-    /**
-     * This error isn't serializable on the server, so can't be sent back
-     *  to the Fork Client once it has occured
-     */
-    static class WontBeSerializedError extends RuntimeException {
-       private static final long serialVersionUID = 1L;
-
-       WontBeSerializedError(String message) {
-          super(message);
-       }
-
-       private void writeObject(java.io.ObjectOutputStream out) {
-          RuntimeException e = new RuntimeException("Bang!");
-          boolean found = false;
-          for (StackTraceElement ste : e.getStackTrace()) {
-             if (ste.getClassName().equals(ForkParser.class.getName())) {
-                found = true;
-                break;
-             }
-          }
-          if (!found) {
-             throw e;
-          }
-       }
-    }
-    
-    static class BrokenParser implements Parser {
-        private static final long serialVersionUID = 995871497930817839L;
-        public Error err = new AnError("Simulated fail");
-        public RuntimeException re = null;
-        
-        public Set<MediaType> getSupportedTypes(ParseContext context) {
-            return new HashSet<MediaType>(Arrays.asList(MediaType.TEXT_PLAIN));
-        }
-
-        public void parse(InputStream stream, ContentHandler handler, Metadata 
metadata, ParseContext context) throws IOException, SAXException, TikaException 
{
-            if (re != null) throw re;
-            throw err;
-        }
-    }
-    
-    /**
-     * TIKA-831 Parsers throwing errors should be caught and
-     *  properly reported
-     */
-    @Test
-    public void testParsingErrorInForkedParserShouldBeReported() throws 
Exception {
-        BrokenParser brokenParser = new BrokenParser();
-        Parser parser = new ForkParser(ForkParser.class.getClassLoader(), 
brokenParser);
-        InputStream stream = 
getClass().getResourceAsStream("/test-documents/testTXT.txt");
-        
-        // With a serializable error, we'll get that back
-        try {
-            ContentHandler output = new BodyContentHandler();
-            ParseContext context = new ParseContext();
-            parser.parse(stream, output, new Metadata(), context);
-            fail("Expected TikaException caused by Error");
-        } catch (TikaException e) {
-            assertEquals(brokenParser.err, e.getCause());
-        }
-        
-        // With a non serializable one, we'll get something else
-        // TODO Fix this test
-        brokenParser = new BrokenParser();
-        brokenParser.re= new WontBeSerializedError("Can't Serialize");
-        parser = new ForkParser(ForkParser.class.getClassLoader(), 
brokenParser);
-//        try {
-//           ContentHandler output = new BodyContentHandler();
-//           ParseContext context = new ParseContext();
-//           parser.parse(stream, output, new Metadata(), context);
-//           fail("Expected TikaException caused by Error");
-//       } catch (TikaException e) {
-//           assertEquals(TikaException.class, e.getCause().getClass());
-//           assertEquals("Bang!", e.getCause().getMessage());
-//       }
-    }
-    
-    /**
-     * If we supply a non serializable object on the ParseContext,
-     *  check we get a helpful exception back
-     */
-    @Test
-    public void testParserHandlingOfNonSerializable() throws Exception {
-       ForkParser parser = new ForkParser(
-             ForkParserIntegrationTest.class.getClassLoader(),
-             tika.getParser());
-       
-       ParseContext context = new ParseContext();
-       context.set(Detector.class, new Detector() {
-          public MediaType detect(InputStream input, Metadata metadata) {
-             return MediaType.OCTET_STREAM;
-          }
-       });
-
-       try {
-          ContentHandler output = new BodyContentHandler();
-          InputStream stream = 
ForkParserIntegrationTest.class.getResourceAsStream(
-              "/test-documents/testTXT.txt");
-          parser.parse(stream, output, new Metadata(), context);
-          fail("Should have blown up with a non serializable ParseContext");
-       } catch(TikaException e) {
-          // Check the right details
-          assertNotNull(e.getCause());
-          assertEquals(NotSerializableException.class, 
e.getCause().getClass());
-          assertEquals("Unable to serialize ParseContext to pass to the Forked 
Parser", e.getMessage());
-       } finally {
-          parser.close();
-       }
-    }
-
-    /**
-     * TIKA-832
-     */
-    @Test
-    public void testAttachingADebuggerOnTheForkedParserShouldWork()
-            throws Exception {
-        ParseContext context = new ParseContext();
-        context.set(Parser.class, tika.getParser());
-
-        ForkParser parser = new ForkParser(
-                ForkParserIntegrationTest.class.getClassLoader(),
-                tika.getParser());
-        parser.setJavaCommand(Arrays.asList("java", "-Xmx32m", "-Xdebug",
-                                            
"-Xrunjdwp:transport=dt_socket,address=54321,server=y,suspend=n"));
-        try {
-            ContentHandler body = new BodyContentHandler();
-            InputStream stream = 
ForkParserIntegrationTest.class.getResourceAsStream(
-                    "/test-documents/testTXT.txt");
-            parser.parse(stream, body, new Metadata(), context);
-            String content = body.toString();
-            assertContains("Test d'indexation", content);
-            assertContains("http://www.apache.org";, content);
-        } finally {
-            parser.close();
-        }
-    }
-
-    /**
-     * TIKA-808 - Ensure that parsing of our test PDFs work under
-     * the Fork Parser, to ensure that complex parsing behaves
-     */
-    @Test
-    public void testForkedPDFParsing() throws Exception {
-        ForkParser parser = new ForkParser(
-                ForkParserIntegrationTest.class.getClassLoader(),
-                tika.getParser());
-        try {
-            ContentHandler output = new BodyContentHandler();
-            InputStream stream = 
ForkParserIntegrationTest.class.getResourceAsStream(
-                    "/test-documents/testPDF.pdf");
-            ParseContext context = new ParseContext();
-            parser.parse(stream, output, new Metadata(), context);
-
-            String content = output.toString();
-            assertContains("Apache Tika", content);
-            assertContains("Tika - Content Analysis Toolkit", content);
-            assertContains("incubator", content);
-            assertContains("Apache Software Foundation", content);
-        } finally {
-            parser.close();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/tika/blob/aa5f60d7/tika-parsers/src/test/java/org/apache/tika/parser/mock/MockParserTest.java
----------------------------------------------------------------------
diff --git 
a/tika-parsers/src/test/java/org/apache/tika/parser/mock/MockParserTest.java 
b/tika-parsers/src/test/java/org/apache/tika/parser/mock/MockParserTest.java
deleted file mode 100644
index d222e68..0000000
--- a/tika-parsers/src/test/java/org/apache/tika/parser/mock/MockParserTest.java
+++ /dev/null
@@ -1,251 +0,0 @@
-package org.apache.tika.parser.mock;
-
-/*
- * 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.
- */
-
-import static java.nio.charset.StandardCharsets.UTF_8;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintStream;
-import java.util.Date;
-
-import org.apache.tika.TikaTest;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.IOUtils;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.Parser;
-import org.junit.Test;
-
-/**
- * Somewhat bizarrely, we can't put the test of this test resource in 
tika-test-resources
- * or else it will be called by every module that uses it.  Um, Yossarian!!!
- */
-public class MockParserTest extends TikaTest {
-    private final static String M = "/test-documents/mock/";
-    private final static Parser PARSER = new AutoDetectParser();
-
-    @Override
-    public XMLResult getXML(String path, Metadata m) throws Exception {
-        //note that this is specific to MockParserTest with addition of M to 
the path!
-        InputStream is = getResourceAsStream(M+path);
-        try {
-            return super.getXML(is, PARSER, m);
-        } finally {
-            IOUtils.closeQuietly(is);
-        }
-    }
-
-    @Test
-    public void testExample() throws Exception {
-        Metadata m = new Metadata();
-        PrintStream out = System.out;
-        PrintStream err = System.err;
-        ByteArrayOutputStream outBos = new ByteArrayOutputStream();
-        ByteArrayOutputStream errBos = new ByteArrayOutputStream();
-        PrintStream tmpOut = new PrintStream(outBos, true, UTF_8.toString());
-        PrintStream tmpErr = new PrintStream(errBos, true, UTF_8.toString());
-        System.setOut(tmpOut);
-        System.setErr(tmpErr);
-        try {
-            assertThrowable("example.xml", m, IOException.class, "not another 
IOException");
-            assertMockParser(m);
-        } finally {
-            System.setOut(out);
-            System.setErr(err);
-        }
-        String outString = new String(outBos.toByteArray(), UTF_8);
-        assertContains("writing to System.out", outString);
-
-        String errString = new String(errBos.toByteArray(), UTF_8);
-        assertContains("writing to System.err", errString);
-
-    }
-
-    @Test
-    public void testNothingBad() throws Exception {
-        Metadata m = new Metadata();
-        String content = getXML("nothing_bad.xml", m).xml;
-        assertEquals("Geoffrey Chaucer", m.get("author"));
-        assertContains("<p>And bathed every veyne in swich licour,</p>", 
content);
-        assertMockParser(m);
-    }
-
-    @Test
-    public void testNullPointer() throws Exception {
-        Metadata m = new Metadata();
-        assertThrowable("null_pointer.xml", m, NullPointerException.class, 
"another null pointer exception");
-        assertMockParser(m);
-    }
-
-    @Test
-    public void testNullPointerNoMsg() throws Exception {
-        Metadata m = new Metadata();
-        assertThrowable("null_pointer_no_msg.xml", m, 
NullPointerException.class, null);
-        assertMockParser(m);
-    }
-
-
-    @Test
-    public void testSleep() throws Exception {
-        long start = new Date().getTime();
-        Metadata m = new Metadata();
-        String content = getXML("sleep.xml", m).xml;
-        assertMockParser(m);
-        long elapsed = new Date().getTime()-start;
-        //should sleep for at least 3000
-        boolean enoughTimeHasElapsed = elapsed > 2000;
-        assertTrue("not enough time has not elapsed: "+elapsed, 
enoughTimeHasElapsed);
-        assertMockParser(m);
-    }
-
-    @Test
-    public void testHeavyHang() throws Exception {
-        long start = new Date().getTime();
-        Metadata m = new Metadata();
-
-        String content = getXML("heavy_hang.xml", m).xml;
-        assertMockParser(m);
-        long elapsed = new Date().getTime()-start;
-        //should sleep for at least 3000
-        boolean enoughTimeHasElapsed = elapsed > 2000;
-        assertTrue("not enough time has elapsed: "+elapsed, 
enoughTimeHasElapsed);
-        assertMockParser(m);
-    }
-
-    @Test
-    public void testFakeOOM() throws Exception {
-        Metadata m = new Metadata();
-        assertThrowable("fake_oom.xml", m, OutOfMemoryError.class, "not 
another oom");
-        assertMockParser(m);
-    }
-
-    @Test
-    public void testRealOOM() throws Exception {
-        //Note: we're not actually testing the diff between fake and real oom
-        //i.e. by creating child process and setting different -Xmx or
-        //memory profiling.
-        Metadata m = new Metadata();
-        assertThrowable("real_oom.xml", m, OutOfMemoryError.class, "Java heap 
space");
-        assertMockParser(m);
-    }
-
-    @Test
-    public void testInterruptibleSleep() {
-        //Without static initialization of the parser, it can take ~1 second 
after t.start()
-        //before the parser actually calls parse.  This is
-        //just the time it takes to instantiate and call AutoDetectParser, do 
the detection, etc.
-        //This is not thread creation overhead.
-        ParserRunnable r = new ParserRunnable("sleep_interruptible.xml");
-        Thread t = new Thread(r);
-        t.start();
-        long start = new Date().getTime();
-        try {
-            Thread.sleep(1000);
-        } catch (InterruptedException e) {
-            //swallow
-        }
-
-        t.interrupt();
-
-        try {
-            t.join(10000);
-        } catch (InterruptedException e) {
-            //swallow
-        }
-        long elapsed = new Date().getTime()-start;
-        boolean shortEnough = elapsed < 2000;//the xml file specifies 3000
-        assertTrue("elapsed (" + elapsed + " millis) was not short enough", 
shortEnough);
-    }
-
-    @Test
-    public void testNonInterruptibleSleep() {
-        ParserRunnable r = new ParserRunnable("sleep_not_interruptible.xml");
-        Thread t = new Thread(r);
-        t.start();
-        long start = new Date().getTime();
-        try {
-            //make sure that the thread has actually started
-            Thread.sleep(1000);
-        } catch (InterruptedException e) {
-            //swallow
-        }
-        t.interrupt();
-        try {
-            t.join(20000);
-        } catch (InterruptedException e) {
-            //swallow
-        }
-        long elapsed = new Date().getTime()-start;
-        boolean longEnough = elapsed > 3000;//the xml file specifies 3000, 
this sleeps 1000
-        assertTrue("elapsed ("+elapsed+" millis) was not long enough", 
longEnough);
-    }
-
-    private class ParserRunnable implements Runnable {
-        private final String path;
-        ParserRunnable(String path) {
-            this.path = path;
-        }
-        @Override
-        public void run() {
-            Metadata m = new Metadata();
-            try {
-                getXML(path, m);
-            } catch (Exception e) {
-                throw new RuntimeException(e);
-            } finally {
-                assertMockParser(m);
-            }
-        }
-    }
-
-    private void assertThrowable(String path, Metadata m, Class<? extends 
Throwable> expected, String message) {
-
-        try {
-            getXML(path, m);
-        } catch (Throwable t) {
-            //if this is a throwable wrapped in a TikaException, use the cause
-            if (t instanceof TikaException && t.getCause() != null) {
-                t = t.getCause();
-            }
-            if (! (t.getClass().isAssignableFrom(expected))){
-                fail(t.getClass() +" is not assignable from "+expected);
-            }
-            if (message != null) {
-                assertEquals(message, t.getMessage());
-            }
-        }
-    }
-
-    private void assertMockParser(Metadata m) {
-        String[] parsers = m.getValues("X-Parsed-By");
-        //make sure that it was actually parsed by mock.
-        boolean parsedByMock = false;
-        for (String parser : parsers) {
-            if (parser.equals("org.apache.tika.parser.mock.MockParser")) {
-                parsedByMock = true;
-                break;
-            }
-        }
-        assertTrue("mock parser should have been called", parsedByMock);
-    }
-}

http://git-wip-us.apache.org/repos/asf/tika/blob/aa5f60d7/tika-parsers/src/test/java/org/apache/tika/parser/pkg/PackageTest.java
----------------------------------------------------------------------
diff --git 
a/tika-parsers/src/test/java/org/apache/tika/parser/pkg/PackageTest.java 
b/tika-parsers/src/test/java/org/apache/tika/parser/pkg/PackageTest.java
deleted file mode 100644
index 26d263b..0000000
--- a/tika-parsers/src/test/java/org/apache/tika/parser/pkg/PackageTest.java
+++ /dev/null
@@ -1,335 +0,0 @@
-package org.apache.tika.parser.pkg;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.io.InputStream;
-
-import org.apache.tika.TikaTest;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.junit.Before;
-import org.junit.Test;
-import org.xml.sax.ContentHandler;
-
-public class PackageTest extends TikaTest {
-
-    private static final MediaType TYPE_7ZIP = 
MediaType.application("x-7z-compressed");
-    
-    private ParseContext recursingContext;
-    private Parser autoDetectParser;
-    
-    @Before
-    public void setUp() throws Exception {
-       
-       autoDetectParser = new AutoDetectParser();
-       recursingContext = new ParseContext();
-       recursingContext.set(Parser.class, autoDetectParser);
-    }
-    
-    @Test
-    public void testZlibParsing() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        try (InputStream stream = PackageTest.class.getResourceAsStream(
-                "/test-documents/testTXT.zlib")) {
-            parser.parse(stream, handler, metadata, recursingContext);
-        }
-
-        assertEquals("application/zlib", metadata.get(Metadata.CONTENT_TYPE));
-        String content = handler.toString();
-        assertContains("Test d'indexation de Txt", content);
-        assertContains("http://www.apache.org";, content);
-    }
-    
-    
-    @Test
-    public void testArParsing() throws Exception {
-        Parser parser = new AutoDetectParser();
-
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        try (InputStream stream = PackageTest.class.getResourceAsStream(
-                "/test-documents/testARofText.ar")) {
-            parser.parse(stream, handler, metadata, recursingContext);
-        }
-
-        assertEquals("application/x-archive",
-                metadata.get(Metadata.CONTENT_TYPE));
-        String content = handler.toString();
-        assertContains("testTXT.txt", content);
-        assertContains("Test d'indexation de Txt", content);
-        assertContains("http://www.apache.org";, content);
-
-        try (InputStream stream = PackageTest.class.getResourceAsStream(
-                "/test-documents/testARofSND.ar")) {
-            parser.parse(stream, handler, metadata, recursingContext);
-        }
-
-        assertEquals("application/x-archive",
-                     metadata.get(Metadata.CONTENT_TYPE));
-        content = handler.toString();
-        assertContains("testAU.au", content);
-    }
-    
-    @Test
-    public void testBzip2Parsing() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        try (InputStream stream = PackageTest.class.getResourceAsStream(
-                "/test-documents/test-documents.tbz2")) {
-            parser.parse(stream, handler, metadata, recursingContext);
-        }
-
-        assertEquals("application/x-bzip2", 
metadata.get(Metadata.CONTENT_TYPE));
-        String content = handler.toString();
-        assertContains("test-documents/testEXCEL.xls", content);
-        assertContains("Sample Excel Worksheet", content);
-        assertContains("test-documents/testHTML.html", content);
-        assertContains("Test Indexation Html", content);
-        assertContains("test-documents/testOpenOffice2.odt", content);
-        assertContains("This is a sample Open Office document", content);
-        assertContains("test-documents/testPDF.pdf", content);
-        assertContains("Apache Tika", content);
-        assertContains("test-documents/testPPT.ppt", content);
-        assertContains("Sample Powerpoint Slide", content);
-        assertContains("test-documents/testRTF.rtf", content);
-        assertContains("indexation Word", content);
-        assertContains("test-documents/testTXT.txt", content);
-        assertContains("Test d'indexation de Txt", content);
-        assertContains("test-documents/testWORD.doc", content);
-        assertContains("This is a sample Microsoft Word Document", content);
-        assertContains("test-documents/testXML.xml", content);
-        assertContains("Rida Benjelloun", content);
-    }
-    
-    @Test
-    public void testCompressParsing() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        InputStream stream = PackageTest.class.getResourceAsStream(
-                "/test-documents/test-documents.tar.Z");
-        try {
-            parser.parse(stream, handler, metadata, recursingContext);
-        } finally {
-            stream.close();
-        }
-
-        assertEquals("application/x-compress", 
metadata.get(Metadata.CONTENT_TYPE));
-        String content = handler.toString();
-        assertContains("test-documents/testEXCEL.xls", content);
-        assertContains("Sample Excel Worksheet", content);
-        assertContains("test-documents/testHTML.html", content);
-        assertContains("Test Indexation Html", content);
-        assertContains("test-documents/testOpenOffice2.odt", content);
-        assertContains("This is a sample Open Office document", content);
-        assertContains("test-documents/testPDF.pdf", content);
-        assertContains("Apache Tika", content);
-        assertContains("test-documents/testPPT.ppt", content);
-        assertContains("Sample Powerpoint Slide", content);
-        assertContains("test-documents/testRTF.rtf", content);
-        assertContains("indexation Word", content);
-        assertContains("test-documents/testTXT.txt", content);
-        assertContains("Test d'indexation de Txt", content);
-        assertContains("test-documents/testWORD.doc", content);
-        assertContains("This is a sample Microsoft Word Document", content);
-        assertContains("test-documents/testXML.xml", content);
-        assertContains("Rida Benjelloun", content);
-    }
-    
-    @Test
-    public void testGzipParsing() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        try (InputStream stream = PackageTest.class.getResourceAsStream(
-                "/test-documents/test-documents.tgz")) {
-            parser.parse(stream, handler, metadata, recursingContext);
-        }
-
-        assertEquals("application/gzip", metadata.get(Metadata.CONTENT_TYPE));
-        String content = handler.toString();
-        assertContains("test-documents/testEXCEL.xls", content);
-        assertContains("Sample Excel Worksheet", content);
-        assertContains("test-documents/testHTML.html", content);
-        assertContains("Test Indexation Html", content);
-        assertContains("test-documents/testOpenOffice2.odt", content);
-        assertContains("This is a sample Open Office document", content);
-        assertContains("test-documents/testPDF.pdf", content);
-        assertContains("Apache Tika", content);
-        assertContains("test-documents/testPPT.ppt", content);
-        assertContains("Sample Powerpoint Slide", content);
-        assertContains("test-documents/testRTF.rtf", content);
-        assertContains("indexation Word", content);
-        assertContains("test-documents/testTXT.txt", content);
-        assertContains("Test d'indexation de Txt", content);
-        assertContains("test-documents/testWORD.doc", content);
-        assertContains("This is a sample Microsoft Word Document", content);
-        assertContains("test-documents/testXML.xml", content);
-        assertContains("Rida Benjelloun", content);
-    }
-    
-    @Test
-    public void testRarParsing() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        try (InputStream stream = PackageTest.class.getResourceAsStream(
-                "/test-documents/test-documents.rar")) {
-            parser.parse(stream, handler, metadata, recursingContext);
-        }
-
-        assertEquals("application/x-rar-compressed", 
metadata.get(Metadata.CONTENT_TYPE));
-        String content = handler.toString();
-        assertContains("test-documents/testEXCEL.xls", content);
-        assertContains("Sample Excel Worksheet", content);
-        assertContains("test-documents/testHTML.html", content);
-        assertContains("Test Indexation Html", content);
-        assertContains("test-documents/testOpenOffice2.odt", content);
-        assertContains("This is a sample Open Office document", content);
-        assertContains("test-documents/testPDF.pdf", content);
-        assertContains("Apache Tika", content);
-        assertContains("test-documents/testPPT.ppt", content);
-        assertContains("Sample Powerpoint Slide", content);
-        assertContains("test-documents/testRTF.rtf", content);
-        assertContains("indexation Word", content);
-        assertContains("test-documents/testTXT.txt", content);
-        assertContains("Test d'indexation de Txt", content);
-        assertContains("test-documents/testWORD.doc", content);
-        assertContains("This is a sample Microsoft Word Document", content);
-        assertContains("test-documents/testXML.xml", content);
-        assertContains("Rida Benjelloun", content);
-    }
-    
-    @Test
-    public void test7ZParsing() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-        
-        // Ensure 7zip is a parsable format
-        assertTrue("No 7zip parser found", 
-                
parser.getSupportedTypes(recursingContext).contains(TYPE_7ZIP));
-        
-        // Parse
-        try (InputStream stream = PackageTest.class.getResourceAsStream(
-                "/test-documents/test-documents.7z")) {
-            parser.parse(stream, handler, metadata, recursingContext);
-        }
-
-        assertEquals(TYPE_7ZIP.toString(), 
metadata.get(Metadata.CONTENT_TYPE));
-        String content = handler.toString();
-        assertContains("test-documents/testEXCEL.xls", content);
-        assertContains("Sample Excel Worksheet", content);
-        assertContains("test-documents/testHTML.html", content);
-        assertContains("Test Indexation Html", content);
-        assertContains("test-documents/testOpenOffice2.odt", content);
-        assertContains("This is a sample Open Office document", content);
-        assertContains("test-documents/testPDF.pdf", content);
-        assertContains("Apache Tika", content);
-        assertContains("test-documents/testPPT.ppt", content);
-        assertContains("Sample Powerpoint Slide", content);
-        assertContains("test-documents/testRTF.rtf", content);
-        assertContains("indexation Word", content);
-        assertContains("test-documents/testTXT.txt", content);
-        assertContains("Test d'indexation de Txt", content);
-        assertContains("test-documents/testWORD.doc", content);
-        assertContains("This is a sample Microsoft Word Document", content);
-        assertContains("test-documents/testXML.xml", content);
-        assertContains("Rida Benjelloun", content);
-    }
-    @Test
-    public void testTarParsing() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        try (InputStream stream = PackageTest.class.getResourceAsStream(
-                "/test-documents/test-documents.tar")) {
-            parser.parse(stream, handler, metadata, recursingContext);
-        }
-
-        assertEquals("application/x-tar", metadata.get(Metadata.CONTENT_TYPE));
-        String content = handler.toString();
-        assertContains("test-documents/testEXCEL.xls", content);
-        assertContains("Sample Excel Worksheet", content);
-        assertContains("test-documents/testHTML.html", content);
-        assertContains("Test Indexation Html", content);
-        assertContains("test-documents/testOpenOffice2.odt", content);
-        assertContains("This is a sample Open Office document", content);
-        assertContains("test-documents/testPDF.pdf", content);
-        assertContains("Apache Tika", content);
-        assertContains("test-documents/testPPT.ppt", content);
-        assertContains("Sample Powerpoint Slide", content);
-        assertContains("test-documents/testRTF.rtf", content);
-        assertContains("indexation Word", content);
-        assertContains("test-documents/testTXT.txt", content);
-        assertContains("Test d'indexation de Txt", content);
-        assertContains("test-documents/testWORD.doc", content);
-        assertContains("This is a sample Microsoft Word Document", content);
-        assertContains("test-documents/testXML.xml", content);
-        assertContains("Rida Benjelloun", content);
-    }
-    
-    @Test
-    public void testZipParsing() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        try (InputStream stream = PackageTest.class.getResourceAsStream(
-                "/test-documents/test-documents.zip")) {
-            parser.parse(stream, handler, metadata, recursingContext);
-        }
-
-        assertEquals("application/zip", metadata.get(Metadata.CONTENT_TYPE));
-        String content = handler.toString();
-        assertContains("testEXCEL.xls", content);
-        assertContains("Sample Excel Worksheet", content);
-        assertContains("testHTML.html", content);
-        assertContains("Test Indexation Html", content);
-        assertContains("testOpenOffice2.odt", content);
-        assertContains("This is a sample Open Office document", content);
-        assertContains("testPDF.pdf", content);
-        assertContains("Apache Tika", content);
-        assertContains("testPPT.ppt", content);
-        assertContains("Sample Powerpoint Slide", content);
-        assertContains("testRTF.rtf", content);
-        assertContains("indexation Word", content);
-        assertContains("testTXT.txt", content);
-        assertContains("Test d'indexation de Txt", content);
-        assertContains("testWORD.doc", content);
-        assertContains("This is a sample Microsoft Word Document", content);
-        assertContains("testXML.xml", content);
-        assertContains("Rida Benjelloun", content);
-    }
-    
-    @Test
-    public void testSvgzParsing() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        try (InputStream stream = PackageTest.class.getResourceAsStream(
-                "/test-documents/testSVG.svgz")) {
-            parser.parse(stream, handler, metadata, recursingContext);
-        }
-
-        assertEquals("application/gzip", metadata.get(Metadata.CONTENT_TYPE));
-        String content = handler.toString();
-        assertContains("Test SVG image", content);
-    }
-}

http://git-wip-us.apache.org/repos/asf/tika/blob/aa5f60d7/tika-parsers/src/test/java/org/apache/tika/sax/PhoneExtractingContentHandlerTest.java
----------------------------------------------------------------------
diff --git 
a/tika-parsers/src/test/java/org/apache/tika/sax/PhoneExtractingContentHandlerTest.java
 
b/tika-parsers/src/test/java/org/apache/tika/sax/PhoneExtractingContentHandlerTest.java
deleted file mode 100644
index d30759a..0000000
--- 
a/tika-parsers/src/test/java/org/apache/tika/sax/PhoneExtractingContentHandlerTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * 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.tika.sax;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.junit.Test;
-
-import java.io.InputStream;
-
-import static org.apache.tika.TikaTest.assertContains;
-
-/**
- * Test class for the {@link org.apache.tika.sax.PhoneExtractingContentHandler}
- * class. This demonstrates how to parse a document and retrieve any phone 
numbers
- * found within.
- *
- * The phone numbers are added to a multivalued Metadata object under the key, 
"phonenumbers".
- * You can get an array of phone numbers by calling 
metadata.getValues("phonenumber").
- */
-public class PhoneExtractingContentHandlerTest {
-    @Test
-    public void testExtractPhoneNumbers() throws Exception {
-        Parser parser = new AutoDetectParser();
-        Metadata metadata = new Metadata();
-        // The PhoneExtractingContentHandler will examine any characters for 
phone numbers before passing them
-        // to the underlying Handler.
-        PhoneExtractingContentHandler handler = new 
PhoneExtractingContentHandler(new BodyContentHandler(), metadata);
-        try (InputStream stream = 
PhoneExtractingContentHandlerTest.class.getResourceAsStream("/test-documents/testPhoneNumberExtractor.odt"))
 {
-            parser.parse(stream, handler, metadata, new ParseContext());
-        }
-        String[] phoneNumbers = metadata.getValues("phonenumbers");
-        assertContains("9498888888", phoneNumbers[0]);
-        assertContains("9497777777", phoneNumbers[1]);
-        assertContains("9496666666", phoneNumbers[2]);
-        assertContains("9495555555", phoneNumbers[3]);
-        assertContains("4193404645", phoneNumbers[4]);
-        assertContains("9044687081", phoneNumbers[5]);
-        assertContains("2604094811", phoneNumbers[6]);
-    }
-}

http://git-wip-us.apache.org/repos/asf/tika/blob/aa5f60d7/tika-parsers/src/test/java/org/apache/tika/utils/ServiceLoaderUtilsTest.java
----------------------------------------------------------------------
diff --git 
a/tika-parsers/src/test/java/org/apache/tika/utils/ServiceLoaderUtilsTest.java 
b/tika-parsers/src/test/java/org/apache/tika/utils/ServiceLoaderUtilsTest.java
deleted file mode 100644
index 62660c8..0000000
--- 
a/tika-parsers/src/test/java/org/apache/tika/utils/ServiceLoaderUtilsTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * 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.tika.utils;
-
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertTrue;
-
-import org.apache.tika.TikaTest;
-import org.apache.tika.parser.DefaultParser;
-import org.apache.tika.parser.Parser;
-import org.junit.Test;
-
-public class ServiceLoaderUtilsTest extends TikaTest {
-    @Test
-    public void testOrdering() throws Exception {
-        //make sure that non Tika parsers come last
-        //which means that they'll overwrite Tika parsers and
-        //be preferred.
-        DefaultParser defaultParser = new DefaultParser();
-        int vorbisIndex = -1;
-        int fictIndex = -1;
-        int dcxmlIndex = -1;
-        int i = 0;
-        for (Parser p : defaultParser.getAllComponentParsers()) {
-            if ("class 
org.gagravarr.tika.VorbisParser".equals(p.getClass().toString())) {
-                vorbisIndex = i;
-            }
-            if ("class 
org.apache.tika.parser.xml.FictionBookParser".equals(p.getClass().toString())) {
-                fictIndex = i;
-            }
-            if ("class 
org.apache.tika.parser.xml.DcXMLParser".equals(p.getClass().toString())) {
-                dcxmlIndex = i;
-            }
-            i++;
-        }
-
-        assertNotEquals(vorbisIndex, fictIndex);
-        assertNotEquals(fictIndex, dcxmlIndex);
-        assertTrue(vorbisIndex > fictIndex);
-        assertTrue(fictIndex > dcxmlIndex);
-    }
-}

http://git-wip-us.apache.org/repos/asf/tika/blob/aa5f60d7/tika-server/pom.xml
----------------------------------------------------------------------
diff --git a/tika-server/pom.xml b/tika-server/pom.xml
index fa55b55..7d118cb 100644
--- a/tika-server/pom.xml
+++ b/tika-server/pom.xml
@@ -131,7 +131,13 @@
       <type>test-jar</type>
       <scope>test</scope>
     </dependency>
-
+    <dependency>
+      <groupId>org.apache.tika</groupId>
+      <artifactId>tika-test-resources</artifactId>
+      <version>${project.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>

http://git-wip-us.apache.org/repos/asf/tika/blob/aa5f60d7/tika-server/src/main/java/org/apache/tika/server/TikaServerCli.java
----------------------------------------------------------------------
diff --git 
a/tika-server/src/main/java/org/apache/tika/server/TikaServerCli.java 
b/tika-server/src/main/java/org/apache/tika/server/TikaServerCli.java
index 4804398..aafde60 100644
--- a/tika-server/src/main/java/org/apache/tika/server/TikaServerCli.java
+++ b/tika-server/src/main/java/org/apache/tika/server/TikaServerCli.java
@@ -39,7 +39,7 @@ import 
org.apache.cxf.rs.security.cors.CrossOriginResourceSharingFilter;
 import org.apache.tika.Tika;
 import org.apache.tika.config.TikaConfig;
 import org.apache.tika.parser.DigestingParser;
-import org.apache.tika.parser.utils.CommonsDigester;
+import org.apache.tika.parser.digesting.CommonsDigester;
 import org.apache.tika.server.resource.DetectorResource;
 import org.apache.tika.server.resource.LanguageResource;
 import org.apache.tika.server.resource.MetadataResource;

http://git-wip-us.apache.org/repos/asf/tika/blob/aa5f60d7/tika-server/src/test/java/org/apache/tika/server/CXFTestBase.java
----------------------------------------------------------------------
diff --git a/tika-server/src/test/java/org/apache/tika/server/CXFTestBase.java 
b/tika-server/src/test/java/org/apache/tika/server/CXFTestBase.java
index 9dab196..0eb3cc3 100644
--- a/tika-server/src/test/java/org/apache/tika/server/CXFTestBase.java
+++ b/tika-server/src/test/java/org/apache/tika/server/CXFTestBase.java
@@ -18,8 +18,6 @@
 package org.apache.tika.server;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
@@ -41,14 +39,15 @@ import org.apache.cxf.binding.BindingFactoryManager;
 import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.jaxrs.JAXRSBindingFactory;
 import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
+import org.apache.tika.TikaTest;
 import org.apache.tika.config.TikaConfig;
-import org.apache.tika.parser.utils.CommonsDigester;
+import org.apache.tika.parser.digesting.CommonsDigester;
 import org.apache.tika.server.resource.TikaResource;
 import org.apache.tika.server.resource.UnpackerResource;
 import org.junit.After;
 import org.junit.Before;
 
-public abstract class CXFTestBase {
+public abstract class CXFTestBase extends TikaTest {
     private final static int DIGESTER_READ_LIMIT = 20*1024*1024;
 
     protected static final String endPoint =
@@ -56,13 +55,6 @@ public abstract class CXFTestBase {
     protected Server server;
     private TikaConfig tika;
 
-    public static void assertContains(String needle, String haystack) {
-        assertTrue(needle + " not found in:\n" + haystack, 
haystack.contains(needle));
-    }
-
-    public static void assertNotFound(String needle, String haystack) {
-        assertFalse(needle + " unexpectedly found in:\n" + haystack, 
haystack.contains(needle));
-    }
 
     protected static InputStream copy(InputStream in, int remaining) throws 
IOException {
         ByteArrayOutputStream out = new ByteArrayOutputStream();

http://git-wip-us.apache.org/repos/asf/tika/blob/aa5f60d7/tika-server/src/test/java/org/apache/tika/server/DetectorResourceTest.java
----------------------------------------------------------------------
diff --git 
a/tika-server/src/test/java/org/apache/tika/server/DetectorResourceTest.java 
b/tika-server/src/test/java/org/apache/tika/server/DetectorResourceTest.java
index 3d4dc1f..2ec2682 100644
--- a/tika-server/src/test/java/org/apache/tika/server/DetectorResourceTest.java
+++ b/tika-server/src/test/java/org/apache/tika/server/DetectorResourceTest.java
@@ -68,7 +68,7 @@ public class DetectorResourceTest extends CXFTestBase {
                 .accept("*/*")
                 .header("Content-Disposition",
                         "attachment; filename=" + FOO_CSV)
-                .put(ClassLoader.getSystemResourceAsStream(FOO_CSV));
+                .put(getTestDocumentAsStream(FOO_CSV));
         assertNotNull(response);
         String readMime = getStringFromInputStream((InputStream) response
                 .getEntity());
@@ -85,7 +85,7 @@ public class DetectorResourceTest extends CXFTestBase {
                 .accept("*/*")
                 .header("Content-Disposition",
                         "attachment; filename=" + CDEC_CSV_NO_EXT)
-                .put(ClassLoader.getSystemResourceAsStream(CDEC_CSV_NO_EXT));
+                .put(getTestDocumentAsStream(CDEC_CSV_NO_EXT));
         assertNotNull(response);
         String readMime = getStringFromInputStream((InputStream) response
                 .getEntity());
@@ -98,7 +98,7 @@ public class DetectorResourceTest extends CXFTestBase {
                 .accept("*/*")
                 .header("Content-Disposition",
                         "attachment; filename=" + CDEC_CSV_NO_EXT + ".csv")
-                .put(ClassLoader.getSystemResourceAsStream(CDEC_CSV_NO_EXT));
+                .put(getTestDocumentAsStream(CDEC_CSV_NO_EXT));
         assertNotNull(response);
         readMime = getStringFromInputStream((InputStream) 
response.getEntity());
         assertEquals("text/csv", readMime);

http://git-wip-us.apache.org/repos/asf/tika/blob/aa5f60d7/tika-server/src/test/java/org/apache/tika/server/LanguageResourceTest.java
----------------------------------------------------------------------
diff --git 
a/tika-server/src/test/java/org/apache/tika/server/LanguageResourceTest.java 
b/tika-server/src/test/java/org/apache/tika/server/LanguageResourceTest.java
index c3ca475..c2c4397 100644
--- a/tika-server/src/test/java/org/apache/tika/server/LanguageResourceTest.java
+++ b/tika-server/src/test/java/org/apache/tika/server/LanguageResourceTest.java
@@ -87,7 +87,7 @@ public class LanguageResourceTest extends CXFTestBase {
                String url = endPoint + LANG_STREAM_PATH;
                Response response = WebClient.create(url).type("text/plain")
                                .accept("text/plain")
-                               
.put(ClassLoader.getSystemResourceAsStream("english.txt"));
+                               .put(getTestDocumentAsStream("english.txt"));
                assertNotNull(response);
                String readLang = getStringFromInputStream((InputStream) 
response
                                .getEntity());
@@ -99,7 +99,7 @@ public class LanguageResourceTest extends CXFTestBase {
                String url = endPoint + LANG_STREAM_PATH;
                Response response = WebClient.create(url).type("text/plain")
                                .accept("text/plain")
-                               
.put(ClassLoader.getSystemResourceAsStream("french.txt"));
+                               .put(getTestDocumentAsStream("french.txt"));
                assertNotNull(response);
                String readLang = getStringFromInputStream((InputStream) 
response
                                .getEntity());

http://git-wip-us.apache.org/repos/asf/tika/blob/aa5f60d7/tika-server/src/test/java/org/apache/tika/server/MetadataResourceTest.java
----------------------------------------------------------------------
diff --git 
a/tika-server/src/test/java/org/apache/tika/server/MetadataResourceTest.java 
b/tika-server/src/test/java/org/apache/tika/server/MetadataResourceTest.java
index 7cd5f1d..5e4c0d0 100644
--- a/tika-server/src/test/java/org/apache/tika/server/MetadataResourceTest.java
+++ b/tika-server/src/test/java/org/apache/tika/server/MetadataResourceTest.java
@@ -73,8 +73,7 @@ public class MetadataResourceTest extends CXFTestBase {
                 .create(endPoint + META_PATH)
                 .type("application/msword")
                 .accept("text/csv")
-                .put(ClassLoader
-                        .getSystemResourceAsStream(TikaResourceTest.TEST_DOC));
+                .put(getTestDocumentAsStream(TikaResourceTest.TEST_DOC));
 
         Reader reader = new InputStreamReader((InputStream) 
response.getEntity(), UTF_8);
 
@@ -100,8 +99,7 @@ public class MetadataResourceTest extends CXFTestBase {
                 .create(endPoint + META_PATH)
                 .type("application/vnd.ms-excel")
                 .accept("text/csv")
-                .put(ClassLoader
-                        
.getSystemResourceAsStream(TikaResourceTest.TEST_PASSWORD_PROTECTED));
+                
.put(getTestDocumentAsStream(TikaResourceTest.TEST_PASSWORD_PROTECTED));
 
         // Won't work, no password given
         assertEquals(500, response.getStatus());
@@ -112,7 +110,7 @@ public class MetadataResourceTest extends CXFTestBase {
                 .type("application/vnd.ms-excel")
                 .accept("text/csv")
                 .header("Password", "wrong password")
-                
.put(ClassLoader.getSystemResourceAsStream(TikaResourceTest.TEST_PASSWORD_PROTECTED));
+                
.put(getTestDocumentAsStream(TikaResourceTest.TEST_PASSWORD_PROTECTED));
 
         assertEquals(500, response.getStatus());
 
@@ -122,7 +120,7 @@ public class MetadataResourceTest extends CXFTestBase {
                 .type("application/vnd.ms-excel")
                 .accept("text/csv")
                 .header("Password", "password")
-                
.put(ClassLoader.getSystemResourceAsStream(TikaResourceTest.TEST_PASSWORD_PROTECTED));
+                
.put(getTestDocumentAsStream(TikaResourceTest.TEST_PASSWORD_PROTECTED));
 
         // Will work
         assertEquals(200, response.getStatus());
@@ -149,8 +147,7 @@ public class MetadataResourceTest extends CXFTestBase {
                 .create(endPoint + META_PATH)
                 .type("application/msword")
                 .accept("application/json")
-                .put(ClassLoader
-                        .getSystemResourceAsStream(TikaResourceTest.TEST_DOC));
+                .put(getTestDocumentAsStream(TikaResourceTest.TEST_DOC));
 
         Reader reader = new InputStreamReader((InputStream) 
response.getEntity(), UTF_8);
 
@@ -165,8 +162,7 @@ public class MetadataResourceTest extends CXFTestBase {
                 .create(endPoint + META_PATH)
                 .type("application/msword")
                 .accept("application/rdf+xml")
-                .put(ClassLoader
-                        .getSystemResourceAsStream(TikaResourceTest.TEST_DOC));
+                .put(getTestDocumentAsStream(TikaResourceTest.TEST_DOC));
 
         String result = IOUtils.readStringFromStream((InputStream) 
response.getEntity());
         assertContains("<rdf:li>Maxim Valyanskiy</rdf:li>", result);
@@ -176,14 +172,14 @@ public class MetadataResourceTest extends CXFTestBase {
     @Test
     public void testGetField_XXX_NotFound() throws Exception {
         Response response = WebClient.create(endPoint + META_PATH + 
"/xxx").type("application/msword")
-                
.accept(MediaType.APPLICATION_JSON).put(ClassLoader.getSystemResourceAsStream(TikaResourceTest.TEST_DOC));
+                
.accept(MediaType.APPLICATION_JSON).put(getTestDocumentAsStream(TikaResourceTest.TEST_DOC));
         Assert.assertEquals(Response.Status.NOT_FOUND.getStatusCode(), 
response.getStatus());
     }
 
     @Test
     public void testGetField_Author_TEXT_Partial_BAD_REQUEST() throws 
Exception {
 
-        InputStream stream = 
ClassLoader.getSystemResourceAsStream(TikaResourceTest.TEST_DOC);
+        InputStream stream = 
getTestDocumentAsStream(TikaResourceTest.TEST_DOC);
 
         Response response = WebClient.create(endPoint + META_PATH + 
"/Author").type("application/msword")
                 .accept(MediaType.TEXT_PLAIN).put(copy(stream, 8000));
@@ -193,7 +189,7 @@ public class MetadataResourceTest extends CXFTestBase {
     @Test
     public void testGetField_Author_TEXT_Partial_Found() throws Exception {
 
-        InputStream stream = 
ClassLoader.getSystemResourceAsStream(TikaResourceTest.TEST_DOC);
+        InputStream stream = 
getTestDocumentAsStream(TikaResourceTest.TEST_DOC);
 
         Response response = WebClient.create(endPoint + META_PATH + 
"/Author").type("application/msword")
                 .accept(MediaType.TEXT_PLAIN).put(copy(stream, 12000));
@@ -205,7 +201,7 @@ public class MetadataResourceTest extends CXFTestBase {
     @Test
     public void testGetField_Author_JSON_Partial_Found() throws Exception {
 
-        InputStream stream = 
ClassLoader.getSystemResourceAsStream(TikaResourceTest.TEST_DOC);
+        InputStream stream = 
getTestDocumentAsStream(TikaResourceTest.TEST_DOC);
 
         Response response = WebClient.create(endPoint + META_PATH + 
"/Author").type("application/msword")
                 .accept(MediaType.APPLICATION_JSON).put(copy(stream, 12000));
@@ -219,7 +215,7 @@ public class MetadataResourceTest extends CXFTestBase {
     @Test
     public void testGetField_Author_XMP_Partial_Found() throws Exception {
 
-        InputStream stream = 
ClassLoader.getSystemResourceAsStream(TikaResourceTest.TEST_DOC);
+        InputStream stream = 
getTestDocumentAsStream(TikaResourceTest.TEST_DOC);
 
         Response response = WebClient.create(endPoint + META_PATH + 
"/dc:creator").type("application/msword")
                 .accept("application/rdf+xml").put(copy(stream, 12000));

http://git-wip-us.apache.org/repos/asf/tika/blob/aa5f60d7/tika-server/src/test/java/org/apache/tika/server/RecursiveMetadataResourceTest.java
----------------------------------------------------------------------
diff --git 
a/tika-server/src/test/java/org/apache/tika/server/RecursiveMetadataResourceTest.java
 
b/tika-server/src/test/java/org/apache/tika/server/RecursiveMetadataResourceTest.java
index 56910a9..9d41ff1 100644
--- 
a/tika-server/src/test/java/org/apache/tika/server/RecursiveMetadataResourceTest.java
+++ 
b/tika-server/src/test/java/org/apache/tika/server/RecursiveMetadataResourceTest.java
@@ -73,8 +73,7 @@ public class RecursiveMetadataResourceTest extends 
CXFTestBase {
         Response response = WebClient
                 .create(endPoint + META_PATH)
                 .accept("application/json")
-                .put(ClassLoader
-                        .getSystemResourceAsStream(TEST_RECURSIVE_DOC));
+                .put(getTestDocumentAsStream(TEST_RECURSIVE_DOC));
 
         Reader reader = new InputStreamReader((InputStream) 
response.getEntity(), UTF_8);
         List<Metadata> metadataList = JsonMetadataList.fromJson(reader);
@@ -92,8 +91,7 @@ public class RecursiveMetadataResourceTest extends 
CXFTestBase {
                 .create(endPoint + META_PATH)
                 .type("application/vnd.ms-excel")
                 .accept("application/json")
-                .put(ClassLoader
-                        
.getSystemResourceAsStream(TikaResourceTest.TEST_PASSWORD_PROTECTED));
+                
.put(getTestDocumentAsStream(TikaResourceTest.TEST_PASSWORD_PROTECTED));
 
         // Won't work, no password given
         assertEquals(500, response.getStatus());
@@ -104,7 +102,7 @@ public class RecursiveMetadataResourceTest extends 
CXFTestBase {
                 .type("application/vnd.ms-excel")
                 .accept("application/json")
                 .header("Password", "password")
-                
.put(ClassLoader.getSystemResourceAsStream(TikaResourceTest.TEST_PASSWORD_PROTECTED));
+                
.put(getTestDocumentAsStream(TikaResourceTest.TEST_PASSWORD_PROTECTED));
 
         // Will work
         assertEquals(200, response.getStatus());
@@ -122,8 +120,7 @@ public class RecursiveMetadataResourceTest extends 
CXFTestBase {
         Response response = WebClient
                 .create(endPoint+META_PATH)
                 .accept("application/json")
-                .put(ClassLoader
-                        .getSystemResourceAsStream(TEST_RECURSIVE_DOC));
+                .put(getTestDocumentAsStream(TEST_RECURSIVE_DOC));
 
         Reader reader = new InputStreamReader((InputStream) 
response.getEntity(), UTF_8);
         List<Metadata> metadataList = JsonMetadataList.fromJson(reader);
@@ -135,8 +132,7 @@ public class RecursiveMetadataResourceTest extends 
CXFTestBase {
         response = WebClient
                 .create(endPoint + META_PATH + SLASH)
                 .accept("application/json")
-                .put(ClassLoader
-                        .getSystemResourceAsStream(TEST_RECURSIVE_DOC));
+                .put(getTestDocumentAsStream(TEST_RECURSIVE_DOC));
         reader = new InputStreamReader((InputStream) response.getEntity(), 
UTF_8);
         metadataList = JsonMetadataList.fromJson(reader);
         assertEquals(12, metadataList.size());
@@ -147,8 +143,7 @@ public class RecursiveMetadataResourceTest extends 
CXFTestBase {
         response = WebClient
                 .create(endPoint + META_PATH + UNPARSEABLE_PATH)
                 .accept("application/json")
-                .put(ClassLoader
-                        .getSystemResourceAsStream(TEST_RECURSIVE_DOC));
+                .put(getTestDocumentAsStream(TEST_RECURSIVE_DOC));
         reader = new InputStreamReader((InputStream) response.getEntity(), 
UTF_8);
         metadataList = JsonMetadataList.fromJson(reader);
         assertEquals(12, metadataList.size());
@@ -159,8 +154,7 @@ public class RecursiveMetadataResourceTest extends 
CXFTestBase {
         response = WebClient
                 .create(endPoint + META_PATH + XML_PATH)
                 .accept("application/json")
-                .put(ClassLoader
-                        .getSystemResourceAsStream(TEST_RECURSIVE_DOC));
+                .put(getTestDocumentAsStream(TEST_RECURSIVE_DOC));
         reader = new InputStreamReader((InputStream) response.getEntity(), 
UTF_8);
         metadataList = JsonMetadataList.fromJson(reader);
         assertEquals(12, metadataList.size());
@@ -171,8 +165,7 @@ public class RecursiveMetadataResourceTest extends 
CXFTestBase {
         response = WebClient
                 .create(endPoint + META_PATH + TEXT_PATH)
                 .accept("application/json")
-                .put(ClassLoader
-                        .getSystemResourceAsStream(TEST_RECURSIVE_DOC));
+                .put(getTestDocumentAsStream(TEST_RECURSIVE_DOC));
         reader = new InputStreamReader((InputStream) response.getEntity(), 
UTF_8);
         metadataList = JsonMetadataList.fromJson(reader);
         assertEquals(12, metadataList.size());
@@ -183,8 +176,7 @@ public class RecursiveMetadataResourceTest extends 
CXFTestBase {
         response = WebClient
                 .create(endPoint + META_PATH + IGNORE_PATH)
                 .accept("application/json")
-                .put(ClassLoader
-                        .getSystemResourceAsStream(TEST_RECURSIVE_DOC));
+                .put(getTestDocumentAsStream(TEST_RECURSIVE_DOC));
         reader = new InputStreamReader((InputStream) response.getEntity(), 
UTF_8);
         metadataList = JsonMetadataList.fromJson(reader);
         assertEquals(12, metadataList.size());
@@ -198,7 +190,7 @@ public class RecursiveMetadataResourceTest extends 
CXFTestBase {
         Attachment attachmentPart =
                 new Attachment("myworddocx",
                         
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
-                        
ClassLoader.getSystemResourceAsStream(TEST_RECURSIVE_DOC));
+                        getTestDocumentAsStream(TEST_RECURSIVE_DOC));
         WebClient webClient = WebClient.create(endPoint + META_PATH + 
FORM_PATH);
 
         Response response = webClient.type("multipart/form-data")
@@ -214,7 +206,7 @@ public class RecursiveMetadataResourceTest extends 
CXFTestBase {
         attachmentPart =
                 new Attachment("myworddocx",
                         
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
-                        
ClassLoader.getSystemResourceAsStream(TEST_RECURSIVE_DOC));
+                        getTestDocumentAsStream(TEST_RECURSIVE_DOC));
         webClient = WebClient.create(endPoint + META_PATH + FORM_PATH + 
UNPARSEABLE_PATH);
 
         response = webClient.type("multipart/form-data")
@@ -230,7 +222,7 @@ public class RecursiveMetadataResourceTest extends 
CXFTestBase {
         attachmentPart =
                 new Attachment("myworddocx",
                         
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
-                        
ClassLoader.getSystemResourceAsStream(TEST_RECURSIVE_DOC));
+                        getTestDocumentAsStream(TEST_RECURSIVE_DOC));
         webClient = WebClient.create(endPoint + META_PATH + FORM_PATH + 
XML_PATH);
 
         response = webClient.type("multipart/form-data")
@@ -246,7 +238,7 @@ public class RecursiveMetadataResourceTest extends 
CXFTestBase {
         attachmentPart =
                 new Attachment("myworddocx",
                         
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
-                        
ClassLoader.getSystemResourceAsStream(TEST_RECURSIVE_DOC));
+                        getTestDocumentAsStream(TEST_RECURSIVE_DOC));
         webClient = WebClient.create(endPoint + META_PATH + 
FORM_PATH+TEXT_PATH);
 
         response = webClient.type("multipart/form-data")
@@ -262,7 +254,7 @@ public class RecursiveMetadataResourceTest extends 
CXFTestBase {
         attachmentPart =
                 new Attachment("myworddocx",
                         
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
-                        
ClassLoader.getSystemResourceAsStream(TEST_RECURSIVE_DOC));
+                        getTestDocumentAsStream(TEST_RECURSIVE_DOC));
         webClient = WebClient.create(endPoint + META_PATH 
+FORM_PATH+IGNORE_PATH);
 
         response = webClient.type("multipart/form-data")

http://git-wip-us.apache.org/repos/asf/tika/blob/aa5f60d7/tika-server/src/test/java/org/apache/tika/server/StackTraceOffTest.java
----------------------------------------------------------------------
diff --git 
a/tika-server/src/test/java/org/apache/tika/server/StackTraceOffTest.java 
b/tika-server/src/test/java/org/apache/tika/server/StackTraceOffTest.java
index bd5fefe..065cf52 100644
--- a/tika-server/src/test/java/org/apache/tika/server/StackTraceOffTest.java
+++ b/tika-server/src/test/java/org/apache/tika/server/StackTraceOffTest.java
@@ -90,7 +90,7 @@ public class StackTraceOffTest extends CXFTestBase {
                     .accept("*/*")
                     .header("Content-Disposition",
                             "attachment; filename=" + TEST_PASSWORD_PROTECTED)
-                    
.put(ClassLoader.getSystemResourceAsStream(TEST_PASSWORD_PROTECTED));
+                    .put(getTestDocumentAsStream(TEST_PASSWORD_PROTECTED));
             assertNotNull("null response: " + path, response);
             assertEquals("unprocessable: " + path, UNPROCESSEABLE, 
response.getStatus());
             String msg = getStringFromInputStream((InputStream) response
@@ -105,7 +105,7 @@ public class StackTraceOffTest extends CXFTestBase {
             Response response = WebClient
                     .create(endPoint + path)
                     .accept("*/*")
-                    .put(ClassLoader.getSystemResourceAsStream(TEST_NULL));
+                    .put(getTestDocumentAsStream(TEST_NULL));
             assertNotNull("null response: " + path, response);
             assertEquals("unprocessable: " + path, UNPROCESSEABLE, 
response.getStatus());
             String msg = getStringFromInputStream((InputStream) response
@@ -124,7 +124,7 @@ public class StackTraceOffTest extends CXFTestBase {
                     .accept("*/*")
                     .header("Content-Disposition",
                             "attachment; filename=null_pointer.evil")
-                    .put(ClassLoader.getSystemResourceAsStream(TEST_NULL));
+                    .put(getTestDocumentAsStream(TEST_NULL));
             assertNotNull("null response: " + path, response);
             assertEquals("bad type: " + path, 415, response.getStatus());
             String msg = getStringFromInputStream((InputStream) response
@@ -139,7 +139,7 @@ public class StackTraceOffTest extends CXFTestBase {
     //exceptions as the others...
     @Test
     public void testMeta() throws Exception {
-        InputStream stream = 
ClassLoader.getSystemResourceAsStream(TikaResourceTest.TEST_DOC);
+        InputStream stream = 
getTestDocumentAsStream(TikaResourceTest.TEST_DOC);
 
         Response response = WebClient.create(endPoint + "/meta" + 
"/Author").type("application/msword")
                 .accept(MediaType.TEXT_PLAIN).put(copy(stream, 8000));

http://git-wip-us.apache.org/repos/asf/tika/blob/aa5f60d7/tika-server/src/test/java/org/apache/tika/server/StackTraceTest.java
----------------------------------------------------------------------
diff --git 
a/tika-server/src/test/java/org/apache/tika/server/StackTraceTest.java 
b/tika-server/src/test/java/org/apache/tika/server/StackTraceTest.java
index 410824a..a45d1eb 100644
--- a/tika-server/src/test/java/org/apache/tika/server/StackTraceTest.java
+++ b/tika-server/src/test/java/org/apache/tika/server/StackTraceTest.java
@@ -84,7 +84,7 @@ public class StackTraceTest extends CXFTestBase {
                     .accept("*/*")
                     .header("Content-Disposition",
                             "attachment; filename=" + TEST_PASSWORD_PROTECTED)
-                    
.put(ClassLoader.getSystemResourceAsStream(TEST_PASSWORD_PROTECTED));
+                    .put(getTestDocumentAsStream(TEST_PASSWORD_PROTECTED));
             assertNotNull("null response: " + path, response);
             assertEquals("unprocessable: " + path, UNPROCESSEABLE, 
response.getStatus());
             String msg = getStringFromInputStream((InputStream) response
@@ -100,12 +100,12 @@ public class StackTraceTest extends CXFTestBase {
             Response response = WebClient
                     .create(endPoint + path)
                     .accept("*/*")
-                    .put(ClassLoader.getSystemResourceAsStream(TEST_NULL));
+                    .put(getTestDocumentAsStream(TEST_NULL));
             assertNotNull("null response: " + path, response);
             assertEquals("unprocessable: " + path, UNPROCESSEABLE, 
response.getStatus());
             String msg = getStringFromInputStream((InputStream) response
                     .getEntity());
-            assertContains("Caused by: java.lang.NullPointerException: null 
pointer message",
+            assertContains("Caused by: java.lang.NullPointerException: another 
null pointer exception",
                     msg);
         }
     }
@@ -135,7 +135,7 @@ public class StackTraceTest extends CXFTestBase {
     //exceptions as the others...
     @Test
     public void testMeta() throws Exception {
-        InputStream stream = 
ClassLoader.getSystemResourceAsStream(TikaResourceTest.TEST_DOC);
+        InputStream stream = 
getTestDocumentAsStream(TikaResourceTest.TEST_DOC);
 
         Response response = WebClient.create(endPoint + "/meta" + 
"/Author").type("application/msword")
                 .accept(MediaType.TEXT_PLAIN).put(copy(stream, 8000));

http://git-wip-us.apache.org/repos/asf/tika/blob/aa5f60d7/tika-server/src/test/java/org/apache/tika/server/TikaParsersTest.java
----------------------------------------------------------------------
diff --git 
a/tika-server/src/test/java/org/apache/tika/server/TikaParsersTest.java 
b/tika-server/src/test/java/org/apache/tika/server/TikaParsersTest.java
index e4e60a5..5e5c735 100644
--- a/tika-server/src/test/java/org/apache/tika/server/TikaParsersTest.java
+++ b/tika-server/src/test/java/org/apache/tika/server/TikaParsersTest.java
@@ -79,9 +79,9 @@ public class TikaParsersTest extends CXFTestBase {
                 assertContains("audio/ogg", text);
             } else {
                 // Shouldn't do
-                assertNotFound("text/plain", text);
-                assertNotFound("application/pdf", text);
-                assertNotFound("audio/ogg", text);
+                assertNotContained("text/plain", text);
+                assertNotContained("application/pdf", text);
+                assertNotContained("audio/ogg", text);
             }
         }
     }
@@ -114,9 +114,9 @@ public class TikaParsersTest extends CXFTestBase {
                 assertContains("<li>audio/ogg", text);
             } else {
                 // Shouldn't do
-                assertNotFound("text/plain", text);
-                assertNotFound("application/pdf", text);
-                assertNotFound("audio/ogg", text);
+                assertNotContained("text/plain", text);
+                assertNotContained("application/pdf", text);
+                assertNotContained("audio/ogg", text);
             }
         }
     }

Reply via email to