github.com/joselitofilho/goreleaser@v0.155.1-0.20210123221854-e4891856c593/internal/client/client_test.go (about)

     1  package client
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/goreleaser/goreleaser/pkg/config"
     7  	"github.com/goreleaser/goreleaser/pkg/context"
     8  	"github.com/stretchr/testify/require"
     9  )
    10  
    11  func TestClientEmpty(t *testing.T) {
    12  	ctx := &context.Context{}
    13  	client, err := New(ctx)
    14  	require.Nil(t, client)
    15  	require.NoError(t, err)
    16  }
    17  
    18  func TestClientNewGitea(t *testing.T) {
    19  	ctx := &context.Context{
    20  		Config: config.Project{
    21  			GiteaURLs: config.GiteaURLs{
    22  				// TODO: use a mocked http server to cover version api
    23  				API:      "https://gitea.com/api/v1",
    24  				Download: "https://gitea.com",
    25  			},
    26  		},
    27  		TokenType: context.TokenTypeGitea,
    28  		Token:     "giteatoken",
    29  	}
    30  	client, err := New(ctx)
    31  	require.NoError(t, err)
    32  	_, ok := client.(*giteaClient)
    33  	require.True(t, ok)
    34  }
    35  
    36  func TestClientNewGiteaInvalidURL(t *testing.T) {
    37  	ctx := &context.Context{
    38  		Config: config.Project{
    39  			GiteaURLs: config.GiteaURLs{
    40  				API: "://gitea.com/api/v1",
    41  			},
    42  		},
    43  		TokenType: context.TokenTypeGitea,
    44  		Token:     "giteatoken",
    45  	}
    46  	client, err := New(ctx)
    47  	require.Error(t, err)
    48  	require.Nil(t, client)
    49  }
    50  
    51  func TestClientNewGitLab(t *testing.T) {
    52  	ctx := &context.Context{
    53  		TokenType: context.TokenTypeGitLab,
    54  		Token:     "gitlabtoken",
    55  	}
    56  	client, err := New(ctx)
    57  	require.NoError(t, err)
    58  	_, ok := client.(*gitlabClient)
    59  	require.True(t, ok)
    60  }