liblastfm-0.1.1.2: tests/Common.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE UnicodeSyntax #-}
module Common where
import Data.Aeson.Types
import Network.Lastfm
import Test.HUnit
check ∷ (Value → Parser a) → Request JSON Send Ready → Assertion
check p q = do
r ← lastfm q
case parse p `fmap` r of
Just (Success _) → assertBool "success" True
_ → assertFailure $ "Got: " ++ show r
ok ∷ Value → Parser String
ok o = parseJSON o >>= (.: "status")