@Then("^the result is a valid GeoPackage file$") public void gpkg_CheckResponseIsGeoPackage() throws Throwable { checkContentType(Variants.GEOPKG_MEDIA_TYPE.getType()); File tmp = File.createTempFile("gpkg_functional_test", ".gpkg", context.getTempFolder()); tmp.deleteOnExit(); try (InputStream stream = context.getLastResponseInputStream()) { try (OutputStream to = new FileOutputStream(tmp)) { ByteStreams.copy(stream, to); } } GeoPackage gpkg = new GeoPackage(tmp); try { List<FeatureEntry> features = gpkg.features(); System.err.printf("Found gpkg tables: %s\n", Lists.transform(features, (e) -> e.getTableName())); } finally { gpkg.close(); } }