@@ -12,24 +12,26 @@
13module Servant.ServerSpec where
13module Servant.ServerSpec where
15import Control.Monad
18import Control.Monad
16 (forM_, unless, when)
19 (forM_, unless, when)
17import Control.Monad.Error.Class
20import Control.Monad.Error.Class
18 (MonadError (..))
21 (MonadError (..))
19import Data.Aeson
22import Data.Aeson
20 (FromJSON, ToJSON, decode', encode)
23 (FromJSON, ToJSON, decode', encode)
21−import qualified Data.ByteString as BS
24+import qualified Data.ByteString as BS
22−import qualified Data.ByteString.Base64 as Base64
25+import qualified Data.ByteString.Base64 as Base64
23import Data.Char
26import Data.Char
26import Data.Proxy
28import Data.Proxy
27 (Proxy (Proxy))
29 (Proxy (Proxy))
28import Data.String
30import Data.String
29 (fromString)
31 (fromString)
30import Data.String.Conversions
32import Data.String.Conversions
32−import qualified Data.Text as T
34+import qualified Data.Text as T
33import GHC.Generics
35import GHC.Generics
35import Network.HTTP.Types
37import Network.HTTP.Types
@@ -42,25 +44,25 @@ import Network.Wai
42import Network.Wai.Test
44import Network.Wai.Test
43 (defaultRequest, request, runSession, simpleBody,
45 (defaultRequest, request, runSession, simpleBody,
44 simpleHeaders, simpleStatus)
46 simpleHeaders, simpleStatus)
45−import qualified Servant.Types.SourceT as S
46import Servant.API
47import Servant.API
47 ((:<|>) (..), (:>), AuthProtect, BasicAuth,
48 ((:<|>) (..), (:>), AuthProtect, BasicAuth,
48 BasicAuthData (BasicAuthData), Capture, CaptureAll, Delete,
49 BasicAuthData (BasicAuthData), Capture, CaptureAll, Delete,
49 EmptyAPI, Get, Header, Headers, HttpVersion, IsSecure (..),
50 EmptyAPI, Get, Header, Headers, HttpVersion, IsSecure (..),
50 JSON, NoContent (..), NoFraming, OctetStream, Patch,
51 JSON, NoContent (..), NoFraming, OctetStream, Patch,
51 PlainText, Post, Put, QueryFlag, QueryParam, QueryParams, Raw,
52 PlainText, Post, Put, QueryFlag, QueryParam, QueryParams, Raw,
52− RemoteHost, ReqBody, StdMethod (..), Stream,
53+ RemoteHost, ReqBody, SourceIO, StdMethod (..), Stream, Verb,
53− SourceIO, Verb, addHeader)
54+ addHeader)
54−import Servant.Test.ComprehensiveAPI
55import Servant.Server
55import Servant.Server
56 (Context ((:.), EmptyContext), Handler, Server, Tagged (..),
56 (Context ((:.), EmptyContext), Handler, Server, Tagged (..),
57 emptyServer, err401, err403, err404, serve, serveWithContext)
57 emptyServer, err401, err403, err404, serve, serveWithContext)
58+import Servant.Test.ComprehensiveAPI
59+import qualified Servant.Types.SourceT as S
58import Test.Hspec
60import Test.Hspec
59 (Spec, context, describe, it, shouldBe, shouldContain)
61 (Spec, context, describe, it, shouldBe, shouldContain)
60import Test.Hspec.Wai
62import Test.Hspec.Wai
61 (get, liftIO, matchHeaders, matchStatus, shouldRespondWith,
63 (get, liftIO, matchHeaders, matchStatus, shouldRespondWith,
62 with, (<:>))
64 with, (<:>))
63−import qualified Test.Hspec.Wai as THW
65+import qualified Test.Hspec.Wai as THW
65import Servant.Server.Experimental.Auth
67import Servant.Server.Experimental.Auth
66 (AuthHandler, AuthServerData, mkAuthHandler)
68 (AuthHandler, AuthServerData, mkAuthHandler)