@Test
public void releaseAndAcquire() throws Exception {
ClientPool pool = new ClientPool(2);
assertEquals(0, pool.countAvailable());
IntStream.range(0, 10).forEach(i -> pool.release(mockClient("localhost")));
assertEquals(2, pool.countAvailable());
IntStream.range(0, 10).forEach(i -> pool.release(mockClient("google")));
assertEquals(4, pool.countAvailable());
IntStream.range(0, 2)
.forEach(
i ->
pool.acquire(
mockFrontContext(), mockConfig("localhost"), () -> mockClient("localhost")));
assertEquals(2, pool.countAvailable());
IntStream.range(0, 2)
.forEach(
i ->
pool.acquire(
mockFrontContext(), mockConfig("google"), () -> mockClient("localhost")));
assertEquals(0, pool.countAvailable());
}