| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 "testing/gmock/include/gmock/gmock.h" | 5 #include "testing/gmock/include/gmock/gmock.h" |
| 6 #include "testing/gtest/include/gtest/gtest.h" | 6 #include "testing/gtest/include/gtest/gtest.h" |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/files/scoped_temp_dir.h" | 9 #include "base/files/scoped_temp_dir.h" |
| 10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
| (...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 273 "http://a.server.com/", L"abc", L"123", false, | 273 "http://a.server.com/", L"abc", L"123", false, |
| 274 1601, 1, 1, 0, 0, 0 }, | 274 1601, 1, 1, 0, 0, 0 }, |
| 275 }; | 275 }; |
| 276 | 276 |
| 277 for (unsigned int i = 0; i < ARRAYSIZE_UNSAFE(expected); ++i) { | 277 for (unsigned int i = 0; i < ARRAYSIZE_UNSAFE(expected); ++i) { |
| 278 // Create our fake KeychainItemRef; see MockAppleKeychain docs. | 278 // Create our fake KeychainItemRef; see MockAppleKeychain docs. |
| 279 SecKeychainItemRef keychain_item = | 279 SecKeychainItemRef keychain_item = |
| 280 reinterpret_cast<SecKeychainItemRef>(i + 1); | 280 reinterpret_cast<SecKeychainItemRef>(i + 1); |
| 281 PasswordForm form; | 281 PasswordForm form; |
| 282 bool parsed = internal_keychain_helpers::FillPasswordFormFromKeychainItem( | 282 bool parsed = internal_keychain_helpers::FillPasswordFormFromKeychainItem( |
| 283 *keychain_, keychain_item, &form); | 283 *keychain_, keychain_item, &form, true); |
| 284 | 284 |
| 285 EXPECT_TRUE(parsed) << "In iteration " << i; | 285 EXPECT_TRUE(parsed) << "In iteration " << i; |
| 286 | 286 |
| 287 EXPECT_EQ(expected[i].scheme, form.scheme) << "In iteration " << i; | 287 EXPECT_EQ(expected[i].scheme, form.scheme) << "In iteration " << i; |
| 288 EXPECT_EQ(GURL(expected[i].origin), form.origin) << "In iteration " << i; | 288 EXPECT_EQ(GURL(expected[i].origin), form.origin) << "In iteration " << i; |
| 289 EXPECT_EQ(expected[i].ssl_valid, form.ssl_valid) << "In iteration " << i; | 289 EXPECT_EQ(expected[i].ssl_valid, form.ssl_valid) << "In iteration " << i; |
| 290 EXPECT_EQ(std::string(expected[i].signon_realm), form.signon_realm) | 290 EXPECT_EQ(std::string(expected[i].signon_realm), form.signon_realm) |
| 291 << "In iteration " << i; | 291 << "In iteration " << i; |
| 292 if (expected[i].username) { | 292 if (expected[i].username) { |
| 293 EXPECT_EQ(WideToUTF16(expected[i].username), form.username_value) | 293 EXPECT_EQ(WideToUTF16(expected[i].username), form.username_value) |
| (...skipping 18 matching lines...) Expand all Loading... |
| 312 << "In iteration " << i; | 312 << "In iteration " << i; |
| 313 EXPECT_EQ(expected[i].creation_second, exploded_time.second) | 313 EXPECT_EQ(expected[i].creation_second, exploded_time.second) |
| 314 << "In iteration " << i; | 314 << "In iteration " << i; |
| 315 } | 315 } |
| 316 | 316 |
| 317 { | 317 { |
| 318 // Use an invalid ref, to make sure errors are reported. | 318 // Use an invalid ref, to make sure errors are reported. |
| 319 SecKeychainItemRef keychain_item = reinterpret_cast<SecKeychainItemRef>(99); | 319 SecKeychainItemRef keychain_item = reinterpret_cast<SecKeychainItemRef>(99); |
| 320 PasswordForm form; | 320 PasswordForm form; |
| 321 bool parsed = internal_keychain_helpers::FillPasswordFormFromKeychainItem( | 321 bool parsed = internal_keychain_helpers::FillPasswordFormFromKeychainItem( |
| 322 *keychain_, keychain_item, &form); | 322 *keychain_, keychain_item, &form, true); |
| 323 EXPECT_FALSE(parsed); | 323 EXPECT_FALSE(parsed); |
| 324 } | 324 } |
| 325 } | 325 } |
| 326 | 326 |
| 327 TEST_F(PasswordStoreMacInternalsTest, TestKeychainSearch) { | 327 TEST_F(PasswordStoreMacInternalsTest, TestKeychainSearch) { |
| 328 struct TestDataAndExpectation { | 328 struct TestDataAndExpectation { |
| 329 const PasswordFormData data; | 329 const PasswordFormData data; |
| 330 const size_t expected_fill_matches; | 330 const size_t expected_fill_matches; |
| 331 const size_t expected_merge_matches; | 331 const size_t expected_merge_matches; |
| 332 }; | 332 }; |
| (...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 551 "http://some.domain.com/insecure.html", NULL, | 551 "http://some.domain.com/insecure.html", NULL, |
| 552 NULL, NULL, NULL, L"joe_user", L"updated_password", false, false, 0 | 552 NULL, NULL, NULL, L"joe_user", L"updated_password", false, false, 0 |
| 553 }; | 553 }; |
| 554 scoped_ptr<PasswordForm> update_form(CreatePasswordFormFromData(data)); | 554 scoped_ptr<PasswordForm> update_form(CreatePasswordFormFromData(data)); |
| 555 MacKeychainPasswordFormAdapter keychain_adapter(keychain_); | 555 MacKeychainPasswordFormAdapter keychain_adapter(keychain_); |
| 556 EXPECT_TRUE(keychain_adapter.AddPassword(*update_form)); | 556 EXPECT_TRUE(keychain_adapter.AddPassword(*update_form)); |
| 557 SecKeychainItemRef keychain_item = reinterpret_cast<SecKeychainItemRef>(2); | 557 SecKeychainItemRef keychain_item = reinterpret_cast<SecKeychainItemRef>(2); |
| 558 PasswordForm stored_form; | 558 PasswordForm stored_form; |
| 559 internal_keychain_helpers::FillPasswordFormFromKeychainItem(*keychain_, | 559 internal_keychain_helpers::FillPasswordFormFromKeychainItem(*keychain_, |
| 560 keychain_item, | 560 keychain_item, |
| 561 &stored_form); | 561 &stored_form, |
| 562 true); |
| 562 EXPECT_EQ(update_form->password_value, stored_form.password_value); | 563 EXPECT_EQ(update_form->password_value, stored_form.password_value); |
| 563 } | 564 } |
| 564 } | 565 } |
| 565 | 566 |
| 566 TEST_F(PasswordStoreMacInternalsTest, TestKeychainRemove) { | 567 TEST_F(PasswordStoreMacInternalsTest, TestKeychainRemove) { |
| 567 struct TestDataAndExpectation { | 568 struct TestDataAndExpectation { |
| 568 PasswordFormData data; | 569 PasswordFormData data; |
| 569 bool should_succeed; | 570 bool should_succeed; |
| 570 }; | 571 }; |
| 571 TestDataAndExpectation test_data[] = { | 572 TestDataAndExpectation test_data[] = { |
| (...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1021 EXPECT_EQ(0U, matching_items.size()) << "iteration " << i; | 1022 EXPECT_EQ(0U, matching_items.size()) << "iteration " << i; |
| 1022 } | 1023 } |
| 1023 STLDeleteElements(&matching_items); | 1024 STLDeleteElements(&matching_items); |
| 1024 | 1025 |
| 1025 login_db_->GetLogins(*query_form, &matching_items); | 1026 login_db_->GetLogins(*query_form, &matching_items); |
| 1026 EXPECT_EQ(updates[i].password ? 1U : 0U, matching_items.size()) | 1027 EXPECT_EQ(updates[i].password ? 1U : 0U, matching_items.size()) |
| 1027 << "iteration " << i; | 1028 << "iteration " << i; |
| 1028 STLDeleteElements(&matching_items); | 1029 STLDeleteElements(&matching_items); |
| 1029 } | 1030 } |
| 1030 } | 1031 } |
| OLD | NEW |