mirror of
https://github.com/LBRYFoundation/reflector.go.git
synced 2025-08-23 17:27:25 +00:00
add test for DiskStore.list()
This commit is contained in:
parent
3608971f0b
commit
7a3225434e
2 changed files with 26 additions and 1 deletions
|
@ -117,8 +117,13 @@ func (d *DiskStore) Delete(hash string) error {
|
||||||
return errors.Err(err)
|
return errors.Err(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// list returns a slice of blobs that already exist in the blobDir
|
// list returns the hashes of blobs that already exist in the blobDir
|
||||||
func (d *DiskStore) list() ([]string, error) {
|
func (d *DiskStore) list() ([]string, error) {
|
||||||
|
err := d.initOnce()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
dirs, err := afero.ReadDir(d.fs, d.blobDir)
|
dirs, err := afero.ReadDir(d.fs, d.blobDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
|
@ -119,3 +119,23 @@ func TestLRUStore_UnderlyingBlobMissing(t *testing.T) {
|
||||||
// lru.Get() removes hash if underlying store doesn't have it
|
// lru.Get() removes hash if underlying store doesn't have it
|
||||||
assert.False(t, lru.lru.Contains(hash))
|
assert.False(t, lru.lru.Contains(hash))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestLRUStore_loadExisting(t *testing.T) {
|
||||||
|
d := NewDiskStore("/", 2)
|
||||||
|
d.fs = afero.NewMemMapFs()
|
||||||
|
|
||||||
|
hash := "hash"
|
||||||
|
b := []byte("this is a blob of stuff")
|
||||||
|
err := d.Put(hash, b)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
existing, err := d.list()
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, 1, len(existing), "blob should exist in cache")
|
||||||
|
assert.Equal(t, hash, existing[0])
|
||||||
|
|
||||||
|
lru := NewLRUStore(d, 3) // lru should load existing blobs when it's created
|
||||||
|
has, err := lru.Has(hash)
|
||||||
|
require.NoError(t, err)
|
||||||
|
assert.True(t, has, "hash should be loaded from disk store but it's not")
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue