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

Unified Diff: components/sync/engine_impl/model_type_worker_unittest.cc

Issue 2420213002: [USS] Show USS counters in Types tab (Closed)
Patch Set: rebase Created 4 years, 2 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/sync/engine_impl/model_type_worker_unittest.cc
diff --git a/components/sync/engine_impl/model_type_worker_unittest.cc b/components/sync/engine_impl/model_type_worker_unittest.cc
index 17f1ac10d9d7c51ad7ef3f5b514440ca5b3e8d48..dfd8ecf72961dcb088d6cce49625c5d2525bc094 100644
--- a/components/sync/engine_impl/model_type_worker_unittest.cc
+++ b/components/sync/engine_impl/model_type_worker_unittest.cc
@@ -14,6 +14,7 @@
#include "components/sync/base/fake_encryptor.h"
#include "components/sync/engine/model_type_processor.h"
#include "components/sync/engine_impl/commit_contribution.h"
+#include "components/sync/engine_impl/cycle/non_blocking_type_debug_info_emitter.h"
#include "components/sync/engine_impl/cycle/status_controller.h"
#include "components/sync/syncable/syncable_util.h"
#include "components/sync/test/engine/mock_model_type_processor.h"
@@ -131,7 +132,8 @@ class ModelTypeWorkerTest : public ::testing::Test {
update_encryption_filter_index_(0),
mock_type_processor_(nullptr),
mock_server_(kModelType),
- is_processor_disconnected_(false) {}
+ is_processor_disconnected_(false),
+ preferences_emitter_(kModelType, &type_observers_) {}
~ModelTypeWorkerTest() override {}
@@ -191,7 +193,7 @@ class ModelTypeWorkerTest : public ::testing::Test {
// TODO(maxbogue): crbug.com/529498: Inject pending updates somehow.
worker_ = base::MakeUnique<ModelTypeWorker>(
kModelType, state, std::move(cryptographer_copy), &mock_nudge_handler_,
- std::move(processor));
+ std::move(processor), &preferences_emitter_);
}
// Introduce a new key that the local cryptographer can't decrypt.
@@ -420,6 +422,7 @@ class ModelTypeWorkerTest : public ::testing::Test {
MockModelTypeProcessor* processor() { return mock_type_processor_; }
ModelTypeWorker* worker() { return worker_.get(); }
SingleTypeMockServer* server() { return &mock_server_; }
+ NonBlockingTypeDebugInfoEmitter* emitter() { return &preferences_emitter_; }
private:
// An encryptor for our cryptographer.
@@ -453,6 +456,10 @@ class ModelTypeWorkerTest : public ::testing::Test {
MockNudgeHandler mock_nudge_handler_;
bool is_processor_disconnected_;
+
+ base::ObserverList<TypeDebugInfoObserver> type_observers_;
+
+ NonBlockingTypeDebugInfoEmitter preferences_emitter_;
};
// Requests a commit and verifies the messages sent to the client and server as
@@ -469,6 +476,8 @@ TEST_F(ModelTypeWorkerTest, SimpleCommit) {
EXPECT_FALSE(WillCommit());
EXPECT_EQ(0U, server()->GetNumCommitMessages());
EXPECT_EQ(0U, processor()->GetNumCommitResponses());
+ EXPECT_EQ(0, emitter()->GetCommitCounters().num_commits_attempted);
+ EXPECT_EQ(0, emitter()->GetCommitCounters().num_commits_success);
CommitRequest(kTag1, kValue1);
@@ -494,6 +503,10 @@ TEST_F(ModelTypeWorkerTest, SimpleCommit) {
EXPECT_FALSE(entity.deleted());
EXPECT_EQ(kValue1, entity.specifics().preference().value());
+ // Verify the counters update correctly.
+ EXPECT_EQ(1, emitter()->GetCommitCounters().num_commits_attempted);
+ EXPECT_EQ(1, emitter()->GetCommitCounters().num_commits_success);
+
// Exhaustively verify the commit response returned to the model thread.
ASSERT_EQ(1U, processor()->GetNumCommitResponses());
EXPECT_EQ(1U, processor()->GetNthCommitResponse(0).size());
@@ -518,9 +531,15 @@ TEST_F(ModelTypeWorkerTest, SimpleDelete) {
// Step 1 is to create and commit a new entity.
CommitRequest(kTag1, kValue1);
EXPECT_EQ(1, GetNumCommitNudges());
+ EXPECT_EQ(0, emitter()->GetCommitCounters().num_commits_attempted);
+ EXPECT_EQ(0, emitter()->GetCommitCounters().num_commits_success);
ASSERT_TRUE(WillCommit());
DoSuccessfulCommit();
+ // Verify the counters update correctly.
+ EXPECT_EQ(1, emitter()->GetCommitCounters().num_commits_attempted);
+ EXPECT_EQ(1, emitter()->GetCommitCounters().num_commits_success);
+
ASSERT_TRUE(processor()->HasCommitResponse(kHash1));
const CommitResponseData& initial_commit_response =
processor()->GetCommitResponse(kHash1);
@@ -531,6 +550,10 @@ TEST_F(ModelTypeWorkerTest, SimpleDelete) {
ASSERT_TRUE(WillCommit());
DoSuccessfulCommit();
+ // Verify the counters update correctly.
+ EXPECT_EQ(2, emitter()->GetCommitCounters().num_commits_attempted);
+ EXPECT_EQ(2, emitter()->GetCommitCounters().num_commits_success);
+
// Verify the SyncEntity sent in the commit message.
ASSERT_EQ(2U, server()->GetNumCommitMessages());
EXPECT_EQ(1, server()->GetNthCommitMessage(1).commit().entries_size());
@@ -642,6 +665,9 @@ TEST_F(ModelTypeWorkerTest, TwoNewItemsCommittedSeparately) {
TEST_F(ModelTypeWorkerTest, ReceiveUpdates) {
NormalInitialize();
+ EXPECT_EQ(0, emitter()->GetUpdateCounters().num_updates_received);
+ EXPECT_EQ(0, emitter()->GetUpdateCounters().num_updates_applied);
+
const std::string& tag_hash = GenerateTagHash(kTag1);
TriggerUpdateFromServer(10, kTag1, kValue1);
@@ -663,6 +689,10 @@ TEST_F(ModelTypeWorkerTest, ReceiveUpdates) {
EXPECT_FALSE(entity.is_deleted());
EXPECT_EQ(kTag1, entity.specifics.preference().name());
EXPECT_EQ(kValue1, entity.specifics.preference().value());
+
+ // Verify the counters update correctly.
+ EXPECT_EQ(1, emitter()->GetUpdateCounters().num_updates_received);
+ EXPECT_EQ(1, emitter()->GetUpdateCounters().num_updates_applied);
}
// Test that an update download coming in multiple parts gets accumulated into
« no previous file with comments | « components/sync/engine_impl/model_type_worker.cc ('k') | components/sync/engine_impl/non_blocking_type_commit_contribution.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698