/** * @see PKPTestCase::setUp() */ protected function setUp() { parent::setUp(); // We need a router for URL generation. $application = PKPApplication::getApplication(); $_SERVER['REQUEST_METHOD'] = 'GET'; $request = $application->getRequest(); if (!is_a($request->getRouter(), 'PKPRouter')) { $router = new PageRouter(); $router->setApplication($application); $request->setRouter($router); } // Add the indexing state as setting. HookRegistry::register('articledao::getAdditionalFieldNames', array($this, 'callbackAdditionalFieldNames')); // Set translations. This must be done early // as these translations will be saved statically // during the first request. AppLocale::setTranslations(array('search.operator.not' => 'nicht', 'search.operator.and' => 'und', 'search.operator.or' => 'oder')); // Instantiate our web service for testing. $this->solrWebService = new SolrWebService('http://localhost:8983/solr/ojs/search', 'admin', 'please change', 'test-inst'); }
function CommandLineTool($argv = array()) { // Initialize the a request object with a page router $application =& PKPApplication::getApplication(); $request =& $application->getRequest(); // FIXME: Write and use a CLIRouter here (see classdoc) import('classes.core.PageRouter'); $router = new PageRouter(); $router->setApplication($application); $request->setRouter($router); // Initialize the locale and load generic plugins. AppLocale::initialize(); PluginRegistry::loadCategory('generic'); $this->argv = isset($argv) && is_array($argv) ? $argv : array(); if (isset($_SERVER['SERVER_NAME'])) { die('This script can only be executed from the command-line'); } $this->scriptName = isset($this->argv[0]) ? array_shift($this->argv) : ''; if (isset($this->argv[0]) && $this->argv[0] == '-h') { $this->usage(); exit(0); } }
/** * Fake a router for CLI tests. * @return Request */ protected function fakeRouter($host = null) { if ($host) { $_SERVER['HTTP_HOST'] = $host; } $_SERVER['SCRIPT_NAME'] = '/index.php'; $_SERVER['PATH_INFO'] = '/test'; $application = PKPApplication::getApplication(); $request = $application->getRequest(); import('classes.core.PageRouter'); $router = new PageRouter(); $router->setApplication($application); $request->setRouter($router); return $request; }
/** * Mock a web request. * * For correct timing you have to call this method * in the setUp() method of a test after calling * parent::setUp() or in a test method. You can also * call this method as many times as necessary from * within your test and you're guaranteed to receive * a fresh request whenever you call it. * * And make sure that you merge any additional mocked * registry keys with the ones returned from this class. * * @param $path string * @param $userId int * * @return Request */ protected function mockRequest($path = 'index/test-page/test-op', $userId = null) { // Back up the default request. if (!isset($this->registryBackup['request'])) { $this->mockedRegistryKeys[] = 'request'; $this->registryBackup['request'] = Registry::get('request'); } // Create a test request. Registry::delete('request'); $application = PKPApplication::getApplication(); $_SERVER['REQUEST_METHOD'] = 'GET'; $_SERVER['PATH_INFO'] = $path; $request = $application->getRequest(); import('classes.core.PageRouter'); // Test router. $router = new PageRouter(); $router->setApplication($application); import('lib.pkp.classes.core.Dispatcher'); $dispatcher = new Dispatcher(); $dispatcher->setApplication($application); $router->setDispatcher($dispatcher); $request->setRouter($router); // Test user. $session = $request->getSession(); $session->setUserId($userId); return $request; }
* @ingroup tools * * @brief Tool that generates a page containing the visual presentation of forms coded with the form builder vocabulary. * Use this tool to quickly inspect the results of an fbv-coded test form within the context of the application. * @see lib/pkp/tests/ui/fbv/* */ define('INDEX_FILE_LOCATION', dirname(dirname(__FILE__)) . '/index.php'); chdir(dirname(INDEX_FILE_LOCATION)); /* Change to base directory */ require 'lib/pkp/includes/bootstrap.inc.php'; $application = PKPApplication::getApplication(); $request = $application->getRequest(); // FIXME: Write and use a CLIRouter here (see classdoc) import('classes.core.PageRouter'); $router = new PageRouter(); $router->setApplication($application); $request->setRouter($router); import('classes.template.TemplateManager'); import('lib.pkp.classes.form.Form'); // Extend the TemplateManager class to: // - access test templates // - adjust $baseUrl to obtain proper paths to application js+css // - prevent the creation of urls from within templates // - modify the initialization procedure, // allowing Form::display() to use FBVTemplateManager class FBVTemplateManager extends TemplateManager { function FBVTemplateManager() { parent::TemplateManager(); $this->caching = 0;