github.com/goreleaser/goreleaser@v1.25.1/internal/client/config_test.go (about)

     1  package client
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  
     7  	"github.com/goreleaser/goreleaser/pkg/config"
     8  	"github.com/stretchr/testify/require"
     9  )
    10  
    11  func TestRepoFromRef(t *testing.T) {
    12  	owner := "someowner"
    13  	name := "somename"
    14  	branch := "somebranch"
    15  	token := "sometoken"
    16  
    17  	ref := config.RepoRef{
    18  		Owner:  owner,
    19  		Name:   name,
    20  		Branch: branch,
    21  		Token:  token,
    22  	}
    23  	repo := RepoFromRef(ref)
    24  
    25  	require.Equal(t, owner, repo.Owner)
    26  	require.Equal(t, name, repo.Name)
    27  	require.Equal(t, branch, repo.Branch)
    28  }
    29  
    30  func TestTemplateRef(t *testing.T) {
    31  	expected := config.RepoRef{
    32  		Owner:  "owner",
    33  		Name:   "name",
    34  		Branch: "branch",
    35  		Token:  "token",
    36  		Git: config.GitRepoRef{
    37  			URL:        "giturl",
    38  			SSHCommand: "gitsshcommand",
    39  			PrivateKey: "privatekey",
    40  		},
    41  	}
    42  	t.Run("success", func(t *testing.T) {
    43  		ref, err := TemplateRef(func(s string) (string, error) {
    44  			if s == "token" {
    45  				return "", fmt.Errorf("nope")
    46  			}
    47  			return s, nil
    48  		}, expected)
    49  		require.NoError(t, err)
    50  		require.Equal(t, expected, ref)
    51  	})
    52  
    53  	t.Run("fail owner", func(t *testing.T) {
    54  		_, err := TemplateRef(func(s string) (string, error) {
    55  			if s == "token" || s == "owner" {
    56  				return "", fmt.Errorf("nope")
    57  			}
    58  			return s, nil
    59  		}, expected)
    60  		require.Error(t, err)
    61  	})
    62  	t.Run("fail name", func(t *testing.T) {
    63  		_, err := TemplateRef(func(s string) (string, error) {
    64  			if s == "token" || s == "name" {
    65  				return "", fmt.Errorf("nope")
    66  			}
    67  			return s, nil
    68  		}, expected)
    69  		require.Error(t, err)
    70  	})
    71  	t.Run("fail branch", func(t *testing.T) {
    72  		_, err := TemplateRef(func(s string) (string, error) {
    73  			if s == "token" || s == "branch" {
    74  				return "", fmt.Errorf("nope")
    75  			}
    76  			return s, nil
    77  		}, expected)
    78  		require.Error(t, err)
    79  	})
    80  	t.Run("fail giturl", func(t *testing.T) {
    81  		_, err := TemplateRef(func(s string) (string, error) {
    82  			if s == "token" || s == "giturl" {
    83  				return "", fmt.Errorf("nope")
    84  			}
    85  			return s, nil
    86  		}, expected)
    87  		require.Error(t, err)
    88  	})
    89  	t.Run("fail privatekey", func(t *testing.T) {
    90  		_, err := TemplateRef(func(s string) (string, error) {
    91  			if s == "token" || s == "privatekey" {
    92  				return "", fmt.Errorf("nope")
    93  			}
    94  			return s, nil
    95  		}, expected)
    96  		require.Error(t, err)
    97  	})
    98  }