okhttp3.mockwebserver.RecordedRequest的实例源码

项目:GitHub    文件:HttpOverHttp2Test.java   
@Test public void authenticate() throws Exception {
  server.enqueue(new MockResponse()
      .setResponseCode(HttpURLConnection.HTTP_UNAUTHORIZED)
      .addHeader("www-authenticate: Basic realm=\"protected area\"")
      .setBody("Please authenticate."));
  server.enqueue(new MockResponse()
      .setBody("Successful auth!"));

  String credential = Credentials.basic("username","password");
  client = client.newBuilder()
      .authenticator(new RecordingOkAuthenticator(credential))
      .build();

  Call call = client.newCall(new Request.Builder()
      .url(server.url("/"))
      .build());
  Response response = call.execute();
  assertEquals("Successful auth!",response.body().string());

  RecordedRequest denied = server.takeRequest();
  assertNull(denied.getHeader("Authorization"));
  RecordedRequest accepted = server.takeRequest();
  assertEquals("GET / HTTP/1.1",accepted.getRequestLine());
  assertEquals(credential,accepted.getHeader("Authorization"));
}
项目:GitHub    文件:URLConnectionTest.java   
/**
 * We had a bug where we attempted to gunzip responses that didn't have a body. This only came up
 * with 304s since that response code can include headers (like "Content-Encoding") without any
 * content to go along with it. https://github.com/square/okhttp/issues/358
 */
