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

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: Change constness of iterators for android clang 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 30a3c4deecfae273eca177bacf6d9f7932569943..86e3f9ded818da142b8f792ec3a2efe220f40884 100644
--- a/chrome/browser/invalidation/invalidation_logger_unittest.cc
+++ b/chrome/browser/invalidation/invalidation_logger_unittest.cc
@@ -16,77 +16,81 @@ class InvalidationLoggerTest : public testing::Test {
class InvalidationLoggerObserverTest : public InvalidationLoggerObserver {
public:
- InvalidationLoggerObserverTest() { resetStates(); }
-
- void resetStates() {
- registrationReceived = false;
- unregistrationReceived = false;
- stateReceived = false;
- updateIdReceived = false;
- debugMessageReceived = false;
- invalidationReceived = false;
+ InvalidationLoggerObserverTest() { ResetStates(); }
+
+ void ResetStates() {
+ registration_received = false;
+ unregistration_received = false;
+ state_received = false;
+ update_id_received = false;
+ debug_message_received = false;
+ invalidation_received = false;
+ update_id_replicated = std::map<std::string, syncer::ObjectIdSet>();
}
virtual void OnRegistration(const base::DictionaryValue& details) OVERRIDE {
- registrationReceived = true;
+ registration_received = true;
}
virtual void OnUnregistration(const base::DictionaryValue& details) OVERRIDE {
- unregistrationReceived = true;
+ unregistration_received = true;
}
virtual void OnStateChange(const syncer::InvalidatorState& newState)
OVERRIDE {
- stateReceived = true;
+ state_received = true;
}
- virtual void OnUpdateIds(const base::DictionaryValue& details) OVERRIDE {
- updateIdReceived = true;
+ virtual void OnUpdateIds(const std::string& handler,
+ const syncer::ObjectIdSet& details) OVERRIDE {
+ update_id_received = true;
+ update_id_replicated[handler] = details;
}
virtual void OnDebugMessage(const base::DictionaryValue& details) OVERRIDE {
- debugMessageReceived = true;
+ debug_message_received = true;
}
virtual void OnInvalidation(
const syncer::ObjectIdInvalidationMap& newInvalidations) OVERRIDE {
- invalidationReceived = true;
+ invalidation_received = true;
}
- bool registrationReceived;
- bool unregistrationReceived;
- bool stateReceived;
- bool updateIdReceived;
- bool debugMessageReceived;
- bool invalidationReceived;
+ bool registration_received;
+ bool unregistration_received;
+ bool state_received;
+ bool update_id_received;
+ bool debug_message_received;
+ bool invalidation_received;
+ std::map<std::string, syncer::ObjectIdSet> update_id_replicated;
};
// Test that the callbacks are actually being called when observers are
// registered and don't produce any other callback in the meantime.
TEST_F(InvalidationLoggerTest, TestCallbacks) {
InvalidationLogger log;
- InvalidationLoggerObserverTest observerTest;
+ InvalidationLoggerObserverTest observer_test;
- log.RegisterForDebug(&observerTest);
+ log.RegisterObserver(&observer_test);
log.OnStateChange(syncer::INVALIDATIONS_ENABLED);
- EXPECT_TRUE(observerTest.stateReceived);
- EXPECT_FALSE(observerTest.updateIdReceived);
- EXPECT_FALSE(observerTest.registrationReceived);
- EXPECT_FALSE(observerTest.invalidationReceived);
- EXPECT_FALSE(observerTest.unregistrationReceived);
- EXPECT_FALSE(observerTest.debugMessageReceived);
+ EXPECT_TRUE(observer_test.state_received);
+ EXPECT_FALSE(observer_test.update_id_received);
+ EXPECT_FALSE(observer_test.registration_received);
+ EXPECT_FALSE(observer_test.invalidation_received);
+ EXPECT_FALSE(observer_test.unregistration_received);
+ EXPECT_FALSE(observer_test.debug_message_received);
- observerTest.resetStates();
+ observer_test.ResetStates();
log.OnInvalidation(syncer::ObjectIdInvalidationMap());
- EXPECT_TRUE(observerTest.invalidationReceived);
- EXPECT_FALSE(observerTest.stateReceived);
- EXPECT_FALSE(observerTest.updateIdReceived);
- EXPECT_FALSE(observerTest.registrationReceived);
- EXPECT_FALSE(observerTest.unregistrationReceived);
- EXPECT_FALSE(observerTest.debugMessageReceived);
-
- log.UnregisterForDebug(&observerTest);
+ EXPECT_TRUE(observer_test.invalidation_received);
+ EXPECT_FALSE(observer_test.state_received);
+ EXPECT_FALSE(observer_test.update_id_received);
+ EXPECT_FALSE(observer_test.registration_received);
+ EXPECT_FALSE(observer_test.unregistration_received);
+ EXPECT_FALSE(observer_test.debug_message_received);
+
+ log.UnregisterObserver(&observer_test);
}
// Test that after registering an observer and then unregistering it
@@ -94,41 +98,94 @@ TEST_F(InvalidationLoggerTest, TestCallbacks) {
// (i.e. the observer is cleanly removed)
TEST_F(InvalidationLoggerTest, TestReleaseOfObserver) {
InvalidationLogger log;
- InvalidationLoggerObserverTest observerTest;
+ InvalidationLoggerObserverTest observer_test;
- log.RegisterForDebug(&observerTest);
- log.UnregisterForDebug(&observerTest);
+ log.RegisterObserver(&observer_test);
+ log.UnregisterObserver(&observer_test);
log.OnInvalidation(syncer::ObjectIdInvalidationMap());
log.OnStateChange(syncer::INVALIDATIONS_ENABLED);
log.OnRegistration(base::DictionaryValue());
log.OnUnregistration(base::DictionaryValue());
log.OnDebugMessage(base::DictionaryValue());
- log.OnUpdateIds(base::DictionaryValue());
- EXPECT_FALSE(observerTest.registrationReceived);
- EXPECT_FALSE(observerTest.unregistrationReceived);
- EXPECT_FALSE(observerTest.updateIdReceived);
- EXPECT_FALSE(observerTest.invalidationReceived);
- EXPECT_FALSE(observerTest.stateReceived);
- EXPECT_FALSE(observerTest.debugMessageReceived);
+ log.OnUpdateIds(std::map<std::string, syncer::ObjectIdSet>());
+ EXPECT_FALSE(observer_test.registration_received);
+ EXPECT_FALSE(observer_test.unregistration_received);
+ EXPECT_FALSE(observer_test.update_id_received);
+ EXPECT_FALSE(observer_test.invalidation_received);
+ EXPECT_FALSE(observer_test.state_received);
+ EXPECT_FALSE(observer_test.debug_message_received);
}
// Test the EmitContet in InvalidationLogger is actually
-// sending (only) state notifications.
+// sending state and updateIds notifications.
TEST_F(InvalidationLoggerTest, TestEmitContent) {
InvalidationLogger log;
- InvalidationLoggerObserverTest observerTest;
+ InvalidationLoggerObserverTest observer_test;
- log.RegisterForDebug(&observerTest);
- EXPECT_FALSE(observerTest.stateReceived);
+ log.RegisterObserver(&observer_test);
+ EXPECT_FALSE(observer_test.state_received);
+ EXPECT_FALSE(observer_test.update_id_received);
log.EmitContent();
+ // Only expect state because no Ids were registered.
+ EXPECT_TRUE(observer_test.state_received);
+ EXPECT_FALSE(observer_test.registration_received);
+ EXPECT_FALSE(observer_test.unregistration_received);
+ EXPECT_FALSE(observer_test.update_id_received);
+ EXPECT_FALSE(observer_test.invalidation_received);
+ EXPECT_FALSE(observer_test.debug_message_received);
+
+ observer_test.ResetStates();
+ std::map<std::string, syncer::ObjectIdSet> test_map;
+ test_map["Test"] = syncer::ObjectIdSet();
+ log.OnUpdateIds(test_map);
+ EXPECT_TRUE(observer_test.update_id_received);
+ observer_test.ResetStates();
- EXPECT_TRUE(observerTest.stateReceived);
- EXPECT_FALSE(observerTest.registrationReceived);
- EXPECT_FALSE(observerTest.unregistrationReceived);
- EXPECT_FALSE(observerTest.updateIdReceived);
- EXPECT_FALSE(observerTest.invalidationReceived);
- EXPECT_FALSE(observerTest.debugMessageReceived);
- log.UnregisterForDebug(&observerTest);
+ log.EmitContent();
+ // Expect now state and ids change.
+ EXPECT_TRUE(observer_test.state_received);
+ EXPECT_TRUE(observer_test.update_id_received);
+ EXPECT_FALSE(observer_test.registration_received);
+ EXPECT_FALSE(observer_test.unregistration_received);
+ EXPECT_FALSE(observer_test.invalidation_received);
+ EXPECT_FALSE(observer_test.debug_message_received);
+ log.UnregisterObserver(&observer_test);
+}
+
+// Test that the updateId notification actually sends
+// what was sent to the Observer.
+// The ObserverTest rebuilds the map that was sent in pieces by the logger.
+TEST_F(InvalidationLoggerTest, TestUpdateIdsMap) {
+ InvalidationLogger log;
+ InvalidationLoggerObserverTest observer_test;
+ std::map<std::string, syncer::ObjectIdSet> test_map;
+ log.RegisterObserver(&observer_test);
+
+ syncer::ObjectIdSet sync_set_A;
+ sync_set_A.insert(ObjectId(1000, "DataType1"));
+ sync_set_A.insert(ObjectId(1000, "DataType2"));
+ syncer::ObjectIdSet sync_set_B;
+ sync_set_B.insert(ObjectId(1020, "DataTypeA"));
+ test_map["TestA"] = sync_set_A;
+ test_map["TestB"] = sync_set_B;
+
+ log.OnUpdateIds(test_map);
+ EXPECT_EQ(test_map, observer_test.update_id_replicated);
+
+ syncer::ObjectIdSet sync_set_B2;
+ sync_set_B2.insert(ObjectId(1020, "DataTypeF"));
+ sync_set_B2.insert(ObjectId(1020, "DataTypeG"));
+ test_map["TestB"] = sync_set_B2;
+
+ log.OnUpdateIds(test_map);
+ EXPECT_EQ(test_map, observer_test.update_id_replicated);
+
+ // The emit content should return the same map too.
+ observer_test.ResetStates();
+ log.EmitContent();
+ EXPECT_EQ(test_map, observer_test.update_id_replicated);
+
+ log.UnregisterObserver(&observer_test);
}
} // namespace invalidation
« no previous file with comments | « chrome/browser/invalidation/invalidation_logger_observer.h ('k') | chrome/browser/invalidation/p2p_invalidation_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698