Skip to content
This repository has been archived by the owner on Aug 18, 2020. It is now read-only.

Commit

Permalink
[CO-410] Add golden decoding tests for legacy ProtocolMagic encoding
Browse files Browse the repository at this point in the history
  • Loading branch information
Jimbo4350 committed Oct 12, 2018
1 parent a60c50f commit fc4b583
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 2 deletions.
9 changes: 9 additions & 0 deletions crypto/test/Test/Pos/Crypto/Example.hs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ module Test.Pos.Crypto.Example
( exampleProtocolMagic0
, exampleProtocolMagic1
, exampleProtocolMagic2
, exampleProtocolMagic3
, exampleProtocolMagic4
) where

import Pos.Crypto (ProtocolMagic (..), ProtocolMagicId (..),
Expand All @@ -19,3 +21,10 @@ exampleProtocolMagic1 = ProtocolMagic (ProtocolMagicId 2147000001) RequiresMagic

exampleProtocolMagic2 :: ProtocolMagic
exampleProtocolMagic2 = ProtocolMagic (ProtocolMagicId (- 58952)) RequiresMagic

exampleProtocolMagic3 :: ProtocolMagic
exampleProtocolMagic3 = ProtocolMagic (ProtocolMagicId (31337)) RequiresMagic

exampleProtocolMagic4 :: ProtocolMagic
exampleProtocolMagic4 = ProtocolMagic (ProtocolMagicId (- 500)) RequiresNoMagic

18 changes: 17 additions & 1 deletion crypto/test/Test/Pos/Crypto/Json.hs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ import Hedgehog (Property)
import qualified Hedgehog as H

import Test.Pos.Crypto.Example (exampleProtocolMagic0,
exampleProtocolMagic1, exampleProtocolMagic2)
exampleProtocolMagic1, exampleProtocolMagic2,
exampleProtocolMagic3, exampleProtocolMagic4)
import Test.Pos.Util.Golden (discoverGolden, goldenTestJSONDec)

--------------------------------------------------------------------------------
Expand Down Expand Up @@ -35,5 +36,20 @@ golden_ProtocolMagic2AesonDec =
exampleProtocolMagic2
"test/golden/json/ProtocolMagic2_Legacy_HasNetworkMagic"

-- Legacy JSON encoding where requiresNetworkMagic was
-- encoded as "NMMustBeNothing" or "NMMustBeJust"

golden_ProtocolMagic3AesonDec_NMMustBeJust :: Property
golden_ProtocolMagic3AesonDec_NMMustBeJust =
goldenTestJSONDec
exampleProtocolMagic3
"test/golden/json/ProtocolMagic_Legacy_NMMustBeJust"

golden_ProtocolMagic4AesonDec_NMMustBeNothing :: Property
golden_ProtocolMagic4AesonDec_NMMustBeNothing =
goldenTestJSONDec
exampleProtocolMagic4
"test/golden/json/ProtocolMagic_Legacy_NMMustBeNothing"

tests :: IO Bool
tests = H.checkSequential $$discoverGolden
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"pm":-500,"requiresNetworkMagic":"NMMustBeNothing"}

This file was deleted.

0 comments on commit fc4b583

Please sign in to comment.