未验证 提交 8bdb4571 编写于 作者: LinuxSuRen's avatar LinuxSuRen 提交者: GitHub

Merge pull request #223 from LinuxSuRen/check-err

Improve test coverages
......@@ -4,6 +4,8 @@ import (
"fmt"
"net/http"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/spf13/cobra"
)
......@@ -77,9 +79,9 @@ func printJenkinsStatus(jenkins *JenkinsServer, cmd *cobra.Command, roundTripper
jclient.Proxy = jenkins.Proxy
jclient.ProxyAuth = jenkins.ProxyAuth
if status, err := jclient.Get(); err == nil {
status, err := jclient.Get()
if err == nil {
cmd.Println("Jenkins Version:", status.Version)
} else {
cmd.PrintErrln(err)
}
helper.CheckErr(cmd, err)
}
......@@ -3,6 +3,8 @@ package cmd
import (
"net/http"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/spf13/cobra"
)
......@@ -47,10 +49,9 @@ var centerDownloadCmd = &cobra.Command{
},
}
if err := jclient.DownloadJenkins(centerDownloadOption.LTS, centerDownloadOption.ShowProgress,
centerDownloadOption.Output); err != nil {
cmd.PrintErrln(err)
}
err := jclient.DownloadJenkins(centerDownloadOption.LTS, centerDownloadOption.ShowProgress,
centerDownloadOption.Output)
helper.CheckErr(cmd, err)
},
}
......
package cmd
import (
"log"
"net/http"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/spf13/cobra"
)
......@@ -23,7 +24,7 @@ var centerUpgradeCmd = &cobra.Command{
Use: "upgrade",
Short: "Upgrade your Jenkins",
Long: `Upgrade your Jenkins`,
Run: func(_ *cobra.Command, _ []string) {
Run: func(cmd *cobra.Command, _ []string) {
jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.UpdateCenterManager{
......@@ -37,8 +38,7 @@ var centerUpgradeCmd = &cobra.Command{
jclient.Proxy = jenkins.Proxy
jclient.ProxyAuth = jenkins.ProxyAuth
if err := jclient.Upgrade(); err != nil {
log.Fatal(err)
}
err := jclient.Upgrade()
helper.CheckErr(cmd, err)
},
}
......@@ -6,6 +6,8 @@ import (
"net/http"
"strconv"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/jenkins-zh/jenkins-cli/util"
"github.com/spf13/cobra"
......@@ -54,16 +56,15 @@ var jobArtifactCmd = &cobra.Command{
}
getCurrentJenkinsAndClient(&(jclient.JenkinsCore))
if artifacts, err := jclient.List(jobName, buildID); err == nil {
artifacts, err := jclient.List(jobName, buildID)
if err == nil {
var data []byte
if data, err = jobArtifactOption.Output(artifacts); err == nil {
data, err = jobArtifactOption.Output(artifacts)
if err == nil {
cmd.Print(string(data))
} else {
cmd.PrintErrln(err)
}
} else {
cmd.PrintErrln(err)
}
helper.CheckErr(cmd, err)
},
}
......
......@@ -6,6 +6,8 @@ import (
"path/filepath"
"strconv"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/jenkins-zh/jenkins-cli/util"
"github.com/spf13/cobra"
......@@ -55,20 +57,21 @@ var jobArtifactDownloadCmd = &cobra.Command{
}
jobArtifactDownloadOption.Jenkins = getCurrentJenkinsAndClient(&(jclient.JenkinsCore))
if artifacts, err := jclient.List(jobName, buildID); err == nil {
artifacts, err := jclient.List(jobName, buildID)
if err == nil {
for _, artifact := range artifacts {
if jobArtifactDownloadOption.ID != "" && jobArtifactDownloadOption.ID != artifact.ID {
continue
}
err = jobArtifactDownloadOption.download(artifact.URL, filepath.Join(jobArtifactDownloadOption.DownloadDir, artifact.Name))
downloadPath := filepath.Join(jobArtifactDownloadOption.DownloadDir, artifact.Name)
err = jobArtifactDownloadOption.download(artifact.URL, downloadPath)
if err != nil {
cmd.PrintErrln(err)
break
}
}
} else {
cmd.PrintErrln(err)
}
helper.CheckErr(cmd, err)
},
}
......
......@@ -4,6 +4,8 @@ import (
"net/http"
"github.com/AlecAivazis/survey/v2"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/spf13/cobra"
)
......@@ -54,9 +56,8 @@ var jobCreateCmd = &cobra.Command{
if jobCreateOption.Copy != "" {
payload.Mode = "copy"
}
if err := jclient.Create(payload); err != nil {
cmd.PrintErrln(err)
}
err = jclient.Create(payload)
helper.CheckErr(cmd, err)
},
}
......
......@@ -2,9 +2,10 @@ package cmd
import (
"fmt"
"log"
"net/http"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/spf13/cobra"
)
......@@ -41,8 +42,7 @@ var jobDeleteCmd = &cobra.Command{
}
getCurrentJenkinsAndClient(&(jclient.JenkinsCore))
if err := jclient.Delete(jobName); err != nil {
log.Fatal(err)
}
err := jclient.Delete(jobName)
helper.CheckErr(cmd, err)
},
}
......@@ -5,6 +5,8 @@ import (
"net/http"
"github.com/AlecAivazis/survey/v2"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/spf13/cobra"
)
......@@ -47,14 +49,10 @@ var jobEditCmd = &cobra.Command{
}
getCurrentJenkinsAndClient(&(jclient.JenkinsCore))
if content, err = jobEditOption.getPipeline(jclient, name); err != nil {
cmd.PrintErrln(err)
return
}
if err = jclient.UpdatePipeline(name, content); err != nil {
cmd.Println("update failed", err)
if content, err = jobEditOption.getPipeline(jclient, name); err == nil {
err = jclient.UpdatePipeline(name, content)
}
helper.CheckErr(cmd, err)
},
}
......
......@@ -2,10 +2,11 @@ package cmd
import (
"fmt"
"log"
"net/http"
"strings"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/spf13/cobra"
)
......@@ -51,16 +52,15 @@ var jobSearchCmd = &cobra.Command{
}
getCurrentJenkinsAndClient(&(jclient.JenkinsCore))
if status, err := jclient.Search(keyword, jobSearchOption.Max); err == nil {
status, err := jclient.Search(keyword, jobSearchOption.Max)
if err == nil {
var data []byte
if data, err = jobSearchOption.Output(status); err == nil {
data, err = jobSearchOption.Output(status)
if err == nil {
cmd.Println(string(data))
} else {
log.Fatal(err)
}
} else {
log.Fatal(err)
}
helper.CheckErr(cmd, err)
},
}
......
......@@ -2,10 +2,11 @@ package cmd
import (
"fmt"
"log"
"net/http"
"strconv"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/spf13/cobra"
)
......@@ -51,8 +52,7 @@ var jobStopCmd = &cobra.Command{
}
getCurrentJenkinsAndClient(&(jclient.JenkinsCore))
if err := jclient.StopJob(jobName, buildNum); err != nil {
log.Fatal(err)
}
err = jclient.StopJob(jobName, buildNum)
helper.CheckErr(cmd, err)
},
}
......@@ -3,9 +3,10 @@ package cmd
import (
"bytes"
"fmt"
"log"
"net/http"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/jenkins-zh/jenkins-cli/util"
"github.com/spf13/cobra"
......@@ -37,18 +38,15 @@ var jobTypeCmd = &cobra.Command{
}
getCurrentJenkinsAndClient(&(jclient.JenkinsCore))
if status, err := jclient.GetJobTypeCategories(); err == nil {
status, err := jclient.GetJobTypeCategories()
if err == nil {
var data []byte
if data, err = jobTypeOption.Output(status); err == nil {
if len(data) > 0 {
cmd.Print(string(data))
}
} else {
log.Fatal(err)
data, err = jobTypeOption.Output(status)
if err == nil && len(data) > 0 {
cmd.Print(string(data))
}
} else {
log.Fatal(err)
}
helper.CheckErr(cmd, err)
},
}
......
......@@ -3,10 +3,11 @@ package cmd
import (
"bytes"
"fmt"
"log"
"net/http"
"strings"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/jenkins-zh/jenkins-cli/util"
"github.com/spf13/cobra"
......@@ -41,19 +42,16 @@ var pluginSearchCmd = &cobra.Command{
}
getCurrentJenkinsAndClient(&(jclient.JenkinsCore))
if plugins, err := jclient.GetAvailablePlugins(); err == nil {
plugins, err := jclient.GetAvailablePlugins()
if err == nil {
result := searchPlugins(plugins, keyword)
resultData := matchPluginsData(result, jclient)
if data, err := pluginSearchOption.Output(resultData); err == nil {
if len(data) > 0 {
cmd.Print(string(data))
}
} else {
log.Fatal(err)
data, err := pluginSearchOption.Output(resultData)
if err == nil && len(data) > 0 {
cmd.Print(string(data))
}
} else {
log.Fatal(err)
}
helper.CheckErr(cmd, err)
},
}
......
......@@ -3,6 +3,8 @@ package cmd
import (
"net/http"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/spf13/cobra"
)
......@@ -22,19 +24,17 @@ var pluginTrendCmd = &cobra.Command{
Use: "trend <pluginName>",
Short: "Show the trend of the plugin",
Long: `Show the trend of the plugin`,
Args: cobra.MinimumNArgs(1),
Run: func(cmd *cobra.Command, args []string) {
if len(args) == 0 {
cmd.Help()
return
}
pluginName := args[0]
jclient := &client.PluginAPI{
RoundTripper: pluginTreadOption.RoundTripper,
}
if tread, err := jclient.ShowTrend(pluginName); err == nil {
tread, err := jclient.ShowTrend(pluginName)
if err == nil {
cmd.Print(tread)
}
helper.CheckErr(cmd, err)
},
}
......@@ -3,6 +3,8 @@ package cmd
import (
"net/http"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/spf13/cobra"
)
......@@ -32,8 +34,7 @@ var pluginUninstallCmd = &cobra.Command{
}
getCurrentJenkinsAndClient(&(jclient.JenkinsCore))
if err := jclient.UninstallPlugin(pluginName); err != nil {
cmd.PrintErr(err)
}
err := jclient.UninstallPlugin(pluginName)
helper.CheckErr(cmd, err)
},
}
......@@ -75,7 +75,7 @@ var _ = Describe("plugin uninstall command", func() {
_, err = rootCmd.ExecuteC()
Expect(err).To(BeNil())
Expect(buf.String()).To(Equal("unexpected status code: 500"))
Expect(buf.String()).To(Equal("unexpected status code: 500\n"))
})
})
})
......@@ -6,6 +6,8 @@ import (
"strings"
"github.com/AlecAivazis/survey/v2"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/spf13/cobra"
)
......@@ -51,13 +53,10 @@ var pluginUpgradeCmd = &cobra.Command{
targetPlugins = args
}
if err != nil {
cmd.PrintErrln(err)
} else {
if err = jclient.InstallPlugin(targetPlugins); err != nil {
cmd.PrintErrln(err)
}
if err == nil {
err = jclient.InstallPlugin(targetPlugins)
}
helper.CheckErr(cmd, err)
},
}
......
......@@ -4,6 +4,8 @@ import (
"net/http"
"strconv"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/spf13/cobra"
)
......@@ -42,8 +44,7 @@ var queueCancelCmd = &cobra.Command{
}
getCurrentJenkinsAndClient(&(jclient.JenkinsCore))
if err = jclient.Cancel(queueID); err != nil {
cmd.PrintErrln(err)
}
err = jclient.Cancel(queueID)
helper.CheckErr(cmd, err)
},
}
package cmd
import (
"log"
"net/http"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/spf13/cobra"
)
......@@ -35,15 +36,14 @@ var queueListCmd = &cobra.Command{
}
getCurrentJenkinsAndClient(&(jclient.JenkinsCore))
if status, err := jclient.Get(); err == nil {
status, err := jclient.Get()
if err == nil {
var data []byte
if data, err = Format(status, queueListOption.Format); err == nil {
data, err = Format(status, queueListOption.Format)
if err == nil {
cmd.Printf("%s\n", string(data))
} else {
log.Fatal(err)
}
} else {
log.Fatal(err)
}
helper.CheckErr(cmd, err)
},
}
......@@ -3,6 +3,8 @@ package cmd
import (
"net/http"
"github.com/jenkins-zh/jenkins-cli/app/helper"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/spf13/cobra"
)
......@@ -42,15 +44,14 @@ var userTokenCmd = &cobra.Command{
getCurrentJenkinsAndClient(&(jclient.JenkinsCore))
tokenName := userTokenOption.Name
if status, err := jclient.CreateToken(tokenName); err == nil {
status, err := jclient.CreateToken(tokenName)
if err == nil {
var data []byte
if data, err = userOption.Output(status); err == nil {
data, err = userOption.Output(status)
if err == nil {
cmd.Println(string(data))
} else {
cmd.PrintErrln(err)
}
} else {
cmd.PrintErrln(err)
}
helper.CheckErr(cmd, err)
},
}
package helper
import "github.com/spf13/cobra"
// CheckErr print a friendly error message
func CheckErr(cmd *cobra.Command, err error) {
switch {
case err == nil:
return
default:
cmd.PrintErrln(err)
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册