github.com/falafeljan/pkger@v0.18.0/pkging/pkgtest/open.go (about)

     1  package pkgtest
     2  
     3  import (
     4  	"fmt"
     5  	"io/ioutil"
     6  	"os"
     7  	"path/filepath"
     8  	"testing"
     9  
    10  	"github.com/markbates/pkger/pkging"
    11  	"github.com/stretchr/testify/require"
    12  )
    13  
    14  func OpenTest(t *testing.T, ref *Ref, pkg pkging.Pkger) {
    15  	r := require.New(t)
    16  
    17  	name := "/go.mod"
    18  
    19  	osf, err := os.Open(filepath.Join(ref.Dir, name))
    20  	r.NoError(err)
    21  
    22  	osi, err := osf.Stat()
    23  	r.NoError(err)
    24  
    25  	_, err = LoadFile(name, ref, pkg)
    26  	r.NoError(err)
    27  
    28  	pf, err := pkg.Open(fmt.Sprintf("/%s", name))
    29  	r.NoError(err)
    30  
    31  	psi, err := pf.Stat()
    32  	r.NoError(err)
    33  
    34  	CmpFileInfo(t, osi, psi)
    35  
    36  	osb, err := ioutil.ReadAll(osf)
    37  	r.NoError(err)
    38  	r.NoError(osf.Close())
    39  
    40  	psb, err := ioutil.ReadAll(pf)
    41  	r.NoError(err)
    42  	r.NoError(pf.Close())
    43  
    44  	r.Equal(osb, psb)
    45  }