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

Side by Side Diff: chrome/browser/ui/webui/local_discovery/local_discovery_ui_browsertest.cc

Issue 48713008: [sync] Allow FakeURLFetcher to return arbitrary HTTP response codes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 1 month 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 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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698