24 lines
846 B
Go
24 lines
846 B
Go
package activitypool
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestMemoryPoolLooksUpOnlyLiveProxyUpstream(t *testing.T) {
|
|
now := time.Date(2026, 7, 31, 15, 0, 0, 0, time.UTC)
|
|
pool := seededHealthPool(t, now)
|
|
upstream, err := pool.UpstreamForProxy(context.Background(), "proxy-a", now.Add(time.Second))
|
|
if err != nil || upstream != "provider-a" {
|
|
t.Fatalf("UpstreamForProxy(live) = (%q, %v)", upstream, err)
|
|
}
|
|
if _, err := pool.UpstreamForProxy(context.Background(), "proxy-a", now.Add(2*time.Minute)); !errors.Is(err, ErrActivityNotFound) {
|
|
t.Fatalf("UpstreamForProxy(expired) error = %v, want ErrActivityNotFound", err)
|
|
}
|
|
if _, err := pool.UpstreamForProxy(context.Background(), "", now); !errors.Is(err, ErrInvalidProxyLookup) {
|
|
t.Fatalf("UpstreamForProxy(empty) error = %v, want ErrInvalidProxyLookup", err)
|
|
}
|
|
}
|