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

Unified Diff: content/common/origin_trials/trial_token_validator_unittest.cc

Issue 2555333006: Deflake origin trial token validator tests (Closed)
Patch Set: Switch WrapUnique to MakeUnique Created 3 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: content/common/origin_trials/trial_token_validator_unittest.cc
diff --git a/content/common/origin_trials/trial_token_validator_unittest.cc b/content/common/origin_trials/trial_token_validator_unittest.cc
index e49f02e3c06ab3ce6e3ff5f42a557016985b8b78..830f5805019e2ff67203252086a5f6abdf3320de 100644
--- a/content/common/origin_trials/trial_token_validator_unittest.cc
+++ b/content/common/origin_trials/trial_token_validator_unittest.cc
@@ -112,11 +112,9 @@ const char kInsecureOriginToken[] =
"YW1wbGUuY29tOjgwIiwgImZlYXR1cmUiOiAiRnJvYnVsYXRlIiwgImV4cGlyeSI6"
"IDIwMDAwMDAwMDB9";
-// These timestamps should be in the past and future, respectively. Sanity
-// checks within the tests assert that that is true, to guard against poorly-set
-// system clocks. (And against the inevitable march of time past the year 2033)
-double kPastTimestamp = 1000000000;
-double kFutureTimestamp = 2000000000;
+// This timestamp is set to a time after the expiry timestamp of kExpiredToken,
+// but before the expiry timestamp of kValidToken.
+double kNowTimestamp = 1500000000;
class TestOriginTrialPolicy : public OriginTrialPolicy {
public:
@@ -190,15 +188,6 @@ class TrialTokenValidatorTest : public testing::Test {
~TrialTokenValidatorTest() override { SetContentClient(nullptr); }
- void SetUp() override {
- // Ensure that the system clock is set to a date that the matches the test
- // expectations. If this fails, either the clock on the test device is
- // incorrect, or the actual date is after 2033-05-18, and the tokens need to
- // be regenerated.
- ASSERT_GT(base::Time::Now(), base::Time::FromDoubleT(kPastTimestamp));
- ASSERT_LT(base::Time::Now(), base::Time::FromDoubleT(kFutureTimestamp));
- }
-
void SetPublicKey(const uint8_t* key) {
test_content_client_.SetOriginTrialPublicKey(key);
}
@@ -211,6 +200,8 @@ class TrialTokenValidatorTest : public testing::Test {
test_content_client_.DisableToken(token_signature);
}
+ base::Time Now() { return base::Time::FromDoubleT(kNowTimestamp); }
+
const url::Origin appropriate_origin_;
const url::Origin inappropriate_origin_;
const url::Origin insecure_origin_;
@@ -224,17 +215,11 @@ class TrialTokenValidatorTest : public testing::Test {
TestContentClient test_content_client_;
};
-// Flaky on Android swarming bots: crbug.com/672294
-#if defined(OS_ANDROID)
-#define MAYBE_ValidateValidToken DISABLED_ValidateValidToken
-#else
-#define MAYBE_ValidateValidToken ValidateValidToken
-#endif
-TEST_F(TrialTokenValidatorTest, MAYBE_ValidateValidToken) {
+TEST_F(TrialTokenValidatorTest, ValidateValidToken) {
std::string feature;
EXPECT_EQ(blink::WebOriginTrialTokenStatus::kSuccess,
- TrialTokenValidator::ValidateToken(kSampleToken,
- appropriate_origin_, &feature));
+ TrialTokenValidator::ValidateToken(
+ kSampleToken, appropriate_origin_, &feature, Now()));
EXPECT_EQ(kAppropriateFeatureName, feature);
}
@@ -242,60 +227,54 @@ TEST_F(TrialTokenValidatorTest, ValidateInappropriateOrigin) {
std::string feature;
EXPECT_EQ(blink::WebOriginTrialTokenStatus::kWrongOrigin,
TrialTokenValidator::ValidateToken(
- kSampleToken, inappropriate_origin_, &feature));
+ kSampleToken, inappropriate_origin_, &feature, Now()));
EXPECT_EQ(blink::WebOriginTrialTokenStatus::kWrongOrigin,
TrialTokenValidator::ValidateToken(kSampleToken, insecure_origin_,
- &feature));
+ &feature, Now()));
}
TEST_F(TrialTokenValidatorTest, ValidateInvalidSignature) {
std::string feature;
EXPECT_EQ(blink::WebOriginTrialTokenStatus::kInvalidSignature,
- TrialTokenValidator::ValidateToken(kInvalidSignatureToken,
- appropriate_origin_, &feature));
+ TrialTokenValidator::ValidateToken(
+ kInvalidSignatureToken, appropriate_origin_, &feature, Now()));
}
TEST_F(TrialTokenValidatorTest, ValidateUnparsableToken) {
std::string feature;
EXPECT_EQ(blink::WebOriginTrialTokenStatus::kMalformed,
- TrialTokenValidator::ValidateToken(kUnparsableToken,
- appropriate_origin_, &feature));
+ TrialTokenValidator::ValidateToken(
+ kUnparsableToken, appropriate_origin_, &feature, Now()));
}
TEST_F(TrialTokenValidatorTest, ValidateExpiredToken) {
std::string feature;
EXPECT_EQ(blink::WebOriginTrialTokenStatus::kExpired,
- TrialTokenValidator::ValidateToken(kExpiredToken,
- appropriate_origin_, &feature));
+ TrialTokenValidator::ValidateToken(
+ kExpiredToken, appropriate_origin_, &feature, Now()));
}
TEST_F(TrialTokenValidatorTest, ValidateValidTokenWithIncorrectKey) {
std::string feature;
SetPublicKey(kTestPublicKey2);
EXPECT_EQ(blink::WebOriginTrialTokenStatus::kInvalidSignature,
- TrialTokenValidator::ValidateToken(kSampleToken,
- appropriate_origin_, &feature));
+ TrialTokenValidator::ValidateToken(
+ kSampleToken, appropriate_origin_, &feature, Now()));
}
-// Flaky on Android swarming bots: crbug.com/672294
-#if defined(OS_ANDROID)
-#define MAYBE_ValidatorRespectsDisabledFeatures DISABLED_ValidatorRespectsDisabledFeatures
-#else
-#define MAYBE_ValidatorRespectsDisabledFeatures ValidatorRespectsDisabledFeatures
-#endif
-TEST_F(TrialTokenValidatorTest, MAYBE_ValidatorRespectsDisabledFeatures) {
+TEST_F(TrialTokenValidatorTest, ValidatorRespectsDisabledFeatures) {
std::string feature;
// Disable an irrelevant feature; token should still validate
DisableFeature(kInappropriateFeatureName);
EXPECT_EQ(blink::WebOriginTrialTokenStatus::kSuccess,
- TrialTokenValidator::ValidateToken(kSampleToken,
- appropriate_origin_, &feature));
+ TrialTokenValidator::ValidateToken(
+ kSampleToken, appropriate_origin_, &feature, Now()));
EXPECT_EQ(kAppropriateFeatureName, feature);
// Disable the token's feature; it should no longer be valid
DisableFeature(kAppropriateFeatureName);
EXPECT_EQ(blink::WebOriginTrialTokenStatus::kFeatureDisabled,
- TrialTokenValidator::ValidateToken(kSampleToken,
- appropriate_origin_, &feature));
+ TrialTokenValidator::ValidateToken(
+ kSampleToken, appropriate_origin_, &feature, Now()));
}
TEST_F(TrialTokenValidatorTest, ValidatorRespectsDisabledTokens) {
@@ -303,80 +282,63 @@ TEST_F(TrialTokenValidatorTest, ValidatorRespectsDisabledTokens) {
// Disable an irrelevant token; token should still validate
DisableToken(expired_token_signature_);
EXPECT_EQ(blink::WebOriginTrialTokenStatus::kSuccess,
- TrialTokenValidator::ValidateToken(kSampleToken,
- appropriate_origin_, &feature));
+ TrialTokenValidator::ValidateToken(
+ kSampleToken, appropriate_origin_, &feature, Now()));
EXPECT_EQ(kAppropriateFeatureName, feature);
// Disable the token; it should no longer be valid
DisableToken(valid_token_signature_);
EXPECT_EQ(blink::WebOriginTrialTokenStatus::kTokenDisabled,
- TrialTokenValidator::ValidateToken(kSampleToken,
- appropriate_origin_, &feature));
+ TrialTokenValidator::ValidateToken(
+ kSampleToken, appropriate_origin_, &feature, Now()));
}
TEST_F(TrialTokenValidatorTest, ValidateRequestInsecure) {
response_headers_->AddHeader(std::string("Origin-Trial: ") +
kInsecureOriginToken);
EXPECT_FALSE(TrialTokenValidator::RequestEnablesFeature(
- GURL(kInsecureOrigin), response_headers_.get(), kAppropriateFeatureName));
+ GURL(kInsecureOrigin), response_headers_.get(), kAppropriateFeatureName,
+ Now()));
}
-// Flaky on Android swarming bots: crbug.com/672294
-#if defined(OS_ANDROID)
-#define MAYBE_ValidateRequestValidToken DISABLED_ValidateRequestValidToken
-#else
-#define MAYBE_ValidateRequestValidToken ValidateRequestValidToken
-#endif
-TEST_F(TrialTokenValidatorTest, MAYBE_ValidateRequestValidToken) {
+TEST_F(TrialTokenValidatorTest, ValidateRequestValidToken) {
response_headers_->AddHeader(std::string("Origin-Trial: ") + kSampleToken);
EXPECT_TRUE(TrialTokenValidator::RequestEnablesFeature(
GURL(kAppropriateOrigin), response_headers_.get(),
- kAppropriateFeatureName));
+ kAppropriateFeatureName, Now()));
}
TEST_F(TrialTokenValidatorTest, ValidateRequestNoTokens) {
EXPECT_FALSE(TrialTokenValidator::RequestEnablesFeature(
GURL(kAppropriateOrigin), response_headers_.get(),
- kAppropriateFeatureName));
+ kAppropriateFeatureName, Now()));
}
-// Flaky on Android swarming bots: crbug.com/672294
-#if defined(OS_ANDROID)
-#define MAYBE_ValidateRequestMultipleHeaders DISABLED_ValidateRequestMultipleHeaders
-#else
-#define MAYBE_ValidateRequestMultipleHeaders ValidateRequestMultipleHeaders
-#endif
-TEST_F(TrialTokenValidatorTest, MAYBE_ValidateRequestMultipleHeaders) {
+TEST_F(TrialTokenValidatorTest, ValidateRequestMultipleHeaders) {
response_headers_->AddHeader(std::string("Origin-Trial: ") + kSampleToken);
response_headers_->AddHeader(std::string("Origin-Trial: ") + kExpiredToken);
EXPECT_TRUE(TrialTokenValidator::RequestEnablesFeature(
GURL(kAppropriateOrigin), response_headers_.get(),
- kAppropriateFeatureName));
+ kAppropriateFeatureName, Now()));
EXPECT_FALSE(TrialTokenValidator::RequestEnablesFeature(
GURL(kAppropriateOrigin), response_headers_.get(),
- kInappropriateFeatureName));
+ kInappropriateFeatureName, Now()));
EXPECT_FALSE(TrialTokenValidator::RequestEnablesFeature(
GURL(kInappropriateOrigin), response_headers_.get(),
- kAppropriateFeatureName));
+ kAppropriateFeatureName, Now()));
}
-// Flaky on Android swarming bots: crbug.com/672294
-#if defined(OS_ANDROID)
-#define MAYBE_ValidateRequestMultipleHeaderValues DISABLED_ValidateRequestMultipleHeaderValues
-#else
-#define MAYBE_ValidateRequestMultipleHeaderValues ValidateRequestMultipleHeaderValues
-#endif
-TEST_F(TrialTokenValidatorTest, MAYBE_ValidateRequestMultipleHeaderValues) {
+TEST_F(TrialTokenValidatorTest, ValidateRequestMultipleHeaderValues) {
response_headers_->AddHeader(std::string("Origin-Trial: ") + kExpiredToken +
", " + kSampleToken);
EXPECT_TRUE(TrialTokenValidator::RequestEnablesFeature(
GURL(kAppropriateOrigin), response_headers_.get(),
- kAppropriateFeatureName));
+ kAppropriateFeatureName, Now()));
EXPECT_FALSE(TrialTokenValidator::RequestEnablesFeature(
GURL(kAppropriateOrigin), response_headers_.get(),
- kInappropriateFeatureName));
+ kInappropriateFeatureName, Now()));
EXPECT_FALSE(TrialTokenValidator::RequestEnablesFeature(
GURL(kInappropriateOrigin), response_headers_.get(),
- kAppropriateFeatureName));
+ kAppropriateFeatureName, Now()));
}
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698