| Index: google_apis/gcm/engine/gservices_settings_unittest.cc
|
| diff --git a/google_apis/gcm/engine/gservices_settings_unittest.cc b/google_apis/gcm/engine/gservices_settings_unittest.cc
|
| index 12623e348128c8af6b7ffa78fbdde76bd4749b12..bd4c2189e560ce7d300e44e1c043d8e2574ae90c 100644
|
| --- a/google_apis/gcm/engine/gservices_settings_unittest.cc
|
| +++ b/google_apis/gcm/engine/gservices_settings_unittest.cc
|
| @@ -23,6 +23,10 @@ const int64 kDefaultCheckinInterval = 2 * 24 * 60 * 60; // seconds = 2 days.
|
| const char kDefaultCheckinURL[] = "https://android.clients.google.com/checkin";
|
| const char kDefaultRegistrationURL[] =
|
| "https://android.clients.google.com/c2dm/register3";
|
| +const char kDefaultSettingsDigest[] =
|
| + "1-4C598686664FF131F439C522AB7B355A65819B1F";
|
| +const char kAlternativeSettingsDigest[] =
|
| + "1-7DA4AA4EB38A8BD3E330E3751CC0899924499134";
|
|
|
| } // namespace
|
|
|
| @@ -70,28 +74,29 @@ void GServicesSettingsTest::SetUp() {
|
|
|
| void GServicesSettingsTest::CheckAllSetToDefault() {
|
| EXPECT_EQ(base::TimeDelta::FromSeconds(kDefaultCheckinInterval),
|
| - settings().checkin_interval());
|
| - EXPECT_EQ(GURL(kDefaultCheckinURL), settings().checkin_url());
|
| + settings().GetCheckinInterval());
|
| + EXPECT_EQ(GURL(kDefaultCheckinURL), settings().GetCheckinURL());
|
| EXPECT_EQ(GURL("https://mtalk.google.com:5228"),
|
| - settings().mcs_main_endpoint());
|
| + settings().GetMCSMainEndpoint());
|
| EXPECT_EQ(GURL("https://mtalk.google.com:443"),
|
| - settings().mcs_fallback_endpoint());
|
| - EXPECT_EQ(GURL(kDefaultRegistrationURL), settings().registration_url());
|
| + settings().GetMCSFallbackEndpoint());
|
| + EXPECT_EQ(GURL(kDefaultRegistrationURL), settings().GetRegistrationURL());
|
| }
|
|
|
| void GServicesSettingsTest::CheckAllSetToAlternative() {
|
| EXPECT_EQ(base::TimeDelta::FromSeconds(kAlternativeCheckinInterval),
|
| - settings().checkin_interval());
|
| - EXPECT_EQ(GURL(kAlternativeCheckinURL), settings().checkin_url());
|
| + settings().GetCheckinInterval());
|
| + EXPECT_EQ(GURL(kAlternativeCheckinURL), settings().GetCheckinURL());
|
| EXPECT_EQ(GURL("https://alternative.gcm.host:7777"),
|
| - settings().mcs_main_endpoint());
|
| + settings().GetMCSMainEndpoint());
|
| EXPECT_EQ(GURL("https://alternative.gcm.host:443"),
|
| - settings().mcs_fallback_endpoint());
|
| - EXPECT_EQ(GURL(kAlternativeRegistrationURL), settings().registration_url());
|
| + settings().GetMCSFallbackEndpoint());
|
| + EXPECT_EQ(GURL(kAlternativeRegistrationURL), settings().GetRegistrationURL());
|
| }
|
|
|
| void GServicesSettingsTest::SetWithAlternativeSettings(
|
| checkin_proto::AndroidCheckinResponse& checkin_response) {
|
| + checkin_response.set_settings_diff(false);
|
| for (std::map<std::string, std::string>::const_iterator iter =
|
| alternative_settings_.begin();
|
| iter != alternative_settings_.end(); ++iter) {
|
| @@ -104,7 +109,20 @@ void GServicesSettingsTest::SetWithAlternativeSettings(
|
| // Verifies default values of the G-services settings and settings digest.
|
| TEST_F(GServicesSettingsTest, DefaultSettingsAndDigest) {
|
| CheckAllSetToDefault();
|
| - EXPECT_EQ(std::string(), settings().digest());
|
| + EXPECT_EQ(kDefaultSettingsDigest, settings().digest());
|
| +}
|
| +
|
| +// Verifies digest calculation for default settings.
|
| +TEST_F(GServicesSettingsTest, CalculateDigestForDefaultSettings) {
|
| + CheckAllSetToDefault();
|
| + EXPECT_EQ(kDefaultSettingsDigest,
|
| + GServicesSettings::CalculateDigest(settings().get_settings_map()));
|
| +}
|
| +
|
| +// Verifies digest calculation for aternative settings.
|
| +TEST_F(GServicesSettingsTest, CalculateDigestForAternativeSettings) {
|
| + EXPECT_EQ(kAlternativeSettingsDigest,
|
| + GServicesSettings::CalculateDigest(alternative_settings_));
|
| }
|
|
|
| // Verifies that settings are not updated when load result is empty.
|
| @@ -114,7 +132,7 @@ TEST_F(GServicesSettingsTest, UpdateFromEmptyLoadResult) {
|
| settings().UpdateFromLoadResult(result);
|
|
|
| CheckAllSetToDefault();
|
| - EXPECT_EQ(std::string(), settings().digest());
|
| + EXPECT_EQ(kDefaultSettingsDigest, settings().digest());
|
| }
|
|
|
| // Verifies that settings are not updated when one of them is missing.
|
| @@ -126,18 +144,18 @@ TEST_F(GServicesSettingsTest, UpdateFromLoadResultWithSettingMissing) {
|
| settings().UpdateFromLoadResult(result);
|
|
|
| CheckAllSetToDefault();
|
| - EXPECT_EQ(std::string(), settings().digest());
|
| + EXPECT_EQ(kDefaultSettingsDigest, settings().digest());
|
| }
|
|
|
| // Verifies that the settings are set correctly based on the load result.
|
| TEST_F(GServicesSettingsTest, UpdateFromLoadResult) {
|
| GCMStore::LoadResult result;
|
| result.gservices_settings = alternative_settings();
|
| - result.gservices_digest = "digest_value";
|
| + result.gservices_digest = kAlternativeSettingsDigest;
|
| settings().UpdateFromLoadResult(result);
|
|
|
| CheckAllSetToAlternative();
|
| - EXPECT_EQ("digest_value", settings().digest());
|
| + EXPECT_EQ(kAlternativeSettingsDigest, settings().digest());
|
| }
|
|
|
| // Verifies that the settings are set correctly after parsing a checkin
|
| @@ -145,14 +163,14 @@ TEST_F(GServicesSettingsTest, UpdateFromLoadResult) {
|
| TEST_F(GServicesSettingsTest, UpdateFromCheckinResponse) {
|
| checkin_proto::AndroidCheckinResponse checkin_response;
|
|
|
| - checkin_response.set_digest("digest_value");
|
| + checkin_response.set_digest(kAlternativeSettingsDigest);
|
| SetWithAlternativeSettings(checkin_response);
|
|
|
| EXPECT_TRUE(settings().UpdateFromCheckinResponse(checkin_response));
|
|
|
| CheckAllSetToAlternative();
|
| - EXPECT_EQ(alternative_settings_, settings().GetSettingsMap());
|
| - EXPECT_EQ("digest_value", settings().digest());
|
| + EXPECT_EQ(alternative_settings_, settings().get_settings_map());
|
| + EXPECT_EQ(kAlternativeSettingsDigest, settings().digest());
|
| }
|
|
|
| // Verifies that the checkin interval is updated to minimum if the original
|
| @@ -160,7 +178,8 @@ TEST_F(GServicesSettingsTest, UpdateFromCheckinResponse) {
|
| TEST_F(GServicesSettingsTest, UpdateFromCheckinResponseMinimumCheckinInterval) {
|
| checkin_proto::AndroidCheckinResponse checkin_response;
|
|
|
| - checkin_response.set_digest("digest_value");
|
| + const char digest[] = "1-436646257E0FAC3F0D20C866B0DA46C21DCD1FA2";
|
| + checkin_response.set_digest(digest);
|
| // Setting the checkin interval to less than minimum.
|
| alternative_settings_["checkin_interval"] = base::IntToString(3600);
|
| SetWithAlternativeSettings(checkin_response);
|
| @@ -168,22 +187,22 @@ TEST_F(GServicesSettingsTest, UpdateFromCheckinResponseMinimumCheckinInterval) {
|
| EXPECT_TRUE(settings().UpdateFromCheckinResponse(checkin_response));
|
|
|
| EXPECT_EQ(GServicesSettings::MinimumCheckinInterval(),
|
| - settings().checkin_interval());
|
| - EXPECT_EQ("digest_value", settings().digest());
|
| + settings().GetCheckinInterval());
|
| + EXPECT_EQ(digest, settings().digest());
|
| }
|
|
|
| // Verifies that settings are not updated when one of them is missing.
|
| TEST_F(GServicesSettingsTest, UpdateFromCheckinResponseWithSettingMissing) {
|
| checkin_proto::AndroidCheckinResponse checkin_response;
|
|
|
| - checkin_response.set_digest("digest_value");
|
| + checkin_response.set_digest(kAlternativeSettingsDigest);
|
| alternative_settings_.erase("gcm_hostname");
|
| SetWithAlternativeSettings(checkin_response);
|
|
|
| EXPECT_FALSE(settings().UpdateFromCheckinResponse(checkin_response));
|
|
|
| CheckAllSetToDefault();
|
| - EXPECT_EQ(std::string(), settings().digest());
|
| + EXPECT_EQ(kDefaultSettingsDigest, settings().digest());
|
| }
|
|
|
| // Verifies that no update is done, when a checkin response misses digest.
|
| @@ -194,23 +213,23 @@ TEST_F(GServicesSettingsTest, UpdateFromCheckinResponseNoDigest) {
|
| EXPECT_FALSE(settings().UpdateFromCheckinResponse(checkin_response));
|
|
|
| CheckAllSetToDefault();
|
| - EXPECT_EQ(std::string(), settings().digest());
|
| + EXPECT_EQ(kDefaultSettingsDigest, settings().digest());
|
| }
|
|
|
| // Verifies that no update is done, when a checkin response digest is the same.
|
| TEST_F(GServicesSettingsTest, UpdateFromCheckinResponseSameDigest) {
|
| GCMStore::LoadResult load_result;
|
| - load_result.gservices_digest = "old_digest";
|
| + load_result.gservices_digest = kAlternativeSettingsDigest;
|
| load_result.gservices_settings = alternative_settings();
|
| settings().UpdateFromLoadResult(load_result);
|
|
|
| checkin_proto::AndroidCheckinResponse checkin_response;
|
| - checkin_response.set_digest("old_digest");
|
| + checkin_response.set_digest(kAlternativeSettingsDigest);
|
| SetWithAlternativeSettings(checkin_response);
|
| EXPECT_FALSE(settings().UpdateFromCheckinResponse(checkin_response));
|
|
|
| CheckAllSetToAlternative();
|
| - EXPECT_EQ("old_digest", settings().digest());
|
| + EXPECT_EQ(kAlternativeSettingsDigest, settings().digest());
|
| }
|
|
|
| } // namespace gcm
|
|
|