github.com/JarrahG/buffalocli@v0.0.0-20230801092127-b85bfd5d395a/internal/plugins/plugdeps/plugin_test.go (about) 1 package plugdeps 2 3 import ( 4 "testing" 5 6 "github.com/gobuffalo/meta" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestNewPlugin_NoVersionNoTag(t *testing.T) { 11 r := require.New(t) 12 13 p := NewPlugin("example.com/user/buffalo-awesome") 14 r.Equal("buffalo-awesome", p.key()) 15 r.Equal("buffalo-awesome", p.Binary) 16 r.Equal("example.com/user/buffalo-awesome@latest", p.GoGet) 17 18 r.Equal(meta.BuildTags(nil), p.Tags) 19 r.Equal(`{"binary":"buffalo-awesome","go_get":"example.com/user/buffalo-awesome@latest"}`, p.String()) 20 } 21 22 func TestNewPlugin_BuildTags(t *testing.T) { 23 r := require.New(t) 24 25 p := NewPlugin("example.com/user/buffalo-awesome", meta.BuildTags{"sqlite", "awesome"}) 26 r.Equal("buffalo-awesome", p.key()) 27 r.Equal("buffalo-awesome", p.Binary) 28 r.Equal("example.com/user/buffalo-awesome@latest", p.GoGet) 29 30 r.Equal(meta.BuildTags{"sqlite", "awesome"}, p.Tags) 31 r.Equal(`{"binary":"buffalo-awesome","go_get":"example.com/user/buffalo-awesome@latest","tags":["sqlite","awesome"]}`, p.String()) 32 } 33 34 func TestNewPlugin_NoVersionTag(t *testing.T) { 35 r := require.New(t) 36 37 p := NewPlugin("example.com/user/buffalo-awesome@v3.1") 38 r.Equal("buffalo-awesome", p.key()) 39 r.Equal("buffalo-awesome", p.Binary) 40 r.Equal("example.com/user/buffalo-awesome@v3.1", p.GoGet) 41 } 42 43 func TestNewPlugin_VersionNoTag(t *testing.T) { 44 r := require.New(t) 45 46 p := NewPlugin("example.com/user/buffalo-awesome/v3") 47 r.Equal("buffalo-awesome", p.key()) 48 r.Equal("buffalo-awesome", p.Binary) 49 r.Equal("example.com/user/buffalo-awesome/v3@latest", p.GoGet) 50 } 51 52 func TestNewPlugin_VersionTag(t *testing.T) { 53 r := require.New(t) 54 55 p := NewPlugin("example.com/user/buffalo-awesome/v3@v3.1") 56 r.Equal("buffalo-awesome", p.key()) 57 r.Equal("buffalo-awesome", p.Binary) 58 r.Equal("example.com/user/buffalo-awesome/v3@v3.1", p.GoGet) 59 }