servant/servant-client-core/test/Servant/Client/Core/RequestSpec.hs

32 lines
1.3 KiB
Haskell

{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE OverloadedStrings #-}
module Servant.Client.Core.RequestSpec (spec) where
import Prelude ()
import Prelude.Compat
import Control.Monad
import Data.List (isInfixOf)
import Servant.Client.Core.Request
import Test.Hspec
newtype DataWithRequest = DataWithRequest (RequestF RequestBody ())
deriving Show
spec :: Spec
spec = do
describe "Request" $ do
describe "show" $ do
it "has parenthesis correctly positioned" $ do
let d = DataWithRequest (void defaultRequest)
show d `shouldBe` "DataWithRequest (Request {requestPath = ()\
\, requestQueryString = fromList []\
\, requestBody = Nothing\
\, requestAccept = fromList []\
\, requestHeaders = fromList []\
\, requestHttpVersion = HTTP/1.1\
\, requestMethod = \"GET\"})"
it "redacts the authorization header" $ do
let request = void $ defaultRequest { requestHeaders = pure ("authorization", "secret") }
isInfixOf "secret" (show request) `shouldBe` False