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)); |