File Coverage

blib/lib/FusionInventory/Agent/XML/Response.pm
Criterion Covered Total %
statement 24 24 100.0
branch 4 6 66.6
condition n/a
subroutine 6 6 100.0
pod 3 3 100.0
total 37 39 94.8


line stmt bran cond sub pod time code
1             package FusionInventory::Agent::XML::Response;
2              
3 32     32   25372589 use strict;
  32         141  
  32         875  
4 32     32   176 use warnings;
  32         66  
  32         982  
5              
6 32     32   27463 use XML::TreePP;
  32         210564  
  32         629  
7              
8             sub new {
9 8     8 1 52 my ($class, %params) = @_;
10              
11 8         90 my $tpp = XML::TreePP->new(
12             force_array => [ qw/
13             OPTION PARAM MODEL AUTHENTICATION RANGEIP DEVICE GET WALK
14             / ],
15             attr_prefix => '',
16             text_node_key => 'content'
17             );
18 8         129 my $content = $tpp->parse($params{content});
19              
20 8 50       8581 die "content is not an XML message" unless ref $content eq 'HASH';
21 8 100       68 die "content is an invalid XML message" unless defined($content->{REPLY});
22              
23             my $self = {
24             content => $content->{REPLY}
25 6         21 };
26              
27 6         19 bless $self, $class;
28              
29 6         48 return $self;
30             }
31              
32             sub getContent {
33 6     6 1 4430 my ($self) = @_;
34              
35 6         24 return $self->{content};
36             }
37              
38             sub getOptionsInfoByName {
39 4     4 1 54804 my ($self, $name) = @_;
40              
41 4 50       15 return unless $self->{content}->{OPTION};
42              
43             return
44 6         33 grep { $_->{NAME} eq $name }
45 4         7 @{$self->{content}->{OPTION}};
  4         9  
46             }
47              
48             1;
49              
50             __END__