forked from Silverfish/proton-bridge
Merge branch 'release/james' into devel
This commit is contained in:
@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
Changelog [format](http://keepachangelog.com/en/1.0.0/)
|
Changelog [format](http://keepachangelog.com/en/1.0.0/)
|
||||||
|
|
||||||
|
## [Bridge 1.8.2] James
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
* GODT-1175: Bug reporting.
|
||||||
|
|
||||||
|
|
||||||
## [Bridge 1.8.1] James
|
## [Bridge 1.8.1] James
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|||||||
2
Makefile
2
Makefile
@ -10,7 +10,7 @@ TARGET_OS?=${GOOS}
|
|||||||
.PHONY: build build-ie build-nogui build-ie-nogui build-launcher build-launcher-ie versioner hasher
|
.PHONY: build build-ie build-nogui build-ie-nogui build-launcher build-launcher-ie versioner hasher
|
||||||
|
|
||||||
# Keep version hardcoded so app build works also without Git repository.
|
# Keep version hardcoded so app build works also without Git repository.
|
||||||
BRIDGE_APP_VERSION?=1.8.1+git
|
BRIDGE_APP_VERSION?=1.8.2+git
|
||||||
IE_APP_VERSION?=1.3.3+git
|
IE_APP_VERSION?=1.3.3+git
|
||||||
APP_VERSION:=${BRIDGE_APP_VERSION}
|
APP_VERSION:=${BRIDGE_APP_VERSION}
|
||||||
SRC_ICO:=logo.ico
|
SRC_ICO:=logo.ico
|
||||||
|
|||||||
@ -27,17 +27,23 @@ func (m *manager) ReportBug(ctx context.Context, rep ReportBugReq) error {
|
|||||||
rep.ClientType = EmailClientType
|
rep.ClientType = EmailClientType
|
||||||
}
|
}
|
||||||
|
|
||||||
r := m.r(ctx)
|
if rep.Client == "" {
|
||||||
if len(rep.Attachments) == 0 {
|
rep.Client = m.cfg.GetUserAgent()
|
||||||
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.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 {
|
if _, err := wrapNoConnection(r.Post("/reports/bug")); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,7 +19,6 @@ package pmapi
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net/http"
|
"net/http"
|
||||||
@ -85,22 +84,3 @@ func TestClient_BugReportWithAttachment(t *testing.T) {
|
|||||||
err := cm.ReportBug(context.Background(), rep)
|
err := cm.ReportBug(context.Background(), rep)
|
||||||
r.NoError(t, err)
|
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)
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user