okhttp3.mockwebserver.MockResponse.<init>()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(11.4k)|赞(0)|评价(0)|浏览(76)

本文整理了Java中okhttp3.mockwebserver.MockResponse.<init>()方法的一些代码示例,展示了MockResponse.<init>()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。MockResponse.<init>()方法的具体详情如下:
包路径:okhttp3.mockwebserver.MockResponse
类名称:MockResponse
方法名:<init>

MockResponse.<init>介绍

[英]Creates a new mock response with an empty body.
[中]使用空主体创建新的模拟响应。

代码示例

代码示例来源:origin: square/okhttp

/**
 * Returns an early guess of the next response, used for policy on how an incoming request should
 * be received. The default implementation returns an empty response. Mischievous implementations
 * can return other values to test HTTP edge cases, such as unhappy socket policies or throttled
 * request bodies.
 */
public MockResponse peek() {
 return new MockResponse().setSocketPolicy(SocketPolicy.KEEP_OPEN);
}

代码示例来源:origin: square/okhttp

private MockResponse directoryToResponse(String basePath, File directory) {
 if (!basePath.endsWith("/")) basePath += "/";
 StringBuilder response = new StringBuilder();
 response.append(String.format("<html><head><title>%s</title></head><body>", basePath));
 response.append(String.format("<h1>%s</h1>", basePath));
 for (String file : directory.list()) {
  response.append(String.format("<div class='file'><a href='%s'>%s</a></div>",
    basePath + file, file));
 }
 response.append("</body></html>");
 return new MockResponse()
   .setStatus("HTTP/1.1 200")
   .addHeader("content-type: text/html; charset=utf-8")
   .setBody(response.toString());
}

代码示例来源:origin: square/okhttp

@Override public MockResponse dispatch(RecordedRequest request) throws InterruptedException {
 // To permit interactive/browser testing, ignore requests for favicons.
 final String requestLine = request.getRequestLine();
 if (requestLine != null && requestLine.equals("GET /favicon.ico HTTP/1.1")) {
  logger.info("served " + requestLine);
  return new MockResponse().setResponseCode(HttpURLConnection.HTTP_NOT_FOUND);
 }
 if (failFastResponse != null && responseQueue.peek() == null) {
  // Fail fast if there's no response queued up.
  return failFastResponse;
 }
 MockResponse result = responseQueue.take();
 // If take() returned because we're shutting down, then enqueue another dead letter so that any
 // other threads waiting on take() will also return.
 if (result == DEAD_LETTER) responseQueue.add(DEAD_LETTER);
 return result;
}

代码示例来源:origin: square/okhttp

public void setFailFast(boolean failFast) {
 MockResponse failFastResponse = failFast
   ? new MockResponse().setResponseCode(HttpURLConnection.HTTP_NOT_FOUND)
   : null;
 setFailFast(failFastResponse);
}

代码示例来源:origin: spring-projects/spring-framework

private void prepareResponse(Consumer<MockResponse> consumer) {
  MockResponse response = new MockResponse();
  consumer.accept(response);
  this.server.enqueue(response);
}

代码示例来源:origin: square/retrofit

public static void main(String... args) throws IOException, InterruptedException {
  MockWebServer server = new MockWebServer();
  server.start();
  server.enqueue(new MockResponse());

  Retrofit retrofit = new Retrofit.Builder()
    .baseUrl(server.url("/"))
    .addConverterFactory(new JsonStringConverterFactory(GsonConverterFactory.create()))
    .build();
  Service service = retrofit.create(Service.class);

  Call<ResponseBody> call = service.example(new Filter("123"));
  Response<ResponseBody> response = call.execute();
  // TODO handle user response...

  // Print the request path that the server saw to show the JSON query param:
  RecordedRequest recordedRequest = server.takeRequest();
  System.out.println(recordedRequest.getPath());

  server.shutdown();
 }
}

代码示例来源:origin: square/okhttp

private MockResponse fileToResponse(String path, File file) throws IOException {
 return new MockResponse()
   .setStatus("HTTP/1.1 200")
   .setBody(fileToBytes(file))
   .addHeader("content-type: " + contentType(path));
}

代码示例来源:origin: spring-projects/spring-framework