@Test public void noTransparentGzipFor304NotModified() throws Exception {
  server.enqueue(new MockResponse()
      .clearHeaders()
      .setResponseCode(HttpURLConnection.HTTP_NOT_MODIFIED)
      .addHeader("Content-Encoding: gzip"));
  server.enqueue(new MockResponse().setBody("b"));

  HttpURLConnection connection1 = urlFactory.open(server.url("/").url());
  assertEquals(HttpURLConnection.HTTP_NOT_MODIFIED,connection1.getResponseCode());
  assertContent("",connection1);

  HttpURLConnection connection2 = urlFactory.open(server.url("/").url());
  assertEquals(HttpURLConnection.HTTP_OK,connection2.getResponseCode());
  assertContent("b",connection2);

  RecordedRequest requestA = server.takeRequest();
  assertEquals(0,requestA.getSequenceNumber());

  RecordedRequest requestB = server.takeRequest();
  assertEquals(1,requestB.getSequenceNumber());
}
项目:GitHub    文件:ResponseCacheTest.java   
@Test public void redirectToCachedResult() throws Exception {
  server.enqueue(new MockResponse()
      .addHeader("Cache-Control: max-age=60")
      .setBody("ABC"));
  server.enqueue(new MockResponse()
      .setResponseCode(HttpURLConnection.HTTP_MOVED_PERM)
      .addHeader("Location: /foo"));
  server.enqueue(new MockResponse()
      .setBody("DEF"));

  assertEquals("ABC",readAscii(openConnection(server.url("/foo").url())));
  RecordedRequest request1 = server.takeRequest();
  assertEquals("GET /foo HTTP/1.1",request1.getRequestLine());
  assertEquals(0,request1.getSequenceNumber());

  assertEquals("ABC",readAscii(openConnection(server.url("/bar").url())));
  RecordedRequest request2 = server.takeRequest();
  assertEquals("GET /bar HTTP/1.1",request2.getRequestLine());
  assertEquals(1,request2.getSequenceNumber());

  // an unrelated request should reuse the pooled connection
  assertEquals("DEF",readAscii(openConnection(server.url("/baz").url())));
  RecordedRequest request3 = server.takeRequest();
  assertEquals("GET /baz HTTP/1.1",request3.getRequestLine());
  assertEquals(2,request3.getSequenceNumber());
}
项目:GitHub    文件:CookiesTest.java   
@Test public void testSendingCookiesFromStore() throws Exception {
  MockWebServer server = new MockWebServer();
  server.enqueue(new MockResponse());
  server.start();
  HttpUrl serverUrl = urlWithIpAddress(server,"/");

  CookieManager cookieManager = new CookieManager(null,ACCEPT_ORIGINAL_SERVER);
  HttpCookie cookieA = new HttpCookie("a","android");
  cookieA.setDomain(serverUrl.host());
  cookieA.setPath("/");
  cookieManager.getCookieStore().add(serverUrl.uri(),cookieA);
  HttpCookie cookieB = new HttpCookie("b","banana");
  cookieB.setDomain(serverUrl.host());
  cookieB.setPath("/");
  cookieManager.getCookieStore().add(serverUrl.uri(),cookieB);
  client = client.newBuilder()
      .cookieJar(new JavaNetCookieJar(cookieManager))
      .build();

  get(serverUrl);
  RecordedRequest request = server.takeRequest();

  assertEquals("a=android; b=banana",request.getHeader("Cookie"));
}
项目:GitHub    文件:CallTest.java   
@Test public void put() throws Exception {
  server.enqueue(new MockResponse().setBody("abc"));

  Request request = new Request.Builder()
      .url(server.url("/"))
      .put(RequestBody.create(MediaType.parse("text/plain"),"def"))
      .build();

  executeSynchronously(request)
      .assertCode(200)
      .assertBody("abc");

  RecordedRequest recordedRequest = server.takeRequest();
  assertEquals("PUT",recordedRequest.getMethod());
  assertEquals("def",recordedRequest.getBody().readUtf8());
  assertEquals("3",recordedRequest.getHeader("Content-Length"));
  assertEquals("text/plain; charset=utf-8",recordedRequest.getHeader("Content-Type"));
}
项目:GitHub    文件:JsonQueryParameters.java   
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();
}
项目:GitHub    文件:UrlConnectionCacheTest.java   
@Test public void redirectToCachedResult() throws Exception {
  server.enqueue(new MockResponse().addHeader("Cache-Control: max-age=60").setBody("ABC"));
  server.enqueue(new MockResponse().setResponseCode(HttpURLConnection.HTTP_MOVED_PERM)
      .addHeader("Location: /foo"));
  server.enqueue(new MockResponse().setBody("DEF"));

  assertEquals("ABC",readAscii(urlFactory.open(server.url("/foo").url())));
  RecordedRequest request1 = server.takeRequest();
  assertEquals("GET /foo HTTP/1.1",readAscii(urlFactory.open(server.url("/bar").url())));
  RecordedRequest request2 = server.takeRequest();
  assertEquals("GET /bar HTTP/1.1",readAscii(urlFactory.open(server.url("/baz").url())));
  RecordedRequest request3 = server.takeRequest();
  assertEquals("GET /baz HTTP/1.1",request3.getSequenceNumber());
}
项目:GitHub    文件:URLConnectionTest.java   
private void doUpload(TransferKind uploadKind,WriteKind writeKind) throws Exception {
  int n = 512 * 1024;
  server.setBodyLimit(0);
  server.enqueue(new MockResponse());

  HttpURLConnection conn = urlFactory.open(server.url("/").url());
  conn.setDoOutput(true);
  conn.setRequestMethod("POST");
  if (uploadKind == TransferKind.CHUNKED) {
    conn.setChunkedStreamingMode(-1);
  } else {
    conn.setFixedLengthStreamingMode(n);
  }
  OutputStream out = conn.getOutputStream();
  if (writeKind == WriteKind.BYTE_BY_BYTE) {
    for (int i = 0; i < n; ++i) {
      out.write('x');
    }
  } else {
    byte[] buf = new byte[writeKind == WriteKind.SMALL_BUFFERS ? 256 : 64 * 1024];
    Arrays.fill(buf,(byte) 'x');
    for (int i = 0; i < n; i += buf.length) {
      out.write(buf,Math.min(buf.length,n - i));
    }
  }
  out.close();
  assertEquals(200,conn.getResponseCode());
  RecordedRequest request = server.takeRequest();
  assertEquals(n,request.getBodySize());
  if (uploadKind == TransferKind.CHUNKED) {
    assertTrue(request.getChunkSizes().size() > 0);
  } else {
    assertTrue(request.getChunkSizes().isEmpty());
  }
}
项目:GitHub    文件:URLConnectionTest.java   
private void testResponseRedirectedWithPost(int redirectCode,TransferKind transferKind)
    throws Exception {
  server.enqueue(new MockResponse().setResponseCode(redirectCode)
      .addHeader("Location: /page2")
      .setBody("This page has moved!"));
  server.enqueue(new MockResponse().setBody("Page 2"));

  connection = urlFactory.open(server.url("/page1").url());
  connection.setDoOutput(true);
  transferKind.setForRequest(connection,4);
  byte[] requestBody = {'A','B','C','D'};
  OutputStream outputStream = connection.getOutputStream();
  outputStream.write(requestBody);
  outputStream.close();
  assertEquals("Page 2",readAscii(connection.getInputStream(),Integer.MAX_VALUE));
  assertTrue(connection.getDoOutput());

  RecordedRequest page1 = server.takeRequest();
  assertEquals("POST /page1 HTTP/1.1",page1.getRequestLine());
  assertEquals("ABCD",page1.getBody().readUtf8());

  RecordedRequest page2 = server.takeRequest();
  assertEquals("GET /page2 HTTP/1.1",page2.getRequestLine());
}
项目:GitHub    文件:CookiesTest.java   
@Test public void receiveAndSendMultipleCookies() throws Exception {
  MockWebServer server = new MockWebServer();
  server.enqueue(new MockResponse()
      .addHeader("Set-Cookie","a=android")
      .addHeader("Set-Cookie","b=banana"));
  server.enqueue(new MockResponse());
  server.start();

  CookieManager cookieManager = new CookieManager(null,ACCEPT_ORIGINAL_SERVER);
  client = client.newBuilder()
      .cookieJar(new JavaNetCookieJar(cookieManager))
      .build();

  get(urlWithIpAddress(server,"/"));
  RecordedRequest request1 = server.takeRequest();
  assertNull(request1.getHeader("Cookie"));

  get(urlWithIpAddress(server,"/"));
  RecordedRequest request2 = server.takeRequest();
  assertEquals("a=android; b=banana",request2.getHeader("Cookie"));
}
项目:GitHub    文件:CallTest.java   
@Test public void deleteWithRequestBody() throws Exception {
  server.enqueue(new MockResponse().setBody("abc"));

  Request request = new Request.Builder()
      .url(server.url("/"))
      .method("DELETE",RequestBody.create(MediaType.parse("text/plain"),"def"))
      .build();

  executeSynchronously(request)
      .assertCode(200)
      .assertBody("abc");

  RecordedRequest recordedRequest = server.takeRequest();
  assertEquals("DELETE",recordedRequest.getBody().readUtf8());
}
项目:GitHub    文件:CallTest.java   
@Test public void requestCookies() throws Exception {
  server.enqueue(new MockResponse());

  RecordingCookieJar cookieJar = new RecordingCookieJar();

  cookieJar.enqueueRequestCookies(
      new Cookie.Builder().name("a").value("b").domain(server.getHostName()).build(),new Cookie.Builder().name("c").value("d").domain(server.getHostName()).build());
  client = client.newBuilder()
      .cookieJar(cookieJar)
      .build();

  executeSynchronously("/").assertCode(200);

  RecordedRequest recordedRequest = server.takeRequest();
  assertEquals("a=b; c=d",recordedRequest.getHeader("Cookie"));
}
项目:Guardian.java    文件:APIClientTest.java   
@Test
public void shouldStartFlow() throws Exception {
    server.jsonResponse(MockServer.START_FLOW_VALID,201);

    StartFlowResponse startFlowResponse = apiClient
            .startFlow(ENROLLMENT_TICKET)
            .execute();

    RecordedRequest recordedRequest = server.takeRequest();

    assertThat(recordedRequest,hasMethodAndPath("POST","/api/start-flow"));
    assertThat(recordedRequest,hasHeader("Content-Type","application/json; charset=utf-8"));
    assertThat(recordedRequest,hasHeader("Authorization","Ticket id=\"ENROLLMENT_TICKET\""));

    Map<String,Object> body = bodyFromRequest(recordedRequest);
    assertThat(body,hasEntry("state_transport",(Object) "polling"));

    assertThat(startFlowResponse.getTransactionToken(),is(equalTo("THE_TRANSACTION_TOKEN")));
    assertThat(startFlowResponse.getDeviceAccount(),is(notNullValue()));
    assertThat(startFlowResponse.getDeviceAccount().getId(),is(equalTo("THE_ENROLLMENT_ID")));
    assertThat(startFlowResponse.getDeviceAccount().getStatus(),is(equalTo("confirmation_pending")));
    assertThat(startFlowResponse.getDeviceAccount().getOtpSecret(),is(equalTo("THE_OTP_SECRET")));
    assertThat(startFlowResponse.getDeviceAccount().getRecoveryCode(),is(equalTo("THE_RECOVERY_CODE")));
}
项目:GitHub    文件:CallTest.java   
@Test public void requestBodyRetransmittedOnClientRequestTimeout() throws Exception {
  enqueueRequestTimeoutResponses();

  Response response = client.newCall(new Request.Builder()
      .url(server.url("/"))
      .post(RequestBody.create(MediaType.parse("text/plain"),"Hello"))
      .build()).execute();

  assertEquals("Body",response.body().string());

  RecordedRequest request1 = server.takeRequest();
  assertEquals("Hello",request1.getBody().readUtf8());

  RecordedRequest request2 = server.takeRequest();
  assertEquals("Hello",request2.getBody().readUtf8());
}
项目:GitHub    文件:CallTest.java   
@Test public void propfindRedirectsToPropfindAndMaintainsRequestBody() throws Exception {
  // given
  server.enqueue(new MockResponse()
      .setResponseCode(HttpURLConnection.HTTP_MOVED_TEMP)
      .addHeader("Location: /page2")
      .setBody("This page has moved!"));
  server.enqueue(new MockResponse().setBody("Page 2"));

  // when
  Response response = client.newCall(new Request.Builder()
      .url(server.url("/page1"))
      .method("PROPFIND","Request Body"))
      .build()).execute();

  // then
  assertEquals("Page 2",response.body().string());

  RecordedRequest page1 = server.takeRequest();
  assertEquals("PROPFIND /page1 HTTP/1.1",page1.getRequestLine());
  assertEquals("Request Body",page1.getBody().readUtf8());

  RecordedRequest page2 = server.takeRequest();
  assertEquals("PROPFIND /page2 HTTP/1.1",page2.getRequestLine());
  assertEquals("Request Body",page2.getBody().readUtf8());
}
项目:nitrite-database    文件:DataGateUserTemplateTest.java   
@Test
public void testCreateRemoteUser() throws JsonProcessingException,InterruptedException {
    UserAccount userAccount = new UserAccount();
    userAccount.setUserName("test");
    userAccount.setPassword("password");
    userAccount.setCollections(new ArrayList<String>() {{ add("collection"); }});
    userAccount.setAuthorities(new String[]{ "USER" });

    MockResponse response = new MockResponse()
            .addHeader("Content-Type","application/json; charset=utf-8")
            .setResponseCode(201)
            .setBody("{}");

    server.enqueue(response);

    dataGateUserTemplate.createRemoteUser(userAccount);
    RecordedRequest recordedRequest = server.takeRequest();
    assertEquals(recordedRequest.getRequestLine(),"POST /datagate/api/v1/user/create HTTP/1.1");
}
项目:GitHub    文件:CallTest.java   
@Test public void canceledBeforeResponseReadSignalsOnFailure() throws Exception {
  Request requestA = new Request.Builder().url(server.url("/a")).build();
  final Call call = client.newCall(requestA);
  server.setDispatcher(new Dispatcher() {
    @Override public MockResponse dispatch(RecordedRequest request) {
      call.cancel();
      return new MockResponse().setBody("A");
    }
  });

  call.enqueue(callback);
  assertEquals("/a",server.takeRequest().getPath());

  callback.await(requestA.url()).assertFailure("Canceled","stream was reset: CANCEL","Socket closed");
}
项目:GitHub    文件:URLConnectionTest.java   
/**
 * We had a bug where we weren't closing Gzip streams on redirects.
 * https://github.com/square/okhttp/issues/441
 */
