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/apps_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 apps_helper::AllProfilesHaveSameAppsAsVerifier; 11using apps_helper::InstallApp; 12using apps_helper::InstallPlatformApp; 13 14class SingleClientAppsSyncTest : public SyncTest { 15 public: 16 SingleClientAppsSyncTest() : SyncTest(SINGLE_CLIENT) {} 17 18 virtual ~SingleClientAppsSyncTest() {} 19 20 private: 21 DISALLOW_COPY_AND_ASSIGN(SingleClientAppsSyncTest); 22}; 23 24IN_PROC_BROWSER_TEST_F(SingleClientAppsSyncTest, StartWithNoApps) { 25 ASSERT_TRUE(SetupSync()); 26 27 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); 28} 29 30IN_PROC_BROWSER_TEST_F(SingleClientAppsSyncTest, StartWithSomeLegacyApps) { 31 ASSERT_TRUE(SetupClients()); 32 33 const int kNumApps = 5; 34 for (int i = 0; i < kNumApps; ++i) { 35 InstallApp(GetProfile(0), i); 36 InstallApp(verifier(), i); 37 } 38 39 ASSERT_TRUE(SetupSync()); 40 41 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); 42} 43 44IN_PROC_BROWSER_TEST_F(SingleClientAppsSyncTest, StartWithSomePlatformApps) { 45 ASSERT_TRUE(SetupClients()); 46 47 const int kNumApps = 5; 48 for (int i = 0; i < kNumApps; ++i) { 49 InstallPlatformApp(GetProfile(0), i); 50 InstallPlatformApp(verifier(), i); 51 } 52 53 ASSERT_TRUE(SetupSync()); 54 55 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); 56} 57 58IN_PROC_BROWSER_TEST_F(SingleClientAppsSyncTest, InstallSomeLegacyApps) { 59 ASSERT_TRUE(SetupSync()); 60 61 const int kNumApps = 5; 62 for (int i = 0; i < kNumApps; ++i) { 63 InstallApp(GetProfile(0), i); 64 InstallApp(verifier(), i); 65 } 66 67 ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion()); 68 69 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); 70} 71 72IN_PROC_BROWSER_TEST_F(SingleClientAppsSyncTest, InstallSomePlatformApps) { 73 ASSERT_TRUE(SetupSync()); 74 75 const int kNumApps = 5; 76 for (int i = 0; i < kNumApps; ++i) { 77 InstallPlatformApp(GetProfile(0), i); 78 InstallPlatformApp(verifier(), i); 79 } 80 81 ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion()); 82 83 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); 84} 85 86IN_PROC_BROWSER_TEST_F(SingleClientAppsSyncTest, InstallSomeApps) { 87 ASSERT_TRUE(SetupSync()); 88 89 int i = 0; 90 91 const int kNumApps = 5; 92 for (int j = 0; j < kNumApps; ++i, ++j) { 93 InstallApp(GetProfile(0), i); 94 InstallApp(verifier(), i); 95 } 96 97 const int kNumPlatformApps = 5; 98 for (int j = 0; j < kNumPlatformApps; ++i, ++j) { 99 InstallPlatformApp(GetProfile(0), i); 100 InstallPlatformApp(verifier(), i); 101 } 102 103 ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion()); 104 105 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); 106} 107