File: RequestSpec.hs

package info (click to toggle)
haskell-servant-client-core 0.20.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 188 kB
  • sloc: haskell: 1,214; makefile: 6
file content (31 lines) | stat: -rw-r--r-- 1,366 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{-# 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