| 261 | } |
| 262 | |
| 263 | func DoTestDeliveryErrMeta(t *testing.T, tgt module.DeliveryTarget, from string, to []string, msgMeta *module.MsgMetadata) (string, error) { |
| 264 | t.Helper() |
| 265 | |
| 266 | IDRaw := sha1.Sum([]byte(t.Name())) |
| 267 | encodedID := hex.EncodeToString(IDRaw[:]) |
| 268 | testCtx := context.Background() |
| 269 | |
| 270 | body := buffer.MemoryBuffer{Slice: []byte("foobar\r\n")} |
| 271 | msgMeta.DontTraceSender = true |
| 272 | msgMeta.ID = encodedID |
| 273 | t.Log("-- tgt.StartDelivery", from) |
| 274 | delivery, err := tgt.StartDelivery(testCtx, msgMeta, from) |
| 275 | if err != nil { |
| 276 | t.Log("-- ... tgt.StartDelivery", from, err, exterrors.Fields(err)) |
| 277 | return encodedID, err |
| 278 | } |
| 279 | for _, rcpt := range to { |
| 280 | t.Log("-- delivery.AddRcpt", rcpt) |
| 281 | if err := delivery.AddRcpt(testCtx, rcpt, smtp.RcptOptions{}); err != nil { |
| 282 | t.Log("-- ... delivery.AddRcpt", rcpt, err, exterrors.Fields(err)) |
| 283 | t.Log("-- delivery.Abort") |
| 284 | if err := delivery.Abort(testCtx); err != nil { |
| 285 | t.Log("-- delivery.Abort:", err, exterrors.Fields(err)) |
| 286 | } |
| 287 | return encodedID, err |
| 288 | } |
| 289 | } |
| 290 | t.Log("-- delivery.Body") |
| 291 | hdr := textproto.Header{} |
| 292 | hdr.Add("B", "2") |
| 293 | hdr.Add("A", "1") |
| 294 | if err := delivery.Body(testCtx, hdr, body); err != nil { |
| 295 | t.Log("-- ... delivery.Body", err, exterrors.Fields(err)) |
| 296 | t.Log("-- delivery.Abort") |
| 297 | if err := delivery.Abort(testCtx); err != nil { |
| 298 | t.Log("-- ... delivery.Abort:", err, exterrors.Fields(err)) |
| 299 | } |
| 300 | return encodedID, err |
| 301 | } |
| 302 | t.Log("-- delivery.Commit") |
| 303 | if err := delivery.Commit(testCtx); err != nil { |
| 304 | t.Log("-- ... delivery.Commit", err, exterrors.Fields(err)) |
| 305 | return encodedID, err |
| 306 | } |
| 307 | |
| 308 | return encodedID, err |
| 309 | } |
| 310 | |
| 311 | func CheckTestMessage(t *testing.T, tgt *Target, indx int, sender string, rcpt []string) { |
| 312 | t.Helper() |