1
{-# LANGUAGE OverloadedStrings #-}
3
module Test.Golden.Shelley.TextEnvelope.Keys.ExtendedPaymentKeys
4
( golden_shelleyExtendedPaymentKeys
7
import Cardano.Api (AsType (..), HasTextEnvelope (..))
9
import Hedgehog (Property)
12
import qualified Hedgehog.Extras.Test.Base as H
14
{- HLINT ignore "Use camelCase" -}
16
-- | 1. Generate a key pair
17
-- 2. Check for the existence of the key pair
18
-- 3. Check the TextEnvelope serialization format has not changed.
19
golden_shelleyExtendedPaymentKeys :: Property
20
golden_shelleyExtendedPaymentKeys = propertyOnce . H.moduleWorkspace "tmp" $ \tempDir -> do
22
referenceVerKey <- noteInputFile "test/data/golden/shelley/keys/extended_payment_keys/verification_key"
23
referenceSignKey <- noteInputFile "test/data/golden/shelley/keys/extended_payment_keys/signing_key"
26
verKey <- noteTempFile tempDir "extended-payment-verification-key-file"
27
signKey <- noteTempFile tempDir "extended-payment-signing-key-file"
29
-- Generate payment verification key
33
, "--verification-key-file", verKey
34
, "--signing-key-file", signKey
37
let signingKeyType = textEnvelopeType (AsSigningKey AsPaymentExtendedKey)
38
verificationKeyType = textEnvelopeType (AsVerificationKey AsPaymentExtendedKey)
40
-- Check the newly created files have not deviated from the
42
checkTextEnvelopeFormat verificationKeyType referenceVerKey verKey
43
checkTextEnvelopeFormat signingKeyType referenceSignKey signKey