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

Side by Side 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: Addressed review comments Created 5 years 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
(Empty)
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
3 // found in the LICENSE file.
4 package org.chromium.net;
5
6 import android.test.suitebuilder.annotation.SmallTest;
7
8 import org.chromium.base.test.util.Feature;
9
10 /**
11 * Tests CronetUtil class.
12 */
13 public class CronetUtilTest extends CronetTestBase {
14 @SmallTest
15 @Feature({"Cronet"})
16 public void testHostNameValidation() throws Exception {
17 final String label63 = "123456789-123456789-123456789-123456789-12345678 9-123456789-123";
18 final String label255 = label63 + "." + label63 + "." + label63 + "." + label63;
19 // Valid host names.
20 assertValidHostName("domain.com");
21 assertValidHostName("my-domain.com");
22 assertValidHostName("section4.domain.info");
23 assertValidHostName("44.domain44.info");
24 assertValidHostName("very.long.long.long.long.long.long.long.domain.com" );
25 assertValidHostName("host");
26 assertValidHostName("новости.ру");
27 assertValidHostName("самые-последние.новости.рус");
28 assertValidHostName("最新消息.中国");
29 assertValidHostName("127.0.0.1");
30 // Checks max size of the host label (63 characters)
31 assertValidHostName(label63 + ".com");
32 // Checks max size of the host name (255 characters)
33 assertValidHostName(label255);
34
35 // Invalid host names.
36 assertInvalidHostName("domain.com:300");
37 assertInvalidHostName("-domain.com");
38 assertInvalidHostName("domain-.com");
39 assertInvalidHostName("http://domain.com");
40 assertInvalidHostName("domain.com:");
41 assertInvalidHostName("domain.com/");
42 assertInvalidHostName("новости.ру:");
43 assertInvalidHostName("новости.ру/");
44 assertInvalidHostName("FE80:0000:0000:0000:0202:B3FF:FE1E:8329");
45 assertInvalidHostName("[2001:db8:0:1]:80");
46 assertInvalidHostName("_http.sctp.www.example.com");
47 assertInvalidHostName("http.sctp._www.example.com");
48 // Checks a host that exceeds max allowed length of the host label (63 c haracters)
49 assertInvalidHostName(label63 + "4.com");
50 // Checks a host that exceeds max allowed length of hostname (255 charac ters)
51 assertInvalidHostName(label255.substring(3) + ".com");
52 }
53
54 @SmallTest
55 @Feature({"Cronet"})
56 public void testIPv4Validation() throws Exception {
57 // Valid IPv4 addresses.
58 assertValidIPv4("127.0.0.1");
59 assertValidIPv4("1.0.0.10");
60 assertValidIPv4("250.6.15.255");
61 assertValidIPv4("23.1.9.0");
62 assertValidIPv4("68.44.222.12");
63 // Invalid IPv4 addresses.
64 assertInvalidIPv4("domain.com");
65 assertInvalidIPv4("новости.ру");
66 assertInvalidIPv4("256.0.0.1");
67 assertInvalidIPv4("127.0.0.299");
68 assertInvalidIPv4("127.300.0.1");
69 assertInvalidIPv4("127.1.400.1");
70 assertInvalidIPv4("127.0.0.");
71 assertInvalidIPv4("127.0.0");
72 assertInvalidIPv4("127.0.0.1.1");
73 assertInvalidIPv4("127.0.0.a");
74 assertInvalidIPv4("127.0.0.1:80");
75 assertInvalidIPv4("127.0.0.1:80/");
76 assertInvalidIPv4("http://127.0.0.1:80");
77 }
78
79 private void assertValidHostName(String hostName) {
80 boolean valid = CronetUtil.isValidHostName(hostName);
81 assertTrue(hostName + " should be a valid host name", valid);
82 }
83
84 private void assertInvalidHostName(String hostName) {
85 boolean valid = CronetUtil.isValidHostName(hostName);
86 assertFalse(hostName + " should be an invalid host name", valid);
87 }
88
89 private void assertValidIPv4(String addr) {
90 boolean valid = CronetUtil.isValidIPv4(addr);
91 assertTrue(addr + " should be a valid IPv4 address", valid);
92 }
93
94 private void assertInvalidIPv4(String addr) {
95 boolean valid = CronetUtil.isValidIPv4(addr);
96 assertFalse(addr + " should be an invalid IPv4 address", valid);
97 }
98 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698