github.com/bshelton229/agent@v3.5.4+incompatible/bootstrap/git_test.go (about)

     1  package bootstrap
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestParsingGittableRepositoryFromFilesPaths(t *testing.T) {
    10  	t.Parallel()
    11  
    12  	u, err := parseGittableURL(`/home/vagrant/repo`)
    13  	if err != nil {
    14  		t.Fatal(err)
    15  	}
    16  	assert.Equal(t, `file:///home/vagrant/repo`, u.String())
    17  	assert.Empty(t, u.Host)
    18  
    19  	u, err = parseGittableURL(`file:///C:/Users/vagrant/repo`)
    20  	if err != nil {
    21  		t.Fatal(err)
    22  	}
    23  	assert.Equal(t, `file:///C:/Users/vagrant/repo`, u.String())
    24  	assert.Empty(t, u.Host)
    25  }
    26  
    27  func TestParsingGittableRepositoryFromGitURLs(t *testing.T) {
    28  	t.Parallel()
    29  
    30  	u, err := parseGittableURL(`git@github.com:buildkite/agent.git`)
    31  	if err != nil {
    32  		t.Fatal(err)
    33  	}
    34  	assert.Equal(t, `ssh://git@github.com/buildkite/agent.git`, u.String())
    35  	assert.Equal(t, `github.com`, u.Host)
    36  }
    37  
    38  func TestParsingGittableRepositoryFromGitURLsWithAliases(t *testing.T) {
    39  	t.Parallel()
    40  
    41  	u, err := parseGittableURL(`git@github.com-alias1:buildkite/agent.git`)
    42  	if err != nil {
    43  		t.Fatal(err)
    44  	}
    45  	assert.Equal(t, `ssh://git@github.com-alias1/buildkite/agent.git`, u.String())
    46  	assert.Equal(t, `github.com-alias1`, u.Host)
    47  }
    48  
    49  func TestParsingGittableRepositoryFromSSHURLsWithPorts(t *testing.T) {
    50  	t.Parallel()
    51  
    52  	u, err := parseGittableURL(`ssh://git@scm.xxx:7999/yyy/zzz.git`)
    53  	if err != nil {
    54  		t.Fatal(err)
    55  	}
    56  	assert.Equal(t, `ssh://git@scm.xxx:7999/yyy/zzz.git`, u.String())
    57  	assert.Equal(t, `scm.xxx:7999`, u.Host)
    58  
    59  	u, err = parseGittableURL(`ssh://root@git.host.de:4019/var/cache/git/project.git`)
    60  	if err != nil {
    61  		t.Fatal(err)
    62  	}
    63  	assert.Equal(t, `ssh://root@git.host.de:4019/var/cache/git/project.git`, u.String())
    64  	assert.Equal(t, `git.host.de:4019`, u.Host)
    65  }
    66  
    67  func TestStrippingGitHostAliases(t *testing.T) {
    68  	t.Parallel()
    69  
    70  	assert.Equal(t, "github.com", stripAliasesFromGitHost("github.com-alias1"))
    71  	assert.Equal(t, "blargh-no-alias.com", stripAliasesFromGitHost("blargh-no-alias.com"))
    72  }