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

Unified Diff: chrome/browser/extensions/extension_webstore_private_browsertest.cc

Issue 7748038: Remove BrowserSignin, as it's not used anywhere. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/extension_webstore_private_api.cc ('k') | chrome/browser/profiles/profile.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/extension_webstore_private_browsertest.cc
diff --git a/chrome/browser/extensions/extension_webstore_private_browsertest.cc b/chrome/browser/extensions/extension_webstore_private_browsertest.cc
deleted file mode 100644
index a82a41c8d87cf92dd4f423ed7063e62108a5057d..0000000000000000000000000000000000000000
--- a/chrome/browser/extensions/extension_webstore_private_browsertest.cc
+++ /dev/null
@@ -1,206 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/string_number_conversions.h"
-#include "base/utf_string_conversions.h"
-#include "chrome/browser/browser_process.h"
-#include "chrome/browser/browser_signin.h"
-#include "chrome/browser/extensions/extension_browsertest.h"
-#include "chrome/browser/extensions/extension_test_message_listener.h"
-#include "chrome/browser/extensions/extension_webstore_private_api.h"
-#include "chrome/browser/net/gaia/token_service.h"
-#include "chrome/browser/profiles/profile_manager.h"
-#include "chrome/browser/sync/profile_sync_service.h"
-#include "chrome/browser/sync/signin_manager.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/common/chrome_switches.h"
-#include "chrome/common/net/gaia/gaia_constants.h"
-#include "chrome/common/url_constants.h"
-#include "chrome/test/base/ui_test_utils.h"
-#include "content/browser/tab_contents/tab_contents.h"
-#include "googleurl/src/gurl.h"
-#include "net/base/mock_host_resolver.h"
-
-using chrome::kHttpScheme;
-using chrome::kStandardSchemeSeparator;
-
-namespace {
-
-const char kTestUrlHostname[] = "www.example.com";
-
-} // namespace
-
-// A fake version of ProfileSyncService used for testing.
-class FakeProfileSyncService : public ProfileSyncService {
- public:
- FakeProfileSyncService()
- : ProfileSyncService(NULL, NULL, new SigninManager(), ""),
- setup_(false) {
- }
- virtual ~FakeProfileSyncService() {}
-
- // Overrides of virtual methods in ProfileSyncService.
- virtual bool HasSyncSetupCompleted() const {
- return setup_;
- }
- virtual void ChangePreferredDataTypes(const syncable::ModelTypeSet& types) {
- types_ = types;
- }
- virtual void GetPreferredDataTypes(syncable::ModelTypeSet* types) const {
- *types = types_;
- }
- virtual void SetSyncSetupCompleted() {
- setup_ = true;
- }
-
- private:
- bool setup_;
- syncable::ModelTypeSet types_;
-};
-
-class FakeBrowserSignin : public BrowserSignin {
- public:
- // The |username_after_login| parameter determines what this fake
- // BrowserSignin will set the username to when ShowLoginDialog is called.
- FakeBrowserSignin(bool should_succeed,
- const std::string& initial_username,
- const std::string& username_after_login)
- : BrowserSignin(NULL),
- should_succeed_(should_succeed),
- username_(initial_username),
- username_after_login_(username_after_login) {
- }
- virtual ~FakeBrowserSignin() {}
-
- virtual std::string GetSignedInUsername() const {
- return username_;
- }
-
- virtual void RequestSignin(TabContents* tab_contents,
- const string16& preferred_email,
- const string16& message,
- SigninDelegate* delegate) {
- if (should_succeed_) {
- // Simulate valid login.
- username_ = username_after_login_;
- delegate->OnLoginSuccess();
-
- // Fake a token available notification.
- Profile* profile = Profile::FromBrowserContext(
- tab_contents->browser_context())->GetOriginalProfile();
- TokenService* token_service = profile->GetTokenService();
- token_service->IssueAuthTokenForTest(GaiaConstants::kGaiaService,
- "new_token");
- } else {
- delegate->OnLoginFailure(GoogleServiceAuthError(
- GoogleServiceAuthError::REQUEST_CANCELED));
- }
- }
-
- private:
- bool should_succeed_;
- std::string username_;
- std::string username_after_login_;
-};
-
-class ExtensionWebstorePrivateBrowserTest : public ExtensionBrowserTest {
- public:
- ExtensionWebstorePrivateBrowserTest() {
- test_url_base_ = std::string() + kHttpScheme + kStandardSchemeSeparator +
- kTestUrlHostname;
- }
-
- void SetUpCommandLine(CommandLine* command_line) {
- ExtensionBrowserTest::SetUpCommandLine(command_line);
- command_line->AppendSwitchASCII(switches::kAppsGalleryURL, test_url_base_);
- }
-
- // This generates a regular test server url pointing to a test file at
- // |relative_path|, but replaces the hostname with kTestUrlHostname so that
- // we get the webstore private APIs injected (this happens because of the
- // command line switch we added in SetupCommandLine).
- GURL GetUrl(const std::string& relative_path) {
- GURL base_url = test_server()->GetURL(
- "files/extensions/webstore_private/" + relative_path);
- GURL::Replacements replacements;
- std::string replacement_host = std::string(kTestUrlHostname);
- replacements.SetHostStr(replacement_host);
- return base_url.ReplaceComponents(replacements);
- }
-
- void RunLoginTestImpl(bool incognito,
- const std::string& relative_path,
- const std::string& initial_login,
- bool login_succeeds,
- const std::string& login_result) {
- // Clear the token service so previous tests don't affect things.
- TokenService* token_service = browser()->profile()->GetTokenService();
- token_service->ResetCredentialsInMemory();
- if (!initial_login.empty()) {
- // Initialize the token service with an existing token.
- token_service->IssueAuthTokenForTest(GaiaConstants::kGaiaService,
- "existing_token");
- }
-
- FakeProfileSyncService sync_service;
- FakeBrowserSignin signin(login_succeeds, initial_login, login_result);
- WebstorePrivateApi::SetTestingProfileSyncService(&sync_service);
- WebstorePrivateApi::SetTestingBrowserSignin(&signin);
-
- ExtensionTestMessageListener listener("success", false);
- GURL url = GetUrl(relative_path);
- if (incognito) {
- ui_test_utils::OpenURLOffTheRecord(browser()->profile(), url);
- } else {
- ui_test_utils::NavigateToURL(browser(), url);
- }
- EXPECT_TRUE(listener.WaitUntilSatisfied());
-
- WebstorePrivateApi::SetTestingBrowserSignin(NULL);
- WebstorePrivateApi::SetTestingProfileSyncService(NULL);
- }
-
- void RunLoginTest(const std::string& relative_path,
- const std::string& initial_login,
- bool login_succeeds,
- const std::string& login_result) {
- RunLoginTestImpl(true,
- relative_path,
- initial_login,
- login_succeeds,
- login_result);
- RunLoginTestImpl(false,
- relative_path,
- initial_login,
- login_succeeds,
- login_result);
- }
-
- protected:
- std::string test_url_base_;
-};
-
-// TODO(asargent) I've added some extra logging to this test since we've seen a
-// few failures on the bots lately. See crbug.com/91753 for details.
-IN_PROC_BROWSER_TEST_F(ExtensionWebstorePrivateBrowserTest, BrowserLogin) {
- LOG(INFO) << "Adding rule to host resolver";
- host_resolver()->AddRule(kTestUrlHostname, "127.0.0.1");
-
- LOG(INFO) << "Starting test server";
- ASSERT_TRUE(test_server()->Start());
-
- LOG(INFO) << "expect_nonempty.html";
- RunLoginTest("browser_login/expect_nonempty.html",
- "foo@bar.com", false, "");
-
- LOG(INFO) << "prompt_no_preferred.html";
- RunLoginTest("browser_login/prompt_no_preferred.html", "", true, "");
-
- LOG(INFO) << "prompt_preferred.html";
- RunLoginTest("browser_login/prompt_preferred.html", "", true, "foo@bar.com");
-
- LOG(INFO) << "prompt_login_fails.html";
- RunLoginTest("browser_login/prompt_login_fails.html",
- "", false, "foo@bar.com");
-}
« no previous file with comments | « chrome/browser/extensions/extension_webstore_private_api.cc ('k') | chrome/browser/profiles/profile.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698