| 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 |