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

Side by Side Diff: chrome/browser/signin/oauth2_token_service_unittest.cc

Issue 22581003: Handling of multiple concurrent requests from different clients in OAuth2TokenService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 4 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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 <string> 5 #include <string>
6 6
7 #include "base/run_loop.h" 7 #include "base/run_loop.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "chrome/browser/chrome_notification_types.h" 9 #include "chrome/browser/chrome_notification_types.h"
10 #include "chrome/browser/signin/oauth2_token_service.h" 10 #include "chrome/browser/signin/oauth2_token_service.h"
(...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 oauth2_service_->CancelRequestsForTokenForTest("refreshToken"); 516 oauth2_service_->CancelRequestsForTokenForTest("refreshToken");
517 517
518 EXPECT_EQ(0, consumer_.number_of_successful_tokens_); 518 EXPECT_EQ(0, consumer_.number_of_successful_tokens_);
519 EXPECT_EQ(2, consumer_.number_of_errors_); 519 EXPECT_EQ(2, consumer_.number_of_errors_);
520 520
521 oauth2_service_->CancelRequestsForTokenForTest("refreshToken2"); 521 oauth2_service_->CancelRequestsForTokenForTest("refreshToken2");
522 522
523 EXPECT_EQ(0, consumer_.number_of_successful_tokens_); 523 EXPECT_EQ(0, consumer_.number_of_successful_tokens_);
524 EXPECT_EQ(3, consumer_.number_of_errors_); 524 EXPECT_EQ(3, consumer_.number_of_errors_);
525 } 525 }
526
527 #if defined(OS_CHROMEOS)
528 TEST_F(OAuth2TokenServiceTest, SameScopesRequestedForDifferentClients) {
529 std::string client_id_1("client1");
530 std::string client_secret_1("secret1");
531 std::string client_id_2("client2");
532 std::string client_secret_2("secret2");
533 std::set<std::string> scope_set;
534 scope_set.insert("scope1");
535 scope_set.insert("scope2");
536
537 oauth2_service_->set_refresh_token("refreshToken");
538
539 scoped_ptr<OAuth2TokenService::Request> request1(
540 oauth2_service_->StartRequestForClient(client_id_1,
541 client_secret_1,
542 scope_set,
543 &consumer_));
544 scoped_ptr<OAuth2TokenService::Request> request2(
545 oauth2_service_->StartRequestForClient(client_id_2,
546 client_secret_2,
547 scope_set,
548 &consumer_));
549 // Start a request that should be duplicate of |request1|.
550 scoped_ptr<OAuth2TokenService::Request> request3(
551 oauth2_service_->StartRequestForClient(client_id_1,
552 client_secret_1,
553 scope_set,
554 &consumer_));
555 base::RunLoop().RunUntilIdle();
556
557 // Check to make sure we have started exactly two fetchers.
558 net::TestURLFetcher* fetcher1 = factory_.GetFetcherByID(0);
559 ASSERT_TRUE(fetcher1);
560 net::TestURLFetcher* fetcher2 = factory_.GetFetcherByID(1);
561 ASSERT_TRUE(fetcher2);
562 EXPECT_FALSE(factory_.GetFetcherByID(2));
(NOT FOR CODE REVIEWS) 2013/08/07 19:56:49 Instead of this, why not expose a method like GetF
zel 2013/08/08 20:56:20 The biggest problem here was that |factory_| imple
Roger Tawa OOO till Jul 10th 2013/08/09 14:22:14 I meant putting these methods on OAuth2TokenServic
zel 2013/08/15 01:26:42 OK, check it out now... way more stuff needed to b
563
564 fetcher1->set_response_code(net::HTTP_OK);
565 fetcher1->SetResponseString(GetValidTokenResponse("token1", 3600));
566 fetcher1->delegate()->OnURLFetchComplete(fetcher1);
567
568 fetcher2->set_response_code(net::HTTP_OK);
569 fetcher2->SetResponseString(GetValidTokenResponse("token2", 3600));
570 fetcher2->delegate()->OnURLFetchComplete(fetcher2);
571
572 EXPECT_EQ(3, consumer_.number_of_successful_tokens_);
573 EXPECT_EQ(0, consumer_.number_of_errors_);
574 }
575 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698