lnd-client-0.1.0.1: test/LndClient/ChanBakSpec.hs
module LndClient.ChanBakSpec
( spec,
)
where
import qualified LndClient.Data.ChannelBackup as Bak
import LndClient.Import
import LndClient.LndTest
import LndClient.RPC.Katip
import LndClient.TestApp
import Test.Hspec
spec :: Spec
spec = do
it "export SUCCEEDED" $
withEnv $ do
cp <- setupOneChannel Alice Bob
let goodBak bak =
( not
. null
. Bak.unSingleChanBackupBlob
$ Bak.chanBackup bak
)
&& (Bak.chanPoint bak == cp)
let goodBaks = \case
[bak] -> goodBak bak
_ -> False
alice <- getLndEnv Alice
bob <- getLndEnv Bob
bakA <- liftLndResult =<< exportChannelBackup alice cp
bakB <- liftLndResult =<< exportChannelBackup bob cp
baksA <- liftLndResult =<< exportAllChannelBackups alice
baksB <- liftLndResult =<< exportAllChannelBackups bob
liftIO $ do
--
-- TODO : this fails for some reason,
-- backups are different
--
-- baksA `shouldBe` [bakA]
bakA `shouldSatisfy` goodBak
bakB `shouldSatisfy` goodBak
baksA `shouldSatisfy` goodBaks
baksB `shouldSatisfy` goodBaks
it "restore SUCCEEDED" $
withEnv $ do
cp <- setupOneChannel Alice Bob
alice <- getLndEnv Alice
bakA <- liftLndResult =<< exportChannelBackup alice cp
liftLndResult =<< restoreChannelBackups alice [bakA]
liftIO $ do
--
-- TODO : verify unconfirmed balance increase
-- through walletBalance.
--
True `shouldBe` True