OLD | NEW |
---|---|
(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 | |
OLD | NEW |