From be300f6acb92b1152ca3834d59794beb19b9dcf2 Mon Sep 17 00:00:00 2001 From: Zhao Xiaojie Date: Sat, 5 Oct 2019 20:32:16 +0800 Subject: [PATCH] Add test cases for user command (#181) * Add test cases for user command * Add test cases with error condition * Add more error conditions --- app/cmd/user.go | 27 +++++----- app/cmd/user_create.go | 24 ++++----- app/cmd/user_create_test.go | 96 ++++++++++++++++++++++++++++++++++++ app/cmd/user_delete.go | 28 +++++------ app/cmd/user_delete_test.go | 96 ++++++++++++++++++++++++++++++++++++ app/cmd/user_test.go | 81 ++++++++++++++++++++++++++++++ app/cmd/user_token.go | 27 +++++----- app/cmd/user_token_test.go | 98 +++++++++++++++++++++++++++++++++++++ client/test_methods.go | 18 ------- client/user_test_common.go | 34 ++++++++++--- 10 files changed, 453 insertions(+), 76 deletions(-) create mode 100644 app/cmd/user_create_test.go create mode 100644 app/cmd/user_delete_test.go create mode 100644 app/cmd/user_test.go create mode 100644 app/cmd/user_token_test.go diff --git a/app/cmd/user.go b/app/cmd/user.go index fdc0802..ef23d86 100644 --- a/app/cmd/user.go +++ b/app/cmd/user.go @@ -1,8 +1,7 @@ package cmd import ( - "fmt" - "log" + "net/http" "github.com/jenkins-zh/jenkins-cli/client" "github.com/spf13/cobra" @@ -11,6 +10,8 @@ import ( // UserOption is the user cmd option type UserOption struct { OutputOption + + RoundTripper http.RoundTripper } var userOption UserOption @@ -24,23 +25,23 @@ var userCmd = &cobra.Command{ Use: "user", Short: "Print the user of your Jenkins", Long: `Print the user of your Jenkins`, - Run: func(_ *cobra.Command, _ []string) { - jenkins := getCurrentJenkinsFromOptionsOrDie() - jclient := &client.UserClient{} - jclient.URL = jenkins.URL - jclient.UserName = jenkins.UserName - jclient.Token = jenkins.Token - jclient.Proxy = jenkins.Proxy - jclient.ProxyAuth = jenkins.ProxyAuth + Run: func(cmd *cobra.Command, _ []string) { + jclient := &client.UserClient{ + JenkinsCore: client.JenkinsCore{ + RoundTripper: userOption.RoundTripper, + Debug: rootOptions.Debug, + }, + } + getCurrentJenkinsAndClient(&(jclient.JenkinsCore)) if status, err := jclient.Get(); err == nil { if data, err := userOption.Output(status); err == nil { - fmt.Println(string(data)) + cmd.Println(string(data)) } else { - log.Fatal(err) + cmd.PrintErrln(err) } } else { - log.Fatal(err) + cmd.PrintErrln(err) } }, } diff --git a/app/cmd/user_create.go b/app/cmd/user_create.go index d507b7a..96fc468 100644 --- a/app/cmd/user_create.go +++ b/app/cmd/user_create.go @@ -1,8 +1,7 @@ package cmd import ( - "fmt" - "log" + "net/http" "github.com/jenkins-zh/jenkins-cli/client" "github.com/spf13/cobra" @@ -10,6 +9,7 @@ import ( // UserCreateOption is user create cmd option type UserCreateOption struct { + RoundTripper http.RoundTripper } var userCreateOption UserCreateOption @@ -19,7 +19,7 @@ func init() { } var userCreateCmd = &cobra.Command{ - Use: "create", + Use: "create ", Short: "Create a user for your Jenkins", Long: `Create a user for your Jenkins`, Run: func(cmd *cobra.Command, args []string) { @@ -30,18 +30,18 @@ var userCreateCmd = &cobra.Command{ username := args[0] - jenkins := getCurrentJenkinsFromOptionsOrDie() - jclient := &client.UserClient{} - jclient.URL = jenkins.URL - jclient.UserName = jenkins.UserName - jclient.Token = jenkins.Token - jclient.Proxy = jenkins.Proxy - jclient.ProxyAuth = jenkins.ProxyAuth + jclient := &client.UserClient{ + JenkinsCore: client.JenkinsCore{ + RoundTripper: userCreateOption.RoundTripper, + Debug: rootOptions.Debug, + }, + } + getCurrentJenkinsAndClient(&(jclient.JenkinsCore)) if user, err := jclient.Create(username); err == nil { - fmt.Printf("create user success. Password is: %s\n", user.Password1) + cmd.Println("create user success. Password is:", user.Password1) } else { - log.Fatal(err) + cmd.PrintErrln(err) } }, } diff --git a/app/cmd/user_create_test.go b/app/cmd/user_create_test.go new file mode 100644 index 0000000..ad68bb8 --- /dev/null +++ b/app/cmd/user_create_test.go @@ -0,0 +1,96 @@ +package cmd + +import ( + "bytes" + "io/ioutil" + "os" + + "github.com/golang/mock/gomock" + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + "github.com/spf13/cobra" + + "github.com/jenkins-zh/jenkins-cli/client" + "github.com/jenkins-zh/jenkins-cli/mock/mhttp" +) + +var _ = Describe("user create command", func() { + var ( + ctrl *gomock.Controller + roundTripper *mhttp.MockRoundTripper + ) + + BeforeEach(func() { + ctrl = gomock.NewController(GinkgoT()) + rootCmd.SetArgs([]string{}) + rootOptions.Jenkins = "" + rootOptions.ConfigFile = "test.yaml" + }) + + AfterEach(func() { + rootCmd.SetArgs([]string{}) + os.Remove(rootOptions.ConfigFile) + rootOptions.ConfigFile = "" + ctrl.Finish() + }) + + Context("with http requests", func() { + BeforeEach(func() { + roundTripper = mhttp.NewMockRoundTripper(ctrl) + userCreateOption.RoundTripper = roundTripper + }) + + It("lack of arguments", func() { + buf := new(bytes.Buffer) + rootCmd.SetOutput(buf) + + userCreateCmd.SetHelpFunc(func(cmd *cobra.Command, _ []string) { + cmd.Print("help") + }) + + rootCmd.SetArgs([]string{"user", "create"}) + _, err := rootCmd.ExecuteC() + Expect(err).To(BeNil()) + Expect(buf.String()).To(Equal("help")) + }) + + It("should success", func() { + data, err := generateSampleConfig() + Expect(err).To(BeNil()) + err = ioutil.WriteFile(rootOptions.ConfigFile, data, 0664) + Expect(err).To(BeNil()) + + targetUserName := "fakename" + client.PrepareCreateUser(roundTripper, "http://localhost:8080/jenkins", "admin", "111e3a2f0231198855dceaff96f20540a9", targetUserName) + + rootCmd.SetArgs([]string{"user", "create", targetUserName}) + + buf := new(bytes.Buffer) + rootCmd.SetOutput(buf) + _, err = rootCmd.ExecuteC() + Expect(err).To(BeNil()) + + Expect(buf.String()).NotTo(Equal("")) + }) + + It("with status code 500", func() { + data, err := generateSampleConfig() + Expect(err).To(BeNil()) + err = ioutil.WriteFile(rootOptions.ConfigFile, data, 0664) + Expect(err).To(BeNil()) + + targetUserName := "fakename" + response := client.PrepareCreateUser(roundTripper, "http://localhost:8080/jenkins", "admin", "111e3a2f0231198855dceaff96f20540a9", targetUserName) + response.StatusCode = 500 + + rootCmd.SetArgs([]string{"user", "create", targetUserName}) + + buf := new(bytes.Buffer) + rootCmd.SetOutput(buf) + _, err = rootCmd.ExecuteC() + Expect(err).To(BeNil()) + + Expect(buf.String()).To(Equal("unexpected status code: 500\n")) + }) + }) +}) diff --git a/app/cmd/user_delete.go b/app/cmd/user_delete.go index 62d2c2b..e3bf6ab 100644 --- a/app/cmd/user_delete.go +++ b/app/cmd/user_delete.go @@ -2,7 +2,7 @@ package cmd import ( "fmt" - "log" + "net/http" "github.com/jenkins-zh/jenkins-cli/client" "github.com/spf13/cobra" @@ -11,6 +11,8 @@ import ( // UserDeleteOption is user delete cmd option type UserDeleteOption struct { BatchOption + + RoundTripper http.RoundTripper } var userDeleteOption UserDeleteOption @@ -21,7 +23,7 @@ func init() { } var userDeleteCmd = &cobra.Command{ - Use: "delete", + Use: "delete ", Short: "Delete a user for your Jenkins", Long: `Delete a user for your Jenkins`, Run: func(cmd *cobra.Command, args []string) { @@ -36,18 +38,16 @@ var userDeleteCmd = &cobra.Command{ return } - jenkins := getCurrentJenkinsFromOptionsOrDie() - jclient := &client.UserClient{} - jclient.URL = jenkins.URL - jclient.UserName = jenkins.UserName - jclient.Token = jenkins.Token - jclient.Proxy = jenkins.Proxy - jclient.ProxyAuth = jenkins.ProxyAuth - - if err := jclient.Delete(username); err == nil { - fmt.Printf("delete user success.\n") - } else { - log.Fatal(err) + jclient := &client.UserClient{ + JenkinsCore: client.JenkinsCore{ + RoundTripper: userDeleteOption.RoundTripper, + Debug: rootOptions.Debug, + }, + } + getCurrentJenkinsAndClient(&(jclient.JenkinsCore)) + + if err := jclient.Delete(username); err != nil { + cmd.PrintErrln(err) } }, } diff --git a/app/cmd/user_delete_test.go b/app/cmd/user_delete_test.go new file mode 100644 index 0000000..0d4d121 --- /dev/null +++ b/app/cmd/user_delete_test.go @@ -0,0 +1,96 @@ +package cmd + +import ( + "bytes" + "io/ioutil" + "os" + + "github.com/golang/mock/gomock" + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + "github.com/spf13/cobra" + + "github.com/jenkins-zh/jenkins-cli/client" + "github.com/jenkins-zh/jenkins-cli/mock/mhttp" +) + +var _ = Describe("user delete command", func() { + var ( + ctrl *gomock.Controller + roundTripper *mhttp.MockRoundTripper + ) + + BeforeEach(func() { + ctrl = gomock.NewController(GinkgoT()) + rootCmd.SetArgs([]string{}) + rootOptions.Jenkins = "" + rootOptions.ConfigFile = "test.yaml" + }) + + AfterEach(func() { + rootCmd.SetArgs([]string{}) + os.Remove(rootOptions.ConfigFile) + rootOptions.ConfigFile = "" + ctrl.Finish() + }) + + Context("with http requests", func() { + BeforeEach(func() { + roundTripper = mhttp.NewMockRoundTripper(ctrl) + userDeleteOption.RoundTripper = roundTripper + }) + + It("lack of arguments", func() { + buf := new(bytes.Buffer) + rootCmd.SetOutput(buf) + + userDeleteCmd.SetHelpFunc(func(cmd *cobra.Command, _ []string) { + cmd.Print("help") + }) + + rootCmd.SetArgs([]string{"user", "delete"}) + _, err := rootCmd.ExecuteC() + Expect(err).To(BeNil()) + Expect(buf.String()).To(Equal("help")) + }) + + It("should success", func() { + data, err := generateSampleConfig() + Expect(err).To(BeNil()) + err = ioutil.WriteFile(rootOptions.ConfigFile, data, 0664) + Expect(err).To(BeNil()) + + targetUserName := "fakename" + client.PrepareForDeleteUser(roundTripper, "http://localhost:8080/jenkins", targetUserName, "admin", "111e3a2f0231198855dceaff96f20540a9") + + rootCmd.SetArgs([]string{"user", "delete", targetUserName, "-b", "true"}) + + buf := new(bytes.Buffer) + rootCmd.SetOutput(buf) + _, err = rootCmd.ExecuteC() + Expect(err).To(BeNil()) + + Expect(buf.String()).To(Equal("")) + }) + + It("with status code 500", func() { + data, err := generateSampleConfig() + Expect(err).To(BeNil()) + err = ioutil.WriteFile(rootOptions.ConfigFile, data, 0664) + Expect(err).To(BeNil()) + + targetUserName := "fakename" + response := client.PrepareForDeleteUser(roundTripper, "http://localhost:8080/jenkins", targetUserName, "admin", "111e3a2f0231198855dceaff96f20540a9") + response.StatusCode = 500 + + rootCmd.SetArgs([]string{"user", "delete", targetUserName, "-b", "true"}) + + buf := new(bytes.Buffer) + rootCmd.SetOutput(buf) + _, err = rootCmd.ExecuteC() + Expect(err).To(BeNil()) + + Expect(buf.String()).To(Equal("unexpected status code: 500\n")) + }) + }) +}) diff --git a/app/cmd/user_test.go b/app/cmd/user_test.go new file mode 100644 index 0000000..c12f5ed --- /dev/null +++ b/app/cmd/user_test.go @@ -0,0 +1,81 @@ +package cmd + +import ( + "bytes" + "io/ioutil" + "os" + + "github.com/golang/mock/gomock" + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + + "github.com/jenkins-zh/jenkins-cli/client" + "github.com/jenkins-zh/jenkins-cli/mock/mhttp" +) + +var _ = Describe("user command", func() { + var ( + ctrl *gomock.Controller + roundTripper *mhttp.MockRoundTripper + ) + + BeforeEach(func() { + ctrl = gomock.NewController(GinkgoT()) + rootCmd.SetArgs([]string{}) + rootOptions.Jenkins = "" + rootOptions.ConfigFile = "test.yaml" + }) + + AfterEach(func() { + rootCmd.SetArgs([]string{}) + os.Remove(rootOptions.ConfigFile) + rootOptions.ConfigFile = "" + ctrl.Finish() + }) + + Context("with http requests", func() { + BeforeEach(func() { + roundTripper = mhttp.NewMockRoundTripper(ctrl) + userOption.RoundTripper = roundTripper + }) + + It("should success", func() { + data, err := generateSampleConfig() + Expect(err).To(BeNil()) + err = ioutil.WriteFile(rootOptions.ConfigFile, data, 0664) + Expect(err).To(BeNil()) + + client.PrepareGetUser(roundTripper, "http://localhost:8080/jenkins", + "admin", "111e3a2f0231198855dceaff96f20540a9") + + rootCmd.SetArgs([]string{"user"}) + + buf := new(bytes.Buffer) + rootCmd.SetOutput(buf) + _, err = rootCmd.ExecuteC() + Expect(err).To(BeNil()) + + Expect(buf.String()).To(Equal("{\n \"absoluteUrl\": \"\",\n \"Description\": \"\",\n \"fullname\": \"admin\",\n \"ID\": \"\"\n}\n")) + }) + + It("with status code 500", func() { + data, err := generateSampleConfig() + Expect(err).To(BeNil()) + err = ioutil.WriteFile(rootOptions.ConfigFile, data, 0664) + Expect(err).To(BeNil()) + + response := client.PrepareGetUser(roundTripper, "http://localhost:8080/jenkins", + "admin", "111e3a2f0231198855dceaff96f20540a9") + response.StatusCode = 500 + + rootCmd.SetArgs([]string{"user"}) + + buf := new(bytes.Buffer) + rootCmd.SetOutput(buf) + _, err = rootCmd.ExecuteC() + Expect(err).To(BeNil()) + + Expect(buf.String()).To(Equal("unexpected status code: 500\n")) + }) + }) +}) diff --git a/app/cmd/user_token.go b/app/cmd/user_token.go index 2c98cfd..e5277b2 100644 --- a/app/cmd/user_token.go +++ b/app/cmd/user_token.go @@ -1,8 +1,7 @@ package cmd import ( - "fmt" - "log" + "net/http" "github.com/jenkins-zh/jenkins-cli/client" "github.com/spf13/cobra" @@ -12,6 +11,8 @@ import ( type UserTokenOption struct { Generate bool Name string + + RoundTripper http.RoundTripper } var userTokenOption UserTokenOption @@ -23,7 +24,7 @@ func init() { } var userTokenCmd = &cobra.Command{ - Use: "token", + Use: "token -g", Short: "Token the user of your Jenkins", Long: `Token the user of your Jenkins`, Run: func(cmd *cobra.Command, _ []string) { @@ -32,24 +33,24 @@ var userTokenCmd = &cobra.Command{ return } - jenkins := getCurrentJenkinsFromOptionsOrDie() - jclient := &client.UserClient{} - jclient.URL = jenkins.URL - jclient.UserName = jenkins.UserName - jclient.Token = jenkins.Token - jclient.Proxy = jenkins.Proxy - jclient.ProxyAuth = jenkins.ProxyAuth + jclient := &client.UserClient{ + JenkinsCore: client.JenkinsCore{ + RoundTripper: userTokenOption.RoundTripper, + Debug: rootOptions.Debug, + }, + } + getCurrentJenkinsAndClient(&(jclient.JenkinsCore)) tokenName := userTokenOption.Name if status, err := jclient.CreateToken(tokenName); err == nil { var data []byte if data, err = userOption.Output(status); err == nil { - fmt.Printf("%s\n", string(data)) + cmd.Println(string(data)) } else { - log.Fatal(err) + cmd.PrintErrln(err) } } else { - log.Fatal(err) + cmd.PrintErrln(err) } }, } diff --git a/app/cmd/user_token_test.go b/app/cmd/user_token_test.go new file mode 100644 index 0000000..428ef45 --- /dev/null +++ b/app/cmd/user_token_test.go @@ -0,0 +1,98 @@ +package cmd + +import ( + "bytes" + "io/ioutil" + "os" + + "github.com/golang/mock/gomock" + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + "github.com/spf13/cobra" + + "github.com/jenkins-zh/jenkins-cli/client" + "github.com/jenkins-zh/jenkins-cli/mock/mhttp" +) + +var _ = Describe("user token command", func() { + var ( + ctrl *gomock.Controller + roundTripper *mhttp.MockRoundTripper + ) + + BeforeEach(func() { + ctrl = gomock.NewController(GinkgoT()) + rootCmd.SetArgs([]string{}) + rootOptions.Jenkins = "" + rootOptions.ConfigFile = "test.yaml" + }) + + AfterEach(func() { + rootCmd.SetArgs([]string{}) + os.Remove(rootOptions.ConfigFile) + rootOptions.ConfigFile = "" + ctrl.Finish() + }) + + Context("with http requests", func() { + BeforeEach(func() { + roundTripper = mhttp.NewMockRoundTripper(ctrl) + userTokenOption.RoundTripper = roundTripper + }) + + It("lack of arguments", func() { + buf := new(bytes.Buffer) + rootCmd.SetOutput(buf) + + userTokenCmd.SetHelpFunc(func(cmd *cobra.Command, _ []string) { + cmd.Print("help") + }) + + rootCmd.SetArgs([]string{"user", "token"}) + _, err := rootCmd.ExecuteC() + Expect(err).To(BeNil()) + Expect(buf.String()).To(Equal("help")) + }) + + It("should success", func() { + data, err := generateSampleConfig() + Expect(err).To(BeNil()) + err = ioutil.WriteFile(rootOptions.ConfigFile, data, 0664) + Expect(err).To(BeNil()) + + tokenName := "fakename" + client.PrepareCreateToken(roundTripper, "http://localhost:8080/jenkins", + "admin", "111e3a2f0231198855dceaff96f20540a9", tokenName) + + rootCmd.SetArgs([]string{"user", "token", "-g", "-n", tokenName}) + + buf := new(bytes.Buffer) + rootCmd.SetOutput(buf) + _, err = rootCmd.ExecuteC() + Expect(err).To(BeNil()) + + Expect(buf.String()).To(Equal("{\n \"Status\": \"ok\",\n \"Data\": {\n \"TokenName\": \"\",\n \"TokenUUID\": \"\",\n \"TokenValue\": \"\"\n }\n}\n")) + }) + + It("with status code 500", func() { + data, err := generateSampleConfig() + Expect(err).To(BeNil()) + err = ioutil.WriteFile(rootOptions.ConfigFile, data, 0664) + Expect(err).To(BeNil()) + + tokenName := "fakename" + response := client.PrepareCreateToken(roundTripper, "http://localhost:8080/jenkins", + "admin", "111e3a2f0231198855dceaff96f20540a9", tokenName) + response.StatusCode = 500 + + rootCmd.SetArgs([]string{"user", "token", "-g", "-n", tokenName}) + + buf := new(bytes.Buffer) + rootCmd.SetOutput(buf) + _, err = rootCmd.ExecuteC() + Expect(err).To(BeNil()) + + Expect(buf.String()).To(Equal("unexpected status code: 500\n")) + }) + }) +}) diff --git a/client/test_methods.go b/client/test_methods.go index 702a2bb..b69a542 100644 --- a/client/test_methods.go +++ b/client/test_methods.go @@ -482,24 +482,6 @@ func PrepareForCreatePipelineJob(roundTripper *mhttp.MockRoundTripper, rootURL, return } -// PrepareForEditUserDesc only for test -func PrepareForEditUserDesc(roundTripper *mhttp.MockRoundTripper, rootURL, userName, description, user, passwd string) { - formData := url.Values{} - formData.Add("description", description) - payload := strings.NewReader(formData.Encode()) - - request, _ := http.NewRequest("POST", fmt.Sprintf("%s/user/%s/submitDescription", rootURL, userName), payload) - PrepareCommonPost(request, roundTripper, user, passwd, rootURL) - return -} - -// PrepareForDeleteUser only for test -func PrepareForDeleteUser(roundTripper *mhttp.MockRoundTripper, rootURL, userName, user, passwd string) { - request, _ := http.NewRequest("POST", fmt.Sprintf("%s/securityRealm/user/%s/doDelete", rootURL, userName), nil) - PrepareCommonPost(request, roundTripper, user, passwd, rootURL) - return -} - // PrepareCommonPost only for test func PrepareCommonPost(request *http.Request, roundTripper *mhttp.MockRoundTripper, user, passwd, rootURL string) ( response *http.Response) { diff --git a/client/user_test_common.go b/client/user_test_common.go index 4847e26..2a1c406 100644 --- a/client/user_test_common.go +++ b/client/user_test_common.go @@ -11,9 +11,10 @@ import ( ) // PrepareGetUser only for test -func PrepareGetUser(roundTripper *mhttp.MockRoundTripper, rootURL, user, passwd string) { +func PrepareGetUser(roundTripper *mhttp.MockRoundTripper, rootURL, user, passwd string) ( + response *http.Response) { request, _ := http.NewRequest("GET", fmt.Sprintf("%s/user/%s/api/json", rootURL, user), nil) - response := &http.Response{ + response = &http.Response{ StatusCode: 200, Request: request, Body: ioutil.NopCloser(bytes.NewBufferString(`{"fullName":"admin"}`)), @@ -29,22 +30,43 @@ func PrepareGetUser(roundTripper *mhttp.MockRoundTripper, rootURL, user, passwd // PrepareCreateUser only for test func PrepareCreateUser(roundTripper *mhttp.MockRoundTripper, rootURL, - user, passwd, targetUserName string) { + user, passwd, targetUserName string) (response *http.Response) { payload, _ := genSimpleUserAsPayload(targetUserName) request, _ := http.NewRequest("POST", fmt.Sprintf("%s/securityRealm/createAccountByAdmin", rootURL), payload) - PrepareCommonPost(request, roundTripper, user, passwd, rootURL) + response = PrepareCommonPost(request, roundTripper, user, passwd, rootURL) + return } // PrepareCreateToken only for test func PrepareCreateToken(roundTripper *mhttp.MockRoundTripper, rootURL, - user, passwd, newTokenName string) { + user, passwd, newTokenName string) (response *http.Response) { formData := url.Values{} formData.Add("newTokenName", newTokenName) payload := strings.NewReader(formData.Encode()) request, _ := http.NewRequest("POST", fmt.Sprintf("%s/user/%s/descriptorByName/jenkins.security.ApiTokenProperty/generateNewToken", rootURL, user), payload) - response := PrepareCommonPost(request, roundTripper, user, passwd, rootURL) + response = PrepareCommonPost(request, roundTripper, user, passwd, rootURL) response.Body = ioutil.NopCloser(bytes.NewBufferString(` {"status":"ok"} `)) + return +} + +// PrepareForEditUserDesc only for test +func PrepareForEditUserDesc(roundTripper *mhttp.MockRoundTripper, rootURL, userName, description, user, passwd string) { + formData := url.Values{} + formData.Add("description", description) + payload := strings.NewReader(formData.Encode()) + + request, _ := http.NewRequest("POST", fmt.Sprintf("%s/user/%s/submitDescription", rootURL, userName), payload) + PrepareCommonPost(request, roundTripper, user, passwd, rootURL) + return +} + +// PrepareForDeleteUser only for test +func PrepareForDeleteUser(roundTripper *mhttp.MockRoundTripper, rootURL, userName, user, passwd string) ( + response *http.Response) { + request, _ := http.NewRequest("POST", fmt.Sprintf("%s/securityRealm/user/%s/doDelete", rootURL, userName), nil) + response = PrepareCommonPost(request, roundTripper, user, passwd, rootURL) + return } -- GitLab