Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-Mail-AuthenticationResults for 
openSUSE:Factory checked in at 2023-02-01 16:38:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mail-AuthenticationResults (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Mail-AuthenticationResults.new.32243 
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Mail-AuthenticationResults"

Wed Feb  1 16:38:45 2023 rev:4 rq:1062263 version:2.20230112

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/perl-Mail-AuthenticationResults/perl-Mail-AuthenticationResults.changes
  2021-09-30 23:43:41.716489982 +0200
+++ 
/work/SRC/openSUSE:Factory/.perl-Mail-AuthenticationResults.new.32243/perl-Mail-AuthenticationResults.changes
       2023-02-01 16:49:57.305464031 +0100
@@ -1,0 +2,10 @@
+Fri Jan 13 03:08:01 UTC 2023 - Tina Müller <[email protected]>
+
+- updated to 2.20230112
+   see /usr/share/doc/packages/perl-Mail-AuthenticationResults/Changes
+
+  2.20230112 2023-01-12 22:49:04+00:00 UTC
+    - Add parser method to parse json serialized object back
+      into the object(s) it represents
+
+-------------------------------------------------------------------

Old:
----
  Mail-AuthenticationResults-2.20210915.tar.gz

New:
----
  Mail-AuthenticationResults-2.20230112.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Mail-AuthenticationResults.spec ++++++
--- /var/tmp/diff_new_pack.Tf5Qp5/_old  2023-02-01 16:49:57.665463955 +0100
+++ /var/tmp/diff_new_pack.Tf5Qp5/_new  2023-02-01 16:49:57.673463953 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Mail-AuthenticationResults
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,10 +18,10 @@
 
 %define cpan_name Mail-AuthenticationResults
 Name:           perl-Mail-AuthenticationResults
-Version:        2.20210915
+Version:        2.20230112
 Release:        0
-Summary:        Object Oriented Authentication-Results Headers
 License:        Artistic-1.0 OR GPL-1.0-or-later
+Summary:        Object Oriented Authentication-Results Headers
 URL:            https://metacpan.org/release/%{cpan_name}
 Source0:        
https://cpan.metacpan.org/authors/id/M/MB/MBRADSHAW/%{cpan_name}-%{version}.tar.gz
 Source1:        cpanspec.yml

++++++ Mail-AuthenticationResults-2.20210915.tar.gz -> 
Mail-AuthenticationResults-2.20230112.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mail-AuthenticationResults-2.20210915/Changes 
new/Mail-AuthenticationResults-2.20230112/Changes
--- old/Mail-AuthenticationResults-2.20210915/Changes   2021-09-15 
13:10:25.000000000 +0200
+++ new/Mail-AuthenticationResults-2.20230112/Changes   2023-01-12 
23:49:12.000000000 +0100
@@ -1,5 +1,9 @@
 Change log for Mail::AuthenticationResults
 
+2.20230112 2023-01-12 22:49:04+00:00 UTC
+  - Add parser method to parse json serialized object back
+    into the object(s) it represents
+
 2.20210915 2021-09-15 11:10:20+00:00 UTC
   - Fix for older versions of Perl
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mail-AuthenticationResults-2.20210915/MANIFEST 
new/Mail-AuthenticationResults-2.20230112/MANIFEST
--- old/Mail-AuthenticationResults-2.20210915/MANIFEST  2021-09-15 
13:10:25.000000000 +0200
+++ new/Mail-AuthenticationResults-2.20230112/MANIFEST  2023-01-12 
23:49:12.000000000 +0100
@@ -30,6 +30,7 @@
 t/02-get.t
 t/02-none.t
 t/02-parser-begin-dot.t
+t/02-parser-json.t
 t/02-parser-quoted.t
 t/02-parser.t
 t/02-safe_set.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mail-AuthenticationResults-2.20210915/META.yml 
new/Mail-AuthenticationResults-2.20230112/META.yml
--- old/Mail-AuthenticationResults-2.20210915/META.yml  2021-09-15 
13:10:25.000000000 +0200
+++ new/Mail-AuthenticationResults-2.20230112/META.yml  2023-01-12 
23:49:12.000000000 +0100
@@ -24,7 +24,7 @@
   perl: '5.008'
   strict: '0'
   warnings: '0'
-version: '2.20210915'
+version: '2.20230112'
 x_contributors:
   - 'Ricardo Signes <[email protected]>'
 x_generated_by_perl: v5.34.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mail-AuthenticationResults-2.20210915/Makefile.PL 
new/Mail-AuthenticationResults-2.20230112/Makefile.PL
--- old/Mail-AuthenticationResults-2.20210915/Makefile.PL       2021-09-15 
13:10:25.000000000 +0200
+++ new/Mail-AuthenticationResults-2.20230112/Makefile.PL       2023-01-12 
23:49:12.000000000 +0100
@@ -30,7 +30,7 @@
     "Test::More" => 0,
     "lib" => 0
   },
