提交 2e9ca38a 编写于 作者: LinuxSuRen's avatar LinuxSuRen

Fix the conflict from Makefile

...@@ -12,4 +12,6 @@ ...@@ -12,4 +12,6 @@
*.out *.out
bin/ bin/
release/ release/
\ No newline at end of file
*.xml
...@@ -33,13 +33,15 @@ pipeline { ...@@ -33,13 +33,15 @@ pipeline {
stage('Test') { stage('Test') {
steps { steps {
container('golang') { container('golang') {
sh label: 'go test', script: ''' sh label: 'go test', script: 'make test'
go test ./util/... -v
go test ./client/... -v
go test ./app/... -v
'''
} }
} }
} }
} }
post {
always {
junit allowEmptyResults: true, testResults: "*/**/*.xml"
}
}
} }
\ No newline at end of file
...@@ -34,6 +34,11 @@ clean: ## Clean the generated artifacts ...@@ -34,6 +34,11 @@ clean: ## Clean the generated artifacts
copy: darwin copy: darwin
sudo cp bin/darwin/$(NAME) $(shell which jcli) sudo cp bin/darwin/$(NAME) $(shell which jcli)
test:
go test ./util/... -v -coverprofile bin/testcover-util.log
go test ./client/... -v -coverprofile bin/testcover-client.log
go test ./app/... -v -coverprofile bin/testcover-app.log
dep: dep:
go get github.com/AlecAivazis/survey/v2 go get github.com/AlecAivazis/survey/v2
go get github.com/gosuri/uiprogress go get github.com/gosuri/uiprogress
......
...@@ -28,7 +28,7 @@ var centerCmd = &cobra.Command{ ...@@ -28,7 +28,7 @@ var centerCmd = &cobra.Command{
Short: "Manage your update center", Short: "Manage your update center",
Long: `Manage your update center`, Long: `Manage your update center`,
Run: func(_ *cobra.Command, _ []string) { Run: func(_ *cobra.Command, _ []string) {
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
printJenkinsStatus(jenkins) printJenkinsStatus(jenkins)
for { for {
......
...@@ -50,9 +50,15 @@ type JenkinsServer struct { ...@@ -50,9 +50,15 @@ type JenkinsServer struct {
Description string `yaml:"description"` Description string `yaml:"description"`
} }
type PreHook struct {
Path string `yaml:"path"`
Command string `yaml:"cmd"`
}
type Config struct { type Config struct {
Current string `yaml:"current"` Current string `yaml:"current"`
JenkinsServers []JenkinsServer `yaml:"jenkins_servers"` JenkinsServers []JenkinsServer `yaml:"jenkins_servers"`
PreHooks []PreHook `yaml:"preHooks"`
} }
func setCurrentJenkins(name string) { func setCurrentJenkins(name string) {
......
...@@ -19,7 +19,7 @@ var configEditCmd = &cobra.Command{ ...@@ -19,7 +19,7 @@ var configEditCmd = &cobra.Command{
Short: "Edit a Jenkins config", Short: "Edit a Jenkins config",
Long: `Edit a Jenkins config`, Long: `Edit a Jenkins config`,
Run: func(_ *cobra.Command, _ []string) { Run: func(_ *cobra.Command, _ []string) {
current := getCurrentJenkins() current := getCurrentJenkinsFromOptionsOrDie()
configPath := configOptions.ConfigFileLocation configPath := configOptions.ConfigFileLocation
var data []byte var data []byte
......
...@@ -42,7 +42,7 @@ var jobBuildCmd = &cobra.Command{ ...@@ -42,7 +42,7 @@ var jobBuildCmd = &cobra.Command{
return return
} }
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.JobClient{} jclient := &client.JobClient{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -29,7 +29,7 @@ var jobCreateCmd = &cobra.Command{ ...@@ -29,7 +29,7 @@ var jobCreateCmd = &cobra.Command{
jobName := args[0] jobName := args[0]
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.JobClient{} jclient := &client.JobClient{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -34,7 +34,7 @@ var jobDeleteCmd = &cobra.Command{ ...@@ -34,7 +34,7 @@ var jobDeleteCmd = &cobra.Command{
return return
} }
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.JobClient{} jclient := &client.JobClient{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -42,7 +42,7 @@ var jobEditCmd = &cobra.Command{ ...@@ -42,7 +42,7 @@ var jobEditCmd = &cobra.Command{
log.Fatal(err) log.Fatal(err)
} }
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.JobClient{} jclient := &client.JobClient{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -33,7 +33,7 @@ var jobHistoryCmd = &cobra.Command{ ...@@ -33,7 +33,7 @@ var jobHistoryCmd = &cobra.Command{
jobName := args[0] jobName := args[0]
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.JobClient{} jclient := &client.JobClient{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -38,7 +38,7 @@ var jobLogCmd = &cobra.Command{ ...@@ -38,7 +38,7 @@ var jobLogCmd = &cobra.Command{
} }
name := args[0] name := args[0]
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.JobClient{} jclient := &client.JobClient{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -34,7 +34,7 @@ var jobParamCmd = &cobra.Command{ ...@@ -34,7 +34,7 @@ var jobParamCmd = &cobra.Command{
} }
name := args[0] name := args[0]
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.JobClient{} jclient := &client.JobClient{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -31,7 +31,7 @@ var jobSearchCmd = &cobra.Command{ ...@@ -31,7 +31,7 @@ var jobSearchCmd = &cobra.Command{
keyword := args[0] keyword := args[0]
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.JobClient{} jclient := &client.JobClient{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -43,7 +43,7 @@ var jobStopCmd = &cobra.Command{ ...@@ -43,7 +43,7 @@ var jobStopCmd = &cobra.Command{
return return
} }
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.JobClient{} jclient := &client.JobClient{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -26,7 +26,7 @@ var jobTypeCmd = &cobra.Command{ ...@@ -26,7 +26,7 @@ var jobTypeCmd = &cobra.Command{
Short: "Print the types of job which in your Jenkins", Short: "Print the types of job which in your Jenkins",
Long: `Print the types of job which in your Jenkins`, Long: `Print the types of job which in your Jenkins`,
Run: func(_ *cobra.Command, _ []string) { Run: func(_ *cobra.Command, _ []string) {
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.JobClient{} jclient := &client.JobClient{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -19,7 +19,7 @@ var pluginCheckCmd = &cobra.Command{ ...@@ -19,7 +19,7 @@ var pluginCheckCmd = &cobra.Command{
Short: "Checkout update center server", Short: "Checkout update center server",
Long: `Checkout update center server`, Long: `Checkout update center server`,
Run: func(_ *cobra.Command, _ []string) { Run: func(_ *cobra.Command, _ []string) {
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.PluginManager{} jclient := &client.PluginManager{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -18,7 +18,7 @@ var pluginInstallCmd = &cobra.Command{ ...@@ -18,7 +18,7 @@ var pluginInstallCmd = &cobra.Command{
Short: "Install the plugins", Short: "Install the plugins",
Long: `Install the plugins`, Long: `Install the plugins`,
Run: func(_ *cobra.Command, args []string) { Run: func(_ *cobra.Command, args []string) {
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.PluginManager{} jclient := &client.PluginManager{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -31,7 +31,7 @@ var pluginListCmd = &cobra.Command{ ...@@ -31,7 +31,7 @@ var pluginListCmd = &cobra.Command{
Example: ` jcli plugin list --filter name=github Example: ` jcli plugin list --filter name=github
jcli plugin list --filter hasUpdate`, jcli plugin list --filter hasUpdate`,
Run: func(_ *cobra.Command, _ []string) { Run: func(_ *cobra.Command, _ []string) {
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.PluginManager{} jclient := &client.PluginManager{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -16,7 +16,7 @@ var pluginOpenCmd = &cobra.Command{ ...@@ -16,7 +16,7 @@ var pluginOpenCmd = &cobra.Command{
Short: "Openout update center server", Short: "Openout update center server",
Long: `Openout update center server`, Long: `Openout update center server`,
Run: func(_ *cobra.Command, _ []string) { Run: func(_ *cobra.Command, _ []string) {
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
if jenkins.URL != "" { if jenkins.URL != "" {
open(fmt.Sprintf("%s/pluginManager", jenkins.URL)) open(fmt.Sprintf("%s/pluginManager", jenkins.URL))
......
...@@ -34,7 +34,7 @@ var pluginSearchCmd = &cobra.Command{ ...@@ -34,7 +34,7 @@ var pluginSearchCmd = &cobra.Command{
keyword := args[0] keyword := args[0]
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.PluginManager{} jclient := &client.PluginManager{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -24,7 +24,7 @@ var pluginUninstallCmd = &cobra.Command{ ...@@ -24,7 +24,7 @@ var pluginUninstallCmd = &cobra.Command{
pluginName = args[0] pluginName = args[0]
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.PluginManager{} jclient := &client.PluginManager{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -40,7 +40,7 @@ var pluginUploadCmd = &cobra.Command{ ...@@ -40,7 +40,7 @@ var pluginUploadCmd = &cobra.Command{
Long: `Upload a plugin from local filesystem or remote URL to your Jenkins`, Long: `Upload a plugin from local filesystem or remote URL to your Jenkins`,
Example: ` jcli plugin upload --remote https://server/sample.hpi Example: ` jcli plugin upload --remote https://server/sample.hpi
jcli plugin upload sample.hpi`, jcli plugin upload sample.hpi`,
PreRun: func(_ *cobra.Command, args []string) { PreRun: func(cmd *cobra.Command, args []string) {
if pluginUploadOption.Remote != "" { if pluginUploadOption.Remote != "" {
file, err := ioutil.TempFile(".", "jcli-plugin") file, err := ioutil.TempFile(".", "jcli-plugin")
if err != nil { if err != nil {
...@@ -70,6 +70,8 @@ var pluginUploadCmd = &cobra.Command{ ...@@ -70,6 +70,8 @@ var pluginUploadCmd = &cobra.Command{
log.Fatal(err) log.Fatal(err)
} }
} else if len(args) == 0 { } else if len(args) == 0 {
executePreCmd(cmd, args)
path, _ := os.Getwd() path, _ := os.Getwd()
dirName := filepath.Base(path) dirName := filepath.Base(path)
dirName = strings.Replace(dirName, "-plugin", "", -1) dirName = strings.Replace(dirName, "-plugin", "", -1)
...@@ -81,7 +83,7 @@ var pluginUploadCmd = &cobra.Command{ ...@@ -81,7 +83,7 @@ var pluginUploadCmd = &cobra.Command{
} }
}, },
Run: func(_ *cobra.Command, _ []string) { Run: func(_ *cobra.Command, _ []string) {
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.PluginManager{} jclient := &client.PluginManager{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -24,7 +24,7 @@ var queueCmd = &cobra.Command{ ...@@ -24,7 +24,7 @@ var queueCmd = &cobra.Command{
Short: "Print the queue of your Jenkins", Short: "Print the queue of your Jenkins",
Long: `Print the queue of your Jenkins`, Long: `Print the queue of your Jenkins`,
Run: func(_ *cobra.Command, _ []string) { Run: func(_ *cobra.Command, _ []string) {
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.QueueClient{} jclient := &client.QueueClient{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -25,7 +25,7 @@ var restartCmd = &cobra.Command{ ...@@ -25,7 +25,7 @@ var restartCmd = &cobra.Command{
Short: "Restart your Jenkins", Short: "Restart your Jenkins",
Long: `Restart your Jenkins`, Long: `Restart your Jenkins`,
Run: func(_ *cobra.Command, _ []string) { Run: func(_ *cobra.Command, _ []string) {
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
if !restartOption.Batch { if !restartOption.Batch {
confirm := false confirm := false
prompt := &survey.Confirm{ prompt := &survey.Confirm{
......
...@@ -4,12 +4,16 @@ import ( ...@@ -4,12 +4,16 @@ import (
"fmt" "fmt"
"log" "log"
"os" "os"
"os/exec"
"strings"
"github.com/jenkins-zh/jenkins-cli/app" "github.com/jenkins-zh/jenkins-cli/app"
"github.com/spf13/cobra" "github.com/spf13/cobra"
) )
// RootOptions is a global option for whole cli
type RootOptions struct { type RootOptions struct {
Jenkins string
Version bool Version bool
Debug bool Debug bool
} }
...@@ -23,7 +27,7 @@ var rootCmd = &cobra.Command{ ...@@ -23,7 +27,7 @@ var rootCmd = &cobra.Command{
Run: func(_ *cobra.Command, _ []string) { Run: func(_ *cobra.Command, _ []string) {
fmt.Println("Jenkins CLI (jcli) manage your Jenkins") fmt.Println("Jenkins CLI (jcli) manage your Jenkins")
current := getCurrentJenkins() current := getCurrentJenkinsFromOptionsOrDie()
if current != nil { if current != nil {
fmt.Println("Current Jenkins is:", current.Name) fmt.Println("Current Jenkins is:", current.Name)
} else { } else {
...@@ -48,6 +52,7 @@ var rootOptions RootOptions ...@@ -48,6 +52,7 @@ var rootOptions RootOptions
func init() { func init() {
cobra.OnInitialize(initConfig) cobra.OnInitialize(initConfig)
rootCmd.PersistentFlags().StringVarP(&rootOptions.Jenkins, "jenkins", "j", "", "Select a Jenkins server for this time")
rootCmd.PersistentFlags().BoolVarP(&rootOptions.Version, "version", "v", false, "Print the version of Jenkins CLI") rootCmd.PersistentFlags().BoolVarP(&rootOptions.Version, "version", "v", false, "Print the version of Jenkins CLI")
rootCmd.PersistentFlags().BoolVarP(&rootOptions.Debug, "debug", "", false, "Print the output into debug.html") rootCmd.PersistentFlags().BoolVarP(&rootOptions.Debug, "debug", "", false, "Print the output into debug.html")
} }
...@@ -62,3 +67,60 @@ func initConfig() { ...@@ -62,3 +67,60 @@ func initConfig() {
log.Fatalf("Config file is invalid: %v", err) log.Fatalf("Config file is invalid: %v", err)
} }
} }
func getCurrentJenkinsFromOptions() (jenkinsServer *JenkinsServer) {
jenkinsOpt := rootOptions.Jenkins
if jenkinsOpt == "" {
jenkinsServer = getCurrentJenkins()
} else {
jenkinsServer = findJenkinsByName(jenkinsOpt)
}
return
}
func getCurrentJenkinsFromOptionsOrDie() (jenkinsServer *JenkinsServer) {
if jenkinsServer = getCurrentJenkinsFromOptions(); jenkinsServer == nil {
log.Fatal("Cannot found Jenkins by", rootOptions.Jenkins) // TODO not accurate
}
return
}
func getCmdPath(cmd *cobra.Command) string {
current := cmd.Use
if cmd.HasParent() {
parentName := getCmdPath(cmd.Parent())
if parentName == "" {
return current
}
return fmt.Sprintf("%s.%s", parentName, current)
}
// don't need the name of root cmd
return ""
}
func executePreCmd(cmd *cobra.Command, _ []string) {
config := getConfig()
if config == nil {
log.Fatal("Cannot find config file")
return
}
path := getCmdPath(cmd)
for _, preHook := range config.PreHooks {
if path != preHook.Path {
continue
}
execute(preHook.Command)
}
}
func execute(command string) {
array := strings.Split(command, " ")
cmd := exec.Command(array[0], array[1:]...)
cmd.Stdout = os.Stdout
if err := cmd.Run(); err != nil {
log.Fatal(err)
}
}
package cmd
import (
"github.com/golang/mock/gomock"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/spf13/cobra"
)
var _ = Describe("Root cmd test", func() {
var (
ctrl *gomock.Controller
rootCmd *cobra.Command
)
BeforeEach(func() {
ctrl = gomock.NewController(GinkgoT())
rootCmd = &cobra.Command{Use: "root"}
})
AfterEach(func() {
ctrl.Finish()
})
Context("PreHook test", func() {
It("only with root cmd", func() {
path := getCmdPath(rootCmd)
Expect(path).To(Equal(""))
})
It("one sub cmd", func() {
subCmd := &cobra.Command{
Use: "sub",
}
rootCmd.AddCommand(subCmd)
path := getCmdPath(subCmd)
Expect(path).To(Equal("sub"))
})
It("two sub cmds", func() {
sub1Cmd := &cobra.Command{
Use: "sub1",
}
sub2Cmd := &cobra.Command{
Use: "sub2",
}
rootCmd.AddCommand(sub1Cmd)
sub1Cmd.AddCommand(sub2Cmd)
path := getCmdPath(sub2Cmd)
Expect(path).To(Equal("sub1.sub2"))
})
})
})
package cmd
import (
"testing"
"github.com/onsi/ginkgo/reporters"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
func TestApp(t *testing.T) {
RegisterFailHandler(Fail)
junitReporter := reporters.NewJUnitReporter("test-app.xml")
RunSpecsWithDefaultAndCustomReporters(t, "app/cmd", []Reporter{junitReporter})
}
...@@ -24,7 +24,7 @@ var userCmd = &cobra.Command{ ...@@ -24,7 +24,7 @@ var userCmd = &cobra.Command{
Short: "Print the user of your Jenkins", Short: "Print the user of your Jenkins",
Long: `Print the user of your Jenkins`, Long: `Print the user of your Jenkins`,
Run: func(_ *cobra.Command, _ []string) { Run: func(_ *cobra.Command, _ []string) {
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.UserClient{} jclient := &client.UserClient{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -29,7 +29,7 @@ var userCreateCmd = &cobra.Command{ ...@@ -29,7 +29,7 @@ var userCreateCmd = &cobra.Command{
username := args[0] username := args[0]
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.UserClient{} jclient := &client.UserClient{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -35,7 +35,7 @@ var userDeleteCmd = &cobra.Command{ ...@@ -35,7 +35,7 @@ var userDeleteCmd = &cobra.Command{
return return
} }
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.UserClient{} jclient := &client.UserClient{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -24,7 +24,7 @@ var userEditCmd = &cobra.Command{ ...@@ -24,7 +24,7 @@ var userEditCmd = &cobra.Command{
Short: "Edit the user of your Jenkins", Short: "Edit the user of your Jenkins",
Long: `Edit the user of your Jenkins`, Long: `Edit the user of your Jenkins`,
Run: func(_ *cobra.Command, _ []string) { Run: func(_ *cobra.Command, _ []string) {
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.UserClient{} jclient := &client.UserClient{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -31,7 +31,7 @@ var userTokenCmd = &cobra.Command{ ...@@ -31,7 +31,7 @@ var userTokenCmd = &cobra.Command{
return return
} }
jenkins := getCurrentJenkins() jenkins := getCurrentJenkinsFromOptionsOrDie()
jclient := &client.UserClient{} jclient := &client.UserClient{}
jclient.URL = jenkins.URL jclient.URL = jenkins.URL
jclient.UserName = jenkins.UserName jclient.UserName = jenkins.UserName
......
...@@ -3,11 +3,14 @@ package util ...@@ -3,11 +3,14 @@ package util
import ( import (
"testing" "testing"
"github.com/onsi/ginkgo/reporters"
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
) )
func TestUtils(t *testing.T) { func TestUtils(t *testing.T) {
RegisterFailHandler(Fail) RegisterFailHandler(Fail)
RunSpecs(t, "jcli utils test") junitReporter := reporters.NewJUnitReporter("test-utils.xml")
RunSpecsWithDefaultAndCustomReporters(t, "util", []Reporter{junitReporter})
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册