OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.net; | 5 package org.chromium.net; |
6 | 6 |
7 import android.test.suitebuilder.annotation.SmallTest; | 7 import android.test.suitebuilder.annotation.SmallTest; |
8 | 8 |
9 import org.chromium.base.test.util.Feature; | 9 import org.chromium.base.test.util.Feature; |
10 import org.chromium.net.CronetTestBase.OnlyRunNativeCronet; | 10 import org.chromium.net.CronetTestBase.OnlyRunNativeCronet; |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 callback.blockForDone(); | 68 callback.blockForDone(); |
69 assertTrue(stream.isDone()); | 69 assertTrue(stream.isDone()); |
70 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); | 70 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); |
71 assertEquals("This is a simple text file served by QUIC.\n", callback.mR
esponseAsString); | 71 assertEquals("This is a simple text file served by QUIC.\n", callback.mR
esponseAsString); |
72 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtoc
ol()); | 72 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtoc
ol()); |
73 } | 73 } |
74 | 74 |
75 @SmallTest | 75 @SmallTest |
76 @Feature({"Cronet"}) | 76 @Feature({"Cronet"}) |
77 @OnlyRunNativeCronet | 77 @OnlyRunNativeCronet |
| 78 public void testSimplePost() throws Exception { |
| 79 setUp(QuicBidirectionalStreams.ENABLED); |
| 80 String path = "/simple.txt"; |
| 81 String quicURL = QuicTestServer.getServerURL() + path; |
| 82 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa
llback(); |
| 83 // Although we have no way to verify data sent at this point, this test |
| 84 // can make sure that onWriteCompleted is invoked appropriately. |
| 85 callback.addWriteData("Test String".getBytes()); |
| 86 callback.addWriteData("1234567890".getBytes()); |
| 87 callback.addWriteData("woot!".getBytes()); |
| 88 BidirectionalStream stream = new BidirectionalStream |
| 89 .Builder(quicURL, callback, callbac
k.getExecutor(), |
| 90 mTestFramework.mCronetEngin
e) |
| 91 .addHeader("foo", "bar") |
| 92 .addHeader("empty", "") |
| 93 .addHeader("Content-Type", "zebra") |
| 94 .build(); |
| 95 stream.start(); |
| 96 callback.blockForDone(); |
| 97 assertTrue(stream.isDone()); |
| 98 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); |
| 99 assertEquals("This is a simple text file served by QUIC.\n", callback.mR
esponseAsString); |
| 100 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtoc
ol()); |
| 101 } |
| 102 |
| 103 @SmallTest |
| 104 @Feature({"Cronet"}) |
| 105 @OnlyRunNativeCronet |
| 106 public void testSimplePostWithFlush() throws Exception { |
| 107 setUp(QuicBidirectionalStreams.ENABLED); |
| 108 String path = "/simple.txt"; |
| 109 String quicURL = QuicTestServer.getServerURL() + path; |
| 110 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa
llback(); |
| 111 callback.setHandleFlush(); |
| 112 // Although we have no way to verify data sent at this point, this test |
| 113 // can make sure that onWriteCompleted is invoked appropriately. |
| 114 callback.addWriteData("Test String".getBytes(), false); |
| 115 callback.addWriteData("1234567890".getBytes(), false); |
| 116 callback.addWriteData("woot!".getBytes(), true); |
| 117 BidirectionalStream stream = new BidirectionalStream |
| 118 .Builder(quicURL, callback, callbac
k.getExecutor(), |
| 119 mTestFramework.mCronetEngin
e) |
| 120 .setDisableAutoFlush() |
| 121 .addHeader("foo", "bar") |
| 122 .addHeader("empty", "") |
| 123 .addHeader("Content-Type", "zebra") |
| 124 .build(); |
| 125 stream.start(); |
| 126 callback.blockForDone(); |
| 127 assertTrue(stream.isDone()); |
| 128 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); |
| 129 assertEquals("This is a simple text file served by QUIC.\n", callback.mR
esponseAsString); |
| 130 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtoc
ol()); |
| 131 } |
| 132 |
| 133 @SmallTest |
| 134 @Feature({"Cronet"}) |
| 135 @OnlyRunNativeCronet |
| 136 public void testSimplePostWithFlushTwice() throws Exception { |
| 137 setUp(QuicBidirectionalStreams.ENABLED); |
| 138 String path = "/simple.txt"; |
| 139 String quicURL = QuicTestServer.getServerURL() + path; |
| 140 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa
llback(); |
| 141 callback.setHandleFlush(); |
| 142 // Although we have no way to verify data sent at this point, this test |
| 143 // can make sure that onWriteCompleted is invoked appropriately. |
| 144 callback.addWriteData("Test String".getBytes(), false); |
| 145 callback.addWriteData("1234567890".getBytes(), false); |
| 146 callback.addWriteData("woot!".getBytes(), true); |
| 147 callback.addWriteData("Test String".getBytes(), false); |
| 148 callback.addWriteData("1234567890".getBytes(), false); |
| 149 callback.addWriteData("woot!".getBytes(), true); |
| 150 BidirectionalStream stream = new BidirectionalStream |
| 151 .Builder(quicURL, callback, callbac
k.getExecutor(), |
| 152 mTestFramework.mCronetEngin
e) |
| 153 .setDisableAutoFlush() |
| 154 .addHeader("foo", "bar") |
| 155 .addHeader("empty", "") |
| 156 .addHeader("Content-Type", "zebra") |
| 157 .build(); |
| 158 stream.start(); |
| 159 callback.blockForDone(); |
| 160 assertTrue(stream.isDone()); |
| 161 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); |
| 162 assertEquals("This is a simple text file served by QUIC.\n", callback.mR
esponseAsString); |
| 163 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtoc
ol()); |
| 164 } |
| 165 |
| 166 @SmallTest |
| 167 @Feature({"Cronet"}) |
| 168 @OnlyRunNativeCronet |
78 public void testQuicBidirectionalStreamDisabled() throws Exception { | 169 public void testQuicBidirectionalStreamDisabled() throws Exception { |
79 setUp(QuicBidirectionalStreams.DISABLED); | 170 setUp(QuicBidirectionalStreams.DISABLED); |
80 String path = "/simple.txt"; | 171 String path = "/simple.txt"; |
81 String quicURL = QuicTestServer.getServerURL() + path; | 172 String quicURL = QuicTestServer.getServerURL() + path; |
82 | 173 |
83 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa
llback(); | 174 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa
llback(); |
84 BidirectionalStream stream = new BidirectionalStream | 175 BidirectionalStream stream = new BidirectionalStream |
85 .Builder(quicURL, callback, callbac
k.getExecutor(), | 176 .Builder(quicURL, callback, callbac
k.getExecutor(), |
86 mTestFramework.mCronetEngin
e) | 177 mTestFramework.mCronetEngin
e) |
87 .setHttpMethod("GET") | 178 .setHttpMethod("GET") |
88 .build(); | 179 .build(); |
89 stream.start(); | 180 stream.start(); |
90 callback.blockForDone(); | 181 callback.blockForDone(); |
91 assertTrue(stream.isDone()); | 182 assertTrue(stream.isDone()); |
92 assertTrue(callback.mOnErrorCalled); | 183 assertTrue(callback.mOnErrorCalled); |
93 assertNull(callback.mResponseInfo); | 184 assertNull(callback.mResponseInfo); |
94 } | 185 } |
95 } | 186 } |
OLD | NEW |