| 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
|
|
|