10 77918b00 2024-03-07 o func TestMailAddress(t *testing.T) {
11 77918b00 2024-03-07 o tests := []struct {
14 77918b00 2024-03-07 o followers string
17 77918b00 2024-03-07 o "testdata/actor/mastodon.json",
18 77918b00 2024-03-07 o `"Oliver Lowe" <otl@hachyderm.io>`,
19 77918b00 2024-03-07 o `"Oliver Lowe (followers)" <otl+followers@hachyderm.io>`,
22 77918b00 2024-03-07 o "testdata/actor/akkoma.json",
23 77918b00 2024-03-07 o `"Kari'boka" <kariboka@social.harpia.red>`,
24 77918b00 2024-03-07 o `"Kari'boka (followers)" <kariboka+followers@social.harpia.red>`,
27 77918b00 2024-03-07 o "testdata/actor/lemmy.json",
28 77918b00 2024-03-07 o "<Spotlight7573@lemmy.world>",
29 77918b00 2024-03-07 o "<@>", // empty mail.Address
32 77918b00 2024-03-07 o for _, tt := range tests {
33 77918b00 2024-03-07 o f, err := os.Open(tt.name)
34 77918b00 2024-03-07 o if err != nil {
38 77918b00 2024-03-07 o defer f.Close()
39 77918b00 2024-03-07 o actor, err := DecodeActor(f)
40 77918b00 2024-03-07 o if err != nil {
41 77918b00 2024-03-07 o t.Errorf("%s: decode actor: %v", tt.name, err)
44 77918b00 2024-03-07 o if actor.Address().String() != tt.from {
45 77918b00 2024-03-07 o t.Errorf("%s: from address: want %s, got %s", tt.name, tt.from, actor.Address().String())
47 77918b00 2024-03-07 o got := actor.FollowersAddress().String()
48 77918b00 2024-03-07 o if got != tt.followers {
49 77918b00 2024-03-07 o t.Errorf("%s: followers address: want %s, got %s", tt.name, tt.followers, got)
54 77918b00 2024-03-07 o func TestMarshalMail(t *testing.T) {
55 77918b00 2024-03-07 o var notes []string = []string{
56 77918b00 2024-03-07 o "testdata/note/akkoma.json",
57 77918b00 2024-03-07 o "testdata/note/lemmy.json",
58 77918b00 2024-03-07 o "testdata/note/mastodon.json",
59 77918b00 2024-03-07 o "testdata/page.json",
61 77918b00 2024-03-07 o for _, name := range notes {
62 77918b00 2024-03-07 o f, err := os.Open(name)
63 77918b00 2024-03-07 o if err != nil {
67 77918b00 2024-03-07 o defer f.Close()
68 77918b00 2024-03-07 o a, err := Decode(f)
69 77918b00 2024-03-07 o if err != nil {
70 77918b00 2024-03-07 o t.Errorf("%s: decode activity: %v", name, err)
73 77918b00 2024-03-07 o b, err := MarshalMail(a)
74 77918b00 2024-03-07 o if err != nil {
75 77918b00 2024-03-07 o t.Errorf("%s: marshal to mail message: %v", name, err)
78 77918b00 2024-03-07 o if _, err := mail.ReadMessage(bytes.NewReader(b)); err != nil {
79 77918b00 2024-03-07 o t.Errorf("%s: read back message from marshalled activity: %v", name, err)
84 77918b00 2024-03-07 o func TestUnmarshalMail(t *testing.T) {
85 77918b00 2024-03-07 o f, err := os.Open("testdata/outbound.eml")
86 1d5ddf5d 2024-02-20 o if err != nil {
89 1d5ddf5d 2024-02-20 o defer f.Close()
90 77918b00 2024-03-07 o msg, err := mail.ReadMessage(f)
91 1d5ddf5d 2024-02-20 o if err != nil {
94 77918b00 2024-03-07 o if testing.Short() {
95 77918b00 2024-03-07 o t.Skip("skipping network calls to unmarshal mail message to Activity")
97 77918b00 2024-03-07 o if _, err := UnmarshalMail(msg); err != nil {