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

Side by Side Diff: content/common/origin_trials/trial_token_validator_unittest.cc

Issue 2123323004: Simplify OriginTrialContext and the way it validates tokens. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: mark enum as obsolete Created 4 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 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 #include "content/common/origin_trials/trial_token_validator.h" 5 #include "content/common/origin_trials/trial_token_validator.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 10
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 150
151 const url::Origin appropriate_origin_; 151 const url::Origin appropriate_origin_;
152 const url::Origin inappropriate_origin_; 152 const url::Origin inappropriate_origin_;
153 const url::Origin insecure_origin_; 153 const url::Origin insecure_origin_;
154 154
155 private: 155 private:
156 TestContentClient test_content_client_; 156 TestContentClient test_content_client_;
157 }; 157 };
158 158
159 TEST_F(TrialTokenValidatorTest, ValidateValidToken) { 159 TEST_F(TrialTokenValidatorTest, ValidateValidToken) {
160 std::string feature;
160 EXPECT_EQ(blink::WebOriginTrialTokenStatus::Success, 161 EXPECT_EQ(blink::WebOriginTrialTokenStatus::Success,
161 TrialTokenValidator::ValidateToken( 162 TrialTokenValidator::ValidateToken(kSampleToken,
162 kSampleToken, appropriate_origin_, kAppropriateFeatureName)); 163 appropriate_origin_, &feature));
164 EXPECT_EQ(kAppropriateFeatureName, feature);
163 } 165 }
164 166
165 TEST_F(TrialTokenValidatorTest, ValidateInappropriateOrigin) { 167 TEST_F(TrialTokenValidatorTest, ValidateInappropriateOrigin) {
168 std::string feature;
166 EXPECT_EQ(blink::WebOriginTrialTokenStatus::WrongOrigin, 169 EXPECT_EQ(blink::WebOriginTrialTokenStatus::WrongOrigin,
167 TrialTokenValidator::ValidateToken( 170 TrialTokenValidator::ValidateToken(
168 kSampleToken, inappropriate_origin_, kAppropriateFeatureName)); 171 kSampleToken, inappropriate_origin_, &feature));
169 EXPECT_EQ(blink::WebOriginTrialTokenStatus::WrongOrigin, 172 EXPECT_EQ(blink::WebOriginTrialTokenStatus::WrongOrigin,
170 TrialTokenValidator::ValidateToken(kSampleToken, insecure_origin_, 173 TrialTokenValidator::ValidateToken(kSampleToken, insecure_origin_,
171 kAppropriateFeatureName)); 174 &feature));
172 }
173
174 TEST_F(TrialTokenValidatorTest, ValidateInappropriateFeature) {
175 EXPECT_EQ(blink::WebOriginTrialTokenStatus::WrongFeature,
176 TrialTokenValidator::ValidateToken(
177 kSampleToken, appropriate_origin_, kInappropriateFeatureName));
178 } 175 }
179 176
180 TEST_F(TrialTokenValidatorTest, ValidateInvalidSignature) { 177 TEST_F(TrialTokenValidatorTest, ValidateInvalidSignature) {
178 std::string feature;
181 EXPECT_EQ(blink::WebOriginTrialTokenStatus::InvalidSignature, 179 EXPECT_EQ(blink::WebOriginTrialTokenStatus::InvalidSignature,
182 TrialTokenValidator::ValidateToken(kInvalidSignatureToken, 180 TrialTokenValidator::ValidateToken(kInvalidSignatureToken,
183 appropriate_origin_, 181 appropriate_origin_, &feature));
184 kAppropriateFeatureName));
185 } 182 }
186 183
187 TEST_F(TrialTokenValidatorTest, ValidateUnparsableToken) { 184 TEST_F(TrialTokenValidatorTest, ValidateUnparsableToken) {
185 std::string feature;
188 EXPECT_EQ(blink::WebOriginTrialTokenStatus::Malformed, 186 EXPECT_EQ(blink::WebOriginTrialTokenStatus::Malformed,
189 TrialTokenValidator::ValidateToken(kUnparsableToken, 187 TrialTokenValidator::ValidateToken(kUnparsableToken,
190 appropriate_origin_, 188 appropriate_origin_, &feature));
191 kAppropriateFeatureName));
192 } 189 }
193 190
194 TEST_F(TrialTokenValidatorTest, ValidateExpiredToken) { 191 TEST_F(TrialTokenValidatorTest, ValidateExpiredToken) {
192 std::string feature;
195 EXPECT_EQ(blink::WebOriginTrialTokenStatus::Expired, 193 EXPECT_EQ(blink::WebOriginTrialTokenStatus::Expired,
196 TrialTokenValidator::ValidateToken( 194 TrialTokenValidator::ValidateToken(kExpiredToken,
197 kExpiredToken, appropriate_origin_, kAppropriateFeatureName)); 195 appropriate_origin_, &feature));
198 } 196 }
199 197
200 TEST_F(TrialTokenValidatorTest, ValidateValidTokenWithIncorrectKey) { 198 TEST_F(TrialTokenValidatorTest, ValidateValidTokenWithIncorrectKey) {
199 std::string feature;
201 SetPublicKey(kTestPublicKey2); 200 SetPublicKey(kTestPublicKey2);
202 EXPECT_EQ(blink::WebOriginTrialTokenStatus::InvalidSignature, 201 EXPECT_EQ(blink::WebOriginTrialTokenStatus::InvalidSignature,
203 TrialTokenValidator::ValidateToken( 202 TrialTokenValidator::ValidateToken(kSampleToken,
204 kSampleToken, appropriate_origin_, kAppropriateFeatureName)); 203 appropriate_origin_, &feature));
205 } 204 }
206 205
207 TEST_F(TrialTokenValidatorTest, ValidatorRespectsDisabledFeatures) { 206 TEST_F(TrialTokenValidatorTest, ValidatorRespectsDisabledFeatures) {
207 std::string feature;
208 // Disable an irrelevant feature; token should still validate 208 // Disable an irrelevant feature; token should still validate
209 DisableFeature(kInappropriateFeatureName); 209 DisableFeature(kInappropriateFeatureName);
210 EXPECT_EQ(blink::WebOriginTrialTokenStatus::Success, 210 EXPECT_EQ(blink::WebOriginTrialTokenStatus::Success,
211 TrialTokenValidator::ValidateToken( 211 TrialTokenValidator::ValidateToken(kSampleToken,
212 kSampleToken, appropriate_origin_, kAppropriateFeatureName)); 212 appropriate_origin_, &feature));
213 EXPECT_EQ(kAppropriateFeatureName, feature);
213 // Disable the token's feature; it should no longer be valid 214 // Disable the token's feature; it should no longer be valid
214 DisableFeature(kAppropriateFeatureName); 215 DisableFeature(kAppropriateFeatureName);
215 EXPECT_EQ(blink::WebOriginTrialTokenStatus::FeatureDisabled, 216 EXPECT_EQ(blink::WebOriginTrialTokenStatus::FeatureDisabled,
216 TrialTokenValidator::ValidateToken( 217 TrialTokenValidator::ValidateToken(kSampleToken,
217 kSampleToken, appropriate_origin_, kAppropriateFeatureName)); 218 appropriate_origin_, &feature));
218 } 219 }
219 220
220 } // namespace content 221 } // namespace content
OLDNEW
« no previous file with comments | « content/common/origin_trials/trial_token_validator.cc ('k') | content/renderer/origin_trials/web_trial_token_validator_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698