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/url_request/test_url_fetcher_factory.h" | 24 #include "net/url_request/test_url_fetcher_factory.h" |
24 #include "net/url_request/url_request_test_util.h" | 25 #include "net/url_request/url_request_test_util.h" |
25 | 26 |
26 using testing::InvokeWithoutArgs; | 27 using testing::InvokeWithoutArgs; |
27 using testing::Return; | 28 using testing::Return; |
28 using testing::AtLeast; | 29 using testing::AtLeast; |
29 using testing::DoDefault; | 30 using testing::DoDefault; |
30 using testing::DoAll; | 31 using testing::DoAll; |
31 using testing::InSequence; | 32 using testing::InSequence; |
32 using testing::StrictMock; | 33 using testing::StrictMock; |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
285 } | 286 } |
286 | 287 |
287 ~MockableFakeURLFetcherCreator() { | 288 ~MockableFakeURLFetcherCreator() { |
288 } | 289 } |
289 | 290 |
290 MOCK_METHOD1(OnCreateFakeURLFetcher, void(const std::string& url)); | 291 MOCK_METHOD1(OnCreateFakeURLFetcher, void(const std::string& url)); |
291 | 292 |
292 scoped_ptr<net::FakeURLFetcher> CreateFakeURLFetcher( | 293 scoped_ptr<net::FakeURLFetcher> CreateFakeURLFetcher( |
293 const GURL& url, | 294 const GURL& url, |
294 net::URLFetcherDelegate* delegate, | 295 net::URLFetcherDelegate* delegate, |
295 const std::string& response, | 296 const std::string& response_data, |
296 bool success) { | 297 net::HttpStatusCode response_code) { |
297 OnCreateFakeURLFetcher(url.spec()); | 298 OnCreateFakeURLFetcher(url.spec()); |
298 return scoped_ptr<net::FakeURLFetcher>( | 299 return scoped_ptr<net::FakeURLFetcher>( |
299 new net::FakeURLFetcher(url, delegate, response, success)); | 300 new net::FakeURLFetcher(url, delegate, response_data, response_code)); |
300 } | 301 } |
301 | 302 |
302 net::FakeURLFetcherFactory::FakeURLFetcherCreator callback() { | 303 net::FakeURLFetcherFactory::FakeURLFetcherCreator callback() { |
303 return base::Bind(&MockableFakeURLFetcherCreator::CreateFakeURLFetcher, | 304 return base::Bind(&MockableFakeURLFetcherCreator::CreateFakeURLFetcher, |
304 base::Unretained(this)); | 305 base::Unretained(this)); |
305 } | 306 } |
306 }; | 307 }; |
307 | 308 |
308 class LocalDiscoveryUITest : public WebUIBrowserTest { | 309 class LocalDiscoveryUITest : public WebUIBrowserTest { |
309 public: | 310 public: |
(...skipping 19 matching lines...) Expand all Loading... |
329 | 330 |
330 SigninManagerBase* signin_manager = | 331 SigninManagerBase* signin_manager = |
331 SigninManagerFactory::GetForProfile(browser()->profile()); | 332 SigninManagerFactory::GetForProfile(browser()->profile()); |
332 | 333 |
333 DCHECK(signin_manager); | 334 DCHECK(signin_manager); |
334 signin_manager->SetAuthenticatedUsername(kSampleUser); | 335 signin_manager->SetAuthenticatedUsername(kSampleUser); |
335 | 336 |
336 fake_fetcher_factory().SetFakeResponse( | 337 fake_fetcher_factory().SetFakeResponse( |
337 GURL(kURLInfo), | 338 GURL(kURLInfo), |
338 kResponseInfo, | 339 kResponseInfo, |
339 true); | 340 net::HTTP_OK); |
340 | 341 |
341 fake_fetcher_factory().SetFakeResponse( | 342 fake_fetcher_factory().SetFakeResponse( |
342 GURL(kURLRegisterStart), | 343 GURL(kURLRegisterStart), |
343 kResponseRegisterStart, | 344 kResponseRegisterStart, |
344 true); | 345 net::HTTP_OK); |
345 | 346 |
346 fake_fetcher_factory().SetFakeResponse( | 347 fake_fetcher_factory().SetFakeResponse( |
347 GURL(kURLRegisterClaimToken), | 348 GURL(kURLRegisterClaimToken), |
348 kResponseRegisterClaimTokenNoConfirm, | 349 kResponseRegisterClaimTokenNoConfirm, |
349 true); | 350 net::HTTP_OK); |
350 | 351 |
351 fake_fetcher_factory().SetFakeResponse( | 352 fake_fetcher_factory().SetFakeResponse( |
352 GURL(kURLCloudPrintConfirm), | 353 GURL(kURLCloudPrintConfirm), |
353 kResponseCloudPrintConfirm, | 354 kResponseCloudPrintConfirm, |
354 true); | 355 net::HTTP_OK); |
355 | 356 |
356 fake_fetcher_factory().SetFakeResponse( | 357 fake_fetcher_factory().SetFakeResponse( |
357 GURL(kURLRegisterComplete), | 358 GURL(kURLRegisterComplete), |
358 kResponseRegisterComplete, | 359 kResponseRegisterComplete, |
359 true); | 360 net::HTTP_OK); |
360 | 361 |
361 fake_fetcher_factory().SetFakeResponse( | 362 fake_fetcher_factory().SetFakeResponse( |
362 GURL(kURLGaiaToken), | 363 GURL(kURLGaiaToken), |
363 kResponseGaiaToken, | 364 kResponseGaiaToken, |
364 true); | 365 net::HTTP_OK); |
365 | 366 |
366 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( | 367 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( |
367 kURLGaiaToken)) | 368 kURLGaiaToken)) |
368 .Times(AnyNumber()); | 369 .Times(AnyNumber()); |
369 | 370 |
370 ProfileOAuth2TokenService* token_service = | 371 ProfileOAuth2TokenService* token_service = |
371 ProfileOAuth2TokenServiceFactory::GetForProfile(browser()->profile()); | 372 ProfileOAuth2TokenServiceFactory::GetForProfile(browser()->profile()); |
372 | 373 |
373 token_service->UpdateCredentials("user@host.com", "MyFakeToken"); | 374 token_service->UpdateCredentials("user@host.com", "MyFakeToken"); |
374 | 375 |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
474 | 475 |
475 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("registerBegin")); | 476 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("registerBegin")); |
476 | 477 |
477 condition_token_claimed.Wait(); | 478 condition_token_claimed.Wait(); |
478 | 479 |
479 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("expectPageAdding1")); | 480 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("expectPageAdding1")); |
480 | 481 |
481 fake_fetcher_factory().SetFakeResponse( | 482 fake_fetcher_factory().SetFakeResponse( |
482 GURL(kURLRegisterClaimToken), | 483 GURL(kURLRegisterClaimToken), |
483 kResponseRegisterClaimTokenConfirm, | 484 kResponseRegisterClaimTokenConfirm, |
484 true); | 485 net::HTTP_OK); |
485 | 486 |
486 fake_fetcher_factory().SetFakeResponse( | 487 fake_fetcher_factory().SetFakeResponse( |
487 GURL(kURLInfo), | 488 GURL(kURLInfo), |
488 kResponseInfoWithID, | 489 kResponseInfoWithID, |
489 true); | 490 net::HTTP_OK); |
490 | 491 |
491 { | 492 { |
492 InSequence s; | 493 InSequence s; |
493 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( | 494 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( |
494 kURLRegisterClaimToken)); | 495 kURLRegisterClaimToken)); |
495 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( | 496 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( |
496 kURLCloudPrintConfirm)); | 497 kURLCloudPrintConfirm)); |
497 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( | 498 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher( |
498 kURLRegisterComplete)); | 499 kURLRegisterComplete)); |
499 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher(kURLInfo)) | 500 EXPECT_CALL(fake_url_fetcher_creator(), OnCreateFakeURLFetcher(kURLInfo)) |
500 .WillOnce(InvokeWithoutArgs(&condition_token_claimed, | 501 .WillOnce(InvokeWithoutArgs(&condition_token_claimed, |
501 &TestMessageLoopCondition::Signal)); | 502 &TestMessageLoopCondition::Signal)); |
502 } | 503 } |
503 | 504 |
504 condition_token_claimed.Wait(); | 505 condition_token_claimed.Wait(); |
505 | 506 |
506 test_service_discovery_client()->SimulateReceive( | 507 test_service_discovery_client()->SimulateReceive( |
507 kAnnouncePacketRegistered, sizeof(kAnnouncePacketRegistered)); | 508 kAnnouncePacketRegistered, sizeof(kAnnouncePacketRegistered)); |
508 | 509 |
509 base::MessageLoop::current()->RunUntilIdle(); | 510 base::MessageLoop::current()->RunUntilIdle(); |
510 | 511 |
511 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("expectRegisterDone")); | 512 EXPECT_TRUE(WebUIBrowserTest::RunJavascriptTest("expectRegisterDone")); |
512 } | 513 } |
513 | 514 |
514 } // namespace | 515 } // namespace |
515 | 516 |
516 } // namespace local_discovery | 517 } // namespace local_discovery |
OLD | NEW |