Pulse/internal/mock/integration_release_test.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")
}
}