use of okhttp3.Dns in project okhttp-digest by rburgst.
the class DigestAuthenticatorTest method beforeMethod.
@Before
public void beforeMethod() {
Connection mockConnection = mock(Connection.class);
Dns mockDns = mock(Dns.class);
SocketFactory socketFactory = mock(SocketFactory.class);
Authenticator proxyAuthenticator = mock(Authenticator.class);
ProxySelector proxySelector = mock(ProxySelector.class);
Proxy proxy = mock(Proxy.class);
// setup some dummy data so that we dont get NPEs
Address address = new Address("localhost", 8080, mockDns, socketFactory, null, null, null, proxyAuthenticator, null, Collections.singletonList(Protocol.HTTP_1_1), Collections.singletonList(ConnectionSpec.MODERN_TLS), proxySelector);
InetSocketAddress inetSocketAddress = new InetSocketAddress("localhost", 8080);
mockRoute = new Route(address, proxy, inetSocketAddress);
given(mockConnection.route()).willReturn(mockRoute);
authenticator = new DigestAuthenticator(new Credentials("user1", "user1"));
}
use of okhttp3.Dns in project okhttp by square.
the class EventListenerTest method multipleSecureConnectsForSingleCall.
@Test
public void multipleSecureConnectsForSingleCall() throws IOException {
enableTlsWithTunnel(false);
server.enqueue(new MockResponse().setSocketPolicy(SocketPolicy.FAIL_HANDSHAKE));
server.enqueue(new MockResponse());
client = client.newBuilder().dns(new DoubleInetAddressDns()).build();
Call call = client.newCall(new Request.Builder().url(server.url("/")).build());
Response response = call.execute();
assertThat(response.code()).isEqualTo(200);
response.body().close();
listener.removeUpToEvent(SecureConnectStart.class);
listener.removeUpToEvent(ConnectFailed.class);
listener.removeUpToEvent(SecureConnectStart.class);
listener.removeUpToEvent(SecureConnectEnd.class);
}
use of okhttp3.Dns in project okhttp by square.
the class EventListenerTest method multipleConnectsForSingleCall.
@Test
public void multipleConnectsForSingleCall() throws IOException {
enableTlsWithTunnel(false);
server.enqueue(new MockResponse().setSocketPolicy(SocketPolicy.FAIL_HANDSHAKE));
server.enqueue(new MockResponse());
client = client.newBuilder().dns(new DoubleInetAddressDns()).build();
Call call = client.newCall(new Request.Builder().url(server.url("/")).build());
Response response = call.execute();
assertThat(response.code()).isEqualTo(200);
response.body().close();
listener.removeUpToEvent(ConnectStart.class);
listener.removeUpToEvent(ConnectFailed.class);
listener.removeUpToEvent(ConnectStart.class);
listener.removeUpToEvent(ConnectEnd.class);
}
use of okhttp3.Dns in project okhttp by square.
the class HttpLoggingInterceptorTest method connectFail.
@Test
public void connectFail() throws IOException {
setLevel(Level.BASIC);
client = new OkHttpClient.Builder().dns(hostname -> {
throw new UnknownHostException("reason");
}).addInterceptor(applicationInterceptor).build();
try {
client.newCall(request().build()).execute();
fail();
} catch (UnknownHostException expected) {
}
applicationLogs.assertLogEqual("--> GET " + url).assertLogEqual("<-- HTTP FAILED: java.net.UnknownHostException: reason").assertNoMoreLogs();
}
use of okhttp3.Dns in project okhttp by square.
the class DnsOverHttpsTest method usesCacheOnlyIfFresh.
@Test
public void usesCacheOnlyIfFresh() throws Exception {
Cache cache = new Cache(new File("./target/DnsOverHttpsTest.cache"), 100 * 1024);
OkHttpClient cachedClient = bootstrapClient.newBuilder().cache(cache).build();
DnsOverHttps cachedDns = buildLocalhost(cachedClient, false);
server.enqueue(dnsResponse("0000818000010003000000000567726170680866616365626f6f6b03636f6d0000010001c00c00050001" + "00000a6d000603617069c012c0300005000100000cde000c04737461720463313072c012c04200010" + "0010000003b00049df00112").setHeader("cache-control", "max-age=1"));
List<InetAddress> result = cachedDns.lookup("google.com");
assertThat(result).containsExactly(address("157.240.1.18"));
RecordedRequest recordedRequest = server.takeRequest(0, TimeUnit.SECONDS);
assertThat(recordedRequest.getMethod()).isEqualTo("GET");
assertThat(recordedRequest.getPath()).isEqualTo("/lookup?ct&dns=AAABAAABAAAAAAAABmdvb2dsZQNjb20AAAEAAQ");
Thread.sleep(2000);
server.enqueue(dnsResponse("0000818000010003000000000567726170680866616365626f6f6b03636f6d0000010001c00c00050001" + "00000a6d000603617069c012c0300005000100000cde000c04737461720463313072c012c04200010" + "0010000003b00049df00112").setHeader("cache-control", "max-age=1"));
result = cachedDns.lookup("google.com");
assertThat(result).isEqualTo(singletonList(address("157.240.1.18")));
recordedRequest = server.takeRequest(0, TimeUnit.SECONDS);
assertThat(recordedRequest.getMethod()).isEqualTo("GET");
assertThat(recordedRequest.getPath()).isEqualTo("/lookup?ct&dns=AAABAAABAAAAAAAABmdvb2dsZQNjb20AAAEAAQ");
}
Aggregations