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

Side by Side Diff: net/http/http_util_unittest.cc

Issue 1211363005: Parse HPKP report-uri and persist in TransportSecurityPersister (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 5 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include <algorithm> 5 #include <algorithm>
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "net/http/http_util.h" 9 #include "net/http/http_util.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 1074 matching lines...) Expand 10 before | Expand all | Expand 10 after
1085 ASSERT_NO_FATAL_FAILURE( 1085 ASSERT_NO_FATAL_FAILURE(
1086 CheckNextNameValuePair(&parser, true, true, "f", "'hello world'")); 1086 CheckNextNameValuePair(&parser, true, true, "f", "'hello world'"));
1087 ASSERT_NO_FATAL_FAILURE( 1087 ASSERT_NO_FATAL_FAILURE(
1088 CheckNextNameValuePair(&parser, true, true, "g", std::string())); 1088 CheckNextNameValuePair(&parser, true, true, "g", std::string()));
1089 ASSERT_NO_FATAL_FAILURE( 1089 ASSERT_NO_FATAL_FAILURE(
1090 CheckNextNameValuePair(&parser, true, true, "h", "hello")); 1090 CheckNextNameValuePair(&parser, true, true, "h", "hello"));
1091 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair( 1091 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(
1092 &parser, false, true, std::string(), std::string())); 1092 &parser, false, true, std::string(), std::string()));
1093 } 1093 }
1094 1094
1095 TEST(HttpUtilTest, NameValuePairsIteratorOptionalValues) {
1096 std::string data = "alpha=1; beta=;cappa ; delta; e=; f=1";
1097 // Test that the default parser requires values.
1098 HttpUtil::NameValuePairsIterator default_parser(data.begin(), data.end(),
1099 ';');
1100 EXPECT_TRUE(default_parser.valid());
1101 ASSERT_NO_FATAL_FAILURE(
1102 CheckNextNameValuePair(&default_parser, true, true, "alpha", "1"));
1103 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(&default_parser, false, false,
davidben 2015/07/15 22:21:06 Hrm. Is a GetNext failure not supposed to be fatal
estark 2015/07/16 00:07:01 Done.
1104 "beta", std::string()));
1105 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(&default_parser, false, false,
1106 "cappa", std::string()));
1107 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(&default_parser, false, false,
1108 "delta", std::string()));
1109 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(&default_parser, false, false,
1110 "e", std::string()));
1111 ASSERT_NO_FATAL_FAILURE(
1112 CheckNextNameValuePair(&default_parser, true, false, "f", "1"));
1113 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(&default_parser, false, false,
1114 std::string(), std::string()));
1115
1116 HttpUtil::NameValuePairsIterator values_required_parser(
1117 data.begin(), data.end(), ';',
1118 HttpUtil::NameValuePairsIterator::VALUES_NOT_OPTIONAL);
1119 EXPECT_TRUE(values_required_parser.valid());
1120 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(&values_required_parser, true,
1121 true, "alpha", "1"));
1122 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(&values_required_parser, false,
1123 false, "beta", std::string()));
davidben 2015/07/15 22:21:06 Ditto.
estark 2015/07/16 00:07:01 Done.
1124 EXPECT_FALSE(values_required_parser.valid());
1125 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(
1126 &values_required_parser, false, false, "cappa", std::string()));
1127 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(
1128 &values_required_parser, false, false, "delta", std::string()));
1129 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(&values_required_parser, false,
1130 false, "e", std::string()));
1131 ASSERT_NO_FATAL_FAILURE(
1132 CheckNextNameValuePair(&values_required_parser, true, false, "f", "1"));
1133 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(
1134 &values_required_parser, false, false, std::string(), std::string()));
1135
1136 HttpUtil::NameValuePairsIterator parser(
1137 data.begin(), data.end(), ';',
1138 HttpUtil::NameValuePairsIterator::VALUES_OPTIONAL);
1139 EXPECT_TRUE(parser.valid());
1140
1141 ASSERT_NO_FATAL_FAILURE(
1142 CheckNextNameValuePair(&parser, true, true, "alpha", "1"));
1143 ASSERT_NO_FATAL_FAILURE(
1144 CheckNextNameValuePair(&parser, true, true, "beta", std::string()));
1145 ASSERT_NO_FATAL_FAILURE(
1146 CheckNextNameValuePair(&parser, true, true, "cappa", std::string()));
1147 ASSERT_NO_FATAL_FAILURE(
1148 CheckNextNameValuePair(&parser, true, true, "delta", std::string()));
1149 ASSERT_NO_FATAL_FAILURE(
1150 CheckNextNameValuePair(&parser, true, true, "e", std::string()));
1151 ASSERT_NO_FATAL_FAILURE(
1152 CheckNextNameValuePair(&parser, true, true, "f", "1"));
1153 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(&parser, false, true,
1154 std::string(), std::string()));
1155 EXPECT_TRUE(parser.valid());
1156 }
1157
1095 TEST(HttpUtilTest, NameValuePairsIteratorIllegalInputs) { 1158 TEST(HttpUtilTest, NameValuePairsIteratorIllegalInputs) {
1096 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1", "; beta")); 1159 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1", "; beta"));
1097 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair(std::string(), "beta")); 1160 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair(std::string(), "beta"));
1098 1161
1099 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1", "; 'beta'=2")); 1162 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1", "; 'beta'=2"));
1100 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair(std::string(), "'beta'=2")); 1163 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair(std::string(), "'beta'=2"));
1101 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1", ";beta=")); 1164 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1", ";beta="));
1102 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1", 1165 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1",
1103 ";beta=;cappa=2")); 1166 ";beta=;cappa=2"));
1104 1167
(...skipping 27 matching lines...) Expand all
1132 HttpUtil::NameValuePairsIterator parser(data.begin(), data.end(), ';'); 1195 HttpUtil::NameValuePairsIterator parser(data.begin(), data.end(), ';');
1133 EXPECT_TRUE(parser.valid()); 1196 EXPECT_TRUE(parser.valid());
1134 1197
1135 ASSERT_NO_FATAL_FAILURE( 1198 ASSERT_NO_FATAL_FAILURE(
1136 CheckNextNameValuePair(&parser, true, true, "name", "value")); 1199 CheckNextNameValuePair(&parser, true, true, "name", "value"));
1137 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair( 1200 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(
1138 &parser, false, true, std::string(), std::string())); 1201 &parser, false, true, std::string(), std::string()));
1139 } 1202 }
1140 1203
1141 } // namespace net 1204 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698