git.iko.soy/typeable/swagger2
on master help sign in
Merge pull request #194 from wireapp/fix-inline-refs
c121663fisx
src/Data/Swagger/Internal/Schema/Validation.hs+5−5
@@ -22,6 +22,9 @@
22-- Validate JSON values with Swagger Schema.
22-- Validate JSON values with Swagger Schema.
23module Data.Swagger.Internal.Schema.Validation where
23module Data.Swagger.Internal.Schema.Validation where
24
24
25+import Prelude ()
26+import Prelude.Compat
27+
25import Control.Applicative
28import Control.Applicative
26import Control.Lens
29import Control.Lens
27import Control.Monad (when)
30import Control.Monad (when)
@@ -34,8 +37,6 @@ import Data.HashMap.Strict (HashMap)
34import qualified Data.HashMap.Strict as HashMap
37import qualified Data.HashMap.Strict as HashMap
35import qualified Data.HashMap.Strict.InsOrd as InsOrdHashMap
38import qualified Data.HashMap.Strict.InsOrd as InsOrdHashMap
36import qualified "unordered-containers" Data.HashSet as HashSet
39import qualified "unordered-containers" Data.HashSet as HashSet
37−import Data.List (intercalate)
38−import Data.Monoid
39import Data.Proxy
40import Data.Proxy
40import Data.Scientific (Scientific, isInteger)
41import Data.Scientific (Scientific, isInteger)
41import Data.Text (Text)
42import Data.Text (Text)
@@ -483,7 +484,7 @@ validateSchemaType value = withSchema $ \sch ->
483 (Nothing, String s) -> sub_ paramSchema (validateString s)
484 (Nothing, String s) -> sub_ paramSchema (validateString s)
484 (Nothing, Array xs) -> sub_ paramSchema (validateArray xs)
485 (Nothing, Array xs) -> sub_ paramSchema (validateArray xs)
485 (Nothing, Object o) -> validateObject o
486 (Nothing, Object o) -> validateObject o
486− param@(t, _) -> invalid $ "expected JSON value of type " ++ showType param
487+ bad -> invalid $ "expected JSON value of type " ++ showType bad
487
488
488validateParamSchemaType :: Value -> Validation (ParamSchema t) ()
489validateParamSchemaType :: Value -> Validation (ParamSchema t) ()
489validateParamSchemaType value = withSchema $ \sch ->
490validateParamSchemaType value = withSchema $ \sch ->
@@ -498,8 +499,7 @@ validateParamSchemaType value = withSchema $ \sch ->
498 (Nothing, Number n) -> validateNumber n
499 (Nothing, Number n) -> validateNumber n
499 (Nothing, String s) -> validateString s
500 (Nothing, String s) -> validateString s
500 (Nothing, Array xs) -> validateArray xs
501 (Nothing, Array xs) -> validateArray xs
501− (t, _) -> invalid $ "expected JSON value of type " ++ show t
502− param@(t, _) -> invalid $ "expected JSON value of type " ++ showType param
502+ bad -> invalid $ "expected JSON value of type " ++ showType bad
503
503
504showType :: (Maybe (SwaggerType t), Value) -> String
504showType :: (Maybe (SwaggerType t), Value) -> String
505showType (Just type_, _) = show type_
505showType (Just type_, _) = show type_
test/Data/Swagger/CommonTestTypes.hs−2
@@ -18,8 +18,6 @@ import qualified Data.Text as Text
18import GHC.Generics
18import GHC.Generics
19
19
20import Data.Swagger
20import Data.Swagger
21−import Data.Swagger.Declare
22−import Data.Swagger.Internal (SwaggerKind (..))
23
21
24-- ========================================================================
22-- ========================================================================
25-- Unit type
23-- Unit type
test/Data/Swagger/SchemaSpec.hs+1−6
@@ -8,16 +8,11 @@ import Prelude ()
8import Prelude.Compat
8import Prelude.Compat
9
9
10import Control.Lens ((^.))
10import Control.Lens ((^.))
11−import Data.Aeson (Value, ToJSON(..), ToJSONKey(..))
11+import Data.Aeson (Value)
12−import Data.Aeson.Types (toJSONKeyText)
13−import Data.Aeson.QQ.Simple
14−import Data.Char
15import qualified Data.HashMap.Strict.InsOrd as InsOrdHashMap
12import qualified Data.HashMap.Strict.InsOrd as InsOrdHashMap
16import Data.Proxy
13import Data.Proxy
17import Data.Set (Set)
14import Data.Set (Set)
18−import Data.Map (Map)
19import qualified Data.Text as Text
15import qualified Data.Text as Text
20−import GHC.Generics
21
16
22import Data.Swagger
17import Data.Swagger
23import Data.Swagger.Declare
18import Data.Swagger.Declare