github.com/noqcks/syft@v0.0.0-20230920222752-a9e2c4e288e5/syft/pkg/cataloger/internal/unionreader/union_reader_test.go (about)

     1  package unionreader
     2  
     3  import (
     4  	"io"
     5  	"strings"
     6  	"testing"
     7  
     8  	"github.com/stretchr/testify/assert"
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func Test_getUnionReader_notUnionReader(t *testing.T) {
    13  	expectedContents := "this is a test"
    14  	reader := io.NopCloser(strings.NewReader(expectedContents))
    15  
    16  	// make certain that the test fixture does not implement the union reader
    17  	_, ok := reader.(UnionReader)
    18  	require.False(t, ok)
    19  
    20  	actual, err := GetUnionReader(reader)
    21  	require.NoError(t, err)
    22  
    23  	_, ok = actual.(UnionReader)
    24  	require.True(t, ok)
    25  
    26  	b, err := io.ReadAll(actual)
    27  	require.NoError(t, err)
    28  
    29  	assert.Equal(t, expectedContents, string(b))
    30  }