ProofedMesh/services/verification-service/internal/store/memory_test.go

32 lines
719 B
Go
Raw Normal View History

package store
import (
"context"
"errors"
"testing"
"time"
)
func TestMemory_Reserve_Idempotent(t *testing.T) {
m := NewMemory()
d := Decision{
DecisionID: "dec-1",
ApprovalRef: "sha256:aaaa",
TransformRef: "sha256:bbbb",
PayloadHash: "sha256:cccc",
SinkTarget: "sink:dummy-sink",
CreatedAt: time.Now(),
}
if err := m.Reserve(context.Background(), d); err != nil {
t.Fatalf("first reserve: %v", err)
}
err := m.Reserve(context.Background(), d)
if !errors.Is(err, ErrReplay) {
t.Fatalf("second reserve: want ErrReplay, got %v", err)
}
got, ok, _ := m.Get(context.Background(), "dec-1")
if !ok || got.ApprovalRef != d.ApprovalRef {
t.Fatalf("get: ok=%v, got=%+v", ok, got)
}
}