1// Copyright (c) 2012 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_SSL_CLIENT_AUTH_REQUESTOR_MOCK_H_
6#define CHROME_BROWSER_SSL_SSL_CLIENT_AUTH_REQUESTOR_MOCK_H_
7
8#include "base/memory/ref_counted.h"
9#include "testing/gmock/include/gmock/gmock.h"
10
11namespace net {
12class HttpNetworkSession;
13class SSLCertRequestInfo;
14class URLRequest;
15class X509Certificate;
16}
17
18class SSLClientAuthRequestorMock
19    : public base::RefCountedThreadSafe<SSLClientAuthRequestorMock> {
20 public:
21  SSLClientAuthRequestorMock(
22      net::URLRequest* request,
23      const scoped_refptr<net::SSLCertRequestInfo>& cert_request_info);
24
25  MOCK_METHOD1(CertificateSelected, void(net::X509Certificate* cert));
26
27  scoped_refptr<net::SSLCertRequestInfo> cert_request_info_;
28  net::HttpNetworkSession* http_network_session_;
29
30 protected:
31  friend class base::RefCountedThreadSafe<SSLClientAuthRequestorMock>;
32  virtual ~SSLClientAuthRequestorMock();
33};
34
35#endif  // CHROME_BROWSER_SSL_SSL_CLIENT_AUTH_REQUESTOR_MOCK_H_
36