Merge pull request #56 from svzdvd/master

fixed LayerGroup Encoder tests
This commit is contained in:
Davide Savazzi 2013-01-24 01:48:04 -08:00
commit 4319854138

View File

@ -7,18 +7,50 @@ import it.geosolutions.geoserver.rest.decoder.RESTPublished;
import it.geosolutions.geoserver.rest.decoder.RESTPublishedList; import it.geosolutions.geoserver.rest.decoder.RESTPublishedList;
import it.geosolutions.geoserver.rest.decoder.utils.NameLinkElem; 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.junit.Test;
import org.springframework.core.io.ClassPathResource;
public class GSLayerGroupEncoderTest extends GeoserverRESTTest { 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<String> 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 @Test
public void testCreateLayerGroup() throws Exception { public void testCreateLayerGroup() throws Exception {
String groupName = "my-tasmania"; String groupName = "my-tasmania";
GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder(); GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder();
groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881); groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881);
groupWriter.addLayer("topp:tasmania_roads"); groupWriter.addLayer("topp:boundaries");
groupWriter.addLayer("topp:tasmania_cities"); groupWriter.addLayer("topp:cities");
assertTrue(publisher.createLayerGroup(groupName, groupWriter)); assertTrue(publisher.createLayerGroup(groupName, groupWriter));
try { try {
RESTLayerGroup groupReader = reader.getLayerGroup(groupName); RESTLayerGroup groupReader = reader.getLayerGroup(groupName);
@ -31,13 +63,13 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
assertEquals(2, publishedList.size()); assertEquals(2, publishedList.size());
for (RESTPublished published : publishedList) { for (RESTPublished published : publishedList) {
assertEquals("layer", published.getType()); 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 { } else {
RESTLayerList layerList = groupReader.getLayerList(); RESTLayerList layerList = groupReader.getLayerList();
assertEquals(2, layerList.size()); assertEquals(2, layerList.size());
for (NameLinkElem layer : layerList) { 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 { } finally {
@ -51,8 +83,8 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder(); GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder();
groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881); groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881);
groupWriter.addLayer("topp:tasmania_roads"); groupWriter.addLayer("topp:boundaries");
groupWriter.addLayer("topp:tasmania_cities"); groupWriter.addLayer("topp:cities");
assertTrue(publisher.createLayerGroup("topp", groupName, groupWriter)); assertTrue(publisher.createLayerGroup("topp", groupName, groupWriter));
try { try {
RESTLayerGroup groupReader = reader.getLayerGroup("topp", groupName); RESTLayerGroup groupReader = reader.getLayerGroup("topp", groupName);
@ -65,13 +97,13 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
assertEquals(2, publishedList.size()); assertEquals(2, publishedList.size());
for (RESTPublished published : publishedList) { for (RESTPublished published : publishedList) {
assertEquals("layer", published.getType()); 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 { } else {
RESTLayerList layerList = groupReader.getLayerList(); RESTLayerList layerList = groupReader.getLayerList();
assertEquals(2, layerList.size()); assertEquals(2, layerList.size());
for (NameLinkElem layer : layerList) { 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 { } finally {
@ -82,8 +114,8 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
private void createTestLayerGroup(String workspace, String groupName) { private void createTestLayerGroup(String workspace, String groupName) {
GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder(); GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder();
groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881); groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881);
groupWriter.addLayer("topp:tasmania_roads"); groupWriter.addLayer("topp:boundaries");
groupWriter.addLayer("topp:tasmania_cities"); groupWriter.addLayer("topp:cities");
assertTrue(publisher.createLayerGroup(workspace, groupName, groupWriter)); assertTrue(publisher.createLayerGroup(workspace, groupName, groupWriter));
} }
@ -94,7 +126,7 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
createTestLayerGroup(null, groupName); createTestLayerGroup(null, groupName);
try { try {
GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder(); GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder();
groupWriter.addLayer("topp:tasmania_roads"); groupWriter.addLayer("topp:boundaries");
assertTrue(publisher.configureLayerGroup(groupName, groupWriter)); assertTrue(publisher.configureLayerGroup(groupName, groupWriter));
@ -108,13 +140,13 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
assertEquals(1, publishedList.size()); assertEquals(1, publishedList.size());
for (RESTPublished published : publishedList) { for (RESTPublished published : publishedList) {
assertEquals("layer", published.getType()); assertEquals("layer", published.getType());
assertTrue("tasmania_roads".equals(published.getName())); assertTrue("boundaries".equals(published.getName()));
} }
} else { } else {
RESTLayerList layerList = groupReader.getLayerList(); RESTLayerList layerList = groupReader.getLayerList();
assertEquals(1, layerList.size()); assertEquals(1, layerList.size());
for (NameLinkElem layer : layerList) { for (NameLinkElem layer : layerList) {
assertTrue("tasmania_roads".equals(layer.getName())); assertTrue("boundaries".equals(layer.getName()));
} }
} }
} finally { } finally {
@ -129,7 +161,7 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
createTestLayerGroup("topp", groupName); createTestLayerGroup("topp", groupName);
try { try {
GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder(); GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder();
groupWriter.addLayer("topp:tasmania_roads"); groupWriter.addLayer("topp:boundaries");
assertTrue(publisher.configureLayerGroup("topp", groupName, groupWriter)); assertTrue(publisher.configureLayerGroup("topp", groupName, groupWriter));
@ -143,13 +175,13 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
assertEquals(1, publishedList.size()); assertEquals(1, publishedList.size());
for (RESTPublished published : publishedList) { for (RESTPublished published : publishedList) {
assertEquals("layer", published.getType()); assertEquals("layer", published.getType());
assertTrue("tasmania_roads".equals(published.getName())); assertTrue("boundaries".equals(published.getName()));
} }
} else { } else {
RESTLayerList layerList = groupReader.getLayerList(); RESTLayerList layerList = groupReader.getLayerList();
assertEquals(1, layerList.size()); assertEquals(1, layerList.size());
for (NameLinkElem layer : layerList) { for (NameLinkElem layer : layerList) {
assertTrue("tasmania_roads".equals(layer.getName())); assertTrue("boundaries".equals(layer.getName()));
} }
} }
} finally { } finally {
@ -164,7 +196,7 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
createTestLayerGroup(null, groupName); createTestLayerGroup(null, groupName);
try { try {
GSLayerGroupEncoder23 groupWriter = new GSLayerGroupEncoder23(); GSLayerGroupEncoder23 groupWriter = new GSLayerGroupEncoder23();
groupWriter.addLayer("topp:tasmania_roads"); groupWriter.addLayer("topp:boundaries");
groupWriter.setMode(GSLayerGroupEncoder23.MODE_NAMED); groupWriter.setMode(GSLayerGroupEncoder23.MODE_NAMED);
groupWriter.setTitle("my title"); groupWriter.setTitle("my title");
groupWriter.setAbstract("my abstract"); groupWriter.setAbstract("my abstract");
@ -182,7 +214,7 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
assertEquals(1, publishedList.size()); assertEquals(1, publishedList.size());
for (RESTPublished published : publishedList) { for (RESTPublished published : publishedList) {
assertEquals("layer", published.getType()); assertEquals("layer", published.getType());
assertTrue("tasmania_roads".equals(published.getName())); assertTrue("boundaries".equals(published.getName()));
} }
} finally { } finally {
assertTrue(publisher.removeLayerGroup(groupName)); assertTrue(publisher.removeLayerGroup(groupName));
@ -196,37 +228,42 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
public void testCreateNestedLayerGroup23() throws Exception { public void testCreateNestedLayerGroup23() throws Exception {
String groupName = "my-tasmania-eo"; String groupName = "my-tasmania-eo";
GSLayerGroupEncoder23 groupWriter = new GSLayerGroupEncoder23(); createTestLayerGroup(null, "tasmania");
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));
try { try {
RESTLayerGroup groupReader = reader.getLayerGroup(groupName); GSLayerGroupEncoder23 groupWriter = new GSLayerGroupEncoder23();
assertNull(groupReader.getWorkspace()); groupWriter.setTitle("my title");
assertEquals(groupName, groupReader.getName()); groupWriter.setAbstract("my abstract");
assertEquals("my title", groupReader.getTitle()); groupWriter.setMode(GSLayerGroupEncoder23.MODE_EO);
assertEquals("my abstract", groupReader.getAbstract()); groupWriter.setRootLayer("topp:boundaries", "default_line");
assertEquals(GSLayerGroupEncoder23.MODE_EO, groupReader.getMode()); groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881);
assertEquals("tasmania_roads", groupReader.getRootLayer()); groupWriter.addLayer("topp:cities");
groupWriter.addLayerGroup("tasmania");
RESTPublishedList publishedList = groupReader.getPublishedList(); assertTrue(publisher.createLayerGroup(groupName, groupWriter));
assertEquals(2, publishedList.size()); try {
for (RESTPublished published : publishedList) { RESTLayerGroup groupReader = reader.getLayerGroup(groupName);
if ("layer".equals(published.getType())) { assertNull(groupReader.getWorkspace());
assertEquals("tasmania_cities", published.getName()); assertEquals(groupName, groupReader.getName());
} else { assertEquals("my title", groupReader.getTitle());
assertEquals("layerGroup", published.getType()); assertEquals("my abstract", groupReader.getAbstract());
assertEquals("tasmania", published.getName()); 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 { } finally {
assertTrue(publisher.removeLayerGroup(groupName)); assertTrue(publisher.removeLayerGroup("tasmania"));
} }
} }
} }