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

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, 5 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 using sync_integration_test_util::AwaitCommitActivityCompletion;
11
12 namespace arc {
13
14 namespace {
15
16 /*
17 bool AllProfilesHaveSameArcPackages() {
18 return SyncArcPackageHelper::GetInstance()->AllProfilesHaveSamePackages();
19 } */
Josh Horwich 2016/07/25 16:48:08 Is this old code to be deleted?
lgcheng 2016/07/25 20:45:32 This is a preserved method. I plan to use this for
Luis Héctor Chávez 2016/07/25 20:57:24 Yes please. There should be zero commented-out cod
lgcheng 2016/07/25 21:37:28 Done.
20
21 bool AllProfilesHaveSameArcPackageDetail() {
stevenjb 2016/07/25 16:45:08 Details
lgcheng 2016/07/25 20:45:32 Done.
22 return SyncArcPackageHelper::GetInstance()->
23 AllProfilesHaveSamePackageDetail();
24 }
25
26 } // namespace
27
28
29 class TwoClientArcPackageSyncTest : public SyncTest {
30 public:
31 TwoClientArcPackageSyncTest() : SyncTest(TWO_CLIENT_LEGACY),
32 sync_helper_(nullptr) {
33 DisableVerifier();
34 }
35
36 ~TwoClientArcPackageSyncTest() override {}
37
38 bool SetupClients() override {
39 if (!SyncTest::SetupClients())
40 return false;
41
42 // Init SyncArcPackageHelper to ensure that the arc services are initialized
43 // for each Profile.
44 sync_helper_ = SyncArcPackageHelper::GetInstance();
45 return sync_helper_ != nullptr;
46 }
47
48 void ClearUp() {
49 sync_helper_->ClearUp();
50 }
51
52 SyncArcPackageHelper* sync_helper() { return sync_helper_; }
53
54 private:
55 SyncArcPackageHelper* sync_helper_;
56
57 DISALLOW_COPY_AND_ASSIGN(TwoClientArcPackageSyncTest);
58 };
59
60 IN_PROC_BROWSER_TEST_F(TwoClientArcPackageSyncTest, StartWithNoPackages) {
61 ASSERT_TRUE(SetupSync());
62
63 ASSERT_TRUE(AllProfilesHaveSameArcPackageDetail());
64
65 ClearUp();
66 }
67
68 IN_PROC_BROWSER_TEST_F(TwoClientArcPackageSyncTest, StartWithSamePackages) {
69 ASSERT_TRUE(SetupClients());
70
71 constexpr int kNumPackage = 5;
stevenjb 2016/07/25 16:45:08 kNumPackages
lgcheng 2016/07/25 20:45:32 Done.
72 for (int i = 0; i < kNumPackage; ++i) {
Luis Héctor Chávez 2016/07/25 17:56:24 Same here, s/int/size_t/
lgcheng 2016/07/25 20:45:32 Done.
73 sync_helper()->InstallPackageWithIndex(GetProfile(0), i);
74 sync_helper()->InstallPackageWithIndex(GetProfile(1), i);
75 }
76
77 ASSERT_TRUE(SetupSync());
78
79 ASSERT_TRUE(AllProfilesHaveSameArcPackageDetail());
80
81 ClearUp();
82 }
83
84 // In this test, packages are installed before sync started. Client1 will have
85 // package 0 to 4 installed while client2 has no package installed.
86 IN_PROC_BROWSER_TEST_F(TwoClientArcPackageSyncTest,
87 OneClientHasPackagesAnotherHasNone) {
88 ASSERT_TRUE(SetupClients());
89
90 constexpr int kNumPackage = 5;
91 for (int i = 0; i < kNumPackage; ++i) {
92 sync_helper()->InstallPackageWithIndex(GetProfile(0), i);
93 }
94
95 ASSERT_FALSE(AllProfilesHaveSameArcPackageDetail());
96
97 ASSERT_TRUE(SetupSync());
98
99 ASSERT_TRUE(AllProfilesHaveSameArcPackageDetail());
100
101 ClearUp();
102 }
103
104 // In this test, packages are installed before sync started. Client1 will have
105 // package 0 to 9 installed and client2 will have package 0 to 4 installed.
106 IN_PROC_BROWSER_TEST_F(TwoClientArcPackageSyncTest,
107 OneClientHasPackagesAnotherHasSubSet) {
108 ASSERT_TRUE(SetupClients());
109
110 constexpr int kNumPackage = 5;
111 for (int i = 0; i < kNumPackage; ++i) {
112 sync_helper()->InstallPackageWithIndex(GetProfile(0), i);
113 sync_helper()->InstallPackageWithIndex(GetProfile(1), i);
114 }
115
116 for (int i = 0; i < kNumPackage; ++i) {
117 sync_helper()->InstallPackageWithIndex(GetProfile(0), i + kNumPackage);
118 }
119
120 ASSERT_FALSE(AllProfilesHaveSameArcPackageDetail());
121
122 ASSERT_TRUE(SetupSync());
123
124 EXPECT_TRUE(AllProfilesHaveSameArcPackageDetail());
125
126 ClearUp();
127 }
128
129 // In this test, packages are installed before sync started. Client1 will have
130 // package 0 to 4 installed and client2 will have package 1 to 5 installed.
131 IN_PROC_BROWSER_TEST_F(TwoClientArcPackageSyncTest,
132 StartWithDifferentPackages) {
133 ASSERT_TRUE(SetupClients());
134
135 constexpr int kNumPackage = 5;
136 constexpr int kPackageIdDiff = 1;
137 for (int i = 0; i < kNumPackage; ++i) {
138 sync_helper()->InstallPackageWithIndex(GetProfile(0), i);
139 sync_helper()->InstallPackageWithIndex(GetProfile(1), i+kPackageIdDiff);
140 }
141
142 EXPECT_FALSE(AllProfilesHaveSameArcPackageDetail());
143
144 ASSERT_TRUE(SetupSync());
145
146 EXPECT_TRUE(AllProfilesHaveSameArcPackageDetail());
147
148 ClearUp();
149 }
150
151 // Tests package installaton after sync started.
152 IN_PROC_BROWSER_TEST_F(TwoClientArcPackageSyncTest, Install) {
153 ASSERT_TRUE(SetupSync());
154 ASSERT_TRUE(AllProfilesHaveSameArcPackageDetail());
155
156 sync_helper()->InstallPackageWithIndex(GetProfile(0), 0);
157 ASSERT_TRUE(AwaitQuiescence());
158 EXPECT_TRUE(AllProfilesHaveSameArcPackageDetail());
159
160 ClearUp();
161 }
162
163 // In this test, packages are installed after sync started. Client1 installs
164 // package 0 to 4 and client2 installs package 3 to 7.
165 IN_PROC_BROWSER_TEST_F(TwoClientArcPackageSyncTest, InstallDifferent) {
166 ASSERT_TRUE(SetupSync());
167 ASSERT_TRUE(AllProfilesHaveSameArcPackageDetail());
168
169 constexpr int kNumPackage = 5;
170 constexpr int kPackageIdDiff = 3;
171 for (int i = 0; i < kNumPackage; ++i) {
172 sync_helper()->InstallPackageWithIndex(GetProfile(0), i);
173 sync_helper()->InstallPackageWithIndex(GetProfile(1), i+kPackageIdDiff);
174 }
175
176 ASSERT_TRUE(AwaitQuiescence());
177 EXPECT_TRUE(AllProfilesHaveSameArcPackageDetail());
178
179 ClearUp();
180 }
181
182 // Installs package from one client and uninstalls from another after sync
183 // started.
184 IN_PROC_BROWSER_TEST_F(TwoClientArcPackageSyncTest, Uninstall) {
185 ASSERT_TRUE(SetupSync());
186 ASSERT_TRUE(AllProfilesHaveSameArcPackageDetail());
187
188 sync_helper()->InstallPackageWithIndex(GetProfile(0), 1);
189 ASSERT_TRUE(AwaitQuiescence());
190 EXPECT_TRUE(AllProfilesHaveSameArcPackageDetail());
191
192 sync_helper()->UninstallPackageWithIndex(GetProfile(1), 1);
193 EXPECT_FALSE(AllProfilesHaveSameArcPackageDetail());
194 ASSERT_TRUE(AwaitQuiescence());
195 EXPECT_TRUE(AllProfilesHaveSameArcPackageDetail());
196
197 ClearUp();
198 }
199
200 } // namespace arc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698