Fix Client to expect X-Percona-Resource-Type else links. Add headers to Mock/UserAgent. Start testing run_agent(). As TO_JSON() magic to Run so encode can encode Service contain blessed Run objs. Use BUILDARGS to convert Run as hashref to real objs.

This commit is contained in:
Daniel Nichter
2012-12-26 13:00:46 -07:00
parent 87080d44b2
commit 66fb54e793
9 changed files with 427 additions and 66 deletions

View File

@@ -46,6 +46,8 @@ has 'output' => (
required => 1,
);
sub TO_JSON { return { %{ shift() } }; }
no Lmo;
1;
}

View File

@@ -34,12 +34,25 @@ has 'schedule' => (
required => 1,
);
has 'run' => (
has 'runs' => (
is => 'ro',
isa => 'ArrayRef[Percona::WebAPI::Resource::Run]',
required => 1,
);
sub BUILDARGS {
my ($class, %args) = @_;
if ( ref $args{runs} eq 'ARRAY' ) {
my @runs;
foreach my $run_hashref ( @{$args{runs}} ) {
my $run = Percona::WebAPI::Resource::Run->new(%$run_hashref);
push @runs, $run;
}
$args{runs} = \@runs;
}
return $class->SUPER::BUILDARGS(%args);
}
no Lmo;
1;
}