package main import ( "strings" "testing" "github.com/novox/mesh-controller/internal/conditions" "github.com/novox/mesh-controller/internal/link" ) // A provider that keeps failing a consumer is a problem `status` names (novox/hq ADR 0224), kept as // the condition store's first kind (to-be 45 §2). On 2026-10-05 the identity provider refused every // consumer for a day and status called the mesh well (04-ISSUES/179): this is that day, told to the // controller the way the provider now tells it. // A provider no longer assigned where it ran has nothing running to fail anybody: its last word is // cleared on the next look, said as resolved by the assignment. // **The store away holds a recovery** (ADR 0224 §3): a standing that cannot be kept is asked again. func TestAStandingTheStoreCannotKeepIsAskedAgain(t *testing.T) { kept := standings{keeper: func() *conditions.Keeper { return nil }} if _, err := kept.Stood(t.Context(), link.Standing{Module: "idp", ProviderNode: "anchor", Consumer: "x"}); err == nil || !strings.Contains(err.Error(), link.ErrTryAgain.Error()) { t.Fatalf("answered %v", err) } }