Sendmail-Queue

 view release on metacpan or  search on metacpan

t/sendmail-queue.t  view on Meta::CPAN

package test_queue;
use strict;
use warnings;

use base qw( Test::Class );

use Test::Most;
use File::Temp;
# Set time zone to UTC for consistent test results
$ENV{TZ} = 'UTC';

sub slurp
{
	my ($fname) = @_;
	my $data;
	local $/;
	if (open(SLURP, "<$fname")) {
		$data = <SLURP>;
		close(SLURP);
	}
	return $data;
}

use Sendmail::Queue;

my $USER = getpwuid($>);

sub make_tmpdir : Test(setup)
{
	my ($self) = @_;
	$self->{tmpdir} = File::Temp::tempdir( CLEANUP => 1 );
}

sub del_tmpdir : Test(teardown)
{
	my ($self) = @_;

	delete $self->{tmpdir}
}

sub test_constructor : Test(1)
{
	my ($self) = @_;

	my $q = Sendmail::Queue->new({
		queue_directory => $self->{tmpdir}
	});
	isa_ok( $q, 'Sendmail::Queue');
}

sub test_accessors : Test(6)
{
	my ($self) = @_;

	my $q = Sendmail::Queue->new({
		queue_directory => $self->{tmpdir}
	});
	is( $q->get_queue_directory(), $self->{tmpdir}, 'get_queue_directory' );
	is( $q->get_qf_directory(),    $self->{tmpdir}, 'get_qf_directory' );
	is( $q->get_df_directory(),    $self->{tmpdir}, 'get_df_directory' );

	mkdir("$self->{tmpdir}/qf");
	mkdir("$self->{tmpdir}/df");

	$q = Sendmail::Queue->new({
		queue_directory => $self->{tmpdir}
	});
	is( $q->get_queue_directory(), $self->{tmpdir},      'get_queue_directory' );
	is( $q->get_qf_directory(),    "$self->{tmpdir}/qf", 'get_qf_directory' );
	is( $q->get_df_directory(),    "$self->{tmpdir}/df", 'get_df_directory' );
}

sub queue_message : Test(4)
{
	my ($self) = @_;

	my $queue = Sendmail::Queue->new({
		queue_directory => $self->{tmpdir}
	});

	my $data = <<EOM;
From: foobar
To: someone
Date: Wed, 07 Nov 2007 19:54:33 +0000

Test message



( run in 1.102 second using v1.01-cache-2.11-cpan-39bf76dae61 )