github.com/ahmet2mir/goreleaser@v0.180.3-0.20210927151101-8e5ee5a9b8c5/internal/git/config_test.go (about) 1 package git_test 2 3 import ( 4 "testing" 5 6 "github.com/goreleaser/goreleaser/internal/git" 7 "github.com/goreleaser/goreleaser/internal/testlib" 8 "github.com/stretchr/testify/require" 9 ) 10 11 func TestRepoName(t *testing.T) { 12 testlib.Mktmp(t) 13 testlib.GitInit(t) 14 testlib.GitRemoteAdd(t, "git@github.com:goreleaser/goreleaser.git") 15 repo, err := git.ExtractRepoFromConfig() 16 require.NoError(t, err) 17 require.Equal(t, "goreleaser/goreleaser", repo.String()) 18 } 19 20 func TestRepoNameWithDifferentRemote(t *testing.T) { 21 testlib.Mktmp(t) 22 testlib.GitInit(t) 23 testlib.GitRemoteAddWithName(t, "upstream", "https://github.com/goreleaser/goreleaser.git") 24 _, err := git.Run("pull", "upstream", "master") 25 require.NoError(t, err) 26 _, err = git.Run("branch", "--set-upstream-to", "upstream/master") 27 require.NoError(t, err) 28 repo, err := git.ExtractRepoFromConfig() 29 require.NoError(t, err) 30 require.Equal(t, "goreleaser/goreleaser", repo.String()) 31 } 32 33 func TestExtractRepoFromURL(t *testing.T) { 34 // valid urls 35 for _, url := range []string{ 36 "git@github.com:goreleaser/goreleaser.git", 37 "git@custom:goreleaser/goreleaser.git", 38 "https://github.com/goreleaser/goreleaser.git", 39 "https://github.enterprise.com/goreleaser/goreleaser.git", 40 } { 41 t.Run(url, func(t *testing.T) { 42 repo, err := git.ExtractRepoFromURL(url) 43 require.NoError(t, err) 44 require.Equal(t, "goreleaser/goreleaser", repo.String()) 45 }) 46 } 47 48 // nested urls 49 for _, url := range []string{ 50 "git@custom:group/nested/goreleaser/goreleaser.git", 51 "https://gitlab.mycompany.com/group/nested/goreleaser/goreleaser.git", 52 } { 53 t.Run(url, func(t *testing.T) { 54 repo, err := git.ExtractRepoFromURL(url) 55 require.NoError(t, err) 56 require.Equal(t, "group/nested/goreleaser/goreleaser", repo.String()) 57 }) 58 } 59 60 // invalid urls 61 for _, url := range []string{ 62 "git@gist.github.com:someid.git", 63 "https://gist.github.com/someid.git", 64 } { 65 t.Run(url, func(t *testing.T) { 66 repo, err := git.ExtractRepoFromURL(url) 67 require.EqualError(t, err, "unsupported repository URL: "+url) 68 require.Equal(t, "", repo.String()) 69 }) 70 } 71 }