@SuppressWarnings("deprecation")
    @Test
    public void testOggFlacAudio() throws Exception {
        // The three test files should all have similar test data
        String[] testFiles =
                new String[]{"testVORBIS.ogg", "testFLAC.flac", "testFLAC.oga", "testOPUS.opus"};
        MediaType[] mediaTypes =
                new MediaType[]{MediaType.parse(OGG_VORBIS), MediaType.parse(FLAC_NATIVE),
                        MediaType.parse(OGG_FLAC), MediaType.parse(OGG_OPUS)};

        // Check we can load the parsers, and they claim to do the right things
        VorbisParser vParser = new VorbisParser();
        assertNotNull(vParser.getSupportedTypes(new ParseContext()),
                "Parser not found for " + mediaTypes[0]);

        FlacParser fParser = new FlacParser();
        assertNotNull(fParser.getSupportedTypes(new ParseContext()),
                "Parser not found for " + mediaTypes[1]);
        assertNotNull(fParser.getSupportedTypes(new ParseContext()),
                "Parser not found for " + mediaTypes[2]);

        OpusParser oParser = new OpusParser();
        assertNotNull(oParser.getSupportedTypes(new ParseContext()),
                "Parser not found for " + mediaTypes[3]);

        // Check we found the parser
        CompositeParser parser = (CompositeParser) tika.getParser();
        for (MediaType mt : mediaTypes) {
            assertNotNull(parser.getParsers().get(mt), "Parser not found for " + mt);
        }

        // Have each file parsed, and check
        for (int i = 0; i < testFiles.length; i++) {
            String file = testFiles[i];
            try (InputStream input = getResourceAsStream("/test-documents/" + file)) {
                if (input == null) {
                    fail("Could not find test file " + file);
                }
                Metadata metadata = new Metadata();
                ContentHandler handler = new BodyContentHandler();
                new AutoDetectParser(tika).parse(input, handler, metadata);

                assertEquals(mediaTypes[i].toString(), metadata.get(Metadata.CONTENT_TYPE),
                        "Incorrect content type for " + file);

                // Check some of the common metadata
                // Old style metadata
                assertEquals("Test Artist", metadata.get(TikaCoreProperties.CREATOR));
                assertEquals("Test Title", metadata.get(TikaCoreProperties.TITLE));
                // New style metadata
                assertEquals("Test Artist", metadata.get(TikaCoreProperties.CREATOR));
                assertEquals("Test Title", metadata.get(TikaCoreProperties.TITLE));

                // Check some of the XMPDM metadata
                if (!file.endsWith(".opus")) {
                    assertEquals("Test Album", metadata.get(XMPDM.ALBUM));
                }
                assertEquals("Test Artist", metadata.get(XMPDM.ARTIST));
                assertEquals("Stereo", metadata.get(XMPDM.AUDIO_CHANNEL_TYPE));
                assertEquals("44100", metadata.get(XMPDM.AUDIO_SAMPLE_RATE));

                // Check some of the text
                String content = handler.toString();
                assertTrue(content.contains("Test Title"));
                assertTrue(content.contains("Test Artist"));
            }
        }
    }
Test to ensure that the Ogg Audio parsers (Vorbis, Opus, Flac etc)
have been correctly included, and are available
tika-parsers/tika-parsers-standard/tika-parsers-standard-package/src/test/java/org/apache/tika/parser/AutoDetectParserTest.java