packages feed

servant-mock 0.8.3 → 0.8.4

raw patch · 3 files changed

+26/−26 lines, 3 filesdep +base-compatdep ~QuickCheckdep ~basedep ~http-typesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: base-compat

Dependency ranges changed: QuickCheck, base, http-types, servant, servant-server

API changes (from Hackage documentation)

- Servant.Mock: instance forall k (api :: k) (context :: [*]) (d :: GHC.Types.Symbol). Servant.Mock.HasMock api context => Servant.Mock.HasMock (Servant.API.Description.Description d Servant.API.Sub.:> api) context
- Servant.Mock: instance forall k (api :: k) (context :: [*]) (d :: GHC.Types.Symbol). Servant.Mock.HasMock api context => Servant.Mock.HasMock (Servant.API.Description.Summary d Servant.API.Sub.:> api) context
- Servant.Mock: instance forall k (ctypes :: [GHC.Types.*]) a (rest :: k) (context :: [*]). (Servant.API.ContentTypes.AllCTUnrender ctypes a, Servant.Mock.HasMock rest context) => Servant.Mock.HasMock (Servant.API.ReqBody.ReqBody ctypes a Servant.API.Sub.:> rest) context
- Servant.Mock: instance forall k (h :: GHC.Types.Symbol) a (rest :: k) (context :: [*]). (GHC.TypeLits.KnownSymbol h, Web.Internal.HttpApiData.FromHttpApiData a, Servant.Mock.HasMock rest context) => Servant.Mock.HasMock (Servant.API.Header.Header h a Servant.API.Sub.:> rest) context
- Servant.Mock: instance forall k (path :: GHC.Types.Symbol) (rest :: k) (context :: [*]). (GHC.TypeLits.KnownSymbol path, Servant.Mock.HasMock rest context) => Servant.Mock.HasMock (path Servant.API.Sub.:> rest) context
- Servant.Mock: instance forall k (rest :: k) (context :: [*]). Servant.Mock.HasMock rest context => Servant.Mock.HasMock (Data.Vault.Lazy.Vault Servant.API.Sub.:> rest) context
- Servant.Mock: instance forall k (rest :: k) (context :: [*]). Servant.Mock.HasMock rest context => Servant.Mock.HasMock (Network.HTTP.Types.Version.HttpVersion Servant.API.Sub.:> rest) context
- Servant.Mock: instance forall k (rest :: k) (context :: [*]). Servant.Mock.HasMock rest context => Servant.Mock.HasMock (Servant.API.IsSecure.IsSecure Servant.API.Sub.:> rest) context
- Servant.Mock: instance forall k (rest :: k) (context :: [*]). Servant.Mock.HasMock rest context => Servant.Mock.HasMock (Servant.API.RemoteHost.RemoteHost Servant.API.Sub.:> rest) context
- Servant.Mock: instance forall k (s :: GHC.Types.Symbol) (rest :: k) (context :: [*]). (GHC.TypeLits.KnownSymbol s, Servant.Mock.HasMock rest context) => Servant.Mock.HasMock (Servant.API.QueryParam.QueryFlag s Servant.API.Sub.:> rest) context
- Servant.Mock: instance forall k (s :: GHC.Types.Symbol) a (rest :: k) (context :: [*]). (GHC.TypeLits.KnownSymbol s, Web.Internal.HttpApiData.FromHttpApiData a, Servant.Mock.HasMock rest context) => Servant.Mock.HasMock (Servant.API.Capture.Capture s a Servant.API.Sub.:> rest) context
- Servant.Mock: instance forall k (s :: GHC.Types.Symbol) a (rest :: k) (context :: [*]). (GHC.TypeLits.KnownSymbol s, Web.Internal.HttpApiData.FromHttpApiData a, Servant.Mock.HasMock rest context) => Servant.Mock.HasMock (Servant.API.Capture.CaptureAll s a Servant.API.Sub.:> rest) context
- Servant.Mock: instance forall k (s :: GHC.Types.Symbol) a (rest :: k) (context :: [*]). (GHC.TypeLits.KnownSymbol s, Web.Internal.HttpApiData.FromHttpApiData a, Servant.Mock.HasMock rest context) => Servant.Mock.HasMock (Servant.API.QueryParam.QueryParam s a Servant.API.Sub.:> rest) context
- Servant.Mock: instance forall k (s :: GHC.Types.Symbol) a (rest :: k) (context :: [*]). (GHC.TypeLits.KnownSymbol s, Web.Internal.HttpApiData.FromHttpApiData a, Servant.Mock.HasMock rest context) => Servant.Mock.HasMock (Servant.API.QueryParam.QueryParams s a Servant.API.Sub.:> rest) context
- Servant.Mock: instance forall k1 (headerTypes :: [*]) a (status :: GHC.Types.Nat) (method :: k1) (ctypes :: [GHC.Types.*]) (context :: [*]). (Servant.API.ResponseHeaders.GetHeaders (Servant.API.ResponseHeaders.Headers headerTypes a), Test.QuickCheck.Arbitrary.Arbitrary (Servant.API.ResponseHeaders.HList headerTypes), Test.QuickCheck.Arbitrary.Arbitrary a, GHC.TypeLits.KnownNat status, Servant.API.Verbs.ReflectMethod method, Servant.API.ContentTypes.AllCTRender ctypes a) => Servant.Mock.HasMock (Servant.API.Verbs.Verb method status ctypes (Servant.API.ResponseHeaders.Headers headerTypes a)) context
- Servant.Mock: instance forall k1 a (status :: GHC.Types.Nat) (method :: k1) (ctypes :: [GHC.Types.*]) (context :: [*]). (Test.QuickCheck.Arbitrary.Arbitrary a, GHC.TypeLits.KnownNat status, Servant.API.Verbs.ReflectMethod method, Servant.API.ContentTypes.AllCTRender ctypes a) => Servant.Mock.HasMock (Servant.API.Verbs.Verb method status ctypes a) context
+ Servant.Mock: instance (GHC.TypeLits.KnownSymbol h, Web.Internal.HttpApiData.FromHttpApiData a, Servant.Mock.HasMock rest context, Data.Singletons.Bool.SBoolI (Servant.API.Modifiers.FoldRequired mods), Data.Singletons.Bool.SBoolI (Servant.API.Modifiers.FoldLenient mods)) => Servant.Mock.HasMock (Servant.API.Header.Header' mods h a Servant.API.Sub.:> rest) context
+ Servant.Mock: instance (GHC.TypeLits.KnownSymbol path, Servant.Mock.HasMock rest context) => Servant.Mock.HasMock (path Servant.API.Sub.:> rest) context
+ Servant.Mock: instance (GHC.TypeLits.KnownSymbol s, Servant.Mock.HasMock rest context) => Servant.Mock.HasMock (Servant.API.QueryParam.QueryFlag s Servant.API.Sub.:> rest) context
+ Servant.Mock: instance (GHC.TypeLits.KnownSymbol s, Web.Internal.HttpApiData.FromHttpApiData a, Servant.Mock.HasMock rest context) => Servant.Mock.HasMock (Servant.API.Capture.Capture' mods s a Servant.API.Sub.:> rest) context
+ Servant.Mock: instance (GHC.TypeLits.KnownSymbol s, Web.Internal.HttpApiData.FromHttpApiData a, Servant.Mock.HasMock rest context) => Servant.Mock.HasMock (Servant.API.Capture.CaptureAll s a Servant.API.Sub.:> rest) context
+ Servant.Mock: instance (GHC.TypeLits.KnownSymbol s, Web.Internal.HttpApiData.FromHttpApiData a, Servant.Mock.HasMock rest context) => Servant.Mock.HasMock (Servant.API.QueryParam.QueryParams s a Servant.API.Sub.:> rest) context
+ Servant.Mock: instance (GHC.TypeLits.KnownSymbol s, Web.Internal.HttpApiData.FromHttpApiData a, Servant.Mock.HasMock rest context, Data.Singletons.Bool.SBoolI (Servant.API.Modifiers.FoldRequired mods), Data.Singletons.Bool.SBoolI (Servant.API.Modifiers.FoldLenient mods)) => Servant.Mock.HasMock (Servant.API.QueryParam.QueryParam' mods s a Servant.API.Sub.:> rest) context
+ Servant.Mock: instance (Servant.API.ContentTypes.AllCTUnrender ctypes a, Servant.Mock.HasMock rest context, Data.Singletons.Bool.SBoolI (Servant.API.Modifiers.FoldLenient mods)) => Servant.Mock.HasMock (Servant.API.ReqBody.ReqBody' mods ctypes a Servant.API.Sub.:> rest) context
+ Servant.Mock: instance Servant.Mock.HasMock api context => Servant.Mock.HasMock (Servant.API.Description.Description d Servant.API.Sub.:> api) context
+ Servant.Mock: instance Servant.Mock.HasMock api context => Servant.Mock.HasMock (Servant.API.Description.Summary d Servant.API.Sub.:> api) context
+ Servant.Mock: instance Servant.Mock.HasMock rest context => Servant.Mock.HasMock (Data.Vault.Lazy.Vault Servant.API.Sub.:> rest) context
+ Servant.Mock: instance Servant.Mock.HasMock rest context => Servant.Mock.HasMock (Network.HTTP.Types.Version.HttpVersion Servant.API.Sub.:> rest) context
+ Servant.Mock: instance Servant.Mock.HasMock rest context => Servant.Mock.HasMock (Servant.API.IsSecure.IsSecure Servant.API.Sub.:> rest) context
+ Servant.Mock: instance Servant.Mock.HasMock rest context => Servant.Mock.HasMock (Servant.API.RemoteHost.RemoteHost Servant.API.Sub.:> rest) context
+ Servant.Mock: instance forall k1 (headerTypes :: [*]) a (status :: GHC.Types.Nat) (method :: k1) (ctypes :: [*]) (context :: [*]). (Servant.API.ResponseHeaders.GetHeaders (Servant.API.ResponseHeaders.Headers headerTypes a), Test.QuickCheck.Arbitrary.Arbitrary (Servant.API.ResponseHeaders.HList headerTypes), Test.QuickCheck.Arbitrary.Arbitrary a, GHC.TypeNats.KnownNat status, Servant.API.Verbs.ReflectMethod method, Servant.API.ContentTypes.AllCTRender ctypes a) => Servant.Mock.HasMock (Servant.API.Verbs.Verb method status ctypes (Servant.API.ResponseHeaders.Headers headerTypes a)) context
+ Servant.Mock: instance forall k1 a (status :: GHC.Types.Nat) (method :: k1) (ctypes :: [*]) (context :: [*]). (Test.QuickCheck.Arbitrary.Arbitrary a, GHC.TypeNats.KnownNat status, Servant.API.Verbs.ReflectMethod method, Servant.API.ContentTypes.AllCTRender ctypes a) => Servant.Mock.HasMock (Servant.API.Verbs.Verb method status ctypes a) context

Files

CHANGELOG.md view
@@ -1,4 +1,9 @@-0.3.3+0.8.4+-----++- Support for servant-0.13++0.8.3 -----  - Support for servant-0.12
servant-mock.cabal view
@@ -1,5 +1,5 @@ name:                servant-mock-version:             0.8.3+version:             0.8.4 synopsis:            Derive a mock server for free from your servant API types description:   Derive a mock server for free from your servant API types@@ -17,7 +17,7 @@ cabal-version:       >=1.10 bug-reports:         http://github.com/haskell-servant/servant-mock/issues tested-with:-  GHC==8.2.1,+  GHC==8.2.2,   GHC==8.0.2,   GHC==7.10.3,   GHC==7.8.4@@ -36,12 +36,13 @@     Servant.Mock   build-depends:     base            >=4.7    && <5,+    base-compat     >=0.9.3  && <0.10,     bytestring      >=0.10.4 && <0.11,-    http-types      >=0.8    && <0.11,-    servant         >=0.8    && <0.13,-    servant-server  >=0.8    && <0.13,+    http-types      >=0.8    && <0.13,+    servant         >=0.13   && <0.14,+    servant-server  >=0.13   && <0.14,     transformers    >=0.3    && <0.6,-    QuickCheck      >=2.7    && <2.11,+    QuickCheck      >=2.7    && <2.12,     wai             >=3.0    && <3.3   hs-source-dirs:      src   default-language:    Haskell2010@@ -79,7 +80,7 @@     bytestring-conversion,     base,     hspec,-    hspec-wai >=0.8 && <0.9,+    hspec-wai >=0.8 && <0.10,     QuickCheck,     servant,     servant-server,
src/Servant/Mock.hs view
@@ -7,6 +7,7 @@ {-# LANGUAGE ScopedTypeVariables   #-} {-# LANGUAGE TypeFamilies          #-} {-# LANGUAGE TypeOperators         #-}+{-# LANGUAGE UndecidableInstances  #-} {-# OPTIONS_GHC -fno-warn-orphans #-}  #include "overlapping-compat.h"@@ -56,9 +57,9 @@ -- @ module Servant.Mock ( HasMock(..) ) where -#if !MIN_VERSION_base(4,8,0)-import           Control.Applicative-#endif+import Prelude ()+import Prelude.Compat+ import           Control.Monad.IO.Class import           Data.ByteString.Lazy.Char8 (pack) import           Data.Proxy@@ -67,6 +68,7 @@ import           Network.Wai import           Servant import           Servant.API.ContentTypes+import           Servant.API.Modifiers import           Test.QuickCheck.Arbitrary  (Arbitrary (..), vector) import           Test.QuickCheck.Gen        (Gen, generate) @@ -112,15 +114,14 @@ instance (KnownSymbol path, HasMock rest context) => HasMock (path :> rest) context where   mock _ = mock (Proxy :: Proxy rest) -instance (KnownSymbol s, FromHttpApiData a, HasMock rest context) => HasMock (Capture s a :> rest) context where+instance (KnownSymbol s, FromHttpApiData a, HasMock rest context) => HasMock (Capture' mods s a :> rest) context where   mock _ context = \_ -> mock (Proxy :: Proxy rest) context -#if MIN_VERSION_servant(0,8,1) instance (KnownSymbol s, FromHttpApiData a, HasMock rest context) => HasMock (CaptureAll s a :> rest) context where   mock _ context = \_ -> mock (Proxy :: Proxy rest) context-#endif -instance (AllCTUnrender ctypes a, HasMock rest context) => HasMock (ReqBody ctypes a :> rest) context where+instance (AllCTUnrender ctypes a, HasMock rest context, SBoolI (FoldLenient mods))+    => HasMock (ReqBody' mods ctypes a :> rest) context where   mock _ context = \_ -> mock (Proxy :: Proxy rest) context  instance HasMock rest context => HasMock (RemoteHost :> rest) context where@@ -135,8 +136,8 @@ instance HasMock rest context => HasMock (HttpVersion :> rest) context where   mock _ context = \_ -> mock (Proxy :: Proxy rest) context -instance (KnownSymbol s, FromHttpApiData a, HasMock rest context)-      => HasMock (QueryParam s a :> rest) context where+instance (KnownSymbol s, FromHttpApiData a, HasMock rest context, SBoolI (FoldRequired mods), SBoolI (FoldLenient mods))+      => HasMock (QueryParam' mods s a :> rest) context where   mock _ context = \_ -> mock (Proxy :: Proxy rest) context  instance (KnownSymbol s, FromHttpApiData a, HasMock rest context)@@ -146,7 +147,8 @@ instance (KnownSymbol s, HasMock rest context) => HasMock (QueryFlag s :> rest) context where   mock _ context = \_ -> mock (Proxy :: Proxy rest) context -instance (KnownSymbol h, FromHttpApiData a, HasMock rest context) => HasMock (Header h a :> rest) context where+instance (KnownSymbol h, FromHttpApiData a, HasMock rest context, SBoolI (FoldRequired mods), SBoolI (FoldLenient mods))+    => HasMock (Header' mods h a :> rest) context where   mock _ context = \_ -> mock (Proxy :: Proxy rest) context  instance (Arbitrary a, KnownNat status, ReflectMethod method, AllCTRender ctypes a)@@ -160,28 +162,20 @@   mock _ _ = mockArbitrary  instance HasMock Raw context where-#if MIN_VERSION_servant(0,11,0)   mock _ _ = Tagged $ \_req respond -> do-#else-  mock _ _ = \_req respond -> do-#endif     bdy <- genBody     respond $ responseLBS status200 [] bdy      where genBody = pack <$> generate (vector 100 :: Gen [Char]) -#if MIN_VERSION_servant(0,11,0) instance HasMock EmptyAPI context where     mock _ _ = emptyServer-#endif -#if MIN_VERSION_servant(0,12,0) instance HasMock api context => HasMock (Summary d :> api) context where     mock _ context = mock (Proxy :: Proxy api) context  instance HasMock api context => HasMock (Description d :> api) context where     mock _ context = mock (Proxy :: Proxy api) context-#endif  instance (HasContextEntry context (NamedContext name subContext), HasMock rest subContext) =>   HasMock (WithNamedContext name subContext rest) context where