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();
}
java类okhttp3.mockwebserver.MockWebServer的实例源码
ChunkingConverter.java 文件源码
项目:GitHub
阅读 19
收藏 0
点赞 0
评论 0
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);
}