package org.geoserver.catalog.impl.util;
import java.io.File;
import javax.xml.namespace.QName;
import org.geoserver.catalog.Catalog;
import org.geoserver.catalog.FeatureTypeInfo;
import org.geoserver.catalog.impl.CatalogImpl;
import org.geoserver.catalog.util.LegacyCatalogImporter;
import org.geoserver.data.test.MockData;
import org.geoserver.data.test.TestData;
import org.geoserver.test.GeoServerAbstractTestSupport;
public class LegacyCatalogImporterTest extends GeoServerAbstractTestSupport {
private static final QName typeName = MockData.BASIC_POLYGONS;
@Override
protected TestData buildTestData() throws Exception {
// create the data directory
MockData dataDirectory = new MockData();
dataDirectory.addWellKnownTypes(new QName[]{typeName});
return dataDirectory;
}
public void testMissingFeatureTypes() throws Exception {
MockData mockData = (MockData)getTestData();
mockData.getFeatureTypesDirectory().delete();
LegacyCatalogImporter importer = new LegacyCatalogImporter(new CatalogImpl());
importer.imprt(mockData.getDataDirectoryRoot());
}
public void testMissingCoverages() throws Exception {
MockData mockData = (MockData)getTestData();
mockData.getCoveragesDirectory().delete();
LegacyCatalogImporter importer = new LegacyCatalogImporter(new CatalogImpl());
importer.imprt(mockData.getDataDirectoryRoot());
}
/**
* As per GEOS-3513, make sure the old SRS codes are imported by adding the EPSG: prefix where
* needed
*/
public void testCRSPrefix() throws Exception {
MockData mockData = (MockData)getTestData();
mockData.getCoveragesDirectory().delete();
Catalog catalog = new CatalogImpl();
LegacyCatalogImporter importer = new LegacyCatalogImporter(catalog);
File dataDirectoryRoot = mockData.getDataDirectoryRoot();
importer.imprt(dataDirectoryRoot);
FeatureTypeInfo typeInfo = catalog.getFeatureTypeByName(typeName.getNamespaceURI(), typeName.getLocalPart());
assertEquals("EPSG:4326", typeInfo.getSRS());
}
}