Cast: Stop logging kVideoFrameSentToEncoder and rename a couple events.
[chromium-blink-merge.git] / chrome / browser / chromeos / login / mock_user_manager.h
blobdc4eb025c07a62d064bd43e945fa10cb727e6c37
1 // Copyright (c) 2012 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.
5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_MOCK_USER_MANAGER_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_MOCK_USER_MANAGER_H_
8 #include <string>
10 #include "base/files/file_path.h"
11 #include "base/memory/weak_ptr.h"
12 #include "chrome/browser/chromeos/login/mock_user_image_manager.h"
13 #include "chrome/browser/chromeos/login/user.h"
14 #include "chrome/browser/chromeos/login/user_flow.h"
15 #include "chrome/browser/chromeos/login/user_image.h"
16 #include "chrome/browser/chromeos/login/user_manager.h"
17 #include "testing/gmock/include/gmock/gmock.h"
19 namespace chromeos {
21 class FakeSupervisedUserManager;
23 class MockUserManager : public UserManager {
24 public:
25 MockUserManager();
26 virtual ~MockUserManager();
28 MOCK_METHOD0(Shutdown, void(void));
29 MOCK_CONST_METHOD0(GetUsersAdmittedForMultiProfile, UserList(void));
30 MOCK_CONST_METHOD0(GetLoggedInUsers, const UserList&(void));
31 MOCK_METHOD0(GetLRULoggedInUsers, const UserList&(void));
32 MOCK_METHOD3(UserLoggedIn, void(
33 const std::string&, const std::string&, bool));
34 MOCK_METHOD1(SwitchActiveUser, void(const std::string& email));
35 MOCK_METHOD0(SessionStarted, void(void));
36 MOCK_METHOD0(RestoreActiveSessions, void(void));
37 MOCK_METHOD2(RemoveUser, void(const std::string&, RemoveUserDelegate*));
38 MOCK_METHOD1(RemoveUserFromList, void(const std::string&));
39 MOCK_CONST_METHOD1(IsKnownUser, bool(const std::string&));
40 MOCK_CONST_METHOD1(FindUser, const User*(const std::string&));
41 MOCK_METHOD1(FindUserAndModify, User*(const std::string&));
42 MOCK_METHOD2(SaveUserOAuthStatus, void(const std::string&,
43 User::OAuthTokenStatus));
44 MOCK_CONST_METHOD1(GetProfileByUser, Profile*(const User*));
45 MOCK_METHOD2(SaveForceOnlineSignin, void(const std::string&, bool));
46 MOCK_METHOD2(SaveUserDisplayName, void(const std::string&,
47 const base::string16&));
48 MOCK_METHOD2(UpdateUserAccountData,
49 void(const std::string&, const UserAccountData&));
50 MOCK_CONST_METHOD1(GetUserDisplayName, base::string16(const std::string&));
51 MOCK_METHOD2(SaveUserDisplayEmail, void(const std::string&,
52 const std::string&));
53 MOCK_CONST_METHOD1(GetUserDisplayEmail, std::string(const std::string&));
54 MOCK_CONST_METHOD0(IsCurrentUserOwner, bool(void));
55 MOCK_CONST_METHOD0(IsCurrentUserNew, bool(void));
56 MOCK_CONST_METHOD0(IsCurrentUserNonCryptohomeDataEphemeral, bool(void));
57 MOCK_CONST_METHOD0(CanCurrentUserLock, bool(void));
58 MOCK_CONST_METHOD0(IsUserLoggedIn, bool(void));
59 MOCK_CONST_METHOD0(IsLoggedInAsRegularUser, bool(void));
60 MOCK_CONST_METHOD0(IsLoggedInAsDemoUser, bool(void));
61 MOCK_CONST_METHOD0(IsLoggedInAsPublicAccount, bool(void));
62 MOCK_CONST_METHOD0(IsLoggedInAsGuest, bool(void));
63 MOCK_CONST_METHOD0(IsLoggedInAsLocallyManagedUser, bool(void));
64 MOCK_CONST_METHOD0(IsLoggedInAsKioskApp, bool(void));
65 MOCK_CONST_METHOD0(IsLoggedInAsStub, bool(void));
66 MOCK_CONST_METHOD0(IsSessionStarted, bool(void));
67 MOCK_CONST_METHOD0(UserSessionsRestored, bool(void));
68 MOCK_CONST_METHOD0(HasBrowserRestarted, bool(void));
69 MOCK_CONST_METHOD1(IsUserNonCryptohomeDataEphemeral,
70 bool(const std::string&));
71 MOCK_METHOD1(AddObserver, void(UserManager::Observer*));
72 MOCK_METHOD1(RemoveObserver, void(UserManager::Observer*));
73 MOCK_METHOD1(AddSessionStateObserver,
74 void(UserManager::UserSessionStateObserver*));
75 MOCK_METHOD1(RemoveSessionStateObserver,
76 void(UserManager::UserSessionStateObserver*));
77 MOCK_METHOD0(NotifyLocalStateChanged, void(void));
78 MOCK_METHOD2(SetUserFlow, void(const std::string&, UserFlow*));
79 MOCK_METHOD1(ResetUserFlow, void(const std::string&));
81 MOCK_METHOD2(GetAppModeChromeClientOAuthInfo, bool(std::string*,
82 std::string*));
83 MOCK_METHOD2(SetAppModeChromeClientOAuthInfo, void(const std::string&,
84 const std::string&));
85 MOCK_CONST_METHOD0(AreLocallyManagedUsersAllowed, bool(void));
86 MOCK_CONST_METHOD1(GetUserProfileDir,
87 base::FilePath(const std::string& email));
89 // You can't mock these functions easily because nobody can create
90 // User objects but the UserManagerImpl and us.
91 virtual const UserList& GetUsers() const OVERRIDE;
92 virtual const User* GetLoggedInUser() const OVERRIDE;
93 virtual UserList GetUnlockUsers() const OVERRIDE;
94 virtual const std::string& GetOwnerEmail() OVERRIDE;
95 virtual User* GetLoggedInUser() OVERRIDE;
96 virtual const User* GetActiveUser() const OVERRIDE;
97 virtual User* GetActiveUser() OVERRIDE;
98 virtual const User* GetPrimaryUser() const OVERRIDE;
99 virtual User* GetUserByProfile(Profile* profile) const OVERRIDE;
101 virtual MultiProfileUserController* GetMultiProfileUserController() OVERRIDE;
102 virtual UserImageManager* GetUserImageManager(
103 const std::string& user_id) OVERRIDE;
104 virtual SupervisedUserManager* GetSupervisedUserManager() OVERRIDE;
106 virtual UserFlow* GetCurrentUserFlow() const OVERRIDE;
107 virtual UserFlow* GetUserFlow(const std::string&) const OVERRIDE;
108 virtual bool RespectLocalePreference(
109 Profile* profile,
110 const User* user,
111 scoped_ptr<locale_util::SwitchLanguageCallback> callback) const OVERRIDE;
113 // Sets a new User instance. Users previously created by this MockUserManager
114 // become invalid.
115 void SetActiveUser(const std::string& email);
117 // Creates a new public session user. Users previously created by this
118 // MockUserManager become invalid.
119 User* CreatePublicAccountUser(const std::string& email);
121 // Adds a new User instance to the back of the user list. Users previously
122 // created by this MockUserManager remain valid.
123 void AddUser(const std::string& email);
125 // Clears the user list and the active user. Users previously created by this
126 // MockUserManager become invalid.
127 void ClearUserList();
129 scoped_ptr<UserFlow> user_flow_;
130 scoped_ptr<MockUserImageManager> user_image_manager_;
131 scoped_ptr<FakeSupervisedUserManager> supervised_user_manager_;
132 UserList user_list_;
135 } // namespace chromeos
137 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_MOCK_USER_MANAGER_H_