190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// found in the LICENSE file. 490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "chrome/browser/chromeos/drive/drive_integration_service.h" 690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "base/prefs/pref_service.h" 890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "chrome/browser/profiles/profile.h" 990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "chrome/browser/ui/browser.h" 1090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "chrome/common/pref_names.h" 1190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "chrome/test/base/in_process_browser_test.h" 1290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 1390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)namespace drive { 1490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 1590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)class DriveIntegrationServiceBrowserTest : public InProcessBrowserTest { 1690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}; 1790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 1890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Verify DriveIntegrationService is created during login. 1990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)IN_PROC_BROWSER_TEST_F(DriveIntegrationServiceBrowserTest, 2090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) CreatedDuringLogin) { 2190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) EXPECT_TRUE(DriveIntegrationServiceFactory::FindForProfile( 2290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) browser()->profile())); 2390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 2490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 2590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 2690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)IN_PROC_BROWSER_TEST_F(DriveIntegrationServiceBrowserTest, 2790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) DisableDrivePolicyTest) { 2890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) // First make sure the pref is set to its default value which should permit 2990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) // drive. 3090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) browser()->profile()->GetPrefs()->SetBoolean(prefs::kDisableDrive, false); 3190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 3290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) drive::DriveIntegrationService* integration_service = 33d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) drive::DriveIntegrationServiceFactory::FindForProfile( 3490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) browser()->profile()); 3590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 3690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) EXPECT_TRUE(integration_service); 37d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) EXPECT_TRUE(integration_service->is_enabled()); 3890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 3990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) // ...next try to disable drive. 4090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) browser()->profile()->GetPrefs()->SetBoolean(prefs::kDisableDrive, true); 4190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 42d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) EXPECT_EQ(integration_service, 43d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) drive::DriveIntegrationServiceFactory::FindForProfile( 44d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) browser()->profile())); 45d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) EXPECT_FALSE(integration_service->is_enabled()); 4690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 4790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 4890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} // namespace drive 49