MCPcopy Create free account
hub / github.com/foxcpp/maddy / DoTestDeliveryErrMeta

Function DoTestDeliveryErrMeta

internal/testutils/target.go:263–309  ·  view source on GitHub ↗
(t *testing.T, tgt module.DeliveryTarget, from string, to []string, msgMeta *module.MsgMetadata)

Source from the content-addressed store, hash-verified

261}
262
263func 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
311func CheckTestMessage(t *testing.T, tgt *Target, indx int, sender string, rcpt []string) {
312 t.Helper()

Callers 2

DoTestDeliveryMetaFunction · 0.85
DoTestDeliveryErrFunction · 0.85

Calls 8

FieldsFunction · 0.92
AddMethod · 0.80
NameMethod · 0.65
StartDeliveryMethod · 0.65
AddRcptMethod · 0.65
AbortMethod · 0.65
BodyMethod · 0.65
CommitMethod · 0.65

Tested by

no test coverage detected