From 629d6c5e4d665d8e0aaa3ffc908dee77cf07b9c3 Mon Sep 17 00:00:00 2001 From: James Houlahan Date: Thu, 20 May 2021 14:38:20 +0200 Subject: [PATCH] GODT-1175: report bug --- pkg/pmapi/manager_report.go | 22 ++++++++++++++-------- pkg/pmapi/manager_report_test.go | 20 -------------------- 2 files changed, 14 insertions(+), 28 deletions(-) diff --git a/pkg/pmapi/manager_report.go b/pkg/pmapi/manager_report.go index 7981891d..6d08f935 100644 --- a/pkg/pmapi/manager_report.go +++ b/pkg/pmapi/manager_report.go @@ -27,17 +27,23 @@ func (m *manager) ReportBug(ctx context.Context, rep ReportBugReq) error { rep.ClientType = EmailClientType } - r := m.r(ctx) - if len(rep.Attachments) == 0 { - r = r.SetBody(rep) - } else { - r = r.SetMultipartFormData(rep.GetMultipartFormData()) - for _, att := range rep.Attachments { - r = r.SetMultipartField(att.name, att.filename, "application/octet-stream", att.body) - } + if rep.Client == "" { + rep.Client = m.cfg.GetUserAgent() } + + if rep.ClientVersion == "" { + rep.ClientVersion = m.cfg.AppVersion + } + + r := m.r(ctx).SetMultipartFormData(rep.GetMultipartFormData()) + + for _, att := range rep.Attachments { + r = r.SetMultipartField(att.name, att.filename, "application/octet-stream", att.body) + } + if _, err := wrapNoConnection(r.Post("/reports/bug")); err != nil { return err } + return nil } diff --git a/pkg/pmapi/manager_report_test.go b/pkg/pmapi/manager_report_test.go index 53020e0a..589a56b8 100644 --- a/pkg/pmapi/manager_report_test.go +++ b/pkg/pmapi/manager_report_test.go @@ -19,7 +19,6 @@ package pmapi import ( "context" - "encoding/json" "fmt" "io/ioutil" "net/http" @@ -85,22 +84,3 @@ func TestClient_BugReportWithAttachment(t *testing.T) { err := cm.ReportBug(context.Background(), rep) r.NoError(t, err) } - -func TestClient_BugReport(t *testing.T) { - s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { - r.NoError(t, checkMethodAndPath(req, "POST", "/reports/bug")) - - var bugsReportReq ReportBugReq - r.NoError(t, json.NewDecoder(req.Body).Decode(&bugsReportReq)) - r.Equal(t, testBugReportReq, bugsReportReq) - - w.Header().Set("Content-Type", "application/json") - fmt.Fprint(w, testBugsBody) - })) - defer s.Close() - - cm := newManager(newTestConfig(s.URL)) - - err := cm.ReportBug(context.Background(), testBugReportReq) - r.NoError(t, err) -}