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 |