@Test public void gzipWithRedirectAndConnectionReuse() throws Exception {
  server.enqueue(new MockResponse()
      .setResponseCode(HttpURLConnection.HTTP_MOVED_TEMP)
      .addHeader("Location: /foo")
      .addHeader("Content-Encoding: gzip")
      .setBody(gzip("Moved! Moved! Moved!")));
  server.enqueue(new MockResponse().setBody("This is the new page!"));

  HttpURLConnection connection = urlFactory.open(server.url("/").url());
  assertContent("This is the new page!",connection);

  RecordedRequest requestA = server.takeRequest();
  assertEquals(0,requestB.getSequenceNumber());
}
项目:nifi-android-s2s    文件:HttpTransactionTest.java   
private List<RecordedRequest> performTestSuccessfulTransaction(SiteToSiteClientConfig siteToSiteClientConfig) throws Exception {
    String transactionPath = mockNiFiS2SServer.enqueuCreateTransaction(portIdentifier,transactionIdentifier,30);

    mockNiFiS2SServer.enqueueTtlExtension(transactionPath);

    List<DataPacket> dataPackets = Arrays.<DataPacket>asList(new ByteArrayDataPacket(new HashMap<String,String>(),"testMessage".getBytes(Charsets.UTF_8)));
    mockNiFiS2SServer.enqueuDataPackets(transactionPath,dataPackets,siteToSiteClientConfig);

    mockNiFiS2SServer.enqueueTransactionComplete(transactionPath,dataPackets.size(),ResponseCode.CONFIRM_TRANSACTION,ResponseCode.CONFIRM_TRANSACTION);
    HttpTransaction httpTransaction = new HttpTransaction(new HttpPeerConnector(mockNiFiS2SServer.getNifiApiUrl(),siteToSiteClientConfig,new SiteToSiteRemoteCluster()),portIdentifier,scheduledThreadPoolExecutor);
    scheduledThreadPoolExecutor.getTtlExtender(15).run();

    for (DataPacket dataPacket : dataPackets) {
        httpTransaction.send(dataPacket);
    }
    httpTransaction.confirm();
    httpTransaction.complete();
    return mockNiFiS2SServer.verifyAssertions();
}
项目:GitHub    文件:CallTest.java   
@Test public void serverRespondsWithUnsolicited100Continue() throws Exception {
  server.enqueue(new MockResponse()
      .setStatus("HTTP/1.1 100 Continue"));

  Request request = new Request.Builder()
      .url(server.url("/"))
      .post(RequestBody.create(MediaType.parse("text/plain"),"abc"))
      .build();

  Call call = client.newCall(request);
  Response response = call.execute();
  assertEquals(100,response.code());
  assertEquals("Continue",response.message());
  assertEquals("",response.body().string());

  RecordedRequest recordedRequest = server.takeRequest();
  assertEquals("abc",recordedRequest.getBody().readUtf8());
}
项目:GitHub    文件:HttpOverHttp2Test.java   
@Test public void sendRequestCookies() throws Exception {
  RecordingCookieJar cookieJar = new RecordingCookieJar();
  Cookie requestCookie = new Cookie.Builder()
      .name("a")
      .value("b")
      .domain(server.getHostName())
      .build();
  cookieJar.enqueueRequestCookies(requestCookie);
  client = client.newBuilder()
      .cookieJar(cookieJar)
      .build();

  server.enqueue(new MockResponse());
  Call call = client.newCall(new Request.Builder()
      .url(server.url("/"))
      .build());
  Response response = call.execute();
  assertEquals("",response.body().string());

  RecordedRequest request = server.takeRequest();
  assertEquals("a=b",request.getHeader("Cookie"));
}
项目:GitHub    文件:URLConnectionTest.java   
@Test public void redirectedOnHttps() throws IOException,InterruptedException {
  server.useHttps(sslClient.socketFactory,false);
  server.enqueue(new MockResponse().setResponseCode(HttpURLConnection.HTTP_MOVED_TEMP)
      .addHeader("Location: /foo")
      .setBody("This page has moved!"));
  server.enqueue(new MockResponse().setBody("This is the new location!"));

  urlFactory.setClient(urlFactory.client().newBuilder()
      .sslSocketFactory(sslClient.socketFactory,sslClient.trustManager)
      .hostnameVerifier(new RecordingHostnameVerifier())
      .build());
  connection = urlFactory.open(server.url("/").url());
  assertEquals("This is the new location!",Integer.MAX_VALUE));

  RecordedRequest first = server.takeRequest();
  assertEquals("GET / HTTP/1.1",first.getRequestLine());
  RecordedRequest retry = server.takeRequest();
  assertEquals("GET /foo HTTP/1.1",retry.getRequestLine());
  assertEquals("Expected connection reuse",1,retry.getSequenceNumber());
}
项目:GitHub    文件:HttpOverHttp2Test.java   
/** https://github.com/square/okhttp/issues/3103 */
@Test public void domainFronting() throws Exception {
  client = client.newBuilder()
      .addNetworkInterceptor(new Interceptor() {
        @Override public Response intercept(Chain chain) throws IOException {
          Request request = chain.request().newBuilder()
              .header("Host","privateobject.com")
              .build();
          return chain.proceed(request);
        }
      })
      .build();

  server.enqueue(new MockResponse());

  Call call = client.newCall(new Request.Builder()
      .url(server.url("/"))
      .build());

  Response response = call.execute();
  assertEquals("",response.body().string());

  RecordedRequest recordedRequest = server.takeRequest();
  assertEquals("privateobject.com",recordedRequest.getHeader(":authority"));
}
项目:GitHub    文件:URLConnectionTest.java   
@Test public void veryLargeFixedLengthRequest() throws Exception {
  server.setBodyLimit(0);
  server.enqueue(new MockResponse());

  connection = urlFactory.open(server.url("/").url());
  connection.setDoOutput(true);
  long contentLength = Integer.MAX_VALUE + 1L;
  connection.setFixedLengthStreamingMode(contentLength);
  OutputStream out = connection.getOutputStream();
  byte[] buffer = new byte[1024 * 1024];
  for (long bytesWritten = 0; bytesWritten < contentLength; ) {
    int byteCount = (int) Math.min(buffer.length,contentLength - bytesWritten);
    out.write(buffer,byteCount);
    bytesWritten += byteCount;
  }
  assertContent("",connection);

  RecordedRequest request = server.takeRequest();
  assertEquals(Long.toString(contentLength),request.getHeader("Content-Length"));
}
项目:GitHub    文件:CacheTest.java   
private RecordedRequest assertClientSuppliedCondition(MockResponse seed,String conditionName,String conditionValue) throws Exception {
  server.enqueue(seed.setBody("A"));
  server.enqueue(new MockResponse()
      .setResponseCode(HttpURLConnection.HTTP_NOT_MODIFIED));

  HttpUrl url = server.url("/");
  assertEquals("A",get(url).body().string());

  Request request = new Request.Builder()
      .url(url)
      .header(conditionName,conditionValue)
      .build();
  Response response = client.newCall(request).execute();
  assertEquals(HttpURLConnection.HTTP_NOT_MODIFIED,response.code());
  assertEquals("",response.body().string());

  server.takeRequest(); // seed
  return server.takeRequest();
}
项目:nitrite-database    文件:DataGateUserTemplateTest.java   
@Test
public void testUpdateRemoteUser() throws JsonProcessingException,InterruptedException {
    UserAccount userAccount = new UserAccount();
    userAccount.setUserName("test");
    userAccount.setPassword("password");
    userAccount.setCollections(new ArrayList<String>() {{ add("collection"); }});
    userAccount.setAuthorities(new String[]{ "USER" });

    MockResponse response = new MockResponse()
        .addHeader("Content-Type","application/json; charset=utf-8")
        .setResponseCode(200)
        .setBody("{}");

    server.enqueue(response);

    dataGateUserTemplate.updateRemoteUser(userAccount);
    RecordedRequest recordedRequest = server.takeRequest();
    assertEquals(recordedRequest.getRequestLine(),"PUT /datagate/api/v1/user/update HTTP/1.1");
}
项目:GitHub    文件:WebSocketHttpTest.java   
/**
 * There's no read timeout when reading the first byte of a new frame. But as soon as we start
 * reading a frame we enable the read timeout. In this test we have the server returning the first
 * byte of a frame but no more frames.
 */
