init_tests.cpp raw

   1  // Copyright (c) 2018-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  #include <boost/test/unit_test.hpp>
   6  
   7  #include <common/args.h>
   8  #include <noui.h>
   9  #include <test/util/logging.h>
  10  #include <test/util/setup_common.h>
  11  #include <wallet/test/init_test_fixture.h>
  12  
  13  namespace wallet {
  14  BOOST_FIXTURE_TEST_SUITE(init_tests, InitWalletDirTestingSetup)
  15  
  16  BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_default)
  17  {
  18      SetWalletDir(m_walletdir_path_cases["default"]);
  19      bool result = m_wallet_loader->verify();
  20      BOOST_CHECK(result == true);
  21      fs::path walletdir = m_args.GetPathArg("-walletdir");
  22      fs::path expected_path = fs::canonical(m_walletdir_path_cases["default"]);
  23      BOOST_CHECK_EQUAL(walletdir, expected_path);
  24  }
  25  
  26  BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_custom)
  27  {
  28      SetWalletDir(m_walletdir_path_cases["custom"]);
  29      bool result = m_wallet_loader->verify();
  30      BOOST_CHECK(result == true);
  31      fs::path walletdir = m_args.GetPathArg("-walletdir");
  32      fs::path expected_path = fs::canonical(m_walletdir_path_cases["custom"]);
  33      BOOST_CHECK_EQUAL(walletdir, expected_path);
  34  }
  35  
  36  BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_does_not_exist)
  37  {
  38      SetWalletDir(m_walletdir_path_cases["nonexistent"]);
  39      {
  40          ASSERT_DEBUG_LOG("does not exist");
  41          bool result = m_wallet_loader->verify();
  42          BOOST_CHECK(result == false);
  43      }
  44  }
  45  
  46  BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_is_not_directory)
  47  {
  48      SetWalletDir(m_walletdir_path_cases["file"]);
  49      {
  50          ASSERT_DEBUG_LOG("is not a directory");
  51          bool result = m_wallet_loader->verify();
  52          BOOST_CHECK(result == false);
  53      }
  54  }
  55  
  56  BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_is_not_relative)
  57  {
  58      SetWalletDir(m_walletdir_path_cases["relative"]);
  59      {
  60          ASSERT_DEBUG_LOG("is a relative path");
  61          bool result = m_wallet_loader->verify();
  62          BOOST_CHECK(result == false);
  63      }
  64  }
  65  
  66  BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_no_trailing)
  67  {
  68      SetWalletDir(m_walletdir_path_cases["trailing"]);
  69      bool result = m_wallet_loader->verify();
  70      BOOST_CHECK(result == true);
  71      fs::path walletdir = m_args.GetPathArg("-walletdir");
  72      fs::path expected_path = fs::canonical(m_walletdir_path_cases["default"]);
  73      BOOST_CHECK_EQUAL(walletdir, expected_path);
  74  }
  75  
  76  BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_no_trailing2)
  77  {
  78      SetWalletDir(m_walletdir_path_cases["trailing2"]);
  79      bool result = m_wallet_loader->verify();
  80      BOOST_CHECK(result == true);
  81      fs::path walletdir = m_args.GetPathArg("-walletdir");
  82      fs::path expected_path = fs::canonical(m_walletdir_path_cases["default"]);
  83      BOOST_CHECK_EQUAL(walletdir, expected_path);
  84  }
  85  
  86  BOOST_AUTO_TEST_SUITE_END()
  87  } // namespace wallet
  88