email-mcp/internal/imapclient/service_test.go
2026-04-10 11:11:01 +02:00

38 lines
944 B
Go

package imapclient
import (
"context"
"testing"
"email-mcp/internal/secretstore"
)
type backendStub struct{}
func (backendStub) ListMailboxes(context.Context, secretstore.Credential) ([]Mailbox, error) {
return []Mailbox{{Name: "INBOX"}}, nil
}
func (backendStub) ListMessages(context.Context, secretstore.Credential, string, int) ([]MessageSummary, error) {
return nil, nil
}
func (backendStub) GetMessage(context.Context, secretstore.Credential, string, string) (Message, error) {
return Message{}, nil
}
func TestServiceListMailboxesUsesBackend(t *testing.T) {
svc := NewService(backendStub{})
boxes, err := svc.ListMailboxes(context.Background(), secretstore.Credential{
Host: "imap.example.com",
Username: "alice",
Password: "secret",
})
if err != nil {
t.Fatalf("ListMailboxes returned error: %v", err)
}
if len(boxes) != 1 || boxes[0].Name != "INBOX" {
t.Fatalf("unexpected mailboxes: %#v", boxes)
}
}