github.com/michaellihs/golab@v0.1.0-beta3.0.20180726222757-f5cdabc76dfd/cmd/helpers/git_helper_test.go (about) 1 // Copyright © 2018 Michael Lihs 2 // 3 // Permission is hereby granted, free of charge, to any person obtaining a copy 4 // of this software and associated documentation files (the "Software"), to deal 5 // in the Software without restriction, including without limitation the rights 6 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 // copies of the Software, and to permit persons to whom the Software is 8 // furnished to do so, subject to the following conditions: 9 // 10 // The above copyright notice and this permission notice shall be included in 11 // all copies or substantial portions of the Software. 12 // 13 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 // THE SOFTWARE. 20 21 package helpers 22 23 import ( 24 . "github.com/onsi/ginkgo" 25 . "github.com/onsi/gomega" 26 ) 27 28 var _ = Describe("GitHelper", func() { 29 30 gh := GitHelper() 31 32 var _ = Describe("GetWebUrl", func() { 33 34 It("returns expected URL for http(s) origin", func() { 35 gitRemotes := `origin https://github.com/michaellihs/golab.git (fetch) 36 origin https://github.com/michaellihs/golab.git (push)` 37 remote, err := gh.GetRemoteUrl(gitRemotes) 38 Expect(err).To(BeNil()) 39 Expect(gh.GetWebUrl(remote)).To(Equal("https://github.com/michaellihs/golab")) 40 }) 41 42 It("returns expected URL for ssh origin", func() { 43 gitRemotes := `origin ssh://github.com/michaellihs/golab.git (fetch) 44 origin ssh://github.com/michaellihs/golab.git (push)` 45 remote, err := gh.GetRemoteUrl(gitRemotes) 46 Expect(err).To(BeNil()) 47 Expect(gh.GetWebUrl(remote)).To(Equal("https://github.com/michaellihs/golab")) 48 }) 49 50 It("returns expected URL for ssh origin with user", func() { 51 gitRemotes := `origin ssh://user@github.com/michaellihs/golab.git (fetch) 52 origin ssh://user@github.com/michaellihs/golab.git (push)` 53 remote, err := gh.GetRemoteUrl(gitRemotes) 54 Expect(err).To(BeNil()) 55 Expect(gh.GetWebUrl(remote)).To(Equal("https://github.com/michaellihs/golab")) 56 }) 57 58 It("returns expected URL for ssh origin with user and port", func() { 59 gitRemotes := `origin ssh://user@github.com:1234/michaellihs/golab.git (fetch) 60 origin ssh://user@github.com:1234/michaellihs/golab.git (push)` 61 remote, err := gh.GetRemoteUrl(gitRemotes) 62 Expect(err).To(BeNil()) 63 Expect(gh.GetWebUrl(remote)).To(Equal("https://github.com/michaellihs/golab")) 64 }) 65 66 It("returns expected URL for git origin", func() { 67 gitRemotes := `origin git@github.com:michaellihs/golab.git (fetch) 68 origin git@github.com:michaellihs/golab.git (push)` 69 remote, err := gh.GetRemoteUrl(gitRemotes) 70 Expect(err).To(BeNil()) 71 Expect(gh.GetWebUrl(remote)).To(Equal("https://github.com/michaellihs/golab")) 72 }) 73 74 }) 75 76 })