File Coverage

blib/lib/Net/SAML2/Types.pm
Criterion Covered Total %
statement 15 15 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 20 20 100.0


line stmt bran cond sub pod time code
1             package Net::SAML2::Types;
2 25     25   192 use warnings;
  25         64  
  25         872  
3 25     25   146 use strict;
  25         62  
  25         917  
4              
5             our $VERSION = '0.73'; # VERSION
6              
7             # ABSTRACT: Custom Moose types for Net::SAML2
8              
9 25     25   12419 use Types::Serialiser;
  25         42277  
  25         1472  
10 25         235 use MooseX::Types -declare => [
11             qw(
12             XsdID
13             SAMLRequestType
14             signingAlgorithm
15             )
16 25     25   231 ];
  25         57  
17              
18 25     25   158056 use MooseX::Types::Moose qw(Str Int Num Bool ArrayRef HashRef Item);
  25         62  
  25         237  
19              
20              
21             subtype XsdID, as Str,
22             where {
23             return 0 unless $_ =~ /^[a-zA-Z_]/;
24             return 0 if $_ =~ /[^a-zA-Z0-9_\.\-]/;
25             return 1;
26             },
27             message { "'$_' is not a valid xsd:ID" };
28              
29              
30             subtype SAMLRequestType, as enum(
31             [
32             qw(SAMLRequest SAMLResponse)
33             ]
34             ),
35             message { "'$_' is not a SAML Request type" };
36              
37              
38              
39             subtype signingAlgorithm, as enum(
40             [
41             qw(sha244 sha256 sha384 sha512 sha1)
42             ]
43             ),
44             message { "'$_' is not a supported signingAlgorithm" };
45              
46             1;
47              
48             __END__
49              
50             =pod
51              
52             =encoding UTF-8
53              
54             =head1 NAME
55              
56             Net::SAML2::Types - Custom Moose types for Net::SAML2
57              
58             =head1 VERSION
59              
60             version 0.73
61              
62             =head2 XsdID
63              
64             The type xsd:ID is used for an attribute that uniquely identifies an element in an XML document. An xsd:ID value must be an NCName. This means that it must start with a letter or underscore, and can only contain letters, digits, underscores, hyphens, and periods.
65              
66             =head2 SAMLRequestType
67              
68             Enum which consists of two options: SAMLRequest and SAMLResponse
69              
70             =head2 signingAlgorithm
71              
72             Enum which consists of the following options: sha244, sha256, sha384, sha512
73             and sha1
74              
75             =head1 AUTHORS
76              
77             =over 4
78              
79             =item *
80              
81             Chris Andrews <chrisa@cpan.org>
82              
83             =item *
84              
85             Timothy Legge <timlegge@gmail.com>
86              
87             =back
88              
89             =head1 COPYRIGHT AND LICENSE
90              
91             This software is copyright (c) 2023 by Venda Ltd, see the CONTRIBUTORS file for others.
92              
93             This is free software; you can redistribute it and/or modify it under
94             the same terms as the Perl 5 programming language system itself.
95              
96             =cut