Files
sendico/api/pkg/discovery/instanceid_test.go
2026-01-04 12:57:40 +01:00

54 lines
1.0 KiB
Go

package discovery
import (
"fmt"
"sync"
"testing"
)
func resetInstanceIDForTest() {
instanceID = ""
instanceOnce = sync.Once{}
}
func TestInstanceIDStable(t *testing.T) {
resetInstanceIDForTest()
original := instanceIDGenerator
defer func() {
instanceIDGenerator = original
resetInstanceIDForTest()
}()
instanceIDGenerator = func() string {
return "fixed-id"
}
first := InstanceID()
second := InstanceID()
if first != "fixed-id" || second != "fixed-id" {
t.Fatalf("expected stable instance id, got %q and %q", first, second)
}
}
func TestInstanceIDRegeneratesAfterReset(t *testing.T) {
resetInstanceIDForTest()
original := instanceIDGenerator
defer func() {
instanceIDGenerator = original
resetInstanceIDForTest()
}()
counter := 0
instanceIDGenerator = func() string {
counter++
return fmt.Sprintf("id-%d", counter)
}
first := InstanceID()
resetInstanceIDForTest()
second := InstanceID()
if first == second {
t.Fatalf("expected new instance id after reset, got %q", first)
}
}