Blob


1 package apub
3 import (
4 "bytes"
5 "net"
6 "net/mail"
7 "net/smtp"
8 "os"
9 "testing"
10 )
12 func TestMail(t *testing.T) {
13 want := "<Spotlight7573@lemmy.world>"
15 url := "https://lemmy.world/u/Spotlight7573"
16 actor, err := LookupActor(url)
17 if err != nil {
18 t.Fatal(err)
19 }
20 if actor.Address().String() != want {
21 t.Errorf("got %s, want %s", actor.Address().String(), want)
22 }
24 f, err := os.Open("testdata/note.json")
25 if err != nil {
26 t.Fatal(err)
27 }
28 defer f.Close()
29 activity, err := Decode(f)
30 if err != nil {
31 t.Fatal(err)
32 }
33 b, err := MarshalMail(activity)
34 if err != nil {
35 t.Fatal(err)
36 }
37 t.Log(string(b))
38 if _, err := mail.ReadMessage(bytes.NewReader(b)); err != nil {
39 t.Fatal(err)
40 }
41 }
43 func TestSendMail(t *testing.T) {
44 f, err := os.Open("testdata/note.json")
45 if err != nil {
46 t.Fatal(err)
47 }
48 a, err := Decode(f)
49 if err != nil {
50 t.Fatal(err)
51 }
52 f.Close()
54 conn, err := net.Dial("tcp", "[::1]:smtp")
55 if err != nil {
56 t.Fatal(err)
57 }
58 client, err := smtp.NewClient(conn, "localhost")
59 err = SendMail(client, a, "test@example.invalid", "otl")
60 if err != nil {
61 t.Error(err)
62 }
63 client.Quit()
64 }