35 lines
929 B
Go
35 lines
929 B
Go
package counting
|
|
|
|
import (
|
|
"path/filepath"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/colinmarc/cdb"
|
|
|
|
"migadu_counters/internal/domains"
|
|
)
|
|
|
|
func TestReview_MalformedRowFailsWholeRequest(t *testing.T) {
|
|
path := filepath.Join(t.TempDir(), "d.cdb")
|
|
w, err := cdb.Create(path)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
w.Put([]byte("good.example"), []byte("7|A/o=5,A/i=5"))
|
|
w.Put([]byte("bad.example"), []byte("|A/i=5")) // org id missing (malformed row)
|
|
if _, err := w.Freeze(); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
db, err := domains.Open(path)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
defer db.Close()
|
|
p := &Planner{Lookup: db, Now: time.Now}
|
|
plan, err := p.PlanOut("t", "x@good.example", "x@good.example", "y@bad.example")
|
|
t.Logf("PlanOut(good sender -> malformed-row recipient): plan=%v err=%v", plan, err)
|
|
plan, err = p.PlanIn("t", "s@gmail.com", "y@bad.example", false)
|
|
t.Logf("PlanIn(malformed-row recipient): plan=%v err=%v", plan, err)
|
|
}
|