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

Side by Side Diff: chrome/browser/sync/test/integration/two_client_arc_package_sync_test.cc

Issue 2174753004: arc:Integration test for Arc package Chrome sync. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@current
Patch Set: Created 4 years, 4 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/profiles/profile.h"
6 #include "chrome/browser/sync/test/integration/sync_arc_package_helper.h"
7 #include "chrome/browser/sync/test/integration/sync_integration_test_util.h"
8 #include "chrome/browser/sync/test/integration/sync_test.h"
9
10 namespace arc {
11
12 namespace {
13
14 bool AllProfilesHaveSameArcPackageDetails() {
15 return SyncArcPackageHelper::GetInstance()
16 ->AllProfilesHaveSamePackageDetails();
17 }
18
19 } // namespace
20
21 class TwoClientArcPackageSyncTest : public SyncTest {
22 public:
23 TwoClientArcPackageSyncTest()
24 : SyncTest(TWO_CLIENT_LEGACY), sync_helper_(nullptr) {
25 DisableVerifier();
26 }
27
28 ~TwoClientArcPackageSyncTest() override {}
29
30 bool SetupClients() override {
31 if (!SyncTest::SetupClients())
32 return false;
33
34 // Init SyncArcPackageHelper to ensure that the arc services are initialized
35 // for each Profile.
36 sync_helper_ = SyncArcPackageHelper::GetInstance();
37 return sync_helper_ != nullptr;
38 }
39
40 void TearDownOnMainThread() override {
41 sync_helper_->CleanUp();
Luis Héctor Chávez 2016/08/01 18:03:40 same here.
lgcheng 2016/08/01 18:14:18 Done.
42 SyncTest::TearDownOnMainThread();
43 }
44
45 SyncArcPackageHelper* sync_helper() { return sync_helper_; }
46
47 private:
48 SyncArcPackageHelper* sync_helper_;
49
50 DISALLOW_COPY_AND_ASSIGN(TwoClientArcPackageSyncTest);
51 };
52
53 IN_PROC_BROWSER_TEST_F(TwoClientArcPackageSyncTest, StartWithNoPackages) {
54 ASSERT_TRUE(SetupSync());
55
56 ASSERT_TRUE(AllProfilesHaveSameArcPackageDetails());
57 }
58
59 IN_PROC_BROWSER_TEST_F(TwoClientArcPackageSyncTest, StartWithSamePackages) {
60 ASSERT_TRUE(SetupClients());
61
62 constexpr size_t kNumPackages = 5;
63 for (size_t i = 0; i < kNumPackages; ++i) {
64 sync_helper()->InstallPackageWithIndex(GetProfile(0), i);
65 sync_helper()->InstallPackageWithIndex(GetProfile(1), i);
66 }
67
68 ASSERT_TRUE(SetupSync());
69
70 ASSERT_TRUE(AllProfilesHaveSameArcPackageDetails());
71 }
72
73 // In this test, packages are installed before sync started. Client1 will have
74 // package 0 to 4 installed while client2 has no package installed.
75 IN_PROC_BROWSER_TEST_F(TwoClientArcPackageSyncTest,
76 OneClientHasPackagesAnotherHasNone) {
77 ASSERT_TRUE(SetupClients());
78
79 constexpr size_t kNumPackages = 5;
80 for (size_t i = 0; i < kNumPackages; ++i) {
81 sync_helper()->InstallPackageWithIndex(GetProfile(0), i);
82 }
83
84 ASSERT_FALSE(AllProfilesHaveSameArcPackageDetails());
85
86 ASSERT_TRUE(SetupSync());
87
88 ASSERT_TRUE(AllProfilesHaveSameArcPackageDetails());
89 }
90
91 // In this test, packages are installed before sync started. Client1 will have
92 // package 0 to 9 installed and client2 will have package 0 to 4 installed.
93 IN_PROC_BROWSER_TEST_F(TwoClientArcPackageSyncTest,
94 OneClientHasPackagesAnotherHasSubSet) {
95 ASSERT_TRUE(SetupClients());
96
97 constexpr size_t kNumPackages = 5;
98 for (size_t i = 0; i < kNumPackages; ++i) {
99 sync_helper()->InstallPackageWithIndex(GetProfile(0), i);
100 sync_helper()->InstallPackageWithIndex(GetProfile(1), i);
101 }
102
103 for (size_t i = 0; i < kNumPackages; ++i) {
104 sync_helper()->InstallPackageWithIndex(GetProfile(0), i + kNumPackages);
105 }
106
107 ASSERT_FALSE(AllProfilesHaveSameArcPackageDetails());
108
109 ASSERT_TRUE(SetupSync());
110
111 EXPECT_TRUE(AllProfilesHaveSameArcPackageDetails());
112 }
113
114 // In this test, packages are installed before sync started. Client1 will have
115 // package 0 to 4 installed and client2 will have package 1 to 5 installed.
116 IN_PROC_BROWSER_TEST_F(TwoClientArcPackageSyncTest,
117 StartWithDifferentPackages) {
118 ASSERT_TRUE(SetupClients());
119
120 constexpr size_t kNumPackages = 5;
121 constexpr size_t kPackageIdDiff = 1;
122 for (size_t i = 0; i < kNumPackages; ++i) {
123 sync_helper()->InstallPackageWithIndex(GetProfile(0), i);
124 sync_helper()->InstallPackageWithIndex(GetProfile(1), i + kPackageIdDiff);
125 }
126
127 EXPECT_FALSE(AllProfilesHaveSameArcPackageDetails());
128
129 ASSERT_TRUE(SetupSync());
130
131 EXPECT_TRUE(AllProfilesHaveSameArcPackageDetails());
132 }
133
134 // Tests package installaton after sync started.
135 IN_PROC_BROWSER_TEST_F(TwoClientArcPackageSyncTest, Install) {
136 ASSERT_TRUE(SetupSync());
137 ASSERT_TRUE(AllProfilesHaveSameArcPackageDetails());
138
139 sync_helper()->InstallPackageWithIndex(GetProfile(0), 0);
140 ASSERT_TRUE(AwaitQuiescence());
141 EXPECT_TRUE(AllProfilesHaveSameArcPackageDetails());
142 }
143
144 // In this test, packages are installed after sync started. Client1 installs
145 // package 0 to 4 and client2 installs package 3 to 7.
146 IN_PROC_BROWSER_TEST_F(TwoClientArcPackageSyncTest, InstallDifferent) {
147 ASSERT_TRUE(SetupSync());
148 ASSERT_TRUE(AllProfilesHaveSameArcPackageDetails());
149
150 constexpr size_t kNumPackages = 5;
151 constexpr size_t kPackageIdDiff = 3;
152 for (size_t i = 0; i < kNumPackages; ++i) {
153 sync_helper()->InstallPackageWithIndex(GetProfile(0), i);
154 sync_helper()->InstallPackageWithIndex(GetProfile(1), i + kPackageIdDiff);
155 }
156
157 ASSERT_TRUE(AwaitQuiescence());
158 EXPECT_TRUE(AllProfilesHaveSameArcPackageDetails());
159 }
160
161 // Installs package from one client and uninstalls from another after sync
162 // started.
163 IN_PROC_BROWSER_TEST_F(TwoClientArcPackageSyncTest, Uninstall) {
164 ASSERT_TRUE(SetupSync());
165 ASSERT_TRUE(AllProfilesHaveSameArcPackageDetails());
166
167 sync_helper()->InstallPackageWithIndex(GetProfile(0), 1);
168 ASSERT_TRUE(AwaitQuiescence());
169 EXPECT_TRUE(AllProfilesHaveSameArcPackageDetails());
170
171 sync_helper()->UninstallPackageWithIndex(GetProfile(1), 1);
172 EXPECT_FALSE(AllProfilesHaveSameArcPackageDetails());
173 ASSERT_TRUE(AwaitQuiescence());
174 EXPECT_TRUE(AllProfilesHaveSameArcPackageDetails());
175 }
176
177 } // namespace arc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698