X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;ds=sidebyside;f=bindings%2Fperl%2Ft%2F01_methods.t;h=4e94f8e8d235f53fa742bd716a1b738b6aade28f;hb=c80f8bd00c1981b4118618dd6935cf33f7e10aa1;hp=10289c706939427733330536e735dc9777e45ba6;hpb=11196f8875e45ddb38847fbdabfc97db6d8c7f3f;p=collectd.git diff --git a/bindings/perl/t/01_methods.t b/bindings/perl/t/01_methods.t index 10289c70..4e94f8e8 100644 --- a/bindings/perl/t/01_methods.t +++ b/bindings/perl/t/01_methods.t @@ -2,13 +2,24 @@ use strict; use warnings; -use Test::More tests => 12; +use Test::More tests => 14; use Collectd::Unixsock; use Collectd::MockDaemon; my $path = mockd_start(); END { mockd_stop(); } +sub filter_time { return map { delete $_->{time}; $_ } @_ } + +sub test_query { + my ($s, $attr, $results) = @_; + my ($nresults, $resultdata) = @$results; + my $r = $s->getval(%{Collectd::Unixsock::_parse_identifier($attr)}); + is(ref $r, 'HASH', "Got a result for $attr"); + is(scalar keys %$r, $nresults, "$nresults result result for $attr"); + is_deeply($r, $resultdata, "Data or $attr matches"); +} + my $s = Collectd::Unixsock->new($path); isnt($s, undef, "Collectd::Unixsock object created"); @@ -30,14 +41,19 @@ is_deeply($values[1234], { type => 'cpu', host => 'h2gdf6120' }, "Correct data returned for select element"); +@values = (); + +is_deeply([ filter_time $s->listval_filter() ] , [ filter_time $s->listval ], "listval_filter() w/o filter equivalent to listval()"); +is_deeply( + [ filter_time $s->listval_filter(host => 'a1d8f6310', plugin => 'disk', plugin_instance => 'vda6') ], + [ + { 'plugin_instance' => 'vda6', 'type' => 'disk_merged', 'plugin' => 'disk', 'host' => 'a1d8f6310' }, + { 'host' => 'a1d8f6310', 'plugin' => 'disk', 'plugin_instance' => 'vda6', 'type' => 'disk_octets' }, + { 'type' => 'disk_ops', 'plugin_instance' => 'vda6', 'plugin' => 'disk', 'host' => 'a1d8f6310' }, + { 'plugin' => 'disk', 'host' => 'a1d8f6310', 'type' => 'disk_time', 'plugin_instance' => 'vda6' } + ], + "Correct result from listval_filter on , and " +); # TODO more test for putval() and the like -sub test_query { - my ($s, $attr, $results) = @_; - my ($nresults, $resultdata) = @$results; - my $r = $s->getval(%{Collectd::Unixsock::_parse_identifier($attr)}); - is(ref $r, 'HASH', "Got a result for $attr"); - is(scalar keys $r, $nresults, "$nresults result result for $attr"); - is_deeply($r, $resultdata, "Data or $attr matches"); -}