diff --git a/kvs.go b/kvs.go index ca52491..607db4c 100644 --- a/kvs.go +++ b/kvs.go @@ -99,4 +99,8 @@ func (ps *SwarmKvs) Delete(ctx context.Context, key []byte) error { } return nil } +// Close shuts down the index and stops the background process loop. +func (ps *SwarmKvs) Close() error { + return ps.idx.Close() +} diff --git a/kvs_test.go b/kvs_test.go index a537f71..c72fb31 100644 --- a/kvs_test.go +++ b/kvs_test.go @@ -134,4 +134,17 @@ func TestPotKvs_Save(t *testing.T) { assert.NoError(t, err) assert.Equal(t, val2, val) }) + t.Run("Create KVS, write to it, close it", func(t *testing.T) { + ls := createLs() + kvs1, _ := pot.NewSwarmKvs(ls) + + err := kvs1.Put(ctx, key1, val1) + assert.NoError(t, err) + + _, err = kvs1.Save(ctx) + assert.NoError(t, err) + + err = kvs1.Close() + assert.NoError(t, err) + }) }