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. 4 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_MOCK_LOGIN_STATUS_CONSUMER_H_ 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_MOCK_LOGIN_STATUS_CONSUMER_H_ 7 8 #include "chrome/browser/chromeos/login/login_status_consumer.h" 9 #include "chrome/browser/chromeos/login/user.h" 10 #include "testing/gmock/include/gmock/gmock.h" 11 12 namespace chromeos { 13 14 class MockConsumer : public LoginStatusConsumer { 15 public: 16 MockConsumer(); 17 virtual ~MockConsumer(); 18 19 MOCK_METHOD1(OnLoginFailure, void(const LoginFailure& error)); 20 MOCK_METHOD1(OnRetailModeLoginSuccess, void( 21 const UserContext& user_context)); 22 MOCK_METHOD3(OnLoginSuccess, void( 23 const UserContext& user_context, 24 bool pending_requests, 25 bool using_oauth)); 26 MOCK_METHOD0(OnOffTheRecordLoginSuccess, void(void)); 27 MOCK_METHOD0(OnPasswordChangeDetected, void(void)); 28 29 // The following functions can be used in gmock Invoke() clauses. 30 31 // Compatible with LoginStatusConsumer::OnRetailModeLoginSuccess() 32 static void OnRetailModeSuccessQuit(const UserContext& user_context); 33 static void OnRetailModeSuccessQuitAndFail( 34 const UserContext& user_context); 35 36 // Compatible with LoginStatusConsumer::OnOffTheRecordLoginSuccess() 37 static void OnGuestSuccessQuit(); 38 static void OnGuestSuccessQuitAndFail(); 39 40 // Compatible with LoginStatusConsumer::OnLoginSuccess() 41 static void OnSuccessQuit( 42 const UserContext& user_context, 43 bool pending_requests, 44 bool using_oauth); 45 static void OnSuccessQuitAndFail( 46 const UserContext& user_context, 47 bool pending_requests, 48 bool using_oauth); 49 50 // Compatible with LoginStatusConsumer::OnLoginFailure() 51 static void OnFailQuit(const LoginFailure& error); 52 static void OnFailQuitAndFail(const LoginFailure& error); 53 54 // Compatible with LoginStatusConsumer::OnPasswordChangeDetected() 55 static void OnMigrateQuit(); 56 static void OnMigrateQuitAndFail(); 57 }; 58 59 } // namespace chromeos 60 61 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_MOCK_LOGIN_STATUS_CONSUMER_H_ 62