@@ -1,3 +1,4 @@
1+{-# LANGUAGE DeriveDataTypeable #-}
12{-# LANGUAGE FlexibleContexts #-}
23{-# LANGUAGE KindSignatures #-}
34{-# LANGUAGE OverloadedStrings #-}
@@ -25,6 +26,7 @@ import Data.ByteString.Lazy (ByteString)
2526import qualified Data.HashMap.Strict as HM
2627import Data.Monoid
2728import Data.Scientific
29+import Data.Tagged
2830import Data.Text (Text)
2931import Data.Time
3032import Data.Time.Calendar.WeekDate
@@ -70,8 +72,8 @@ instance IsOption TestWithESVersion where
7072 parseValue "1" = Just TestV1
7173 parseValue "5" = Just TestV5
7274 parseValue _ = Nothing
73− optionName = "es-version"
74− optionHelp = "Version of ES to test against, either 1 or 5, defaulting to 1."
75+ optionName = Tagged "es-version"
76+ optionHelp = Tagged "Version of ES to test against, either 1 or 5, defaulting to 1."
7577
7678
7779class ESVersion v => TestESVersion v where
@@ -145,7 +147,10 @@ instance TestESVersion ESV5 where
145147
146148-------------------------------------------------------------------------------
147149setupSearch
148− :: forall proxy v. (TestESVersion v, MonadIO (BH v IO))
150+ :: forall proxy v. ( TestESVersion v
151+ , MonadIO (BH v IO)
152+ , Functor (BH v IO)
153+ )
149154 => proxy v
150155 -> (EsScribeCfg v -> EsScribeCfg v)
151156 -> IO Scribe
@@ -163,7 +168,13 @@ setupSearch prx modScribeCfg = do
163168
164169
165170-------------------------------------------------------------------------------
166−teardownSearch :: (TestESVersion v, Monad (BH v IO)) => proxy v -> IO ()
171+teardownSearch
172+ :: ( TestESVersion v
173+ , Monad (BH v IO)
174+ , Functor (BH v IO)
175+ )
176+ => proxy v
177+ -> IO ()
167178teardownSearch prx = do
168179 bh prx $ do
169180 dropESSchema prx
@@ -174,6 +185,7 @@ teardownSearch prx = do
174185withSearch
175186 :: ( TestESVersion v
176187 , MonadIO (BH v IO)
188+ , Functor (BH v IO)
177189 )
178190 => proxy v
179191 -> (IO Scribe -> TestTree)
@@ -185,6 +197,7 @@ withSearch = withSearch' id
185197withSearch'
186198 :: ( TestESVersion v
187199 , MonadIO (BH v IO)
200+ , Functor (BH v IO)
188201 )
189202 => (EsScribeCfg v -> EsScribeCfg v)
190203 -> proxy v
@@ -197,6 +210,7 @@ withSearch' modScribeCfg prx = withResource (setupSearch prx modScribeCfg) (cons
197210esTests
198211 :: ( TestESVersion v
199212 , MonadIO (BH v IO)
213+ , Functor (BH v IO)
200214 , Show (IndexName v)
201215 )
202216 => proxy v
@@ -357,6 +371,7 @@ annotatedExampleValue = Array $ V.fromList
357371getLogs
358372 :: ( TestESVersion v
359373 , Monad (BH v IO)
374+ , Functor (BH v IO)
360375 , Show (IndexName v)
361376 )
362377 => proxy v
@@ -368,6 +383,7 @@ getLogs prx = getLogsByIndex prx (ixn prx)
368383getLogsByIndex
369384 :: ( TestESVersion v
370385 , Monad (BH v IO)
386+ , Functor (BH v IO)
371387 , Show (IndexName v)
372388 )
373389 => proxy v
@@ -449,6 +465,7 @@ mn prx = toMappingName prx "logs"
449465dropESSchema
450466 :: ( TestESVersion v
451467 , Monad (BH v IO)
468+ , Functor (BH v IO)
452469 )
453470 => proxy v
454471 -> BH v IO ()
@@ -459,6 +476,7 @@ dropESSchema prx = void $ deleteIndex prx (toIndexName prx "katip-elasticsearch-
459476dropESSTemplate
460477 :: ( TestESVersion v
461478 , Monad (BH v IO)
479+ , Functor (BH v IO)
462480 )
463481 => proxy v
464482 -> BH v IO ()