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/engine/gcm_store_impl.h" | 5 #include "google_apis/gcm/engine/gcm_store_impl.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); | 104 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); |
105 scoped_ptr<GCMStore::LoadResult> load_result; | 105 scoped_ptr<GCMStore::LoadResult> load_result; |
106 gcm_store->Load(base::Bind( | 106 gcm_store->Load(base::Bind( |
107 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); | 107 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); |
108 PumpLoop(); | 108 PumpLoop(); |
109 | 109 |
110 EXPECT_EQ(0U, load_result->device_android_id); | 110 EXPECT_EQ(0U, load_result->device_android_id); |
111 EXPECT_EQ(0U, load_result->device_security_token); | 111 EXPECT_EQ(0U, load_result->device_security_token); |
112 EXPECT_TRUE(load_result->incoming_messages.empty()); | 112 EXPECT_TRUE(load_result->incoming_messages.empty()); |
113 EXPECT_TRUE(load_result->outgoing_messages.empty()); | 113 EXPECT_TRUE(load_result->outgoing_messages.empty()); |
| 114 EXPECT_TRUE(load_result->gservices_settings.empty()); |
114 EXPECT_EQ(base::Time::FromInternalValue(0LL), load_result->last_checkin_time); | 115 EXPECT_EQ(base::Time::FromInternalValue(0LL), load_result->last_checkin_time); |
115 } | 116 } |
116 | 117 |
117 TEST_F(GCMStoreImplTest, DeviceCredentials) { | 118 TEST_F(GCMStoreImplTest, DeviceCredentials) { |
118 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); | 119 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); |
119 scoped_ptr<GCMStore::LoadResult> load_result; | 120 scoped_ptr<GCMStore::LoadResult> load_result; |
120 gcm_store->Load(base::Bind( | 121 gcm_store->Load(base::Bind( |
121 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); | 122 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); |
122 PumpLoop(); | 123 PumpLoop(); |
123 | 124 |
(...skipping 23 matching lines...) Expand all Loading... |
147 | 148 |
148 gcm_store->SetLastCheckinTime( | 149 gcm_store->SetLastCheckinTime( |
149 last_checkin_time, | 150 last_checkin_time, |
150 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this))); | 151 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this))); |
151 PumpLoop(); | 152 PumpLoop(); |
152 | 153 |
153 gcm_store = BuildGCMStore().Pass(); | 154 gcm_store = BuildGCMStore().Pass(); |
154 gcm_store->Load(base::Bind( | 155 gcm_store->Load(base::Bind( |
155 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); | 156 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); |
156 PumpLoop(); | 157 PumpLoop(); |
| 158 ASSERT_EQ(last_checkin_time, load_result->last_checkin_time); |
| 159 } |
| 160 |
| 161 TEST_F(GCMStoreImplTest, GServicesSettings_ProtocolV2) { |
| 162 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); |
| 163 scoped_ptr<GCMStore::LoadResult> load_result; |
| 164 gcm_store->Load(base::Bind( |
| 165 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); |
| 166 PumpLoop(); |
157 | 167 |
158 ASSERT_EQ(last_checkin_time, load_result->last_checkin_time); | 168 std::map<std::string, std::string> settings; |
| 169 settings["checkin_interval"] = "12345"; |
| 170 settings["mcs_port"] = "438"; |
| 171 settings["checkin_url"] = "http://checkin.google.com"; |
| 172 std::string digest = "digest1"; |
| 173 |
| 174 gcm_store->SetGServicesSettings( |
| 175 settings, |
| 176 digest, |
| 177 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this))); |
| 178 PumpLoop(); |
| 179 |
| 180 gcm_store = BuildGCMStore().Pass(); |
| 181 gcm_store->Load(base::Bind( |
| 182 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); |
| 183 PumpLoop(); |
| 184 |
| 185 ASSERT_EQ(settings, load_result->gservices_settings); |
| 186 ASSERT_EQ(digest, load_result->gservices_digest); |
| 187 |
| 188 // Remove some, and add some. |
| 189 settings.clear(); |
| 190 settings["checkin_interval"] = "54321"; |
| 191 settings["registration_url"] = "http://registration.google.com"; |
| 192 digest = "digest2"; |
| 193 |
| 194 gcm_store->SetGServicesSettings( |
| 195 settings, |
| 196 digest, |
| 197 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this))); |
| 198 PumpLoop(); |
| 199 |
| 200 gcm_store = BuildGCMStore().Pass(); |
| 201 gcm_store->Load(base::Bind( |
| 202 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); |
| 203 PumpLoop(); |
| 204 |
| 205 ASSERT_EQ(settings, load_result->gservices_settings); |
| 206 ASSERT_EQ(digest, load_result->gservices_digest); |
159 } | 207 } |
160 | 208 |
161 TEST_F(GCMStoreImplTest, Registrations) { | 209 TEST_F(GCMStoreImplTest, Registrations) { |
162 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); | 210 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); |
163 scoped_ptr<GCMStore::LoadResult> load_result; | 211 scoped_ptr<GCMStore::LoadResult> load_result; |
164 gcm_store->Load(base::Bind( | 212 gcm_store->Load(base::Bind( |
165 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); | 213 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); |
166 PumpLoop(); | 214 PumpLoop(); |
167 | 215 |
168 // Add one registration with one sender. | 216 // Add one registration with one sender. |
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
490 | 538 |
491 gcm_store->Load(base::Bind(&GCMStoreImplTest::LoadCallback, | 539 gcm_store->Load(base::Bind(&GCMStoreImplTest::LoadCallback, |
492 base::Unretained(this), | 540 base::Unretained(this), |
493 &load_result)); | 541 &load_result)); |
494 PumpLoop(); | 542 PumpLoop(); |
495 } | 543 } |
496 | 544 |
497 } // namespace | 545 } // namespace |
498 | 546 |
499 } // namespace gcm | 547 } // namespace gcm |
OLD | NEW |