/** * @covers Alchemy\Phrasea\Setup\Installer */ public function testInstall() { $app = new Application('test'); $app->bindRoutes(); $parser = new Parser(); $connDatas = $parser->parse(file_get_contents(__DIR__ . '/../../../../../config/configuration.yml')); $credentials = $connDatas['main']['database']; $config = __DIR__ . '/configuration.yml'; $compiled = __DIR__ . '/configuration.yml.php'; @unlink($config); @unlink($compiled); $app['configuration.store'] = new Configuration(new Yaml(), new Compiler(), $config, $compiled, true); $abConn = self::$DI['app']['dbal.provider']->get(['host' => 'localhost', 'port' => 3306, 'user' => $credentials['user'], 'password' => $credentials['password'], 'dbname' => 'ab_unitTests']); $abConn->connect(); $dbConn = self::$DI['app']['dbal.provider']->get(['host' => 'localhost', 'port' => 3306, 'user' => $credentials['user'], 'password' => $credentials['password'], 'dbname' => 'db_unitTests']); $dbConn->connect(); $template = 'en'; $dataPath = __DIR__ . '/../../../../../datas/'; $installer = new Installer($app); $installer->install(uniqid('admin') . '@example.com', 'sdfsdsd', $abConn, 'http://local.phrasea.test.installer/', $dataPath, $dbConn, $template); $this->assertTrue($app['configuration.store']->isSetup()); $this->assertTrue($app['phraseanet.configuration-tester']->isUpToDate()); $databoxes = $app['phraseanet.appbox']->get_databoxes(); $databox = array_pop($databoxes); $this->assertContains('<path>' . realpath($dataPath) . '/db_unitTests/subdefs</path>', $databox->get_structure()); $conf = $app['configuration.store']->getConfig(); $this->assertArrayHasKey('main', $conf); $this->assertArrayHasKey('key', $conf['main']); $this->assertGreaterThan(10, strlen($conf['main']['key'])); @unlink($config); @unlink($compiled); }
public function testInstall() { $app = new Application(Application::ENV_TEST); \phrasea::reset_sbasDatas($app['phraseanet.appbox']); \phrasea::reset_baseDatas($app['phraseanet.appbox']); $app->bindRoutes(); $parser = new Parser(); $config = $parser->parse(file_get_contents(__DIR__ . '/../../../../../config/configuration.yml')); $credentials = $config['main']['database']; $configFile = __DIR__ . '/configuration.yml'; $compiledFile = __DIR__ . '/configuration.yml.php'; @unlink($configFile); @unlink($compiledFile); $app['configuration.store'] = $app->share(function () use($configFile, $compiledFile) { return new Configuration(new Yaml(), new Compiler(), $configFile, $compiledFile, true); }); $app['conf'] = $app->share(function () use($app) { return new PropertyAccess($app['configuration.store']); }); $app['phraseanet.appbox'] = $app->share(function () use($app) { return new \appbox($app); }); $abInfo = ['host' => $credentials['host'], 'port' => $credentials['port'], 'user' => $credentials['user'], 'password' => $credentials['password'], 'dbname' => 'ab_setup_test']; $abConn = $app['dbal.provider']($abInfo); $dbConn = $app['dbal.provider'](['host' => $credentials['host'], 'port' => $credentials['port'], 'user' => $credentials['user'], 'password' => $credentials['password'], 'dbname' => 'db_setup_test']); $key = $app['orm.add']($abInfo); $app['orm.ems.default'] = $key; $dataPath = __DIR__ . '/../../../../../datas/'; $installer = new Installer($app); $installer->install(uniqid('admin') . '@example.com', 'sdfsdsd', $abConn, 'http://local.phrasea.test.installer/', $dataPath, $dbConn, 'en'); $this->assertTrue($app['configuration.store']->isSetup()); $this->assertTrue($app['phraseanet.configuration-tester']->isUpToDate()); $databox = current($app->getDataboxes()); $this->assertContains('<path>' . realpath($dataPath) . '/db_setup_test/subdefs</path>', $databox->get_structure()); $conf = $app['configuration.store']->getConfig(); $this->assertArrayHasKey('main', $conf); $this->assertArrayHasKey('key', $conf['main']); $this->assertGreaterThan(10, strlen($conf['main']['key'])); @unlink($configFile); @unlink($compiledFile); $app['connection.pool.manager']->closeAll(); }