module BuilderTest ( builderTests ) where import Data.Text (Text) import Database.PostgreSQL.Query import Database.PostgreSQL.Simple import Test.Tasty import Test.Tasty.HUnit caseLogDefault :: IO Connection -> TestTree caseLogDefault iocon = testCase "expect parameter pasted" $ do con <- iocon let t = "TEXT" :: Text (q, l) <- runSqlBuilder con defaultLogMasker [sqlExp|INSERT #{t}|] q @?= "INSERT 'TEXT'" l @?= "INSERT 'TEXT'" caseLogMask :: IO Connection -> TestTree caseLogMask iocon = testCase "exptect parameter masked" $ do con <- iocon let t = "TEXT" :: Text (q, l) <- runSqlBuilder con defaultLogMasker [sqlExp|INSERT #?{t}|] q @?= "INSERT 'TEXT'" l @?= "INSERT ''" builderTests :: TestTree builderTests = withResource (connectPostgreSQL "") close $ \con -> testGroup "BuilderTest" [ caseLogMask con , caseLogDefault con ]