| 368 | | { |
|---|
| 369 | | my $spooler = Munin::Node::ProxySpooler->new() or next; |
|---|
| 370 | | |
|---|
| 371 | | my @response = $spooler->_fetch_service('normal'); |
|---|
| 372 | | eq_or_diff(\@response, [ @config, @fetch ], 'fetching normal service'); |
|---|
| | 368 | my @tests = ( |
|---|
| | 369 | # name, expected, message |
|---|
| | 370 | [ 'normal', [ @config, @fetch ], 'normal service' ], |
|---|
| | 371 | |
|---|
| | 372 | [ 'dirty', [ @config, @fetch ], 'dirty service' ], |
|---|
| | 373 | |
|---|
| | 374 | [ 'timeout', [], 'timed out during config' ], |
|---|
| | 375 | [ 'timeout2', [], 'timed out during fetch' ], |
|---|
| | 376 | |
|---|
| | 377 | [ 'unknown', [], 'unknown service' ], |
|---|
| | 378 | |
|---|
| | 379 | [ 'badexit', [], 'bad exit from service during config' ], |
|---|
| | 380 | [ 'badexit2', [], 'bad exit during fetch' ], |
|---|
| | 381 | ); |
|---|
| | 382 | |
|---|
| | 383 | foreach my $test (@tests) { |
|---|
| | 384 | my ($name, $expected, $msg) = @$test; |
|---|
| | 385 | |
|---|
| | 386 | my $spooler = Munin::Node::ProxySpooler->new() |
|---|
| | 387 | or fail('Could not create a new ProxySpooler'); |
|---|
| | 388 | |
|---|
| | 389 | my @response = $spooler->_fetch_service($name); |
|---|
| | 390 | eq_or_diff(\@response, $expected, $msg); |
|---|
| 374 | | { |
|---|
| 375 | | my $spooler = Munin::Node::ProxySpooler->new() or next; |
|---|
| 376 | | |
|---|
| 377 | | my @response = $spooler->_fetch_service('dirty'); |
|---|
| 378 | | eq_or_diff(\@response, [ @config, @fetch ], 'fetching dirty service'); |
|---|
| 379 | | } |
|---|
| 380 | | { |
|---|
| 381 | | my $spooler = Munin::Node::ProxySpooler->new() or next; |
|---|
| 382 | | |
|---|
| 383 | | my @response = $spooler->_fetch_service('timeout'); |
|---|
| 384 | | eq_or_diff(\@response, [ ], 'service timed out during config'); |
|---|
| 385 | | } |
|---|
| 386 | | { |
|---|
| 387 | | my $spooler = Munin::Node::ProxySpooler->new() or next; |
|---|
| 388 | | |
|---|
| 389 | | my @response = $spooler->_fetch_service('timeout2'); |
|---|
| 390 | | eq_or_diff(\@response, [ ], 'service timed out during fetch'); |
|---|
| 391 | | } |
|---|
| 392 | | { |
|---|
| 393 | | my $spooler = Munin::Node::ProxySpooler->new() or next; |
|---|
| 394 | | |
|---|
| 395 | | my @response = $spooler->_fetch_service('unknown'); |
|---|
| 396 | | eq_or_diff(\@response, [ ], 'unknown service'); |
|---|
| 397 | | } |
|---|
| 398 | | { |
|---|
| 399 | | my $spooler = Munin::Node::ProxySpooler->new() or next; |
|---|
| 400 | | |
|---|
| 401 | | my @response = $spooler->_fetch_service('badexit'); |
|---|
| 402 | | eq_or_diff(\@response, [ ], 'bad exit from service during config'); |
|---|
| 403 | | } |
|---|
| 404 | | { |
|---|
| 405 | | my $spooler = Munin::Node::ProxySpooler->new() or next; |
|---|
| 406 | | |
|---|
| 407 | | my @response = $spooler->_fetch_service('unknown'); |
|---|
| 408 | | eq_or_diff(\@response, [ ], 'bad exit from service during fetch'); |
|---|
| 409 | | } |
|---|
| 410 | | } |
|---|
| 411 | | |
|---|
| 412 | | |
|---|
| | 392 | } |
|---|
| | 393 | |
|---|
| | 394 | |
|---|