Have extension upgrade --all be non-fatal when no extensions installed (#5356)

This commit is contained in:
Jimmy Keith 2022-03-29 07:15:25 -07:00 committed by GitHub
parent 91c450ec60
commit ce8f66b421
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 0 deletions

View file

@ -153,6 +153,9 @@ func NewCmdExtension(f *cmdutil.Factory) *cobra.Command {
if err != nil && !errors.Is(err, upToDateError) {
if name != "" {
fmt.Fprintf(io.ErrOut, "%s Failed upgrading extension %s: %s\n", cs.FailureIcon(), name, err)
} else if errors.Is(err, noExtensionsInstalledError) {
fmt.Fprintf(io.ErrOut, "%s No installed extensions found\n", cs.WarningIcon())
return nil
} else {
fmt.Fprintf(io.ErrOut, "%s Failed upgrading extensions\n", cs.FailureIcon())
}

View file

@ -207,6 +207,22 @@ func TestNewCmdExtension(t *testing.T) {
isTTY: true,
wantStdout: "✓ Successfully upgraded extensions\n",
},
{
name: "upgrade all none installed",
args: []string{"upgrade", "--all"},
managerStubs: func(em *extensions.ExtensionManagerMock) func(*testing.T) {
em.UpgradeFunc = func(name string, force bool) error {
return noExtensionsInstalledError
}
return func(t *testing.T) {
calls := em.UpgradeCalls()
assert.Equal(t, 1, len(calls))
assert.Equal(t, "", calls[0].Name)
}
},
isTTY: true,
wantStderr: "! No installed extensions found\n",
},
{
name: "upgrade all notty",
args: []string{"upgrade", "--all"},