public static function createDb(ContainerBuilder $container = null) { if (!$container) { $container = new ContainerBuilder(); } $dataDir = Application::resolveRelativePath($container->getParameter('doctrine.db.data_dir')); if (!is_dir($dataDir)) { $result = mkdir($dataDir, 0777, true); if (!$result) { throw new \Exception('Error creating Portunus data dir'); } } $dev = $container->getParameter('portunus.dev'); $container->setParameter('protunus.dev', true); // schema creation requires dev mode $metadata = $container->get('doctrine.entity_manager')->getMetadataFactory()->getAllMetadata(); // create db if not exists $dbName = $container->getParameter('doctrine.db.filename'); $portunusDB = sprintf('%s/%s', $dataDir, $dbName); if (!file_exists($portunusDB)) { $container->get('doctrine.schema_tool')->createSchema($metadata); } // create proxy classes if not exist $cacheDir = $container->get('portunus.application')->getCacheDir(); $cacheFiles = glob($cacheDir . '/__CG__*.php'); if (count($cacheFiles) < 1) { $cacheDir = $container->get('portunus.application')->getCacheDir(); $container->get('doctrine.entity_manager')->getProxyFactory()->generateProxyClasses($metadata, $cacheDir); } $container->setParameter('protunus.dev', $dev); }
public function beforeTestMethod($method) { parent::beforeTestMethod($method); $this->container = new \mock\Symfony\Component\DependencyInjection\ContainerBuilder(); $this->container->setParameter('test', true); }