-  "VERSION" => "2.20210915",
+  "VERSION" => "2.20230112",
   "test" => {
     "TESTS" => "t/*.t"
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mail-AuthenticationResults-2.20210915/README 
new/Mail-AuthenticationResults-2.20230112/README
--- old/Mail-AuthenticationResults-2.20210915/README    2021-09-15 
13:10:25.000000000 +0200
+++ new/Mail-AuthenticationResults-2.20230112/README    2023-01-12 
23:49:12.000000000 +0100
@@ -5,7 +5,7 @@
 
 VERSION
 
-    version 2.20210915
+    version 2.20230112
 
 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/FoldableHeader.pm
 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/FoldableHeader.pm
--- 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/FoldableHeader.pm
  2021-09-15 13:10:25.000000000 +0200
+++ 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/FoldableHeader.pm
  2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Carp;
 
 use Mail::AuthenticationResults::Token::String;
@@ -248,7 +248,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Header/AuthServID.pm
 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Header/AuthServID.pm
--- 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Header/AuthServID.pm
       2021-09-15 13:10:25.000000000 +0200
+++ 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Header/AuthServID.pm
       2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Carp;
 
 use base 'Mail::AuthenticationResults::Header::Base';
@@ -49,7 +49,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Header/Base.pm
 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Header/Base.pm
--- 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Header/Base.pm
     2021-09-15 13:10:25.000000000 +0200
+++ 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Header/Base.pm
     2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Scalar::Util qw{ weaken refaddr };
 use JSON;
 use Carp;
@@ -426,7 +426,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Header/Comment.pm
 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Header/Comment.pm
--- 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Header/Comment.pm
  2021-09-15 13:10:25.000000000 +0200
+++ 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Header/Comment.pm
  2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Scalar::Util qw{ weaken };
 use Carp;
 
@@ -88,7 +88,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Header/Entry.pm
 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Header/Entry.pm
--- 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Header/Entry.pm
    2021-09-15 13:10:25.000000000 +0200
+++ 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Header/Entry.pm
    2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Scalar::Util qw{ refaddr };
 use Carp;
 
@@ -37,7 +37,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Header/Group.pm
 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Header/Group.pm
--- 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Header/Group.pm
    2021-09-15 13:10:25.000000000 +0200
+++ 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Header/Group.pm
    2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Scalar::Util qw{ refaddr };
 use Carp;
 
@@ -76,7 +76,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Header/SubEntry.pm
 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Header/SubEntry.pm
--- 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Header/SubEntry.pm
 2021-09-15 13:10:25.000000000 +0200
+++ 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Header/SubEntry.pm
 2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Carp;
 
 use base 'Mail::AuthenticationResults::Header::Base';
@@ -35,7 +35,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Header/Version.pm
 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Header/Version.pm
--- 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Header/Version.pm
  2021-09-15 13:10:25.000000000 +0200
+++ 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Header/Version.pm
  2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Scalar::Util qw{ weaken };
 use Carp;
 
@@ -67,7 +67,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Header.pm
 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Header.pm
--- 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Header.pm
  2021-09-15 13:10:25.000000000 +0200
+++ 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Header.pm
  2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Carp;
 
 use Mail::AuthenticationResults::Header::AuthServID;
@@ -246,7 +246,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Parser.pm
 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Parser.pm
--- 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Parser.pm
  2021-09-15 13:10:25.000000000 +0200
+++ 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Parser.pm
  2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Carp;
 
 use Mail::AuthenticationResults::Header;
@@ -20,6 +20,8 @@
 use Mail::AuthenticationResults::Token::Separator;
 use Mail::AuthenticationResults::Token::String;
 
+use JSON;
+
 
 sub new {
     my ( $class, $auth_header ) = @_;
@@ -49,6 +51,45 @@
 }
 
 
+sub from_authentication_results_json {
+    my ( $self, $json ) = @_;
+    my $j = JSON->new();
+    my $hashref = $j->decode( $json );
+    return $self->_from_hashref( $hashref );
+}
+
+sub _from_hashref {
+    my ( $self, $hashref ) = @_;
+    my $type = $hashref->{'type'};
+    my $object
+        = $type eq 'header'     ? Mail::AuthenticationResults::Header->new()
+        : $type eq 'authservid' ? 
Mail::AuthenticationResults::Header::AuthServID->new()
+        : $type eq 'entry'      ? 
Mail::AuthenticationResults::Header::Entry->new()
+        : $type eq 'subentry'   ? 
Mail::AuthenticationResults::Header::SubEntry->new()
+        : $type eq 'comment'    ? 
Mail::AuthenticationResults::Header::Comment->new()
+        : croak "unknown type $type";
+
+    if ( $type eq 'header' ) {
+        my $authserv_id = $self->_from_hashref( $hashref->{ 'authserv_id' } );
+        $object->set_value( $authserv_id );
+    }
+    else {
+        $object->set_key( $hashref->{'key'} ) if exists $hashref->{'key'};
+        $object->safe_set_value( $hashref->{'value'} ) if exists 
$hashref->{'value'};
+    }
+
+    if ( exists $hashref->{'children'} ) {
+        for my $child ( @{ $hashref->{'children'} } ) {
+            my $child_object = $self->_from_hashref( $child );
+            $object->add_child( $child_object );
+        }
+    }
+
+    return $object;
+}
+
+
+
 sub tokenise {
     my ( $self, $header ) = @_;
 
@@ -325,7 +366,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
@@ -345,6 +386,10 @@
 
 Parse $header and return the parsed object.
 
+=head2 from_authentication_results_json( $json )
+
+Parse $json as the json returned from an as_json method call and return the 
parsed object.
+
 =head2 tokenise( $header )
 
 Tokenise the given $header string
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Token/Assignment.pm
 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Token/Assignment.pm
--- 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Token/Assignment.pm
        2021-09-15 13:10:25.000000000 +0200
+++ 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Token/Assignment.pm
        2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Carp;
 
 use base 'Mail::AuthenticationResults::Token';
@@ -48,7 +48,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Token/Comment.pm
 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Token/Comment.pm
--- 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Token/Comment.pm
   2021-09-15 13:10:25.000000000 +0200
+++ 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Token/Comment.pm
   2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Carp;
 
 use base 'Mail::AuthenticationResults::Token';
@@ -67,7 +67,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Token/QuotedString.pm
 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Token/QuotedString.pm
--- 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Token/QuotedString.pm
      2021-09-15 13:10:25.000000000 +0200
+++ 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Token/QuotedString.pm
      2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Carp;
 
 use base 'Mail::AuthenticationResults::Token';
@@ -58,7 +58,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Token/Separator.pm
 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Token/Separator.pm
--- 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Token/Separator.pm
 2021-09-15 13:10:25.000000000 +0200
+++ 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Token/Separator.pm
 2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Carp;
 
 use base 'Mail::AuthenticationResults::Token';
@@ -46,7 +46,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Token/Space.pm
 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Token/Space.pm
--- 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Token/Space.pm
     2021-09-15 13:10:25.000000000 +0200
+++ 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Token/Space.pm
     2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Carp;
 
 use base 'Mail::AuthenticationResults::Token';
@@ -45,7 +45,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Token/String.pm
 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Token/String.pm
--- 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Token/String.pm
    2021-09-15 13:10:25.000000000 +0200
+++ 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Token/String.pm
    2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Carp;
 
 use base 'Mail::AuthenticationResults::Token';
@@ -74,7 +74,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Token.pm
 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Token.pm
--- 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults/Token.pm
   2021-09-15 13:10:25.000000000 +0200
+++ 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults/Token.pm
   2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Carp;
 
 
@@ -69,7 +69,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults.pm 
new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults.pm
--- old/Mail-AuthenticationResults-2.20210915/lib/Mail/AuthenticationResults.pm 
2021-09-15 13:10:25.000000000 +0200
+++ new/Mail-AuthenticationResults-2.20230112/lib/Mail/AuthenticationResults.pm 
2023-01-12 23:49:12.000000000 +0100
@@ -4,7 +4,7 @@
 require 5.008;
 use strict;
 use warnings;
-our $VERSION = '2.20210915'; # VERSION
+our $VERSION = '2.20230112'; # VERSION
 use Carp;
 
 use Mail::AuthenticationResults::Parser;
@@ -37,7 +37,7 @@
 
 =head1 VERSION
 
-version 2.20210915
+version 2.20230112
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mail-AuthenticationResults-2.20210915/t/02-parser-json.t 
new/Mail-AuthenticationResults-2.20230112/t/02-parser-json.t
--- old/Mail-AuthenticationResults-2.20210915/t/02-parser-json.t        
1970-01-01 01:00:00.000000000 +0100
+++ new/Mail-AuthenticationResults-2.20230112/t/02-parser-json.t        
2023-01-12 23:49:12.000000000 +0100
@@ -0,0 +1,62 @@
+#!perl
+use 5.008;
+use strict;
+use warnings FATAL => 'all';
+use lib 't';
+use Test::More;
+use Test::Exception;
+
+use lib 'lib';
+use Mail::AuthenticationResults::Parser;
+
+#plan tests => noplan1;
+
+chdir 't';
+
+my $Input = [
+  'iprev=fail policy.iprev=123.123.123.123 (NOT FOUND)',
+  'x-ptr=fail x-ptr-helo=bad.name.google.com x-ptr-lookup=',
+  'spf=fail [email protected] 
smtp.helo=bad.name.google.com',
+  'dkim=none (no signatures found)',
+  'x-google-dkim=none (no signatures found)',
+  'dmarc=fail (p=none,d=none) header.from=marcbradshaw.net',
+  'dmarc=fail (p=reject,d=reject) header.from=goestheweasel.com',
+  'dmarc=none (p=none,d=none) header.from=example.com'
+];
+
+my $Output = [
+  'iprev=fail policy.iprev=123.123.123.123 (NOT FOUND)',
+  'x-ptr=fail x-ptr-helo=bad.name.google.com x-ptr-lookup=""',
+  'spf=fail [email protected] 
smtp.helo=bad.name.google.com',
+  'dkim=none (no signatures found)',
+  'x-google-dkim=none (no signatures found)',
+  'dmarc=fail (p=none,d=none) header.from=marcbradshaw.net',
+  'dmarc=fail (p=reject,d=reject) header.from=goestheweasel.com',
+  'dmarc=none (p=none,d=none) header.from=example.com'
+];
+
+my $InputARHeader = join( ";\n", 'test.example.com', @$Input );
+
+my $Parser;
+lives_ok( sub{ $Parser = Mail::AuthenticationResults::Parser->new( 
$InputARHeader ) }, 'Parser parses' );
+is( ref $Parser, 'Mail::AuthenticationResults::Parser', 'Returns Parser 
Object' );
+
+my $JSON = $Parser->parsed()->as_json();
+my $Header = 
Mail::AuthenticationResults::Parser->new()->from_authentication_results_json($JSON);
+
+is( ref $Header, 'Mail::AuthenticationResults::Header', 'Returns Header 
Object' );
+is( $Header->value()->value(), 'test.example.com', 'Authserve Id correct' );
+is( $Header->as_string(), join( ";\n    ", 'test.example.com', @$Output ), 'As 
String data matches input data' );
+
+my $Search;
+lives_ok( sub{ $Search = $Header->search({ 'key'=>'dmarc','value'=>'none' }) 
}, 'Searches returns data' );
+is( ref $Search, 'Mail::AuthenticationResults::Header::Group', 'Returns Header 
Group Object' );
+is( $Search->as_string(), $Input->[7], 'As String data matches expected data' 
);
+
+my $MultiSearch;
+lives_ok( sub{ $MultiSearch = $Header->search({ 'key'=>'dmarc' }) }, 'Searches 
returns data' );
+is( ref $MultiSearch, 'Mail::AuthenticationResults::Header::Group', 'Returns 
Header Group Object' );
+is( $MultiSearch->as_string(), join( ";\n", $Input->[5] , $Input->[6], 
$Input->[7] ), 'As String data matches expected data' );
+
+done_testing();
+

Reply via email to