packages feed

otel-effectful-1.0.0: test/Effectful/OpenTelemetry/Tracing/Span/ContextSpec.hs

module Effectful.OpenTelemetry.Tracing.Span.ContextSpec where

import Arbitrary ()
import Effectful
import Effectful.Hspec
import Effectful.OpenTelemetry.Tracing.Span.Context
import Effectful.OpenTelemetry.Tracing.Trace.Flags qualified as Trace.Flags
import Effectful.OpenTelemetry.Tracing.Trace.StateSpec ()
import Effectful.QuickCheck ((===))
import Prelude

spec :: (Hspec :> es) => Eff es ()
spec = prop "toTraceparent/fromTraceparerent round trip" \c ->
    fromTraceparent (toTraceparent c)
        === Just
            c
                { traceState = mempty
                , traceFlags = c.traceFlags{Trace.Flags.remote = Trace.Flags.IsRemote}
                }