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

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

Issue 2379433002: [Sync] Refactoring of sync integration test checkers to remove boilerplate await methods. (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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/macros.h" 5 #include "base/macros.h"
6 #include "build/build_config.h" 6 #include "build/build_config.h"
7 #include "chrome/browser/sync/test/integration/extensions_helper.h" 7 #include "chrome/browser/sync/test/integration/extensions_helper.h"
8 #include "chrome/browser/sync/test/integration/profile_sync_service_harness.h" 8 #include "chrome/browser/sync/test/integration/profile_sync_service_harness.h"
9 #include "chrome/browser/sync/test/integration/sync_integration_test_util.h" 9 #include "chrome/browser/sync/test/integration/sync_integration_test_util.h"
10 #include "chrome/browser/sync/test/integration/sync_test.h" 10 #include "chrome/browser/sync/test/integration/sync_test.h"
11 11
12 using extensions_helper::AwaitAllProfilesHaveSameExtensions;
13 using extensions_helper::AllProfilesHaveSameExtensions; 12 using extensions_helper::AllProfilesHaveSameExtensions;
14 using extensions_helper::DisableExtension; 13 using extensions_helper::DisableExtension;
15 using extensions_helper::EnableExtension; 14 using extensions_helper::EnableExtension;
16 using extensions_helper::GetInstalledExtensions; 15 using extensions_helper::GetInstalledExtensions;
17 using extensions_helper::HasSameExtensions; 16 using extensions_helper::HasSameExtensions;
18 using extensions_helper::IncognitoDisableExtension; 17 using extensions_helper::IncognitoDisableExtension;
19 using extensions_helper::IncognitoEnableExtension; 18 using extensions_helper::IncognitoEnableExtension;
20 using extensions_helper::InstallExtension; 19 using extensions_helper::InstallExtension;
21 using extensions_helper::UninstallExtension; 20 using extensions_helper::UninstallExtension;
22 21
23 class TwoClientExtensionsSyncTest : public SyncTest { 22 class TwoClientExtensionsSyncTest : public SyncTest {
24 public: 23 public:
25 TwoClientExtensionsSyncTest() : SyncTest(TWO_CLIENT) {} 24 TwoClientExtensionsSyncTest() : SyncTest(TWO_CLIENT) { DisableVerifier(); }
26 25
27 ~TwoClientExtensionsSyncTest() override {}
28 bool TestUsesSelfNotifications() override { return false; } 26 bool TestUsesSelfNotifications() override { return false; }
29 27
30 private: 28 private:
31 DISALLOW_COPY_AND_ASSIGN(TwoClientExtensionsSyncTest); 29 DISALLOW_COPY_AND_ASSIGN(TwoClientExtensionsSyncTest);
32 }; 30 };
33 31
34 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest, 32 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest,
35 E2E_ENABLED(StartWithNoExtensions)) { 33 E2E_ENABLED(StartWithNoExtensions)) {
36 ASSERT_TRUE(SetupSync()); 34 ASSERT_TRUE(SetupSync());
37 ASSERT_TRUE(AwaitAllProfilesHaveSameExtensions()); 35 ASSERT_TRUE(ExtensionsMatchChecker().Wait());
38 } 36 }
39 37
40 // E2E tests flaky on Mac: https://crbug.com/597319 38 // E2E tests flaky on Mac: https://crbug.com/597319
41 #if defined(OS_MACOSX) 39 #if defined(OS_MACOSX)
42 #define MAYBE_E2E(test_name) test_name 40 #define MAYBE_E2E(test_name) test_name
43 #else 41 #else
44 #define MAYBE_E2E(test_name) E2E_ENABLED(test_name) 42 #define MAYBE_E2E(test_name) E2E_ENABLED(test_name)
45 #endif 43 #endif
46 44
47 // Flaky on Mac: http://crbug.com/535996 45 // Flaky on Mac: http://crbug.com/535996
48 #if defined(OS_MACOSX) 46 #if defined(OS_MACOSX)
49 #define MAYBE_StartWithSameExtensions DISABLED_StartWithSameExtensions 47 #define MAYBE_StartWithSameExtensions DISABLED_StartWithSameExtensions
50 #else 48 #else
51 #define MAYBE_StartWithSameExtensions StartWithSameExtensions 49 #define MAYBE_StartWithSameExtensions StartWithSameExtensions
52 #endif 50 #endif
53 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest, 51 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest,
54 E2E_ENABLED(MAYBE_StartWithSameExtensions)) { 52 E2E_ENABLED(MAYBE_StartWithSameExtensions)) {
55 ASSERT_TRUE(SetupClients()); 53 ASSERT_TRUE(SetupClients());
56 54
57 const int kNumExtensions = 5; 55 const int kNumExtensions = 5;
58 for (int i = 0; i < kNumExtensions; ++i) { 56 for (int i = 0; i < kNumExtensions; ++i) {
59 InstallExtension(GetProfile(0), i); 57 InstallExtension(GetProfile(0), i);
60 InstallExtension(GetProfile(1), i); 58 InstallExtension(GetProfile(1), i);
61 } 59 }
62 60
63 ASSERT_TRUE(SetupSync()); 61 ASSERT_TRUE(SetupSync());
64 ASSERT_TRUE(AwaitAllProfilesHaveSameExtensions()); 62 ASSERT_TRUE(ExtensionsMatchChecker().Wait());
65 EXPECT_EQ(kNumExtensions, 63 EXPECT_EQ(kNumExtensions,
66 static_cast<int>(GetInstalledExtensions(GetProfile(0)).size())); 64 static_cast<int>(GetInstalledExtensions(GetProfile(0)).size()));
67 } 65 }
68 66
69 // Flaky on Mac: http://crbug.com/535996 67 // Flaky on Mac: http://crbug.com/535996
70 #if defined(OS_MACOSX) 68 #if defined(OS_MACOSX)
71 #define MAYBE_StartWithDifferentExtensions DISABLED_StartWithDifferentExtensions 69 #define MAYBE_StartWithDifferentExtensions DISABLED_StartWithDifferentExtensions
72 #else 70 #else
73 #define MAYBE_StartWithDifferentExtensions StartWithDifferentExtensions 71 #define MAYBE_StartWithDifferentExtensions StartWithDifferentExtensions
74 #endif 72 #endif
(...skipping 13 matching lines...) Expand all
88 for (int i = 0; i < kNumProfile0Extensions; ++extension_index, ++i) { 86 for (int i = 0; i < kNumProfile0Extensions; ++extension_index, ++i) {
89 InstallExtension(GetProfile(0), extension_index); 87 InstallExtension(GetProfile(0), extension_index);
90 } 88 }
91 89
92 const int kNumProfile1Extensions = 10; 90 const int kNumProfile1Extensions = 10;
93 for (int i = 0; i < kNumProfile1Extensions; ++extension_index, ++i) { 91 for (int i = 0; i < kNumProfile1Extensions; ++extension_index, ++i) {
94 InstallExtension(GetProfile(1), extension_index); 92 InstallExtension(GetProfile(1), extension_index);
95 } 93 }
96 94
97 ASSERT_TRUE(SetupSync()); 95 ASSERT_TRUE(SetupSync());
98 ASSERT_TRUE(AwaitAllProfilesHaveSameExtensions()); 96 ASSERT_TRUE(ExtensionsMatchChecker().Wait());
99 EXPECT_EQ( 97 EXPECT_EQ(
100 kNumCommonExtensions + kNumProfile0Extensions + kNumProfile1Extensions, 98 kNumCommonExtensions + kNumProfile0Extensions + kNumProfile1Extensions,
101 static_cast<int>(GetInstalledExtensions(GetProfile(0)).size())); 99 static_cast<int>(GetInstalledExtensions(GetProfile(0)).size()));
102 } 100 }
103 101
104 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest, 102 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest,
105 E2E_ENABLED(InstallDifferentExtensions)) { 103 E2E_ENABLED(InstallDifferentExtensions)) {
106 ASSERT_TRUE(SetupClients()); 104 ASSERT_TRUE(SetupClients());
107 105
108 int extension_index = 0; 106 int extension_index = 0;
109 107
110 const int kNumCommonExtensions = 5; 108 const int kNumCommonExtensions = 5;
111 for (int i = 0; i < kNumCommonExtensions; ++extension_index, ++i) { 109 for (int i = 0; i < kNumCommonExtensions; ++extension_index, ++i) {
112 InstallExtension(GetProfile(0), extension_index); 110 InstallExtension(GetProfile(0), extension_index);
113 InstallExtension(GetProfile(1), extension_index); 111 InstallExtension(GetProfile(1), extension_index);
114 } 112 }
115 113
116 ASSERT_TRUE(SetupSync()); 114 ASSERT_TRUE(SetupSync());
117 ASSERT_TRUE(AwaitAllProfilesHaveSameExtensions()); 115 ASSERT_TRUE(ExtensionsMatchChecker().Wait());
118 116
119 const int kNumProfile0Extensions = 10; 117 const int kNumProfile0Extensions = 10;
120 for (int i = 0; i < kNumProfile0Extensions; ++extension_index, ++i) { 118 for (int i = 0; i < kNumProfile0Extensions; ++extension_index, ++i) {
121 InstallExtension(GetProfile(0), extension_index); 119 InstallExtension(GetProfile(0), extension_index);
122 } 120 }
123 121
124 const int kNumProfile1Extensions = 10; 122 const int kNumProfile1Extensions = 10;
125 for (int i = 0; i < kNumProfile1Extensions; ++extension_index, ++i) { 123 for (int i = 0; i < kNumProfile1Extensions; ++extension_index, ++i) {
126 InstallExtension(GetProfile(1), extension_index); 124 InstallExtension(GetProfile(1), extension_index);
127 } 125 }
128 126
129 ASSERT_TRUE(AwaitAllProfilesHaveSameExtensions()); 127 ASSERT_TRUE(ExtensionsMatchChecker().Wait());
130 EXPECT_EQ( 128 EXPECT_EQ(
131 kNumCommonExtensions + kNumProfile0Extensions + kNumProfile1Extensions, 129 kNumCommonExtensions + kNumProfile0Extensions + kNumProfile1Extensions,
132 static_cast<int>(GetInstalledExtensions(GetProfile(0)).size())); 130 static_cast<int>(GetInstalledExtensions(GetProfile(0)).size()));
133 } 131 }
134 132
135 // TCM ID - 3637311. 133 // TCM ID - 3637311.
136 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest, MAYBE_E2E(Add)) { 134 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest, MAYBE_E2E(Add)) {
137 ASSERT_TRUE(SetupSync()); 135 ASSERT_TRUE(SetupSync());
138 ASSERT_TRUE(AllProfilesHaveSameExtensions()); 136 ASSERT_TRUE(AllProfilesHaveSameExtensions());
139 137
140 InstallExtension(GetProfile(0), 0); 138 InstallExtension(GetProfile(0), 0);
141 139
142 ASSERT_TRUE(AwaitAllProfilesHaveSameExtensions()); 140 ASSERT_TRUE(ExtensionsMatchChecker().Wait());
143 EXPECT_EQ(1u, GetInstalledExtensions(GetProfile(0)).size()); 141 EXPECT_EQ(1u, GetInstalledExtensions(GetProfile(0)).size());
144 } 142 }
145 143
146 // TCM ID - 3724281. 144 // TCM ID - 3724281.
147 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest, MAYBE_E2E(Uninstall)) { 145 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest, MAYBE_E2E(Uninstall)) {
148 ASSERT_TRUE(SetupSync()); 146 ASSERT_TRUE(SetupSync());
149 ASSERT_TRUE(AllProfilesHaveSameExtensions()); 147 ASSERT_TRUE(AllProfilesHaveSameExtensions());
150 148
151 InstallExtension(GetProfile(0), 0); 149 InstallExtension(GetProfile(0), 0);
152 ASSERT_TRUE(AwaitAllProfilesHaveSameExtensions()); 150 ASSERT_TRUE(ExtensionsMatchChecker().Wait());
153 151
154 UninstallExtension(GetProfile(0), 0); 152 UninstallExtension(GetProfile(0), 0);
155 ASSERT_TRUE(AwaitAllProfilesHaveSameExtensions()); 153 ASSERT_TRUE(ExtensionsMatchChecker().Wait());
156 EXPECT_TRUE(GetInstalledExtensions(GetProfile(0)).empty()); 154 EXPECT_TRUE(GetInstalledExtensions(GetProfile(0)).empty());
157 } 155 }
158 156
159 // TCM ID - 3605300. 157 // TCM ID - 3605300.
160 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest, 158 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest,
161 MAYBE_E2E(UpdateEnableDisableExtension)) { 159 MAYBE_E2E(UpdateEnableDisableExtension)) {
162 ASSERT_TRUE(SetupSync()); 160 ASSERT_TRUE(SetupSync());
163 ASSERT_TRUE(AllProfilesHaveSameExtensions()); 161 ASSERT_TRUE(AllProfilesHaveSameExtensions());
164 162
165 InstallExtension(GetProfile(0), 0); 163 InstallExtension(GetProfile(0), 0);
166 ASSERT_TRUE(AwaitAllProfilesHaveSameExtensions()); 164 ASSERT_TRUE(ExtensionsMatchChecker().Wait());
167 165
168 DisableExtension(GetProfile(0), 0); 166 DisableExtension(GetProfile(0), 0);
169 ASSERT_FALSE(HasSameExtensions(0, 1)); 167 ASSERT_FALSE(HasSameExtensions(0, 1));
170 168
171 ASSERT_TRUE(AwaitAllProfilesHaveSameExtensions()); 169 ASSERT_TRUE(ExtensionsMatchChecker().Wait());
172 170
173 EnableExtension(GetProfile(1), 0); 171 EnableExtension(GetProfile(1), 0);
174 ASSERT_FALSE(HasSameExtensions(0, 1)); 172 ASSERT_FALSE(HasSameExtensions(0, 1));
175 173
176 ASSERT_TRUE(AwaitAllProfilesHaveSameExtensions()); 174 ASSERT_TRUE(ExtensionsMatchChecker().Wait());
177 } 175 }
178 176
179 // TCM ID - 3728322. 177 // TCM ID - 3728322.
180 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest, 178 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest,
181 E2E_ENABLED(UpdateIncognitoEnableDisable)) { 179 E2E_ENABLED(UpdateIncognitoEnableDisable)) {
182 ASSERT_TRUE(SetupSync()); 180 ASSERT_TRUE(SetupSync());
183 ASSERT_TRUE(AllProfilesHaveSameExtensions()); 181 ASSERT_TRUE(AllProfilesHaveSameExtensions());
184 182
185 InstallExtension(GetProfile(0), 0); 183 InstallExtension(GetProfile(0), 0);
186 ASSERT_TRUE(AwaitAllProfilesHaveSameExtensions()); 184 ASSERT_TRUE(ExtensionsMatchChecker().Wait());
187 185
188 IncognitoEnableExtension(GetProfile(0), 0); 186 IncognitoEnableExtension(GetProfile(0), 0);
189 ASSERT_FALSE(HasSameExtensions(0, 1)); 187 ASSERT_FALSE(HasSameExtensions(0, 1));
190 188
191 ASSERT_TRUE(AwaitAllProfilesHaveSameExtensions()); 189 ASSERT_TRUE(ExtensionsMatchChecker().Wait());
192 190
193 IncognitoDisableExtension(GetProfile(1), 0); 191 IncognitoDisableExtension(GetProfile(1), 0);
194 ASSERT_FALSE(HasSameExtensions(0, 1)); 192 ASSERT_FALSE(HasSameExtensions(0, 1));
195 193
196 ASSERT_TRUE(AwaitAllProfilesHaveSameExtensions()); 194 ASSERT_TRUE(ExtensionsMatchChecker().Wait());
197 } 195 }
198 196
199 // Regression test for bug 104399: ensure that an extension installed prior to 197 // Regression test for bug 104399: ensure that an extension installed prior to
200 // setting up sync, when uninstalled, is also uninstalled from sync. 198 // setting up sync, when uninstalled, is also uninstalled from sync.
201 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest, 199 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest,
202 E2E_ENABLED(UninstallPreinstalledExtensions)) { 200 E2E_ENABLED(UninstallPreinstalledExtensions)) {
203 ASSERT_TRUE(SetupClients()); 201 ASSERT_TRUE(SetupClients());
204 ASSERT_TRUE(AllProfilesHaveSameExtensions()); 202 ASSERT_TRUE(AllProfilesHaveSameExtensions());
205 203
206 InstallExtension(GetProfile(0), 0); 204 InstallExtension(GetProfile(0), 0);
207 205
208 ASSERT_TRUE(SetupSync()); 206 ASSERT_TRUE(SetupSync());
209 207
210 ASSERT_TRUE(AwaitAllProfilesHaveSameExtensions()); 208 ASSERT_TRUE(ExtensionsMatchChecker().Wait());
211 ASSERT_EQ(1u, GetInstalledExtensions(GetProfile(0)).size()); 209 ASSERT_EQ(1u, GetInstalledExtensions(GetProfile(0)).size());
212 210
213 UninstallExtension(GetProfile(0), 0); 211 UninstallExtension(GetProfile(0), 0);
214 212
215 ASSERT_TRUE(AwaitAllProfilesHaveSameExtensions()); 213 ASSERT_TRUE(ExtensionsMatchChecker().Wait());
216 EXPECT_TRUE(GetInstalledExtensions(GetProfile(0)).empty()); 214 EXPECT_TRUE(GetInstalledExtensions(GetProfile(0)).empty());
217 } 215 }
218 216
219 // TODO(akalin): Add tests exercising: 217 // TODO(akalin): Add tests exercising:
220 // - Offline installation/uninstallation behavior 218 // - Offline installation/uninstallation behavior
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698