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

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

Issue 2339223002: Cronet API Refactoring (Closed)
Patch Set: Addressed Paul's comments + rebase Created 4 years, 2 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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.test.util.CertTestUtil; 10 import org.chromium.net.test.util.CertTestUtil;
(...skipping 16 matching lines...) Expand all
27 private static final String[] CERTS_USED = {CERT_USED}; 27 private static final String[] CERTS_USED = {CERT_USED};
28 private static final int DISTANT_FUTURE = Integer.MAX_VALUE; 28 private static final int DISTANT_FUTURE = Integer.MAX_VALUE;
29 private static final boolean INCLUDE_SUBDOMAINS = true; 29 private static final boolean INCLUDE_SUBDOMAINS = true;
30 private static final boolean EXCLUDE_SUBDOMAINS = false; 30 private static final boolean EXCLUDE_SUBDOMAINS = false;
31 private static final boolean KNOWN_ROOT = true; 31 private static final boolean KNOWN_ROOT = true;
32 private static final boolean UNKNOWN_ROOT = false; 32 private static final boolean UNKNOWN_ROOT = false;
33 private static final boolean ENABLE_PINNING_BYPASS_FOR_LOCAL_ANCHORS = true; 33 private static final boolean ENABLE_PINNING_BYPASS_FOR_LOCAL_ANCHORS = true;
34 private static final boolean DISABLE_PINNING_BYPASS_FOR_LOCAL_ANCHORS = fals e; 34 private static final boolean DISABLE_PINNING_BYPASS_FOR_LOCAL_ANCHORS = fals e;
35 35
36 private CronetTestFramework mTestFramework; 36 private CronetTestFramework mTestFramework;
37 private CronetEngine.Builder mBuilder; 37 private ExperimentalCronetEngine.Builder mBuilder;
38 private TestUrlRequestCallback mListener; 38 private TestUrlRequestCallback mListener;
39 private String mServerUrl; // https://test.example.com:6121 39 private String mServerUrl; // https://test.example.com:6121
40 private String mServerHost; // test.example.com 40 private String mServerHost; // test.example.com
41 private String mDomain; // example.com 41 private String mDomain; // example.com
42 42
43 @Override 43 @Override
44 protected void setUp() throws Exception { 44 protected void setUp() throws Exception {
45 super.setUp(); 45 super.setUp();
46 // Start QUIC Test Server 46 // Start QUIC Test Server
47 System.loadLibrary("cronet_tests"); 47 System.loadLibrary("cronet_tests");
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 fail("Did not expect an error but got error code " 380 fail("Did not expect an error but got error code "
381 + mListener.mError.getCronetInternalErrorCode()); 381 + mListener.mError.getCronetInternalErrorCode());
382 } 382 }
383 assertNotNull("Expected non-null response from the server", mListener.mR esponseInfo); 383 assertNotNull("Expected non-null response from the server", mListener.mR esponseInfo);
384 assertEquals(200, mListener.mResponseInfo.getHttpStatusCode()); 384 assertEquals(200, mListener.mResponseInfo.getHttpStatusCode());
385 } 385 }
386 386
387 private void createCronetEngineBuilder(boolean bypassPinningForLocalAnchors, boolean knownRoot) 387 private void createCronetEngineBuilder(boolean bypassPinningForLocalAnchors, boolean knownRoot)
388 throws Exception { 388 throws Exception {
389 // Set common CronetEngine parameters 389 // Set common CronetEngine parameters
390 mBuilder = new CronetEngine.Builder(getContext()); 390 mBuilder = new ExperimentalCronetEngine.Builder(getContext());
391 mBuilder.enablePublicKeyPinningBypassForLocalTrustAnchors(bypassPinningF orLocalAnchors); 391 mBuilder.enablePublicKeyPinningBypassForLocalTrustAnchors(bypassPinningF orLocalAnchors);
392 mBuilder.enableQuic(true); 392 mBuilder.enableQuic(true);
393 mBuilder.addQuicHint(QuicTestServer.getServerHost(), QuicTestServer.getS erverPort(), 393 mBuilder.addQuicHint(QuicTestServer.getServerHost(), QuicTestServer.getS erverPort(),
394 QuicTestServer.getServerPort()); 394 QuicTestServer.getServerPort());
395 JSONObject quicParams = new JSONObject().put("host_whitelist", "test.exa mple.com"); 395 JSONObject quicParams = new JSONObject().put("host_whitelist", "test.exa mple.com");
396 JSONObject hostResolverParams = CronetTestUtil.generateHostResolverRules (); 396 JSONObject hostResolverParams = CronetTestUtil.generateHostResolverRules ();
397 JSONObject experimentalOptions = new JSONObject() 397 JSONObject experimentalOptions = new JSONObject()
398 .put("QUIC", quicParams) 398 .put("QUIC", quicParams)
399 .put("HostResolverRules", hostR esolverParams); 399 .put("HostResolverRules", hostR esolverParams);
400 mBuilder.setExperimentalOptions(experimentalOptions.toString()); 400 mBuilder.setExperimentalOptions(experimentalOptions.toString());
401 mBuilder.setStoragePath(CronetTestFramework.getTestStorage(getContext()) ); 401 mBuilder.setStoragePath(CronetTestFramework.getTestStorage(getContext()) );
402 mBuilder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK_NO_HTTP, 1 000 * 1024); 402 mBuilder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK_NO_HTTP, 1 000 * 1024);
403 mBuilder.setMockCertVerifierForTesting( 403 CronetTestUtil.setMockCertVerifierForTesting(
404 MockCertVerifier.createMockCertVerifier(CERTS_USED, knownRoot)); 404 mBuilder, MockCertVerifier.createMockCertVerifier(CERTS_USED, kn ownRoot));
405 } 405 }
406 406
407 private void startCronetFramework() { 407 private void startCronetFramework() {
408 mTestFramework = startCronetTestFrameworkWithUrlAndCronetEngineBuilder(n ull, mBuilder); 408 mTestFramework = startCronetTestFrameworkWithUrlAndCronetEngineBuilder(n ull, mBuilder);
409 } 409 }
410 410
411 private void shutdownCronetEngine() { 411 private void shutdownCronetEngine() {
412 if (mTestFramework != null && mTestFramework.mCronetEngine != null) { 412 if (mTestFramework != null && mTestFramework.mCronetEngine != null) {
413 mTestFramework.mCronetEngine.shutdown(); 413 mTestFramework.mCronetEngine.shutdown();
414 } 414 }
415 } 415 }
416 416
417 private byte[] generateSomeSha256() { 417 private byte[] generateSomeSha256() {
418 byte[] sha256 = new byte[32]; 418 byte[] sha256 = new byte[32];
419 Arrays.fill(sha256, (byte) 58); 419 Arrays.fill(sha256, (byte) 58);
420 return sha256; 420 return sha256;
421 } 421 }
422 422
423 private void addPkpSha256( 423 private void addPkpSha256(
424 String host, byte[] pinHashValue, boolean includeSubdomain, int maxA geInSec) { 424 String host, byte[] pinHashValue, boolean includeSubdomain, int maxA geInSec) {
425 Set<byte[]> hashes = new HashSet<>(); 425 Set<byte[]> hashes = new HashSet<>();
426 hashes.add(pinHashValue); 426 hashes.add(pinHashValue);
427 mBuilder.addPublicKeyPins(host, hashes, includeSubdomain, dateInFuture(m axAgeInSec)); 427 mBuilder.addPublicKeyPins(host, hashes, includeSubdomain, dateInFuture(m axAgeInSec));
428 } 428 }
429 429
430 private void sendRequestAndWaitForResult() { 430 private void sendRequestAndWaitForResult() {
431 mListener = new TestUrlRequestCallback(); 431 mListener = new TestUrlRequestCallback();
432 432
433 String quicURL = mServerUrl + "/simple.txt"; 433 String quicURL = mServerUrl + "/simple.txt";
434 UrlRequest.Builder requestBuilder = new UrlRequest.Builder( 434 UrlRequest.Builder requestBuilder = mTestFramework.mCronetEngine.newUrlR equestBuilder(
435 quicURL, mListener, mListener.getExecutor(), mTestFramework.mCro netEngine); 435 quicURL, mListener, mListener.getExecutor());
436 requestBuilder.build().start(); 436 requestBuilder.build().start();
437 mListener.blockForDone(); 437 mListener.blockForDone();
438 } 438 }
439 439
440 private X509Certificate readCertFromFileInPemFormat(String certFileName) thr ows Exception { 440 private X509Certificate readCertFromFileInPemFormat(String certFileName) thr ows Exception {
441 byte[] certDer = CertTestUtil.pemToDer(CertTestUtil.CERTS_DIRECTORY + ce rtFileName); 441 byte[] certDer = CertTestUtil.pemToDer(CertTestUtil.CERTS_DIRECTORY + ce rtFileName);
442 CertificateFactory certFactory = CertificateFactory.getInstance("X.509") ; 442 CertificateFactory certFactory = CertificateFactory.getInstance("X.509") ;
443 return (X509Certificate) certFactory.generateCertificate(new ByteArrayIn putStream(certDer)); 443 return (X509Certificate) certFactory.generateCertificate(new ByteArrayIn putStream(certDer));
444 } 444 }
445 445
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 if (!shouldThrowNpe) { 481 if (!shouldThrowNpe) {
482 fail("Null pointer exception was not expected: " + ex.toString() ); 482 fail("Null pointer exception was not expected: " + ex.toString() );
483 } 483 }
484 return; 484 return;
485 } 485 }
486 if (shouldThrowNpe) { 486 if (shouldThrowNpe) {
487 fail("NullPointerException was expected"); 487 fail("NullPointerException was expected");
488 } 488 }
489 } 489 }
490 } 490 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698