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  }