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

Side by Side Diff: chrome/browser/ui/views/ssl_client_certificate_selector_browsertest.cc

Issue 9384014: Remove knowledge about SSLClientAuthHandler from chrome. Instead a callback is given to the embed... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: review comments+sync Created 8 years, 10 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
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/file_path.h" 6 #include "base/file_path.h"
7 #include "base/synchronization/waitable_event.h" 7 #include "base/synchronization/waitable_event.h"
8 #include "chrome/browser/profiles/profile.h" 8 #include "chrome/browser/profiles/profile.h"
9 #include "chrome/browser/ssl/ssl_client_auth_requestor_mock.h"
9 #include "chrome/browser/ui/browser.h" 10 #include "chrome/browser/ui/browser.h"
10 #include "chrome/browser/ui/views/ssl_client_certificate_selector.h" 11 #include "chrome/browser/ui/views/ssl_client_certificate_selector.h"
11 #include "chrome/test/base/in_process_browser_test.h" 12 #include "chrome/test/base/in_process_browser_test.h"
12 #include "chrome/test/base/ui_test_utils.h" 13 #include "chrome/test/base/ui_test_utils.h"
13 #include "content/browser/ssl/ssl_client_auth_handler_mock.h"
14 #include "content/public/browser/web_contents.h" 14 #include "content/public/browser/web_contents.h"
15 #include "net/base/cert_test_util.h" 15 #include "net/base/cert_test_util.h"
16 #include "net/base/ssl_cert_request_info.h"
16 #include "net/base/x509_certificate.h" 17 #include "net/base/x509_certificate.h"
18 #include "net/http/http_transaction_factory.h"
17 #include "net/url_request/url_request.h" 19 #include "net/url_request/url_request.h"
18 #include "net/url_request/url_request_context.h" 20 #include "net/url_request/url_request_context.h"
19 #include "net/url_request/url_request_context_getter.h" 21 #include "net/url_request/url_request_context_getter.h"
20 #include "testing/gmock/include/gmock/gmock.h"
21 #include "testing/gtest/include/gtest/gtest.h" 22 #include "testing/gtest/include/gtest/gtest.h"
22 23
23 using ::testing::Mock; 24 using ::testing::Mock;
24 using ::testing::StrictMock; 25 using ::testing::StrictMock;
25 using content::BrowserThread; 26 using content::BrowserThread;
26 27
27 // We don't have a way to do end-to-end SSL client auth testing, so this test 28 // We don't have a way to do end-to-end SSL client auth testing, so this test
28 // creates a certificate selector_ manually with a mocked 29 // creates a certificate selector_ manually with a mocked
29 // SSLClientAuthHandler. 30 // SSLClientAuthHandler.
30 31
(...skipping 24 matching lines...) Expand all
55 56
56 BrowserThread::PostTask( 57 BrowserThread::PostTask(
57 BrowserThread::IO, FROM_HERE, 58 BrowserThread::IO, FROM_HERE,
58 base::Bind(&SSLClientCertificateSelectorTest::SetUpOnIOThread, this)); 59 base::Bind(&SSLClientCertificateSelectorTest::SetUpOnIOThread, this));
59 60
60 io_loop_finished_event_.Wait(); 61 io_loop_finished_event_.Wait();
61 62
62 ui_test_utils::WaitForLoadStop(browser()->GetSelectedWebContents()); 63 ui_test_utils::WaitForLoadStop(browser()->GetSelectedWebContents());
63 selector_ = new SSLClientCertificateSelector( 64 selector_ = new SSLClientCertificateSelector(
64 browser()->GetSelectedTabContentsWrapper(), 65 browser()->GetSelectedTabContentsWrapper(),
65 cert_request_info_, 66 auth_requestor_->http_network_session_,
66 auth_handler_); 67 auth_requestor_->cert_request_info_,
68 base::Bind(&SSLClientAuthRequestorMock::CertificateSelected,
69 auth_requestor_));
67 selector_->Init(); 70 selector_->Init();
68 71
69 EXPECT_EQ(mit_davidben_cert_.get(), selector_->GetSelectedCert()); 72 EXPECT_EQ(mit_davidben_cert_.get(), selector_->GetSelectedCert());
70 } 73 }
71 74
72 virtual void SetUpOnIOThread() { 75 virtual void SetUpOnIOThread() {
73 url_request_ = MakeURLRequest(url_request_context_getter_); 76 url_request_ = MakeURLRequest(url_request_context_getter_);
74 77
75 auth_handler_ = new StrictMock<SSLClientAuthHandlerMock>( 78 auth_requestor_ = new StrictMock<SSLClientAuthRequestorMock>(
76 url_request_, 79 url_request_,
77 cert_request_info_); 80 cert_request_info_);
78 81
79 io_loop_finished_event_.Signal(); 82 io_loop_finished_event_.Signal();
80 } 83 }
81 84
82 // Have to release our reference to the auth handler during the test to allow 85 // Have to release our reference to the auth handler during the test to allow
83 // it to be destroyed while the Browser and its IO thread still exist. 86 // it to be destroyed while the Browser and its IO thread still exist.
84 virtual void CleanUpOnMainThread() { 87 virtual void CleanUpOnMainThread() {
85 BrowserThread::PostTask( 88 BrowserThread::PostTask(
86 BrowserThread::IO, FROM_HERE, 89 BrowserThread::IO, FROM_HERE,
87 base::Bind(&SSLClientCertificateSelectorTest::CleanUpOnIOThread, this)); 90 base::Bind(&SSLClientCertificateSelectorTest::CleanUpOnIOThread, this));
88 91
89 io_loop_finished_event_.Wait(); 92 io_loop_finished_event_.Wait();
90 93
91 auth_handler_ = NULL; 94 auth_requestor_ = NULL;
92 } 95 }
93 96
94 virtual void CleanUpOnIOThread() { 97 virtual void CleanUpOnIOThread() {
95 delete url_request_; 98 delete url_request_;
96 99
97 io_loop_finished_event_.Signal(); 100 io_loop_finished_event_.Signal();
98 } 101 }
99 102
100 protected: 103 protected:
101 net::URLRequest* MakeURLRequest( 104 net::URLRequest* MakeURLRequest(
102 net::URLRequestContextGetter* context_getter) { 105 net::URLRequestContextGetter* context_getter) {
103 net::URLRequest* request = new net::URLRequest(GURL("https://example"), 106 net::URLRequest* request = new net::URLRequest(GURL("https://example"),
104 NULL); 107 NULL);
105 request->set_context(context_getter->GetURLRequestContext()); 108 request->set_context(context_getter->GetURLRequestContext());
106 return request; 109 return request;
107 } 110 }
108 111
109 base::WaitableEvent io_loop_finished_event_; 112 base::WaitableEvent io_loop_finished_event_;
110 113
111 scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_; 114 scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_;
112 net::URLRequest* url_request_; 115 net::URLRequest* url_request_;
113 116
114 scoped_refptr<net::X509Certificate> mit_davidben_cert_; 117 scoped_refptr<net::X509Certificate> mit_davidben_cert_;
115 scoped_refptr<net::X509Certificate> foaf_me_chromium_test_cert_; 118 scoped_refptr<net::X509Certificate> foaf_me_chromium_test_cert_;
116 scoped_refptr<net::SSLCertRequestInfo> cert_request_info_; 119 scoped_refptr<net::SSLCertRequestInfo> cert_request_info_;
117 scoped_refptr<StrictMock<SSLClientAuthHandlerMock> > auth_handler_; 120 scoped_refptr<StrictMock<SSLClientAuthRequestorMock> > auth_requestor_;
118 // The selector will be deleted when a cert is selected or the tab is closed. 121 // The selector will be deleted when a cert is selected or the tab is closed.
119 SSLClientCertificateSelector* selector_; 122 SSLClientCertificateSelector* selector_;
120 }; 123 };
121 124
122 class SSLClientCertificateSelectorMultiTabTest 125 class SSLClientCertificateSelectorMultiTabTest
123 : public SSLClientCertificateSelectorTest { 126 : public SSLClientCertificateSelectorTest {
124 public: 127 public:
125 virtual void SetUpInProcessBrowserTestFixture() { 128 virtual void SetUpInProcessBrowserTestFixture() {
126 SSLClientCertificateSelectorTest::SetUpInProcessBrowserTestFixture(); 129 SSLClientCertificateSelectorTest::SetUpInProcessBrowserTestFixture();
127 130
(...skipping 15 matching lines...) Expand all
143 AddTabAtIndex(1, GURL("about:blank"), content::PAGE_TRANSITION_LINK); 146 AddTabAtIndex(1, GURL("about:blank"), content::PAGE_TRANSITION_LINK);
144 AddTabAtIndex(2, GURL("about:blank"), content::PAGE_TRANSITION_LINK); 147 AddTabAtIndex(2, GURL("about:blank"), content::PAGE_TRANSITION_LINK);
145 ASSERT_TRUE(NULL != browser()->GetWebContentsAt(0)); 148 ASSERT_TRUE(NULL != browser()->GetWebContentsAt(0));
146 ASSERT_TRUE(NULL != browser()->GetWebContentsAt(1)); 149 ASSERT_TRUE(NULL != browser()->GetWebContentsAt(1));
147 ASSERT_TRUE(NULL != browser()->GetWebContentsAt(2)); 150 ASSERT_TRUE(NULL != browser()->GetWebContentsAt(2));
148 ui_test_utils::WaitForLoadStop(browser()->GetWebContentsAt(1)); 151 ui_test_utils::WaitForLoadStop(browser()->GetWebContentsAt(1));
149 ui_test_utils::WaitForLoadStop(browser()->GetWebContentsAt(2)); 152 ui_test_utils::WaitForLoadStop(browser()->GetWebContentsAt(2));
150 153
151 selector_1_ = new SSLClientCertificateSelector( 154 selector_1_ = new SSLClientCertificateSelector(
152 browser()->GetTabContentsWrapperAt(1), 155 browser()->GetTabContentsWrapperAt(1),
153 cert_request_info_1_, 156 auth_requestor_1_->http_network_session_,
154 auth_handler_1_); 157 auth_requestor_1_->cert_request_info_,
158 base::Bind(&SSLClientAuthRequestorMock::CertificateSelected,
159 auth_requestor_1_));
155 selector_1_->Init(); 160 selector_1_->Init();
156 selector_2_ = new SSLClientCertificateSelector( 161 selector_2_ = new SSLClientCertificateSelector(
157 browser()->GetTabContentsWrapperAt(2), 162 browser()->GetTabContentsWrapperAt(2),
158 cert_request_info_2_, 163 auth_requestor_2_->http_network_session_,
159 auth_handler_2_); 164 auth_requestor_2_->cert_request_info_,
165 base::Bind(&SSLClientAuthRequestorMock::CertificateSelected,
166 auth_requestor_2_));
160 selector_2_->Init(); 167 selector_2_->Init();
161 168
162 EXPECT_EQ(2, browser()->active_index()); 169 EXPECT_EQ(2, browser()->active_index());
163 EXPECT_EQ(mit_davidben_cert_.get(), selector_1_->GetSelectedCert()); 170 EXPECT_EQ(mit_davidben_cert_.get(), selector_1_->GetSelectedCert());
164 EXPECT_EQ(mit_davidben_cert_.get(), selector_2_->GetSelectedCert()); 171 EXPECT_EQ(mit_davidben_cert_.get(), selector_2_->GetSelectedCert());
165 } 172 }
166 173
167 virtual void SetUpOnIOThread() { 174 virtual void SetUpOnIOThread() {
168 url_request_1_ = MakeURLRequest(url_request_context_getter_); 175 url_request_1_ = MakeURLRequest(url_request_context_getter_);
169 url_request_2_ = MakeURLRequest(url_request_context_getter_); 176 url_request_2_ = MakeURLRequest(url_request_context_getter_);
170 177
171 auth_handler_1_ = new StrictMock<SSLClientAuthHandlerMock>( 178 auth_requestor_1_ = new StrictMock<SSLClientAuthRequestorMock>(
172 url_request_1_, 179 url_request_1_,
173 cert_request_info_1_); 180 cert_request_info_1_);
174 auth_handler_2_ = new StrictMock<SSLClientAuthHandlerMock>( 181 auth_requestor_2_ = new StrictMock<SSLClientAuthRequestorMock>(
175 url_request_2_, 182 url_request_2_,
176 cert_request_info_2_); 183 cert_request_info_2_);
177 184
178 SSLClientCertificateSelectorTest::SetUpOnIOThread(); 185 SSLClientCertificateSelectorTest::SetUpOnIOThread();
179 } 186 }
180 187
181 virtual void CleanUpOnMainThread() { 188 virtual void CleanUpOnMainThread() {
182 auth_handler_2_ = NULL; 189 auth_requestor_2_ = NULL;
183 auth_handler_1_ = NULL; 190 auth_requestor_1_ = NULL;
184 SSLClientCertificateSelectorTest::CleanUpOnMainThread(); 191 SSLClientCertificateSelectorTest::CleanUpOnMainThread();
185 } 192 }
186 193
187 virtual void CleanUpOnIOThread() { 194 virtual void CleanUpOnIOThread() {
188 delete url_request_1_; 195 delete url_request_1_;
189 delete url_request_2_; 196 delete url_request_2_;
190 SSLClientCertificateSelectorTest::CleanUpOnIOThread(); 197 SSLClientCertificateSelectorTest::CleanUpOnIOThread();
191 } 198 }
192 199
193 protected: 200 protected:
194 net::URLRequest* url_request_1_; 201 net::URLRequest* url_request_1_;
195 net::URLRequest* url_request_2_; 202 net::URLRequest* url_request_2_;
196 scoped_refptr<net::SSLCertRequestInfo> cert_request_info_1_; 203 scoped_refptr<net::SSLCertRequestInfo> cert_request_info_1_;
197 scoped_refptr<net::SSLCertRequestInfo> cert_request_info_2_; 204 scoped_refptr<net::SSLCertRequestInfo> cert_request_info_2_;
198 scoped_refptr<StrictMock<SSLClientAuthHandlerMock> > auth_handler_1_; 205 scoped_refptr<StrictMock<SSLClientAuthRequestorMock> > auth_requestor_1_;
199 scoped_refptr<StrictMock<SSLClientAuthHandlerMock> > auth_handler_2_; 206 scoped_refptr<StrictMock<SSLClientAuthRequestorMock> > auth_requestor_2_;
200 SSLClientCertificateSelector* selector_1_; 207 SSLClientCertificateSelector* selector_1_;
201 SSLClientCertificateSelector* selector_2_; 208 SSLClientCertificateSelector* selector_2_;
202 }; 209 };
203 210
204 class SSLClientCertificateSelectorMultiProfileTest 211 class SSLClientCertificateSelectorMultiProfileTest
205 : public SSLClientCertificateSelectorTest { 212 : public SSLClientCertificateSelectorTest {
206 public: 213 public:
207 virtual void SetUpInProcessBrowserTestFixture() { 214 virtual void SetUpInProcessBrowserTestFixture() {
208 SSLClientCertificateSelectorTest::SetUpInProcessBrowserTestFixture(); 215 SSLClientCertificateSelectorTest::SetUpInProcessBrowserTestFixture();
209 216
210 cert_request_info_1_ = new net::SSLCertRequestInfo; 217 cert_request_info_1_ = new net::SSLCertRequestInfo;
211 cert_request_info_1_->host_and_port = "foo:123"; 218 cert_request_info_1_->host_and_port = "foo:123";
212 cert_request_info_1_->client_certs.push_back(mit_davidben_cert_); 219 cert_request_info_1_->client_certs.push_back(mit_davidben_cert_);
213 cert_request_info_1_->client_certs.push_back(foaf_me_chromium_test_cert_); 220 cert_request_info_1_->client_certs.push_back(foaf_me_chromium_test_cert_);
214 } 221 }
215 222
216 virtual void SetUpOnMainThread() { 223 virtual void SetUpOnMainThread() {
217 browser_1_ = CreateIncognitoBrowser(); 224 browser_1_ = CreateIncognitoBrowser();
218 url_request_context_getter_1_ = browser_1_->profile()->GetRequestContext(); 225 url_request_context_getter_1_ = browser_1_->profile()->GetRequestContext();
219 226
220 // Also calls SetUpOnIOThread. 227 // Also calls SetUpOnIOThread.
221 SSLClientCertificateSelectorTest::SetUpOnMainThread(); 228 SSLClientCertificateSelectorTest::SetUpOnMainThread();
222 229
223 selector_1_ = new SSLClientCertificateSelector( 230 selector_1_ = new SSLClientCertificateSelector(
224 browser_1_->GetSelectedTabContentsWrapper(), 231 browser_1_->GetSelectedTabContentsWrapper(),
225 cert_request_info_1_, 232 auth_requestor_1_->http_network_session_,
226 auth_handler_1_); 233 auth_requestor_1_->cert_request_info_,
234 base::Bind(&SSLClientAuthRequestorMock::CertificateSelected,
235 auth_requestor_1_));
227 selector_1_->Init(); 236 selector_1_->Init();
228 237
229 EXPECT_EQ(mit_davidben_cert_.get(), selector_1_->GetSelectedCert()); 238 EXPECT_EQ(mit_davidben_cert_.get(), selector_1_->GetSelectedCert());
230 } 239 }
231 240
232 virtual void SetUpOnIOThread() { 241 virtual void SetUpOnIOThread() {
233 url_request_1_ = MakeURLRequest(url_request_context_getter_1_); 242 url_request_1_ = MakeURLRequest(url_request_context_getter_1_);
234 243
235 auth_handler_1_ = new StrictMock<SSLClientAuthHandlerMock>( 244 auth_requestor_1_ = new StrictMock<SSLClientAuthRequestorMock>(
236 url_request_1_, 245 url_request_1_,
237 cert_request_info_1_); 246 cert_request_info_1_);
238 247
239 SSLClientCertificateSelectorTest::SetUpOnIOThread(); 248 SSLClientCertificateSelectorTest::SetUpOnIOThread();
240 } 249 }
241 250
242 virtual void CleanUpOnMainThread() { 251 virtual void CleanUpOnMainThread() {
243 auth_handler_1_ = NULL; 252 auth_requestor_1_ = NULL;
244 SSLClientCertificateSelectorTest::CleanUpOnMainThread(); 253 SSLClientCertificateSelectorTest::CleanUpOnMainThread();
245 } 254 }
246 255
247 virtual void CleanUpOnIOThread() { 256 virtual void CleanUpOnIOThread() {
248 delete url_request_1_; 257 delete url_request_1_;
249 SSLClientCertificateSelectorTest::CleanUpOnIOThread(); 258 SSLClientCertificateSelectorTest::CleanUpOnIOThread();
250 } 259 }
251 260
252 protected: 261 protected:
253 Browser* browser_1_; 262 Browser* browser_1_;
254 scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_1_; 263 scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_1_;
255 net::URLRequest* url_request_1_; 264 net::URLRequest* url_request_1_;
256 scoped_refptr<net::SSLCertRequestInfo> cert_request_info_1_; 265 scoped_refptr<net::SSLCertRequestInfo> cert_request_info_1_;
257 scoped_refptr<StrictMock<SSLClientAuthHandlerMock> > auth_handler_1_; 266 scoped_refptr<StrictMock<SSLClientAuthRequestorMock> > auth_requestor_1_;
258 SSLClientCertificateSelector* selector_1_; 267 SSLClientCertificateSelector* selector_1_;
259 }; 268 };
260 269
261 IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorTest, SelectNone) { 270 IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorTest, SelectNone) {
262 EXPECT_CALL(*auth_handler_, CertificateSelectedNoNotify(NULL)); 271 EXPECT_CALL(*auth_requestor_, CertificateSelected(NULL));
263 272
264 // Let the mock get checked on destruction. 273 // Let the mock get checked on destruction.
265 } 274 }
266 275
267 IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorTest, Escape) { 276 IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorTest, Escape) {
268 EXPECT_CALL(*auth_handler_, CertificateSelectedNoNotify(NULL)); 277 EXPECT_CALL(*auth_requestor_, CertificateSelected(NULL));
269 278
270 EXPECT_TRUE(ui_test_utils::SendKeyPressSync( 279 EXPECT_TRUE(ui_test_utils::SendKeyPressSync(
271 browser(), ui::VKEY_ESCAPE, false, false, false, false)); 280 browser(), ui::VKEY_ESCAPE, false, false, false, false));
272 281
273 Mock::VerifyAndClear(auth_handler_); 282 Mock::VerifyAndClear(auth_requestor_.get());
274 } 283 }
275 284
276 IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorTest, SelectDefault) { 285 IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorTest, SelectDefault) {
277 EXPECT_CALL(*auth_handler_, 286 EXPECT_CALL(*auth_requestor_, CertificateSelected(mit_davidben_cert_.get()));
278 CertificateSelectedNoNotify(mit_davidben_cert_.get()));
279 287
280 EXPECT_TRUE(ui_test_utils::SendKeyPressSync( 288 EXPECT_TRUE(ui_test_utils::SendKeyPressSync(
281 browser(), ui::VKEY_RETURN, false, false, false, false)); 289 browser(), ui::VKEY_RETURN, false, false, false, false));
282 290
283 Mock::VerifyAndClear(auth_handler_); 291 Mock::VerifyAndClear(auth_requestor_.get());
284 } 292 }
285 293
286 IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorMultiTabTest, Escape) { 294 IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorMultiTabTest, Escape) {
287 // auth_handler_1_ should get selected automatically by the 295 // auth_requestor_1_ should get selected automatically by the
288 // SSLClientAuthObserver when selector_2_ is accepted, since both 1 & 2 have 296 // SSLClientAuthObserver when selector_2_ is accepted, since both 1 & 2 have
289 // the same host:port. 297 // the same host:port.
290 EXPECT_CALL(*auth_handler_1_, CertificateSelectedNoNotify(NULL)); 298 EXPECT_CALL(*auth_requestor_1_, CertificateSelected(NULL));
291 EXPECT_CALL(*auth_handler_2_, CertificateSelectedNoNotify(NULL)); 299 EXPECT_CALL(*auth_requestor_2_, CertificateSelected(NULL));
292 300
293 EXPECT_TRUE(ui_test_utils::SendKeyPressSync( 301 EXPECT_TRUE(ui_test_utils::SendKeyPressSync(
294 browser(), ui::VKEY_ESCAPE, false, false, false, false)); 302 browser(), ui::VKEY_ESCAPE, false, false, false, false));
295 303
296 Mock::VerifyAndClear(auth_handler_); 304 Mock::VerifyAndClear(auth_requestor_.get());
297 Mock::VerifyAndClear(auth_handler_1_); 305 Mock::VerifyAndClear(auth_requestor_1_.get());
298 Mock::VerifyAndClear(auth_handler_2_); 306 Mock::VerifyAndClear(auth_requestor_2_.get());
299 307
300 // Now let the default selection for auth_handler_ mock get checked on 308 // Now let the default selection for auth_requestor_ mock get checked on
301 // destruction. 309 // destruction.
302 EXPECT_CALL(*auth_handler_, CertificateSelectedNoNotify(NULL)); 310 EXPECT_CALL(*auth_requestor_, CertificateSelected(NULL));
303 } 311 }
304 312
305 IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorMultiTabTest, SelectSecond) { 313 IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorMultiTabTest, SelectSecond) {
306 // auth_handler_1_ should get selected automatically by the 314 // auth_requestor_1_ should get selected automatically by the
307 // SSLClientAuthObserver when selector_2_ is accepted, since both 1 & 2 have 315 // SSLClientAuthObserver when selector_2_ is accepted, since both 1 & 2 have
308 // the same host:port. 316 // the same host:port.
309 EXPECT_CALL(*auth_handler_1_, 317 EXPECT_CALL(*auth_requestor_1_,
310 CertificateSelectedNoNotify(foaf_me_chromium_test_cert_.get())); 318 CertificateSelected(foaf_me_chromium_test_cert_.get()));
311 EXPECT_CALL(*auth_handler_2_, 319 EXPECT_CALL(*auth_requestor_2_,
312 CertificateSelectedNoNotify(foaf_me_chromium_test_cert_.get())); 320 CertificateSelected(foaf_me_chromium_test_cert_.get()));
313 321
314 EXPECT_TRUE(ui_test_utils::SendKeyPressSync( 322 EXPECT_TRUE(ui_test_utils::SendKeyPressSync(
315 browser(), ui::VKEY_DOWN, false, false, false, false)); 323 browser(), ui::VKEY_DOWN, false, false, false, false));
316 324
317 EXPECT_EQ(mit_davidben_cert_.get(), selector_->GetSelectedCert()); 325 EXPECT_EQ(mit_davidben_cert_.get(), selector_->GetSelectedCert());
318 EXPECT_EQ(mit_davidben_cert_.get(), selector_1_->GetSelectedCert()); 326 EXPECT_EQ(mit_davidben_cert_.get(), selector_1_->GetSelectedCert());
319 EXPECT_EQ(foaf_me_chromium_test_cert_.get(), selector_2_->GetSelectedCert()); 327 EXPECT_EQ(foaf_me_chromium_test_cert_.get(), selector_2_->GetSelectedCert());
320 328
321 EXPECT_TRUE(ui_test_utils::SendKeyPressSync( 329 EXPECT_TRUE(ui_test_utils::SendKeyPressSync(
322 browser(), ui::VKEY_RETURN, false, false, false, false)); 330 browser(), ui::VKEY_RETURN, false, false, false, false));
323 331
324 Mock::VerifyAndClear(auth_handler_); 332 Mock::VerifyAndClear(auth_requestor_.get());
325 Mock::VerifyAndClear(auth_handler_1_); 333 Mock::VerifyAndClear(auth_requestor_1_.get());
326 Mock::VerifyAndClear(auth_handler_2_); 334 Mock::VerifyAndClear(auth_requestor_2_.get());
327 335
328 // Now let the default selection for auth_handler_ mock get checked on 336 // Now let the default selection for auth_requestor_ mock get checked on
329 // destruction. 337 // destruction.
330 EXPECT_CALL(*auth_handler_, CertificateSelectedNoNotify(NULL)); 338 EXPECT_CALL(*auth_requestor_, CertificateSelected(NULL));
331 } 339 }
332 340
333 // http://crbug.com/103529 341 // http://crbug.com/103529
334 IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorMultiProfileTest, 342 IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorMultiProfileTest,
335 FLAKY_Escape) { 343 FLAKY_Escape) {
336 EXPECT_CALL(*auth_handler_1_, CertificateSelectedNoNotify(NULL)); 344 EXPECT_CALL(*auth_requestor_1_, CertificateSelected(NULL));
337 345
338 EXPECT_TRUE(ui_test_utils::SendKeyPressSync( 346 EXPECT_TRUE(ui_test_utils::SendKeyPressSync(
339 browser_1_, ui::VKEY_ESCAPE, false, false, false, false)); 347 browser_1_, ui::VKEY_ESCAPE, false, false, false, false));
340 348
341 Mock::VerifyAndClear(auth_handler_); 349 Mock::VerifyAndClear(auth_requestor_.get());
342 Mock::VerifyAndClear(auth_handler_1_); 350 Mock::VerifyAndClear(auth_requestor_1_.get());
343 351
344 // Now let the default selection for auth_handler_ mock get checked on 352 // Now let the default selection for auth_requestor_ mock get checked on
345 // destruction. 353 // destruction.
346 EXPECT_CALL(*auth_handler_, CertificateSelectedNoNotify(NULL)); 354 EXPECT_CALL(*auth_requestor_, CertificateSelected(NULL));
347 } 355 }
348 356
349 // http://crbug.com/103534 357 // http://crbug.com/103534
350 IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorMultiProfileTest, 358 IN_PROC_BROWSER_TEST_F(SSLClientCertificateSelectorMultiProfileTest,
351 FLAKY_SelectDefault) { 359 FLAKY_SelectDefault) {
352 EXPECT_CALL(*auth_handler_1_, 360 EXPECT_CALL(*auth_requestor_1_,
353 CertificateSelectedNoNotify(mit_davidben_cert_.get())); 361 CertificateSelected(mit_davidben_cert_.get()));
354 362
355 EXPECT_TRUE(ui_test_utils::SendKeyPressSync( 363 EXPECT_TRUE(ui_test_utils::SendKeyPressSync(
356 browser_1_, ui::VKEY_RETURN, false, false, false, false)); 364 browser_1_, ui::VKEY_RETURN, false, false, false, false));
357 365
358 Mock::VerifyAndClear(auth_handler_); 366 Mock::VerifyAndClear(auth_requestor_.get());
359 Mock::VerifyAndClear(auth_handler_1_); 367 Mock::VerifyAndClear(auth_requestor_1_.get());
360 368
361 // Now let the default selection for auth_handler_ mock get checked on 369 // Now let the default selection for auth_requestor_ mock get checked on
362 // destruction. 370 // destruction.
363 EXPECT_CALL(*auth_handler_, CertificateSelectedNoNotify(NULL)); 371 EXPECT_CALL(*auth_requestor_, CertificateSelected(NULL));
364 } 372 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/ssl_client_certificate_selector.cc ('k') | chrome/browser/ui/views/stubs_aura.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698