github.com/jingweno/gh@v2.1.1-0.20221007190738-04a7985fa9a1+incompatible/commands/remote_test.go (about)

     1  package commands
     2  
     3  import (
     4  	"github.com/bmizerany/assert"
     5  	"github.com/jingweno/gh/github"
     6  	"os"
     7  	"regexp"
     8  	"testing"
     9  )
    10  
    11  func TestParseRepoNameOwner(t *testing.T) {
    12  	owner, repo := parseRepoNameOwner("jingweno")
    13  	assert.Equal(t, "jingweno", owner)
    14  	assert.Equal(t, "", repo)
    15  
    16  	owner, repo = parseRepoNameOwner("jingweno/gh")
    17  	assert.Equal(t, "jingweno", owner)
    18  	assert.Equal(t, "gh", repo)
    19  }
    20  
    21  func TestTransformRemoteArgs(t *testing.T) {
    22  	os.Setenv("GH_PROTOCOL", "git")
    23  	github.CreateTestConfigs("jingweno", "123")
    24  
    25  	args := NewArgs([]string{"remote", "add", "jingweno"})
    26  	transformRemoteArgs(args)
    27  
    28  	assert.Equal(t, 3, args.ParamsSize())
    29  	assert.Equal(t, "add", args.FirstParam())
    30  	assert.Equal(t, "jingweno", args.GetParam(1))
    31  	reg := regexp.MustCompile("^git://github.com/jingweno/.+\\.git$")
    32  	assert.T(t, reg.MatchString(args.GetParam(2)))
    33  
    34  	args = NewArgs([]string{"remote", "add", "-p", "jingweno"})
    35  	transformRemoteArgs(args)
    36  
    37  	assert.Equal(t, 3, args.ParamsSize())
    38  	assert.Equal(t, "add", args.FirstParam())
    39  	assert.Equal(t, "jingweno", args.GetParam(1))
    40  	reg = regexp.MustCompile("^git@github.com:jingweno/.+\\.git$")
    41  	assert.T(t, reg.MatchString(args.GetParam(2)))
    42  
    43  	args = NewArgs([]string{"remote", "add", "origin"})
    44  	transformRemoteArgs(args)
    45  
    46  	assert.Equal(t, 3, args.ParamsSize())
    47  	assert.Equal(t, "add", args.FirstParam())
    48  	assert.Equal(t, "origin", args.GetParam(1))
    49  	reg = regexp.MustCompile("^git://github.com/.+/.+\\.git$")
    50  	assert.T(t, reg.MatchString(args.GetParam(2)))
    51  
    52  	args = NewArgs([]string{"remote", "add", "jingweno", "git@github.com:jingweno/gh.git"})
    53  	transformRemoteArgs(args)
    54  
    55  	assert.Equal(t, 3, args.ParamsSize())
    56  	assert.Equal(t, "jingweno", args.GetParam(1))
    57  	assert.Equal(t, "add", args.FirstParam())
    58  	assert.Equal(t, "git@github.com:jingweno/gh.git", args.GetParam(2))
    59  
    60  	args = NewArgs([]string{"remote", "add", "-p", "origin", "org/foo"})
    61  	transformRemoteArgs(args)
    62  
    63  	assert.Equal(t, 3, args.ParamsSize())
    64  	assert.Equal(t, "origin", args.GetParam(1))
    65  	assert.Equal(t, "add", args.FirstParam())
    66  	assert.Equal(t, "git@github.com:org/foo.git", args.GetParam(2))
    67  }