diff --git a/test/Makefile b/test/Makefile index 0a512f97..900ab261 100644 --- a/test/Makefile +++ b/test/Makefile @@ -47,6 +47,12 @@ test-debug: test-live-debug: TEST_ENV=live dlv test -- $(FEATURES) +test-ie-debug: + TEST_APP=ie TEST_ENV=fake TEST_ACCOUNTS=accounts/fake.json dlv test -- $(FEATURES) + +test-live-ie-debug: + TEST_APP=ie TEST_ENV=live dlv test -- $(FEATURES) + # -run flag is not working anyway, but lets keep it there to note we really do not want to run tests. # To properly benchmark sync/fetch, we need everything empty. For that is better to start everything # again and safest way is to run only one loop per run. diff --git a/test/fakeapi/messages.go b/test/fakeapi/messages.go index 0c41a18e..933a015b 100644 --- a/test/fakeapi/messages.go +++ b/test/fakeapi/messages.go @@ -20,10 +20,9 @@ package fakeapi import ( "bytes" "fmt" - "io/ioutil" - "net/mail" "time" + "github.com/ProtonMail/proton-bridge/pkg/message" "github.com/ProtonMail/proton-bridge/pkg/pmapi" "github.com/pkg/errors" ) @@ -212,33 +211,23 @@ func (api *FakePMAPI) Import(importMessageRequests []*pmapi.ImportMsgReq) ([]*pm } func (api *FakePMAPI) generateMessageFromImportRequest(msgReq *pmapi.ImportMsgReq) (*pmapi.Message, error) { - mailMessage, err := mail.ReadMessage(bytes.NewBuffer(msgReq.Body)) - if err != nil { - return nil, err - } - body, err := ioutil.ReadAll(mailMessage.Body) - if err != nil { - return nil, err - } - sender, err := mail.ParseAddress(mailMessage.Header.Get("From")) - if err != nil { - return nil, err - } - toList, err := mail.ParseAddressList(mailMessage.Header.Get("To")) + m, _, _, _, err := message.Parse(bytes.NewReader(msgReq.Body), "", "") if err != nil { return nil, err } + messageID := api.controller.messageIDGenerator.next("") + return &pmapi.Message{ ID: messageID, AddressID: msgReq.AddressID, - Sender: sender, - ToList: toList, - Subject: mailMessage.Header.Get("Subject"), + Sender: m.Sender, + ToList: m.ToList, + Subject: m.Subject, Unread: msgReq.Unread, LabelIDs: append(msgReq.LabelIDs, pmapi.AllMailLabel), - Body: string(body), - Header: mailMessage.Header, + Body: m.Body, + Header: m.Header, Flags: msgReq.Flags, Time: msgReq.Time, }, nil