@SmallTest
@Feature({"Cronet"})
@CompareDefaultWithCronet
public void testWriteAfterReadingResponse() throws Exception {
URL url = new URL(NativeTestServer.getEchoBodyURL());
HttpURLConnection connection =
(HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
OutputStream out = connection.getOutputStream();
assertEquals(200, connection.getResponseCode());
try {
out.write(TestUtil.UPLOAD_DATA);
fail();
} catch (Exception e) {
// Default implementation gives an IOException and says that the
// stream is closed. Cronet gives an IllegalStateException and
// complains about write after connected.
}
}
java类android.test.suitebuilder.annotation.SmallTest的实例源码
CronetBufferedOutputStreamTest.java 文件源码
项目:chromium-net-for-android
阅读 21
收藏 0
点赞 0
评论 0
CronetUrlRequestTest.java 文件源码
项目:chromium-net-for-android
阅读 33
收藏 0
点赞 0
评论 0
@SmallTest
@Feature({"Cronet"})
public void testUploadRedirectSync() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder =
new UrlRequest.Builder(NativeTestServer.getRedirectToEchoBody(), callback,
callback.getExecutor(), mTestFramework.mCronetEngine);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
dataProvider.addRead("test".getBytes());
builder.setUploadDataProvider(dataProvider, callback.getExecutor());
builder.addHeader("Content-Type", "useless/string");
builder.build().start();
callback.blockForDone();
dataProvider.assertClosed();
// 1 read call before the rewind, 1 after.
assertEquals(2, dataProvider.getNumReadCalls());
assertEquals(1, dataProvider.getNumRewindCalls());
assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
assertEquals("test", callback.mResponseAsString);
}
BidirectionalStreamTest.java 文件源码
项目:chromium-net-for-android
阅读 23
收藏 0
点赞 0
评论 0
@SmallTest
@Feature({"Cronet"})
@OnlyRunNativeCronet
public void testSimpleHead() throws Exception {
String url = Http2TestServer.getEchoMethodUrl();
TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCallback();
// Create stream.
BidirectionalStream stream = new BidirectionalStream
.Builder(url, callback, callback.getExecutor(),
mTestFramework.mCronetEngine)
.setHttpMethod("HEAD")
.build();
stream.start();
callback.blockForDone();
assertTrue(stream.isDone());
assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
assertEquals("HEAD", callback.mResponseAsString);
UrlResponseInfo urlResponseInfo =
createUrlResponseInfo(new String[] {url}, "", 200, 28, ":status", "200");
assertResponseEquals(urlResponseInfo, callback.mResponseInfo);
checkResponseInfo(callback.mResponseInfo, Http2TestServer.getEchoMethodUrl(), 200, "");
}
SdchTest.java 文件源码
项目:chromium-net-for-android
阅读 21
收藏 0
点赞 0
评论 0
@SmallTest
@Feature({"Cronet"})
@OnlyRunNativeCronet
public void testDictionaryNotFound() throws Exception {
setUp(Sdch.ENABLED, Api.ASYNC);
// Make a request to /sdch/index which advertises a bad dictionary that
// does not exist.
TestUrlRequestCallback callback1 = startAndWaitForComplete(mTestFramework.mCronetEngine,
NativeTestServer.getSdchURL() + "/sdch/index?q=NotFound");
assertEquals(200, callback1.mResponseInfo.getHttpStatusCode());
assertEquals("This is an index page.\n", callback1.mResponseAsString);
assertEquals(Arrays.asList("/sdch/dict/NotFound"),
callback1.mResponseInfo.getAllHeaders().get("Get-Dictionary"));
// Make a request to fetch /sdch/test, and make sure Sdch encoding is not used.
TestUrlRequestCallback callback2 = startAndWaitForComplete(
mTestFramework.mCronetEngine, NativeTestServer.getSdchURL() + "/sdch/test");
assertEquals(200, callback2.mResponseInfo.getHttpStatusCode());
assertEquals("Sdch is not used.\n", callback2.mResponseAsString);
}
CronetUrlRequestTest.java 文件源码
项目:chromium-net-for-android
阅读 28
收藏 0
点赞 0
评论 0
@SmallTest
@Feature({"Cronet"})
public void testUploadReadFailSync() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = new UrlRequest.Builder(NativeTestServer.getEchoBodyURL(),
callback, callback.getExecutor(), mTestFramework.mCronetEngine);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
dataProvider.setReadFailure(0, TestUploadDataProvider.FailMode.CALLBACK_SYNC);
// This will never be read, but if the length is 0, read may never be
// called.
dataProvider.addRead("test".getBytes());
builder.setUploadDataProvider(dataProvider, callback.getExecutor());
builder.addHeader("Content-Type", "useless/string");
builder.build().start();
callback.blockForDone();
dataProvider.assertClosed();
assertEquals(1, dataProvider.getNumReadCalls());
assertEquals(0, dataProvider.getNumRewindCalls());
assertEquals("Exception received from UploadDataProvider", callback.mError.getMessage());
assertEquals("Sync read failure", callback.mError.getCause().getMessage());
assertEquals(null, callback.mResponseInfo);
}
CronetBufferedOutputStreamTest.java 文件源码
项目:chromium-net-for-android
阅读 22
收藏 0
点赞 0
评论 0
@SmallTest
@Feature({"Cronet"})
@CompareDefaultWithCronet
public void testGetOutputStreamAfterConnectionMade() throws Exception {
URL url = new URL(NativeTestServer.getEchoBodyURL());
HttpURLConnection connection =
(HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
assertEquals(200, connection.getResponseCode());
try {
connection.getOutputStream();
fail();
} catch (java.net.ProtocolException e) {
// Expected.
}
}
CronetUrlRequestTest.java 文件源码
项目:chromium-net-for-android
阅读 25
收藏 0
点赞 0
评论 0
@SmallTest
@Feature({"Cronet"})
public void testUploadRewindFailSync() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder =
new UrlRequest.Builder(NativeTestServer.getRedirectToEchoBody(), callback,
callback.getExecutor(), mTestFramework.mCronetEngine);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
dataProvider.setRewindFailure(TestUploadDataProvider.FailMode.CALLBACK_SYNC);
dataProvider.addRead("test".getBytes());
builder.setUploadDataProvider(dataProvider, callback.getExecutor());
builder.addHeader("Content-Type", "useless/string");
builder.build().start();
callback.blockForDone();
dataProvider.assertClosed();
assertEquals(1, dataProvider.getNumReadCalls());
assertEquals(1, dataProvider.getNumRewindCalls());
assertEquals("Exception received from UploadDataProvider", callback.mError.getMessage());
assertEquals("Sync rewind failure", callback.mError.getCause().getMessage());
assertEquals(null, callback.mResponseInfo);
}
CronetHttpURLConnectionTest.java 文件源码
项目:chromium-net-for-android
阅读 21
收藏 0
点赞 0
评论 0
@SmallTest
@Feature({"Cronet"})
@CompareDefaultWithCronet
public void testInitOutputStreamInConnect() throws Exception {
URL url = new URL(NativeTestServer.getEchoBodyURL());
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
String dataString = "some very important data";
byte[] data = dataString.getBytes();
connection.setFixedLengthStreamingMode(data.length);
connection.connect();
OutputStream out = connection.getOutputStream();
out.write(data);
assertEquals(200, connection.getResponseCode());
assertEquals("OK", connection.getResponseMessage());
assertEquals(dataString, TestUtil.getResponseAsString(connection));
connection.disconnect();
}
CronetUrlRequestContextTest.java 文件源码
项目:chromium-net-for-android
阅读 34
收藏 0
点赞 0
评论 0
@SmallTest
@Feature({"Cronet"})
public void testInitEngineStartTwoRequests() throws Exception {
CronetTestFramework testFramework = startCronetTestFrameworkAndSkipLibraryInit();
// Make two requests after initializing the context.
CronetEngine cronetEngine = testFramework.initCronetEngine();
int[] statusCodes = {0, 0};
String[] urls = {mUrl, mUrl404};
for (int i = 0; i < 2; i++) {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder urlRequestBuilder =
new UrlRequest.Builder(urls[i], callback, callback.getExecutor(), cronetEngine);
urlRequestBuilder.build().start();
callback.blockForDone();
statusCodes[i] = callback.mResponseInfo.getHttpStatusCode();
}
assertEquals(200, statusCodes[0]);
assertEquals(404, statusCodes[1]);
}
CronetBufferedOutputStreamTest.java 文件源码
项目:chromium-net-for-android
阅读 22
收藏 0
点赞 0
评论 0
@SmallTest
@Feature({"Cronet"})
@CompareDefaultWithCronet
public void testPostWithoutContentLengthOneMassiveWrite() throws Exception {
URL url = new URL(NativeTestServer.getEchoBodyURL());
HttpURLConnection connection =
(HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
OutputStream out = connection.getOutputStream();
byte[] largeData = TestUtil.getLargeData();
out.write(largeData);
assertEquals(200, connection.getResponseCode());
assertEquals("OK", connection.getResponseMessage());
TestUtil.checkLargeData(TestUtil.getResponseAsString(connection));
connection.disconnect();
}