@Test public void resultRespectsBackpressure() {
server.enqueue(new MockResponse().setBody("Hi"));
RecordingSubscriber<Result<String>> subscriber = subscriberRule.createWithInitialRequest(0);
Flowable<Result<String>> o = service.result();
o.subscribe(subscriber);
assertThat(server.getRequestCount()).isEqualTo(1);
subscriber.assertNoEvents();
subscriber.request(1);
subscriber.assertAnyValue().assertComplete();
subscriber.request(Long.MAX_VALUE); // Subsequent requests do not trigger HTTP or notifications.
assertThat(server.getRequestCount()).isEqualTo(1);
}
java类okhttp3.mockwebserver.MockResponse的实例源码
FlowableTest.java 文件源码
项目:GitHub
阅读 22
收藏 0
点赞 0
评论 0
HystrixBuilderTest.java 文件源码
项目:XXXX
阅读 23
收藏 0
点赞 0
评论 0
@Test
public void rxSingleListFallback() {
server.enqueue(new MockResponse().setResponseCode(500));
TestInterface api = target();
Single<List<String>> single = api.listSingle();
assertThat(single).isNotNull();
assertThat(server.getRequestCount()).isEqualTo(0);
TestSubscriber<List<String>> testSubscriber = new TestSubscriber<List<String>>();
single.subscribe(testSubscriber);
testSubscriber.awaitTerminalEvent();
assertThat(testSubscriber.getOnNextEvents().get(0)).containsExactly("fallback");
}
URLConnectionTest.java 文件源码
项目:GitHub
阅读 24
收藏 0
点赞 0
评论 0
@Test public void redirectedFromHttpsToHttpFollowingProtocolRedirects() throws Exception {
server2.enqueue(new MockResponse().setBody("This is insecure HTTP!"));
server.useHttps(sslClient.socketFactory, false);
server.enqueue(new MockResponse().setResponseCode(HttpURLConnection.HTTP_MOVED_TEMP)
.addHeader("Location: " + server2.url("/").url())
.setBody("This page has moved!"));
urlFactory.setClient(urlFactory.client().newBuilder()
.sslSocketFactory(sslClient.socketFactory, sslClient.trustManager)
.hostnameVerifier(new RecordingHostnameVerifier())
.followSslRedirects(true)
.build());
HttpsURLConnection connection = (HttpsURLConnection) urlFactory.open(server.url("/").url());
assertContent("This is insecure HTTP!", connection);
assertNull(connection.getCipherSuite());
assertNull(connection.getLocalCertificates());
assertNull(connection.getServerCertificates());
assertNull(connection.getPeerPrincipal());
assertNull(connection.getLocalPrincipal());
}
LEServiceHandlerTest.java 文件源码
项目:LoginEligibility.Android
阅读 16
收藏 0
点赞 0
评论 0
@Test
public void test_policyCheckerTask_error() throws Exception {
testResult = null;
testResultError = null;
String complies = "{\"errorCode\":\"some error info\"}";
server.enqueue(new MockResponse()
.setResponseCode(400)
.addHeader("Content-Type", "application/json; charset=utf-8")
.addHeader("Cache-Control", "no-cache")
.setBody(complies));
LEService leService= new LEService();
leService.init(goodConfig);
leService.checkLoginWithToken("abcdefghijk", taskHandler);
signal.await();
server.shutdown();
assertNull(testResult);
assertTrue(testResultError.has("errorCode"));
assertEquals("some error info", testResultError.getString("errorCode"));
}
VolleyStreamFetcherServerTest.java 文件源码
项目:GitHub
阅读 21
收藏 0
点赞 0
评论 0
@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);
waitForResponseLatch.await();
verify(callback).onDataReady(streamCaptor.capture());
assertStreamOf(expected, streamCaptor.getValue());
}
ResponseCacheTest.java 文件源码
项目:GitHub
阅读 19
收藏 0
点赞 0
评论 0
@Test public void maxAgeInThePastWithDateAndLastModifiedHeaders() throws Exception {
String lastModifiedDate = formatDate(-2, TimeUnit.HOURS);
RecordedRequest conditionalRequest = assertConditionallyCached(new MockResponse()
.addHeader("Date: " + formatDate(-120, TimeUnit.SECONDS))
.addHeader("Last-Modified: " + lastModifiedDate)
.addHeader("Cache-Control: max-age=60"));
assertEquals(lastModifiedDate, conditionalRequest.getHeader("If-Modified-Since"));
}
CacheTest.java 文件源码
项目:GitHub
阅读 24
收藏 0
点赞 0
评论 0
@Test public void secureResponseCachingAndRedirects() throws IOException {
server.useHttps(sslClient.socketFactory, false);
server.enqueue(new MockResponse()
.addHeader("Last-Modified: " + formatDate(-1, TimeUnit.HOURS))
.addHeader("Expires: " + formatDate(1, TimeUnit.HOURS))
.setResponseCode(HttpURLConnection.HTTP_MOVED_PERM)
.addHeader("Location: /foo"));
server.enqueue(new MockResponse()
.addHeader("Last-Modified: " + formatDate(-1, TimeUnit.HOURS))
.addHeader("Expires: " + formatDate(1, TimeUnit.HOURS))
.setBody("ABC"));
server.enqueue(new MockResponse()
.setBody("DEF"));
client = client.newBuilder()
.sslSocketFactory(sslClient.socketFactory, sslClient.trustManager)
.hostnameVerifier(NULL_HOSTNAME_VERIFIER)
.build();
Response response1 = get(server.url("/"));
assertEquals("ABC", response1.body().string());
assertNotNull(response1.handshake().cipherSuite());
// Cached!
Response response2 = get(server.url("/"));
assertEquals("ABC", response2.body().string());
assertNotNull(response2.handshake().cipherSuite());
assertEquals(4, cache.requestCount()); // 2 direct + 2 redirect = 4
assertEquals(2, cache.hitCount());
assertEquals(response1.handshake().cipherSuite(), response2.handshake().cipherSuite());
}
UrlConnectionCacheTest.java 文件源码
项目:GitHub
阅读 19
收藏 0
点赞 0
评论 0
@Test public void defaultExpirationDateConditionallyCached() throws Exception {
// last modified: 115 seconds ago
// served: 15 seconds ago
// default lifetime: (115 - 15) / 10 = 10 seconds
// expires: 10 seconds from served date = 5 seconds ago
String lastModifiedDate = formatDate(-115, TimeUnit.SECONDS);
RecordedRequest conditionalRequest = assertConditionallyCached(
new MockResponse().addHeader("Last-Modified: " + lastModifiedDate)
.addHeader("Date: " + formatDate(-15, TimeUnit.SECONDS)));
assertEquals(lastModifiedDate, conditionalRequest.getHeader("If-Modified-Since"));
}
VolleyStreamFetcherServerTest.java 文件源码
项目:GitHub
阅读 23
收藏 0
点赞 0
评论 0
@Test
public void testAppliesHeadersInGlideUrl() throws Exception {
mockWebServer.enqueue(new MockResponse().setResponseCode(200));
String headerField = "field";
String headerValue = "value";
Map<String, String> headersMap = new HashMap<>();
headersMap.put(headerField, headerValue);
Headers headers = mock(Headers.class);
when(headers.getHeaders()).thenReturn(headersMap);
getFetcher(headers).loadData(Priority.HIGH, callback);
waitForResponseLatch.await();
assertThat(mockWebServer.takeRequest().getHeader(headerField)).isEqualTo(headerValue);
}
PeerTrackerTest.java 文件源码
项目:nifi-android-s2s
阅读 19
收藏 0
点赞 0
评论 0
@Test
public void testUnsuccessfulResponseCode() throws IOException {
expectedException.expect(IOException.class);
expectedException.expectMessage(new StringStartsWith(RECEIVED_RESPONSE_CODE));
mockNiFiS2SServer.getMockWebServer().enqueue(new MockResponse().setResponseCode(400));
new HttpSiteToSiteClient(siteToSiteClientConfig, siteToSiteRemoteCluster);
}