private MockResponse getRequest(RecordedRequest request, byte[] body, String contentType) {
  if (request.getMethod().equals("OPTIONS")) {
    return new MockResponse().setResponseCode(200).setHeader("Allow", "GET, OPTIONS, HEAD, TRACE");
  }
  Buffer buf = new Buffer();
  buf.write(body);
  MockResponse response = new MockResponse()
      .setHeader("Content-Length", body.length)
      .setBody(buf)
      .setResponseCode(200);
  if (contentType != null) {
    response = response.setHeader("Content-Type", contentType);
  }
  return response;
}

代码示例来源:origin: spring-projects/spring-framework

private MockResponse putRequest(RecordedRequest request, String expectedRequestContent) {
  assertTrue("Invalid request content-length",
      Integer.parseInt(request.getHeader("Content-Length")) > 0);
  String requestContentType = request.getHeader("Content-Type");
  assertNotNull("No content-type", requestContentType);
  Charset charset = StandardCharsets.ISO_8859_1;
  if (requestContentType.contains("charset=")) {
    String charsetName = requestContentType.split("charset=")[1];
    charset = Charset.forName(charsetName);
  }
  assertEquals("Invalid request body", expectedRequestContent, request.getBody().readString(charset));
  return new MockResponse().setResponseCode(202);
}

代码示例来源:origin: spring-projects/spring-framework

private MockResponse formRequest(RecordedRequest request) {
  assertEquals("application/x-www-form-urlencoded;charset=UTF-8", request.getHeader("Content-Type"));
  String body = request.getBody().readUtf8();
  assertThat(body, Matchers.containsString("name+1=value+1"));
  assertThat(body, Matchers.containsString("name+2=value+2%2B1"));
  assertThat(body, Matchers.containsString("name+2=value+2%2B2"));
  return new MockResponse().setResponseCode(200);
}

代码示例来源:origin: bumptech/glide

@Test
public void testHandlesRedirect302s() throws Exception {
 String expected = "fakedata";
 mockWebServer.enqueue(new MockResponse().setResponseCode(302)
   .setHeader("Location", mockWebServer.url("/redirect").toString()));
 mockWebServer.enqueue(new MockResponse().setResponseCode(200).setBody(expected));
 getFetcher().loadData(Priority.LOW, callback);
 waitForResponseLatch.await();
 verify(callback).onDataReady(streamCaptor.capture());
 assertStreamOf(expected, streamCaptor.getValue());
}

代码示例来源:origin: bumptech/glide

@Test
public void testCallsLoadFailedIfStatusCodeIsNegativeOne() throws Exception {
 mockWebServer.enqueue(new MockResponse().setResponseCode(-1));
 getFetcher().loadData(Priority.LOW, callback);
 waitForResponseLatch.await();
 verify(callback).onLoadFailed(isA(VolleyError.class));
}

代码示例来源:origin: bumptech/glide

@Test
public void testFailsOnRedirectLoops() throws Exception {
 mockWebServer.enqueue(new MockResponse().setResponseCode(301)
   .setHeader("Location", mockWebServer.url("/redirect").toString()));
 mockWebServer.enqueue(new MockResponse().setResponseCode(301)
   .setHeader("Location", mockWebServer.url("/redirect").toString()));
 getFetcher().loadData(Priority.IMMEDIATE, callback);
 verify(callback).onLoadFailed(isA(IOException.class));
}

代码示例来源:origin: bumptech/glide

@Test
public void testHandlesRedirect301s() throws Exception {
 String expected = "fakedata";
 mockWebServer.enqueue(new MockResponse().setResponseCode(301)
   .setHeader("Location", mockWebServer.url("/redirect").toString()));
 mockWebServer.enqueue(new MockResponse().setResponseCode(200).setBody(expected));
 getFetcher().loadData(Priority.LOW, callback);
 verify(callback).onDataReady(streamCaptor.capture());
 TestUtil.assertStreamOf(expected, streamCaptor.getValue());
 assertThat(mockWebServer.takeRequest().getMethod()).isEqualTo("GET");
 assertThat(mockWebServer.takeRequest().getMethod()).isEqualTo("GET");
}

代码示例来源:origin: bumptech/glide

