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

Unified Diff: chrome/browser/invalidation/invalidation_logger_unittest.cc

Issue 159773006: [invalidations] Added table with registered objectsIds (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@about_invalidations_clean
Patch Set: Removed a redefinition of GetOwnerName Created 6 years, 10 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
Index: chrome/browser/invalidation/invalidation_logger_unittest.cc
diff --git a/chrome/browser/invalidation/invalidation_logger_unittest.cc b/chrome/browser/invalidation/invalidation_logger_unittest.cc
index 60a5b5d072b243b7dfd55b2f599566e7d2bb22de..66f3b85580b2635d03a339d66e84387c446dc263 100644
--- a/chrome/browser/invalidation/invalidation_logger_unittest.cc
+++ b/chrome/browser/invalidation/invalidation_logger_unittest.cc
@@ -16,15 +16,16 @@ class InvalidationLoggerTest : public testing::Test {
class InvalidationLoggerObserverTest : public InvalidationLoggerObserver {
public:
- InvalidationLoggerObserverTest() { resetStates(); }
+ InvalidationLoggerObserverTest() { ResetStates(); }
- void resetStates() {
+ void ResetStates() {
registrationReceived = false;
Nicolas Zea 2014/02/11 21:58:25 all of these variables (and all variables in the r
mferreria_g 2014/02/12 00:03:46 They are not checked by cl format. Applied that mo
unregistrationReceived = false;
stateReceived = false;
updateIdReceived = false;
debugMessageReceived = false;
invalidationReceived = false;
+ updateIdsReplicated = std::map<std::string, syncer::ObjectIdSet>();
}
virtual void OnRegistration(const base::DictionaryValue& details) OVERRIDE {
@@ -40,8 +41,10 @@ class InvalidationLoggerObserverTest : public InvalidationLoggerObserver {
stateReceived = true;
}
- virtual void OnUpdateIds(const base::DictionaryValue& details) OVERRIDE {
+ virtual void OnUpdateIds(std::string handler,
+ const syncer::ObjectIdSet& details) OVERRIDE {
updateIdReceived = true;
+ updateIdsReplicated[handler] = details;
}
virtual void OnDebugMessage(const base::DictionaryValue& details) OVERRIDE {
@@ -59,6 +62,7 @@ class InvalidationLoggerObserverTest : public InvalidationLoggerObserver {
bool updateIdReceived;
bool debugMessageReceived;
bool invalidationReceived;
+ std::map<std::string, syncer::ObjectIdSet> updateIdsReplicated;
};
// Test that the callbacks are actually being called when observers are
@@ -76,7 +80,7 @@ TEST_F(InvalidationLoggerTest, TestCallbacks) {
EXPECT_FALSE(observerTest.unregistrationReceived);
EXPECT_FALSE(observerTest.debugMessageReceived);
- observerTest.resetStates();
+ observerTest.ResetStates();
log.OnInvalidation(syncer::ObjectIdInvalidationMap());
EXPECT_TRUE(observerTest.invalidationReceived);
@@ -104,7 +108,7 @@ TEST_F(InvalidationLoggerTest, TestReleaseOfObserver) {
log.OnRegistration(base::DictionaryValue());
log.OnUnregistration(base::DictionaryValue());
log.OnDebugMessage(base::DictionaryValue());
- log.OnUpdateIds(base::DictionaryValue());
+ log.OnUpdateIds(std::map<std::string, syncer::ObjectIdSet>());
EXPECT_FALSE(observerTest.registrationReceived);
EXPECT_FALSE(observerTest.unregistrationReceived);
EXPECT_FALSE(observerTest.updateIdReceived);
@@ -114,21 +118,74 @@ TEST_F(InvalidationLoggerTest, TestReleaseOfObserver) {
}
// Test the EmitContet in InvalidationLogger is actually
-// sending (only) state notifications.
+// sending state and updateIds notifications.
TEST_F(InvalidationLoggerTest, TestEmitContent) {
InvalidationLogger log;
InvalidationLoggerObserverTest observerTest;
log.RegisterForDebug(&observerTest);
EXPECT_FALSE(observerTest.stateReceived);
+ EXPECT_FALSE(observerTest.updateIdReceived);
log.EmitContent();
-
+ // Only expect state because no Ids were registered.
EXPECT_TRUE(observerTest.stateReceived);
EXPECT_FALSE(observerTest.registrationReceived);
EXPECT_FALSE(observerTest.unregistrationReceived);
EXPECT_FALSE(observerTest.updateIdReceived);
EXPECT_FALSE(observerTest.invalidationReceived);
EXPECT_FALSE(observerTest.debugMessageReceived);
+
+ observerTest.ResetStates();
+ std::map<std::string, syncer::ObjectIdSet> testMap;
+ testMap["Test"] = syncer::ObjectIdSet();
+ log.OnUpdateIds(testMap);
+ EXPECT_TRUE(observerTest.updateIdReceived);
+ observerTest.ResetStates();
+
+ log.EmitContent();
+ // Expect now state and ids change.
+ EXPECT_TRUE(observerTest.stateReceived);
+ EXPECT_TRUE(observerTest.updateIdReceived);
+ EXPECT_FALSE(observerTest.registrationReceived);
+ EXPECT_FALSE(observerTest.unregistrationReceived);
+ EXPECT_FALSE(observerTest.invalidationReceived);
+ EXPECT_FALSE(observerTest.debugMessageReceived);
+ log.UnregisterForDebug(&observerTest);
+}
+
+// Test that the updateId notification actually sends
+// what was is sent to the Observer.
Nicolas Zea 2014/02/11 21:58:25 nit: what was is -> what was
mferreria_g 2014/02/12 00:03:46 Done.
+// The ObserverTest rebuilds the map that is sent in pieces by the logger.
Nicolas Zea 2014/02/11 21:58:25 nit: that is sent -> that was sent
mferreria_g 2014/02/12 00:03:46 Done.
+TEST_F(InvalidationLoggerTest, TestUpdateIdsMap) {
+ InvalidationLogger log;
+ InvalidationLoggerObserverTest observerTest;
+ std::map<std::string, syncer::ObjectIdSet> testMap;
+ log.RegisterForDebug(&observerTest);
+
+ syncer::ObjectIdSet syncSetA;
+ syncSetA.insert(ObjectId(1000, "DataType1"));
+ syncSetA.insert(ObjectId(1000, "DataType2"));
+ syncer::ObjectIdSet syncSetB;
+ syncSetB.insert(ObjectId(1020, "DataTypeA"));
+ testMap["TestA"] = syncSetA;
+ testMap["TestB"] = syncSetB;
+
+ log.OnUpdateIds(testMap);
+ EXPECT_EQ(testMap, observerTest.updateIdsReplicated);
+
+ syncer::ObjectIdSet syncSetB2;
+ syncSetB2.insert(ObjectId(1020, "DataTypeF"));
+ syncSetB2.insert(ObjectId(1020, "DataTypeG"));
+ testMap["TestB"] = syncSetB2;
+
+ log.OnUpdateIds(testMap);
+ EXPECT_EQ(testMap, observerTest.updateIdsReplicated);
+
+ // The emit content should return the same map too.
+ observerTest.ResetStates();
+ log.EmitContent();
+ EXPECT_EQ(testMap, observerTest.updateIdsReplicated);
+
log.UnregisterForDebug(&observerTest);
}
} // namespace invalidation

Powered by Google App Engine
This is Rietveld 408576698