/* (c) 2014 Open Source Geospatial Foundation - all rights reserved
* (c) 2001 - 2013 OpenPlans
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.config.util;
import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.List;
import junit.framework.TestCase;
import org.geoserver.catalog.AuthorityURLInfo;
import org.geoserver.catalog.impl.AuthorityURL;
import org.junit.Test;
public class AuthorityURLInfoInfoListConverterTest {
@Test
public void testFromString() {
final String serialized = "[{\"name\":\"auth1\",\"href\":\"http://geoserver.org/auth1?\"},{\"name\":\"auth2\",\"href\":\"http://geoserver.org/auth2;someparam=somevalue&\"}]";
List<AuthorityURLInfo> expected = new ArrayList<AuthorityURLInfo>();
AuthorityURLInfo auth1 = new AuthorityURL();
auth1.setName("auth1");
auth1.setHref("http://geoserver.org/auth1?");
expected.add(auth1);
AuthorityURLInfo auth2 = new AuthorityURL();
auth2.setName("auth2");
auth2.setHref("http://geoserver.org/auth2;someparam=somevalue&");
expected.add(auth2);
List<AuthorityURLInfo> actual;
actual = AuthorityURLInfoInfoListConverter.fromString(serialized);
assertEquals(expected, actual);
}
@Test
public void testFromInvalidString() {
final String serialized = "[{\"name:\"auth1\",\"href\":\"http://geoserver.org/auth1?\"},]";
try {
AuthorityURLInfoInfoListConverter.fromString(serialized);
fail("Expected IAE");
} catch (IllegalArgumentException e) {
assertTrue(true);
}
}
@Test
public void testToString() {
List<AuthorityURLInfo> list = new ArrayList<AuthorityURLInfo>();
AuthorityURLInfo auth1 = new AuthorityURL();
auth1.setName("auth1");
auth1.setHref("http://geoserver.org/auth1?");
list.add(auth1);
AuthorityURLInfo auth2 = new AuthorityURL();
auth2.setName("auth2");
auth2.setHref("http://geoserver.org/auth2;someparam=somevalue&");
list.add(auth2);
String actual = AuthorityURLInfoInfoListConverter.toString(list);
String expected = "[{\"name\":\"auth1\",\"href\":\"http://geoserver.org/auth1?\"},{\"name\":\"auth2\",\"href\":\"http://geoserver.org/auth2;someparam=somevalue&\"}]";
assertEquals(expected, actual);
}
@Test
public void testToStringListWithNullElement() {
List<AuthorityURLInfo> list = new ArrayList<AuthorityURLInfo>();
AuthorityURLInfo auth1 = new AuthorityURL();
auth1.setName("auth1");
auth1.setHref("http://geoserver.org/auth1?");
list.add(auth1);
list.add(null);
String actual = AuthorityURLInfoInfoListConverter.toString(list);
String expected = "[{\"name\":\"auth1\",\"href\":\"http://geoserver.org/auth1?\"}]";
assertEquals(expected, actual);
}
@Test
public void testToStringListWithOnlyNullElements() {
List<AuthorityURLInfo> list = new ArrayList<AuthorityURLInfo>();
list.add(null);
list.add(null);
list.add(null);
assertNull(AuthorityURLInfoInfoListConverter.toString(list));
}
@Test
public void testToStringEmptyList() {
List<AuthorityURLInfo> list = new ArrayList<AuthorityURLInfo>();
String actual = AuthorityURLInfoInfoListConverter.toString(list);
assertNull(actual);
}
}