]> Dogcows Code - chaz/p5-HTTP-AnyUA/blob - t/40-middleware-runtime.t
add Dockerfile for testing
[chaz/p5-HTTP-AnyUA] / t / 40-middleware-runtime.t
1 #!perl
2
3 use warnings;
4 use strict;
5
6 use lib 't/lib';
7
8 use Future;
9 use HTTP::AnyUA;
10 use Test::More tests => 2;
11
12 HTTP::AnyUA->register_backend(Mock => '+MockBackend');
13
14 my $any_ua = HTTP::AnyUA->new(ua => 'Mock');
15 my $backend = $any_ua->backend;
16
17 $any_ua->apply_middleware('Runtime');
18
19 my $url = 'http://acme.tld/';
20 my $mock_response = {
21 success => 1,
22 status => 200,
23 reason => 'OK',
24 content => 'whatever',
25 };
26
27 $backend->response({%$mock_response});
28 my $resp = $any_ua->get($url);
29 note explain $resp;
30 isnt $resp->{runtime}, undef, 'runtime is defined';
31
32 $backend->response(Future->done({%$mock_response}));
33 $resp = $any_ua->get($url);
34 $resp->on_done(sub {
35 my $resp = shift;
36 note explain $resp;
37 isnt $resp->{runtime}, undef, 'runtime is defined when response is future';
38 });
39
This page took 0.029237 seconds and 4 git commands to generate.