github.com/noqcks/syft@v0.0.0-20230920222752-a9e2c4e288e5/syft/pkg/cataloger/golang/billy_adapter_test.go (about)

     1  package golang
     2  
     3  import (
     4  	"io/fs"
     5  	"os"
     6  	"testing"
     7  
     8  	"github.com/go-git/go-git/v5"
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func Test_billyFSAdapter(t *testing.T) {
    13  	r, err := git.PlainInit("test-fixtures/repo", false)
    14  
    15  	t.Cleanup(func() {
    16  		_ = os.RemoveAll("test-fixtures/repo/.git")
    17  	})
    18  
    19  	wt, err := r.Worktree()
    20  	require.NoError(t, err)
    21  	f := billyFSAdapter{
    22  		fs: wt.Filesystem,
    23  	}
    24  
    25  	found := ""
    26  	err = fs.WalkDir(f, ".", func(path string, d fs.DirEntry, err error) error {
    27  		found = path
    28  		return nil
    29  	})
    30  	require.NoError(t, err)
    31  
    32  	require.Equal(t, "LICENSE", found)
    33  }