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

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

Issue 10750010: Add an installType property to the management API (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Forgot to remove param from LoadExtensionWithOptions (sorry) Created 8 years, 5 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
Index: chrome/browser/extensions/extension_management_api_browsertest.cc
diff --git a/chrome/browser/extensions/extension_management_api_browsertest.cc b/chrome/browser/extensions/extension_management_api_browsertest.cc
deleted file mode 100644
index c5409a01fa1c0d5bdf1777cc423c31db252b8960..0000000000000000000000000000000000000000
--- a/chrome/browser/extensions/extension_management_api_browsertest.cc
+++ /dev/null
@@ -1,202 +0,0 @@
-// Copyright (c) 2012 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/command_line.h"
-#include "base/file_path.h"
-#include "base/scoped_temp_dir.h"
-#include "base/string_util.h"
-#include "base/stringprintf.h"
-#include "chrome/browser/extensions/extension_browsertest.h"
-#include "chrome/browser/extensions/extension_function_test_utils.h"
-#include "chrome/browser/extensions/extension_install_dialog.h"
-#include "chrome/browser/extensions/extension_management_api.h"
-#include "chrome/browser/extensions/extension_management_api_constants.h"
-#include "chrome/browser/extensions/extension_service.h"
-#include "chrome/browser/extensions/extension_test_message_listener.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/common/chrome_notification_types.h"
-#include "chrome/common/chrome_switches.h"
-
-namespace keys = extension_management_api_constants;
-namespace util = extension_function_test_utils;
-
-class ExtensionManagementApiBrowserTest : public ExtensionBrowserTest {};
-
-// We test this here instead of in an ExtensionApiTest because normal extensions
-// are not allowed to call the install function.
-IN_PROC_BROWSER_TEST_F(ExtensionManagementApiBrowserTest, InstallEvent) {
- ExtensionTestMessageListener listener1("ready", false);
- ASSERT_TRUE(LoadExtension(
- test_data_dir_.AppendASCII("management/install_event")));
- ASSERT_TRUE(listener1.WaitUntilSatisfied());
-
- ExtensionTestMessageListener listener2("got_event", false);
- ASSERT_TRUE(LoadExtension(
- test_data_dir_.AppendASCII("api_test/management/enabled_extension")));
- ASSERT_TRUE(listener2.WaitUntilSatisfied());
-}
-
-IN_PROC_BROWSER_TEST_F(ExtensionManagementApiBrowserTest, LaunchApp) {
- ExtensionTestMessageListener listener1("app_launched", false);
- ExtensionTestMessageListener listener2("got_expected_error", false);
- ASSERT_TRUE(LoadExtension(
- test_data_dir_.AppendASCII("management/simple_extension")));
- ASSERT_TRUE(LoadExtension(
- test_data_dir_.AppendASCII("management/packaged_app")));
- ASSERT_TRUE(LoadExtension(
- test_data_dir_.AppendASCII("management/launch_app")));
- ASSERT_TRUE(listener1.WaitUntilSatisfied());
- ASSERT_TRUE(listener2.WaitUntilSatisfied());
-}
-
-IN_PROC_BROWSER_TEST_F(ExtensionManagementApiBrowserTest,
- LaunchAppFromBackground) {
- ExtensionTestMessageListener listener1("success", false);
- ASSERT_TRUE(LoadExtension(
- test_data_dir_.AppendASCII("management/packaged_app")));
- ASSERT_TRUE(LoadExtension(
- test_data_dir_.AppendASCII("management/launch_app_from_background")));
- ASSERT_TRUE(listener1.WaitUntilSatisfied());
-}
-
-IN_PROC_BROWSER_TEST_F(ExtensionManagementApiBrowserTest,
- SelfUninstall) {
- ExtensionTestMessageListener listener1("success", false);
- ASSERT_TRUE(LoadExtension(
- test_data_dir_.AppendASCII("management/self_uninstall_helper")));
- ASSERT_TRUE(LoadExtension(
- test_data_dir_.AppendASCII("management/self_uninstall")));
- ASSERT_TRUE(listener1.WaitUntilSatisfied());
-}
-
-IN_PROC_BROWSER_TEST_F(ExtensionManagementApiBrowserTest,
- UninstallWithConfirmDialog) {
- ExtensionService* service = browser()->profile()->GetExtensionService();
-
- // Install an extension.
- const extensions::Extension* extension = InstallExtension(
- test_data_dir_.AppendASCII("api_test/management/enabled_extension"), 1);
- ASSERT_TRUE(extension);
-
- const std::string id = extension->id();
-
- // Uninstall, then cancel via the confirm dialog.
- scoped_refptr<UninstallFunction> uninstall_function(new UninstallFunction());
- UninstallFunction::SetAutoConfirmForTest(false);
-
- EXPECT_TRUE(MatchPattern(
- util::RunFunctionAndReturnError(
- uninstall_function,
- base::StringPrintf("[\"%s\", {\"showConfirmDialog\": true}]",
- id.c_str()),
- browser()),
- keys::kUninstallCanceledError));
-
- // Make sure the extension wasn't uninstalled.
- EXPECT_TRUE(service->GetExtensionById(id, false) != NULL);
-
- // Uninstall, then accept via the confirm dialog.
- uninstall_function = new UninstallFunction();
- UninstallFunction::SetAutoConfirmForTest(true);
-
- util::RunFunctionAndReturnSingleResult(
- uninstall_function,
- base::StringPrintf("[\"%s\", {\"showConfirmDialog\": true}]", id.c_str()),
- browser());
-
- // Make sure the extension was uninstalled.
- EXPECT_TRUE(service->GetExtensionById(id, false) == NULL);
-}
-
-class ExtensionManagementApiEscalationTest : public ExtensionBrowserTest {
- protected:
- // The id of the permissions escalation test extension we use.
- static const char kId[];
-
- virtual void SetUpOnMainThread() OVERRIDE {
- EXPECT_TRUE(scoped_temp_dir_.CreateUniqueTempDir());
- FilePath pem_path = test_data_dir_.
- AppendASCII("permissions_increase").AppendASCII("permissions.pem");
- FilePath path_v1 = PackExtensionWithOptions(
- test_data_dir_.AppendASCII("permissions_increase").AppendASCII("v1"),
- scoped_temp_dir_.path().AppendASCII("permissions1.crx"),
- pem_path,
- FilePath());
- FilePath path_v2 = PackExtensionWithOptions(
- test_data_dir_.AppendASCII("permissions_increase").AppendASCII("v2"),
- scoped_temp_dir_.path().AppendASCII("permissions2.crx"),
- pem_path,
- FilePath());
-
- ExtensionService* service = browser()->profile()->GetExtensionService();
-
- // Install low-permission version of the extension.
- ASSERT_TRUE(InstallExtension(path_v1, 1));
- EXPECT_TRUE(service->GetExtensionById(kId, false) != NULL);
-
- // Update to a high-permission version - it should get disabled.
- EXPECT_FALSE(UpdateExtension(kId, path_v2, -1));
- EXPECT_TRUE(service->GetExtensionById(kId, false) == NULL);
- EXPECT_TRUE(service->GetExtensionById(kId, true) != NULL);
- EXPECT_TRUE(
- service->extension_prefs()->DidExtensionEscalatePermissions(kId));
- }
-
- void ReEnable(bool user_gesture, const std::string& expected_error) {
- scoped_refptr<SetEnabledFunction> function(new SetEnabledFunction);
- if (user_gesture)
- function->set_user_gesture(true);
- bool response = util::RunFunction(
- function.get(),
- base::StringPrintf("[\"%s\", true]", kId),
- browser(),
- util::NONE);
- if (expected_error.empty()) {
- EXPECT_EQ(true, response);
- } else {
- EXPECT_TRUE(response == false);
- EXPECT_EQ(expected_error, function->GetError());
- }
- }
-
- private:
- ScopedTempDir scoped_temp_dir_;
-};
-
-const char ExtensionManagementApiEscalationTest::kId[] =
- "pgdpcfcocojkjfbgpiianjngphoopgmo";
-
-IN_PROC_BROWSER_TEST_F(ExtensionManagementApiEscalationTest,
- DisabledReason) {
- scoped_refptr<GetExtensionByIdFunction> function =
- new GetExtensionByIdFunction();
- scoped_ptr<base::Value> result(util::RunFunctionAndReturnSingleResult(
- function.get(),
- base::StringPrintf("[\"%s\"]", kId),
- browser()));
- ASSERT_TRUE(result.get() != NULL);
- ASSERT_TRUE(result->IsType(base::Value::TYPE_DICTIONARY));
- base::DictionaryValue* dict =
- static_cast<base::DictionaryValue*>(result.get());
- std::string reason;
- EXPECT_TRUE(dict->GetStringASCII(keys::kDisabledReasonKey, &reason));
- EXPECT_EQ(reason, std::string(keys::kDisabledReasonPermissionsIncrease));
-}
-
-IN_PROC_BROWSER_TEST_F(ExtensionManagementApiEscalationTest,
- ReEnable) {
- // Expect an error about no gesture.
- ReEnable(false, keys::kGestureNeededForEscalationError);
-
- // Expect an error that user cancelled the dialog.
- CommandLine::ForCurrentProcess()->AppendSwitchASCII(
- switches::kAppsGalleryInstallAutoConfirmForTests, "cancel");
- ReEnable(true, keys::kUserDidNotReEnableError);
-
- // This should succeed when user accepts dialog.
- CommandLine::ForCurrentProcess()->AppendSwitchASCII(
- switches::kAppsGalleryInstallAutoConfirmForTests, "accept");
- ReEnable(true, "");
-}
« no previous file with comments | « chrome/browser/extensions/extension_management_api.cc ('k') | chrome/browser/extensions/extension_management_api_constants.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698