Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(833)

Side by Side Diff: components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java

Issue 2892013002: [Cronet] Clean up tests (Closed)
Patch Set: address comments Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 static org.chromium.base.CollectionUtil.newHashSet; 7 import static org.chromium.base.CollectionUtil.newHashSet;
8 8
9 import android.support.test.filters.SmallTest; 9 import android.support.test.filters.SmallTest;
10 10
11 import org.json.JSONObject; 11 import org.json.JSONObject;
12 12
13 import org.chromium.base.test.util.Feature; 13 import org.chromium.base.test.util.Feature;
14 import org.chromium.net.MetricsTestUtil.TestRequestFinishedListener; 14 import org.chromium.net.MetricsTestUtil.TestRequestFinishedListener;
15 15
16 import java.nio.ByteBuffer; 16 import java.nio.ByteBuffer;
17 import java.util.Date; 17 import java.util.Date;
18 import java.util.HashSet; 18 import java.util.HashSet;
19 19
20 /** 20 /**
21 * Tests functionality of BidirectionalStream's QUIC implementation. 21 * Tests functionality of BidirectionalStream's QUIC implementation.
22 */ 22 */
23 public class BidirectionalStreamQuicTest extends CronetTestBase { 23 public class BidirectionalStreamQuicTest extends CronetTestBase {
24 private CronetTestFramework mTestFramework; 24 private ExperimentalCronetEngine mCronetEngine;
25 private enum QuicBidirectionalStreams { 25 private enum QuicBidirectionalStreams {
26 ENABLED, 26 ENABLED,
27 DISABLED, 27 DISABLED,
28 } 28 }
29 29
30 private void setUp(QuicBidirectionalStreams enabled) throws Exception { 30 private void setUp(QuicBidirectionalStreams enabled) throws Exception {
31 // Load library first to create MockCertVerifier. 31 // Load library first to create MockCertVerifier.
32 System.loadLibrary("cronet_tests"); 32 System.loadLibrary("cronet_tests");
33 ExperimentalCronetEngine.Builder builder = 33 ExperimentalCronetEngine.Builder builder =
34 new ExperimentalCronetEngine.Builder(getContext()); 34 new ExperimentalCronetEngine.Builder(getContext());
(...skipping 10 matching lines...) Expand all
45 .put("QUIC", quicParams) 45 .put("QUIC", quicParams)
46 .put("HostResolverRules", hostR esolverParams); 46 .put("HostResolverRules", hostR esolverParams);
47 builder.setExperimentalOptions(experimentalOptions.toString()); 47 builder.setExperimentalOptions(experimentalOptions.toString());
48 48
49 builder.addQuicHint(QuicTestServer.getServerHost(), QuicTestServer.getSe rverPort(), 49 builder.addQuicHint(QuicTestServer.getServerHost(), QuicTestServer.getSe rverPort(),
50 QuicTestServer.getServerPort()); 50 QuicTestServer.getServerPort());
51 51
52 CronetTestUtil.setMockCertVerifierForTesting( 52 CronetTestUtil.setMockCertVerifierForTesting(
53 builder, QuicTestServer.createMockCertVerifier()); 53 builder, QuicTestServer.createMockCertVerifier());
54 54
55 mTestFramework = startCronetTestFrameworkWithUrlAndCronetEngineBuilder(n ull, builder); 55 mCronetEngine = builder.build();
56 } 56 }
57 57
58 @Override 58 @Override
59 protected void tearDown() throws Exception { 59 protected void tearDown() throws Exception {
60 QuicTestServer.shutdownQuicTestServer(); 60 QuicTestServer.shutdownQuicTestServer();
61 super.tearDown(); 61 super.tearDown();
62 } 62 }
63 63
64 @SmallTest 64 @SmallTest
65 @Feature({"Cronet"}) 65 @Feature({"Cronet"})
66 @OnlyRunNativeCronet 66 @OnlyRunNativeCronet
67 // Test that QUIC is negotiated. 67 // Test that QUIC is negotiated.
68 public void testSimpleGet() throws Exception { 68 public void testSimpleGet() throws Exception {
69 setUp(QuicBidirectionalStreams.ENABLED); 69 setUp(QuicBidirectionalStreams.ENABLED);
70 String path = "/simple.txt"; 70 String path = "/simple.txt";
71 String quicURL = QuicTestServer.getServerURL() + path; 71 String quicURL = QuicTestServer.getServerURL() + path;
72 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa llback(); 72 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa llback();
73 BidirectionalStream stream = 73 BidirectionalStream stream =
74 mTestFramework.mCronetEngine 74 mCronetEngine
75 .newBidirectionalStreamBuilder(quicURL, callback, callba ck.getExecutor()) 75 .newBidirectionalStreamBuilder(quicURL, callback, callba ck.getExecutor())
76 .setHttpMethod("GET") 76 .setHttpMethod("GET")
77 .build(); 77 .build();
78 stream.start(); 78 stream.start();
79 callback.blockForDone(); 79 callback.blockForDone();
80 assertTrue(stream.isDone()); 80 assertTrue(stream.isDone());
81 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); 81 assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
82 assertEquals("This is a simple text file served by QUIC.\n", callback.mR esponseAsString); 82 assertEquals("This is a simple text file served by QUIC.\n", callback.mR esponseAsString);
83 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtoc ol()); 83 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtoc ol());
84 } 84 }
85 85
86 @SmallTest 86 @SmallTest
87 @Feature({"Cronet"}) 87 @Feature({"Cronet"})
88 @OnlyRunNativeCronet 88 @OnlyRunNativeCronet
89 public void testSimplePost() throws Exception { 89 public void testSimplePost() throws Exception {
90 setUp(QuicBidirectionalStreams.ENABLED); 90 setUp(QuicBidirectionalStreams.ENABLED);
91 String path = "/simple.txt"; 91 String path = "/simple.txt";
92 String quicURL = QuicTestServer.getServerURL() + path; 92 String quicURL = QuicTestServer.getServerURL() + path;
93 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa llback(); 93 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa llback();
94 // Although we have no way to verify data sent at this point, this test 94 // Although we have no way to verify data sent at this point, this test
95 // can make sure that onWriteCompleted is invoked appropriately. 95 // can make sure that onWriteCompleted is invoked appropriately.
96 callback.addWriteData("Test String".getBytes()); 96 callback.addWriteData("Test String".getBytes());
97 callback.addWriteData("1234567890".getBytes()); 97 callback.addWriteData("1234567890".getBytes());
98 callback.addWriteData("woot!".getBytes()); 98 callback.addWriteData("woot!".getBytes());
99 TestRequestFinishedListener requestFinishedListener = new TestRequestFin ishedListener(); 99 TestRequestFinishedListener requestFinishedListener = new TestRequestFin ishedListener();
100 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL istener); 100 mCronetEngine.addRequestFinishedListener(requestFinishedListener);
101 BidirectionalStream stream = 101 BidirectionalStream stream =
102 mTestFramework.mCronetEngine 102 mCronetEngine
103 .newBidirectionalStreamBuilder(quicURL, callback, callba ck.getExecutor()) 103 .newBidirectionalStreamBuilder(quicURL, callback, callba ck.getExecutor())
104 .addHeader("foo", "bar") 104 .addHeader("foo", "bar")
105 .addHeader("empty", "") 105 .addHeader("empty", "")
106 .addHeader("Content-Type", "zebra") 106 .addHeader("Content-Type", "zebra")
107 .addRequestAnnotation("request annotation") 107 .addRequestAnnotation("request annotation")
108 .addRequestAnnotation(this) 108 .addRequestAnnotation(this)
109 .build(); 109 .build();
110 Date startTime = new Date(); 110 Date startTime = new Date();
111 stream.start(); 111 stream.start();
112 callback.blockForDone(); 112 callback.blockForDone();
(...skipping 19 matching lines...) Expand all
132 // TODO(xunjieli): Use ParameterizedTest instead of the loop. 132 // TODO(xunjieli): Use ParameterizedTest instead of the loop.
133 for (int i = 0; i < 2; i++) { 133 for (int i = 0; i < 2; i++) {
134 String path = "/simple.txt"; 134 String path = "/simple.txt";
135 String quicURL = QuicTestServer.getServerURL() + path; 135 String quicURL = QuicTestServer.getServerURL() + path;
136 TestBidirectionalStreamCallback callback = new TestBidirectionalStre amCallback(); 136 TestBidirectionalStreamCallback callback = new TestBidirectionalStre amCallback();
137 // Although we have no way to verify data sent at this point, this t est 137 // Although we have no way to verify data sent at this point, this t est
138 // can make sure that onWriteCompleted is invoked appropriately. 138 // can make sure that onWriteCompleted is invoked appropriately.
139 callback.addWriteData("Test String".getBytes(), false); 139 callback.addWriteData("Test String".getBytes(), false);
140 callback.addWriteData("1234567890".getBytes(), false); 140 callback.addWriteData("1234567890".getBytes(), false);
141 callback.addWriteData("woot!".getBytes(), true); 141 callback.addWriteData("woot!".getBytes(), true);
142 BidirectionalStream stream = mTestFramework.mCronetEngine 142 BidirectionalStream stream = mCronetEngine
143 .newBidirectionalStreamBuilder( 143 .newBidirectionalStreamBuilder(
144 quicURL, callback, call back.getExecutor()) 144 quicURL, callback, call back.getExecutor())
145 .delayRequestHeadersUntilFirstF lush(i == 0) 145 .delayRequestHeadersUntilFirstF lush(i == 0)
146 .addHeader("foo", "bar") 146 .addHeader("foo", "bar")
147 .addHeader("empty", "") 147 .addHeader("empty", "")
148 .addHeader("Content-Type", "zeb ra") 148 .addHeader("Content-Type", "zeb ra")
149 .build(); 149 .build();
150 stream.start(); 150 stream.start();
151 callback.blockForDone(); 151 callback.blockForDone();
152 assertTrue(stream.isDone()); 152 assertTrue(stream.isDone());
(...skipping 15 matching lines...) Expand all
168 String quicURL = QuicTestServer.getServerURL() + path; 168 String quicURL = QuicTestServer.getServerURL() + path;
169 TestBidirectionalStreamCallback callback = new TestBidirectionalStre amCallback(); 169 TestBidirectionalStreamCallback callback = new TestBidirectionalStre amCallback();
170 // Although we have no way to verify data sent at this point, this t est 170 // Although we have no way to verify data sent at this point, this t est
171 // can make sure that onWriteCompleted is invoked appropriately. 171 // can make sure that onWriteCompleted is invoked appropriately.
172 callback.addWriteData("Test String".getBytes(), false); 172 callback.addWriteData("Test String".getBytes(), false);
173 callback.addWriteData("1234567890".getBytes(), false); 173 callback.addWriteData("1234567890".getBytes(), false);
174 callback.addWriteData("woot!".getBytes(), true); 174 callback.addWriteData("woot!".getBytes(), true);
175 callback.addWriteData("Test String".getBytes(), false); 175 callback.addWriteData("Test String".getBytes(), false);
176 callback.addWriteData("1234567890".getBytes(), false); 176 callback.addWriteData("1234567890".getBytes(), false);
177 callback.addWriteData("woot!".getBytes(), true); 177 callback.addWriteData("woot!".getBytes(), true);
178 BidirectionalStream stream = mTestFramework.mCronetEngine 178 BidirectionalStream stream = mCronetEngine
179 .newBidirectionalStreamBuilder( 179 .newBidirectionalStreamBuilder(
180 quicURL, callback, call back.getExecutor()) 180 quicURL, callback, call back.getExecutor())
181 .delayRequestHeadersUntilFirstF lush(i == 0) 181 .delayRequestHeadersUntilFirstF lush(i == 0)
182 .addHeader("foo", "bar") 182 .addHeader("foo", "bar")
183 .addHeader("empty", "") 183 .addHeader("empty", "")
184 .addHeader("Content-Type", "zeb ra") 184 .addHeader("Content-Type", "zeb ra")
185 .build(); 185 .build();
186 stream.start(); 186 stream.start();
187 callback.blockForDone(); 187 callback.blockForDone();
188 assertTrue(stream.isDone()); 188 assertTrue(stream.isDone());
(...skipping 16 matching lines...) Expand all
205 205
206 TestBidirectionalStreamCallback callback = new TestBidirectionalStre amCallback() { 206 TestBidirectionalStreamCallback callback = new TestBidirectionalStre amCallback() {
207 @Override 207 @Override
208 public void onStreamReady(BidirectionalStream stream) { 208 public void onStreamReady(BidirectionalStream stream) {
209 // This flush should send the delayed headers. 209 // This flush should send the delayed headers.
210 stream.flush(); 210 stream.flush();
211 super.onStreamReady(stream); 211 super.onStreamReady(stream);
212 } 212 }
213 }; 213 };
214 BidirectionalStream stream = 214 BidirectionalStream stream =
215 mTestFramework.mCronetEngine 215 mCronetEngine
216 .newBidirectionalStreamBuilder(url, callback, callba ck.getExecutor()) 216 .newBidirectionalStreamBuilder(url, callback, callba ck.getExecutor())
217 .setHttpMethod("GET") 217 .setHttpMethod("GET")
218 .delayRequestHeadersUntilFirstFlush(i == 0) 218 .delayRequestHeadersUntilFirstFlush(i == 0)
219 .addHeader("foo", "bar") 219 .addHeader("foo", "bar")
220 .addHeader("empty", "") 220 .addHeader("empty", "")
221 .build(); 221 .build();
222 // Flush before stream is started should not crash. 222 // Flush before stream is started should not crash.
223 stream.flush(); 223 stream.flush();
224 224
225 stream.start(); 225 stream.start();
(...skipping 17 matching lines...) Expand all
243 public void testSimplePostWithFlushAfterOneWrite() throws Exception { 243 public void testSimplePostWithFlushAfterOneWrite() throws Exception {
244 setUp(QuicBidirectionalStreams.ENABLED); 244 setUp(QuicBidirectionalStreams.ENABLED);
245 // TODO(xunjieli): Use ParameterizedTest instead of the loop. 245 // TODO(xunjieli): Use ParameterizedTest instead of the loop.
246 for (int i = 0; i < 2; i++) { 246 for (int i = 0; i < 2; i++) {
247 String path = "/simple.txt"; 247 String path = "/simple.txt";
248 String url = QuicTestServer.getServerURL() + path; 248 String url = QuicTestServer.getServerURL() + path;
249 249
250 TestBidirectionalStreamCallback callback = new TestBidirectionalStre amCallback(); 250 TestBidirectionalStreamCallback callback = new TestBidirectionalStre amCallback();
251 callback.addWriteData("Test String".getBytes(), true); 251 callback.addWriteData("Test String".getBytes(), true);
252 BidirectionalStream stream = 252 BidirectionalStream stream =
253 mTestFramework.mCronetEngine 253 mCronetEngine
254 .newBidirectionalStreamBuilder(url, callback, callba ck.getExecutor()) 254 .newBidirectionalStreamBuilder(url, callback, callba ck.getExecutor())
255 .delayRequestHeadersUntilFirstFlush(i == 0) 255 .delayRequestHeadersUntilFirstFlush(i == 0)
256 .addHeader("foo", "bar") 256 .addHeader("foo", "bar")
257 .addHeader("empty", "") 257 .addHeader("empty", "")
258 .addHeader("Content-Type", "zebra") 258 .addHeader("Content-Type", "zebra")
259 .build(); 259 .build();
260 stream.start(); 260 stream.start();
261 callback.blockForDone(); 261 callback.blockForDone();
262 assertTrue(stream.isDone()); 262 assertTrue(stream.isDone());
263 263
264 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); 264 assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
265 assertEquals( 265 assertEquals(
266 "This is a simple text file served by QUIC.\n", callback.mRe sponseAsString); 266 "This is a simple text file served by QUIC.\n", callback.mRe sponseAsString);
267 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedPr otocol()); 267 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedPr otocol());
268 } 268 }
269 } 269 }
270 270
271 @SmallTest 271 @SmallTest
272 @Feature({"Cronet"}) 272 @Feature({"Cronet"})
273 @OnlyRunNativeCronet 273 @OnlyRunNativeCronet
274 public void testQuicBidirectionalStreamDisabled() throws Exception { 274 public void testQuicBidirectionalStreamDisabled() throws Exception {
275 setUp(QuicBidirectionalStreams.DISABLED); 275 setUp(QuicBidirectionalStreams.DISABLED);
276 String path = "/simple.txt"; 276 String path = "/simple.txt";
277 String quicURL = QuicTestServer.getServerURL() + path; 277 String quicURL = QuicTestServer.getServerURL() + path;
278 278
279 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa llback(); 279 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa llback();
280 BidirectionalStream stream = 280 BidirectionalStream stream =
281 mTestFramework.mCronetEngine 281 mCronetEngine
282 .newBidirectionalStreamBuilder(quicURL, callback, callba ck.getExecutor()) 282 .newBidirectionalStreamBuilder(quicURL, callback, callba ck.getExecutor())
283 .setHttpMethod("GET") 283 .setHttpMethod("GET")
284 .build(); 284 .build();
285 stream.start(); 285 stream.start();
286 callback.blockForDone(); 286 callback.blockForDone();
287 assertTrue(stream.isDone()); 287 assertTrue(stream.isDone());
288 assertTrue(callback.mOnErrorCalled); 288 assertTrue(callback.mOnErrorCalled);
289 assertNull(callback.mResponseInfo); 289 assertNull(callback.mResponseInfo);
290 } 290 }
291 291
(...skipping 19 matching lines...) Expand all
311 // The second call to shutdownQuicTestServer is no-op. 311 // The second call to shutdownQuicTestServer is no-op.
312 QuicTestServer.shutdownQuicTestServer(); 312 QuicTestServer.shutdownQuicTestServer();
313 } 313 }
314 }; 314 };
315 315
316 callback.addWriteData("Test String".getBytes()); 316 callback.addWriteData("Test String".getBytes());
317 callback.addWriteData("1234567890".getBytes()); 317 callback.addWriteData("1234567890".getBytes());
318 callback.addWriteData("woot!".getBytes()); 318 callback.addWriteData("woot!".getBytes());
319 319
320 BidirectionalStream stream = 320 BidirectionalStream stream =
321 mTestFramework.mCronetEngine 321 mCronetEngine
322 .newBidirectionalStreamBuilder(quicURL, callback, callba ck.getExecutor()) 322 .newBidirectionalStreamBuilder(quicURL, callback, callba ck.getExecutor())
323 .addHeader("foo", "bar") 323 .addHeader("foo", "bar")
324 .addHeader("empty", "") 324 .addHeader("empty", "")
325 .addHeader("Content-Type", "zebra") 325 .addHeader("Content-Type", "zebra")
326 .build(); 326 .build();
327 stream.start(); 327 stream.start();
328 callback.blockForDone(); 328 callback.blockForDone();
329 assertTrue(stream.isDone()); 329 assertTrue(stream.isDone());
330 // Server terminated on us, so the stream must fail. 330 // Server terminated on us, so the stream must fail.
331 // QUIC reports this as ERR_QUIC_PROTOCOL_ERROR. Sometimes we get ERR_CO NNECTION_REFUSED. 331 // QUIC reports this as ERR_QUIC_PROTOCOL_ERROR. Sometimes we get ERR_CO NNECTION_REFUSED.
332 assertNotNull(callback.mError); 332 assertNotNull(callback.mError);
333 assertTrue(callback.mError instanceof NetworkException); 333 assertTrue(callback.mError instanceof NetworkException);
334 NetworkException networkError = (NetworkException) callback.mError; 334 NetworkException networkError = (NetworkException) callback.mError;
335 assertTrue(NetError.ERR_QUIC_PROTOCOL_ERROR == networkError.getCronetInt ernalErrorCode() 335 assertTrue(NetError.ERR_QUIC_PROTOCOL_ERROR == networkError.getCronetInt ernalErrorCode()
336 || NetError.ERR_CONNECTION_REFUSED == networkError.getCronetInte rnalErrorCode()); 336 || NetError.ERR_CONNECTION_REFUSED == networkError.getCronetInte rnalErrorCode());
337 } 337 }
338 338
339 @SmallTest 339 @SmallTest
340 @Feature({"Cronet"}) 340 @Feature({"Cronet"})
341 @OnlyRunNativeCronet 341 @OnlyRunNativeCronet
342 // Test that certificate verify results are serialized and deserialized corr ectly. 342 // Test that certificate verify results are serialized and deserialized corr ectly.
343 public void testSerializeDeserialize() throws Exception { 343 public void testSerializeDeserialize() throws Exception {
344 setUp(QuicBidirectionalStreams.ENABLED); 344 setUp(QuicBidirectionalStreams.ENABLED);
345 String path = "/simple.txt"; 345 String path = "/simple.txt";
346 String quicURL = QuicTestServer.getServerURL() + path; 346 String quicURL = QuicTestServer.getServerURL() + path;
347 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa llback(); 347 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa llback();
348 BidirectionalStream stream = 348 BidirectionalStream stream =
349 mTestFramework.mCronetEngine 349 mCronetEngine
350 .newBidirectionalStreamBuilder(quicURL, callback, callba ck.getExecutor()) 350 .newBidirectionalStreamBuilder(quicURL, callback, callba ck.getExecutor())
351 .setHttpMethod("GET") 351 .setHttpMethod("GET")
352 .build(); 352 .build();
353 stream.start(); 353 stream.start();
354 callback.blockForDone(); 354 callback.blockForDone();
355 assertTrue(stream.isDone()); 355 assertTrue(stream.isDone());
356 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); 356 assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
357 assertEquals("This is a simple text file served by QUIC.\n", callback.mR esponseAsString); 357 assertEquals("This is a simple text file served by QUIC.\n", callback.mR esponseAsString);
358 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtoc ol()); 358 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtoc ol());
359 359
360 String serialized_data = mTestFramework.mCronetEngine.getCertVerifierDat a(100); 360 String serialized_data = mCronetEngine.getCertVerifierData(100);
361 assertFalse(serialized_data.isEmpty()); 361 assertFalse(serialized_data.isEmpty());
362 362
363 // Create a new builder and verify that the |serialized_data| is deseria lized correctly. 363 // Create a new builder and verify that the |serialized_data| is deseria lized correctly.
364 ExperimentalCronetEngine.Builder builder = 364 ExperimentalCronetEngine.Builder builder =
365 new ExperimentalCronetEngine.Builder(getContext()); 365 new ExperimentalCronetEngine.Builder(getContext());
366 builder.enableQuic(true); 366 builder.enableQuic(true);
367 CronetTestUtil.setMockCertVerifierForTesting( 367 CronetTestUtil.setMockCertVerifierForTesting(
368 builder, QuicTestServer.createMockCertVerifier()); 368 builder, QuicTestServer.createMockCertVerifier());
369 builder.setCertVerifierData(serialized_data); 369 builder.setCertVerifierData(serialized_data);
370 370
371 CronetTestFramework testFramework = 371 String deserialized_data = builder.build().getCertVerifierData(100);
372 startCronetTestFrameworkWithUrlAndCronetEngineBuilder(null, buil der);
373 String deserialized_data = testFramework.mCronetEngine.getCertVerifierDa ta(100);
374 assertEquals(deserialized_data, serialized_data); 372 assertEquals(deserialized_data, serialized_data);
375 } 373 }
376 } 374 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698