bloodhound-1.0.0.0: tests/Test/SourceFilteringSpec.hs
{-# LANGUAGE OverloadedStrings #-}
module Test.SourceFilteringSpec (spec) where
import Data.Aeson.KeyMap qualified as X
import TestsUtils.Common
import TestsUtils.Import
spec :: Spec
spec =
describe "Source filtering" $ do
it "doesn't include source when sources are disabled" $
withTestEnv $
searchExpectSource
NoSource
(Left (EsError Nothing "Source was missing"))
it "includes a source" $
withTestEnv $
searchExpectSource
(SourcePatterns (PopPattern (Pattern "message")))
(Right (Object (X.fromList [("message", String "Use haskell!")])))
it "includes sources" $
withTestEnv $
searchExpectSource
(SourcePatterns (PopPatterns [Pattern "user", Pattern "message"]))
(Right (Object (X.fromList [("user", String "bitemyapp"), ("message", String "Use haskell!")])))
it "includes source patterns" $
withTestEnv $
searchExpectSource
(SourcePatterns (PopPattern (Pattern "*ge")))
(Right (Object (X.fromList [("age", Number 10000), ("message", String "Use haskell!")])))
it "excludes source patterns" $
withTestEnv $
searchExpectSource
( SourceIncludeExclude
(Include [])
(Exclude [Pattern "l*", Pattern "*ge", Pattern "postDate", Pattern "extra"])
)
(Right (Object (X.fromList [("user", String "bitemyapp")])))