blob: d30270c0c2fbfe31962ee674e0f7992d9360fce2 [file] [log] [blame]
estarkb1ee1672015-08-06 01:15:241// Copyright 2015 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_SSL_CERT_VERIFIER_BROWSER_TEST_H_
6#define CHROME_BROWSER_SSL_CERT_VERIFIER_BROWSER_TEST_H_
7
estarkb1ee1672015-08-06 01:15:248#include "chrome/test/base/in_process_browser_test.h"
John Abd-El-Malek4f6427c2018-08-23 17:06:089#include "content/public/test/content_mock_cert_verifier.h"
estarkb1ee1672015-08-06 01:15:2410
John Abd-El-Malek4f6427c2018-08-23 17:06:0811// Helper class for use by tests that already derive from
12// InProcessBrowserTest so can't use CertVerifierBrowserTest.
13class ChromeMockCertVerifier : public content::ContentMockCertVerifier {
14 public:
15 ChromeMockCertVerifier();
16 ~ChromeMockCertVerifier() override;
17 void SetUpInProcessBrowserTestFixture() override;
18 void TearDownInProcessBrowserTestFixture() override;
19
20 private:
21 DISALLOW_COPY_AND_ASSIGN(ChromeMockCertVerifier);
22};
estarkb1ee1672015-08-06 01:15:2423
24// CertVerifierBrowserTest allows tests to force certificate
25// verification results for requests made with any profile's main
26// request context (such as navigations). To do so, tests can use the
27// MockCertVerifier exposed via
28// CertVerifierBrowserTest::mock_cert_verifier().
29class CertVerifierBrowserTest : public InProcessBrowserTest {
30 public:
31 CertVerifierBrowserTest();
32 ~CertVerifierBrowserTest() override;
33
34 // InProcessBrowserTest:
John Abd-El-Maleke9cf2882018-01-17 16:59:0635 void SetUpCommandLine(base::CommandLine* command_line) override;
estarkb1ee1672015-08-06 01:15:2436 void SetUpInProcessBrowserTestFixture() override;
37 void TearDownInProcessBrowserTestFixture() override;
38
John Abd-El-Malek4f6427c2018-08-23 17:06:0839 content::ContentMockCertVerifier::CertVerifier* mock_cert_verifier() {
40 return mock_cert_verifier_.mock_cert_verifier();
41 }
estarkb1ee1672015-08-06 01:15:2442
43 private:
John Abd-El-Malek4f6427c2018-08-23 17:06:0844 ChromeMockCertVerifier mock_cert_verifier_;
John Abd-El-Malek96721282018-01-09 01:35:1745
John Abd-El-Malek4f6427c2018-08-23 17:06:0846 DISALLOW_COPY_AND_ASSIGN(CertVerifierBrowserTest);
estarkb1ee1672015-08-06 01:15:2447};
48
49#endif // CHROME_BROWSER_SSL_CERT_VERIFIER_BROWSER_TEST_H_