use of com.yahoo.jdisc.handler.RequestHandler in project vespa by vespa-engine.
the class ApplicationStatusHandlerTest method request_handlers_are_rendered.
@Test
public void request_handlers_are_rendered() throws Exception {
final String id = "myHandler";
final String serverBinding1 = "http://*/serverBinding";
final String serverBinding2 = "http://*/anotherServerBinding";
final String clientBinding = "http://*/clientBinding";
HashMap<ComponentId, RequestHandler> handlersById = new HashMap<>();
handlersById.put(new ComponentId(id), Mockito.mock(RequestHandler.class));
JdiscBindingsConfig bindingsConfig = new JdiscBindingsConfig(new JdiscBindingsConfig.Builder().handlers(id, new Handlers.Builder().serverBindings(serverBinding1).serverBindings(serverBinding2).clientBindings(clientBinding)));
String json = ApplicationStatusHandler.renderRequestHandlers(bindingsConfig, handlersById).toString();
assertThat(json, containsString("\"" + id + "\""));
assertThat(json, containsString(serverBinding1));
assertThat(json, containsString(serverBinding2));
assertThat(json, containsString(clientBinding));
}
use of com.yahoo.jdisc.handler.RequestHandler in project vespa by vespa-engine.
the class MessagePropertyProcessor method getDocprocServiceRegistry.
public synchronized ComponentRegistry<DocprocService> getDocprocServiceRegistry(HttpRequest request) {
String docprocChain = getDocprocChainParameter(request);
if (docprocChain == null) {
return null;
}
Container container = Container.get();
if (container == null) {
throw new IllegalStateException("Could not get Container instance.");
}
ComponentRegistry<RequestHandler> requestHandlerRegistry = container.getRequestHandlerRegistry();
if (requestHandlerRegistry == null) {
throw new IllegalStateException("Could not get requesthandlerregistry.");
}
DocumentProcessingHandler handler = (DocumentProcessingHandler) requestHandlerRegistry.getComponent(DocumentProcessingHandler.class.getName());
if (handler == null) {
return null;
}
ComponentRegistry<DocprocService> services = handler.getDocprocServiceRegistry();
if (services == null) {
throw new IllegalStateException("Could not get DocprocServiceRegistry.");
}
return services;
}
use of com.yahoo.jdisc.handler.RequestHandler in project vespa by vespa-engine.
the class ActiveContainerTestCase method requireThatClientBindingAccessorWorks.
@Test
public void requireThatClientBindingAccessorWorks() {
TestDriver driver = TestDriver.newSimpleApplicationInstanceWithoutOsgi();
ContainerBuilder builder = driver.newContainerBuilder();
RequestHandler foo = new NonWorkingRequestHandler();
RequestHandler bar = new NonWorkingRequestHandler();
builder.clientBindings().bind("http://host/foo", foo);
builder.clientBindings("bar").bind("http://host/bar", bar);
ActiveContainer container = new ActiveContainer(builder);
Map<String, BindingSet<RequestHandler>> bindings = container.clientBindings();
assertNotNull(bindings);
assertEquals(2, bindings.size());
BindingSet<RequestHandler> set = bindings.get(BindingSet.DEFAULT);
assertNotNull(set);
Iterator<Map.Entry<UriPattern, RequestHandler>> it = set.iterator();
assertNotNull(it);
assertTrue(it.hasNext());
Map.Entry<UriPattern, RequestHandler> entry = it.next();
assertNotNull(entry);
assertEquals(new UriPattern("http://host/foo"), entry.getKey());
assertSame(foo, entry.getValue());
assertFalse(it.hasNext());
assertNotNull(set = bindings.get("bar"));
assertNotNull(it = set.iterator());
assertTrue(it.hasNext());
assertNotNull(entry = it.next());
assertEquals(new UriPattern("http://host/bar"), entry.getKey());
assertSame(bar, entry.getValue());
assertFalse(it.hasNext());
assertNotNull(bindings = container.serverBindings());
assertEquals(1, bindings.size());
assertNotNull(set = bindings.get(BindingSet.DEFAULT));
assertNotNull(it = set.iterator());
assertFalse(it.hasNext());
driver.close();
}
use of com.yahoo.jdisc.handler.RequestHandler in project vespa by vespa-engine.
the class ActiveContainerTestCase method requireThatDefaultBindingsAreAlwaysCreated.
@Test
public void requireThatDefaultBindingsAreAlwaysCreated() {
TestDriver driver = TestDriver.newSimpleApplicationInstanceWithoutOsgi();
ContainerBuilder builder = driver.newContainerBuilder();
ActiveContainer container = new ActiveContainer(builder);
Map<String, BindingSet<RequestHandler>> bindings = container.serverBindings();
assertNotNull(bindings);
assertEquals(1, bindings.size());
BindingSet<RequestHandler> set = bindings.get(BindingSet.DEFAULT);
assertFalse(set.iterator().hasNext());
driver.close();
}
use of com.yahoo.jdisc.handler.RequestHandler in project vespa by vespa-engine.
the class NonWorkingRequestHandlerTestCase method requireThatHandleTimeoutThrowsException.
@Test
public void requireThatHandleTimeoutThrowsException() {
RequestHandler requestHandler = new NonWorkingRequestHandler();
try {
requestHandler.handleTimeout(null, null);
fail();
} catch (UnsupportedOperationException e) {
}
}
Aggregations