pgmq-hasql-0.7.0.0: test/UmbrellaExportsSpec.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeOperators #-}
-- Compile witnesses: this module intentionally uses only the public umbrella.
module UmbrellaExportsSpec (grouped, polling, creation, arguments, metric, inspection, lenientMetrics, inspectionArguments) where
import Data.Int (Int32, Int64)
import Data.Text (Text)
import Data.Vector (Vector)
import Hasql.Session (Session)
import Pgmq
grouped :: ReadGrouped -> [Session (Vector Message)]
grouped args = [readGrouped args, readGroupedRoundRobin args, readGroupedHead args]
polling :: ReadGroupedWithPoll -> [Session (Vector Message)]
polling args = [readGroupedWithPoll args, readGroupedRoundRobinWithPoll args, readGroupedHeadWithPoll args]
creation :: CreatePartitionedQueue -> Int32 -> [Session ()]
creation args n = [createPartitionedQueue args, createPartitionedQueueWithPremake args n]
arguments :: QueueName -> (ReadGrouped, ReadGroupedWithPoll, CreatePartitionedQueue)
arguments q = (ReadGrouped q 30 10, ReadGroupedWithPoll q 30 10 5 100, CreatePartitionedQueue q "100" "1000")
metric :: QueueMetrics -> Maybe Int64
metric = defaultPartitionLength
inspection :: PeekMessages -> LookupMessage -> (Session (Vector Message), Session (Vector ArchivedMessage), Session (Maybe Message), Session (Maybe ArchivedMessage))
inspection page one = (peekMessages page, peekArchivedMessages page, lookupMessage one, lookupArchivedMessage one)
lenientMetrics :: Text -> Session QueueMetrics
lenientMetrics = queueMetricsUnvalidated
inspectionArguments :: Text -> (PeekMessages, LookupMessage)
inspectionArguments q = (PeekMessages q Nothing 50, LookupMessage q (MessageId 1))