java类okhttp3.mockwebserver.MockWebServer的实例源码

ChunkingConverter.java 文件源码 项目:GitHub 阅读 19 收藏 0 点赞 0 评论 0
public static void main(String... args) throws IOException, InterruptedException {
  MockWebServer server = new MockWebServer();
  server.enqueue(new MockResponse());
  server.enqueue(new MockResponse());
  server.start();

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

  Repo retrofitRepo = new Repo("square", "retrofit");

  service.sendNormal(retrofitRepo).execute();
  RecordedRequest normalRequest = server.takeRequest();
  System.out.println(
      "Normal @Body Transfer-Encoding: " + normalRequest.getHeader("Transfer-Encoding"));

  service.sendChunked(retrofitRepo).execute();
  RecordedRequest chunkedRequest = server.takeRequest();
  System.out.println(
      "@Chunked @Body Transfer-Encoding: " + chunkedRequest.getHeader("Transfer-Encoding"));

  server.shutdown();
}
RestartTest.java 文件源码 项目:firefox-tv 阅读 14 收藏 0 点赞 0 评论 0
@Override
protected void beforeActivityLaunched() {
    super.beforeActivityLaunched();

    appContext = InstrumentationRegistry.getInstrumentation()
            .getTargetContext()
            .getApplicationContext();

    PreferenceManager.getDefaultSharedPreferences(appContext)
            .edit()
            .putBoolean(FIRSTRUN_PREF, true)
            .apply();

    webServer = new MockWebServer();

    try {
        webServer.enqueue(new MockResponse()
                .setBody(TestHelper.readTestAsset("image_test.html")));
        webServer.enqueue(new MockResponse()
                .setBody(TestHelper.readTestAsset("rabbit.jpg")));
        webServer.enqueue(new MockResponse()
                .setBody(TestHelper.readTestAsset("download.jpg")));
        webServer.enqueue(new MockResponse()
                .setBody(TestHelper.readTestAsset("image_test.html")));
        webServer.enqueue(new MockResponse()
                .setBody(TestHelper.readTestAsset("rabbit.jpg")));
        webServer.enqueue(new MockResponse()
                .setBody(TestHelper.readTestAsset("download.jpg")));
        webServer.start();
    } catch (IOException e) {
        throw new AssertionError("Could not start web server", e);
    }
}
CacheTest.java 文件源码 项目:GitHub 阅读 32 收藏 0 点赞 0 评论 0
private void assertCached(boolean shouldPut, int responseCode) throws Exception {
  int expectedResponseCode = responseCode;

  server = new MockWebServer();
  MockResponse mockResponse = new MockResponse()
      .addHeader("Last-Modified: " + formatDate(-1, TimeUnit.HOURS))
      .addHeader("Expires: " + formatDate(1, TimeUnit.HOURS))
      .setResponseCode(responseCode)
      .setBody("ABCDE")
      .addHeader("WWW-Authenticate: challenge");
  if (responseCode == HttpURLConnection.HTTP_PROXY_AUTH) {
    mockResponse.addHeader("Proxy-Authenticate: Basic realm=\"protected area\"");
  } else if (responseCode == HttpURLConnection.HTTP_UNAUTHORIZED) {
    mockResponse.addHeader("WWW-Authenticate: Basic realm=\"protected area\"");
  } else if (responseCode == HttpURLConnection.HTTP_NO_CONTENT
      || responseCode == HttpURLConnection.HTTP_RESET) {
    mockResponse.setBody(""); // We forbid bodies for 204 and 205.
  }
  server.enqueue(mockResponse);

  if (responseCode == HttpURLConnection.HTTP_CLIENT_TIMEOUT) {
    // 408's are a bit of an outlier because we may repeat the request if we encounter this
    // response code. In this scenario, there are 2 responses: the initial 408 and then the 200
    // because of the retry. We just want to ensure the initial 408 isn't cached.
    expectedResponseCode = 200;
    server.enqueue(new MockResponse()
        .setHeader("Cache-Control", "no-store")
        .setBody("FGHIJ"));
  }

  server.start();

  Request request = new Request.Builder()
      .url(server.url("/"))
      .build();
  Response response = client.newCall(request).execute();
  assertEquals(expectedResponseCode, response.code());

  // Exhaust the content stream.
  response.body().string();

  Response cached = cache.get(request);
  if (shouldPut) {
    assertNotNull(Integer.toString(responseCode), cached);
    cached.body().close();
  } else {
    assertNull(Integer.toString(responseCode), cached);
  }
  server.shutdown(); // tearDown() isn't sufficient; this test starts multiple servers
}
CookiesTest.java 文件源码 项目:GitHub 阅读 30 收藏 0 点赞 0 评论 0
@Test
public void testNetscapeResponse() throws Exception {
  CookieManager cookieManager = new CookieManager(null, ACCEPT_ORIGINAL_SERVER);
  client = client.newBuilder()
      .cookieJar(new JavaNetCookieJar(cookieManager))
      .build();
  MockWebServer server = new MockWebServer();
  server.start();

  HttpUrl urlWithIpAddress = urlWithIpAddress(server, "/path/foo");
  server.enqueue(new MockResponse().addHeader("Set-Cookie: a=android; "
      + "expires=Fri, 31-Dec-9999 23:59:59 GMT; "
      + "path=/path; "
      + "domain=" + urlWithIpAddress.host() + "; "
      + "secure"));
  get(urlWithIpAddress);

  List<HttpCookie> cookies = cookieManager.getCookieStore().getCookies();
  assertEquals(1, cookies.size());
  HttpCookie cookie = cookies.get(0);
  assertEquals("a", cookie.getName());
  assertEquals("android", cookie.getValue());
  assertEquals(null, cookie.getComment());
  assertEquals(null, cookie.getCommentURL());
  assertEquals(false, cookie.getDiscard());
  assertTrue(cookie.getMaxAge() > 100000000000L);
  assertEquals("/path", cookie.getPath());
  assertEquals(true, cookie.getSecure());
  assertEquals(0, cookie.getVersion());
}
ChampionGGTest.java 文件源码 项目:java-champion-gg-wrapper 阅读 15 收藏 0 点赞 0 评论 0
@BeforeAll static void initChampionGGAPI() {
    webServer = new MockWebServer();
    dispatcher = new MockDispatcher();
    webServer.setDispatcher(dispatcher);
    ChampionGGAPIFactory.BASE_URL = webServer.url("/").toString();

    ChampionGGAPIFactory championGGAPIFactory = new ChampionGGAPIFactory(Constants.API_KEY, -1);
    API = championGGAPIFactory.buildChampionGGAPI();
}
NotificationScreenshots.java 文件源码 项目:firefox-tv 阅读 16 收藏 0 点赞 0 评论 0
@Before
public void setUpWebServer() throws IOException {
    webServer = new MockWebServer();

    // Test page
    webServer.enqueue(new MockResponse().setBody(TestHelper.readTestAsset("plain_test.html")));
}
LEServiceHandlerTest.java 文件源码 项目:LoginEligibility.Android 阅读 14 收藏 0 点赞 0 评论 0
@Before
public void setUp() throws Exception {
    signal = new CountDownLatch(1);
    server = new MockWebServer();
    server.start(30000);
    baseUrl = "http://" + server.getHostName() + ":" + server.getPort();

    goodConfig = new LEServiceConfiguration();
    goodConfig.captureApplicationId = "somecaptureappid";
    goodConfig.captureClientId = "somecaptureclientid";
    goodConfig.captureFlowName = "someflowname";
    goodConfig.captureFlowLocale = "some-locale";
    goodConfig.captureFlowVersion = "some-version";
    goodConfig.policyCheckerStage = "dev";
    goodConfig.policyCheckerTenant = "some-tenant";
    goodConfig.policyCheckerHost = baseUrl;


    taskHandler = new LEService.LoginEligibilityResultHandler() {
        @Override
        public void onLEServiceSuccess(JSONObject json) {
            testResult = json;
            signal.countDown();
        }

        @Override
        public void onLEServiceFailure(JSONObject json) {
            testResultError = json;
            signal.countDown();
        }
    };
}
URLConnectionTest.java 文件源码 项目:GitHub 阅读 25 收藏 0 点赞 0 评论 0
@Override public HttpURLConnection connect(
    MockWebServer server, OkUrlFactory streamHandlerFactory, URL url)
    throws IOException {
  System.setProperty("proxyHost", server.getHostName());
  System.setProperty("proxyPort", Integer.toString(server.getPort()));
  return streamHandlerFactory.open(url);
}
URLConnectionTest.java 文件源码 项目:GitHub 阅读 25 收藏 0 点赞 0 评论 0
@Override public HttpURLConnection connect(
    MockWebServer server, OkUrlFactory streamHandlerFactory, URL url)
    throws IOException {
  System.setProperty("http.proxyHost", server.getHostName());
  System.setProperty("http.proxyPort", Integer.toString(server.getPort()));
  return streamHandlerFactory.open(url);
}
URLConnectionTest.java 文件源码 项目:GitHub 阅读 32 收藏 0 点赞 0 评论 0
@Override public HttpURLConnection connect(
    MockWebServer server, OkUrlFactory streamHandlerFactory, URL url)
    throws IOException {
  System.setProperty("https.proxyHost", server.getHostName());
  System.setProperty("https.proxyPort", Integer.toString(server.getPort()));
  return streamHandlerFactory.open(url);
}


问题


面经


文章

微信
公众号

扫码关注公众号