File Coverage

File:t/090_corpus__010_success_full.t
Coverage:100.0%

linestmtbrancondsubpodtimecode
1#!perl
2
3
1
1
1
3199
1
17
use strict;
4
1
1
1
3
0
19
use warnings;
5
1
1
1
766
509
4
use lib 'lib';
6
7
1
1
1
802
115871
3
use Test::Most;
8
1
1
1
22972
8076
3
use JSON qw/decode_json/;
9
1
1
1
693
3
1334
use JSON::DJARE::Writer;
10
11
1
69212
my $expected = decode_json( join '', (<DATA>) );
12
13
1
10
my $djare = JSON::DJARE::Writer->new(
14    djare_version => '0.0.2',
15    meta_version  => '0.1.0',
16    meta_from     => 'rescue.int/launch/machines#POST',
17    meta_schema   => 'https://rescue.int/schemas/launch/machines/response.json',
18    auto_timestamp => 1,
19);
20
21
1
5
my $result = $djare->data(
22    {
23        machines => [
24            {
25                id     => "thunderbird-1",
26                status => "go",
27                pilot  => {
28                    username => "scott.tracy",
29                    comment  => "FAB"
30                }
31            },
32            {
33                id     => "thunderbird-4",
34                status => "go",
35                pilot  => {
36                    username => "gordon.tracy",
37                    comment  => "FAB"
38                }
39            }
40        ]
41    }
42);
43
44# meta/trace is discouraged, so we need to manually add to it
45
1
3
$result->{'meta'}->{'trace'} = {
46    "_comment"   => "don't stick too much stuff in trace, see the docs",
47    "request-id" => "X-deadbeef"
48};
49
50# Fudge the auto-timestamp
51
1
2
$expected->{'meta'}->{'timestamp'} = JSON::DJARE::Writer->auto_timestamp;
52
53
1
4
eq_or_diff( $result, $expected, "matches" );
54
55# Sanity-check that timestamp tho
56like(
57
1
3383
    $expected->{'meta'}->{'timestamp'},
58    qr/20\d\d\-\d\d\-\d\d \d\d:\d\d:\d\d/,
59    "timestamp looks reasonably shaped"
60);
61
62
1
265
done_testing();
63