func TestTransformSubmoduleArgs(t *testing.T) { github.CreateTestConfigs("jingweno", "123") args := NewArgs([]string{"submodule", "add", "jingweno/gh", "vendor/gh"}) transformSubmoduleArgs(args) cmds := args.Commands() assert.Equal(t, 1, len(cmds)) assert.Equal(t, "git submodule add git://github.com/jingweno/gh.git vendor/gh", cmds[0].String()) args = NewArgs([]string{"submodule", "add", "-p", "jingweno/gh", "vendor/gh"}) transformSubmoduleArgs(args) cmds = args.Commands() assert.Equal(t, 1, len(cmds)) assert.Equal(t, "git submodule add [email protected]:jingweno/gh.git vendor/gh", cmds[0].String()) args = NewArgs([]string{"submodule", "add", "-b", "gh", "--name", "gh", "jingweno/gh", "vendor/gh"}) transformSubmoduleArgs(args) cmds = args.Commands() assert.Equal(t, 1, len(cmds)) assert.Equal(t, "git submodule add -b gh --name gh git://github.com/jingweno/gh.git vendor/gh", cmds[0].String()) }
func TestTransformRemoteArgs(t *testing.T) { os.Setenv("HUB_PROTOCOL", "git") github.CreateTestConfigs("jingweno", "123") args := NewArgs([]string{"remote", "add", "jingweno"}) transformRemoteArgs(args) assert.Equal(t, 3, args.ParamsSize()) assert.Equal(t, "add", args.FirstParam()) assert.Equal(t, "jingweno", args.GetParam(1)) reg := regexp.MustCompile("^git@github\\.com:jingweno/.+\\.git$") assert.T(t, reg.MatchString(args.GetParam(2))) args = NewArgs([]string{"remote", "add", "mislav"}) transformRemoteArgs(args) assert.Equal(t, 3, args.ParamsSize()) assert.Equal(t, "add", args.FirstParam()) assert.Equal(t, "mislav", args.GetParam(1)) reg = regexp.MustCompile("^git://github\\.com/mislav/.+\\.git$") assert.T(t, reg.MatchString(args.GetParam(2))) args = NewArgs([]string{"remote", "add", "-p", "mislav"}) transformRemoteArgs(args) assert.Equal(t, 3, args.ParamsSize()) assert.Equal(t, "add", args.FirstParam()) assert.Equal(t, "mislav", args.GetParam(1)) reg = regexp.MustCompile("^git@github\\.com:mislav/.+\\.git$") assert.T(t, reg.MatchString(args.GetParam(2))) args = NewArgs([]string{"remote", "add", "origin"}) transformRemoteArgs(args) assert.Equal(t, 3, args.ParamsSize()) assert.Equal(t, "add", args.FirstParam()) assert.Equal(t, "origin", args.GetParam(1)) reg = regexp.MustCompile("^git@github\\.com:jingweno/.+\\.git$") assert.T(t, reg.MatchString(args.GetParam(2))) args = NewArgs([]string{"remote", "add", "jingweno", "[email protected]:jingweno/gh.git"}) transformRemoteArgs(args) assert.Equal(t, 3, args.ParamsSize()) assert.Equal(t, "jingweno", args.GetParam(1)) assert.Equal(t, "add", args.FirstParam()) assert.Equal(t, "[email protected]:jingweno/gh.git", args.GetParam(2)) args = NewArgs([]string{"remote", "add", "-p", "origin", "org/foo"}) transformRemoteArgs(args) assert.Equal(t, 3, args.ParamsSize()) assert.Equal(t, "origin", args.GetParam(1)) assert.Equal(t, "add", args.FirstParam()) assert.Equal(t, "[email protected]:org/foo.git", args.GetParam(2)) }
func TestTransformCloneArgs(t *testing.T) { os.Setenv("HUB_PROTOCOL", "git") github.CreateTestConfigs("jingweno", "123") args := NewArgs([]string{"clone", "foo/gh"}) transformCloneArgs(args) assert.Equal(t, 1, args.ParamsSize()) assert.Equal(t, "git://github.com/foo/gh.git", args.FirstParam()) args = NewArgs([]string{"clone", "-p", "foo/gh"}) transformCloneArgs(args) assert.Equal(t, 1, args.ParamsSize()) assert.Equal(t, "[email protected]:foo/gh.git", args.FirstParam()) args = NewArgs([]string{"clone", "jingweno/gh"}) transformCloneArgs(args) assert.Equal(t, 1, args.ParamsSize()) assert.Equal(t, "git://github.com/jingweno/gh.git", args.FirstParam()) args = NewArgs([]string{"clone", "-p", "acl-services/devise-acl"}) transformCloneArgs(args) assert.Equal(t, 1, args.ParamsSize()) assert.Equal(t, "[email protected]:acl-services/devise-acl.git", args.FirstParam()) args = NewArgs([]string{"clone", "jekyll_and_hyde"}) transformCloneArgs(args) assert.Equal(t, 1, args.ParamsSize()) assert.Equal(t, "git://github.com/jingweno/jekyll_and_hyde.git", args.FirstParam()) args = NewArgs([]string{"clone", "-p", "jekyll_and_hyde"}) transformCloneArgs(args) assert.Equal(t, 1, args.ParamsSize()) assert.Equal(t, "[email protected]:jingweno/jekyll_and_hyde.git", args.FirstParam()) args = NewArgs([]string{"clone", "git://github.com/jingweno/gh", "gh"}) transformCloneArgs(args) assert.Equal(t, 2, args.ParamsSize()) assert.Equal(t, "git://github.com/jingweno/gh", args.FirstParam()) assert.Equal(t, "gh", args.GetParam(1)) }
func setupInitContext() { os.Setenv("HUB_PROTOCOL", "git") os.Setenv("HUB_CONFIG", "") github.CreateTestConfigs("jingweno", "123") }