{
TestLoadBalancer balancer = new TestLoadBalancer(false);
DirectoryProvider dirProvider = new TestDirectoryProvider();
KeyMapperProvider keyMapperProvider = new TestKeyMapperProvider();
ClientFactoryProvider clientFactoryProvider = new TestClientFactoryProvider();
Facilities facilities = new DelegatingFacilities(dirProvider, keyMapperProvider, clientFactoryProvider);
DynamicClient client = new DynamicClient(balancer, facilities);
URI uri = URI.create("d2://test");
RestRequest restRequest = new RestRequestBuilder(uri).build();
TestCallback<RestResponse> restCallback = new TestCallback<RestResponse>();
client.restRequest(restRequest, restCallback);
assertNull(restCallback.e);
assertNotNull(restCallback.t);
RpcRequest rpcRequest = new RpcRequestBuilder(uri).build();
TestCallback<RpcResponse> rpcCallback = new TestCallback<RpcResponse>();
client.rpcRequest(rpcRequest, rpcCallback);
assertNotNull(rpcCallback.e);
assertNull(rpcCallback.t);
Facilities myFacilities = client.getFacilities();
assertNotNull(facilities, "facilities should not be null");
}