Search in sources :

Example 1 with Dns

use of okhttp3.Dns in project zipkin by openzipkin.

the class PseudoAddressRecordSetTest method onlyLooksUpHostnames.

@Test
public void onlyLooksUpHostnames() throws UnknownHostException {
    underlying = hostname -> {
        assertThat(hostname).isEqualTo("myhost");
        return asList(InetAddresses.forString("2.2.2.2"));
    };
    Dns result = PseudoAddressRecordSet.create(asList("http://1.1.1.1:9200", "http://myhost:9200"), underlying);
    assertThat(result.lookup("foo")).containsExactly(InetAddresses.forString("1.1.1.1"), InetAddresses.forString("2.2.2.2"));
}
Also used : Dns(okhttp3.Dns) Test(org.junit.Test)

Example 2 with Dns

use of okhttp3.Dns in project zipkin by openzipkin.

the class PseudoAddressRecordSetTest method concatenatesIPv4List.

@Test
public void concatenatesIPv4List() throws UnknownHostException {
    Dns result = PseudoAddressRecordSet.create(asList("http://1.1.1.1:9200", "http://2.2.2.2:9200"), underlying);
    assertThat(result).isInstanceOf(PseudoAddressRecordSet.StaticDns.class);
    assertThat(result.lookup("foo")).containsExactly(InetAddresses.forString("1.1.1.1"), InetAddresses.forString("2.2.2.2"));
}
Also used : Dns(okhttp3.Dns) Test(org.junit.Test)

Example 3 with Dns

use of okhttp3.Dns in project okhttp by square.

the class ConnectionCoalescingTest method setUp.

@Before
public void setUp() throws Exception {
    rootCa = new HeldCertificate.Builder().serialNumber("1").ca(3).commonName("root").build();
    certificate = new HeldCertificate.Builder().issuedBy(rootCa).serialNumber("2").commonName(server.getHostName()).subjectAlternativeName(server.getHostName()).subjectAlternativeName("san.com").subjectAlternativeName("*.wildcard.com").subjectAlternativeName("differentdns.com").build();
    serverIps = Dns.SYSTEM.lookup(server.getHostName());
    dns.set(server.getHostName(), serverIps);
    dns.set("san.com", serverIps);
    dns.set("nonsan.com", serverIps);
    dns.set("www.wildcard.com", serverIps);
    dns.set("differentdns.com", Collections.<InetAddress>emptyList());
    SslClient sslClient = new SslClient.Builder().addTrustedCertificate(rootCa.certificate).build();
    client = new OkHttpClient.Builder().dns(dns).sslSocketFactory(sslClient.socketFactory, sslClient.trustManager).build();
    SslClient serverSslClient = new SslClient.Builder().certificateChain(certificate, rootCa).build();
    server.useHttps(serverSslClient.socketFactory, false);
    url = server.url("/robots.txt");
}
Also used : SslClient(okhttp3.internal.tls.SslClient) HeldCertificate(okhttp3.internal.tls.HeldCertificate) Before(org.junit.Before)

Example 4 with Dns

use of okhttp3.Dns in project okhttp by square.

the class HttpOverHttp2Test method recoverFromOneInternalErrorRequiresNewConnection.

@Test
public void recoverFromOneInternalErrorRequiresNewConnection() throws Exception {
    server.enqueue(new MockResponse().setSocketPolicy(SocketPolicy.RESET_STREAM_AT_START).setHttp2ErrorCode(ErrorCode.INTERNAL_ERROR.httpCode));
    server.enqueue(new MockResponse().setBody("abc"));
    client = client.newBuilder().dns(new DoubleInetAddressDns()).build();
    Call call = client.newCall(new Request.Builder().url(server.url("/")).build());
    Response response = call.execute();
    assertEquals("abc", response.body().string());
    // New connection.
    assertEquals(0, server.takeRequest().getSequenceNumber());
    // New connection.
    assertEquals(0, server.takeRequest().getSequenceNumber());
}
Also used : MockResponse(okhttp3.mockwebserver.MockResponse) Response(okhttp3.Response) MockResponse(okhttp3.mockwebserver.MockResponse) Call(okhttp3.Call) DoubleInetAddressDns(okhttp3.internal.DoubleInetAddressDns) Request(okhttp3.Request) RecordedRequest(okhttp3.mockwebserver.RecordedRequest) Test(org.junit.Test)

Example 5 with Dns

use of okhttp3.Dns in project okhttp by square.

the class RouteSelectorTest method explicitProxyTriesThatProxysAddressesOnly.

@Test
public void explicitProxyTriesThatProxysAddressesOnly() throws Exception {
    Address address = new Address(uriHost, uriPort, dns, socketFactory, null, null, null, authenticator, proxyA, protocols, connectionSpecs, proxySelector);
    RouteSelector routeSelector = new RouteSelector(address, routeDatabase);
    assertTrue(routeSelector.hasNext());
    dns.set(proxyAHost, dns.allocate(2));
    assertRoute(routeSelector.next(), address, proxyA, dns.lookup(proxyAHost, 0), proxyAPort);
    assertRoute(routeSelector.next(), address, proxyA, dns.lookup(proxyAHost, 1), proxyAPort);
    assertFalse(routeSelector.hasNext());
    dns.assertRequests(proxyAHost);
    // No proxy selector requests!
    proxySelector.assertRequests();
}
Also used : SocketAddress(java.net.SocketAddress) Address(okhttp3.Address) InetAddress(java.net.InetAddress) InetSocketAddress(java.net.InetSocketAddress) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)23 MockResponse (okhttp3.mockwebserver.MockResponse)13 DoubleInetAddressDns (okhttp3.internal.DoubleInetAddressDns)10 OkHttpClient (okhttp3.OkHttpClient)9 Test (org.junit.jupiter.api.Test)9 SingleInetAddressDns (okhttp3.internal.SingleInetAddressDns)8 IOException (java.io.IOException)7 InetAddress (java.net.InetAddress)7 RecordedRequest (okhttp3.mockwebserver.RecordedRequest)7 MockResponse (mockwebserver3.MockResponse)6 Request (okhttp3.Request)6 HttpURLConnection (java.net.HttpURLConnection)5 InetSocketAddress (java.net.InetSocketAddress)5 UnknownHostException (java.net.UnknownHostException)5 Response (okhttp3.Response)5 List (java.util.List)4 Dns (okhttp3.Dns)4 HandshakeCertificates (okhttp3.tls.HandshakeCertificates)4 BeforeEach (org.junit.jupiter.api.BeforeEach)4 Proxy (java.net.Proxy)3