Other: Bump liteapi and clean up tests a bit

This commit is contained in:
James Houlahan
2022-10-20 02:41:43 +02:00
parent 04b6571cb8
commit c4343e0124
14 changed files with 259 additions and 89 deletions

View File

@ -357,7 +357,7 @@ func TestBridge_MissingGluonDir(t *testing.T) {
// withEnv creates the full test environment and runs the tests.
func withEnv(t *testing.T, tests func(context.Context, *server.Server, *liteapi.NetCtl, bridge.Locator, []byte)) {
server := server.NewTLS()
server := server.New()
defer server.Close()
withEnvServer(t, server, func(ctx context.Context, netCtl *liteapi.NetCtl, locator bridge.Locator, vaultKey []byte) {

View File

@ -22,10 +22,13 @@ import (
"fmt"
"os"
"path/filepath"
"runtime"
"testing"
"github.com/ProtonMail/proton-bridge/v2/internal/bridge"
"github.com/ProtonMail/proton-bridge/v2/internal/events"
"github.com/bradenaw/juniper/iterator"
"github.com/bradenaw/juniper/stream"
"github.com/emersion/go-imap/client"
"github.com/stretchr/testify/require"
"gitlab.protontech.ch/go/liteapi"
@ -48,11 +51,44 @@ func TestBridge_Sync(t *testing.T) {
literal, err := os.ReadFile(filepath.Join("testdata", "text-plain.eml"))
require.NoError(t, err)
for i := 0; i < numMsg; i++ {
messageID, err := s.CreateMessage(userID, addrID, literal, liteapi.MessageFlagReceived, false, false)
require.NoError(t, err)
require.NoError(t, s.LabelMessage(userID, messageID, labelID))
}
c, _, err := liteapi.New(
liteapi.WithHostURL(s.GetHostURL()),
liteapi.WithTransport(liteapi.InsecureTransport()),
).NewClientWithLogin(ctx, "imap", password)
require.NoError(t, err)
user, err := c.GetUser(ctx)
require.NoError(t, err)
addr, err := c.GetAddresses(ctx)
require.NoError(t, err)
require.Equal(t, addrID, addr[0].ID)
salt, err := c.GetSalts(ctx)
require.NoError(t, err)
keyPass, err := salt.SaltForKey(password, user.Keys.Primary().ID)
require.NoError(t, err)
_, addrKRs, err := liteapi.Unlock(user, addr, keyPass)
require.NoError(t, err)
require.NoError(t, getErr(stream.Collect(ctx, c.ImportMessages(
ctx,
addrKRs[addr[0].ID],
runtime.NumCPU(),
runtime.NumCPU(),
iterator.Collect(iterator.Map(iterator.Counter(numMsg), func(i int) liteapi.ImportReq {
return liteapi.ImportReq{
Metadata: liteapi.ImportMetadata{
AddressID: addr[0].ID,
LabelIDs: []string{labelID},
Flags: liteapi.MessageFlagReceived,
},
Message: literal,
}
}))...,
))))
var read uint64

View File

@ -53,7 +53,7 @@ func TestTLSPinBackup(t *testing.T) {
}
func TestTLSPinInvalid(t *testing.T) {
s := server.NewTLS()
s := server.New()
defer s.Close()
called, _, _, _, cm := createClientWithPinningDialer(s.GetHostURL())

View File

@ -213,13 +213,15 @@ func (conn *imapConnector) GetMessage(ctx context.Context, messageID imap.Messag
}
// CreateMessage creates a new message on the remote.
//
// nolint:funlen
func (conn *imapConnector) CreateMessage(
ctx context.Context,
mailboxID imap.MailboxID,
literal []byte,
flags imap.FlagSet,
date time.Time,
) (imap.Message, []byte, error) { // nolint:funlen
) (imap.Message, []byte, error) {
var msgFlags liteapi.MessageFlag
if mailboxID != liteapi.DraftsLabel {

View File

@ -100,7 +100,10 @@ func withAPI(_ *testing.T, ctx context.Context, fn func(context.Context, *server
server := server.New()
defer server.Close()
fn(ctx, server, liteapi.New(liteapi.WithHostURL(server.GetHostURL())))
fn(ctx, server, liteapi.New(
liteapi.WithHostURL(server.GetHostURL()),
liteapi.WithTransport(liteapi.InsecureTransport()),
))
}
func withAccount(t *testing.T, s *server.Server, username, password string, emails []string, fn func(string, []string)) {