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

Side by Side Diff: chrome/test/live_sync/two_client_live_extensions_sync_test.cc

Issue 4732005: [Sync] Added some basic extension sync integration tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed whitespace Created 10 years, 1 month 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2010 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/test/live_sync/live_extensions_sync_test.h"
6
7 #include "base/basictypes.h"
8 #include "chrome/common/extensions/extension.h"
9
10 class TwoClientLiveExtensionsSyncTest : public LiveExtensionsSyncTest {
11 public:
12 TwoClientLiveExtensionsSyncTest()
13 : LiveExtensionsSyncTest(TWO_CLIENT) {}
14
15 virtual ~TwoClientLiveExtensionsSyncTest() {}
16
17 private:
18 DISALLOW_COPY_AND_ASSIGN(TwoClientLiveExtensionsSyncTest);
19 };
20
21 IN_PROC_BROWSER_TEST_F(TwoClientLiveExtensionsSyncTest,
22 StartWithNoExtensions) {
23 ASSERT_TRUE(SetupClients());
24
25 ASSERT_TRUE(SetupSync());
26
27 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
28
29 ASSERT_TRUE(HasSameExtensions(GetProfile(0), verifier()));
30 ASSERT_TRUE(HasSameExtensions(GetProfile(1), verifier()));
31 }
32
33 IN_PROC_BROWSER_TEST_F(TwoClientLiveExtensionsSyncTest,
34 StartWithSameExtensions) {
35 ASSERT_TRUE(SetupClients());
36
37 const int kNumExtensions = 5;
38 for (int i = 0; i < kNumExtensions; ++i) {
39 scoped_refptr<Extension> extension = MakeExtension();
40 InstallExtension(GetProfile(0), extension);
41 InstallExtension(GetProfile(1), extension);
42 InstallExtension(verifier(), extension);
43 }
44
45 ASSERT_TRUE(SetupSync());
46
47 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
Raghu Simha 2010/11/10 21:42:41 In this test, since both clients need to sync stuf
akalin 2010/11/12 01:20:44 Converted everything to AwaitQuiescence() because
48
49 ASSERT_TRUE(HasSameExtensions(GetProfile(0), verifier()));
50 ASSERT_TRUE(HasSameExtensions(GetProfile(1), verifier()));
51 }
52
53 IN_PROC_BROWSER_TEST_F(TwoClientLiveExtensionsSyncTest,
54 StartWithDifferentExtensions) {
55 ASSERT_TRUE(SetupClients());
56
57 const int kNumCommonExtensions = 5;
58 for (int i = 0; i < kNumCommonExtensions; ++i) {
59 scoped_refptr<Extension> extension = MakeExtension();
60 InstallExtension(GetProfile(0), extension);
61 InstallExtension(GetProfile(1), extension);
62 InstallExtension(verifier(), extension);
63 }
64
65 const int kNumProfile0Extensions = 10;
66 for (int i = 0; i < kNumProfile0Extensions; ++i) {
67 scoped_refptr<Extension> extension = MakeExtension();
68 InstallExtension(GetProfile(0), extension);
69 InstallExtension(verifier(), extension);
70 }
71
72 const int kNumProfile1Extensions = 10;
73 for (int i = 0; i < kNumProfile1Extensions; ++i) {
74 scoped_refptr<Extension> extension = MakeExtension();
75 InstallExtension(GetProfile(1), extension);
76 InstallExtension(verifier(), extension);
77 }
78
79 ASSERT_TRUE(SetupSync());
80
81 InstallAllPendingExtensions(GetProfile(0));
82 InstallAllPendingExtensions(GetProfile(1));
83
84 ASSERT_TRUE(HasSameExtensions(GetProfile(0), verifier()));
85 ASSERT_TRUE(HasSameExtensions(GetProfile(1), verifier()));
86 }
87
88 IN_PROC_BROWSER_TEST_F(TwoClientLiveExtensionsSyncTest,
89 InstallDifferentExtensions) {
90 ASSERT_TRUE(SetupClients());
91
92 const int kNumCommonExtensions = 5;
93 for (int i = 0; i < kNumCommonExtensions; ++i) {
94 scoped_refptr<Extension> extension = MakeExtension();
95 InstallExtension(GetProfile(0), extension);
96 InstallExtension(GetProfile(1), extension);
97 InstallExtension(verifier(), extension);
98 }
99
100 ASSERT_TRUE(SetupSync());
101
102 const int kNumProfile0Extensions = 10;
103 for (int i = 0; i < kNumProfile0Extensions; ++i) {
104 scoped_refptr<Extension> extension = MakeExtension();
105 InstallExtension(GetProfile(0), extension);
106 InstallExtension(verifier(), extension);
107 }
108
109 const int kNumProfile1Extensions = 10;
110 for (int i = 0; i < kNumProfile1Extensions; ++i) {
111 scoped_refptr<Extension> extension = MakeExtension();
112 InstallExtension(GetProfile(1), extension);
113 InstallExtension(verifier(), extension);
114 }
115
116 ASSERT_TRUE(AwaitQuiescence());
117
118 InstallAllPendingExtensions(GetProfile(0));
119 InstallAllPendingExtensions(GetProfile(1));
120
121 ASSERT_TRUE(HasSameExtensions(GetProfile(0), verifier()));
122 ASSERT_TRUE(HasSameExtensions(GetProfile(1), verifier()));
123 }
124
125 // TODO(akalin): Add tests exercising:
126 // - Extensions enabled/disabled state sync behavior
127 // - Extension uninstallation
128 // - Offline installation/uninstallation behavior
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698