apt-get tests for Packages::Apt probe
[scpubgit/System-Introspector.git] / t / packages-apt.t
1 use strictures 1;
2 use Test::More;
3 use FindBin;
4
5 use System::Introspector::Probe::Packages::Apt;
6
7 my $probe = System::Introspector::Probe::Packages::Apt->new;
8 my $data  = $probe->gather;
9
10 ok(scalar(keys %$data), 'received packages');
11 ok(
12     not(grep {
13         not exists $_->{version}
14     } values %{$data->{installed}{packages}}),
15     'versions',
16 );
17
18 do {
19     local $ENV{PATH} = join ':', "$FindBin::Bin/bin", $ENV{PATH};
20     my $probe = System::Introspector::Probe::Packages::Apt->new(
21         apt_update => 1,
22         apt_update_after => 0,
23     );
24     my $data = $probe->gather;
25     is_deeply $data->{upgradable}, {
26         actions => {
27             inst => { foo => '(some foo info)' },
28             remv => { baz => '(some baz info)' },
29         },
30     }, 'upgradable packages';
31     ok $data->{update}{last}, 'has last update time';
32     ok $data->{update}{run}, 'has apt run state';
33 };
34
35 done_testing;