unistore: refactor get to return a reader (#107951)
This commit is contained in:
@@ -85,17 +85,16 @@ func runTestKVGet(t *testing.T, kv resource.KV, nsPrefix string) {
|
||||
require.NoError(t, err)
|
||||
|
||||
// Now get it
|
||||
obj, err := kv.Get(ctx, section, "existing-key")
|
||||
reader, err := kv.Get(ctx, section, "existing-key")
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "existing-key", obj.Key)
|
||||
|
||||
// Read the value
|
||||
value, err := io.ReadAll(obj.Value)
|
||||
value, err := io.ReadAll(reader)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, testValue, string(value))
|
||||
|
||||
// Close the value reader
|
||||
err = obj.Value.Close()
|
||||
err = reader.Close()
|
||||
require.NoError(t, err)
|
||||
})
|
||||
|
||||
@@ -122,14 +121,13 @@ func runTestKVSave(t *testing.T, kv resource.KV, nsPrefix string) {
|
||||
require.NoError(t, err)
|
||||
|
||||
// Verify it was saved
|
||||
obj, err := kv.Get(ctx, section, "new-key")
|
||||
reader, err := kv.Get(ctx, section, "new-key")
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "new-key", obj.Key)
|
||||
|
||||
value, err := io.ReadAll(obj.Value)
|
||||
value, err := io.ReadAll(reader)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, testValue, string(value))
|
||||
err = obj.Value.Close()
|
||||
err = reader.Close()
|
||||
require.NoError(t, err)
|
||||
})
|
||||
|
||||
@@ -144,13 +142,13 @@ func runTestKVSave(t *testing.T, kv resource.KV, nsPrefix string) {
|
||||
require.NoError(t, err)
|
||||
|
||||
// Verify it was updated
|
||||
obj, err := kv.Get(ctx, section, "overwrite-key")
|
||||
reader, err := kv.Get(ctx, section, "overwrite-key")
|
||||
require.NoError(t, err)
|
||||
|
||||
value, err := io.ReadAll(obj.Value)
|
||||
value, err := io.ReadAll(reader)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, newValue, string(value))
|
||||
err = obj.Value.Close()
|
||||
err = reader.Close()
|
||||
require.NoError(t, err)
|
||||
})
|
||||
|
||||
@@ -166,13 +164,13 @@ func runTestKVSave(t *testing.T, kv resource.KV, nsPrefix string) {
|
||||
require.NoError(t, err)
|
||||
|
||||
// Verify binary data
|
||||
obj, err := kv.Get(ctx, section, "binary-key")
|
||||
reader, err := kv.Get(ctx, section, "binary-key")
|
||||
require.NoError(t, err)
|
||||
|
||||
value, err := io.ReadAll(obj.Value)
|
||||
value, err := io.ReadAll(reader)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, binaryData, value)
|
||||
err = obj.Value.Close()
|
||||
err = reader.Close()
|
||||
require.NoError(t, err)
|
||||
})
|
||||
|
||||
@@ -182,15 +180,14 @@ func runTestKVSave(t *testing.T, kv resource.KV, nsPrefix string) {
|
||||
require.NoError(t, err)
|
||||
|
||||
// Verify it was saved with empty data
|
||||
obj, err := kv.Get(ctx, section, "empty-key")
|
||||
reader, err := kv.Get(ctx, section, "empty-key")
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "empty-key", obj.Key)
|
||||
|
||||
value, err := io.ReadAll(obj.Value)
|
||||
value, err := io.ReadAll(reader)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "", string(value))
|
||||
assert.Len(t, value, 0)
|
||||
err = obj.Value.Close()
|
||||
err = reader.Close()
|
||||
require.NoError(t, err)
|
||||
})
|
||||
}
|
||||
@@ -416,14 +413,14 @@ func runTestKVConcurrent(t *testing.T, kv resource.KV, nsPrefix string) {
|
||||
}
|
||||
|
||||
// Get immediately
|
||||
obj, err := kv.Get(ctx, section, key)
|
||||
reader, err := kv.Get(ctx, section, key)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
readValue, err := io.ReadAll(obj.Value)
|
||||
readValue, err := io.ReadAll(reader)
|
||||
require.NoError(t, err)
|
||||
err = obj.Value.Close()
|
||||
err = reader.Close()
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, value, string(readValue))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user