Home | History | Annotate | Download | only in extensions
      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/test/base/in_process_browser_test.h"
     12 #include "url/gurl.h"
     13 
     14 namespace base {
     15 class CommandLine;
     16 }  // namespace base
     17 
     18 class WebstoreInstallerTest : public InProcessBrowserTest {
     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   std::string webstore_domain_;
     49   std::string test_data_path_;
     50   std::string crx_filename_;
     51   std::string verified_domain_;
     52   std::string unverified_domain_;
     53   std::string test_gallery_url_;
     54 
     55   base::ScopedTempDir download_directory_;
     56 };
     57 
     58 #endif  // CHROME_BROWSER_EXTENSIONS_WEBSTORE_INSTALLER_TEST_H_
     59