proxygen
Mocks.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2018-present, Facebook, Inc.
3  * All rights reserved.
4  *
5  * This source code is licensed under the BSD-style license found in the
6  * LICENSE file in the root directory of this source tree.
7  */
8 
9 #pragma once
10 
12 
13 /* using override */
14 using namespace testing;
15 
16 namespace fizz {
17 
18 class MockKeyExchange : public KeyExchange {
19  public:
20  MOCK_METHOD0(generateKeyPair, void());
21  MOCK_CONST_METHOD0(getKeyShare, std::unique_ptr<folly::IOBuf>());
23  generateSharedSecret,
24  std::unique_ptr<folly::IOBuf>(folly::ByteRange keyShare));
25 
26  void setDefaults() {
27  ON_CALL(*this, getKeyShare()).WillByDefault(InvokeWithoutArgs([]() {
28  return folly::IOBuf::copyBuffer("keyshare");
29  }));
30  ON_CALL(*this, generateSharedSecret(_))
31  .WillByDefault(InvokeWithoutArgs(
32  []() { return folly::IOBuf::copyBuffer("sharedsecret"); }));
33  }
34 };
35 
36 } // namespace fizz
#define MOCK_CONST_METHOD1(m,...)
PolymorphicAction< internal::InvokeWithoutArgsAction< FunctionImpl > > InvokeWithoutArgs(FunctionImpl function_impl)
void setDefaults()
Definition: Mocks.h:26
Definition: Actions.h:16
#define ON_CALL(obj, call)
#define MOCK_CONST_METHOD0(m,...)
const internal::AnythingMatcher _
static std::unique_ptr< IOBuf > copyBuffer(const void *buf, std::size_t size, std::size_t headroom=0, std::size_t minTailroom=0)
Definition: IOBuf.h:1587
#define MOCK_METHOD0(m,...)