Email-Sender-Transport-Mailgun

 view release on metacpan or  search on metacpan

t/success.t  view on Meta::CPAN

use strict;
use Test::More;
use Test::Fatal;
use Test::Differences;

use DateTime;
use Email::Sender::Transport::Mailgun;

{
    no warnings 'redefine';
    *HTTP::Tiny::request = \&mock_request;
}

my @requests;

my $proto   = 'http';
my $host    = 'mailgun.example.com';
my $api_key = 'abcdef';
my $domain  = 'test.example.com';
my $id      = '<return value>';

my %envelope = (
    from => 'sender@test.example.com',
    to   => 'recipient@test.example.com',
);

my $message = <<END_MESSAGE;
From: $envelope{from}
To: $envelope{to}
Subject: this message is going nowhere fast

Dear Recipient,

  You will never receive this.

--
sender
END_MESSAGE

my $when = DateTime->new(
    year => 2066,
    month => 12,
    day => 31,
    hour => 23,
    minute => 59,
    second => 59,
    time_zone => 'UTC',
);

my $tag      = [qw( tag1 tag2 tag3 )];

my $transport = Email::Sender::Transport::Mailgun->new(
    api_key  => $api_key,
    domain   => $domain,
    base_uri => "$proto://$host",
    tag      => join(', ', @$tag),
    tracking_clicks => 'htmlonly',
    deliverytime => $when,
);

my $result;
is(exception { $result = $transport->send($message, \%envelope) },
    undef, 'Mail sent ok');



( run in 1.359 second using v1.01-cache-2.11-cpan-6aa56a78535 )