public function writeEnvFile() { $configurator = new Configurator(); $configurator->addPHPConfig($this->env, __DIR__ . "/../../../../clavis.php"); $contents = ""; $config = $configurator->getConfig(); $envVarsToWrite = \ImagickDemo\Config::getConfigNames(); foreach ($envVarsToWrite as $key) { if (array_key_exists($key, $config) == false) { throw new \Exception("Value not set for {$key}"); } $value = $config[$key]; $key = str_replace('.', "_", $key); $contents .= "export \"{$key}\"=\"{$value}\"\n"; } file_put_contents($this->outputFilename, $contents); }
public function testGenerateEnvFile() { $writer = new TestWriter(); $configurator = new Configurator($writer, 'amazonec2', ['phpunit'], 'test/fixtures/data/empty.json', 'test/fixtures/data/config.php'); $namespace = "test12345"; $outputFilename = 'test//env.php'; $configurator->writeEnvironmentFile('test/fixtures/input/envRequired.php', $outputFilename, $namespace); $contents = $writer->getDataForFile($outputFilename); if (strpos($contents, "<?php") !== 0) { $this->fail("Generated code does not start with '<?php'.\n"); return; } $contents = substr($contents, strlen("<?php")); eval($contents); if (function_exists('test12345\\getAppEnv') === false) { $this->fail("Function test12345\\getAppEnv was not in generated code.\n"); return; } $vars = \test12345\getAppEnv(); $this->assertArrayHasKey('cache_setting', $vars); $this->assertEquals('cache_time', $vars['cache_setting']); }