1 // Copyright 2013 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. 4 5 #ifndef CHROME_BROWSER_EXTENSIONS_WEBSTORE_INSTALLER_TEST_H_ 6 #define CHROME_BROWSER_EXTENSIONS_WEBSTORE_INSTALLER_TEST_H_ 7 8 #include <string> 9 10 #include "base/files/scoped_temp_dir.h" 11 #include "chrome/browser/extensions/extension_browsertest.h" 12 #include "url/gurl.h" 13 14 namespace base { 15 class CommandLine; 16 } // namespace base 17 18 class WebstoreInstallerTest : public ExtensionBrowserTest { 19 public: 20 WebstoreInstallerTest(const std::string& webstore_domain, 21 const std::string& test_data_path, 22 const std::string& crx_filename, 23 const std::string& verified_domain, 24 const std::string& unverified_domain); 25 virtual ~WebstoreInstallerTest(); 26 27 virtual void SetUpCommandLine(base::CommandLine* command_line) OVERRIDE; 28 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE; 29 virtual void SetUpOnMainThread() OVERRIDE; 30 31 protected: 32 GURL GenerateTestServerUrl(const std::string& domain, 33 const std::string& page_filename); 34 35 void RunTest(const std::string& test_function_name); 36 37 // Passes |i| to |test_function_name|, and expects that function to 38 // return one of "FAILED", "KEEPGOING" or "DONE". KEEPGOING should be 39 // returned if more tests remain to be run and the current test succeeded, 40 // FAILED is returned when a test fails, and DONE is returned by the last 41 // test if it succeeds. 42 // This methods returns true iff there are more tests that need to be run. 43 bool RunIndexedTest(const std::string& test_function_name, int i); 44 45 // Runs a test without waiting for any results from the renderer. 46 void RunTestAsync(const std::string& test_function_name); 47 48 // Configures command line switches to simulate a user accepting the install 49 // prompt. 50 void AutoAcceptInstall(); 51 52 // Configures command line switches to simulate a user cancelling the install 53 // prompt. 54 void AutoCancelInstall(); 55 56 std::string webstore_domain_; 57 std::string test_data_path_; 58 std::string crx_filename_; 59 std::string verified_domain_; 60 std::string unverified_domain_; 61 std::string test_gallery_url_; 62 63 base::ScopedTempDir download_directory_; 64 }; 65 66 #endif // CHROME_BROWSER_EXTENSIONS_WEBSTORE_INSTALLER_TEST_H_ 67