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

Unified Diff: components/cronet/android/test/javatests/src/org/chromium/net/CronetUtilTest.java

Issue 1407263010: [Cronet] Public key pinning for Java API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added host name verification + review comments Created 5 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: components/cronet/android/test/javatests/src/org/chromium/net/CronetUtilTest.java
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUtilTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUtilTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..d544a1eb88a10d9b568177bb27d25367462f22d5
--- /dev/null
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUtilTest.java
@@ -0,0 +1,64 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+package org.chromium.net;
+
+import android.test.suitebuilder.annotation.SmallTest;
+
+import org.chromium.base.test.util.Feature;
+
+/**
+ * Tests CronetUtil class.
+ */
+public class CronetUtilTest extends CronetTestBase {
+ @SmallTest
+ @Feature({"Cronet"})
+ public void testHostNameValidation() throws Exception {
+ // Valid host names.
+ assertValidHostName("domain.com");
+ assertValidHostName("section4.domain.info");
+ assertValidHostName("44.domain44.info");
+ assertValidHostName("very.long.long.long.long.long.long.long.domain.com");
+ assertValidHostName("host");
+ // Invalid host names.
+ assertInvalidHostName("domain.com:300");
+ assertInvalidHostName("http://domain.com");
+ assertInvalidHostName("domain.com:");
+ assertInvalidHostName("domain.com/");
+ }
+
+ @SmallTest
+ @Feature({"Cronet"})
+ public void testIPv4Validation() throws Exception {
+ // Valid IPv4 addresses.
+ assertValidIPv4("127.0.0.1");
+ assertValidIPv4("1.0.0.10");
+ // Invalid IPv4 addresses.
+ assertInvalidIPv4("256.0.0.1");
+ assertInvalidIPv4("127.0.0");
+ assertInvalidIPv4("127.0.0.a");
+ assertInvalidIPv4("127.0.0.1:80");
+ assertInvalidIPv4("127.0.0.1:80/");
+ assertInvalidIPv4("http://127.0.0.1:80");
+ }
+
+ private void assertValidHostName(String hostName) {
+ boolean valid = CronetUtil.isValidHostName(hostName);
+ assertTrue(hostName + " should be a valid host name", valid);
+ }
+
+ private void assertInvalidHostName(String hostName) {
+ boolean valid = CronetUtil.isValidHostName(hostName);
+ assertFalse(hostName + " should be an invalid host name", valid);
+ }
+
+ private void assertValidIPv4(String addr) {
+ boolean valid = CronetUtil.isValidIPv4(addr);
+ assertTrue(addr + " should be a valid IPv4 address", valid);
+ }
+
+ private void assertInvalidIPv4(String addr) {
+ boolean valid = CronetUtil.isValidIPv4(addr);
+ assertFalse(addr + " should be an invalid IPv4 address", valid);
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698