1// +build darwin 2 3package libkb 4 5import ( 6 "crypto/sha256" 7 "testing" 8 9 "github.com/pkg/xattr" 10 "github.com/stretchr/testify/require" 11) 12 13func TestSetDisableBackup(t *testing.T) { 14 tc := SetupTest(t, "erasable kv store disable backup", 1) 15 defer tc.Cleanup() 16 mctx := NewMetaContextForTest(tc) 17 18 subDir := "" 19 s := NewFileErasableKVStore(mctx, subDir, func(_ MetaContext, noise NoiseBytes) ([32]byte, error) { 20 return sha256.Sum256(noise[:]), nil 21 }) 22 key := "test-key" 23 value := "value" 24 25 require.NoError(t, s.Put(mctx, key, value)) 26 27 storageDir := getStorageDir(mctx, subDir) 28 // Check that we set noBackup on the key 29 metadata, err := xattr.Get(storageDir, key) 30 require.NoError(t, err) 31 require.Equal(t, []byte(noBackup), metadata) 32 33 // Check that we set noBackup on the noise 34 metadata, err = xattr.Get(storageDir, key+noiseSuffix) 35 require.NoError(t, err) 36 require.Equal(t, []byte(noBackup), metadata) 37} 38