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 }