summaryrefslogtreecommitdiff
path: root/go/internal/command/discover
diff options
context:
space:
mode:
Diffstat (limited to 'go/internal/command/discover')
-rw-r--r--go/internal/command/discover/discover.go13
-rw-r--r--go/internal/command/discover/discover_test.go11
2 files changed, 10 insertions, 14 deletions
diff --git a/go/internal/command/discover/discover.go b/go/internal/command/discover/discover.go
index ab04cbd..8ad2868 100644
--- a/go/internal/command/discover/discover.go
+++ b/go/internal/command/discover/discover.go
@@ -2,10 +2,9 @@ package discover
import (
"fmt"
- "io"
- "os"
"gitlab.com/gitlab-org/gitlab-shell/go/internal/command/commandargs"
+ "gitlab.com/gitlab-org/gitlab-shell/go/internal/command/reporting"
"gitlab.com/gitlab-org/gitlab-shell/go/internal/config"
"gitlab.com/gitlab-org/gitlab-shell/go/internal/gitlabnet/discover"
)
@@ -15,20 +14,16 @@ type Command struct {
Args *commandargs.CommandArgs
}
-var (
- output io.Writer = os.Stdout
-)
-
-func (c *Command) Execute() error {
+func (c *Command) Execute(reporter *reporting.Reporter) error {
response, err := c.getUserInfo()
if err != nil {
return fmt.Errorf("Failed to get username: %v", err)
}
if response.IsAnonymous() {
- fmt.Fprintf(output, "Welcome to GitLab, Anonymous!\n")
+ fmt.Fprintf(reporter.Out, "Welcome to GitLab, Anonymous!\n")
} else {
- fmt.Fprintf(output, "Welcome to GitLab, @%s!\n", response.Username)
+ fmt.Fprintf(reporter.Out, "Welcome to GitLab, @%s!\n", response.Username)
}
return nil
diff --git a/go/internal/command/discover/discover_test.go b/go/internal/command/discover/discover_test.go
index 752e76e..ec6f931 100644
--- a/go/internal/command/discover/discover_test.go
+++ b/go/internal/command/discover/discover_test.go
@@ -11,6 +11,7 @@ import (
"github.com/stretchr/testify/require"
"gitlab.com/gitlab-org/gitlab-shell/go/internal/command/commandargs"
+ "gitlab.com/gitlab-org/gitlab-shell/go/internal/command/reporting"
"gitlab.com/gitlab-org/gitlab-shell/go/internal/config"
"gitlab.com/gitlab-org/gitlab-shell/go/internal/gitlabnet/testserver"
)
@@ -78,11 +79,10 @@ func TestExecute(t *testing.T) {
for _, tc := range testCases {
t.Run(tc.desc, func(t *testing.T) {
- buffer := &bytes.Buffer{}
- output = buffer
cmd := &Command{Config: testConfig, Args: tc.arguments}
+ buffer := &bytes.Buffer{}
- err := cmd.Execute()
+ err := cmd.Execute(&reporting.Reporter{Out: buffer})
assert.NoError(t, err)
assert.Equal(t, tc.expectedOutput, buffer.String())
@@ -120,11 +120,12 @@ func TestFailingExecute(t *testing.T) {
for _, tc := range testCases {
t.Run(tc.desc, func(t *testing.T) {
cmd := &Command{Config: testConfig, Args: tc.arguments}
+ buffer := &bytes.Buffer{}
- err := cmd.Execute()
+ err := cmd.Execute(&reporting.Reporter{Out: buffer})
+ assert.Empty(t, buffer.String())
assert.EqualError(t, err, tc.expectedError)
})
}
-
}