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

Unified Diff: components/variations/variations_http_header_provider_unittest.cc

Issue 2558913003: Restrict transmission of external exp ids to signed in users. (Closed)
Patch Set: Address nit. Created 4 years 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
« no previous file with comments | « components/variations/variations_http_header_provider.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/variations/variations_http_header_provider_unittest.cc
diff --git a/components/variations/variations_http_header_provider_unittest.cc b/components/variations/variations_http_header_provider_unittest.cc
index a1b9d3da8fc1e10e46b8fc6cc5eafc1a83ad4226..394310aa18f6bfa0b7537ca5745191ed07afb3b2 100644
--- a/components/variations/variations_http_header_provider_unittest.cc
+++ b/components/variations/variations_http_header_provider_unittest.cc
@@ -67,7 +67,7 @@ TEST_F(VariationsHttpHeaderProviderTest, SetDefaultVariationIds_Valid) {
// Valid experiment ids.
EXPECT_TRUE(provider.SetDefaultVariationIds({"12", "456", "t789"}));
provider.InitVariationIDsCacheIfNeeded();
- std::string variations = provider.GetClientDataHeader();
+ std::string variations = provider.GetClientDataHeader(false);
EXPECT_FALSE(variations.empty());
std::set<VariationID> variation_ids;
std::set<VariationID> trigger_ids;
@@ -86,13 +86,13 @@ TEST_F(VariationsHttpHeaderProviderTest, SetDefaultVariationIds_Invalid) {
EXPECT_FALSE(provider.SetDefaultVariationIds(
std::vector<std::string>{"abcd12", "456"}));
provider.InitVariationIDsCacheIfNeeded();
- EXPECT_TRUE(provider.GetClientDataHeader().empty());
+ EXPECT_TRUE(provider.GetClientDataHeader(false).empty());
// Invalid trigger experiment id
EXPECT_FALSE(provider.SetDefaultVariationIds(
std::vector<std::string>{"12", "tabc456"}));
provider.InitVariationIDsCacheIfNeeded();
- EXPECT_TRUE(provider.GetClientDataHeader().empty());
+ EXPECT_TRUE(provider.GetClientDataHeader(false).empty());
}
TEST_F(VariationsHttpHeaderProviderTest, OnFieldTrialGroupFinalized) {
@@ -104,25 +104,44 @@ TEST_F(VariationsHttpHeaderProviderTest, OnFieldTrialGroupFinalized) {
const std::string default_name = "default";
scoped_refptr<base::FieldTrial> trial_1(CreateTrialAndAssociateId(
"t1", default_name, GOOGLE_WEB_PROPERTIES, 123));
-
ASSERT_EQ(default_name, trial_1->group_name());
scoped_refptr<base::FieldTrial> trial_2(CreateTrialAndAssociateId(
"t2", default_name, GOOGLE_WEB_PROPERTIES_TRIGGER, 456));
-
ASSERT_EQ(default_name, trial_2->group_name());
+ scoped_refptr<base::FieldTrial> trial_3(CreateTrialAndAssociateId(
+ "t3", default_name, GOOGLE_WEB_PROPERTIES_SIGNED_IN, 789));
+ ASSERT_EQ(default_name, trial_3->group_name());
+
// Run the message loop to make sure OnFieldTrialGroupFinalized is called for
// the two field trials.
base::RunLoop().RunUntilIdle();
- std::string variations = provider.GetClientDataHeader();
-
- std::set<VariationID> variation_ids;
- std::set<VariationID> trigger_ids;
- ASSERT_TRUE(ExtractVariationIds(variations, &variation_ids, &trigger_ids));
- EXPECT_TRUE(variation_ids.find(123) != variation_ids.end());
- EXPECT_TRUE(trigger_ids.find(456) != trigger_ids.end());
+ // Get non-signed in ids.
+ {
+ std::string variations = provider.GetClientDataHeader(false);
+ std::set<VariationID> variation_ids;
+ std::set<VariationID> trigger_ids;
+ ASSERT_TRUE(ExtractVariationIds(variations, &variation_ids, &trigger_ids));
+ EXPECT_EQ(1U, variation_ids.size());
+ EXPECT_TRUE(variation_ids.find(123) != variation_ids.end());
+ EXPECT_EQ(1U, trigger_ids.size());
+ EXPECT_TRUE(trigger_ids.find(456) != trigger_ids.end());
+ }
+
+ // Now, get signed-in ids.
+ {
+ std::string variations = provider.GetClientDataHeader(true);
+ std::set<VariationID> variation_ids;
+ std::set<VariationID> trigger_ids;
+ ASSERT_TRUE(ExtractVariationIds(variations, &variation_ids, &trigger_ids));
+ EXPECT_EQ(2U, variation_ids.size());
+ EXPECT_TRUE(variation_ids.find(123) != variation_ids.end());
+ EXPECT_TRUE(variation_ids.find(789) != variation_ids.end());
+ EXPECT_EQ(1U, trigger_ids.size());
+ EXPECT_TRUE(trigger_ids.find(456) != trigger_ids.end());
+ }
}
TEST_F(VariationsHttpHeaderProviderTest, GetVariationsString) {
@@ -131,6 +150,8 @@ TEST_F(VariationsHttpHeaderProviderTest, GetVariationsString) {
CreateTrialAndAssociateId("t1", "g1", GOOGLE_WEB_PROPERTIES, 123);
CreateTrialAndAssociateId("t2", "g2", GOOGLE_WEB_PROPERTIES, 124);
+ // SIGNED_IN ids shouldn't be included.
+ CreateTrialAndAssociateId("t3", "g3", GOOGLE_WEB_PROPERTIES_SIGNED_IN, 125);
VariationsHttpHeaderProvider provider;
std::vector<std::string> ids;
« no previous file with comments | « components/variations/variations_http_header_provider.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698