Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(85)

Unified Diff: google_apis/gcm/engine/gcm_store_impl_unittest.cc

Issue 1183843002: Do not create GCM store if it is not needed (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address feedback + fix test Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « google_apis/gcm/engine/gcm_store_impl.cc ('k') | google_apis/gcm/engine/mcs_client_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: google_apis/gcm/engine/gcm_store_impl_unittest.cc
diff --git a/google_apis/gcm/engine/gcm_store_impl_unittest.cc b/google_apis/gcm/engine/gcm_store_impl_unittest.cc
index 2fe64b429884d10021c03a35eafa246bb8694f6b..2b0c4018f39c0f7f0d2731bd785645b87abac818 100644
--- a/google_apis/gcm/engine/gcm_store_impl_unittest.cc
+++ b/google_apis/gcm/engine/gcm_store_impl_unittest.cc
@@ -47,6 +47,8 @@ class GCMStoreImplTest : public testing::Test {
~GCMStoreImplTest() override;
scoped_ptr<GCMStoreImpl> BuildGCMStore();
+ void LoadGCMStore(
+ GCMStoreImpl* gcm_store, scoped_ptr<GCMStore::LoadResult>* result_dst);
std::string GetNextPersistentId();
@@ -54,6 +56,8 @@ class GCMStoreImplTest : public testing::Test {
void LoadCallback(scoped_ptr<GCMStore::LoadResult>* result_dst,
scoped_ptr<GCMStore::LoadResult> result);
+ void LoadWithoutCheckCallback(scoped_ptr<GCMStore::LoadResult>* result_dst,
+ scoped_ptr<GCMStore::LoadResult> result);
void UpdateCallback(bool success);
protected:
@@ -75,11 +79,24 @@ GCMStoreImplTest::~GCMStoreImplTest() {}
scoped_ptr<GCMStoreImpl> GCMStoreImplTest::BuildGCMStore() {
return scoped_ptr<GCMStoreImpl>(new GCMStoreImpl(
- temp_directory_.path(),
+ // Pass an non-existent directory as store path to match the exact
+ // behavior in the production code. Currently GCMStoreImpl checks if
+ // the directory exist or not to determine the store existence.
+ temp_directory_.path().Append(FILE_PATH_LITERAL("GCM Store")),
message_loop_.message_loop_proxy(),
make_scoped_ptr<Encryptor>(new FakeEncryptor)));
}
+void GCMStoreImplTest::LoadGCMStore(
+ GCMStoreImpl* gcm_store, scoped_ptr<GCMStore::LoadResult>* result_dst) {
+ gcm_store->Load(
+ GCMStore::CREATE_IF_MISSING,
+ base::Bind(&GCMStoreImplTest::LoadCallback,
+ base::Unretained(this),
+ result_dst));
+ PumpLoop();
+}
+
std::string GCMStoreImplTest::GetNextPersistentId() {
return base::Uint64ToString(next_persistent_id_++);
}
@@ -90,6 +107,12 @@ void GCMStoreImplTest::LoadCallback(
scoped_ptr<GCMStore::LoadResult>* result_dst,
scoped_ptr<GCMStore::LoadResult> result) {
ASSERT_TRUE(result->success);
+ LoadWithoutCheckCallback(result_dst, result.Pass());
+}
+
+void GCMStoreImplTest::LoadWithoutCheckCallback(
+ scoped_ptr<GCMStore::LoadResult>* result_dst,
+ scoped_ptr<GCMStore::LoadResult> result) {
*result_dst = result.Pass();
run_loop_->Quit();
run_loop_.reset(new base::RunLoop());
@@ -101,11 +124,9 @@ void GCMStoreImplTest::UpdateCallback(bool success) {
// Verify creating a new database and loading it.
TEST_F(GCMStoreImplTest, LoadNew) {
- scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
+ scoped_ptr<GCMStoreImpl> gcm_store(BuildGCMStore());
scoped_ptr<GCMStore::LoadResult> load_result;
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
EXPECT_EQ(0U, load_result->device_android_id);
EXPECT_EQ(0U, load_result->device_security_token);
@@ -115,13 +136,26 @@ TEST_F(GCMStoreImplTest, LoadNew) {
EXPECT_EQ(base::Time::FromInternalValue(0LL), load_result->last_checkin_time);
}
-TEST_F(GCMStoreImplTest, DeviceCredentials) {
- scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
+// Verify new database is not created when DO_NOT_CREATE_NEW_STORE is passed.
+TEST_F(GCMStoreImplTest, LoadWithoutCreatingNewStore) {
+ scoped_ptr<GCMStoreImpl> gcm_store(BuildGCMStore());
scoped_ptr<GCMStore::LoadResult> load_result;
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
+ gcm_store->Load(
+ GCMStore::DO_NOT_CREATE,
+ base::Bind(&GCMStoreImplTest::LoadWithoutCheckCallback,
+ base::Unretained(this),
+ &load_result));
PumpLoop();
+ EXPECT_FALSE(load_result->success);
+ EXPECT_TRUE(load_result->store_does_not_exist);
+}
+
+TEST_F(GCMStoreImplTest, DeviceCredentials) {
+ scoped_ptr<GCMStoreImpl> gcm_store(BuildGCMStore());
+ scoped_ptr<GCMStore::LoadResult> load_result;
+ LoadGCMStore(gcm_store.get(), &load_result);
+
gcm_store->SetDeviceCredentials(
kDeviceId,
kDeviceToken,
@@ -129,9 +163,7 @@ TEST_F(GCMStoreImplTest, DeviceCredentials) {
PumpLoop();
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
ASSERT_EQ(kDeviceId, load_result->device_android_id);
ASSERT_EQ(kDeviceToken, load_result->device_security_token);
@@ -140,9 +172,7 @@ TEST_F(GCMStoreImplTest, DeviceCredentials) {
TEST_F(GCMStoreImplTest, LastCheckinInfo) {
scoped_ptr<GCMStoreImpl> gcm_store(BuildGCMStore());
scoped_ptr<GCMStore::LoadResult> load_result;
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
base::Time last_checkin_time = base::Time::Now();
std::set<std::string> accounts;
@@ -156,9 +186,7 @@ TEST_F(GCMStoreImplTest, LastCheckinInfo) {
PumpLoop();
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
ASSERT_EQ(last_checkin_time, load_result->last_checkin_time);
ASSERT_EQ(accounts, load_result->last_checkin_accounts);
@@ -170,18 +198,14 @@ TEST_F(GCMStoreImplTest, LastCheckinInfo) {
PumpLoop();
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
EXPECT_EQ(base::Time(), load_result->last_checkin_time);
}
TEST_F(GCMStoreImplTest, GServicesSettings_ProtocolV2) {
- scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
+ scoped_ptr<GCMStoreImpl> gcm_store(BuildGCMStore());
scoped_ptr<GCMStore::LoadResult> load_result;
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
std::map<std::string, std::string> settings;
settings["checkin_interval"] = "12345";
@@ -196,9 +220,7 @@ TEST_F(GCMStoreImplTest, GServicesSettings_ProtocolV2) {
PumpLoop();
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
ASSERT_EQ(settings, load_result->gservices_settings);
ASSERT_EQ(digest, load_result->gservices_digest);
@@ -216,20 +238,16 @@ TEST_F(GCMStoreImplTest, GServicesSettings_ProtocolV2) {
PumpLoop();
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
ASSERT_EQ(settings, load_result->gservices_settings);
ASSERT_EQ(digest, load_result->gservices_digest);
}
TEST_F(GCMStoreImplTest, Registrations) {
- scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
+ scoped_ptr<GCMStoreImpl> gcm_store(BuildGCMStore());
scoped_ptr<GCMStore::LoadResult> load_result;
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
// Add one registration with one sender.
std::string registration = "sender1=registration1";
@@ -248,9 +266,7 @@ TEST_F(GCMStoreImplTest, Registrations) {
PumpLoop();
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
ASSERT_EQ(2u, load_result->registrations.size());
ASSERT_TRUE(load_result->registrations.find(kAppName) !=
@@ -266,9 +282,7 @@ TEST_F(GCMStoreImplTest, Registrations) {
PumpLoop();
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
ASSERT_EQ(1u, load_result->registrations.size());
ASSERT_TRUE(load_result->registrations.find(kAppName) !=
@@ -279,11 +293,9 @@ TEST_F(GCMStoreImplTest, Registrations) {
// Verify saving some incoming messages, reopening the directory, and then
// removing those incoming messages.
TEST_F(GCMStoreImplTest, IncomingMessages) {
- scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
+ scoped_ptr<GCMStoreImpl> gcm_store(BuildGCMStore());
scoped_ptr<GCMStore::LoadResult> load_result;
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
std::vector<std::string> persistent_ids;
for (int i = 0; i < kNumPersistentIds; ++i) {
@@ -295,9 +307,7 @@ TEST_F(GCMStoreImplTest, IncomingMessages) {
}
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
ASSERT_EQ(persistent_ids, load_result->incoming_messages);
ASSERT_TRUE(load_result->outgoing_messages.empty());
@@ -309,9 +319,7 @@ TEST_F(GCMStoreImplTest, IncomingMessages) {
gcm_store = BuildGCMStore().Pass();
load_result->incoming_messages.clear();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
ASSERT_TRUE(load_result->incoming_messages.empty());
ASSERT_TRUE(load_result->outgoing_messages.empty());
@@ -320,11 +328,9 @@ TEST_F(GCMStoreImplTest, IncomingMessages) {
// Verify saving some outgoing messages, reopening the directory, and then
// removing those outgoing messages.
TEST_F(GCMStoreImplTest, OutgoingMessages) {
- scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
+ scoped_ptr<GCMStoreImpl> gcm_store(BuildGCMStore());
scoped_ptr<GCMStore::LoadResult> load_result;
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
std::vector<std::string> persistent_ids;
const int kNumPersistentIds = 10;
@@ -341,9 +347,7 @@ TEST_F(GCMStoreImplTest, OutgoingMessages) {
}
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
ASSERT_TRUE(load_result->incoming_messages.empty());
ASSERT_EQ(load_result->outgoing_messages.size(), persistent_ids.size());
@@ -364,9 +368,7 @@ TEST_F(GCMStoreImplTest, OutgoingMessages) {
gcm_store = BuildGCMStore().Pass();
load_result->outgoing_messages.clear();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
ASSERT_TRUE(load_result->incoming_messages.empty());
ASSERT_TRUE(load_result->outgoing_messages.empty());
@@ -374,11 +376,9 @@ TEST_F(GCMStoreImplTest, OutgoingMessages) {
// Verify incoming and outgoing messages don't conflict.
TEST_F(GCMStoreImplTest, IncomingAndOutgoingMessages) {
- scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
+ scoped_ptr<GCMStoreImpl> gcm_store(BuildGCMStore());
scoped_ptr<GCMStore::LoadResult> load_result;
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
std::vector<std::string> persistent_ids;
const int kNumPersistentIds = 10;
@@ -400,9 +400,7 @@ TEST_F(GCMStoreImplTest, IncomingAndOutgoingMessages) {
}
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
ASSERT_EQ(persistent_ids, load_result->incoming_messages);
ASSERT_EQ(load_result->outgoing_messages.size(), persistent_ids.size());
@@ -428,9 +426,7 @@ TEST_F(GCMStoreImplTest, IncomingAndOutgoingMessages) {
gcm_store = BuildGCMStore().Pass();
load_result->incoming_messages.clear();
load_result->outgoing_messages.clear();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
ASSERT_TRUE(load_result->incoming_messages.empty());
ASSERT_TRUE(load_result->outgoing_messages.empty());
@@ -439,11 +435,9 @@ TEST_F(GCMStoreImplTest, IncomingAndOutgoingMessages) {
// Test that per-app message limits are enforced, persisted across restarts,
// and updated as messages are removed.
TEST_F(GCMStoreImplTest, PerAppMessageLimits) {
- scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
+ scoped_ptr<GCMStoreImpl> gcm_store(BuildGCMStore());
scoped_ptr<GCMStore::LoadResult> load_result;
- gcm_store->Load(base::Bind(&GCMStoreImplTest::LoadCallback,
- base::Unretained(this),
- &load_result));
+ LoadGCMStore(gcm_store.get(), &load_result);
// Add the initial (below app limit) messages.
for (int i = 0; i < kNumMessagesPerApp; ++i) {
@@ -473,10 +467,7 @@ TEST_F(GCMStoreImplTest, PerAppMessageLimits) {
// Tear down and restore the database.
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(&GCMStoreImplTest::LoadCallback,
- base::Unretained(this),
- &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
// Adding more messages should still fail.
for (int i = 0; i < kNumMessagesPerApp; ++i) {
@@ -515,10 +506,9 @@ TEST_F(GCMStoreImplTest, PerAppMessageLimits) {
}
TEST_F(GCMStoreImplTest, AccountMapping) {
- scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
+ scoped_ptr<GCMStoreImpl> gcm_store(BuildGCMStore());
scoped_ptr<GCMStore::LoadResult> load_result;
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
+ LoadGCMStore(gcm_store.get(), &load_result);
// Add account mappings.
AccountMapping account_mapping1;
@@ -548,9 +538,7 @@ TEST_F(GCMStoreImplTest, AccountMapping) {
PumpLoop();
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
EXPECT_EQ(2UL, load_result->account_mappings.size());
GCMStore::AccountMappings::iterator iter =
@@ -577,9 +565,7 @@ TEST_F(GCMStoreImplTest, AccountMapping) {
PumpLoop();
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
EXPECT_EQ(1UL, load_result->account_mappings.size());
iter = load_result->account_mappings.begin();
@@ -593,10 +579,9 @@ TEST_F(GCMStoreImplTest, AccountMapping) {
}
TEST_F(GCMStoreImplTest, HeartbeatInterval) {
- scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
+ scoped_ptr<GCMStoreImpl> gcm_store(BuildGCMStore());
scoped_ptr<GCMStore::LoadResult> load_result;
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
+ LoadGCMStore(gcm_store.get(), &load_result);
std::string scope1 = "scope1";
std::string scope2 = "scope2";
@@ -615,9 +600,7 @@ TEST_F(GCMStoreImplTest, HeartbeatInterval) {
PumpLoop();
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
EXPECT_EQ(2UL, load_result->heartbeat_intervals.size());
ASSERT_TRUE(load_result->heartbeat_intervals.find(scope1) !=
@@ -633,9 +616,7 @@ TEST_F(GCMStoreImplTest, HeartbeatInterval) {
PumpLoop();
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
EXPECT_EQ(1UL, load_result->heartbeat_intervals.size());
ASSERT_TRUE(load_result->heartbeat_intervals.find(scope1) !=
@@ -647,12 +628,9 @@ TEST_F(GCMStoreImplTest, HeartbeatInterval) {
// same time, they per-app message counts should not go up, as failures should
// result in decrementing the counts.
TEST_F(GCMStoreImplTest, AddMessageAfterDestroy) {
- scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
+ scoped_ptr<GCMStoreImpl> gcm_store(BuildGCMStore());
scoped_ptr<GCMStore::LoadResult> load_result;
- gcm_store->Load(base::Bind(&GCMStoreImplTest::LoadCallback,
- base::Unretained(this),
- &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
gcm_store->Destroy(base::Bind(&GCMStoreImplTest::UpdateCallback,
base::Unretained(this)));
PumpLoop();
@@ -673,28 +651,20 @@ TEST_F(GCMStoreImplTest, AddMessageAfterDestroy) {
}
TEST_F(GCMStoreImplTest, ReloadAfterClose) {
- scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
+ scoped_ptr<GCMStoreImpl> gcm_store(BuildGCMStore());
scoped_ptr<GCMStore::LoadResult> load_result;
- gcm_store->Load(base::Bind(&GCMStoreImplTest::LoadCallback,
- base::Unretained(this),
- &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
gcm_store->Close();
PumpLoop();
- gcm_store->Load(base::Bind(&GCMStoreImplTest::LoadCallback,
- base::Unretained(this),
- &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
}
TEST_F(GCMStoreImplTest, LastTokenFetchTime) {
scoped_ptr<GCMStoreImpl> gcm_store(BuildGCMStore());
scoped_ptr<GCMStore::LoadResult> load_result;
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
EXPECT_EQ(base::Time(), load_result->last_token_fetch_time);
base::Time last_token_fetch_time = base::Time::Now();
@@ -704,9 +674,7 @@ TEST_F(GCMStoreImplTest, LastTokenFetchTime) {
PumpLoop();
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
EXPECT_EQ(last_token_fetch_time, load_result->last_token_fetch_time);
// Negative cases, where the value read is gibberish.
@@ -717,18 +685,14 @@ TEST_F(GCMStoreImplTest, LastTokenFetchTime) {
PumpLoop();
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
EXPECT_EQ(base::Time(), load_result->last_token_fetch_time);
}
TEST_F(GCMStoreImplTest, InstanceIDData) {
- scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
+ scoped_ptr<GCMStoreImpl> gcm_store(BuildGCMStore());
scoped_ptr<GCMStore::LoadResult> load_result;
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
std::string instance_id_data("Foo");
gcm_store->AddInstanceIDData(
@@ -745,9 +709,7 @@ TEST_F(GCMStoreImplTest, InstanceIDData) {
PumpLoop();
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
ASSERT_EQ(2u, load_result->instance_id_data.size());
ASSERT_TRUE(load_result->instance_id_data.find(kAppName) !=
@@ -763,9 +725,7 @@ TEST_F(GCMStoreImplTest, InstanceIDData) {
PumpLoop();
gcm_store = BuildGCMStore().Pass();
- gcm_store->Load(base::Bind(
- &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
- PumpLoop();
+ LoadGCMStore(gcm_store.get(), &load_result);
ASSERT_EQ(1u, load_result->instance_id_data.size());
ASSERT_TRUE(load_result->instance_id_data.find(kAppName2) !=
« no previous file with comments | « google_apis/gcm/engine/gcm_store_impl.cc ('k') | google_apis/gcm/engine/mcs_client_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698