wallet_test_fixture.h raw

   1  // Copyright (c) 2016-present The Bitcoin Core developers
   2  // Distributed under the MIT software license, see the accompanying
   3  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
   4  
   5  #ifndef BITCOIN_WALLET_TEST_WALLET_TEST_FIXTURE_H
   6  #define BITCOIN_WALLET_TEST_WALLET_TEST_FIXTURE_H
   7  
   8  #include <test/util/setup_common.h>
   9  
  10  #include <interfaces/chain.h>
  11  #include <interfaces/wallet.h>
  12  #include <node/context.h>
  13  #include <util/chaintype.h>
  14  #include <util/check.h>
  15  #include <wallet/wallet.h>
  16  
  17  #include <memory>
  18  
  19  namespace wallet {
  20  /** Testing setup and teardown for wallet.
  21   */
  22  struct WalletTestingSetup : public TestingSetup {
  23      explicit WalletTestingSetup(ChainType chainType = ChainType::MAIN);
  24      ~WalletTestingSetup();
  25  
  26      std::unique_ptr<interfaces::WalletLoader> m_wallet_loader;
  27      CWallet m_wallet;
  28      std::unique_ptr<interfaces::Handler> m_chain_notifications_handler;
  29  };
  30  } // namespace wallet
  31  
  32  #endif // BITCOIN_WALLET_TEST_WALLET_TEST_FIXTURE_H
  33