mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-16 07:06:45 +00:00
test: use message.Parse for fakeapi import parser
This commit is contained in:
@ -47,6 +47,12 @@ test-debug:
|
|||||||
test-live-debug:
|
test-live-debug:
|
||||||
TEST_ENV=live dlv test -- $(FEATURES)
|
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.
|
# -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
|
# 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.
|
# again and safest way is to run only one loop per run.
|
||||||
|
|||||||
@ -20,10 +20,9 @@ package fakeapi
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
|
||||||
"net/mail"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/ProtonMail/proton-bridge/pkg/message"
|
||||||
"github.com/ProtonMail/proton-bridge/pkg/pmapi"
|
"github.com/ProtonMail/proton-bridge/pkg/pmapi"
|
||||||
"github.com/pkg/errors"
|
"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) {
|
func (api *FakePMAPI) generateMessageFromImportRequest(msgReq *pmapi.ImportMsgReq) (*pmapi.Message, error) {
|
||||||
mailMessage, err := mail.ReadMessage(bytes.NewBuffer(msgReq.Body))
|
m, _, _, _, err := message.Parse(bytes.NewReader(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"))
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
messageID := api.controller.messageIDGenerator.next("")
|
messageID := api.controller.messageIDGenerator.next("")
|
||||||
|
|
||||||
return &pmapi.Message{
|
return &pmapi.Message{
|
||||||
ID: messageID,
|
ID: messageID,
|
||||||
AddressID: msgReq.AddressID,
|
AddressID: msgReq.AddressID,
|
||||||
Sender: sender,
|
Sender: m.Sender,
|
||||||
ToList: toList,
|
ToList: m.ToList,
|
||||||
Subject: mailMessage.Header.Get("Subject"),
|
Subject: m.Subject,
|
||||||
Unread: msgReq.Unread,
|
Unread: msgReq.Unread,
|
||||||
LabelIDs: append(msgReq.LabelIDs, pmapi.AllMailLabel),
|
LabelIDs: append(msgReq.LabelIDs, pmapi.AllMailLabel),
|
||||||
Body: string(body),
|
Body: m.Body,
|
||||||
Header: mailMessage.Header,
|
Header: m.Header,
|
||||||
Flags: msgReq.Flags,
|
Flags: msgReq.Flags,
|
||||||
Time: msgReq.Time,
|
Time: msgReq.Time,
|
||||||
}, nil
|
}, nil
|
||||||
|
|||||||
Reference in New Issue
Block a user