OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "google_apis/gcm/gcm_client_impl.h" | 5 #include "google_apis/gcm/gcm_client_impl.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/files/scoped_temp_dir.h" | 8 #include "base/files/scoped_temp_dir.h" |
9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
(...skipping 700 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
711 InitializeLoop(); | 711 InitializeLoop(); |
712 // Time will be advancing one hour every time it is checked. | 712 // Time will be advancing one hour every time it is checked. |
713 BuildGCMClient(base::TimeDelta::FromSeconds(kSettingsCheckinInterval)); | 713 BuildGCMClient(base::TimeDelta::FromSeconds(kSettingsCheckinInterval)); |
714 InitializeGCMClient(); | 714 InitializeGCMClient(); |
715 } | 715 } |
716 | 716 |
717 TEST_F(GCMClientImplCheckinTest, GServicesSettingsAfterInitialCheckin) { | 717 TEST_F(GCMClientImplCheckinTest, GServicesSettingsAfterInitialCheckin) { |
718 std::map<std::string, std::string> settings; | 718 std::map<std::string, std::string> settings; |
719 settings["checkin_interval"] = base::Int64ToString(kSettingsCheckinInterval); | 719 settings["checkin_interval"] = base::Int64ToString(kSettingsCheckinInterval); |
720 settings["checkin_url"] = "http://alternative.url/checkin"; | 720 settings["checkin_url"] = "http://alternative.url/checkin"; |
721 settings["gcm_hostname"] = "http://alternative.gcm.host"; | 721 settings["gcm_hostname"] = "alternative.gcm.host"; |
722 settings["gcm_secure_port"] = "443"; | 722 settings["gcm_secure_port"] = "7777"; |
723 settings["gcm_registration_url"] = "http://alternative.url/registration"; | 723 settings["gcm_registration_url"] = "http://alternative.url/registration"; |
724 CompleteCheckin( | 724 CompleteCheckin( |
725 kDeviceAndroidId, kDeviceSecurityToken, kSettingsDefaultDigest, settings); | 725 kDeviceAndroidId, kDeviceSecurityToken, kSettingsDefaultDigest, settings); |
726 EXPECT_EQ(base::TimeDelta::FromSeconds(kSettingsCheckinInterval), | 726 EXPECT_EQ(base::TimeDelta::FromSeconds(kSettingsCheckinInterval), |
727 gservices_settings().checkin_interval()); | 727 gservices_settings().checkin_interval()); |
728 EXPECT_EQ(GURL("http://alternative.url/checkin"), | 728 EXPECT_EQ(GURL("http://alternative.url/checkin"), |
729 gservices_settings().checkin_url()); | 729 gservices_settings().checkin_url()); |
730 EXPECT_EQ(GURL("http://alternative.url/registration"), | 730 EXPECT_EQ(GURL("http://alternative.url/registration"), |
731 gservices_settings().registration_url()); | 731 gservices_settings().registration_url()); |
732 EXPECT_EQ("http://alternative.gcm.host", gservices_settings().mcs_hostname()); | 732 EXPECT_EQ(GURL("https://alternative.gcm.host:7777"), |
733 EXPECT_EQ(443, gservices_settings().mcs_secure_port()); | 733 gservices_settings().mcs_main_endpoint()); |
| 734 EXPECT_EQ(GURL("https://alternative.gcm.host:443"), |
| 735 gservices_settings().mcs_fallback_endpoint()); |
734 } | 736 } |
735 | 737 |
736 // This test only checks that periodic checkin happens. | 738 // This test only checks that periodic checkin happens. |
737 TEST_F(GCMClientImplCheckinTest, PeriodicCheckin) { | 739 TEST_F(GCMClientImplCheckinTest, PeriodicCheckin) { |
738 std::map<std::string, std::string> settings; | 740 std::map<std::string, std::string> settings; |
739 settings["checkin_interval"] = base::IntToString(kSettingsCheckinInterval); | 741 settings["checkin_interval"] = base::IntToString(kSettingsCheckinInterval); |
740 settings["checkin_url"] = "http://alternative.url/checkin"; | 742 settings["checkin_url"] = "http://alternative.url/checkin"; |
741 settings["gcm_hostname"] = "http://alternative.gcm.host"; | 743 settings["gcm_hostname"] = "alternative.gcm.host"; |
742 settings["gcm_secure_port"] = "443"; | 744 settings["gcm_secure_port"] = "7777"; |
743 settings["gcm_registration_url"] = "http://alternative.url/registration"; | 745 settings["gcm_registration_url"] = "http://alternative.url/registration"; |
744 CompleteCheckin( | 746 CompleteCheckin( |
745 kDeviceAndroidId, kDeviceSecurityToken, kSettingsDefaultDigest, settings); | 747 kDeviceAndroidId, kDeviceSecurityToken, kSettingsDefaultDigest, settings); |
746 EXPECT_EQ(2, clock()->call_count()); | 748 EXPECT_EQ(2, clock()->call_count()); |
747 | 749 |
748 PumpLoopUntilIdle(); | 750 PumpLoopUntilIdle(); |
749 CompleteCheckin( | 751 CompleteCheckin( |
750 kDeviceAndroidId, kDeviceSecurityToken, kSettingsDefaultDigest, settings); | 752 kDeviceAndroidId, kDeviceSecurityToken, kSettingsDefaultDigest, settings); |
751 } | 753 } |
752 | 754 |
753 TEST_F(GCMClientImplCheckinTest, LoadGSettingsFromStore) { | 755 TEST_F(GCMClientImplCheckinTest, LoadGSettingsFromStore) { |
754 std::map<std::string, std::string> settings; | 756 std::map<std::string, std::string> settings; |
755 settings["checkin_interval"] = base::IntToString(kSettingsCheckinInterval); | 757 settings["checkin_interval"] = base::IntToString(kSettingsCheckinInterval); |
756 settings["checkin_url"] = "http://alternative.url/checkin"; | 758 settings["checkin_url"] = "http://alternative.url/checkin"; |
757 settings["gcm_hostname"] = "http://alternative.gcm.host"; | 759 settings["gcm_hostname"] = "alternative.gcm.host"; |
758 settings["gcm_secure_port"] = "443"; | 760 settings["gcm_secure_port"] = "7777"; |
759 settings["gcm_registration_url"] = "http://alternative.url/registration"; | 761 settings["gcm_registration_url"] = "http://alternative.url/registration"; |
760 CompleteCheckin( | 762 CompleteCheckin( |
761 kDeviceAndroidId, kDeviceSecurityToken, kSettingsDefaultDigest, settings); | 763 kDeviceAndroidId, kDeviceSecurityToken, kSettingsDefaultDigest, settings); |
762 | 764 |
763 BuildGCMClient(base::TimeDelta()); | 765 BuildGCMClient(base::TimeDelta()); |
764 InitializeGCMClient(); | 766 InitializeGCMClient(); |
765 | 767 |
766 EXPECT_EQ(base::TimeDelta::FromSeconds(kSettingsCheckinInterval), | 768 EXPECT_EQ(base::TimeDelta::FromSeconds(kSettingsCheckinInterval), |
767 gservices_settings().checkin_interval()); | 769 gservices_settings().checkin_interval()); |
768 EXPECT_EQ(GURL("http://alternative.url/checkin"), | 770 EXPECT_EQ(GURL("http://alternative.url/checkin"), |
769 gservices_settings().checkin_url()); | 771 gservices_settings().checkin_url()); |
770 EXPECT_EQ(GURL("http://alternative.url/registration"), | 772 EXPECT_EQ(GURL("http://alternative.url/registration"), |
771 gservices_settings().registration_url()); | 773 gservices_settings().registration_url()); |
772 EXPECT_EQ("http://alternative.gcm.host", gservices_settings().mcs_hostname()); | 774 EXPECT_EQ(GURL("https://alternative.gcm.host:7777"), |
773 EXPECT_EQ(443, gservices_settings().mcs_secure_port()); | 775 gservices_settings().mcs_main_endpoint()); |
| 776 EXPECT_EQ(GURL("https://alternative.gcm.host:443"), |
| 777 gservices_settings().mcs_fallback_endpoint()); |
774 } | 778 } |
775 | 779 |
776 } // namespace gcm | 780 } // namespace gcm |
OLD | NEW |