60 lines
1.7 KiB
Java
60 lines
1.7 KiB
Java
package org.gcube.common.scope;
|
|
|
|
import static org.junit.Assert.*;
|
|
|
|
import java.io.StringReader;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
|
|
import javax.xml.bind.JAXBContext;
|
|
|
|
import org.gcube.common.scope.api.ScopeProvider;
|
|
import org.gcube.common.scope.api.ServiceMap;
|
|
import org.gcube.common.scope.impl.DefaultServiceMap;
|
|
import org.junit.After;
|
|
import org.junit.Test;
|
|
|
|
public class ServiceMapTest {
|
|
|
|
private static String map = "<service-map scope='scope'>" + "<services>"
|
|
+ "<service name='service1'>"
|
|
+ "<endpoint>http://acme.org:8000/service1</endpoint>"
|
|
+ "<endpoint>http://acme2.org:8000/service1</endpoint>"
|
|
+ "</service>" + "<service name='service2'>"
|
|
+ "<endpoint>http://acme3.org:8000/service2</endpoint>"
|
|
+ "<endpoint>http://acme4.org:8000/service2</endpoint>"
|
|
+ "</service>" + "</services>" + "</service-map>";
|
|
|
|
@Test
|
|
public void serviceMapsBindCorrectly() throws Exception {
|
|
|
|
JAXBContext context = JAXBContext.newInstance(DefaultServiceMap.class);
|
|
|
|
DefaultServiceMap serviceMap = (DefaultServiceMap) context
|
|
.createUnmarshaller().unmarshal(new StringReader(map));
|
|
|
|
assertEquals("scope", serviceMap.scope());
|
|
|
|
List<String> expected = Arrays.asList("http://acme.org:8000/service1","http://acme2.org:8000/service1");
|
|
assertEquals(expected, serviceMap.endpoint("service1"));
|
|
|
|
expected = Arrays.asList("http://acme3.org:8000/service2","http://acme4.org:8000/service2");
|
|
assertEquals(expected, serviceMap.endpoint("service2"));
|
|
}
|
|
|
|
@Test
|
|
public void serviceMapsDiscoveredCorrectly() throws Exception {
|
|
|
|
ScopeProvider.instance.set("scope");
|
|
|
|
assertNotNull(ServiceMap.instance.endpoint("service1"));
|
|
|
|
}
|
|
|
|
@After
|
|
public void cleanup() {
|
|
ScopeProvider.instance.reset();
|
|
}
|
|
|
|
}
|