OLD | NEW |
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 #include "content/common/origin_trials/trial_token.h" | 5 #include "content/common/origin_trials/trial_token.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/strings/string_piece.h" | 10 #include "base/strings/string_piece.h" |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 EXPECT_TRUE(ValidateFeatureName(token.get(), kExpectedFeatureName)); | 280 EXPECT_TRUE(ValidateFeatureName(token.get(), kExpectedFeatureName)); |
281 EXPECT_FALSE(ValidateFeatureName(token.get(), kInvalidFeatureName)); | 281 EXPECT_FALSE(ValidateFeatureName(token.get(), kInvalidFeatureName)); |
282 EXPECT_FALSE(ValidateFeatureName( | 282 EXPECT_FALSE(ValidateFeatureName( |
283 token.get(), base::ToUpperASCII(kExpectedFeatureName).c_str())); | 283 token.get(), base::ToUpperASCII(kExpectedFeatureName).c_str())); |
284 EXPECT_FALSE(ValidateFeatureName( | 284 EXPECT_FALSE(ValidateFeatureName( |
285 token.get(), base::ToLowerASCII(kExpectedFeatureName).c_str())); | 285 token.get(), base::ToLowerASCII(kExpectedFeatureName).c_str())); |
286 EXPECT_TRUE(ValidateDate(token.get(), valid_timestamp_)); | 286 EXPECT_TRUE(ValidateDate(token.get(), valid_timestamp_)); |
287 EXPECT_FALSE(ValidateDate(token.get(), invalid_timestamp_)); | 287 EXPECT_FALSE(ValidateDate(token.get(), invalid_timestamp_)); |
288 } | 288 } |
289 | 289 |
290 TEST_F(TrialTokenTest, TokenIsValidForFeature) { | 290 TEST_F(TrialTokenTest, TokenIsValid) { |
291 std::unique_ptr<TrialToken> token = Parse(kSampleTokenJSON); | 291 std::unique_ptr<TrialToken> token = Parse(kSampleTokenJSON); |
292 ASSERT_TRUE(token); | 292 ASSERT_TRUE(token); |
293 EXPECT_EQ(blink::WebOriginTrialTokenStatus::Success, | 293 EXPECT_EQ(blink::WebOriginTrialTokenStatus::Success, |
294 token->IsValidForFeature(expected_origin_, kExpectedFeatureName, | 294 token->IsValid(expected_origin_, valid_timestamp_)); |
295 valid_timestamp_)); | |
296 EXPECT_EQ(blink::WebOriginTrialTokenStatus::WrongFeature, | |
297 token->IsValidForFeature(expected_origin_, | |
298 base::ToUpperASCII(kExpectedFeatureName), | |
299 valid_timestamp_)); | |
300 EXPECT_EQ(blink::WebOriginTrialTokenStatus::WrongFeature, | |
301 token->IsValidForFeature(expected_origin_, | |
302 base::ToLowerASCII(kExpectedFeatureName), | |
303 valid_timestamp_)); | |
304 EXPECT_EQ(blink::WebOriginTrialTokenStatus::WrongOrigin, | 295 EXPECT_EQ(blink::WebOriginTrialTokenStatus::WrongOrigin, |
305 token->IsValidForFeature(invalid_origin_, kExpectedFeatureName, | 296 token->IsValid(invalid_origin_, valid_timestamp_)); |
306 valid_timestamp_)); | |
307 EXPECT_EQ(blink::WebOriginTrialTokenStatus::WrongOrigin, | 297 EXPECT_EQ(blink::WebOriginTrialTokenStatus::WrongOrigin, |
308 token->IsValidForFeature(insecure_origin_, kExpectedFeatureName, | 298 token->IsValid(insecure_origin_, valid_timestamp_)); |
309 valid_timestamp_)); | |
310 EXPECT_EQ(blink::WebOriginTrialTokenStatus::WrongFeature, | |
311 token->IsValidForFeature(expected_origin_, kInvalidFeatureName, | |
312 valid_timestamp_)); | |
313 EXPECT_EQ(blink::WebOriginTrialTokenStatus::Expired, | 299 EXPECT_EQ(blink::WebOriginTrialTokenStatus::Expired, |
314 token->IsValidForFeature(expected_origin_, kExpectedFeatureName, | 300 token->IsValid(expected_origin_, invalid_timestamp_)); |
315 invalid_timestamp_)); | |
316 } | 301 } |
317 | 302 |
318 // Test overall extraction, to ensure output status matches returned token | 303 // Test overall extraction, to ensure output status matches returned token |
319 TEST_F(TrialTokenTest, ExtractValidToken) { | 304 TEST_F(TrialTokenTest, ExtractValidToken) { |
320 blink::WebOriginTrialTokenStatus status; | 305 blink::WebOriginTrialTokenStatus status; |
321 std::unique_ptr<TrialToken> token = | 306 std::unique_ptr<TrialToken> token = |
322 TrialToken::From(kSampleToken, correct_public_key(), &status); | 307 TrialToken::From(kSampleToken, correct_public_key(), &status); |
323 EXPECT_TRUE(token); | 308 EXPECT_TRUE(token); |
324 EXPECT_EQ(blink::WebOriginTrialTokenStatus::Success, status); | 309 EXPECT_EQ(blink::WebOriginTrialTokenStatus::Success, status); |
325 } | 310 } |
326 | 311 |
327 TEST_F(TrialTokenTest, ExtractInvalidSignature) { | 312 TEST_F(TrialTokenTest, ExtractInvalidSignature) { |
328 blink::WebOriginTrialTokenStatus status; | 313 blink::WebOriginTrialTokenStatus status; |
329 std::unique_ptr<TrialToken> token = | 314 std::unique_ptr<TrialToken> token = |
330 TrialToken::From(kSampleToken, incorrect_public_key(), &status); | 315 TrialToken::From(kSampleToken, incorrect_public_key(), &status); |
331 EXPECT_FALSE(token); | 316 EXPECT_FALSE(token); |
332 EXPECT_EQ(blink::WebOriginTrialTokenStatus::InvalidSignature, status); | 317 EXPECT_EQ(blink::WebOriginTrialTokenStatus::InvalidSignature, status); |
333 } | 318 } |
334 | 319 |
335 TEST_F(TrialTokenTest, ExtractMalformedToken) { | 320 TEST_F(TrialTokenTest, ExtractMalformedToken) { |
336 blink::WebOriginTrialTokenStatus status; | 321 blink::WebOriginTrialTokenStatus status; |
337 std::unique_ptr<TrialToken> token = | 322 std::unique_ptr<TrialToken> token = |
338 TrialToken::From(kIncorrectLengthToken, correct_public_key(), &status); | 323 TrialToken::From(kIncorrectLengthToken, correct_public_key(), &status); |
339 EXPECT_FALSE(token); | 324 EXPECT_FALSE(token); |
340 EXPECT_EQ(blink::WebOriginTrialTokenStatus::Malformed, status); | 325 EXPECT_EQ(blink::WebOriginTrialTokenStatus::Malformed, status); |
341 } | 326 } |
342 | 327 |
343 } // namespace content | 328 } // namespace content |
OLD | NEW |