1#!/usr/bin/perl -wT 2 3use Test::More tests => 15; 4use Error qw(:try); 5BEGIN { use_ok('Mail::OpenDKIM') }; 6 7######################### 8 9GETDOMAIN: { 10 11 my $o = new_ok('Mail::OpenDKIM'); 12 ok($o->dkim_init()); 13 14 my ($d1, $d2); 15 16 try { 17 $d1 = $o->dkim_verify({ 18 id => 'MLM', 19 }); 20 21 ok(defined($d1)); 22 23 $d2 = $o->dkim_verify({ 24 id => 'MLM', 25 }); 26 27 ok(defined($d2)); 28 } catch Error with { 29 my $ex = shift; 30 fail($ex->stringify); 31 }; 32 33 ok(!defined($d1->dkim_getdomain())); 34 35 my $header = 'From: Nigel Horne <njh@example.com>'; 36 ok($d1->dkim_header({ header => $header, len => length($header) }) == DKIM_STAT_OK); 37 38 $header = 'From: Nigel Horne <njh@xyzzy.com>'; 39 ok($d2->dkim_header({ header => $header, len => length($header) }) == DKIM_STAT_OK); 40 41 $header = 'To: Tester <dktest@blackops.org>'; 42 ok($d1->dkim_header({ header => $header, len => length($header) }) == DKIM_STAT_OK); 43 ok($d2->dkim_header({ header => $header, len => length($header) }) == DKIM_STAT_OK); 44 45 $d1->dkim_eoh(); 46 47 ok(!defined($d2->dkim_getdomain())); 48 49 $d2->dkim_eoh(); 50 51 ok($d1->dkim_getdomain() eq 'example.com'); 52 ok($d2->dkim_getdomain() eq 'xyzzy.com'); 53 54 ok($d2->dkim_free() == DKIM_STAT_OK); 55 ok($d1->dkim_free() == DKIM_STAT_OK); 56 57 $o->dkim_close(); 58} 59