1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
// Copyright (c) 2012 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/sync/engine/cycle/sync_cycle_snapshot.h"
#include <memory>
#include "base/test/values_test_util.h"
#include "base/values.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace syncer {
namespace {
using base::ExpectDictBooleanValue;
using base::ExpectDictDictionaryValue;
using base::ExpectDictIntegerValue;
using base::ExpectDictListValue;
using base::ExpectDictStringValue;
class SyncCycleSnapshotTest : public testing::Test {};
TEST_F(SyncCycleSnapshotTest, SyncCycleSnapshotToValue) {
ModelNeutralState model_neutral;
model_neutral.num_successful_commits = 5;
model_neutral.num_successful_bookmark_commits = 10;
model_neutral.num_updates_downloaded_total = 100;
model_neutral.num_tombstone_updates_downloaded_total = 200;
model_neutral.num_reflected_updates_downloaded_total = 50;
model_neutral.num_local_overwrites = 15;
model_neutral.num_server_overwrites = 18;
ProgressMarkerMap download_progress_markers;
download_progress_markers[BOOKMARKS] = "\xef\xb7\xa4";
download_progress_markers[APPS] = "apps";
std::unique_ptr<base::DictionaryValue>
expected_download_progress_markers_value(
ProgressMarkerMapToValue(download_progress_markers));
const bool kIsSilenced = true;
const int kNumEncryptionConflicts = 1054;
const int kNumHierarchyConflicts = 1055;
const int kNumServerConflicts = 1057;
SyncCycleSnapshot snapshot(model_neutral, download_progress_markers,
kIsSilenced, kNumEncryptionConflicts,
kNumHierarchyConflicts, kNumServerConflicts, false,
0, base::Time::Now(), base::Time::Now(),
std::vector<int>(MODEL_TYPE_COUNT, 0),
std::vector<int>(MODEL_TYPE_COUNT, 0),
sync_pb::GetUpdatesCallerInfo::UNKNOWN);
std::unique_ptr<base::DictionaryValue> value(snapshot.ToValue());
EXPECT_EQ(16u, value->size());
ExpectDictIntegerValue(model_neutral.num_successful_commits, *value,
"numSuccessfulCommits");
ExpectDictIntegerValue(model_neutral.num_successful_bookmark_commits, *value,
"numSuccessfulBookmarkCommits");
ExpectDictIntegerValue(model_neutral.num_updates_downloaded_total, *value,
"numUpdatesDownloadedTotal");
ExpectDictIntegerValue(model_neutral.num_tombstone_updates_downloaded_total,
*value, "numTombstoneUpdatesDownloadedTotal");
ExpectDictIntegerValue(model_neutral.num_reflected_updates_downloaded_total,
*value, "numReflectedUpdatesDownloadedTotal");
ExpectDictIntegerValue(model_neutral.num_local_overwrites, *value,
"numLocalOverwrites");
ExpectDictIntegerValue(model_neutral.num_server_overwrites, *value,
"numServerOverwrites");
ExpectDictDictionaryValue(*expected_download_progress_markers_value, *value,
"downloadProgressMarkers");
ExpectDictBooleanValue(kIsSilenced, *value, "isSilenced");
ExpectDictIntegerValue(kNumEncryptionConflicts, *value,
"numEncryptionConflicts");
ExpectDictIntegerValue(kNumHierarchyConflicts, *value,
"numHierarchyConflicts");
ExpectDictIntegerValue(kNumServerConflicts, *value, "numServerConflicts");
ExpectDictBooleanValue(false, *value, "notificationsEnabled");
}
} // namespace
} // namespace syncer
|