From 584b33e79ce85535abf4d6a54d2d2c7a6759bbaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mislav=20Marohni=C4=87?= Date: Mon, 18 Jan 2021 22:42:13 +0100 Subject: [PATCH] Migrate to new cmd stubber in `repo clone` tests --- pkg/cmd/repo/clone/clone_test.go | 42 ++++++++++++-------------------- 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/pkg/cmd/repo/clone/clone_test.go b/pkg/cmd/repo/clone/clone_test.go index f6b612202..b34ab168c 100644 --- a/pkg/cmd/repo/clone/clone_test.go +++ b/pkg/cmd/repo/clone/clone_test.go @@ -6,6 +6,7 @@ import ( "testing" "github.com/cli/cli/internal/config" + "github.com/cli/cli/internal/run" "github.com/cli/cli/pkg/cmdutil" "github.com/cli/cli/pkg/httpmock" "github.com/cli/cli/pkg/iostreams" @@ -182,6 +183,7 @@ func Test_RepoClone(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { reg := &httpmock.Registry{} + defer reg.Verify(t) reg.Register( httpmock.GraphQL(`query RepositoryInfo\b`), httpmock.StringResponse(` @@ -196,10 +198,11 @@ func Test_RepoClone(t *testing.T) { httpClient := &http.Client{Transport: reg} - cs, restore := test.InitCmdStubber() - defer restore() - - cs.Stub("") // git clone + cs, restore := run.Stub() + defer restore(t) + cs.Register(`git clone`, 0, "", func(s []string) { + assert.Equal(t, tt.want, strings.Join(s, " ")) + }) output, err := runCloneCommand(httpClient, tt.args) if err != nil { @@ -208,9 +211,6 @@ func Test_RepoClone(t *testing.T) { assert.Equal(t, "", output.String()) assert.Equal(t, "", output.Stderr()) - assert.Equal(t, 1, cs.Count) - assert.Equal(t, tt.want, strings.Join(cs.Calls[0].Args, " ")) - reg.Verify(t) }) } } @@ -236,23 +236,20 @@ func Test_RepoClone_hasParent(t *testing.T) { httpClient := &http.Client{Transport: reg} - cs, restore := test.InitCmdStubber() - defer restore() - - cs.Stub("") // git clone - cs.Stub("") // git remote add + cs, restore := run.Stub() + defer restore(t) + cs.Register(`git clone`, 0, "") + cs.Register(`git -C REPO remote add -f upstream https://github\.com/hubot/ORIG\.git`, 0, "") _, err := runCloneCommand(httpClient, "OWNER/REPO") if err != nil { t.Fatalf("error running command `repo clone`: %v", err) } - - assert.Equal(t, 2, cs.Count) - assert.Equal(t, "git -C REPO remote add -f upstream https://github.com/hubot/ORIG.git", strings.Join(cs.Calls[1].Args, " ")) } func Test_RepoClone_withoutUsername(t *testing.T) { reg := &httpmock.Registry{} + defer reg.Verify(t) reg.Register( httpmock.GraphQL(`query UserCurrent\b`), httpmock.StringResponse(` @@ -269,19 +266,12 @@ func Test_RepoClone_withoutUsername(t *testing.T) { } } } } `)) - reg.Register( - httpmock.GraphQL(`query RepositoryFindParent\b`), - httpmock.StringResponse(` - { "data": { "repository": { - "parent": null - } } }`)) httpClient := &http.Client{Transport: reg} - cs, restore := test.InitCmdStubber() - defer restore() - - cs.Stub("") // git clone + cs, restore := run.Stub() + defer restore(t) + cs.Register(`git clone https://github\.com/OWNER/REPO\.git`, 0, "") output, err := runCloneCommand(httpClient, "REPO") if err != nil { @@ -290,6 +280,4 @@ func Test_RepoClone_withoutUsername(t *testing.T) { assert.Equal(t, "", output.String()) assert.Equal(t, "", output.Stderr()) - assert.Equal(t, 1, cs.Count) - assert.Equal(t, "git clone https://github.com/OWNER/REPO.git", strings.Join(cs.Calls[0].Args, " ")) }