package companion import "testing" func TestFileSnapshotSequenceStorePersistsMonotonicSequence(t *testing.T) { t.Chdir(t.TempDir()) store, err := NewFileSnapshotSequenceStore(SnapshotSequenceFilename) if err != nil { t.Fatalf("create sequence store: %v", err) } first, err := store.Next("players", "current", 100) if err != nil || first != 100 { t.Fatalf("reserve first sequence: sequence=%d err=%v", first, err) } restarted, err := NewFileSnapshotSequenceStore(SnapshotSequenceFilename) if err != nil { t.Fatalf("restart sequence store: %v", err) } second, err := restarted.Next("players", "current", 1) if err != nil || second != 101 { t.Fatalf("reserve persisted sequence: sequence=%d err=%v", second, err) } } func TestFileSnapshotSequenceStoreRejectsHostPaths(t *testing.T) { for _, filename := range []string{"../snapshot-sequences.json", "/tmp/snapshot-sequences.json", ""} { if _, err := NewFileSnapshotSequenceStore(filename); err == nil { t.Fatalf("expected invalid filename rejection: %q", filename) } } }