tmp-proc-0.5.0.0: test/Test/System/TmpProc/HttpBinSpec.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
module Test.System.TmpProc.HttpBinSpec where
import Test.Hspec
import Data.Proxy (Proxy (Proxy))
import qualified Data.Text as Text
import System.TmpProc (Pinged (..), ixPing, ixReset, nameOf,
terminateAll)
import Test.Hspec.TmpProc (tdescribe)
import Test.HttpBin
spec :: Spec
spec = tdescribe ("Tmp.Proc: " ++ Text.unpack (nameOf HttpBinTest)) $ do
beforeAll setupHandles $ afterAll terminateAll $ do
context "When accessing the services in the list of test tmp procs" $ do
context "ixPing" $ do
it "should succeed when accessing a Proc by name" $ \hs
-> ixPing @"http-bin-test" Proxy hs `shouldReturn` OK
it "should succeed when accessing a Proc by type" $ \hs
-> ixPing @HttpBinTest Proxy hs `shouldReturn` OK
context "ixReset" $ do
it "should succeed when accessing a Proc by name" $ \hs
-> ixReset @"http-bin-test" Proxy hs `shouldReturn`()
it "should succeed when accessing a different Proc by name" $ \hs
-> ixReset @"http-bin-test-3" Proxy hs `shouldReturn`()
it "should succeed when accessing a Proc by type" $ \hs
-> ixReset @HttpBinTest Proxy hs `shouldReturn`()
it "should succeed when accessing a different Proc by type" $ \hs
-> ixReset @HttpBinTest2 Proxy hs `shouldReturn`()