| 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::URLRequestStatus request_status) { |
| 298 OnCreateFakeURLFetcher(url.spec()); | 299 OnCreateFakeURLFetcher(url.spec()); |
| 299 return scoped_ptr<net::FakeURLFetcher>( | 300 return scoped_ptr<net::FakeURLFetcher>( |
| 300 new net::FakeURLFetcher(url, delegate, response_data, response_code)); | 301 new net::FakeURLFetcher(url, delegate, response_data, request_status)); |
| 301 } | 302 } |
| 302 | 303 |
| 303 net::FakeURLFetcherFactory::FakeURLFetcherCreator callback() { | 304 net::FakeURLFetcherFactory::FakeURLFetcherCreator callback() { |
| 304 return base::Bind(&MockableFakeURLFetcherCreator::CreateFakeURLFetcher, | 305 return base::Bind(&MockableFakeURLFetcherCreator::CreateFakeURLFetcher, |
| 305 base::Unretained(this)); | 306 base::Unretained(this)); |
| 306 } | 307 } |
| 307 }; | 308 }; |
| 308 | 309 |
| 309 class LocalDiscoveryUITest : public WebUIBrowserTest { | 310 class LocalDiscoveryUITest : public WebUIBrowserTest { |
| 310 public: | 311 public: |
| (...skipping 19 matching lines...) Expand all Loading... |
| 330 | 331 |
| 331 SigninManagerBase* signin_manager = | 332 SigninManagerBase* signin_manager = |
| 332 SigninManagerFactory::GetForProfile(browser()->profile()); | 333 SigninManagerFactory::GetForProfile(browser()->profile()); |
| 333 | 334 |
| 334 DCHECK(signin_manager); | 335 DCHECK(signin_manager); |
| 335 signin_manager->SetAuthenticatedUsername(kSampleUser); | 336 signin_manager->SetAuthenticatedUsername(kSampleUser); |
| 336 | 337 |
| 337 fake_fetcher_factory().SetFakeResponse( | 338 fake_fetcher_factory().SetFakeResponse( |
| 338 GURL(kURLInfo), | 339 GURL(kURLInfo), |
| 339 kResponseInfo, | 340 kResponseInfo, |
| 340 net::HTTP_OK); | 341 net::HTTP_OK, |
| 342 net::URLRequestStatus::SUCCESS); |
| 341 | 343 |
| 342 fake_fetcher_factory().SetFakeResponse( | 344 fake_fetcher_factory().SetFakeResponse( |
| 343 GURL(kURLRegisterStart), | 345 GURL(kURLRegisterStart), |
| 344 kResponseRegisterStart, | 346 kResponseRegisterStart, |
| 345 net::HTTP_OK); | 347 net::HTTP_OK, |
| 348 net::URLRequestStatus::SUCCESS); |
| 346 | 349 |
| 347 fake_fetcher_factory().SetFakeResponse( | 350 fake_fetcher_factory().SetFakeResponse( |
| 348 GURL(kURLRegisterClaimToken), | 351 GURL(kURLRegisterClaimToken), |
| 349 kResponseRegisterClaimTokenNoConfirm, | 352 kResponseRegisterClaimTokenNoConfirm, |
| 350 net::HTTP_OK); | 353 net::HTTP_OK, |
| 354 net::URLRequestStatus::SUCCESS); |
| 351 | 355 |
| 352 fake_fetcher_factory().SetFakeResponse( | 356 fake_fetcher_factory().SetFakeResponse( |
| 353 GURL(kURLCloudPrintConfirm), | 357 GURL(kURLCloudPrintConfirm), |
| 354 kResponseCloudPrintConfirm, | 358 kResponseCloudPrintConfirm, |
| 355 net::HTTP_OK); | 359 net::HTTP_OK, |
| 360 net::URLRequestStatus::SUCCESS); |
| 356 | 361 |
| 357 fake_fetcher_factory().SetFakeResponse( | 362 fake_fetcher_factory().SetFakeResponse( |
| 358 GURL(kURLRegisterComplete), | 363 GURL(kURLRegisterComplete), |
| 359 kResponseRegisterComplete, | 364 kResponseRegisterComplete, |
| 360 net::HTTP_OK); | 365 net::HTTP_OK, |
| 366 net::URLRequestStatus::SUCCESS); |
| 361 | 367 |
| 362 fake_fetcher_factory().SetFakeResponse( | 368 fake_fetcher_factory().SetFakeResponse( |
| 363 GURL(kURLGaiaToken), | 369 GURL(kURLGaiaToken), |
| 364 kResponseGaiaToken, | 370 kResponseGaiaToken, |
| 365 net::HTTP_OK); | 371 net::HTTP_OK, |
| 372 net::URLRequestStatus::SUCCESS); |
| 366 | 373 |
| 367 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( | 374 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( |
| 368 kURLGaiaToken)) | 375 kURLGaiaToken)) |
| 369 .Times(AnyNumber()); | 376 .Times(AnyNumber()); |
| 370 | 377 |
| 371 ProfileOAuth2TokenService* token_service = | 378 ProfileOAuth2TokenService* token_service = |
| 372 ProfileOAuth2TokenServiceFactory::GetForProfile(browser()->profile()); | 379 ProfileOAuth2TokenServiceFactory::GetForProfile(browser()->profile()); |
| 373 | 380 |
| 374 token_service->UpdateCredentials("user@host.com", "MyFakeToken"); | 381 token_service->UpdateCredentials("user@host.com", "MyFakeToken"); |
| 375 | 382 |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 475 | 482 |
| 476 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("registerBegin")); | 483 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("registerBegin")); |
| 477 | 484 |
| 478 condition_token_claimed.Wait(); | 485 condition_token_claimed.Wait(); |
| 479 | 486 |
| 480 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("expectPageAdding1")); | 487 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("expectPageAdding1")); |
| 481 | 488 |
| 482 fake_fetcher_factory().SetFakeResponse( | 489 fake_fetcher_factory().SetFakeResponse( |
| 483 GURL(kURLRegisterClaimToken), | 490 GURL(kURLRegisterClaimToken), |
| 484 kResponseRegisterClaimTokenConfirm, | 491 kResponseRegisterClaimTokenConfirm, |
| 485 net::HTTP_OK); | 492 net::HTTP_OK, |
| 493 net::URLRequestStatus::SUCCESS); |
| 486 | 494 |
| 487 fake_fetcher_factory().SetFakeResponse( | 495 fake_fetcher_factory().SetFakeResponse( |
| 488 GURL(kURLInfo), | 496 GURL(kURLInfo), |
| 489 kResponseInfoWithID, | 497 kResponseInfoWithID, |
| 490 net::HTTP_OK); | 498 net::HTTP_OK, |
| 499 net::URLRequestStatus::SUCCESS); |
| 491 | 500 |
| 492 { | 501 { |
| 493 InSequence s; | 502 InSequence s; |
| 494 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( | 503 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( |
| 495 kURLRegisterClaimToken)); | 504 kURLRegisterClaimToken)); |
| 496 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( | 505 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( |
| 497 kURLCloudPrintConfirm)); | 506 kURLCloudPrintConfirm)); |
| 498 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( | 507 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( |
| 499 kURLRegisterComplete)); | 508 kURLRegisterComplete)); |
| 500 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher(kURLInfo)) | 509 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher(kURLInfo)) |
| 501 .WillOnce(InvokeWithoutArgs(&condition_token_claimed, | 510 .WillOnce(InvokeWithoutArgs(&condition_token_claimed, |
| 502 &TestMessageLoopCondition::Signal)); | 511 &TestMessageLoopCondition::Signal)); |
| 503 } | 512 } |
| 504 | 513 |
| 505 condition_token_claimed.Wait(); | 514 condition_token_claimed.Wait(); |
| 506 | 515 |
| 507 test_service_discovery_client()->SimulateReceive( | 516 test_service_discovery_client()->SimulateReceive( |
| 508 kAnnouncePacketRegistered, sizeof(kAnnouncePacketRegistered)); | 517 kAnnouncePacketRegistered, sizeof(kAnnouncePacketRegistered)); |
| 509 | 518 |
| 510 base::MessageLoop::current()->RunUntilIdle(); | 519 base::MessageLoop::current()->RunUntilIdle(); |
| 511 | 520 |
| 512 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("expectRegisterDone")); | 521 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("expectRegisterDone")); |
| 513 } | 522 } |
| 514 | 523 |
| 515 } // namespace | 524 } // namespace |
| 516 | 525 |
| 517 } // namespace local_discovery | 526 } // namespace local_discovery |
| OLD | NEW |