Test::Mailmunge::Utils - utility functions for Mailmunge unit tests
Test::Mailmunge::Utils defines a number of utility functions in the main package that are useful for unit tests.
use Test::Mailmunge::Utils; my $ctx = make_test_context();
Note that the functions will be documented very briefly. Since they are of use to people writing unit tests, you should examine the source code for more details.
Mailmunge::Context object useful for tests.
mailmunge-multiplexor with the spool directory set to
$dir and the filter file set to
$filter. Note that this will fail if you are running as root, so don't do that.
Sets the socket to
Stops the instance of
mailmunge-multiplexor that was started by
mm_mx_ctrl($cmd, $arg1, $arg2...)
mm_mx_ctrl with the specified command and arguments. On success, returns the output of
mm-mx-ctrl. On failure, returns the empty string.
Writes a COMMANDS file in
$dir that (when read by the running filter) will recreate
Given a MIME::Entity
$entity, sets the fields
$ctx based on
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
This method also creates the HEADERS and PRISTINE_HEADERS files in
Returns 1 if DNS appears to be available, 0 otherwise.
Dianne Skoll <firstname.lastname@example.org>
This code is licensed under the terms of the GNU General Public License, version 2.
Copyright © 2023 Skoll Software Consulting