Skip to content

Commit d30cc61

Browse files
committed
Fix TraceNodeIsLeader JSON parser
1 parent c33c06f commit d30cc61

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

cardano-testnet/src/Test/Assert.hs

+6-6
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ module Test.Assert
1010
, getRelevantLeaderSlots
1111
) where
1212

13-
import Control.Applicative ((<*>))
14-
import Control.Monad (Monad (..))
13+
import Control.Monad (Monad (..), fail)
1514
import Control.Monad.IO.Class (MonadIO)
1615
import Control.Monad.Trans.Reader (ReaderT)
1716
import Control.Monad.Trans.Resource (ResourceT)
@@ -86,10 +85,11 @@ data TraceNodeIsLeader = TraceNodeIsLeader
8685
} deriving (Eq, Show)
8786

8887
instance FromJSON TraceNodeIsLeader where
89-
parseJSON = Aeson.withObject "TraceNodeIsLeader" $ \v ->
90-
TraceNodeIsLeader
91-
<$> v .: "kind"
92-
<*> v .: "slot"
88+
parseJSON = Aeson.withObject "TraceNodeIsLeader" $ \v -> do
89+
k <- v .: "val" >>= (.: "kind")
90+
if k == "TraceNodeIsLeader"
91+
then TraceNodeIsLeader k <$> (v .: "val" >>= (.: "slot"))
92+
else fail "Not the right kind"
9393

9494
instance FromJSON Kind where
9595
parseJSON = Aeson.withObject "Kind" $ \v ->

0 commit comments

Comments
 (0)