Index: chrome/browser/extensions/api/certificate_provider/certificate_provider_apitest.cc |
diff --git a/chrome/browser/extensions/api/certificate_provider/certificate_provider_apitest.cc b/chrome/browser/extensions/api/certificate_provider/certificate_provider_apitest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c8c7f954a7374734d79f905be12183672448e0b8 |
--- /dev/null |
+++ b/chrome/browser/extensions/api/certificate_provider/certificate_provider_apitest.cc |
@@ -0,0 +1,61 @@ |
+// Copyright 2015 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. |
+ |
+#include "base/macros.h" |
+#include "base/memory/scoped_ptr.h" |
+#include "chrome/browser/extensions/extension_apitest.h" |
+#include "chromeos/chromeos_switches.h" |
+#include "content/public/test/test_utils.h" |
+#include "net/base/test_data_directory.h" |
+#include "net/cert/test_root_certs.h" |
+#include "net/test/spawned_test_server/spawned_test_server.h" |
+#include "base/files/file_path.h" |
+#include "net/base/escape.h" |
+#include "chrome/test/base/ui_test_utils.h" |
+ |
+namespace { |
+ |
+class CertificateProviderApiTest : public ExtensionApiTest { |
+ public: |
+ CertificateProviderApiTest() {} |
+ |
+ void SetUp() override { |
+ ExtensionApiTest::SetUp(); |
+ } |
+ |
+ private: |
+}; |
+ |
+} // namespace |
+ |
+IN_PROC_BROWSER_TEST_F(CertificateProviderApiTest, Basic) { |
+ net::SpawnedTestServer::SSLOptions ssl_options; |
+ ssl_options.request_client_certificate = true; |
+/* ssl_options.client_authorities.push_back(base::FilePath(FILE_PATH_LITERAL( |
+ "chrome/test/data/extensions/api_test/certificate_provider/root.pem"))); |
+ */ |
+ net::SpawnedTestServer https_server( |
+ net::SpawnedTestServer::TYPE_HTTPS, ssl_options, |
+ base::FilePath(FILE_PATH_LITERAL("chrome/test/data"))); |
+ ASSERT_TRUE(https_server.Start()); |
+ |
+ ASSERT_TRUE(RunExtensionSubtest("certificate_provider", "basic.html")) |
+ << message_; |
+ |
+ GURL url(https_server.GetURL("client-cert")); |
+ ui_test_utils::NavigateToURLBlockUntilNavigationsComplete( |
+ browser(), url, 1); |
+ |
+ /* |
+ GURL::Replacements replacements; |
+ replacements.SetSchemeStr("https"); |
+ ui_test_utils::NavigateToURLBlockUntilNavigationsComplete( |
+ browser(), https_server.GetURL("files/english_page.html") |
+ .ReplaceComponents(replacements), |
+ 1); |
+ */ |
+ |
+ base::RunLoop loop; |
+ loop.Run(); |
+} |