@@ -1,3 +1,4 @@
1+{-# LANGUAGE DeriveDataTypeable #-}
1{-# LANGUAGE FlexibleContexts #-}
2{-# LANGUAGE FlexibleContexts #-}
2{-# LANGUAGE KindSignatures #-}
3{-# LANGUAGE KindSignatures #-}
3{-# LANGUAGE OverloadedStrings #-}
4{-# LANGUAGE OverloadedStrings #-}
@@ -25,6 +26,7 @@ import Data.ByteString.Lazy (ByteString)
25import qualified Data.HashMap.Strict as HM
26import qualified Data.HashMap.Strict as HM
26import Data.Monoid
27import Data.Monoid
27import Data.Scientific
28import Data.Scientific
28import Data.Text (Text)
30import Data.Text (Text)
29import Data.Time
31import Data.Time
30import Data.Time.Calendar.WeekDate
32import Data.Time.Calendar.WeekDate
@@ -70,8 +72,8 @@ instance IsOption TestWithESVersion where
70 parseValue "1" = Just TestV1
72 parseValue "1" = Just TestV1
71 parseValue "5" = Just TestV5
73 parseValue "5" = Just TestV5
72 parseValue _ = Nothing
74 parseValue _ = Nothing
73− optionName = "es-version"
75+ optionName = Tagged "es-version"
74− optionHelp = "Version of ES to test against, either 1 or 5, defaulting to 1."
76+ optionHelp = Tagged "Version of ES to test against, either 1 or 5, defaulting to 1."
77class ESVersion v => TestESVersion v where
79class ESVersion v => TestESVersion v where
@@ -145,7 +147,10 @@ instance TestESVersion ESV5 where
146-------------------------------------------------------------------------------
148-------------------------------------------------------------------------------
147setupSearch
149setupSearch
148− :: forall proxy v. (TestESVersion v, MonadIO (BH v IO))
150+ :: forall proxy v. ( TestESVersion v
149 => proxy v
154 => proxy v
150 -> (EsScribeCfg v -> EsScribeCfg v)
155 -> (EsScribeCfg v -> EsScribeCfg v)
151 -> IO Scribe
156 -> IO Scribe
@@ -163,7 +168,13 @@ setupSearch prx modScribeCfg = do
165-------------------------------------------------------------------------------
170-------------------------------------------------------------------------------
166−teardownSearch :: (TestESVersion v, Monad (BH v IO)) => proxy v -> IO ()
171+teardownSearch
172+ :: ( TestESVersion v
167teardownSearch prx = do
178teardownSearch prx = do
168 bh prx $ do
179 bh prx $ do
169 dropESSchema prx
180 dropESSchema prx
@@ -174,6 +185,7 @@ teardownSearch prx = do
174withSearch
185withSearch
175 :: ( TestESVersion v
186 :: ( TestESVersion v
176 , MonadIO (BH v IO)
187 , MonadIO (BH v IO)
178 => proxy v
190 => proxy v
179 -> (IO Scribe -> TestTree)
191 -> (IO Scribe -> TestTree)
@@ -185,6 +197,7 @@ withSearch = withSearch' id
185withSearch'
197withSearch'
186 :: ( TestESVersion v
198 :: ( TestESVersion v
187 , MonadIO (BH v IO)
199 , MonadIO (BH v IO)
189 => (EsScribeCfg v -> EsScribeCfg v)
202 => (EsScribeCfg v -> EsScribeCfg v)
190 -> proxy v
203 -> proxy v
@@ -197,6 +210,7 @@ withSearch' modScribeCfg prx = withResource (setupSearch prx modScribeCfg) (cons
198 :: ( TestESVersion v
211 :: ( TestESVersion v
199 , MonadIO (BH v IO)
212 , MonadIO (BH v IO)
200 , Show (IndexName v)
214 , Show (IndexName v)
202 => proxy v
216 => proxy v
@@ -357,6 +371,7 @@ annotatedExampleValue = Array $ V.fromList
358 :: ( TestESVersion v
372 :: ( TestESVersion v
359 , Monad (BH v IO)
373 , Monad (BH v IO)
360 , Show (IndexName v)
375 , Show (IndexName v)
362 => proxy v
377 => proxy v
@@ -368,6 +383,7 @@ getLogs prx = getLogsByIndex prx (ixn prx)
368getLogsByIndex
383getLogsByIndex
369 :: ( TestESVersion v
384 :: ( TestESVersion v
370 , Monad (BH v IO)
385 , Monad (BH v IO)
371 , Show (IndexName v)
387 , Show (IndexName v)
373 => proxy v
389 => proxy v
@@ -449,6 +465,7 @@ mn prx = toMappingName prx "logs"
449dropESSchema
465dropESSchema
450 :: ( TestESVersion v
466 :: ( TestESVersion v
451 , Monad (BH v IO)
467 , Monad (BH v IO)
453 => proxy v
470 => proxy v
454 -> BH v IO ()
471 -> BH v IO ()
@@ -459,6 +476,7 @@ dropESSchema prx = void $ deleteIndex prx (toIndexName prx "katip-elasticsearch-
459dropESSTemplate
476dropESSTemplate
460 :: ( TestESVersion v
477 :: ( TestESVersion v
461 , Monad (BH v IO)
478 , Monad (BH v IO)
463 => proxy v
481 => proxy v
464 -> BH v IO ()
482 -> BH v IO ()