| Index: chrome/browser/ui/views/ssl_client_certificate_selector_browsertest.cc
|
| diff --git a/chrome/browser/ui/views/ssl_client_certificate_selector_browsertest.cc b/chrome/browser/ui/views/ssl_client_certificate_selector_browsertest.cc
|
| index 02461841ba8295868e34186cc28966d2c860de7f..ac8e3723284cdfbab111dba6536cd79210734e93 100644
|
| --- a/chrome/browser/ui/views/ssl_client_certificate_selector_browsertest.cc
|
| +++ b/chrome/browser/ui/views/ssl_client_certificate_selector_browsertest.cc
|
| @@ -21,6 +21,7 @@
|
| #include "net/base/request_priority.h"
|
| #include "net/cert/x509_certificate.h"
|
| #include "net/http/http_transaction_factory.h"
|
| +#include "net/ssl/client_cert_identity_test_util.h"
|
| #include "net/ssl/ssl_cert_request_info.h"
|
| #include "net/test/cert_test_util.h"
|
| #include "net/test/test_data_directory.h"
|
| @@ -92,12 +93,15 @@ class SSLClientCertificateSelectorTest : public InProcessBrowserTest {
|
| browser()->tab_strip_model()->GetActiveWebContents());
|
| selector_ = new SSLClientCertificateSelector(
|
| browser()->tab_strip_model()->GetActiveWebContents(),
|
| - auth_requestor_->cert_request_info_, client_certs_,
|
| + auth_requestor_->cert_request_info_,
|
| + net::FakeClientCertIdentityListFromCertificateList(client_certs_),
|
| auth_requestor_->CreateDelegate());
|
| selector_->Init();
|
| selector_->Show();
|
|
|
| - EXPECT_EQ(client_cert_1_.get(), selector_->GetSelectedCert());
|
| + ASSERT_TRUE(selector_->GetSelectedCert());
|
| + EXPECT_EQ(client_cert_1_.get(),
|
| + selector_->GetSelectedCert()->certificate());
|
| }
|
|
|
| virtual void SetUpOnIOThread() {
|
| @@ -184,20 +188,26 @@ class SSLClientCertificateSelectorMultiTabTest
|
|
|
| selector_1_ = new SSLClientCertificateSelector(
|
| browser()->tab_strip_model()->GetWebContentsAt(1),
|
| - auth_requestor_1_->cert_request_info_, client_certs_1_,
|
| + auth_requestor_1_->cert_request_info_,
|
| + net::FakeClientCertIdentityListFromCertificateList(client_certs_1_),
|
| auth_requestor_1_->CreateDelegate());
|
| selector_1_->Init();
|
| selector_1_->Show();
|
| selector_2_ = new SSLClientCertificateSelector(
|
| browser()->tab_strip_model()->GetWebContentsAt(2),
|
| - auth_requestor_2_->cert_request_info_, client_certs_2_,
|
| + auth_requestor_2_->cert_request_info_,
|
| + net::FakeClientCertIdentityListFromCertificateList(client_certs_2_),
|
| auth_requestor_2_->CreateDelegate());
|
| selector_2_->Init();
|
| selector_2_->Show();
|
|
|
| EXPECT_EQ(2, browser()->tab_strip_model()->active_index());
|
| - EXPECT_EQ(client_cert_1_.get(), selector_1_->GetSelectedCert());
|
| - EXPECT_EQ(client_cert_1_.get(), selector_2_->GetSelectedCert());
|
| + ASSERT_TRUE(selector_1_->GetSelectedCert());
|
| + EXPECT_EQ(client_cert_1_.get(),
|
| + selector_1_->GetSelectedCert()->certificate());
|
| + ASSERT_TRUE(selector_2_->GetSelectedCert());
|
| + EXPECT_EQ(client_cert_1_.get(),
|
| + selector_2_->GetSelectedCert()->certificate());
|
| }
|
|
|
| void SetUpOnIOThread() override {
|
| @@ -262,7 +272,8 @@ class SSLClientCertificateSelectorMultiProfileTest
|
|
|
| selector_1_ = new SSLClientCertificateSelector(
|
| browser_1_->tab_strip_model()->GetActiveWebContents(),
|
| - auth_requestor_1_->cert_request_info_, client_certs_1_,
|
| + auth_requestor_1_->cert_request_info_,
|
| + net::FakeClientCertIdentityListFromCertificateList(client_certs_1_),
|
| auth_requestor_1_->CreateDelegate());
|
| selector_1_->Init();
|
| selector_1_->Show();
|
| @@ -273,7 +284,9 @@ class SSLClientCertificateSelectorMultiProfileTest
|
| views::test::WidgetActivationWaiter waiter(widget, true);
|
| waiter.Wait();
|
|
|
| - EXPECT_EQ(client_cert_1_.get(), selector_1_->GetSelectedCert());
|
| + ASSERT_TRUE(selector_1_->GetSelectedCert());
|
| + EXPECT_EQ(client_cert_1_.get(),
|
| + selector_1_->GetSelectedCert()->certificate());
|
| }
|
|
|
| void SetUpOnIOThread() override {
|
| @@ -314,7 +327,7 @@ IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorTest, SelectNone) {
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorTest, Escape) {
|
| - EXPECT_CALL(*auth_requestor_.get(), CertificateSelected(NULL));
|
| + EXPECT_CALL(*auth_requestor_.get(), CertificateSelected(nullptr, nullptr));
|
|
|
| EXPECT_TRUE(ui_test_utils::SendKeyPressSync(
|
| browser(), ui::VKEY_ESCAPE, false, false, false, false));
|
| @@ -323,8 +336,9 @@ IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorTest, Escape) {
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorTest, SelectDefault) {
|
| + // XXX test with non-null private keys
|
| EXPECT_CALL(*auth_requestor_.get(),
|
| - CertificateSelected(client_cert_1_.get()));
|
| + CertificateSelected(client_cert_1_.get(), nullptr));
|
|
|
| EXPECT_TRUE(ui_test_utils::SendKeyPressSync(
|
| browser(), ui::VKEY_RETURN, false, false, false, false));
|
| @@ -336,8 +350,8 @@ IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorMultiTabTest, Escape) {
|
| // auth_requestor_1_ should get selected automatically by the
|
| // SSLClientAuthObserver when selector_2_ is accepted, since both 1 & 2 have
|
| // the same host:port.
|
| - EXPECT_CALL(*auth_requestor_1_.get(), CertificateSelected(NULL));
|
| - EXPECT_CALL(*auth_requestor_2_.get(), CertificateSelected(NULL));
|
| + EXPECT_CALL(*auth_requestor_1_.get(), CertificateSelected(nullptr, nullptr));
|
| + EXPECT_CALL(*auth_requestor_2_.get(), CertificateSelected(nullptr, nullptr));
|
|
|
| EXPECT_TRUE(ui_test_utils::SendKeyPressSync(
|
| browser(), ui::VKEY_ESCAPE, false, false, false, false));
|
| @@ -356,16 +370,21 @@ IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorMultiTabTest, SelectSecond) {
|
| // SSLClientAuthObserver when selector_2_ is accepted, since both 1 & 2 have
|
| // the same host:port.
|
| EXPECT_CALL(*auth_requestor_1_.get(),
|
| - CertificateSelected(client_cert_2_.get()));
|
| + CertificateSelected(client_cert_2_.get(), nullptr));
|
| EXPECT_CALL(*auth_requestor_2_.get(),
|
| - CertificateSelected(client_cert_2_.get()));
|
| + CertificateSelected(client_cert_2_.get(), nullptr));
|
|
|
| EXPECT_TRUE(ui_test_utils::SendKeyPressSync(
|
| browser(), ui::VKEY_DOWN, false, false, false, false));
|
|
|
| - EXPECT_EQ(client_cert_1_.get(), selector_->GetSelectedCert());
|
| - EXPECT_EQ(client_cert_1_.get(), selector_1_->GetSelectedCert());
|
| - EXPECT_EQ(client_cert_2_.get(), selector_2_->GetSelectedCert());
|
| + ASSERT_TRUE(selector_->GetSelectedCert());
|
| + EXPECT_EQ(client_cert_1_.get(), selector_->GetSelectedCert()->certificate());
|
| + ASSERT_TRUE(selector_1_->GetSelectedCert());
|
| + EXPECT_EQ(client_cert_1_.get(),
|
| + selector_1_->GetSelectedCert()->certificate());
|
| + ASSERT_TRUE(selector_2_->GetSelectedCert());
|
| + EXPECT_EQ(client_cert_2_.get(),
|
| + selector_2_->GetSelectedCert()->certificate());
|
|
|
| EXPECT_TRUE(ui_test_utils::SendKeyPressSync(
|
| browser(), ui::VKEY_RETURN, false, false, false, false));
|
| @@ -380,7 +399,7 @@ IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorMultiTabTest, SelectSecond) {
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorMultiProfileTest, Escape) {
|
| - EXPECT_CALL(*auth_requestor_1_.get(), CertificateSelected(NULL));
|
| + EXPECT_CALL(*auth_requestor_1_.get(), CertificateSelected(nullptr, nullptr));
|
|
|
| EXPECT_TRUE(ui_test_utils::SendKeyPressSync(
|
| browser_1_, ui::VKEY_ESCAPE, false, false, false, false));
|
| @@ -395,8 +414,9 @@ IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorMultiProfileTest, Escape) {
|
|
|
| IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorMultiProfileTest,
|
| SelectDefault) {
|
| + // XXX test with non-null private key
|
| EXPECT_CALL(*auth_requestor_1_.get(),
|
| - CertificateSelected(client_cert_1_.get()));
|
| + CertificateSelected(client_cert_1_.get(), nullptr));
|
|
|
| EXPECT_TRUE(ui_test_utils::SendKeyPressSync(
|
| browser_1_, ui::VKEY_RETURN, false, false, false, false));
|
|
|