single_client_extensions_sync_test.cc revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
1// Copyright (c) 2011 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 "base/basictypes.h"
6#include "chrome/browser/sync/test/integration/extensions_helper.h"
7#include "chrome/browser/sync/test/integration/profile_sync_service_harness.h"
8#include "chrome/browser/sync/test/integration/sync_test.h"
9
10using extensions_helper::AllProfilesHaveSameExtensionsAsVerifier;
11using extensions_helper::InstallExtension;
12
13class SingleClientExtensionsSyncTest : public SyncTest {
14 public:
15  SingleClientExtensionsSyncTest() : SyncTest(SINGLE_CLIENT) {}
16
17  virtual ~SingleClientExtensionsSyncTest() {}
18
19 private:
20  DISALLOW_COPY_AND_ASSIGN(SingleClientExtensionsSyncTest);
21};
22
23IN_PROC_BROWSER_TEST_F(SingleClientExtensionsSyncTest, StartWithNoExtensions) {
24  ASSERT_TRUE(SetupSync());
25
26  ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
27}
28
29IN_PROC_BROWSER_TEST_F(SingleClientExtensionsSyncTest,
30                       StartWithSomeExtensions) {
31  ASSERT_TRUE(SetupClients());
32
33  const int kNumExtensions = 5;
34  for (int i = 0; i < kNumExtensions; ++i) {
35    InstallExtension(GetProfile(0), i);
36    InstallExtension(verifier(), i);
37  }
38
39  ASSERT_TRUE(SetupSync());
40
41  ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
42}
43
44IN_PROC_BROWSER_TEST_F(SingleClientExtensionsSyncTest, InstallSomeExtensions) {
45  ASSERT_TRUE(SetupSync());
46
47  const int kNumExtensions = 5;
48  for (int i = 0; i < kNumExtensions; ++i) {
49    InstallExtension(GetProfile(0), i);
50    InstallExtension(verifier(), i);
51  }
52
53  ASSERT_TRUE(GetClient(0)->AwaitCommitActivityCompletion());
54
55  ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
56}
57