Show version diff when updating a single extension (#6647)
This commit is contained in:
parent
57f5bd8cdd
commit
23913ac371
3 changed files with 14 additions and 15 deletions
|
|
@ -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
|
||||
},
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue