github.com/lineaje-labs/syft@v0.98.1-0.20231227153149-9e393f60ff1b/syft/internal/fileresolver/deferred_test.go (about)

     1  package fileresolver
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  
     8  	"github.com/anchore/syft/syft/file"
     9  )
    10  
    11  func Test_NewDeferredResolver(t *testing.T) {
    12  	creatorCalled := false
    13  
    14  	deferredResolver := NewDeferred(func() (file.Resolver, error) {
    15  		creatorCalled = true
    16  		return file.NewMockResolverForPaths(), nil
    17  	})
    18  
    19  	require.False(t, creatorCalled)
    20  	require.Nil(t, deferredResolver.resolver)
    21  
    22  	_, _ = deferredResolver.FilesByGlob("**/*")
    23  
    24  	require.True(t, creatorCalled)
    25  	require.NotNil(t, deferredResolver.resolver)
    26  }