Skip to content

Commit

Permalink
Use Cardano.Wallet.Api.Types.strictRecordTypeOptions
Browse files Browse the repository at this point in the history
  • Loading branch information
rvl committed Jul 20, 2021
1 parent de46648 commit 4aeb220
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
4 changes: 2 additions & 2 deletions lib/core/src/Cardano/Wallet/Api/Types.hs
Expand Up @@ -2587,9 +2587,9 @@ instance ToJSON ApiSignedTransaction where
toJSON = genericToJSON defaultRecordTypeOptions

instance FromJSON ApiSignTransactionPostData where
parseJSON = genericParseJSON defaultRecordTypeOptions
parseJSON = genericParseJSON strictRecordTypeOptions
instance ToJSON ApiSignTransactionPostData where
toJSON = genericToJSON defaultRecordTypeOptions
toJSON = genericToJSON strictRecordTypeOptions

instance DecodeAddress t => FromJSON (PostTransactionOldData t) where
parseJSON = genericParseJSON defaultRecordTypeOptions
Expand Down
13 changes: 10 additions & 3 deletions lib/core/test/unit/Cardano/Wallet/Api/Malformed.hs
Expand Up @@ -1213,9 +1213,9 @@ instance Malformed (BodyParam ApiSignTransactionPostData) where
[ ("1020344", "Error in $: parsing Cardano.Wallet.Api.Types.ApiSignTransactionPostData(ApiSignTransactionPostData) failed, expected Object, but encountered Number")
, ("\"hello\"", "Error in $: parsing Cardano.Wallet.Api.Types.ApiSignTransactionPostData(ApiSignTransactionPostData) failed, expected Object, but encountered String")
, ("{\"transaction\": \"\", \"random\"}", msgJsonInvalid)
, ("{\"transaction\": \"lah\", \"passphase\": \"Secure Passphrase\"}", "Error in $.transaction: Parse error. Expecting Base64-encoded format.")
, ("{\"transaction\": 1020344, \"passphase\": \"Secure Passphrase\"}", "Error in $.transaction: parsing 'Base64 ByteString failed, expected String, but encountered Number")
, ("{\"transaction\": { \"body\": 1020344 }, \"passphase\": \"Secure Passphrase\"}", "Error in $.transaction: parsing 'Base64 ByteString failed, expected String, but encountered Object")
, ("{\"transaction\": \"lah\", \"passphrase\": \"Secure Passphrase\"}", "Error in $.transaction: Parse error. Expecting Base64-encoded format.")
, ("{\"transaction\": 1020344, \"passphrase\": \"Secure Passphrase\"}", "Error in $.transaction: parsing 'Base64 ByteString failed, expected String, but encountered Number")
, ("{\"transaction\": { \"body\": 1020344 }, \"passphrase\": \"Secure Passphrase\"}", "Error in $.transaction: parsing 'Base64 ByteString failed, expected String, but encountered Object")
]
jsonValid = first (BodyParam . Aeson.encode) <$>
[ -- passphrase
Expand All @@ -1236,6 +1236,13 @@ instance Malformed (BodyParam ApiSignTransactionPostData) where
}|]
, "Error in $.transaction: parsing 'Base64 ByteString failed, expected String, but encountered Object"
)
, ( [aesonQQ|
{ "transaction": "cafecafe",
"passphrase": "Secure Passphrase",
"extra": "hello"
}|]
, "Error in $: parsing Cardano.Wallet.Api.Types.ApiSignTransactionPostData(ApiSignTransactionPostData) failed, unknown fields: ['extra']"
)
]

instance Malformed (BodyParam (PostTransactionOldData ('Testnet pm))) where
Expand Down

0 comments on commit 4aeb220

Please sign in to comment.