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