mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-05-07 00:37:36 +00:00
42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
//go:build release
|
|
|
|
package mock
|
|
|
|
import (
|
|
"errors"
|
|
"testing"
|
|
)
|
|
|
|
func TestSetEnabled_ReleaseRequiresAuthorization(t *testing.T) {
|
|
resetMockIntegrationState(t)
|
|
SetReleaseFixturesAuthorized(false)
|
|
t.Cleanup(func() { SetReleaseFixturesAuthorized(false) })
|
|
|
|
err := SetEnabled(true)
|
|
if !errors.Is(err, ErrReleaseFixturesUnauthorized) {
|
|
t.Fatalf("SetEnabled(true) error = %v, want %v", err, ErrReleaseFixturesUnauthorized)
|
|
}
|
|
if IsMockEnabled() {
|
|
t.Fatal("expected mock mode to remain disabled without release authorization")
|
|
}
|
|
}
|
|
|
|
func TestSetEnabled_ReleaseAuthorizedRuntimeCanEnable(t *testing.T) {
|
|
resetMockIntegrationState(t)
|
|
SetReleaseFixturesAuthorized(true)
|
|
t.Cleanup(func() { SetReleaseFixturesAuthorized(false) })
|
|
|
|
if err := SetEnabled(true); err != nil {
|
|
t.Fatalf("SetEnabled(true): %v", err)
|
|
}
|
|
if !IsMockEnabled() {
|
|
t.Fatal("expected mock mode to enable once release authorization is granted")
|
|
}
|
|
|
|
if err := SetEnabled(false); err != nil {
|
|
t.Fatalf("SetEnabled(false): %v", err)
|
|
}
|
|
if IsMockEnabled() {
|
|
t.Fatal("expected mock mode to disable cleanly")
|
|
}
|
|
}
|