/** * @test */ public function itIncludesASettingsFile() { $listener = new InclusionSettingsFileListener('/foo/bar.php'); $dispatcher = $this->getDispatcher($listener); $dispatcher->dispatch(WritingSiteSettingsFile::NAME, $event = new WritingSiteSettingsFile($this->generateDrupal())); $this->assertSame('require "/foo/bar.php";', $event->getSettings()); }
/** * @param SiteEvent $event */ public function onSettingUpSite(SiteEvent $event) { $drupal = $event->getDrupal(); $this->eventDispatcher->dispatch(WritingSiteSettingsFile::NAME, $settings = new WritingSiteSettingsFile($drupal)); $this->filesystem->mkdir($drupal->getSitePath()); file_put_contents($drupal->getSitePath() . '/settings.php', '<?php ' . $settings->getSettings()); }
/** * @test */ public function itWritesToTheSettingsFile() { $drupal = new Drupal('/foo/bar', 'http://localhost/', 'standard'); $listener = new HashSaltSettingsFileListener(new StaticStringGenerator('baz')); $dispatcher = $this->getDispatcher($listener); $dispatcher->dispatch(WritingSiteSettingsFile::NAME, $event = new WritingSiteSettingsFile($drupal)); $this->assertSame('$drupal_hash_salt = "baz";', $event->getSettings()); }
/** * @test */ public function itWritesToTheSettingsFile() { $drupal = new Drupal('/foo/bar', 'http://localhost/', 'standard'); $listener = new BaseUrlSettingsFileListener(); $dispatcher = $this->getDispatcher($listener); $dispatcher->dispatch(WritingSiteSettingsFile::NAME, $event = new WritingSiteSettingsFile($drupal)); $this->assertSame('$base_url = "http://localhost";', $event->getSettings()); }
/** * @test */ public function itWritesToTheSettingsFile() { $drupal = new Drupal('/foo/bar', 'http://localhost/', 'standard'); $listener = new FilePathSettingsFileListener(new StaticStringGenerator('baz')); $dispatcher = $this->getDispatcher($listener); $dispatcher->dispatch(WritingSiteSettingsFile::NAME, $event = new WritingSiteSettingsFile($drupal)); $this->assertContains('$conf["file_public_path"] = "' . $drupal->getLocalPath() . '/files";', $event->getSettings()); $this->assertContains('$conf["file_private_path"] = "' . $drupal->getLocalPath() . '/private";', $event->getSettings()); $this->assertContains('$conf["file_temporary_path"] = "' . sys_get_temp_dir() . '/isolated-drupal-behat/baz";', $event->getSettings()); }
/** * @param WritingSiteSettingsFile $event */ public function onWritingSiteSettingsFile(WritingSiteSettingsFile $event) { $url = parse_url($this->dbUri); $url += ['scheme' => '', 'path' => '', 'user' => '', 'pass' => '', 'host' => '', 'port' => '']; $database = array(':driver' => $url['scheme'] == 'mysqli' ? 'mysql' : $url['scheme'], ':database' => ltrim(urldecode($url['path']), '/'), ':username' => urldecode($url['user']), ':password' => urldecode($url['pass']), ':host' => urldecode($url['host']), ':port' => urldecode($url['port'])); $event->addSettings(strtr('$databases = [ "default" => [ "default" => [ "driver" => ":driver", "database" => ":database", "username" => ":username", "password" => ":password", "host" => ":host", "port" => ":port", "prefix" => "", ], ], ];', $database)); }
/** * @param WritingSiteSettingsFile $event */ public function onWritingSiteSettingsFile(WritingSiteSettingsFile $event) { if (!empty($this->settingsFile)) { $event->addSettings('require "' . $this->settingsFile . '";'); } }
/** * @param WritingSiteSettingsFile $event */ public function onWritingSiteSettingsFile(WritingSiteSettingsFile $event) { $uri = rtrim($event->getDrupal()->getUri(), '/'); $event->addSettings('$base_url = "' . $uri . '";'); }
/** * @param WritingSiteSettingsFile $event */ public function onWritingSiteSettingsFile(WritingSiteSettingsFile $event) { $event->addSettings('$conf["file_public_path"] = "' . $event->getDrupal()->getLocalPath() . '/files";'); $event->addSettings('$conf["file_private_path"] = "' . $event->getDrupal()->getLocalPath() . '/private";'); $event->addSettings('$conf["file_temporary_path"] = "' . sys_get_temp_dir() . '/isolated-drupal-behat/' . $this->generator->generate() . '";'); }
/** * @param WritingSiteSettingsFile $event */ public function onWritingSiteSettingsFile(WritingSiteSettingsFile $event) { $event->addSettings($this->php); }
/** * @param WritingSiteSettingsFile $event */ public function onWritingSiteSettingsFile(WritingSiteSettingsFile $event) { $event->addSettings('$drupal_hash_salt = "' . $this->generator->generate() . '";'); }