1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_APPS_EPHEMERAL_APP_BROWSERTEST_H_
6 #define CHROME_BROWSER_APPS_EPHEMERAL_APP_BROWSERTEST_H_
10 #include "base/files/file_path.h"
11 #include "chrome/browser/apps/app_browsertest_util.h"
12 #include "extensions/common/manifest.h"
18 // Contains common code for ephemeral app browser tests.
19 class EphemeralAppTestBase
: public extensions::PlatformAppBrowserTest
{
21 static const char kMessagingReceiverApp
[];
22 static const char kMessagingReceiverAppV2
[];
23 static const char kDispatchEventTestApp
[];
24 static const char kNotificationsTestApp
[];
25 static const char kFileSystemTestApp
[];
27 EphemeralAppTestBase();
28 ~EphemeralAppTestBase() override
;
30 void SetUpCommandLine(base::CommandLine
* command_line
) override
;
31 void SetUpOnMainThread() override
;
34 base::FilePath
GetTestPath(const char* test_path
);
36 const extensions::Extension
* InstallEphemeralApp(
37 const char* test_path
, extensions::Manifest::Location manifest_location
);
38 const extensions::Extension
* InstallEphemeralApp(const char* test_path
);
39 const extensions::Extension
* InstallAndLaunchEphemeralApp(
40 const char* test_path
);
41 const extensions::Extension
* UpdateEphemeralApp(
42 const std::string
& app_id
,
43 const base::FilePath
& test_dir
,
44 const base::FilePath
& pem_path
);
45 void PromoteEphemeralApp(const extensions::Extension
* app
);
46 void DisableEphemeralApp(const extensions::Extension
* app
,
47 extensions::Extension::DisableReason disable_reason
);
49 void CloseAppWaitForUnload(const std::string
& app_id
);
50 void CloseApp(const std::string
& app_id
);
51 void EvictApp(const std::string
& app_id
);
54 #endif // CHROME_BROWSER_APPS_EPHEMERAL_APP_BROWSERTEST_H_