github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/pkg/types/fskey_test.go (about) 1 package types 2 3 import ( 4 "io/fs" 5 "os" 6 "testing" 7 8 "github.com/liamg/memoryfs" 9 10 "github.com/khulnasoft-lab/defsec/pkg/extrafs" 11 12 "github.com/stretchr/testify/assert" 13 ) 14 15 func Test_FSKey(t *testing.T) { 16 17 systems := []fs.FS{ 18 os.DirFS("."), 19 os.DirFS(".."), 20 extrafs.OSDir("."), 21 extrafs.OSDir(".."), 22 memoryfs.New(), 23 memoryfs.New(), 24 } 25 26 keys := make(map[string]struct{}) 27 28 t.Run("uniqueness", func(t *testing.T) { 29 for _, system := range systems { 30 key := CreateFSKey(system) 31 _, ok := keys[key] 32 assert.False(t, ok, "filesystem keys should be unique") 33 keys[key] = struct{}{} 34 } 35 }) 36 37 t.Run("reproducible", func(t *testing.T) { 38 for _, system := range systems { 39 key := CreateFSKey(system) 40 _, ok := keys[key] 41 assert.True(t, ok, "filesystem keys should be reproducible") 42 } 43 }) 44 }