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

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

Issue 5809001: Removed old login screen from source. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed comments 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) 2010 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/message_loop.h"
6 #include "chrome/browser/browser_thread.h"
7 #include "chrome/browser/chromeos/cros/mock_cryptohome_library.h"
8 #include "chrome/browser/chromeos/cros/mock_login_library.h"
9 #include "chrome/browser/chromeos/cros/mock_network_library.h"
10 #include "chrome/browser/chromeos/login/login_screen.h"
11 #include "chrome/browser/chromeos/login/mock_authenticator.h"
12 #include "chrome/browser/chromeos/login/mock_screen_observer.h"
13 #include "chrome/browser/chromeos/login/wizard_controller.h"
14 #include "chrome/browser/chromeos/login/wizard_in_process_browser_test.h"
15 #include "chrome/browser/chromeos/login/wizard_screen.h"
16 #include "grit/generated_resources.h"
17 #include "testing/gmock/include/gmock/gmock.h"
18 #include "testing/gtest/include/gtest/gtest.h"
19
20 namespace chromeos {
21
22 using ::testing::AnyNumber;
23 using ::testing::InvokeWithoutArgs;
24 using ::testing::Return;
25
26 const char kUsername[] = "test_user@gmail.com";
27 const char kPassword[] = "test_password";
28
29 class LoginScreenTest : public WizardInProcessBrowserTest {
30 public:
31 LoginScreenTest(): WizardInProcessBrowserTest("login"),
32 mock_cryptohome_library_(NULL),
33 mock_login_library_(NULL),
34 mock_network_library_(NULL) {
35 }
36
37 protected:
38 MockCryptohomeLibrary *mock_cryptohome_library_;
39 MockLoginLibrary *mock_login_library_;
40 MockNetworkLibrary *mock_network_library_;
41
42 virtual void SetUpInProcessBrowserTestFixture() {
43 WizardInProcessBrowserTest::SetUpInProcessBrowserTestFixture();
44 cros_mock_->InitStatusAreaMocks();
45 cros_mock_->SetStatusAreaMocksExpectations();
46
47 mock_network_library_ = cros_mock_->mock_network_library();
48
49 mock_login_library_ = new MockLoginLibrary();
50 EXPECT_CALL(*mock_login_library_, EmitLoginPromptReady())
51 .Times(1);
52 cros_mock_->test_api()->SetLoginLibrary(mock_login_library_, true);
53
54 cros_mock_->InitMockCryptohomeLibrary();
55 mock_cryptohome_library_ = cros_mock_->mock_cryptohome_library();
56 EXPECT_CALL(*mock_cryptohome_library_, IsMounted())
57 .Times(AnyNumber())
58 .WillRepeatedly((Return(true)));
59 LoginUtils::Set(new MockLoginUtils(kUsername, kPassword));
60 }
61
62 virtual void TearDownInProcessBrowserTestFixture() {
63 WizardInProcessBrowserTest::TearDownInProcessBrowserTestFixture();
64 cros_mock_->test_api()->SetLoginLibrary(NULL, false);
65 }
66
67 private:
68 DISALLOW_COPY_AND_ASSIGN(LoginScreenTest);
69 };
70
71 static void Quit() {
72 VLOG(1) << "Posting a QuitTask to UI thread";
73 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
74 new MessageLoop::QuitTask);
75 }
76 IN_PROC_BROWSER_TEST_F(LoginScreenTest, TestBasic) {
77 ASSERT_TRUE(controller() != NULL);
78 ASSERT_EQ(controller()->current_screen(), controller()->GetLoginScreen());
79
80 scoped_ptr<MockScreenObserver> mock_screen_observer(
81 new MockScreenObserver());
82 EXPECT_CALL(*mock_screen_observer,
83 OnExit(ScreenObserver::LOGIN_SIGN_IN_SELECTED))
84 .WillOnce(InvokeWithoutArgs(Quit));
85
86 controller()->set_observer(mock_screen_observer.get());
87 NewUserView* login = controller()->GetLoginScreen()->view();
88 login->SetUsername(kUsername);
89 login->SetPassword(kPassword);
90
91 bool old_state = MessageLoop::current()->NestableTasksAllowed();
92 MessageLoop::current()->SetNestableTasksAllowed(true);
93 login->Login();
94 MessageLoop::current()->Run();
95 MessageLoop::current()->SetNestableTasksAllowed(old_state);
96 controller()->set_observer(NULL);
97 }
98
99 IN_PROC_BROWSER_TEST_F(LoginScreenTest, AuthenticationFailed) {
100 ASSERT_TRUE(controller() != NULL);
101 ASSERT_EQ(controller()->current_screen(), controller()->GetLoginScreen());
102
103 scoped_ptr<MockScreenObserver> mock_screen_observer(
104 new MockScreenObserver());
105 controller()->set_observer(mock_screen_observer.get());
106
107 EXPECT_CALL(*mock_network_library_, Connected())
108 .Times(AnyNumber())
109 .WillRepeatedly((Return(true)));
110
111 NewUserView* login = controller()->GetLoginScreen()->view();
112 login->SetUsername(kUsername);
113 login->SetPassword("wrong password");
114
115 bool old_state = MessageLoop::current()->NestableTasksAllowed();
116 MessageLoop::current()->SetNestableTasksAllowed(true);
117 login->Login();
118 MessageLoop::current()->Run();
119 MessageLoop::current()->SetNestableTasksAllowed(old_state);
120
121 ASSERT_EQ(controller()->current_screen(), controller()->GetLoginScreen());
122 EXPECT_TRUE(controller()->GetLoginScreen()->IsErrorShown());
123 controller()->set_observer(NULL);
124 }
125
126 IN_PROC_BROWSER_TEST_F(LoginScreenTest, IncognitoLogin) {
127 ASSERT_TRUE(controller() != NULL);
128 ASSERT_EQ(controller()->current_screen(), controller()->GetLoginScreen());
129
130 scoped_ptr<MockScreenObserver> mock_screen_observer(
131 new MockScreenObserver());
132 controller()->set_observer(mock_screen_observer.get());
133 NewUserView* login = controller()->GetLoginScreen()->view();
134
135 login->LinkActivated(login->guest_link_, 0);
136 controller()->set_observer(NULL);
137 Quit();
138 }
139
140 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/login_screen.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