public function testGetRequestString() { $this->assertEmpty($this->_model->getRequestString()); $this->_model->setRequestUri('test'); $this->_model->setPathInfo(); $this->assertEquals('test', $this->_model->getRequestString()); }
/** * @dataProvider dataProviderIsAllowed * @param string $config * @param string $module * @param string $controller * @param string $action * @param array $issuersWithJobs * @param bool $isAllowed * @param string $urn */ public function testIsAllowed($config, $module, $controller, $action, $issuersWithJobs, $isAllowed, $urn = '') { $configMock = $this->getMock('Mage_Core_Model_Config', array('getNode')); $configMock->expects($this->any())->method('getNode')->with($this->equalTo('default/xcom/initializer_acl'))->will($this->returnValue(new Varien_Simplexml_Element($config))); $request = new Mage_Core_Controller_Request_Http(); $request->setControllerModule($module)->setControllerName($controller)->setActionName($action); $request->setRequestUri($urn)->setPathInfo(); $fabricHelper = $this->mockHelper('xcom_xfabric', array('getNodeByXpath')); $fabricHelper->expects($this->any())->method('getNodeByXpath')->will($this->returnValue(1)); $jobResource = $this->mockResource('xcom_initializer/job', array('hasJobsLeft', 'isDataCollected')); $jobResource->expects($this->any())->method('isDataCollected')->will($this->returnValue(empty($issuersWithJobs))); if (empty($issuersWithJobs)) { $jobResource->expects($this->never())->method('hasJobsLeft'); } else { $i = 1; foreach (array('xcom_mapping', 'xcom_other') as $issuer) { $jobResource->expects($this->at($i))->method('hasJobsLeft')->with($this->equalTo($issuer))->will($this->returnValue((int) in_array($issuer, $issuersWithJobs))); $i++; } } Mage::setConfigMock($configMock); $result = $this->_object->isAllowed($request); Mage::setUseMockConfig(false); $this->assertEquals($isAllowed, $result); }
/** * Runs the WebApplication * * @param \AppserverIo\Psr\Servlet\Http\HttpServletRequestInterface $servletRequest The request instance * * @return string The web applications content */ public function run(HttpServletRequestInterface $servletRequest) { try { // cleanup mage registry foreach ($this->registryCleanKeys as $registryCleanKey) { \Mage::unregister($registryCleanKey); } error_log("Successfully reset Magento"); // set headers sent to false and start output caching appserver_set_headers_sent(false); ob_start(); // reset and run Magento $appRequest = new \Mage_Core_Controller_Request_Http(); $appResponse = new \Mage_Core_Controller_Response_Http(); $appRequest->setRequestUri(); error_log("Set request URI: " . $_SERVER['REQUEST_URI']); $this->app->setRequest($appRequest); $this->app->setResponse($appResponse); // store or website code $mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : ''; // run store or run website $mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store'; $this->app->run(array('scope_code' => $mageRunCode, 'scope_type' => $mageRunType, 'options' => array())); // write the session back after the request session_write_close(); // We need to init the session anew, so PHP session handling will work like it would in a clean environment appserver_session_init(); // grab the contents generated by Magento $content = ob_get_clean(); } catch (\Exception $e) { error_log($content = $e->__toString()); } // return the content return $content; }