@Test public void readTimeoutAppliesWithinFrames() throws IOException {
  webServer.setDispatcher(new Dispatcher() {
    @Override public MockResponse dispatch(RecordedRequest request) throws InterruptedException {
      return upgradeResponse(request)
          .setBody(new Buffer().write(ByteString.decodeHex("81"))) // Truncated frame.
          .removeHeader("Content-Length")
          .setSocketPolicy(SocketPolicy.KEEP_OPEN);
    }
  });

  WebSocket webSocket = newWebSocket();
  clientListener.assertOpen();

  clientListener.assertFailure(SocketTimeoutException.class,"timeout");
  assertFalse(webSocket.close(1000,null));
}
项目:GitHub    文件:URLConnectionTest.java   
@Test public void setChunkedStreamingMode() throws IOException,InterruptedException {
  server.enqueue(new MockResponse());

  String body = "ABCDEFGHIJKLMNOPQ";
  connection = urlFactory.open(server.url("/").url());
  connection.setChunkedStreamingMode(0); // OkHttp does not honor specific chunk sizes.
  connection.setDoOutput(true);
  OutputStream outputStream = connection.getOutputStream();
  outputStream.write(body.getBytes("US-ASCII"));
  assertEquals(200,connection.getResponseCode());
  connection.getInputStream().close();

  RecordedRequest request = server.takeRequest();
  assertEquals(body,request.getBody().readUtf8());
  assertEquals(Arrays.asList(body.length()),request.getChunkSizes());
}
项目:nitrite-database    文件:DataGateSyncTemplateTest.java   
@Test
public void testFetch() throws JsonProcessingException,InterruptedException {
    FetchResponse fetchResponse = new FetchResponse();
    fetchResponse.setDocuments(new ArrayList<Document>() {{ add(createDocument("xyz","123")); }});

    MockResponse response = new MockResponse()
        .addHeader("Content-Type","application/json; charset=utf-8")
        .setBody(objectMapper.writeValueAsString(fetchResponse));

    server.enqueue(response);

    List<Document> documentList = dataGateSyncTemplate.fetch(0,5);
    assertEquals(documentList.size(),1);
    assertEquals(documentList.get(0),documentList.get(0));

    RecordedRequest recordedRequest = server.takeRequest();
    assertEquals(recordedRequest.getRequestLine(),"GET /datagate/api/v1/collection/test-collection/fetch/offset/0/limit/5 HTTP/1.1");
}
项目:GitHub    文件:URLConnectionTest.java   
@Test public void connectViaHttpsWithSSLFallback() throws Exception {
  server.useHttps(sslClient.socketFactory,false);
  server.enqueue(new MockResponse().setSocketPolicy(FAIL_HANDSHAKE));
  server.enqueue(new MockResponse().setBody("this response comes via SSL"));

  urlFactory.setClient(urlFactory.client().newBuilder()
      .hostnameVerifier(new RecordingHostnameVerifier())
      .connectionSpecs(Arrays.asList(ConnectionSpec.MODERN_TLS,ConnectionSpec.COMPATIBLE_TLS))
      .sslSocketFactory(suppressTlsFallbackClientSocketFactory(),sslClient.trustManager)
      .build());
  connection = urlFactory.open(server.url("/foo").url());

  assertContent("this response comes via SSL",connection);

  RecordedRequest failHandshakeRequest = server.takeRequest();
  assertNull(failHandshakeRequest.getRequestLine());

  RecordedRequest fallbackRequest = server.takeRequest();
  assertEquals("GET /foo HTTP/1.1",fallbackRequest.getRequestLine());
  assertEquals(TlsVersion.TLS_1_0,fallbackRequest.getTlsVersion());
}
项目:GitHub    文件:URLConnectionTest.java   
private void testConnectViaDirectProxyToHttps(ProxyConfig proxyConfig) throws Exception {
  server.useHttps(sslClient.socketFactory,false);
  server.enqueue(new MockResponse().setBody("this response comes via HTTPS"));

  URL url = server.url("/foo").url();
  urlFactory.setClient(urlFactory.client().newBuilder()
      .sslSocketFactory(sslClient.socketFactory,sslClient.trustManager)
      .hostnameVerifier(new RecordingHostnameVerifier())
      .build());
  connection = proxyConfig.connect(server,urlFactory,url);

  assertContent("this response comes via HTTPS",connection);

  RecordedRequest request = server.takeRequest();
  assertEquals("GET /foo HTTP/1.1",request.getRequestLine());
}
项目:GitHub    文件:HttpUrlFetcherServerTest.java   
@Test
public void testHandlesRelativeRedirects() throws Exception {
  String expected = "fakedata";
  mockWebServer
      .enqueue(new MockResponse().setResponseCode(301).setHeader("Location","/redirect"));
  mockWebServer.enqueue(new MockResponse().setResponseCode(200).setBody(expected));
  getFetcher().loadData(Priority.NORMAL,callback);
  verify(callback).onDataReady(streamCaptor.capture());
  TestUtil.assertStreamOf(expected,streamCaptor.getValue());

  mockWebServer.takeRequest();
  RecordedRequest second = mockWebServer.takeRequest();
  assertThat(second.getPath()).endsWith("/redirect");
}
项目:GitHub    文件:JacksonConverterFactoryTest.java   
@Test public void anImplementation() throws IOException,InterruptedException {
  server.enqueue(new MockResponse().setBody("{\"theName\":\"value\"}"));

  Call<AnImplementation> call = service.anImplementation(new AnImplementation("value"));
  Response<AnImplementation> response = call.execute();
  AnImplementation body = response.body();
  assertThat(body.theName).isEqualTo("value");

  RecordedRequest request = server.takeRequest();
  // TODO figure out how to get Jackson to stop using AnInterface's serializer here.
  assertThat(request.getBody().readUtf8()).isEqualTo("{\"name\":\"value\"}");
  assertThat(request.getHeader("Content-Type")).isEqualTo("application/json; charset=UTF-8");
}
项目:GitHub    文件:GsonConverterFactoryTest.java   
@Test public void serializeUsesConfiguration() throws IOException,InterruptedException {
  server.enqueue(new MockResponse().setBody("{}"));

  service.anImplementation(new AnImplementation(null)).execute();

  RecordedRequest request = server.takeRequest();
  assertThat(request.getBody().readUtf8()).isEqualTo("{}"); // Null value was not serialized.
  assertThat(request.getHeader("Content-Type")).isEqualTo("application/json; charset=UTF-8");
}

相关文章

买水果
比较全面的redis工具类
gson 反序列化到多态子类
java 版本的 mb_strwidth
JAVA 反转字符串的最快方法,大概比StringBuffer.reverse()性...
com.google.gson.internal.bind.ArrayTypeAdapter的实例源码...