feat: storage sync/async funcs
This commit is contained in:
@@ -22,6 +22,39 @@ type callbackResult[T any] struct {
|
||||
err error
|
||||
}
|
||||
|
||||
func TestStateRoundTrip(t *testing.T) {
|
||||
s := newTestStorage(t)
|
||||
want := sampleState()
|
||||
|
||||
exists, err := s.StateExists()
|
||||
if err != nil {
|
||||
t.Fatalf("state exists before save: %v", err)
|
||||
}
|
||||
if exists {
|
||||
t.Fatal("state file should not exist before save")
|
||||
}
|
||||
|
||||
if err := s.SaveState(want); err != nil {
|
||||
t.Fatalf("save state: %v", err)
|
||||
}
|
||||
|
||||
exists, err = s.StateExists()
|
||||
if err != nil {
|
||||
t.Fatalf("state exists after save: %v", err)
|
||||
}
|
||||
if !exists {
|
||||
t.Fatal("state file should exist after save")
|
||||
}
|
||||
|
||||
got, err := s.LoadState()
|
||||
if err != nil {
|
||||
t.Fatalf("load state: %v", err)
|
||||
}
|
||||
if !reflect.DeepEqual(got, want) {
|
||||
t.Fatalf("loaded state mismatch\nwant: %#v\ngot: %#v", want, got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestStateRoundTripAsync(t *testing.T) {
|
||||
s := newTestStorage(t)
|
||||
want := sampleState()
|
||||
|
||||
Reference in New Issue
Block a user