From fa2cdbda42dc46428377e9d000e164f6fefd8da1 Mon Sep 17 00:00:00 2001 From: feistel <6742251-feistel@users.noreply.gitlab.com> Date: Wed, 11 Aug 2021 17:29:02 +0000 Subject: refactor: remove commandargs.GenericArgs --- internal/command/commandargs/command_args.go | 8 +++++++- internal/command/commandargs/command_args_test.go | 17 +++++++++++------ internal/command/commandargs/generic_args.go | 14 -------------- 3 files changed, 18 insertions(+), 21 deletions(-) delete mode 100644 internal/command/commandargs/generic_args.go 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 -} -- cgit v1.2.1