Package it.geosolutions.geoserver.rest.encoder

Source Code of it.geosolutions.geoserver.rest.encoder.GSLayerEncoderTest

/*
*  Copyright (C) 2007 - 2011 GeoSolutions S.A.S.
*  http://www.geo-solutions.it
*
*  GPLv3 + Classpath exception
*
*  This program is free software: you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation, either version 3 of the License, or
*  (at your option) any later version.
*
*  This program is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
package it.geosolutions.geoserver.rest.encoder;

import it.geosolutions.geoserver.rest.encoder.authorityurl.GSAuthorityURLInfoEncoder;
import it.geosolutions.geoserver.rest.encoder.identifier.GSIdentifierInfoEncoder;
import junit.framework.Assert;

import org.jdom.Element;
import org.junit.Before;
import org.junit.Test;

/**
* GSLayerEncoderTest
*
* @author Emmanuel Blondel - emmanuel.blondel1@gmail.com |
*         emmanuel.blondel@fao.org
*/
public class GSLayerEncoderTest {

  GSLayerEncoder layerEncoder;

  @Before
  public void setup() {
    layerEncoder = new GSLayerEncoder();
    layerEncoder.setEnabled(true);
    layerEncoder.setQueryable(true);
    layerEncoder.setAdvertised(true);
   
    layerEncoder.setDefaultStyle("point");
    layerEncoder.addStyle("additional_style1");
    layerEncoder.addStyle("additional_style2");
   
    layerEncoder.addAuthorityURL(new GSAuthorityURLInfoEncoder(
        "authority1", "http://www.authority1.org"));
    layerEncoder.addIdentifier(new GSIdentifierInfoEncoder("authority1",
        "identifier1"));
  }

  @Test
  public void testProperties() {
    Assert.assertEquals(
        true,
        Boolean.parseBoolean(layerEncoder.getRoot().getChild("enabled")
            .getValue()));
    Assert.assertEquals(
        true,
        Boolean.parseBoolean(layerEncoder.getRoot()
            .getChild("queryable").getValue()));
    Assert.assertEquals(
        true,
        Boolean.parseBoolean(layerEncoder.getRoot()
            .getChild("advertised").getValue()));
  }

  @Test
  public void testDefaultStyle() {
    Assert.assertEquals("point",
        layerEncoder.getRoot().getChild("defaultStyle").getValue());
  }

  @Test
  public void testMultipleStyles() {
    Assert.assertEquals(2, layerEncoder.getRoot().getChild("styles")
        .getChildren().size());
    Assert.assertEquals("additional_style1", ((Element) layerEncoder
        .getRoot().getChild("styles").getChildren().get(0)).getText());
    Assert.assertEquals("additional_style2", ((Element) layerEncoder
        .getRoot().getChild("styles").getChildren().get(1)).getText());
  }

  @Test
  public void testRemoveStyle() {
    Assert.assertTrue(layerEncoder.delStyle("additional_style1"));
    Assert.assertEquals(1, layerEncoder.getRoot().getChild("styles")
        .getChildren().size());
    Assert.assertEquals("additional_style2", ((Element) layerEncoder
        .getRoot().getChild("styles").getChildren().get(0)).getText());
  }
 
  @Test
  public void testAuthorityURL(){
    Element el = (Element) layerEncoder.getRoot().getChild("authorityURLs")
        .getChildren().get(0);
    Assert.assertEquals("authority1", el.getChild("name").getValue());
    Assert.assertEquals("http://www.authority1.org", el.getChild("href")
        .getValue());
  }
 
  @Test
  public void testIdentifier(){
    Element el = (Element) layerEncoder.getRoot().getChild("identifiers")
        .getChildren().get(0);
    Assert.assertEquals("authority1", el.getChild("authority").getValue());
    Assert.assertEquals("identifier1", el.getChild("identifier").getValue());
  }
}
TOP

Related Classes of it.geosolutions.geoserver.rest.encoder.GSLayerEncoderTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.