github.com/joey-fossa/fossa-cli@v0.7.34-0.20190708193710-569f1e8679f0/buildtools/gomodules/gomodules_test.go (about)

     1  package gomodules_test
     2  
     3  import (
     4  	"io/ioutil"
     5  	"path/filepath"
     6  	"testing"
     7  
     8  	"github.com/stretchr/testify/assert"
     9  
    10  	"github.com/fossas/fossa-cli/buildtools"
    11  	"github.com/fossas/fossa-cli/buildtools/gomodules"
    12  )
    13  
    14  func TestResolver(t *testing.T) {
    15  	file, err := ioutil.ReadFile(filepath.Join("testdata", "go-list-all"))
    16  	assert.NoError(t, err)
    17  
    18  	resolver, err := gomodules.Mock(string(file))
    19  	assert.NoError(t, err)
    20  	assert.NotEmpty(t, resolver)
    21  
    22  	revision, err := resolver.Resolve("test/basic")
    23  	assert.NoError(t, err)
    24  	assert.Equal(t, "test/basic", revision.Resolved.Name)
    25  	assert.Equal(t, "v1.1.1", revision.Resolved.Revision)
    26  
    27  	revision, err = resolver.Resolve("test/basic/with/extensions")
    28  	assert.NoError(t, err)
    29  	assert.Equal(t, "test/basic", revision.Resolved.Name)
    30  	assert.Equal(t, "v1.1.1", revision.Resolved.Revision)
    31  
    32  	revision, err = resolver.Resolve("test/basic/monorepo/package")
    33  	assert.NoError(t, err)
    34  	assert.Equal(t, "test/basic/monorepo", revision.Resolved.Name)
    35  	assert.Equal(t, "v2.0.0", revision.Resolved.Revision)
    36  
    37  	revision, err = resolver.Resolve("test/versionzero")
    38  	assert.NoError(t, err)
    39  	assert.Equal(t, "test/versionzero", revision.Resolved.Name)
    40  	assert.Equal(t, "123456789000", revision.Resolved.Revision)
    41  
    42  	revision, err = resolver.Resolve("replace/fork")
    43  	assert.NoError(t, err)
    44  	assert.Equal(t, "private/fork", revision.Resolved.Name)
    45  	assert.Equal(t, "v9.0.0", revision.Resolved.Revision)
    46  
    47  	revision, err = resolver.Resolve("replace/version")
    48  	assert.NoError(t, err)
    49  	assert.Equal(t, "replace/version", revision.Resolved.Name)
    50  	assert.Equal(t, "v1.0.0", revision.Resolved.Revision)
    51  
    52  	revision, err = resolver.Resolve("test/failure")
    53  	assert.Equal(t, buildtools.ErrNoRevisionForPackage, err)
    54  }