servant-mock 0.8.1 → 0.8.1.1
raw patch · 5 files changed
+42/−17 lines, 5 filesdep ~hspec-waiPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: hspec-wai
API changes (from Hackage documentation)
- 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 (ctypes :: [GHC.Types.*]) a (rest :: k1) (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 k1 (h :: GHC.Types.Symbol) a (rest :: k1) (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 k1 (path :: GHC.Types.Symbol) (rest :: k1) (context :: [*]). (GHC.TypeLits.KnownSymbol path, Servant.Mock.HasMock rest context) => Servant.Mock.HasMock (path Servant.API.Sub.:> rest) context
+ Servant.Mock: instance forall k1 (rest :: k1) (context :: [*]). Servant.Mock.HasMock rest context => Servant.Mock.HasMock (Data.Vault.Lazy.Vault Servant.API.Sub.:> rest) context
+ Servant.Mock: instance forall k1 (rest :: k1) (context :: [*]). Servant.Mock.HasMock rest context => Servant.Mock.HasMock (Network.HTTP.Types.Version.HttpVersion Servant.API.Sub.:> rest) context
+ Servant.Mock: instance forall k1 (rest :: k1) (context :: [*]). Servant.Mock.HasMock rest context => Servant.Mock.HasMock (Servant.API.IsSecure.IsSecure Servant.API.Sub.:> rest) context
+ Servant.Mock: instance forall k1 (rest :: k1) (context :: [*]). Servant.Mock.HasMock rest context => Servant.Mock.HasMock (Servant.API.RemoteHost.RemoteHost Servant.API.Sub.:> rest) context
+ Servant.Mock: instance forall k1 (s :: GHC.Types.Symbol) (rest :: k1) (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 k1 (s :: GHC.Types.Symbol) a (rest :: k1) (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 k1 (s :: GHC.Types.Symbol) a (rest :: k1) (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 k1 (s :: GHC.Types.Symbol) a (rest :: k1) (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 k1 (s :: GHC.Types.Symbol) a (rest :: k1) (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
Files
- CHANGELOG.md +4/−0
- README.md +3/−0
- servant-mock.cabal +23/−15
- src/Servant/Mock.hs +2/−0
- test/Servant/MockSpec.hs +10/−2
+ CHANGELOG.md view
@@ -0,0 +1,4 @@+0.8.1.1+-------++- Fix tests compiling with servant-0.9
+ README.md view
@@ -0,0 +1,3 @@+# servant-mock - Derive a mock server for free from your servant API types++
servant-mock.cabal view
@@ -1,11 +1,11 @@ name: servant-mock-version: 0.8.1+version: 0.8.1.1 synopsis: Derive a mock server for free from your servant API types description: Derive a mock server for free from your servant API types . See the @Servant.Mock@ module for the documentation and an example.-homepage: http://github.com/haskell-servant/servant+homepage: http://haskell-servant.readthedocs.org/ license: BSD3 license-file: LICENSE author: Servant Contributors@@ -13,29 +13,31 @@ copyright: 2015-2016 Servant Contributors category: Web build-type: Simple-extra-source-files: include/*.h+extra-source-files: README.md CHANGELOG.md include/*.h cabal-version: >=1.10-bug-reports: http://github.com/haskell-servant/servant/issues+bug-reports: http://github.com/haskell-servant/servant-mock/issues+ source-repository head type: git- location: http://github.com/haskell-servant/servant.git+ location: http://github.com/haskell-servant/servant-mock.git flag example description: Build the example too default: True+ manual: True library exposed-modules: Servant.Mock build-depends:- base >=4.7 && <5,- bytestring >= 0.10 && <0.11,- http-types >= 0.8 && <0.10,- servant == 0.8.*,- servant-server == 0.8.*,- transformers >= 0.3 && <0.6,- QuickCheck >= 2.7 && <2.10,- wai >= 3.0 && <3.3+ base >=4.7 && <5,+ bytestring >=0.10.4 && <0.11,+ http-types >=0.8 && <0.10,+ servant >=0.8 && <0.10,+ servant-server >=0.8 && <0.10,+ transformers >=0.3 && <0.6,+ QuickCheck >=2.7 && <2.10,+ wai >=3.0 && <3.3 hs-source-dirs: src default-language: Haskell2010 include-dirs: include@@ -45,7 +47,13 @@ main-is: main.hs hs-source-dirs: example default-language: Haskell2010- build-depends: aeson, base, servant-mock, servant-server, QuickCheck, warp+ build-depends:+ aeson,+ base,+ servant-mock,+ servant-server,+ QuickCheck,+ warp if flag(example) buildable: True else@@ -61,6 +69,7 @@ other-modules: Servant.MockSpec build-depends:+ bytestring-conversion, base, hspec, hspec-wai,@@ -69,5 +78,4 @@ servant-server, servant-mock, aeson,- bytestring-conversion, wai
src/Servant/Mock.hs view
@@ -115,8 +115,10 @@ instance (KnownSymbol s, FromHttpApiData a, HasMock rest context) => HasMock (Capture 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 mock _ context = \_ -> mock (Proxy :: Proxy rest) context
test/Servant/MockSpec.hs view
@@ -8,9 +8,7 @@ module Servant.MockSpec where import Data.Aeson as Aeson-import Data.ByteString.Conversion.To import Data.Proxy-import Data.String import GHC.Generics import Network.Wai import Servant.API@@ -22,6 +20,9 @@ import Servant.API.Internal.Test.ComprehensiveAPI import Servant.Mock +import Data.ByteString.Conversion.To+import Data.String+ -- This declaration simply checks that all instances are in place. _ = mock comprehensiveAPI (Proxy :: Proxy '[NamedContext "foo" '[]]) @@ -40,8 +41,15 @@ | ArbitraryHeader deriving (Show) +-- Needed for servant-0.8.1 instance ToByteString TestHeader where builder = fromString . show++instance ToHttpApiData TestHeader where+ toHeader = toHeader . show+ toUrlPiece = toUrlPiece . show+ toQueryParam = toQueryParam . show+ instance Arbitrary TestHeader where arbitrary = return ArbitraryHeader