use of com.yahoo.jdisc.Container in project vespa by vespa-engine.
the class ContainerResourceTestCase method requireThatServerProvidersAreReleasedOnTermination.
@Test
public void requireThatServerProvidersAreReleasedOnTermination() {
MyServerProvider server = new MyServerProvider();
TestDriver driver = TestDriver.newSimpleApplicationInstanceWithoutOsgi();
ContainerBuilder builder = driver.newContainerBuilder();
builder.serverProviders().install(server);
driver.activateContainer(builder);
Container container = driver.newReference(URI.create("http://localhost/"));
assertEquals(1, server.retainCnt.get());
driver.activateContainer(null);
assertEquals(1, server.retainCnt.get());
container.release();
assertEquals(0, server.retainCnt.get());
assertTrue(driver.close());
}
use of com.yahoo.jdisc.Container in project vespa by vespa-engine.
the class ConnectionControlSearcherTestCase method doSearch.
private Result doSearch(URI uri, long connectedAtMillis, long nowMillis) {
SocketAddress remoteAddress = Mockito.mock(SocketAddress.class);
Version version = Version.HTTP_1_1;
Method method = Method.GET;
CurrentContainer container = Mockito.mock(CurrentContainer.class);
Mockito.when(container.newReference(Mockito.any())).thenReturn(Mockito.mock(Container.class));
final com.yahoo.jdisc.http.HttpRequest serverRequest = com.yahoo.jdisc.http.HttpRequest.newServerRequest(container, uri, method, version, remoteAddress, connectedAtMillis);
HttpRequest incoming = new HttpRequest(serverRequest, new ByteArrayInputStream(new byte[0]));
Query query = new Query(incoming);
Execution e = new Execution(new Chain<Searcher>(ConnectionControlSearcher.createTestInstance(() -> nowMillis)), Execution.Context.createContextStub());
Result r = e.search(query);
return r;
}
use of com.yahoo.jdisc.Container in project vespa by vespa-engine.
the class ContainerShutdownTestCase method requireThatContainerBlocksTermination.
@Test
public void requireThatContainerBlocksTermination() {
Context ctx = Context.newInstance();
Container container = ctx.driver.newReference(URI.create("http://host/path"));
assertFalse(ctx.shutdown());
container.release();
assertTrue(ctx.terminated);
assertTrue(ctx.driver.close());
}
use of com.yahoo.jdisc.Container in project vespa by vespa-engine.
the class ContainerResourceTestCase method requireThatBoundRequestHandlersAreReleasedOnTermination.
@Test
public void requireThatBoundRequestHandlersAreReleasedOnTermination() {
MyRequestHandler handler = new MyRequestHandler();
TestDriver driver = TestDriver.newSimpleApplicationInstanceWithoutOsgi();
ContainerBuilder builder = driver.newContainerBuilder();
builder.serverBindings().bind("http://localhost/", handler);
driver.activateContainer(builder);
Container container = driver.newReference(URI.create("http://localhost/"));
assertEquals(1, handler.retainCnt.get());
driver.activateContainer(null);
assertEquals(1, handler.retainCnt.get());
container.release();
assertEquals(0, handler.retainCnt.get());
assertTrue(driver.close());
}
Aggregations