@Test
    public void testParseFITS() {
        String fitsFilename = "/test-documents/WFPC2u5780205r_c0fx.fits";

        assumeTrue(canRun());
        // If the exit code is 1 (meaning FITS isn't supported by the installed version of
        // gdalinfo, don't run this test.
        String[] fitsCommand = {"gdalinfo", getResourceAsUrl(fitsFilename).getPath()};
        assumeTrue(ExternalParser.check(fitsCommand, 1));

        String expectedAllgMin = "-7.319537E1";
        String expectedAtodcorr = "COMPLETE";
        String expectedAtodfile = "uref$dbu1405iu.r1h";
        String expectedCalVersion = "                        ";
        String expectedCalibDef = "1466";

        GDALParser parser = new GDALParser();
        InputStream stream = TestGDALParser.class.getResourceAsStream(fitsFilename);
        Metadata met = new Metadata();
        BodyContentHandler handler = new BodyContentHandler();
        try {
            parser.parse(stream, handler, met, new ParseContext());
            assertNotNull(met);
            assertNotNull(met.get("ALLG-MIN"));
            assertEquals(expectedAllgMin, met.get("ALLG-MIN"));
            assertNotNull(met.get("ATODCORR"));
            assertEquals(expectedAtodcorr, met.get("ATODCORR"));
            assertNotNull(met.get("ATODFILE"));
            assertEquals(expectedAtodfile, met.get("ATODFILE"));
            assertNotNull(met.get("CAL_VER"));
            assertEquals(expectedCalVersion, met.get("CAL_VER"));
            assertNotNull(met.get("CALIBDEF"));
            assertEquals(expectedCalibDef, met.get("CALIBDEF"));

        } catch (Exception e) {
            e.printStackTrace();
            fail(e.getMessage());
        }
    }
Test harness for the GDAL parser.
tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/test/java/org/apache/tika/parser/gdal/TestGDALParser.java