package org.overlord.rtgov.ui.provider.switchyard;
import static org.junit.Assert.*;
import org.junit.Test;
public class SwitchYardServiceProviderTest {
private static final String HTTP_TEST1 = "http://test1";
private static final String HTTP_TEST2 = "http://test2";
private static final String HTTP_TEST3 = "http://test3";
@Test
public void testGetDefaultURL() {
SwitchYardServicesProvider handler=new SwitchYardServicesProvider();
handler.setServerURLs(""); // Prevent it accessing rtgov properties, which in old
// version attempts to use jndi
java.util.List<String> urls=handler.getURLList();
if (urls == null) {
fail("Null URL list");
}
if (urls.size() != 1) {
fail("Only 1 URL expected: "+urls.size());
}
if (!urls.get(0).equals(SwitchYardServicesProvider.DEFAULT_REMOTE_INVOKER_URL)) {
fail("URL not expected: "+urls.get(0));
}
}
@Test
public void testGetSingleURL() {
SwitchYardServicesProvider handler=new SwitchYardServicesProvider();
handler.setServerURLs(HTTP_TEST1);
java.util.List<String> urls=handler.getURLList();
if (urls == null) {
fail("Null URL list");
}
if (urls.size() != 1) {
fail("Only 1 URL expected: "+urls.size());
}
if (!urls.get(0).equals(HTTP_TEST1)) {
fail("URL not expected: "+urls.get(0));
}
}
@Test
public void testGetDoubleURLNoSpace() {
SwitchYardServicesProvider handler=new SwitchYardServicesProvider();
handler.setServerURLs(HTTP_TEST1+","+HTTP_TEST2);
java.util.List<String> urls=handler.getURLList();
if (urls == null) {
fail("Null URL list");
}
if (urls.size() != 2) {
fail("Expecting 2 URLs, got: "+urls.size());
}
if (!urls.get(0).equals(HTTP_TEST1)) {
fail("URL1 not expected: "+urls.get(0));
}
if (!urls.get(1).equals(HTTP_TEST2)) {
fail("URL2 not expected: "+urls.get(1));
}
}
@Test
public void testGetDoubleURLSpaces() {
SwitchYardServicesProvider handler=new SwitchYardServicesProvider();
handler.setServerURLs(HTTP_TEST1+" , "+HTTP_TEST2+" ");
java.util.List<String> urls=handler.getURLList();
if (urls == null) {
fail("Null URL list");
}
if (urls.size() != 2) {
fail("Expecting 2 URLs, got: "+urls.size());
}
if (!urls.get(0).equals(HTTP_TEST1)) {
fail("URL1 not expected: "+urls.get(0));
}
if (!urls.get(1).equals(HTTP_TEST2)) {
fail("URL2 not expected: "+urls.get(1));
}
}
@Test
public void testGetURLListRoundRobin() {
SwitchYardServicesProvider handler=new SwitchYardServicesProvider();
handler.setServerURLs(HTTP_TEST1+","+HTTP_TEST2+","+HTTP_TEST3);
java.util.List<String> urls1=handler.getURLList();
if (urls1 == null) {
fail("Null URL list");
}
if (urls1.size() != 3) {
fail("Expecting 3 URLs, got: "+urls1.size());
}
if (!urls1.get(0).equals(HTTP_TEST1)) {
fail("URL1 not expected: "+urls1.get(0));
}
if (!urls1.get(1).equals(HTTP_TEST2)) {
fail("URL2 not expected: "+urls1.get(1));
}
if (!urls1.get(2).equals(HTTP_TEST3)) {
fail("URL3 not expected: "+urls1.get(2));
}
java.util.List<String> urls2=handler.getURLList();
if (urls2 == null) {
fail("2nd Null URL list");
}
if (urls2.size() != 3) {
fail("2nd URL list expecting 3 URLs, got: "+urls2.size());
}
if (!urls2.get(0).equals(HTTP_TEST2)) {
fail("2nd URL2 not expected: "+urls2.get(0));
}
if (!urls2.get(1).equals(HTTP_TEST3)) {
fail("2nd URL3 not expected: "+urls2.get(1));
}
if (!urls2.get(2).equals(HTTP_TEST1)) {
fail("2nd URL1 not expected: "+urls2.get(2));
}
java.util.List<String> urls3=handler.getURLList();
if (urls3 == null) {
fail("3rd Null URL list");
}
if (urls3.size() != 3) {
fail("3rd URL list expecting 3 URLs, got: "+urls2.size());
}
if (!urls3.get(0).equals(HTTP_TEST3)) {
fail("3rd URL3 not expected: "+urls3.get(0));
}
if (!urls3.get(1).equals(HTTP_TEST1)) {
fail("3rd URL1 not expected: "+urls3.get(1));
}
if (!urls3.get(2).equals(HTTP_TEST2)) {
fail("3rd URL2 not expected: "+urls3.get(2));
}
}
}