summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfeistel <6742251-feistel@users.noreply.gitlab.com>2021-08-11 17:29:02 +0000
committerfeistel <6742251-feistel@users.noreply.gitlab.com>2021-08-11 17:29:59 +0000
commitfa2cdbda42dc46428377e9d000e164f6fefd8da1 (patch)
treebc0044f0c1be58185d0574de7a0bb295825fc593
parent7b44ce1d4a0716d27acabb4f826eb5613dade082 (diff)
downloadgitlab-shell-fa2cdbda42dc46428377e9d000e164f6fefd8da1.tar.gz
refactor: remove commandargs.GenericArgs
-rw-r--r--internal/command/commandargs/command_args.go8
-rw-r--r--internal/command/commandargs/command_args_test.go17
-rw-r--r--internal/command/commandargs/generic_args.go14
3 files changed, 18 insertions, 21 deletions
diff --git a/internal/command/commandargs/command_args.go b/internal/command/commandargs/command_args.go
index b7d04a8..011fc35 100644
--- a/internal/command/commandargs/command_args.go
+++ b/internal/command/commandargs/command_args.go
@@ -1,6 +1,8 @@
package commandargs
import (
+ "errors"
+
"gitlab.com/gitlab-org/gitlab-shell/internal/executable"
"gitlab.com/gitlab-org/gitlab-shell/internal/sshenv"
)
@@ -13,7 +15,7 @@ type CommandArgs interface {
}
func Parse(e *executable.Executable, arguments []string, env sshenv.Env) (CommandArgs, error) {
- var args CommandArgs = &GenericArgs{Arguments: arguments}
+ var args CommandArgs
switch e.Name {
case executable.GitlabShell:
@@ -22,6 +24,10 @@ func Parse(e *executable.Executable, arguments []string, env sshenv.Env) (Comman
args = &AuthorizedKeys{Arguments: arguments}
case executable.AuthorizedPrincipalsCheck:
args = &AuthorizedPrincipals{Arguments: arguments}
+ case executable.Healthcheck:
+ return args, nil
+ default:
+ return nil, errors.New("unknown executable")
}
if err := args.Parse(); err != nil {
diff --git a/internal/command/commandargs/command_args_test.go b/internal/command/commandargs/command_args_test.go
index 7b9f0ad..119ecd4 100644
--- a/internal/command/commandargs/command_args_test.go
+++ b/internal/command/commandargs/command_args_test.go
@@ -16,6 +16,7 @@ func TestParseSuccess(t *testing.T) {
env sshenv.Env
arguments []string
expectedArgs CommandArgs
+ expectError bool
}{
{
desc: "It sets discover as the command when the command string was empty",
@@ -100,10 +101,10 @@ func TestParseSuccess(t *testing.T) {
arguments: []string{"key", "principal-1", "principal-2"},
expectedArgs: &AuthorizedPrincipals{Arguments: []string{"key", "principal-1", "principal-2"}, KeyId: "key", Principals: []string{"principal-1", "principal-2"}},
}, {
- desc: "Unknown executable",
- executable: &executable.Executable{Name: "unknown"},
- arguments: []string{},
- expectedArgs: &GenericArgs{Arguments: []string{}},
+ desc: "Unknown executable",
+ executable: &executable.Executable{Name: "unknown"},
+ arguments: []string{},
+ expectError: true,
},
}
@@ -111,8 +112,12 @@ func TestParseSuccess(t *testing.T) {
t.Run(tc.desc, func(t *testing.T) {
result, err := Parse(tc.executable, tc.arguments, tc.env)
- require.NoError(t, err)
- require.Equal(t, tc.expectedArgs, result)
+ if !tc.expectError {
+ require.NoError(t, err)
+ require.Equal(t, tc.expectedArgs, result)
+ } else {
+ require.Error(t, err)
+ }
})
}
}
diff --git a/internal/command/commandargs/generic_args.go b/internal/command/commandargs/generic_args.go
deleted file mode 100644
index 96bed99..0000000
--- a/internal/command/commandargs/generic_args.go
+++ /dev/null
@@ -1,14 +0,0 @@
-package commandargs
-
-type GenericArgs struct {
- Arguments []string
-}
-
-func (b *GenericArgs) Parse() error {
- // Do nothing
- return nil
-}
-
-func (b *GenericArgs) GetArguments() []string {
- return b.Arguments
-}