. * * @package LibreNMS * @link http://librenms.org * @copyright 2018 Tony Murray * @author Tony Murray */ namespace LibreNMS\Tests\Unit\Util; use LibreNMS\Tests\TestCase; use LibreNMS\Util\Env; class EnvTest extends TestCase { public function testParseArray() { putenv('PARSETEST=one,two'); $this->assertSame(['one', 'two'], Env::parseArray('PARSETEST'), 'Could not parse simple array'); $this->assertSame(['default'], Env::parseArray('PARSETESTNOTSET', 'default'), 'Did not get default value as expected'); $this->assertSame(null, Env::parseArray('PARSETESTNOTSET'), 'Did not get null as expected when env not set'); $this->assertSame(3, Env::parseArray('PARSETESTNOTSET', 3), 'Did not get default value (non-array) as expected'); $this->assertSame('default', Env::parseArray('PARSETESTNOTSET', 'default', ['default']), 'Did not get default value as expected, excluding it from exploding'); putenv('PARSETEST='); $this->assertSame([''], Env::parseArray('PARSETEST', null, []), 'Did not get empty string as expected when env set to empty'); putenv('PARSETEST=*'); $this->assertSame('*', Env::parseArray('PARSETEST', null, ['*', '*']), 'Did not properly ignore exclude values'); // clean the environment putenv('PARSETEST'); } }