-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path050_basic.t
executable file
·50 lines (42 loc) · 1.49 KB
/
050_basic.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/perl
#
# DESCRIPTION:
# Test sending basic passive results to nrd
#
# COPYRIGHT:
# Copyright (C) 2007 Altinity Limited
# Copyright is freely given to Ethan Galstad if included in the NSCA distribution
#
# LICENCE:
# GNU GPLv2
use lib 't';
use strict;
use NSCATest;
use Test::More;
plan tests => (3 * 3);
my $data = [
["hostname", "0", "Plugin output"],
["long_output", 0, 'x' x 10240 ],
["hostname-with-other-bits", "1", "More data to be read"],
["hostname.here", "2", "Check that ; are okay to receive"],
["host", "service", 0, "A good result here"],
["host54", "service with spaces", 1, "Warning! My flies are undone!"],
["host-robin", "service with a :)", 2, "Critical? Alert! Alert!"],
["host-batman", "another service", 3, "Unknown - the only way to travel"],
["long_output", "service1", 0, 'x' x 10240 ], #10K of plugin output
['x' x 1000, 0, 'Host check with big hostname'],
['x' x 1000, 'service OK', 0, 'Service check with big hostname'],
['long_svc_name', 'x' x 1000, 0, 'Service check with big service name'],
['<>', '\'' x 1000, 0, 'Service check strange chars'],
];
foreach my $config ('plain', 'encrypt', 'digest'){
foreach my $type ('--server_type=Single', '--server_type=Fork', '--server_type=PreFork') {
my $nsca = NSCATest->new( config => $config );
$nsca->start($type);
$nsca->send($data);
sleep 1; # Need to wait for --daemon to finish processing
my $output = $nsca->read_cmd;
is_deeply($data, $output, "Got all data as expected");
$nsca->stop;
}
}