/* (c) 2014 Open Source Geospatial Foundation - all rights reserved * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.wcs2_0.eo; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.io.IOException; import org.geoserver.catalog.Catalog; import org.geoserver.catalog.CoverageInfo; import org.geoserver.platform.GeoServerExtensions; import org.geoserver.wcs2_0.eo.response.GranuleCoverageExtension; import org.geoserver.wcs2_0.eo.response.GranuleCoverageInfo; import org.geoserver.wcs2_0.eo.response.SingleGranuleGridCoverageReader; import org.junit.Test; import org.opengis.coverage.grid.GridCoverageReader; /** * This class is used for testing the {@link GranuleCoverageExtensionTest} class. * * @author Nicola Lagomarsini */ public class GranuleCoverageExtensionTest extends WCSEOTestSupport { @Test public void testDecodeGranule() { String qualifiedName = "sf__timeranges_granule_timeranges.1"; // Getting the extension GranuleCoverageExtension gce = GeoServerExtensions.bean(GranuleCoverageExtension.class); // Ensure it is enabled the EO extension assertTrue(gce.isEOEnabled()); // Handling the id String coverageId = gce.handleCoverageId(qualifiedName); assertEquals("sf__timeranges", coverageId); String granuleId = gce.getGranuleId(qualifiedName); assertEquals("timeranges.1", granuleId); String covId = gce.getCoverageId(qualifiedName); assertEquals("sf__timeranges", covId); } @Test public void testEncodeCoverage() throws IOException { // Getting the extension GranuleCoverageExtension gce = GeoServerExtensions.bean(GranuleCoverageExtension.class); // Getting the Catalog Catalog catalog = getCatalog(); // Get the coverage for the watertemp layer CoverageInfo ci = catalog.getCoverageByName("sf:timeranges"); // Ensure it is enabled the EO extension assertTrue(gce.isEOEnabled()); // Get the CoverageInfo for the single Granule String granuleId = "sf__timeranges_granule_timeranges.1"; CoverageInfo coverageInfo = gce.handleCoverageInfo(granuleId, ci); assertTrue(coverageInfo instanceof GranuleCoverageInfo); GridCoverageReader gridCoverageReader = coverageInfo.getGridCoverageReader(null, null); assertTrue(gridCoverageReader instanceof SingleGranuleGridCoverageReader); } }