Browse Source
Add support for spending keys to the basic key store Prerequisite for #1197 and #1199.pull/145/head
zkbot
8 years ago
7 changed files with 95 additions and 5 deletions
@ -0,0 +1,29 @@ |
|||
#include <gtest/gtest.h> |
|||
|
|||
#include "keystore.h" |
|||
#include "zcash/Address.hpp" |
|||
|
|||
TEST(keystore_tests, store_and_retrieve_spending_key) { |
|||
CBasicKeyStore keyStore; |
|||
libzcash::SpendingKey skOut; |
|||
|
|||
std::set<libzcash::PaymentAddress> addrs; |
|||
keyStore.GetPaymentAddresses(addrs); |
|||
EXPECT_EQ(0, addrs.size()); |
|||
|
|||
auto sk = libzcash::SpendingKey::random(); |
|||
auto addr = sk.address(); |
|||
|
|||
// Sanity-check: we can't get a key we haven't added
|
|||
EXPECT_FALSE(keyStore.HaveSpendingKey(addr)); |
|||
EXPECT_FALSE(keyStore.GetSpendingKey(addr, skOut)); |
|||
|
|||
keyStore.AddSpendingKey(sk); |
|||
EXPECT_TRUE(keyStore.HaveSpendingKey(addr)); |
|||
EXPECT_TRUE(keyStore.GetSpendingKey(addr, skOut)); |
|||
EXPECT_EQ(sk, skOut); |
|||
|
|||
keyStore.GetPaymentAddresses(addrs); |
|||
EXPECT_EQ(1, addrs.size()); |
|||
EXPECT_EQ(1, addrs.count(addr)); |
|||
} |
Loading…
Reference in new issue