git.iko.soy/typeable/mandrill
on issue-0.1.0.2 help sign in
42 lines 1.3 kB history raw
1{-# LANGUAGE CPP #-}
2module Tests where
4import Test.Tasty.HUnit
5import Data.Either
6import Data.Aeson
7import Network.API.Mandrill.Messages.Types
8import Network.API.Mandrill.Users.Types
9import qualified Data.ByteString.Char8 as C8
10import RawData
12#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ <= 706
13isRight :: Either a b -> Bool
14isRight (Left _) = False
15isRight _ = True
16#endif
18testMessagesSend :: Assertion
19testMessagesSend =
20 assertBool ("send.json: Parsing failed! " ++ show parsePayload)
21 (isRight parsePayload)
22 where
23 parsePayload :: Either String MessagesSendRq
24 parsePayload = eitherDecodeStrict . C8.pack $ sendData
26testUsersInfo :: Assertion
27testUsersInfo = do
28 let res = parsePayload
29 assertBool ("users/info.json (response): Parsing failed: " ++ show res)
30 (isRight parsePayload)
31 where
32 parsePayload :: Either String UsersInfoResponse
33 parsePayload = eitherDecodeStrict . C8.pack $ usersInfoData
35testUsersSenders :: Assertion
36testUsersSenders = do
37 let res = parsePayload
38 assertBool ("users/senders.json (response): Parsing failed: " ++ show res)
39 (isRight parsePayload)
40 where
41 parsePayload :: Either String UsersSendersResponse
42 parsePayload = eitherDecodeStrict . C8.pack $ usersSendersData