server.enqueue(new MockResponse().setBodyDelay(300, TimeUnit.MILLISECONDS)); server.enqueue(new MockResponse());
@Test public void override_timeout_on_get() { underTest = HttpConnector.newBuilder().url(serverUrl).build(); server.enqueue(new MockResponse().setBodyDelay(100, TimeUnit.MILLISECONDS).setBody("Hello delayed")); expectedException.expect(IllegalStateException.class); expectedException.expectCause(IsInstanceOf.instanceOf(SocketTimeoutException.class)); WsResponse call = underTest.call(new GetRequest("/").setTimeOutInMs(5)); assertThat(call.content()).equals("Hello delayed"); }
public MockResponse toMockResponse() { MockResponse mockResponse = new MockResponse(); if (this.statusCode != 0) { mockResponse.setResponseCode(this.statusCode); } if (this.body != null) { mockResponse.setBody(this.body); } if (this.delay != 0) { mockResponse.setBodyDelay(this.delay, TimeUnit.MILLISECONDS); } if (this.headers != null) { for (String header : this.headers) { mockResponse.addHeader(header); } } return mockResponse; } }
public MockResponse toMockResponse(RecordedRequest request) { MockResponse mockResponse = new MockResponse(); mockResponse.setHeaders(bodyProvider.getHeaders()); mockResponse.setChunkedBody(concatBody(request), DEFAULT_MAX_CHUNK_SIZE); mockResponse.setResponseCode(bodyProvider.getStatusCode()); if (responseDelay > 0) { mockResponse.setBodyDelay(responseDelay, responseDelayUnit); } return mockResponse; }
/** * This tests that the parent is determined at the time the request was made, not when the request * was executed. */ @Test public void usesParentFromInvocationTime_local() throws Exception { server.enqueue(new MockResponse().setBodyDelay(1, TimeUnit.SECONDS)); server.enqueue(new MockResponse()); SpanId parent = brave.localTracer().startNewSpan(getClass().getSimpleName(), "test"); try { getAsync(client, "/foo"); getAsync(client, "/foo"); } finally { brave.localTracer().finishSpan(); } // changing the local span after the fact! brave.localTracer().startNewSpan(getClass().getSimpleName(), "test"); try { for (int i = 0; i < 2; i++) { RecordedRequest request = server.takeRequest(); assertThat(request.getHeader("x-b3-traceId")) .isEqualTo(parent.traceIdString()); assertThat(request.getHeader("x-b3-parentspanid")) .endsWith(IdConversion.convertToString(parent.spanId)); } } finally { brave.localTracer().finishSpan(); } }
public MockResponse toMockResponse(RecordedRequest request) { MockResponse mockResponse = new MockResponse(); mockResponse.setHeaders(bodyProvider.getHeaders()); mockResponse.setResponseCode(bodyProvider.getStatusCode()); if (webSocketSession != null) { mockResponse.withWebSocketUpgrade(webSocketSession); } else { mockResponse.setBody(bodyProvider.getBody(request)); } if (responseDelay > 0) { mockResponse.setBodyDelay(responseDelay, responseDelayUnit); } return mockResponse; }
@Test public void sync_call_to_a_slow_endpoint_should_not_time_out_if_read_timeout_is_zero() throws Exception { server.enqueue(new MockResponse() .setBodyDelay(Duration.ofSeconds(11).toMillis(), TimeUnit.MILLISECONDS) .setBody("Hello, world!")); OkHttpClient client = OkHttpClients.withStableUris( ClientConfigurations.of( ServiceConfiguration.builder() .addUris(url) // ClientConfigurations has a connectTimeout default of 10 seconds .readTimeout(Duration.ZERO) // unlimited pls .writeTimeout(Duration.ZERO) // unlimited pls .security(SslConfiguration.of(Paths.get("src", "test", "resources", "trustStore.jks"))) .build() ), AGENT, hostEventsSink, OkHttpClientsTest.class); Request request = new Request.Builder() .url(url) .build(); Response synchronousCall = client.newCall(request).execute(); assertThat(synchronousCall.body().string()).isEqualTo("Hello, world!"); }
@Test public void timeouts_set_to_all_zero_should_be_treated_as_infinity() throws Exception { server.enqueue(new MockResponse() .setBodyDelay(Duration.ofSeconds(11).toMillis(), TimeUnit.MILLISECONDS) .setBody("Hello, world!")); OkHttpClient client = OkHttpClients.withStableUris( ClientConfiguration.builder() .from(createTestConfig(url)) .connectTimeout(Duration.ZERO) .readTimeout(Duration.ZERO) .writeTimeout(Duration.ZERO) // want to allow unlimited time for uploads .maxNumRetries(0) .backoffSlotSize(Duration.ofMillis(10)) .build(), AGENT, hostEventsSink, OkHttpClientsTest.class); Request request = new Request.Builder() .url(url) .build(); Response synchronousCall = client.newCall(request).execute(); assertThat(synchronousCall.body().string()).isEqualTo("Hello, world!"); }
server.enqueue(new MockResponse().setBodyDelay(300, TimeUnit.MILLISECONDS)); server.enqueue(new MockResponse());
@Test(expected = SubmitTransactionTimeoutResponseException.class) public void testSubmitTransactionTimeout() throws IOException { MockWebServer mockWebServer = new MockWebServer(); mockWebServer.enqueue(new MockResponse().setResponseCode(504).setBody(timeoutResponse).setBodyDelay(5, TimeUnit.SECONDS)); mockWebServer.start(); HttpUrl baseUrl = mockWebServer.url(""); Server server = new Server(baseUrl.toString()); // We're creating a new OkHttpClient to make this test faster OkHttpClient testSubmitHttpClient = new OkHttpClient.Builder() .connectTimeout(10, TimeUnit.SECONDS) .readTimeout(10, TimeUnit.SECONDS) .retryOnConnectionFailure(false) .build(); server.setSubmitHttpClient(testSubmitHttpClient); server.submitTransaction(this.buildTransaction()); }
@Test public void usesParentFromInvocationTime_server() throws Exception { server.enqueue(new MockResponse().setBodyDelay(1, TimeUnit.SECONDS)); server.enqueue(new MockResponse()); brave.serverTracer().setStateUnknown("test"); ServerSpan parent = brave.serverSpanThreadBinder().getCurrentServerSpan(); try { getAsync(client, "/foo"); getAsync(client, "/foo"); } finally { brave.serverTracer().clearCurrentSpan(); } // changing the server span after the fact! brave.serverTracer().setStateUnknown("test"); try { for (int i = 0; i < 2; i++) { RecordedRequest request = server.takeRequest(); assertThat(request.getHeader("x-b3-traceId")) .endsWith(IdConversion.convertToString(parent.getSpan().getTrace_id())); assertThat(request.getHeader("x-b3-parentspanid")) .endsWith(IdConversion.convertToString(parent.getSpan().getId())); } } finally { brave.serverTracer().clearCurrentSpan(); } }