1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef NET_CERT_MOCK_CERT_NET_FETCHER_H_
#define NET_CERT_MOCK_CERT_NET_FETCHER_H_
#include "net/cert/cert_net_fetcher.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "third_party/boringssl/src/include/openssl/base.h"
namespace net {
// MockCertNetFetcher is an implementation of CertNetFetcher for testing.
class MockCertNetFetcher : public CertNetFetcher {
public:
MockCertNetFetcher();
MOCK_METHOD0(Shutdown, void());
MOCK_METHOD3(FetchCaIssuers,
std::unique_ptr<Request>(const GURL& url,
int timeout_milliseconds,
int max_response_bytes));
MOCK_METHOD3(FetchCrl,
std::unique_ptr<Request>(const GURL& url,
int timeout_milliseconds,
int max_response_bytes));
MOCK_METHOD3(FetchOcsp,
std::unique_ptr<Request>(const GURL& url,
int timeout_milliseconds,
int max_response_bytes));
protected:
// Protected since CertNetFetcher is refcounted.
~MockCertNetFetcher() override;
};
// MockCertNetFetcherRequest gives back the indicated error and bytes.
class MockCertNetFetcherRequest : public CertNetFetcher::Request {
public:
MockCertNetFetcherRequest(Error error, std::vector<uint8_t> bytes);
~MockCertNetFetcherRequest() override;
// Creates a CertNetFetcher::Request that completes with an error.
static std::unique_ptr<CertNetFetcher::Request> Create(Error error);
// Creates a CertNetFetcher::Request that completes with OK error code and
// the specified bytes.
static std::unique_ptr<CertNetFetcher::Request> Create(
std::vector<uint8_t> bytes);
// Creates a CertNetFetcher::Request that completes with OK error code and
// the specified CRYPTO_BUFFER data.
static std::unique_ptr<CertNetFetcher::Request> Create(
const CRYPTO_BUFFER* buffer);
void WaitForResult(Error* error, std::vector<uint8_t>* bytes) override;
private:
Error error_;
std::vector<uint8_t> bytes_;
bool did_consume_result_ = false;
};
} // namespace net
#endif // NET_CERT_MOCK_CERT_NET_FETCHER_H_
|