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