. * * @package LibreNMS * @link http://librenms.org * @copyright 2016 Tony Murray * @author Tony Murray */ namespace LibreNMS\Tests; class RrdtoolTest extends \PHPUnit_Framework_TestCase { public function testBuildCommandLocal() { global $config; $config['rrdcached'] = ''; $config['rrdtool_version'] = '1.4'; $config['rrd_dir'] = '/opt/librenms/rrd'; $cmd = rrdtool_build_command('create', '/opt/librenms/rrd/f', 'o'); $this->assertEquals('create /opt/librenms/rrd/f o', $cmd); $cmd = rrdtool_build_command('tune', '/opt/librenms/rrd/f', 'o'); $this->assertEquals('tune /opt/librenms/rrd/f o', $cmd); $cmd = rrdtool_build_command('update', '/opt/librenms/rrd/f', 'o'); $this->assertEquals('update /opt/librenms/rrd/f o', $cmd); $config['rrdtool_version'] = '1.6'; $cmd = rrdtool_build_command('create', '/opt/librenms/rrd/f', 'o'); $this->assertEquals('create /opt/librenms/rrd/f o -O', $cmd); $cmd = rrdtool_build_command('tune', '/opt/librenms/rrd/f', 'o'); $this->assertEquals('tune /opt/librenms/rrd/f o', $cmd); $cmd = rrdtool_build_command('update', '/opt/librenms/rrd/f', 'o'); $this->assertEquals('update /opt/librenms/rrd/f o', $cmd); } public function testBuildCommandRemote() { global $config; $config['rrdcached'] = 'server:42217'; $config['rrdtool_version'] = '1.4'; $config['rrd_dir'] = '/opt/librenms/rrd'; $cmd = rrdtool_build_command('create', '/opt/librenms/rrd/f', 'o'); $this->assertEquals('create /opt/librenms/rrd/f o', $cmd); $cmd = rrdtool_build_command('tune', '/opt/librenms/rrd/f', 'o'); $this->assertEquals('tune /opt/librenms/rrd/f o', $cmd); $cmd = rrdtool_build_command('update', '/opt/librenms/rrd/f', 'o'); $this->assertEquals('update f o --daemon server:42217', $cmd); $config['rrdtool_version'] = '1.6'; $cmd = rrdtool_build_command('create', '/opt/librenms/rrd/f', 'o'); $this->assertEquals('create f o -O --daemon server:42217', $cmd); $cmd = rrdtool_build_command('tune', '/opt/librenms/rrd/f', 'o'); $this->assertEquals('tune f o --daemon server:42217', $cmd); $cmd = rrdtool_build_command('update', '/opt/librenms/rrd/f', 'o'); $this->assertEquals('update f o --daemon server:42217', $cmd); } public function testBuildCommandException() { global $config; $config['rrdcached'] = ''; $config['rrdtool_version'] = '1.4'; $this->setExpectedException('LibreNMS\Exceptions\FileExistsException'); // use this file, since it is guaranteed to exist rrdtool_build_command('create', __FILE__, 'o'); } }