| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chromeos/login/google_authenticator.h" |
| 6 |
| 5 #include <string> | 7 #include <string> |
| 6 #include <vector> | 8 #include <vector> |
| 7 | 9 |
| 8 #include "base/file_path.h" | 10 #include "base/file_path.h" |
| 9 #include "base/file_util.h" | 11 #include "base/file_util.h" |
| 10 #include "base/message_loop.h" | 12 #include "base/message_loop.h" |
| 11 #include "base/path_service.h" | 13 #include "base/path_service.h" |
| 12 #include "base/scoped_ptr.h" | 14 #include "base/scoped_ptr.h" |
| 13 #include "base/string_util.h" | 15 #include "base/string_util.h" |
| 14 #include "base/stringprintf.h" | 16 #include "base/stringprintf.h" |
| 15 #include "chrome/browser/chrome_thread.h" | 17 #include "chrome/browser/chrome_thread.h" |
| 16 #include "chrome/browser/chromeos/cros/mock_cryptohome_library.h" | 18 #include "chrome/browser/chromeos/cros/mock_cryptohome_library.h" |
| 17 #include "chrome/browser/chromeos/cros/mock_library_loader.h" | 19 #include "chrome/browser/chromeos/cros/mock_library_loader.h" |
| 18 #include "chrome/browser/chromeos/login/client_login_response_handler.h" | 20 #include "chrome/browser/chromeos/login/client_login_response_handler.h" |
| 19 #include "chrome/browser/chromeos/login/google_authenticator.h" | |
| 20 #include "chrome/browser/chromeos/login/issue_response_handler.h" | 21 #include "chrome/browser/chromeos/login/issue_response_handler.h" |
| 21 #include "chrome/browser/chromeos/login/mock_auth_response_handler.h" | 22 #include "chrome/browser/chromeos/login/mock_auth_response_handler.h" |
| 22 #include "chrome/browser/chromeos/login/mock_url_fetchers.h" | 23 #include "chrome/browser/chromeos/login/mock_url_fetchers.h" |
| 23 #include "chrome/common/chrome_paths.h" | 24 #include "chrome/common/chrome_paths.h" |
| 24 #include "chrome/common/net/gaia/gaia_authenticator2_unittest.h" | 25 #include "chrome/common/net/gaia/gaia_authenticator2_unittest.h" |
| 25 #include "chrome/common/net/url_fetcher.h" | 26 #include "chrome/common/net/url_fetcher.h" |
| 26 #include "chrome/test/testing_profile.h" | 27 #include "chrome/test/testing_profile.h" |
| 27 #include "googleurl/src/gurl.h" | 28 #include "googleurl/src/gurl.h" |
| 28 #include "net/base/net_errors.h" | 29 #include "net/base/net_errors.h" |
| 29 #include "net/url_request/url_request_status.h" | 30 #include "net/url_request/url_request_status.h" |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 164 | 165 |
| 165 ON_CALL(*mock_library_, GetSystemSalt()) | 166 ON_CALL(*mock_library_, GetSystemSalt()) |
| 166 .WillByDefault(Return(salt_v)); | 167 .WillByDefault(Return(salt_v)); |
| 167 EXPECT_CALL(*mock_library_, GetSystemSalt()) | 168 EXPECT_CALL(*mock_library_, GetSystemSalt()) |
| 168 .Times(1) | 169 .Times(1) |
| 169 .RetiresOnSaturation(); | 170 .RetiresOnSaturation(); |
| 170 | 171 |
| 171 EXPECT_EQ("0a010000000000a0", auth->SaltAsAscii()); | 172 EXPECT_EQ("0a010000000000a0", auth->SaltAsAscii()); |
| 172 } | 173 } |
| 173 | 174 |
| 174 TEST_F(GoogleAuthenticatorTest, EmailAddressNoOp) { | |
| 175 const char lower_case[] = "user@what.com"; | |
| 176 EXPECT_EQ(lower_case, GoogleAuthenticator::Canonicalize(lower_case)); | |
| 177 } | |
| 178 | |
| 179 TEST_F(GoogleAuthenticatorTest, EmailAddressIgnoreCaps) { | |
| 180 EXPECT_EQ(GoogleAuthenticator::Canonicalize("user@what.com"), | |
| 181 GoogleAuthenticator::Canonicalize("UsEr@what.com")); | |
| 182 } | |
| 183 | |
| 184 TEST_F(GoogleAuthenticatorTest, EmailAddressIgnoreDomainCaps) { | |
| 185 EXPECT_EQ(GoogleAuthenticator::Canonicalize("user@what.com"), | |
| 186 GoogleAuthenticator::Canonicalize("UsEr@what.COM")); | |
| 187 } | |
| 188 | |
| 189 TEST_F(GoogleAuthenticatorTest, EmailAddressIgnoreOneUsernameDot) { | |
| 190 EXPECT_EQ(GoogleAuthenticator::Canonicalize("us.er@what.com"), | |
| 191 GoogleAuthenticator::Canonicalize("UsEr@what.com")); | |
| 192 } | |
| 193 | |
| 194 TEST_F(GoogleAuthenticatorTest, EmailAddressIgnoreManyUsernameDots) { | |
| 195 EXPECT_EQ(GoogleAuthenticator::Canonicalize("u.ser@what.com"), | |
| 196 GoogleAuthenticator::Canonicalize("Us.E.r@what.com")); | |
| 197 } | |
| 198 | |
| 199 TEST_F(GoogleAuthenticatorTest, EmailAddressIgnoreConsecutiveUsernameDots) { | |
| 200 EXPECT_EQ(GoogleAuthenticator::Canonicalize("use.r@what.com"), | |
| 201 GoogleAuthenticator::Canonicalize("Us....E.r@what.com")); | |
| 202 } | |
| 203 | |
| 204 TEST_F(GoogleAuthenticatorTest, EmailAddressDifferentOnesRejected) { | |
| 205 EXPECT_NE(GoogleAuthenticator::Canonicalize("who@what.com"), | |
| 206 GoogleAuthenticator::Canonicalize("Us....E.r@what.com")); | |
| 207 } | |
| 208 | |
| 209 TEST_F(GoogleAuthenticatorTest, EmailAddressIgnorePlusSuffix) { | |
| 210 EXPECT_EQ(GoogleAuthenticator::Canonicalize("user+cc@what.com"), | |
| 211 GoogleAuthenticator::Canonicalize("user@what.com")); | |
| 212 } | |
| 213 | |
| 214 TEST_F(GoogleAuthenticatorTest, EmailAddressIgnoreMultiPlusSuffix) { | |
| 215 EXPECT_EQ(GoogleAuthenticator::Canonicalize("user+cc+bcc@what.com"), | |
| 216 GoogleAuthenticator::Canonicalize("user@what.com")); | |
| 217 } | |
| 218 | |
| 219 TEST_F(GoogleAuthenticatorTest, ReadLocalaccount) { | 175 TEST_F(GoogleAuthenticatorTest, ReadLocalaccount) { |
| 220 FilePath tmp_file_path = FakeLocalaccountFile(bytes_as_ascii_); | 176 FilePath tmp_file_path = FakeLocalaccountFile(bytes_as_ascii_); |
| 221 | 177 |
| 222 scoped_refptr<GoogleAuthenticator> auth(new GoogleAuthenticator(NULL)); | 178 scoped_refptr<GoogleAuthenticator> auth(new GoogleAuthenticator(NULL)); |
| 223 ReadLocalaccountFile(auth.get(), tmp_file_path.BaseName().value()); | 179 ReadLocalaccountFile(auth.get(), tmp_file_path.BaseName().value()); |
| 224 EXPECT_EQ(auth->localaccount_, bytes_as_ascii_); | 180 EXPECT_EQ(auth->localaccount_, bytes_as_ascii_); |
| 225 Delete(tmp_file_path, false); | 181 Delete(tmp_file_path, false); |
| 226 } | 182 } |
| 227 | 183 |
| 228 TEST_F(GoogleAuthenticatorTest, ReadLocalaccountTrailingWS) { | 184 TEST_F(GoogleAuthenticatorTest, ReadLocalaccountTrailingWS) { |
| (...skipping 511 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 740 // Post a task to cancel the login attempt. | 696 // Post a task to cancel the login attempt. |
| 741 CancelLogin(auth.get()); | 697 CancelLogin(auth.get()); |
| 742 | 698 |
| 743 URLFetcher::set_factory(NULL); | 699 URLFetcher::set_factory(NULL); |
| 744 | 700 |
| 745 // Run the UI thread until we exit it gracefully. | 701 // Run the UI thread until we exit it gracefully. |
| 746 message_loop.Run(); | 702 message_loop.Run(); |
| 747 } | 703 } |
| 748 | 704 |
| 749 } // namespace chromeos | 705 } // namespace chromeos |
| OLD | NEW |