discovery service

This commit is contained in:
Stephan D
2026-01-02 02:44:01 +01:00
parent 97ba7500dc
commit ea1c69f14a
47 changed files with 2799 additions and 701 deletions

View File

@@ -0,0 +1,53 @@
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)
}
}