aur-7.0.6: tests/Test.hs
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Linux.Arch.Aur
import Network.HTTP.Client
import Network.HTTP.Client.TLS
import Test.Tasty
import Test.Tasty.HUnit
---
suite :: Manager -> TestTree
suite m = testGroup "RPC Calls"
[ testCase "info on existing package" $ infoTest m
, testCase "info on nonexistant package" $ infoTest' m
, testCase "search" $ searchTest m
]
infoTest :: Manager -> Assertion
infoTest m = info m ["aura", "aura-bin"] >>= \x -> (length <$> x) @?= Right 2
infoTest' :: Manager -> Assertion
infoTest' m = info m ["aura1234567"] >>= \x -> (null <$> x) @?= Right True
searchTest :: Manager -> Assertion
searchTest m = search m "aura" >>= assertBool "Good search" . not . null
main :: IO ()
main = do
m <- newManager tlsManagerSettings
defaultMain $ suite m