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

Unified Diff: chrome/browser/metrics/variations/variations_seed_store_unittest.cc

Issue 1200233005: Support delta-compressed variations server responses. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 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: chrome/browser/metrics/variations/variations_seed_store_unittest.cc
diff --git a/chrome/browser/metrics/variations/variations_seed_store_unittest.cc b/chrome/browser/metrics/variations/variations_seed_store_unittest.cc
index 3bd30351bc998b5cc0c811eb996eed8252d4e889..f9f92b0c07f7e65a501b11665c5fac3d2d6bed8f 100644
--- a/chrome/browser/metrics/variations/variations_seed_store_unittest.cc
+++ b/chrome/browser/metrics/variations/variations_seed_store_unittest.cc
@@ -23,7 +23,8 @@ class TestVariationsSeedStore : public VariationsSeedStore {
~TestVariationsSeedStore() override {}
bool StoreSeedForTesting(const std::string& seed_data) {
- return StoreSeedData(seed_data, std::string(), base::Time::Now(), NULL);
+ return StoreSeedData(seed_data, std::string(), std::string(),
+ base::Time::Now(), false, nullptr);
}
VariationsSeedStore::VerifySignatureResult VerifySeedSignature(
@@ -209,7 +210,8 @@ TEST(VariationsSeedStoreTest, StoreSeedData_ParsedSeed) {
variations::VariationsSeed parsed_seed;
EXPECT_TRUE(seed_store.StoreSeedData(serialized_seed, std::string(),
- base::Time::Now(), &parsed_seed));
+ std::string(), base::Time::Now(), false,
+ &parsed_seed));
EXPECT_EQ(serialized_seed, SerializeSeed(parsed_seed));
}
@@ -268,4 +270,43 @@ TEST(VariationsSeedStoreTest, VerifySeedSignature) {
seed_store.VerifySeedSignature(seed_data, base64_seed_signature));
}
+TEST(VariationsSeedStoreTest, ApplyDeltaPatch) {
+ // Sample seeds and the server produced delta between them to verify that the
+ // client code is able to decode the deltas produced by the server.
+ const std::string base64_before_seed_data =
+ "CigxN2E4ZGJiOTI4ODI0ZGU3ZDU2MGUyODRlODY1ZDllYzg2NzU1MTE0ElgKDFVNQVN0YWJp"
+ "bGl0eRjEyomgBTgBQgtTZXBhcmF0ZUxvZ0oLCgdEZWZhdWx0EABKDwoLU2VwYXJhdGVMb2cQ"
+ "ZFIVEgszNC4wLjE4MDEuMCAAIAEgAiADEkQKIFVNQS1Vbmlmb3JtaXR5LVRyaWFsLTEwMC1Q"
+ "ZXJjZW50GIDjhcAFOAFCCGdyb3VwXzAxSgwKCGdyb3VwXzAxEAFgARJPCh9VTUEtVW5pZm9y"
+ "bWl0eS1UcmlhbC01MC1QZXJjZW50GIDjhcAFOAFCB2RlZmF1bHRKDAoIZ3JvdXBfMDEQAUoL"
+ "CgdkZWZhdWx0EAFgAQ==";
+ const std::string base64_after_seed_data =
+ "CigyNGQzYTM3ZTAxYmViOWYwNWYzMjM4YjUzNWY3MDg1ZmZlZWI4NzQwElgKDFVNQVN0YWJp"
+ "bGl0eRjEyomgBTgBQgtTZXBhcmF0ZUxvZ0oLCgdEZWZhdWx0EABKDwoLU2VwYXJhdGVMb2cQ"
+ "ZFIVEgszNC4wLjE4MDEuMCAAIAEgAiADEpIBCh9VTUEtVW5pZm9ybWl0eS1UcmlhbC0yMC1Q"
+ "ZXJjZW50GIDjhcAFOAFCB2RlZmF1bHRKEQoIZ3JvdXBfMDEQARijtskBShEKCGdyb3VwXzAy"
+ "EAEYpLbJAUoRCghncm91cF8wMxABGKW2yQFKEQoIZ3JvdXBfMDQQARimtskBShAKB2RlZmF1"
+ "bHQQARiitskBYAESWAofVU1BLVVuaWZvcm1pdHktVHJpYWwtNTAtUGVyY2VudBiA44XABTgB"
+ "QgdkZWZhdWx0Sg8KC25vbl9kZWZhdWx0EAFKCwoHZGVmYXVsdBABUgQoACgBYAE=";
+ const std::string base64_delta_data =
+ "KgooMjRkM2EzN2UwMWJlYjlmMDVmMzIzOGI1MzVmNzA4NWZmZWViODc0MAAqW+4BkgEKH1VN"
+ "QS1Vbmlmb3JtaXR5LVRyaWFsLTIwLVBlcmNlbnQYgOOFwAU4AUIHZGVmYXVsdEoRCghncm91"
+ "cF8wMRABGKO2yQFKEQoIZ3JvdXBfMDIQARiktskBShEKCGdyb3VwXzAzEAEYpbbJAUoRCghn"
+ "cm91cF8wNBABGKa2yQFKEAoHZGVmYXVsdBABGKK2yQFgARJYCh9VTUEtVW5pZm9ybWl0eS1U"
+ "cmlhbC01MC1QZXJjZW50GIDjhcAFOAFCB2RlZmF1bHRKDwoLbm9uX2RlZmF1bHQQAUoLCgdk"
+ "ZWZhdWx0EAFSBCgAKAFgAQ==";
+
+ std::string before_seed_data;
+ std::string after_seed_data;
+ std::string delta_data;
+ EXPECT_TRUE(base::Base64Decode(base64_before_seed_data, &before_seed_data));
+ EXPECT_TRUE(base::Base64Decode(base64_after_seed_data, &after_seed_data));
+ EXPECT_TRUE(base::Base64Decode(base64_delta_data, &delta_data));
+
+ std::string output;
+ EXPECT_TRUE(VariationsSeedStore::ApplyDeltaPatch(before_seed_data, delta_data,
+ &output));
+ EXPECT_EQ(after_seed_data, output);
+}
+
} // namespace chrome_variations

Powered by Google App Engine
This is Rietveld 408576698