1#!/usr/bin/perl -wT 2 3use Test::More tests => 11; 4use Error qw(:try); 5BEGIN { use_ok('Mail::OpenDKIM') }; 6 7######################### 8 9my $msg = <<'EOF'; 10DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=example.com; h=from:to:subject; s=example; bh=TozDQdcuD/NljOIYtF7AyqaxB8s=; b=dMk1p8wJdpHEFOk2pbtSScD3c2spKGkEo917Plae1weNhdrPvZOWvpZYnQL4/S9iQQtXpUByhjU0ObbWE/SgOhpFS216C847c+3RJCESNMJqxSzf65cuGPLffKQg4dboVKS759wC3hDhIMIPmdLABaK4crFAZcBnl+AQP1QpV4H9jUydiU1CqLURpZgeRd3uqhtua/wJTz3t7ad7YfPhQst7pYD7m97xp0PZURjPTYEKTHSJfhfT4zVDXl1+/HeNc3SV+nT9trpIj9ZOfmhotPYGE1PLX5ZyhZmskff7jQDALJxj6z2jICTCKhwLOtuENf9tCYiyYlMcYuij+hTSBg== 11From: Nigel Horne <njh@bandsman.co.uk> 12To: Tester <dktest@blackops.org> 13Subject: Testing D 14 15Can you hear me, Mother? 16EOF 17 18GETSIGNATURE: { 19 20 my $o = new_ok('Mail::OpenDKIM'); 21 ok($o->dkim_init()); 22 23 my $d; 24 25 try { 26 $d = $o->dkim_verify({ 27 id => 'MLM', 28 }); 29 30 ok(defined($d)); 31 32 # d is a Mail::OpenDKIM::DKIM object 33 } catch Error with { 34 my $ex = shift; 35 fail($ex->stringify); 36 }; 37 38 isa_ok($d, 'Mail::OpenDKIM::DKIM'); 39 40 $msg =~ s/\n/\r\n/g; 41 42 ok($d->dkim_chunk({ chunkp => $msg, len => length($msg)}) == DKIM_STAT_OK); 43 44 ok($d->dkim_chunk({ chunkp => '', len => 0}) == DKIM_STAT_OK); 45 46 my $sig = $d->dkim_getsignature(); 47 48 ok(!defined($sig)); 49 50 ok($d->dkim_eom() == DKIM_STAT_NOKEY); 51 52 $sig = $d->dkim_getsignature(); 53 54 ok(defined($sig)); 55 56 ok($d->dkim_free() == DKIM_STAT_OK); 57 58 $o->dkim_close(); 59} 60