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

Unified Diff: components/invalidation/invalidation_logger_unittest.cc

Issue 1191393008: Introduce a layering in the invalidation component as public and impl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Explicitly forbid content to prevent future additions 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
Index: components/invalidation/invalidation_logger_unittest.cc
diff --git a/components/invalidation/invalidation_logger_unittest.cc b/components/invalidation/invalidation_logger_unittest.cc
deleted file mode 100644
index 28e54075869cecdf932e91059310c31d49c7b523..0000000000000000000000000000000000000000
--- a/components/invalidation/invalidation_logger_unittest.cc
+++ /dev/null
@@ -1,285 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/invalidation/invalidation_logger.h"
-#include "components/invalidation/invalidation_logger_observer.h"
-
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace invalidation {
-
-class InvalidationLoggerObserverTest : public InvalidationLoggerObserver {
- public:
- InvalidationLoggerObserverTest() { ResetStates(); }
-
- void ResetStates() {
- registration_change_received = false;
- state_received = false;
- update_id_received = false;
- debug_message_received = false;
- invalidation_received = false;
- detailed_status_received = false;
- update_id_replicated = std::map<std::string, syncer::ObjectIdCountMap>();
- registered_handlers = std::multiset<std::string>();
- }
-
- void OnRegistrationChange(
- const std::multiset<std::string>& handlers) override {
- registered_handlers = handlers;
- registration_change_received = true;
- }
-
- void OnStateChange(const syncer::InvalidatorState& new_state,
- const base::Time& last_change_timestamp) override {
- state_received = true;
- }
-
- void OnUpdateIds(const std::string& handler,
- const syncer::ObjectIdCountMap& details) override {
- update_id_received = true;
- update_id_replicated[handler] = details;
- }
-
- void OnDebugMessage(const base::DictionaryValue& details) override {
- debug_message_received = true;
- }
-
- void OnInvalidation(
- const syncer::ObjectIdInvalidationMap& new_invalidations) override {
- invalidation_received = true;
- }
-
- void OnDetailedStatus(const base::DictionaryValue& details) override {
- detailed_status_received = true;
- }
-
- bool registration_change_received;
- bool state_received;
- bool update_id_received;
- bool debug_message_received;
- bool invalidation_received;
- bool detailed_status_received;
- std::map<std::string, syncer::ObjectIdCountMap> update_id_replicated;
- std::multiset<std::string> registered_handlers;
-};
-
-// Test that the callbacks are actually being called when observers are
-// registered and don't produce any other callback in the meantime.
-TEST(InvalidationLoggerTest, TestCallbacks) {
- InvalidationLogger log;
- InvalidationLoggerObserverTest observer_test;
-
- log.RegisterObserver(&observer_test);
- log.OnStateChange(syncer::INVALIDATIONS_ENABLED);
- EXPECT_TRUE(observer_test.state_received);
- EXPECT_FALSE(observer_test.update_id_received);
- EXPECT_FALSE(observer_test.registration_change_received);
- EXPECT_FALSE(observer_test.invalidation_received);
- EXPECT_FALSE(observer_test.debug_message_received);
- EXPECT_FALSE(observer_test.detailed_status_received);
-
- observer_test.ResetStates();
-
- log.OnInvalidation(syncer::ObjectIdInvalidationMap());
- EXPECT_TRUE(observer_test.invalidation_received);
- EXPECT_FALSE(observer_test.state_received);
- EXPECT_FALSE(observer_test.update_id_received);
- EXPECT_FALSE(observer_test.registration_change_received);
- EXPECT_FALSE(observer_test.debug_message_received);
- EXPECT_FALSE(observer_test.detailed_status_received);
-
- log.UnregisterObserver(&observer_test);
-}
-
-// Test that after registering an observer and then unregistering it
-// no callbacks regarding that observer are called.
-// (i.e. the observer is cleanly removed)
-TEST(InvalidationLoggerTest, TestReleaseOfObserver) {
- InvalidationLogger log;
- InvalidationLoggerObserverTest observer_test;
-
- log.RegisterObserver(&observer_test);
- log.UnregisterObserver(&observer_test);
-
- log.OnInvalidation(syncer::ObjectIdInvalidationMap());
- log.OnStateChange(syncer::INVALIDATIONS_ENABLED);
- log.OnRegistration(std::string());
- log.OnUnregistration(std::string());
- log.OnDebugMessage(base::DictionaryValue());
- log.OnUpdateIds(std::map<std::string, syncer::ObjectIdSet>());
- EXPECT_FALSE(observer_test.registration_change_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);
- EXPECT_FALSE(observer_test.detailed_status_received);
-}
-
-// Test the EmitContet in InvalidationLogger is actually
-// sending state and updateIds notifications.
-TEST(InvalidationLoggerTest, TestEmitContent) {
- InvalidationLogger log;
- InvalidationLoggerObserverTest observer_test;
-
- log.RegisterObserver(&observer_test);
- EXPECT_FALSE(observer_test.state_received);
- EXPECT_FALSE(observer_test.update_id_received);
- log.EmitContent();
- // Expect state and registered handlers only because no Ids were registered.
- EXPECT_TRUE(observer_test.state_received);
- EXPECT_TRUE(observer_test.registration_change_received);
- EXPECT_FALSE(observer_test.update_id_received);
- EXPECT_FALSE(observer_test.invalidation_received);
- EXPECT_FALSE(observer_test.debug_message_received);
- EXPECT_FALSE(observer_test.detailed_status_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();
-
- log.EmitContent();
- // Expect now state, ids and registered handlers change.
- EXPECT_TRUE(observer_test.state_received);
- EXPECT_TRUE(observer_test.update_id_received);
- EXPECT_TRUE(observer_test.registration_change_received);
- EXPECT_FALSE(observer_test.invalidation_received);
- EXPECT_FALSE(observer_test.debug_message_received);
- EXPECT_FALSE(observer_test.detailed_status_received);
- log.UnregisterObserver(&observer_test);
-}
-
-// Test that the updateId notification actually sends the same ObjectId that
-// was sent to the Observer.
-// The ObserverTest rebuilds the map that was sent in pieces by the logger.
-TEST(InvalidationLoggerTest, TestUpdateIdsMap) {
- InvalidationLogger log;
- InvalidationLoggerObserverTest observer_test;
- std::map<std::string, syncer::ObjectIdSet> send_test_map;
- std::map<std::string, syncer::ObjectIdCountMap> expected_received_map;
- log.RegisterObserver(&observer_test);
-
- syncer::ObjectIdSet sync_set_A;
- syncer::ObjectIdCountMap counted_sync_set_A;
-
- ObjectId o1(1000, "DataType1");
- sync_set_A.insert(o1);
- counted_sync_set_A[o1] = 0;
-
- ObjectId o2(1000, "DataType2");
- sync_set_A.insert(o2);
- counted_sync_set_A[o2] = 0;
-
- syncer::ObjectIdSet sync_set_B;
- syncer::ObjectIdCountMap counted_sync_set_B;
-
- ObjectId o3(1020, "DataTypeA");
- sync_set_B.insert(o3);
- counted_sync_set_B[o3] = 0;
-
- send_test_map["TestA"] = sync_set_A;
- send_test_map["TestB"] = sync_set_B;
- expected_received_map["TestA"] = counted_sync_set_A;
- expected_received_map["TestB"] = counted_sync_set_B;
-
- // Send the objects ids registered for the two different handler name.
- log.OnUpdateIds(send_test_map);
- EXPECT_EQ(expected_received_map, observer_test.update_id_replicated);
-
- syncer::ObjectIdSet sync_set_B2;
- syncer::ObjectIdCountMap counted_sync_set_B2;
-
- ObjectId o4(1020, "DataTypeF");
- sync_set_B2.insert(o4);
- counted_sync_set_B2[o4] = 0;
-
- ObjectId o5(1020, "DataTypeG");
- sync_set_B2.insert(o5);
- counted_sync_set_B2[o5] = 0;
-
- send_test_map["TestB"] = sync_set_B2;
- expected_received_map["TestB"] = counted_sync_set_B2;
-
- // Test now that if we replace the registered datatypes for TestB, the
- // original don't show up again.
- log.OnUpdateIds(send_test_map);
- EXPECT_EQ(expected_received_map, observer_test.update_id_replicated);
-
- // The emit content should return the same map too.
- observer_test.ResetStates();
- log.EmitContent();
- EXPECT_EQ(expected_received_map, observer_test.update_id_replicated);
- log.UnregisterObserver(&observer_test);
-}
-
-// Test that the invalidation notification changes the total count
-// of invalidations received for that datatype.
-TEST(InvalidationLoggerTest, TestInvalidtionsTotalCount) {
- InvalidationLogger log;
- InvalidationLoggerObserverTest observer_test;
- log.RegisterObserver(&observer_test);
-
- std::map<std::string, syncer::ObjectIdSet> send_test_map;
- std::map<std::string, syncer::ObjectIdCountMap> expected_received_map;
- syncer::ObjectIdSet sync_set;
- syncer::ObjectIdCountMap counted_sync_set;
-
- ObjectId o1(1020, "DataTypeA");
- sync_set.insert(o1);
- counted_sync_set[o1] = 1;
-
- // Generate invalidation for datatype A only.
- syncer::ObjectIdInvalidationMap fake_invalidations =
- syncer::ObjectIdInvalidationMap::InvalidateAll(sync_set);
-
- ObjectId o2(1040, "DataTypeB");
- sync_set.insert(o2);
- counted_sync_set[o2] = 0;
-
- // Registed the two objectIds and send an invalidation only for the
- // Datatype A.
- send_test_map["Test"] = sync_set;
- log.OnUpdateIds(send_test_map);
- log.OnInvalidation(fake_invalidations);
-
- expected_received_map["Test"] = counted_sync_set;
-
- // Reset the state of the observer to receive the ObjectIds with the
- // count of invalidations received (1 and 0).
- observer_test.ResetStates();
- log.EmitContent();
- EXPECT_EQ(expected_received_map, observer_test.update_id_replicated);
-
- log.UnregisterObserver(&observer_test);
-}
-
-// Test that registered handlers are being sent to the observers.
-TEST(InvalidationLoggerTest, TestRegisteredHandlers) {
- InvalidationLogger log;
- InvalidationLoggerObserverTest observer_test;
- log.RegisterObserver(&observer_test);
-
- log.OnRegistration(std::string("FakeHandler1"));
- std::multiset<std::string> test_multiset;
- test_multiset.insert("FakeHandler1");
- EXPECT_TRUE(observer_test.registration_change_received);
- EXPECT_EQ(observer_test.registered_handlers, test_multiset);
-
- observer_test.ResetStates();
- log.OnRegistration(std::string("FakeHandler2"));
- test_multiset.insert("FakeHandler2");
- EXPECT_TRUE(observer_test.registration_change_received);
- EXPECT_EQ(observer_test.registered_handlers, test_multiset);
-
- observer_test.ResetStates();
- log.OnUnregistration(std::string("FakeHandler2"));
- test_multiset.erase("FakeHandler2");
- EXPECT_TRUE(observer_test.registration_change_received);
- EXPECT_EQ(observer_test.registered_handlers, test_multiset);
-
- log.UnregisterObserver(&observer_test);
-}
-} // namespace invalidation
« no previous file with comments | « components/invalidation/invalidation_logger_observer.h ('k') | components/invalidation/invalidation_notifier.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698