diff --git a/src/fileinfostore/file_info_store.go b/src/fileinfostore/file_info_store.go index 50e7d22..1f299c2 100644 --- a/src/fileinfostore/file_info_store.go +++ b/src/fileinfostore/file_info_store.go @@ -13,6 +13,7 @@ const ( type IFileInfoStore interface { AddSharing(dirPath string) error DelSharing(dirPath string) error + GetSharing(dirPath string) (bool, bool) ListSharings(prefix string) (map[string]bool, error) } @@ -47,6 +48,10 @@ func (us *FileInfoStore) DelSharing(dirPath string) error { return us.store.DelBoolIn(SharingNs, dirPath) } +func (us *FileInfoStore) GetSharing(dirPath string) (bool, bool) { + return us.store.GetBoolIn(SharingNs, dirPath) +} + func (us *FileInfoStore) ListSharings(prefix string) (map[string]bool, error) { return us.store.ListBoolsByPrefixIn(prefix, SharingNs) } diff --git a/src/fileinfostore/file_info_store_test.go b/src/fileinfostore/file_info_store_test.go index 848b7f0..df33c06 100644 --- a/src/fileinfostore/file_info_store_test.go +++ b/src/fileinfostore/file_info_store_test.go @@ -30,6 +30,10 @@ func TestUserStores(t *testing.T) { if !sharingMap[sharingDir] { t.Fatalf("sharing(%s) not found", sharingDir) } + mustTrue, exist := store.GetSharing(sharingDir) + if !mustTrue || !exist { + t.Fatalf("get sharing(%t %t) should exist", mustTrue, exist) + } } for _, dirPath := range dirPaths { @@ -47,6 +51,10 @@ func TestUserStores(t *testing.T) { if sharingMap[dirPath] { t.Fatalf("sharing(%s) should not exist", dirPath) } + _, exist := store.GetSharing(dirPath) + if exist { + t.Fatalf("get sharing(%t) should not exit", exist) + } } }