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 }