mlisting

Mailing list service

git clone git://git.lin.moe/go/mlisting.git

 1package main
 2
 3import (
 4	"context"
 5	"flag"
 6
 7	"git.lin.moe/go/mlisting/storage/sqlite"
 8	"git.lin.moe/go/mlisting/tools/testdata"
 9)
10
11var dsn = flag.String("db", "file::memory:?cache=shared", "sqlite3 database dsn")
12
13func main() {
14	var err error
15
16	flag.Parse()
17	st, err := sqlite.NewStorage(*dsn)
18	if err != nil {
19		panic(err)
20	}
21	ctx := context.TODO()
22
23	list, err := st.NewList(ctx, "list1", "list1@base.lan", "The No.1 mailing list for testing", 7)
24	if err != nil {
25		panic(err)
26	}
27
28	_, err = list.NewMember(ctx, "User1 <user1@base.lan>")
29	if err != nil {
30		panic(err)
31	}
32
33	_, err = list.NewMember(ctx, "User2 <user2@base.lan>")
34	if err != nil {
35		panic(err)
36	}
37	for _, msg := range testdata.TestMessages {
38		if _, err := list.AddMessage(ctx, msg.Header, msg.Body); err != nil {
39			panic(err)
40		}
41
42	}
43}