Files
browser/plugins/examples/scum-server-plugin/companion/snapshot_sequences_test.go
T

32 lines
1.0 KiB
Go

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)
}
}
}