From 954976ce006715b249088bfc2314ab2afb571a1e Mon Sep 17 00:00:00 2001 From: franck cuny Date: Wed, 15 Sep 2010 15:21:24 +0200 Subject: remove useless files --- lib/Net/HTTP/Spore/Middleware/Mock.pm | 38 +++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 lib/Net/HTTP/Spore/Middleware/Mock.pm (limited to 'lib/Net/HTTP/Spore/Middleware/Mock.pm') diff --git a/lib/Net/HTTP/Spore/Middleware/Mock.pm b/lib/Net/HTTP/Spore/Middleware/Mock.pm new file mode 100644 index 0000000..12568bf --- /dev/null +++ b/lib/Net/HTTP/Spore/Middleware/Mock.pm @@ -0,0 +1,38 @@ +package Net::HTTP::Spore::Middleware::Mock; + +# ABSTRACT: Simple Mocker for Spore middlewares + +use Moose; +extends 'Net::HTTP::Spore::Middleware'; + +has tests => ( isa => 'HashRef', is => 'ro', required => 1 ); + +sub call { + my ( $self, $req ) = @_; + + foreach my $r ( keys %{ $self->tests } ) { + next unless $r eq $req->path; + my $res = $self->tests->{$r}->($req); + return $res if defined $res; + } +} + +1; + +=head1 SYNOPSIS + + my $mock_server = { + '/path/i/want/to/match' => sub { + my $req = shift; + ... + $req->new_response(200, ['Content-Type' => 'text/plain'], 'ok'); + } + }; + + my $client = Net::HTTP::Spore->new_from_spec('spec.json'); + $client->enable('Mock', tests => $mock_server); + my $res = $client->my_rest_method(); + is $res->status, 200; + is $res->body, 'ok'; + +=head1 DESCRIPTION -- cgit v1.2.3