Example #1
0
 public function doRequest($request)
 {
     // redirector should not exit
     $redirector = \Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
     $redirector->setExit(false);
     // json helper should not exit
     $json = \Zend_Controller_Action_HelperBroker::getStaticHelper('json');
     $json->suppressExit = true;
     $zendRequest = new \Zend_Controller_Request_HttpTestCase();
     $zendRequest->setMethod($request->getMethod());
     $zendRequest->setCookies($request->getCookies());
     $zendRequest->setParams($request->getParameters());
     // Sf2's BrowserKit does not distinguish between GET, POST, PUT etc.,
     // so we set all parameters in ZF's request here to not break apps
     // relying on $request->getPost()
     $zendRequest->setPost($request->getParameters());
     $zendRequest->setRawBody($request->getContent());
     $zendRequest->setRequestUri(str_replace('http://localhost', '', $request->getUri()));
     $zendRequest->setHeaders($this->extractHeaders($request));
     $_FILES = $this->remapFiles($request->getFiles());
     $_SERVER = array_merge($_SERVER, $request->getServer());
     $zendResponse = new \Zend_Controller_Response_HttpTestCase();
     $this->front->setRequest($zendRequest)->setResponse($zendResponse);
     ob_start();
     try {
         $this->bootstrap->run();
     } catch (\Exception $e) {
         ob_end_clean();
         throw $e;
     }
     ob_end_clean();
     $this->zendRequest = $zendRequest;
     $response = new Response($zendResponse->getBody(), $zendResponse->getHttpResponseCode(), $this->formatResponseHeaders($zendResponse));
     return $response;
 }
Example #2
0
 public function doRequest($request)
 {
     // redirector should not exit
     $redirector = \Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
     $redirector->setExit(false);
     // json helper should not exit
     $json = \Zend_Controller_Action_HelperBroker::getStaticHelper('json');
     $json->suppressExit = true;
     $zendRequest = new \Zend_Controller_Request_HttpTestCase();
     $zendRequest->setMethod($request->getMethod());
     $zendRequest->setCookies($request->getCookies());
     $zendRequest->setParams($request->getParameters());
     $zendRequest->setRequestUri(str_replace('http://localhost', '', $request->getUri()));
     $zendRequest->setHeaders($request->getServer());
     $_FILES = $request->getFiles();
     $_SERVER = array_merge($_SERVER, $request->getServer());
     $zendResponse = new \Zend_Controller_Response_HttpTestCase();
     $this->front->setRequest($zendRequest)->setResponse($zendResponse);
     ob_start();
     $this->bootstrap->run();
     ob_end_clean();
     $this->zendRequest = $zendRequest;
     $response = new Response($zendResponse->getBody(), $zendResponse->getHttpResponseCode(), $zendResponse->getHeaders());
     return $response;
 }
Example #3
0
 public function testIsFormSubmission()
 {
     $formActions = array('add', 'edit', 'config');
     foreach ($formActions as $formAction) {
         $request = new Zend_Controller_Request_HttpTestCase();
         $request->setActionName($formAction);
         $request->setMethod('POST');
         $htmlPurifierPlugin = $this->_getHtmlPurifierPlugin();
         $this->assertTrue($htmlPurifierPlugin->isFormSubmission($request));
     }
 }
Example #4
0
 public function doRequest($request)
 {
     // redirector should not exit
     $redirector = \Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
     $redirector->setExit(false);
     // json helper should not exit
     $json = \Zend_Controller_Action_HelperBroker::getStaticHelper('json');
     $json->suppressExit = true;
     $zendRequest = new \Zend_Controller_Request_HttpTestCase();
     $zendRequest->setMethod($request->getMethod());
     $zendRequest->setCookies($request->getCookies());
     //$zendRequest->setParams($request->getParameters());
     if (strtoupper($request->getMethod()) == 'GET') {
         $_GET = $this->remapRequestParameters($request->getParameters());
     }
     if (strtoupper($request->getMethod()) == 'POST') {
         $_POST = $this->remapRequestParameters($request->getParameters());
     }
     $zendRequest->setRequestUri(str_replace('http://localhost', '', $request->getUri()));
     $zendRequest->setHeaders($request->getServer());
     $_FILES = $this->remapFiles($request->getFiles());
     // это нужно для нормальной работы SE
     $_SERVER['HTTP_HOST'] = str_replace('http://', '', $this->host);
     if (isset($_SERVER['HTTP_REFERER'])) {
         $_SERVER['HTTP_REFERER'] = str_replace('http://localhost', '', $_SERVER['HTTP_REFERER']);
     }
     //$_SERVER['SERVER_SOFTWARE'] = '';
     $_SERVER['REQUEST_METHOD'] = strtoupper($request->getMethod());
     $_SERVER['REQUEST_URI'] = str_replace('http://localhost', '', $request->getUri());
     $zendResponse = new \Zend_Controller_Response_Http();
     $this->bootstrap->getBootstrap()->getContainer()->frontcontroller->setRequest($zendRequest)->setResponse($zendResponse);
     ob_start();
     $this->bootstrap->run();
     ob_end_clean();
     $this->zendRequest = $zendRequest;
     $headers['Content-type'] = "text/html; charset=UTF-8";
     $response = new Response($zendResponse->getBody(), $zendResponse->getHttpResponseCode(), $headers);
     return $response;
 }
 private function _buildRequest($method, $uri)
 {
     $request = new Zend_Controller_Request_HttpTestCase();
     $request->setMethod($method)->setRequestUri($uri);
     return $request;
 }
Example #6
0
 public function testIsValidGetTrueWithQuery()
 {
     $request = new Zend_Controller_Request_HttpTestCase();
     $request->setMethod('get');
     $request->setQuery(array('foo' => 'bar'));
     Zend_Controller_Front::getInstance()->setRequest($request);
     $helper = new Waf_Zend_Controller_Action_Helper_Action_FormTest_TestFormHelper_GetDefault();
     $this->assertTrue($helper->isValidGet());
 }
 /**
  * Simulates Query (GET) parameters.
  *
  * Example:
  *
  *     $this->setGet(array('page' => 1));
  *
  * Additionally, it is possible to use a form instance
  * as data source:
  *
  *     $form = new Zend_Form();
  *     $form->populate(array('name' => 'Matthias'));
  *     $this->setGet($form);
  *
  * @param array(string=>mixed)|Zend_Form $arrayOrForm
  */
 protected function setGet($arrayOrForm)
 {
     $this->request->setMethod('GET');
     $this->request->setQuery($this->toStrings($this->toValues($arrayOrForm)));
 }