package dbr import ( "context" "testing" "github.com/stretchr/testify/assert" ) func TestContext_DetectRuntimePanics(t *testing.T) { ctx := context.Background() // Run detection. ctx = DetectRuntime(ctx) // Expect a panic if the detection is run twice. assert.Panics(t, func() { ctx = DetectRuntime(ctx) }) } func TestContext_MockRuntimePanics(t *testing.T) { ctx := context.Background() // Run detection. ctx = MockRuntime(ctx, true) // Expect a panic if the mock function is run twice. assert.Panics(t, func() { MockRuntime(ctx, true) }) } func TestContext_RunsOnRuntimePanics(t *testing.T) { ctx := context.Background() // Expect a panic if the detection is not run. assert.Panics(t, func() { RunsOnRuntime(ctx) }) } func TestContext_RunsOnRuntime(t *testing.T) { ctx := context.Background() // Run detection. ctx = DetectRuntime(ctx) // Expect no panic because detection has run. assert.NotPanics(t, func() { RunsOnRuntime(ctx) }) } func TestContext_RunsOnRuntimeWithMock(t *testing.T) { ctx := context.Background() assert.True(t, RunsOnRuntime(MockRuntime(ctx, true))) assert.False(t, RunsOnRuntime(MockRuntime(ctx, false))) }