From d6f28949f4306f583da072a523a2e08f9bb75cfc Mon Sep 17 00:00:00 2001 From: Davide Savazzi Date: Thu, 24 Jan 2013 10:39:09 +0100 Subject: [PATCH] fixed LayerGroup Encoder tests --- .../rest/encoder/GSLayerGroupEncoderTest.java | 129 +++++++++++------- 1 file changed, 83 insertions(+), 46 deletions(-) diff --git a/src/test/java/it/geosolutions/geoserver/rest/encoder/GSLayerGroupEncoderTest.java b/src/test/java/it/geosolutions/geoserver/rest/encoder/GSLayerGroupEncoderTest.java index 4c87ed9..2cce290 100755 --- a/src/test/java/it/geosolutions/geoserver/rest/encoder/GSLayerGroupEncoderTest.java +++ b/src/test/java/it/geosolutions/geoserver/rest/encoder/GSLayerGroupEncoderTest.java @@ -7,9 +7,41 @@ import it.geosolutions.geoserver.rest.decoder.RESTPublished; import it.geosolutions.geoserver.rest.decoder.RESTPublishedList; import it.geosolutions.geoserver.rest.decoder.utils.NameLinkElem; +import java.net.URI; +import java.util.List; + +import org.junit.Before; import org.junit.Test; +import org.springframework.core.io.ClassPathResource; public class GSLayerGroupEncoderTest extends GeoserverRESTTest { + + @Before + public void setup() throws Exception { + String ws = "topp"; + String storeName = "testshpcollection"; + + // Delete all resources except styles + deleteAllWorkspacesRecursively(); + + // Create workspace + assertTrue(publisher.createWorkspace(ws)); + + // Publish shp collection + URI location = new ClassPathResource("testdata/multipleshp.zip").getFile().toURI(); + assertTrue(publisher.publishShpCollection(ws, storeName, location)); + + String storeType = reader.getDatastore(ws, storeName).getStoreType(); + assertEquals(storeType, "Shapefile"); + + // Test published layer names + List layers = reader.getLayers().getNames(); + assertTrue(layers.contains("cities")); + assertTrue(layers.contains("boundaries")); + + // Publish style + publisher.publishStyle(new ClassPathResource("testdata/default_line.sld").getFile(), "default_line"); + } @Test public void testCreateLayerGroup() throws Exception { @@ -17,8 +49,8 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest { GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder(); groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881); - groupWriter.addLayer("topp:tasmania_roads"); - groupWriter.addLayer("topp:tasmania_cities"); + groupWriter.addLayer("topp:boundaries"); + groupWriter.addLayer("topp:cities"); assertTrue(publisher.createLayerGroup(groupName, groupWriter)); try { RESTLayerGroup groupReader = reader.getLayerGroup(groupName); @@ -31,13 +63,13 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest { assertEquals(2, publishedList.size()); for (RESTPublished published : publishedList) { assertEquals("layer", published.getType()); - assertTrue("tasmania_roads".equals(published.getName()) || "tasmania_cities".equals(published.getName())); + assertTrue("boundaries".equals(published.getName()) || "cities".equals(published.getName())); } } else { RESTLayerList layerList = groupReader.getLayerList(); assertEquals(2, layerList.size()); for (NameLinkElem layer : layerList) { - assertTrue("tasmania_roads".equals(layer.getName()) || "tasmania_cities".equals(layer.getName())); + assertTrue("boundaries".equals(layer.getName()) || "cities".equals(layer.getName())); } } } finally { @@ -51,8 +83,8 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest { GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder(); groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881); - groupWriter.addLayer("topp:tasmania_roads"); - groupWriter.addLayer("topp:tasmania_cities"); + groupWriter.addLayer("topp:boundaries"); + groupWriter.addLayer("topp:cities"); assertTrue(publisher.createLayerGroup("topp", groupName, groupWriter)); try { RESTLayerGroup groupReader = reader.getLayerGroup("topp", groupName); @@ -65,13 +97,13 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest { assertEquals(2, publishedList.size()); for (RESTPublished published : publishedList) { assertEquals("layer", published.getType()); - assertTrue("tasmania_roads".equals(published.getName()) || "tasmania_cities".equals(published.getName())); + assertTrue("boundaries".equals(published.getName()) || "cities".equals(published.getName())); } } else { RESTLayerList layerList = groupReader.getLayerList(); assertEquals(2, layerList.size()); for (NameLinkElem layer : layerList) { - assertTrue("tasmania_roads".equals(layer.getName()) || "tasmania_cities".equals(layer.getName())); + assertTrue("boundaries".equals(layer.getName()) || "cities".equals(layer.getName())); } } } finally { @@ -82,8 +114,8 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest { private void createTestLayerGroup(String workspace, String groupName) { GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder(); groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881); - groupWriter.addLayer("topp:tasmania_roads"); - groupWriter.addLayer("topp:tasmania_cities"); + groupWriter.addLayer("topp:boundaries"); + groupWriter.addLayer("topp:cities"); assertTrue(publisher.createLayerGroup(workspace, groupName, groupWriter)); } @@ -94,7 +126,7 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest { createTestLayerGroup(null, groupName); try { GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder(); - groupWriter.addLayer("topp:tasmania_roads"); + groupWriter.addLayer("topp:boundaries"); assertTrue(publisher.configureLayerGroup(groupName, groupWriter)); @@ -108,13 +140,13 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest { assertEquals(1, publishedList.size()); for (RESTPublished published : publishedList) { assertEquals("layer", published.getType()); - assertTrue("tasmania_roads".equals(published.getName())); + assertTrue("boundaries".equals(published.getName())); } } else { RESTLayerList layerList = groupReader.getLayerList(); assertEquals(1, layerList.size()); for (NameLinkElem layer : layerList) { - assertTrue("tasmania_roads".equals(layer.getName())); + assertTrue("boundaries".equals(layer.getName())); } } } finally { @@ -129,7 +161,7 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest { createTestLayerGroup("topp", groupName); try { GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder(); - groupWriter.addLayer("topp:tasmania_roads"); + groupWriter.addLayer("topp:boundaries"); assertTrue(publisher.configureLayerGroup("topp", groupName, groupWriter)); @@ -143,13 +175,13 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest { assertEquals(1, publishedList.size()); for (RESTPublished published : publishedList) { assertEquals("layer", published.getType()); - assertTrue("tasmania_roads".equals(published.getName())); + assertTrue("boundaries".equals(published.getName())); } } else { RESTLayerList layerList = groupReader.getLayerList(); assertEquals(1, layerList.size()); for (NameLinkElem layer : layerList) { - assertTrue("tasmania_roads".equals(layer.getName())); + assertTrue("boundaries".equals(layer.getName())); } } } finally { @@ -164,7 +196,7 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest { createTestLayerGroup(null, groupName); try { GSLayerGroupEncoder23 groupWriter = new GSLayerGroupEncoder23(); - groupWriter.addLayer("topp:tasmania_roads"); + groupWriter.addLayer("topp:boundaries"); groupWriter.setMode(GSLayerGroupEncoder23.MODE_NAMED); groupWriter.setTitle("my title"); groupWriter.setAbstract("my abstract"); @@ -182,7 +214,7 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest { assertEquals(1, publishedList.size()); for (RESTPublished published : publishedList) { assertEquals("layer", published.getType()); - assertTrue("tasmania_roads".equals(published.getName())); + assertTrue("boundaries".equals(published.getName())); } } finally { assertTrue(publisher.removeLayerGroup(groupName)); @@ -195,38 +227,43 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest { @Test public void testCreateNestedLayerGroup23() throws Exception { String groupName = "my-tasmania-eo"; - - GSLayerGroupEncoder23 groupWriter = new GSLayerGroupEncoder23(); - groupWriter.setTitle("my title"); - groupWriter.setAbstract("my abstract"); - groupWriter.setMode(GSLayerGroupEncoder23.MODE_EO); - groupWriter.setRootLayer("topp:tasmania_roads", "simple_roads"); - groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881); - groupWriter.addLayer("topp:tasmania_cities"); - groupWriter.addLayerGroup("tasmania"); - assertTrue(publisher.createLayerGroup(groupName, groupWriter)); + createTestLayerGroup(null, "tasmania"); try { - RESTLayerGroup groupReader = reader.getLayerGroup(groupName); - assertNull(groupReader.getWorkspace()); - assertEquals(groupName, groupReader.getName()); - assertEquals("my title", groupReader.getTitle()); - assertEquals("my abstract", groupReader.getAbstract()); - assertEquals(GSLayerGroupEncoder23.MODE_EO, groupReader.getMode()); - assertEquals("tasmania_roads", groupReader.getRootLayer()); + GSLayerGroupEncoder23 groupWriter = new GSLayerGroupEncoder23(); + groupWriter.setTitle("my title"); + groupWriter.setAbstract("my abstract"); + groupWriter.setMode(GSLayerGroupEncoder23.MODE_EO); + groupWriter.setRootLayer("topp:boundaries", "default_line"); + groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881); + groupWriter.addLayer("topp:cities"); + groupWriter.addLayerGroup("tasmania"); - RESTPublishedList publishedList = groupReader.getPublishedList(); - assertEquals(2, publishedList.size()); - for (RESTPublished published : publishedList) { - if ("layer".equals(published.getType())) { - assertEquals("tasmania_cities", published.getName()); - } else { - assertEquals("layerGroup", published.getType()); - assertEquals("tasmania", published.getName()); - } - } + assertTrue(publisher.createLayerGroup(groupName, groupWriter)); + try { + RESTLayerGroup groupReader = reader.getLayerGroup(groupName); + assertNull(groupReader.getWorkspace()); + assertEquals(groupName, groupReader.getName()); + assertEquals("my title", groupReader.getTitle()); + assertEquals("my abstract", groupReader.getAbstract()); + assertEquals(GSLayerGroupEncoder23.MODE_EO, groupReader.getMode()); + assertEquals("boundaries", groupReader.getRootLayer()); + + RESTPublishedList publishedList = groupReader.getPublishedList(); + assertEquals(2, publishedList.size()); + for (RESTPublished published : publishedList) { + if ("layer".equals(published.getType())) { + assertEquals("cities", published.getName()); + } else { + assertEquals("layerGroup", published.getType()); + assertEquals("tasmania", published.getName()); + } + } + } finally { + assertTrue(publisher.removeLayerGroup(groupName)); + } } finally { - assertTrue(publisher.removeLayerGroup(groupName)); + assertTrue(publisher.removeLayerGroup("tasmania")); } } } \ No newline at end of file