OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/bind.h" | 6 #include "base/bind.h" |
7 #include "base/callback.h" | 7 #include "base/callback.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
11 #include "base/message_loop/message_loop.h" | 11 #include "base/message_loop/message_loop.h" |
12 #include "chrome/browser/local_discovery/test_service_discovery_client.h" | 12 #include "chrome/browser/local_discovery/test_service_discovery_client.h" |
13 #include "chrome/browser/signin/profile_oauth2_token_service.h" | 13 #include "chrome/browser/signin/profile_oauth2_token_service.h" |
14 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" | 14 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" |
15 #include "chrome/browser/signin/signin_manager.h" | 15 #include "chrome/browser/signin/signin_manager.h" |
16 #include "chrome/browser/signin/signin_manager_base.h" | 16 #include "chrome/browser/signin/signin_manager_base.h" |
17 #include "chrome/browser/signin/signin_manager_factory.h" | 17 #include "chrome/browser/signin/signin_manager_factory.h" |
18 #include "chrome/browser/ui/webui/local_discovery/local_discovery_ui_handler.h" | 18 #include "chrome/browser/ui/webui/local_discovery/local_discovery_ui_handler.h" |
19 #include "chrome/common/chrome_switches.h" | 19 #include "chrome/common/chrome_switches.h" |
20 #include "chrome/common/url_constants.h" | 20 #include "chrome/common/url_constants.h" |
21 #include "chrome/test/base/ui_test_utils.cc" | 21 #include "chrome/test/base/ui_test_utils.cc" |
22 #include "chrome/test/base/web_ui_browsertest.h" | 22 #include "chrome/test/base/web_ui_browsertest.h" |
23 #include "net/http/http_status_code.h" | 23 #include "net/http/http_status_code.h" |
24 #include "net/url_request/test_url_fetcher_factory.h" | 24 #include "net/url_request/test_url_fetcher_factory.h" |
| 25 #include "net/url_request/url_request_status.h" |
25 #include "net/url_request/url_request_test_util.h" | 26 #include "net/url_request/url_request_test_util.h" |
26 | 27 |
27 using testing::InvokeWithoutArgs; | 28 using testing::InvokeWithoutArgs; |
28 using testing::Return; | 29 using testing::Return; |
29 using testing::AtLeast; | 30 using testing::AtLeast; |
30 using testing::DoDefault; | 31 using testing::DoDefault; |
31 using testing::DoAll; | 32 using testing::DoAll; |
32 using testing::InSequence; | 33 using testing::InSequence; |
33 using testing::StrictMock; | 34 using testing::StrictMock; |
34 using testing::AnyNumber; | 35 using testing::AnyNumber; |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
287 | 288 |
288 ~MockableFakeURLFetcherCreator() { | 289 ~MockableFakeURLFetcherCreator() { |
289 } | 290 } |
290 | 291 |
291 MOCK_METHOD1(OnCreateFakeURLFetcher, void(const std::string& url)); | 292 MOCK_METHOD1(OnCreateFakeURLFetcher, void(const std::string& url)); |
292 | 293 |
293 scoped_ptr<net::FakeURLFetcher> CreateFakeURLFetcher( | 294 scoped_ptr<net::FakeURLFetcher> CreateFakeURLFetcher( |
294 const GURL& url, | 295 const GURL& url, |
295 net::URLFetcherDelegate* delegate, | 296 net::URLFetcherDelegate* delegate, |
296 const std::string& response_data, | 297 const std::string& response_data, |
297 net::HttpStatusCode response_code) { | 298 net::HttpStatusCode response_code, |
| 299 net::URLRequestStatus::Status status) { |
298 OnCreateFakeURLFetcher(url.spec()); | 300 OnCreateFakeURLFetcher(url.spec()); |
299 return scoped_ptr<net::FakeURLFetcher>( | 301 return scoped_ptr<net::FakeURLFetcher>(new net::FakeURLFetcher( |
300 new net::FakeURLFetcher(url, delegate, response_data, response_code)); | 302 url, delegate, response_data, response_code, status)); |
301 } | 303 } |
302 | 304 |
303 net::FakeURLFetcherFactory::FakeURLFetcherCreator callback() { | 305 net::FakeURLFetcherFactory::FakeURLFetcherCreator callback() { |
304 return base::Bind(&MockableFakeURLFetcherCreator::CreateFakeURLFetcher, | 306 return base::Bind(&MockableFakeURLFetcherCreator::CreateFakeURLFetcher, |
305 base::Unretained(this)); | 307 base::Unretained(this)); |
306 } | 308 } |
307 }; | 309 }; |
308 | 310 |
309 class LocalDiscoveryUITest : public WebUIBrowserTest { | 311 class LocalDiscoveryUITest : public WebUIBrowserTest { |
310 public: | 312 public: |
(...skipping 19 matching lines...) Expand all Loading... |
330 | 332 |
331 SigninManagerBase* signin_manager = | 333 SigninManagerBase* signin_manager = |
332 SigninManagerFactory::GetForProfile(browser()->profile()); | 334 SigninManagerFactory::GetForProfile(browser()->profile()); |
333 | 335 |
334 DCHECK(signin_manager); | 336 DCHECK(signin_manager); |
335 signin_manager->SetAuthenticatedUsername(kSampleUser); | 337 signin_manager->SetAuthenticatedUsername(kSampleUser); |
336 | 338 |
337 fake_fetcher_factory().SetFakeResponse( | 339 fake_fetcher_factory().SetFakeResponse( |
338 GURL(kURLInfo), | 340 GURL(kURLInfo), |
339 kResponseInfo, | 341 kResponseInfo, |
340 net::HTTP_OK); | 342 net::HTTP_OK, |
| 343 net::URLRequestStatus::SUCCESS); |
341 | 344 |
342 fake_fetcher_factory().SetFakeResponse( | 345 fake_fetcher_factory().SetFakeResponse( |
343 GURL(kURLRegisterStart), | 346 GURL(kURLRegisterStart), |
344 kResponseRegisterStart, | 347 kResponseRegisterStart, |
345 net::HTTP_OK); | 348 net::HTTP_OK, |
| 349 net::URLRequestStatus::SUCCESS); |
346 | 350 |
347 fake_fetcher_factory().SetFakeResponse( | 351 fake_fetcher_factory().SetFakeResponse( |
348 GURL(kURLRegisterClaimToken), | 352 GURL(kURLRegisterClaimToken), |
349 kResponseRegisterClaimTokenNoConfirm, | 353 kResponseRegisterClaimTokenNoConfirm, |
350 net::HTTP_OK); | 354 net::HTTP_OK, |
| 355 net::URLRequestStatus::SUCCESS); |
351 | 356 |
352 fake_fetcher_factory().SetFakeResponse( | 357 fake_fetcher_factory().SetFakeResponse( |
353 GURL(kURLCloudPrintConfirm), | 358 GURL(kURLCloudPrintConfirm), |
354 kResponseCloudPrintConfirm, | 359 kResponseCloudPrintConfirm, |
355 net::HTTP_OK); | 360 net::HTTP_OK, |
| 361 net::URLRequestStatus::SUCCESS); |
356 | 362 |
357 fake_fetcher_factory().SetFakeResponse( | 363 fake_fetcher_factory().SetFakeResponse( |
358 GURL(kURLRegisterComplete), | 364 GURL(kURLRegisterComplete), |
359 kResponseRegisterComplete, | 365 kResponseRegisterComplete, |
360 net::HTTP_OK); | 366 net::HTTP_OK, |
| 367 net::URLRequestStatus::SUCCESS); |
361 | 368 |
362 fake_fetcher_factory().SetFakeResponse( | 369 fake_fetcher_factory().SetFakeResponse( |
363 GURL(kURLGaiaToken), | 370 GURL(kURLGaiaToken), |
364 kResponseGaiaToken, | 371 kResponseGaiaToken, |
365 net::HTTP_OK); | 372 net::HTTP_OK, |
| 373 net::URLRequestStatus::SUCCESS); |
366 | 374 |
367 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( | 375 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( |
368 kURLGaiaToken)) | 376 kURLGaiaToken)) |
369 .Times(AnyNumber()); | 377 .Times(AnyNumber()); |
370 | 378 |
371 ProfileOAuth2TokenService* token_service = | 379 ProfileOAuth2TokenService* token_service = |
372 ProfileOAuth2TokenServiceFactory::GetForProfile(browser()->profile()); | 380 ProfileOAuth2TokenServiceFactory::GetForProfile(browser()->profile()); |
373 | 381 |
374 token_service->UpdateCredentials("user@host.com", "MyFakeToken"); | 382 token_service->UpdateCredentials("user@host.com", "MyFakeToken"); |
375 | 383 |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
475 | 483 |
476 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("registerBegin")); | 484 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("registerBegin")); |
477 | 485 |
478 condition_token_claimed.Wait(); | 486 condition_token_claimed.Wait(); |
479 | 487 |
480 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("expectPageAdding1")); | 488 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("expectPageAdding1")); |
481 | 489 |
482 fake_fetcher_factory().SetFakeResponse( | 490 fake_fetcher_factory().SetFakeResponse( |
483 GURL(kURLRegisterClaimToken), | 491 GURL(kURLRegisterClaimToken), |
484 kResponseRegisterClaimTokenConfirm, | 492 kResponseRegisterClaimTokenConfirm, |
485 net::HTTP_OK); | 493 net::HTTP_OK, |
| 494 net::URLRequestStatus::SUCCESS); |
486 | 495 |
487 fake_fetcher_factory().SetFakeResponse( | 496 fake_fetcher_factory().SetFakeResponse( |
488 GURL(kURLInfo), | 497 GURL(kURLInfo), |
489 kResponseInfoWithID, | 498 kResponseInfoWithID, |
490 net::HTTP_OK); | 499 net::HTTP_OK, |
| 500 net::URLRequestStatus::SUCCESS); |
491 | 501 |
492 { | 502 { |
493 InSequence s; | 503 InSequence s; |
494 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( | 504 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( |
495 kURLRegisterClaimToken)); | 505 kURLRegisterClaimToken)); |
496 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( | 506 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( |
497 kURLCloudPrintConfirm)); | 507 kURLCloudPrintConfirm)); |
498 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( | 508 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( |
499 kURLRegisterComplete)); | 509 kURLRegisterComplete)); |
500 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher(kURLInfo)) | 510 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher(kURLInfo)) |
501 .WillOnce(InvokeWithoutArgs(&condition_token_claimed, | 511 .WillOnce(InvokeWithoutArgs(&condition_token_claimed, |
502 &TestMessageLoopCondition::Signal)); | 512 &TestMessageLoopCondition::Signal)); |
503 } | 513 } |
504 | 514 |
505 condition_token_claimed.Wait(); | 515 condition_token_claimed.Wait(); |
506 | 516 |
507 test_service_discovery_client()->SimulateReceive( | 517 test_service_discovery_client()->SimulateReceive( |
508 kAnnouncePacketRegistered, sizeof(kAnnouncePacketRegistered)); | 518 kAnnouncePacketRegistered, sizeof(kAnnouncePacketRegistered)); |
509 | 519 |
510 base::MessageLoop::current()->RunUntilIdle(); | 520 base::MessageLoop::current()->RunUntilIdle(); |
511 | 521 |
512 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("expectRegisterDone")); | 522 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("expectRegisterDone")); |
513 } | 523 } |
514 | 524 |
515 } // namespace | 525 } // namespace |
516 | 526 |
517 } // namespace local_discovery | 527 } // namespace local_discovery |
OLD | NEW |