Test::M...::Utils(3)

πŸ“¦ version 3.20, in alpine 3.24

okay so this is the Test::M...::Utils(3) page from User Contributed Perl Documentation, and it's literally here to help you write Mailmunge unit tests without losing your mind. πŸ’– grab a strawberry πŸ“ and let's go.

🌸 NAME 🌸

Test::Mailmunge::Utils β€” utility functions for Mailmunge unit tests. periodt.

πŸ’– ABSTRACT πŸ’–

Test::Mailmunge::Utils defines a bunch of utility functions in the main package that are useful for unit tests. slay.

✨ SYNOPSIS ✨

use Test::Mailmunge::Utils;
my $ctx = make_test_context();

πŸ› οΈ FUNCTIONS πŸ› οΈ

Heads up bestie: these function docs are very brief on purpose. They're for people writing unit tests, so if you want the full lore, you should examine the source code for more details. πŸ‘‘

🧸 make_test_context()

Returns a Mailmunge::Context object that's useful for tests. easy.

πŸ“œ get_logs($dir)

Returns an array of lines logged by the filter. Each element of the array is a 3-element array consisting of [queue_id, log_level, message]. iykyk.

πŸš€ start_multiplexor($dir, $filter)

Starts mailmunge-multiplexor with the spool directory set to $dir and the filter file set to $filter.

bestie warning: this will fail if you're running as root, so don't do that. πŸ™ˆ

Sets the socket to $dir/mx.sock.

πŸ›‘ stop_multiplexor($dir)

Stops the instance of mailmunge-multiplexor that was started by start_multiplexor($dir, $filter).

πŸŽ›οΈ mm_mx_ctrl($cmd, $arg1, $arg2...)

Runs mm_mx_ctrl with the specified command and arguments. On success, returns the output of mm-mx-ctrl. On failure, returns the empty string.

πŸ“ write_commands_file($dir, $ctx)

Writes a COMMANDS file in $dir that (when read by the running filter) will recreate $ctx. cute.

🧬 set_context_fields_from_msg($ctx, $entity)

Given a MIME::Entity $entity, sets the fields sender, subject and message_id on $ctx based on $entity.

πŸ“¨ parse_and_copy_msg($output_dir, $input_msg [,$new_subject])

Given a file $input_msg containing an RFC5322 mail message, copy the file to $output_dir/INPUTMSG and parse it. Returns a new Mailmunge::Context object whose mime_entity field is the parsed message. Other fields in the context object are set as follows:

  • sender is set to the value of the Return-Path header, if any.
  • subject is set to the value of the Subject header, if any.
  • message_id is set to the value of the Message-Id header, if any.

If you supply $new_subject, then the literal text __SUBJECT__ in the message body is replaced with the value of $new_subject.

This method also creates the HEADERS and PRISTINE_HEADERS files in $output_dir. no cap.

🌐 dns_available()

Returns 1 if DNS appears to be available, 0 otherwise. simple as that.

πŸ‘‘ AUTHOR πŸ‘‘

Dianne Skoll <dianne@skollsoft.com> iconic.

πŸ“œ LICENSE πŸ“œ

This code is licensed under the terms of the GNU General Public License, version 2. periodt.


xoxo bestie, this page was brought to you by perl v5.42.2, dated 2025-10-05 β€” it's the Test::M...::Utils(3) manual page, and yes, she ate. πŸ’…πŸ’–

πŸ“¦ where this page comes from