arbiter-test-common-0.1.0.0
arbiter-test-common
Safe HaskellNone
LanguageGHC2024

Arbiter.Test.ConcurrencyLimit

Description

Backend-parameterized integration tests for per-job concurrency limits over the shared CLReg registry. Each job's key comes from the 'HasConcurrency CLPayload' instance.

Synopsis

Documentation

Source #newtype CLPayload

A payload declaring one concurrency pool.

Constructors

CLPayload Text 

Instances

Instances details
FromJSON CLPayload Source # 
Instance details

Defined in Arbiter.Test.ConcurrencyLimit

ToJSON CLPayload Source # 
Instance details

Defined in Arbiter.Test.ConcurrencyLimit

HasConcurrency CLPayload Source # 
Instance details

Defined in Arbiter.Test.ConcurrencyLimit

Eq CLPayload Source # 
Instance details

Defined in Arbiter.Test.ConcurrencyLimit

Generic CLPayload Source # 
Instance details

Defined in Arbiter.Test.ConcurrencyLimit

Associated Types

type Rep CLPayload 
Instance details

Defined in Arbiter.Test.ConcurrencyLimit

type Rep CLPayload = D1 ('MetaData "CLPayload" "Arbiter.Test.ConcurrencyLimit" "arbiter-test-common-0.1.0.0-inplace" 'True) (C1 ('MetaCons "CLPayload" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Show CLPayload Source # 
Instance details

Defined in Arbiter.Test.ConcurrencyLimit

type Rep CLPayload Source # 
Instance details

Defined in Arbiter.Test.ConcurrencyLimit

type Rep CLPayload = D1 ('MetaData "CLPayload" "Arbiter.Test.ConcurrencyLimit" "arbiter-test-common-0.1.0.0-inplace" 'True) (C1 ('MetaCons "CLPayload" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

Source #type CLReg = '[Queue "arbiter_concurrency_test" CLPayload]

A one-queue registry over CLPayload.

Source #concurrencyTable :: Text

Table name for CLReg, shared across backends.

Source #concurrencyLimitSpec :: forall env m. HasRegistry m CLReg => (forall a. env -> m a -> IO a) -> SpecWith env

The concurrency-limit suite, run against any backend.