{-# LANGUAGE OverloadedStrings #-}
module Main
( main
) where
-------------------------------------------------------------------------------
import Data.Time.Clock.POSIX
import Network.AWS.Types
import Network.HTTP.Client
import Test.Tasty
import Test.Tasty.HUnit
-------------------------------------------------------------------------------
import Database.Bloodhound.Auth.Amazonka.Internal
-------------------------------------------------------------------------------
main :: IO ()
main = defaultMain tests
-------------------------------------------------------------------------------
tests :: TestTree
tests = testGroup "bloodhound-amazonka-auth"
[
amazonkaAuthHookTests
]
-------------------------------------------------------------------------------
amazonkaAuthHookTests :: TestTree
amazonkaAuthHookTests = testGroup "amazonkaAuthHook"
[
testCase "does not mangle query parameters" $ do
req <- parseUrl "http://localhost:9200/foo/foo/_search?scroll=1m&search_type=scan"
let ae = AuthEnv (AccessKey "access key") (SecretKey "secret key") Nothing Nothing
let now = posixSecondsToUTCTime 0
let Right res = amazonkaAuthHook' ae NorthVirginia req now
secure res @?= False
host res @?= "localhost"
port res @?= 9200
path res @?= "/foo/foo/_search"
queryString res @?= "?scroll=1m&search_type=scan"
]