Fixed configureLayer
Improved base test. WIP
This commit is contained in:
parent
bbd13b3aa9
commit
562600f386
@ -220,7 +220,7 @@ public class GeoServerRESTPublisher {
|
|||||||
try {
|
try {
|
||||||
GSLayerEncoder layerEncoder = new GSLayerEncoder();
|
GSLayerEncoder layerEncoder = new GSLayerEncoder();
|
||||||
layerEncoder.addDefaultStyle(defaultStyle);
|
layerEncoder.addDefaultStyle(defaultStyle);
|
||||||
configureLayer(layerEncoder, layerName);
|
configureLayer(workspace, layerName, layerEncoder);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOGGER.warn("Error in publishing shapefile " + e.getMessage(), e);
|
LOGGER.warn("Error in publishing shapefile " + e.getMessage(), e);
|
||||||
sent = false;
|
sent = false;
|
||||||
@ -326,7 +326,7 @@ public class GeoServerRESTPublisher {
|
|||||||
|
|
||||||
GSLayerEncoder layerEncoder = new GSLayerEncoder();
|
GSLayerEncoder layerEncoder = new GSLayerEncoder();
|
||||||
layerEncoder.addDefaultStyle(defaultStyle);
|
layerEncoder.addDefaultStyle(defaultStyle);
|
||||||
configured = configureLayer(layerEncoder, layername);
|
configured = configureLayer(workspace, layername, layerEncoder);
|
||||||
|
|
||||||
if (!configured) {
|
if (!configured) {
|
||||||
LOGGER.warn("Error in configuring (" + configuredResult + ") "
|
LOGGER.warn("Error in configuring (" + configuredResult + ") "
|
||||||
@ -399,7 +399,7 @@ public class GeoServerRESTPublisher {
|
|||||||
// config layer props (style, ...)
|
// config layer props (style, ...)
|
||||||
GSLayerEncoder layerEncoder = new GSLayerEncoder();
|
GSLayerEncoder layerEncoder = new GSLayerEncoder();
|
||||||
layerEncoder.addDefaultStyle(defaultStyle);
|
layerEncoder.addDefaultStyle(defaultStyle);
|
||||||
configureLayer(layerEncoder, coverageName);
|
configureLayer(workspace, coverageName, layerEncoder);
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOGGER.warn("Could not configure external GEOTiff:" + storeName, e);
|
LOGGER.warn("Could not configure external GEOTiff:" + storeName, e);
|
||||||
@ -510,7 +510,7 @@ public class GeoServerRESTPublisher {
|
|||||||
String coverageName = covList.get(0).getName();
|
String coverageName = covList.get(0).getName();
|
||||||
|
|
||||||
configureCoverage(coverageEncoder, store.getWorkspaceName(), storeName, coverageName);
|
configureCoverage(coverageEncoder, store.getWorkspaceName(), storeName, coverageName);
|
||||||
configureLayer(layerEncoder, storeName);
|
configureLayer(workspace, storeName, layerEncoder);
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOGGER.warn("Could not configure external mosaic:" + storeName, e);
|
LOGGER.warn("Could not configure external mosaic:" + storeName, e);
|
||||||
@ -730,22 +730,24 @@ public class GeoServerRESTPublisher {
|
|||||||
* Allows to configure some layer attributes such as WmsPath and DefaultStyle
|
* Allows to configure some layer attributes such as WmsPath and DefaultStyle
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public boolean configureLayer(final GSLayerEncoder layer, final String layerName) {
|
public boolean configureLayer(final String workspace, final String layerName, final GSLayerEncoder layer) {
|
||||||
|
|
||||||
if (layer.isEmpty()) {
|
if (layer.isEmpty()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String url = restURL + "/rest/layers/" + layerName;
|
String fqLayerName = workspace + ":" + layerName;
|
||||||
|
|
||||||
|
final String url = restURL + "/rest/layers/" + fqLayerName;
|
||||||
|
|
||||||
String layerXml = layer.toString();
|
String layerXml = layer.toString();
|
||||||
String sendResult = HTTPUtils.putXml(url, layerXml, gsuser, gspass);
|
String sendResult = HTTPUtils.putXml(url, layerXml, gsuser, gspass);
|
||||||
if (sendResult != null) {
|
if (sendResult != null) {
|
||||||
if (LOGGER.isInfoEnabled()) {
|
if (LOGGER.isInfoEnabled()) {
|
||||||
LOGGER.info("Layer successfully configured: " + layerName);
|
LOGGER.info("Layer successfully configured: " + fqLayerName);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
LOGGER.warn("Error configuring layer " + layerName + " (" + sendResult + ")");
|
LOGGER.warn("Error configuring layer " + fqLayerName + " (" + sendResult + ")");
|
||||||
}
|
}
|
||||||
|
|
||||||
return sendResult != null;
|
return sendResult != null;
|
||||||
|
|||||||
@ -344,11 +344,10 @@ public class GeoserverRESTPublisherTest extends GeoserverRESTTest {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String ns = "it.geosolutions";
|
String ws = "it.geosolutions";
|
||||||
String storeName = "resttestshp";
|
String storeName = "resttestshp";
|
||||||
String layerName = "cities";
|
String layerName = "cities";
|
||||||
|
|
||||||
|
|
||||||
final String styleName = "restteststyle";
|
final String styleName = "restteststyle";
|
||||||
{
|
{
|
||||||
File sldFile = new ClassPathResource("testdata/restteststyle.sld").getFile();
|
File sldFile = new ClassPathResource("testdata/restteststyle.sld").getFile();
|
||||||
@ -371,10 +370,10 @@ public class GeoserverRESTPublisherTest extends GeoserverRESTTest {
|
|||||||
File zipFile = new ClassPathResource("testdata/resttestshp.zip").getFile();
|
File zipFile = new ClassPathResource("testdata/resttestshp.zip").getFile();
|
||||||
|
|
||||||
// known state?
|
// known state?
|
||||||
cleanupTestFT(layerName, ns, storeName);
|
cleanupTestFT(layerName, ws, storeName);
|
||||||
|
|
||||||
// test insert
|
// test insert
|
||||||
boolean published = publisher.publishShp(ns, storeName, layerName, zipFile, "EPSG:4326", styleName);
|
boolean published = publisher.publishShp(ws, storeName, layerName, zipFile, "EPSG:4326", styleName);
|
||||||
assertTrue("publish() failed", published);
|
assertTrue("publish() failed", published);
|
||||||
assertTrue(existsLayer(layerName));
|
assertTrue(existsLayer(layerName));
|
||||||
|
|
||||||
@ -386,7 +385,7 @@ public class GeoserverRESTPublisherTest extends GeoserverRESTTest {
|
|||||||
|
|
||||||
GSLayerEncoder le = new GSLayerEncoder();
|
GSLayerEncoder le = new GSLayerEncoder();
|
||||||
le.addDefaultStyle(styleName2);
|
le.addDefaultStyle(styleName2);
|
||||||
publisher.configureLayer(le, layerName);
|
publisher.configureLayer(ws, layerName, le);
|
||||||
|
|
||||||
{
|
{
|
||||||
RESTLayer layer = reader.getLayer(layerName);
|
RESTLayer layer = reader.getLayer(layerName);
|
||||||
@ -396,9 +395,9 @@ public class GeoserverRESTPublisherTest extends GeoserverRESTTest {
|
|||||||
|
|
||||||
|
|
||||||
// remove layer and datastore
|
// remove layer and datastore
|
||||||
boolean ok = publisher.unpublishFeatureType(ns, storeName, layerName);
|
boolean ok = publisher.unpublishFeatureType(ws, storeName, layerName);
|
||||||
assertFalse(existsLayer(layerName));
|
assertFalse(existsLayer(layerName));
|
||||||
boolean dsRemoved = publisher.removeDatastore(ns, storeName);
|
boolean dsRemoved = publisher.removeDatastore(ws, storeName);
|
||||||
assertTrue("removeDatastore() failed", dsRemoved);
|
assertTrue("removeDatastore() failed", dsRemoved);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -65,14 +65,22 @@ public abstract class GeoserverRESTTest extends TestCase {
|
|||||||
public static final GeoServerRESTPublisher publisher;
|
public static final GeoServerRESTPublisher publisher;
|
||||||
|
|
||||||
private static boolean enabled = false;
|
private static boolean enabled = false;
|
||||||
|
private static Boolean existgs = null;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
RESTURL = System.getProperty("resturl", "http://localhost:8080/geoserver");
|
// for (String propName : System.getProperties().stringPropertyNames()) {
|
||||||
RESTUSER = System.getProperty("restuser", "admin");
|
// System.out.println("PROP " + propName);
|
||||||
RESTPW = System.getProperty("restpw", "geoserver");
|
// }
|
||||||
|
for (String envName : System.getenv().keySet()) {
|
||||||
|
System.out.println("ENVVAR " + envName + " = \""+System.getenv(envName)+"\"");
|
||||||
|
}
|
||||||
|
|
||||||
|
RESTURL = getenv("gsmgr_resturl", "http://localhost:8080/geoserver");
|
||||||
|
RESTUSER = getenv("gsmgr_restuser", "admin");
|
||||||
|
RESTPW = getenv("gsmgr_restpw", "geoserver");
|
||||||
|
|
||||||
// These tests will destroy data, so let's make sure we do want to run them
|
// These tests will destroy data, so let's make sure we do want to run them
|
||||||
enabled = System.getProperty("resttest", "false").equalsIgnoreCase("true");
|
enabled = getenv("gsmgr_resttest", "false").equalsIgnoreCase("true");
|
||||||
if( ! enabled )
|
if( ! enabled )
|
||||||
LOGGER.warn("Tests are disabled. Please read the documentation to enable them.");
|
LOGGER.warn("Tests are disabled. Please read the documentation to enable them.");
|
||||||
|
|
||||||
@ -87,6 +95,13 @@ public abstract class GeoserverRESTTest extends TestCase {
|
|||||||
publisher = new GeoServerRESTPublisher(RESTURL, RESTUSER, RESTPW);
|
publisher = new GeoServerRESTPublisher(RESTURL, RESTUSER, RESTPW);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String getenv(String envName, String envDefault) {
|
||||||
|
String env = System.getenv(envName);
|
||||||
|
String ret = System.getProperty(envName, env);
|
||||||
|
LOGGER.debug("env var " + envName + " is " + ret);
|
||||||
|
return ret != null? ret : envDefault;
|
||||||
|
}
|
||||||
|
|
||||||
public GeoserverRESTTest(String testName) {
|
public GeoserverRESTTest(String testName) {
|
||||||
super(testName);
|
super(testName);
|
||||||
}
|
}
|
||||||
@ -97,19 +112,24 @@ public abstract class GeoserverRESTTest extends TestCase {
|
|||||||
super.setUp();
|
super.setUp();
|
||||||
|
|
||||||
if(enabled) {
|
if(enabled) {
|
||||||
if( ! reader.existGeoserver()) {
|
if(existgs == null) {
|
||||||
System.out.println(getClass().getSimpleName() + ": TESTS WILL BE SKIPPED SINCE NO GEOSERVER WAS FOUND AT " + RESTURL + " ("+ RESTUSER+":"+RESTPW+")");
|
existgs = reader.existGeoserver();
|
||||||
enabled = false;
|
if ( ! existgs ) {
|
||||||
|
LOGGER.error("TESTS WILL FAIL BECAUSE NO GEOSERVER WAS FOUND AT " + RESTURL + " ("+ RESTUSER+":"+RESTPW+")");
|
||||||
} else {
|
} else {
|
||||||
System.out.println(getClass().getSimpleName() + ": using geoserver instance " + RESTUSER+":"+RESTPW+ " @ " + RESTURL);
|
LOGGER.info("Using geoserver instance " + RESTUSER+":"+RESTPW+ " @ " + RESTURL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(enabled)
|
if ( ! existgs ) {
|
||||||
|
System.out.println("Failing test " + this.getClass().getSimpleName() + "::" + this.getName() + " : geoserver not found");
|
||||||
|
fail("GeoServer not found");
|
||||||
|
}
|
||||||
System.out.println("\n-------------------> RUNNING TEST " + this.getName());
|
System.out.println("\n-------------------> RUNNING TEST " + this.getName());
|
||||||
else
|
} else {
|
||||||
System.out.println("Skipping test " + this.getClass().getSimpleName() + "::" + this.getName());
|
System.out.println("Skipping test " + this.getClass().getSimpleName() + "::" + this.getName());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected boolean enabled() {
|
protected boolean enabled() {
|
||||||
return enabled;
|
return enabled;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user