blob: 1e47b9de0ddea3fe7639f24d5bc9e1e1af9ef49b [file] [log] [blame]
// Copyright 2014 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.
#ifndef CHROME_BROWSER_APPS_EPHEMERAL_APP_BROWSERTEST_H_
#define CHROME_BROWSER_APPS_EPHEMERAL_APP_BROWSERTEST_H_
#include <string>
#include "base/files/file_path.h"
#include "chrome/browser/apps/app_browsertest_util.h"
#include "extensions/common/manifest.h"
namespace base {
class CommandLine;
}
// Contains common code for ephemeral app browser tests.
class EphemeralAppTestBase : public extensions::PlatformAppBrowserTest {
public:
static const char kMessagingReceiverApp[];
static const char kMessagingReceiverAppV2[];
static const char kDispatchEventTestApp[];
static const char kNotificationsTestApp[];
static const char kFileSystemTestApp[];
EphemeralAppTestBase();
~EphemeralAppTestBase() override;
void SetUpCommandLine(base::CommandLine* command_line) override;
void SetUpOnMainThread() override;
protected:
base::FilePath GetTestPath(const char* test_path);
const extensions::Extension* InstallEphemeralApp(
const char* test_path, extensions::Manifest::Location manifest_location);
const extensions::Extension* InstallEphemeralApp(const char* test_path);
const extensions::Extension* InstallAndLaunchEphemeralApp(
const char* test_path);
const extensions::Extension* UpdateEphemeralApp(
const std::string& app_id,
const base::FilePath& test_dir,
const base::FilePath& pem_path);
void PromoteEphemeralApp(const extensions::Extension* app);
void DisableEphemeralApp(const extensions::Extension* app,
extensions::Extension::DisableReason disable_reason);
void CloseAppWaitForUnload(const std::string& app_id);
void CloseApp(const std::string& app_id);
void EvictApp(const std::string& app_id);
};
#endif // CHROME_BROWSER_APPS_EPHEMERAL_APP_BROWSERTEST_H_