Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Side by Side Diff: chrome/browser/chromeos/login/existing_user_controller_browsertest.cc

Issue 6360006: Added browser test for existing user controller (new user login). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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 "app/l10n_util.h"
6 #include "base/message_loop.h"
7 #include "chrome/browser/chromeos/cros/cros_mock.h"
8 #include "chrome/browser/chromeos/cros/mock_cryptohome_library.h"
9 #include "chrome/browser/chromeos/cros/mock_login_library.h"
10 #include "chrome/browser/chromeos/cros/mock_network_library.h"
11 #include "chrome/browser/chromeos/login/existing_user_controller.h"
12 #include "chrome/browser/chromeos/login/helper.h"
13 #include "chrome/browser/chromeos/login/login_performer.h"
14 #include "chrome/browser/chromeos/login/login_utils.h"
15 #include "chrome/browser/chromeos/login/mock_authenticator.h"
16 #include "chrome/browser/chromeos/login/wizard_controller.h"
17 #include "chrome/browser/chromeos/login/wizard_in_process_browser_test.h"
18 #include "grit/generated_resources.h"
19 #include "testing/gmock/include/gmock/gmock.h"
20 #include "testing/gtest/include/gtest/gtest.h"
21
22 namespace chromeos {
23
24 using ::testing::AnyNumber;
25 using ::testing::InvokeWithoutArgs;
26 using ::testing::Return;
27
28 const char kUsername[] = "test_user@gmail.com";
29 const char kPassword[] = "test_password";
30
31 class MockLoginPerformerDelegate : public LoginPerformer::Delegate {
32 public:
33 explicit MockLoginPerformerDelegate(ExistingUserController* controller)
34 : controller_(controller) {
35 }
36
37 void OnLoginSuccess(const std::string&,
38 const std::string&,
39 const GaiaAuthConsumer::ClientLoginResult&,
40 bool) {
41 LoginPerformer* login_performer = controller_->login_performer_.release();
42 login_performer = NULL;
43 controller_->ActivateWizard(WizardController::kUserImageScreenName);
44 delete WizardController::default_controller();
45 }
46
47 MOCK_METHOD1(OnLoginFailure, void(const LoginFailure&));
48 MOCK_METHOD1(WhiteListCheckFailed, void(const std::string&));
49
50 private:
51 ExistingUserController* controller_;
52
53 DISALLOW_COPY_AND_ASSIGN(MockLoginPerformerDelegate);
54 };
55
56 class ExistingUserControllerTest : public WizardInProcessBrowserTest {
57 protected:
58 ExistingUserControllerTest()
59 : chromeos::WizardInProcessBrowserTest(""),
60 mock_cryptohome_library_(NULL),
61 mock_login_library_(NULL),
62 mock_network_library_(NULL) {
63 }
64
65 virtual void SetUpWizard() {
66 gfx::Rect background_bounds(login::kWizardScreenWidth,
67 login::kWizardScreenHeight);
68 ExistingUserController* controller =
69 new ExistingUserController(std::vector<UserManager::User>(),
70 background_bounds);
71 controller->Init();
72 }
73
74 ExistingUserController* existing_user_controller() {
75 return ExistingUserController::current_controller();
76 }
77
78 virtual void SetUpInProcessBrowserTestFixture() {
79 WizardInProcessBrowserTest::SetUpInProcessBrowserTestFixture();
80 cros_mock_->InitStatusAreaMocks();
81 cros_mock_->SetStatusAreaMocksExpectations();
82
83 mock_network_library_ = cros_mock_->mock_network_library();
84
85 mock_login_library_ = new MockLoginLibrary();
86 EXPECT_CALL(*mock_login_library_, EmitLoginPromptReady())
87 .Times(1);
88 EXPECT_CALL(*mock_login_library_, RetrieveProperty(_, _, _))
89 .Times(AnyNumber())
90 .WillRepeatedly((Return(true)));
91 cros_mock_->test_api()->SetLoginLibrary(mock_login_library_, true);
92
93 cros_mock_->InitMockCryptohomeLibrary();
94 mock_cryptohome_library_ = cros_mock_->mock_cryptohome_library();
95 EXPECT_CALL(*mock_cryptohome_library_, IsMounted())
96 .Times(AnyNumber())
97 .WillRepeatedly((Return(true)));
98 LoginUtils::Set(new MockLoginUtils(kUsername, kPassword));
99 }
100
101 virtual void TearDownInProcessBrowserTestFixture() {
102 WizardInProcessBrowserTest::TearDownInProcessBrowserTestFixture();
103 cros_mock_->test_api()->SetLoginLibrary(NULL, false);
104 }
105
106 MockCryptohomeLibrary* mock_cryptohome_library_;
107 MockLoginLibrary* mock_login_library_;
108 MockNetworkLibrary* mock_network_library_;
109
110 private:
111 DISALLOW_COPY_AND_ASSIGN(ExistingUserControllerTest);
112 };
113
114 IN_PROC_BROWSER_TEST_F(ExistingUserControllerTest, NewUserLogin) {
115 MockLoginPerformerDelegate* mock_delegate =
116 new MockLoginPerformerDelegate(existing_user_controller());
117 existing_user_controller()->set_login_performer_delegate(mock_delegate);
118
119 existing_user_controller()->LoginNewUser(kUsername, kPassword);
120 }
121
122 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/existing_user_controller.cc ('k') | chrome/browser/chromeos/login/mock_user_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698