diff --git a/pkg/cmd/extension/command.go b/pkg/cmd/extension/command.go index 2c65836c2..3bfd8cfe8 100644 --- a/pkg/cmd/extension/command.go +++ b/pkg/cmd/extension/command.go @@ -363,7 +363,7 @@ func NewCmdExtension(f *cmdutil.Factory) *cobra.Command { } cs := io.ColorScheme() err := m.Upgrade(name, flagForce) - if err != nil && !errors.Is(err, upToDateError) { + if err != nil { if name != "" { fmt.Fprintf(io.ErrOut, "%s Failed upgrading extension %s: %s\n", cs.FailureIcon(), name, err) } else if errors.Is(err, noExtensionsInstalledError) { @@ -378,13 +378,11 @@ func NewCmdExtension(f *cmdutil.Factory) *cobra.Command { if flagDryRun { successStr = "Would have" } - if errors.Is(err, upToDateError) { - fmt.Fprintf(io.Out, "%s Extension already up to date\n", cs.SuccessIcon()) - } else if name != "" { - fmt.Fprintf(io.Out, "%s %s upgraded extension %s\n", cs.SuccessIcon(), successStr, name) - } else { - fmt.Fprintf(io.Out, "%s %s upgraded extensions\n", cs.SuccessIcon(), successStr) + extensionStr := "extension" + if name == "" { + extensionStr = "extensions" } + fmt.Fprintf(io.Out, "%s %s upgraded %s\n", cs.SuccessIcon(), successStr, extensionStr) } return nil }, diff --git a/pkg/cmd/extension/command_test.go b/pkg/cmd/extension/command_test.go index d093c764c..d7025ebf1 100644 --- a/pkg/cmd/extension/command_test.go +++ b/pkg/cmd/extension/command_test.go @@ -323,7 +323,7 @@ func TestNewCmdExtension(t *testing.T) { } }, isTTY: true, - wantStdout: "✓ Successfully upgraded extension hello\n", + wantStdout: "✓ Successfully upgraded extension\n", }, { name: "upgrade an extension dry run", @@ -343,7 +343,7 @@ func TestNewCmdExtension(t *testing.T) { } }, isTTY: true, - wantStdout: "✓ Would have upgraded extension hello\n", + wantStdout: "✓ Would have upgraded extension\n", }, { name: "upgrade an extension notty", @@ -365,7 +365,9 @@ func TestNewCmdExtension(t *testing.T) { args: []string{"upgrade", "hello"}, managerStubs: func(em *extensions.ExtensionManagerMock) func(*testing.T) { em.UpgradeFunc = func(name string, force bool) error { - return upToDateError + // An already up to date extension returns the same response + // as an one that has been upgraded. + return nil } return func(t *testing.T) { calls := em.UpgradeCalls() @@ -374,8 +376,7 @@ func TestNewCmdExtension(t *testing.T) { } }, isTTY: true, - wantStdout: "✓ Extension already up to date\n", - wantStderr: "", + wantStdout: "✓ Successfully upgraded extension\n", }, { name: "upgrade extension error", @@ -410,7 +411,7 @@ func TestNewCmdExtension(t *testing.T) { } }, isTTY: true, - wantStdout: "✓ Successfully upgraded extension hello\n", + wantStdout: "✓ Successfully upgraded extension\n", }, { name: "upgrade an extension full name", @@ -426,7 +427,7 @@ func TestNewCmdExtension(t *testing.T) { } }, isTTY: true, - wantStdout: "✓ Successfully upgraded extension hello\n", + wantStdout: "✓ Successfully upgraded extension\n", }, { name: "upgrade all", diff --git a/pkg/cmd/extension/manager.go b/pkg/cmd/extension/manager.go index f199d993d..ac460bab9 100644 --- a/pkg/cmd/extension/manager.go +++ b/pkg/cmd/extension/manager.go @@ -516,7 +516,7 @@ func (m *Manager) Upgrade(name string, force bool) error { if err != nil { return err } - return m.upgradeExtension(f, force) + return m.upgradeExtensions([]Extension{f}, force) } return fmt.Errorf("no extension matched %q", name) }