1 // Copyright 2019 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_CHROMEOS_LOGIN_TEST_EMBEDDED_TEST_SERVER_MIXIN_H_ 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_TEST_EMBEDDED_TEST_SERVER_MIXIN_H_ 7 8 #include "chrome/test/base/mixin_based_in_process_browser_test.h" 9 #include "net/test/embedded_test_server/embedded_test_server.h" 10 11 namespace chromeos { 12 13 // An InProcessBrowserTestMixin that sets up an embedded test server 14 // to serve data from test data directory. 15 class EmbeddedTestServerSetupMixin : public InProcessBrowserTestMixin { 16 public: 17 EmbeddedTestServerSetupMixin(InProcessBrowserTestMixinHost* host, 18 net::EmbeddedTestServer* server); 19 ~EmbeddedTestServerSetupMixin() override; 20 21 // InProcessBrowserTestMixin: 22 void SetUp() override; 23 void TearDownOnMainThread() override; 24 void SetUpOnMainThread() override; 25 26 private: 27 // Path to directory served by embedded test server. 28 base::FilePath test_data_dir_; 29 30 // Embedded test server owned by test that uses this mixin. 31 net::EmbeddedTestServer* embedded_test_server_; 32 33 DISALLOW_COPY_AND_ASSIGN(EmbeddedTestServerSetupMixin); 34 }; 35 36 } // namespace chromeos 37 38 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_TEST_EMBEDDED_TEST_SERVER_MIXIN_H_ 39