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