File: 16.Report.Aggregate.Record.Auth_Results.t

package info (click to toggle)
libmail-dmarc-perl 1.20211209-4
  • links: PTS
  • area: main
  • in suites: bookworm
  • size: 1,724 kB
  • sloc: perl: 4,937; xml: 13; makefile: 10; sh: 1
file content (72 lines) | stat: -rw-r--r-- 1,545 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
use strict;
use warnings;

use Data::Dumper;
use Test::More;

use lib 'lib';

my $mod = 'Mail::DMARC::Report::Aggregate::Record::Auth_Results';
use_ok($mod);
my $ar = $mod->new;

_auth_results();
_spf();
_dkim();

done_testing();
exit;

sub _auth_results {
    isa_ok( $ar, $mod );
};

sub _spf {
    is_deeply( $ar->spf, [], "spf, empty");

    my %spf_res = (
        domain => 'test.com',
        result => 'pass',
        scope  => 'mfrom',
        );

    $ar->spf( %spf_res );
    is_deeply( $ar->spf, [ \%spf_res ], "spf, hash");

    $ar->spf( %spf_res );
    is_deeply( $ar->spf, [ \%spf_res, \%spf_res ], "spf, hashref");

    $ar = $mod->new;
    $ar->spf([ \%spf_res, \%spf_res ]);
    is_deeply( $ar->spf, [ \%spf_res, \%spf_res ], "spf, arrayref of hashref");

    #warn Dumper($ar->spf);
}

sub _dkim {
    is_deeply( $ar->dkim, [], "dkim");

    my %dkim_res = (
        domain      => 'tnpi.net',
        selector    => 'jan2015',
        result      => 'fail',
        human_result=> 'fail (body has been altered)',
    );

    $ar->dkim( %dkim_res );
    is_deeply( $ar->dkim, [ \%dkim_res ], "dkim, as hash");


    $ar->dkim( \%dkim_res );
    is_deeply( $ar->dkim, [ \%dkim_res, \%dkim_res ], "dkim, as hashref");

    $ar->dkim( \%dkim_res );
    is_deeply( $ar->dkim, [ \%dkim_res, \%dkim_res, \%dkim_res ], "dkim, as hashref again");


    $ar = $mod->new;
    $ar->dkim([ \%dkim_res, \%dkim_res ]);
    is_deeply( $ar->dkim, [ \%dkim_res, \%dkim_res ], "dkim, as arrayref of hashrefs");

    #warn Dumper($ar->dkim);
}