@Test
public void testCallsLoadFailedIfStatusCodeIs400() throws Exception {
 mockWebServer.enqueue(new MockResponse().setResponseCode(400).setBody("error"));
 getFetcher().loadData(Priority.LOW, callback);
 waitForResponseLatch.await();
 verify(callback).onLoadFailed(isA(VolleyError.class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test // SPR-17482
public void bodyToMonoVoidWithoutContentType() {
  this.server.enqueue(new MockResponse()
      .setResponseCode(HttpStatus.ACCEPTED.value())
      .setChunkedBody("{\"foo\" : \"123\",  \"baz\" : \"456\", \"baz\" : \"456\"}", 5));
  Mono<Map<String, String>> mono = this.webClient.get()
      .uri("/sample").accept(MediaType.APPLICATION_JSON)
      .retrieve()
      .bodyToMono(new ParameterizedTypeReference<Map<String, String>>() {});
  StepVerifier.create(mono).expectError(UnsupportedMediaTypeException.class).verify(Duration.ofSeconds(3));
  assertEquals(1, this.server.getRequestCount());
}

代码示例来源:origin: spring-projects/spring-framework

private MockResponse multipartRequest(RecordedRequest request) {
  MediaType mediaType = MediaType.parseMediaType(request.getHeader("Content-Type"));
  assertTrue(mediaType.isCompatibleWith(MediaType.MULTIPART_FORM_DATA));
  String boundary = mediaType.getParameter("boundary");
  Buffer body = request.getBody();
  try {
    assertPart(body, "form-data", boundary, "name 1", "text/plain", "value 1");
    assertPart(body, "form-data", boundary, "name 2", "text/plain", "value 2+1");
    assertPart(body, "form-data", boundary, "name 2", "text/plain", "value 2+2");
    assertFilePart(body, "form-data", boundary, "logo", "logo.jpg", "image/jpeg");
  }
  catch (EOFException ex) {
    throw new IllegalStateException(ex);
  }
  return new MockResponse().setResponseCode(200);
}

代码示例来源:origin: spring-projects/spring-framework

private MockResponse jsonPostRequest(RecordedRequest request, String location, String contentType) {
  if (request.getBodySize() > 0) {
    assertTrue("Invalid request content-length",
        Integer.parseInt(request.getHeader("Content-Length")) > 0);
    assertNotNull("No content-type", request.getHeader("Content-Type"));
  }
  return new MockResponse()
      .setHeader("Location", baseUrl + location)
      .setHeader("Content-Type", contentType)
      .setHeader("Content-Length", request.getBody().size())
      .setBody(request.getBody())
      .setResponseCode(201);
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void bodyToMonoVoid() {
  this.server.enqueue(new MockResponse()
      .setResponseCode(201)
      .setHeader("Content-Type", "application/json")
      .setChunkedBody("{\"foo\" : {\"bar\" : \"123\", \"baz\" : \"456\"}}", 5));
  Mono<Void> mono = this.webClient.get()
      .uri("/json").accept(MediaType.APPLICATION_JSON)
      .retrieve()
      .bodyToMono(Void.class);
  StepVerifier.create(mono).expectComplete().verify(Duration.ofSeconds(3));
  assertEquals(1, this.server.getRequestCount());
}

代码示例来源:origin: spring-projects/spring-framework

private void testOnStatus(Throwable expected,
    Function<ClientResponse, Mono<? extends Throwable>> exceptionFunction) {
  HttpStatus errorStatus = HttpStatus.BAD_GATEWAY;
  this.server.enqueue(new MockResponse()
      .setResponseCode(errorStatus.value())
      .setHeader("Content-Type", "application/json")
      .setChunkedBody("{\"error\" : {\"status\" : 502, \"message\" : \"Bad gateway.\"}}", 5));
  Mono<String> mono = this.webClient.get()
      .uri("/json").accept(MediaType.APPLICATION_JSON)
      .retrieve()
      .onStatus(status -> status.equals(errorStatus), exceptionFunction)
      .bodyToMono(String.class);
  StepVerifier.create(mono).expectErrorSatisfies(actual -> assertSame(expected, actual)).verify(DELAY);
  assertEquals(1, this.server.getRequestCount());
}

相关文章