github.com/devseccon/trivy@v0.47.1-0.20231123133102-bd902a0bd996/pkg/module/memfs_test.go (about)

     1  package module
     2  
     3  import (
     4  	"io"
     5  	"os"
     6  	"strings"
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func TestMemFS(t *testing.T) {
    13  	m := &memFS{}
    14  	require.Nil(t, m.current)
    15  
    16  	const path, content = "/usr/foo/bar.txt", "my-content"
    17  	err := m.initialize(path, strings.NewReader(content))
    18  	require.NoError(t, err)
    19  	require.NotNil(t, m.current)
    20  
    21  	t.Run("happy", func(t *testing.T) {
    22  		f, err := m.Open(path)
    23  		require.NoError(t, err)
    24  		actual, err := io.ReadAll(f)
    25  		require.NoError(t, err)
    26  		require.Equal(t, content, string(actual))
    27  	})
    28  
    29  	t.Run("not found", func(t *testing.T) {
    30  		_, err = m.Open(path + "tmp")
    31  		require.ErrorIs(t, err, os.ErrNotExist)
    32  	})
    33  }