Ejemplo n.º 1
0
 public function runBare()
 {
     if (!isset(CM_Config::get()->CM_Site_Abstract->class)) {
         $siteDefault = $this->getMockSite(null, null, array('url' => 'http://www.default.dev', 'urlCdn' => 'http://cdn.default.dev', 'name' => 'Default', 'emailAddress' => '*****@*****.**'));
         CM_Config::get()->CM_Site_Abstract->class = get_class($siteDefault);
     }
     $this->setServiceManager(CMTest_TH::getServiceManager());
     parent::runBare();
 }
Ejemplo n.º 2
0
 public function testProcessExceptionCatching()
 {
     CM_Config::get()->CM_Http_Response_RPC->catchPublicExceptions = true;
     CM_Config::get()->CM_Http_Response_RPC->exceptionsToCatch = ['CM_Exception_Nonexistent' => []];
     $request = $this->mockObject('CM_Http_Request_Abstract', ['/rpc/' . CM_Site_Abstract::factory()->getType() . '/foo']);
     $request->mockMethod('getQuery')->set(function () {
         throw new CM_Exception_Invalid('foo', null, ['messagePublic' => 'bar']);
     });
     /** @var CM_Http_Request_Abstract|\Mocka\AbstractClassTrait $request */
     $response = new CM_Http_Response_RPC($request, $this->getServiceManager());
     $response->process();
     $responseData = CM_Params::jsonDecode($response->getContent());
     $this->assertSame(['error' => ['type' => 'CM_Exception_Invalid', 'msg' => 'bar', 'isPublic' => true]], $responseData);
     $request->mockMethod('getQuery')->set(function () {
         throw new CM_Exception_Nonexistent('foo');
     });
     $response = new CM_Http_Response_RPC($request, CMTest_TH::getServiceManager());
     $response->process();
     $responseData = CM_Params::jsonDecode($response->getContent());
     $this->assertSame(['error' => ['type' => 'CM_Exception_Nonexistent', 'msg' => 'Internal server error', 'isPublic' => false]], $responseData);
 }
Ejemplo n.º 3
0
 public function tearDown()
 {
     (new CM_Elasticsearch_Type_Location($this->_elasticsearchClient))->deleteIndex();
     CMTest_TH::getServiceManager()->getElasticsearch()->setEnabled(false);
     CMTest_TH::clearEnv();
 }
Ejemplo n.º 4
0
 public function testProcessExceptionCatching()
 {
     CM_Config::get()->CM_Http_Response_Page->exceptionsToCatch = ['CM_Exception_InvalidParam' => ['errorPage' => 'CM_Page_Error_NotFound', 'log' => null]];
     $this->getMock('CM_Layout_Abstract', null, [], 'CM_Layout_Default');
     $request = CMTest_TH::createResponsePage('/example')->getRequest();
     /** @var CM_Http_Response_Page|\Mocka\AbstractClassTrait $response */
     $response = $this->mockObject('CM_Http_Response_Page', [$request, CMTest_TH::getServiceManager()]);
     $response->mockMethod('_renderPage')->set(function (CM_Page_Abstract $page) {
         if ($page instanceof CM_Page_Example) {
             throw new CM_Exception_InvalidParam();
         }
         return '<html>Error</html>';
     });
     $this->assertSame('/example', $response->getRequest()->getPath());
     $response->process();
     $this->assertSame('/error/not-found', $response->getRequest()->getPath());
 }
Ejemplo n.º 5
0
 public static function tearDownAfterClass()
 {
     self::$_type->getIndex()->delete();
     CMTest_TH::getServiceManager()->getElasticsearch()->setEnabled(false);
     parent::tearDownAfterClass();
 }
Ejemplo n.º 6
0
 public function tearDown()
 {
     $this->_type->deleteIndex();
     CMTest_TH::getServiceManager()->getElasticsearch()->setEnabled(false);
     CMTest_TH::clearEnv();
 }
Ejemplo n.º 7
0
 public function testSearchWithoutSearchEnabled()
 {
     CMTest_TH::getServiceManager()->getElasticsearch()->setEnabled(false);
     CM_Cache_Local::getInstance()->flush();
     $source = new CM_Paging_Location_Suggestions('', CM_Model_Location::LEVEL_CITY, CM_Model_Location::LEVEL_CITY);
     $this->assertCount(0, $source);
     $source = new CM_Paging_Location_Suggestions('el', CM_Model_Location::LEVEL_CITY, CM_Model_Location::LEVEL_CITY);
     $this->assertCount(0, $source);
 }
Ejemplo n.º 8
0
 public function tearDown()
 {
     CMTest_TH::getServiceManager()->getElasticsearch()->setEnabled(false);
     CMTest_TH::clearEnv();
 }
Ejemplo n.º 9
0
 public function testProcessExceptionCatching()
 {
     CM_Config::get()->CM_Http_Response_Page->exceptionsToCatch = ['CM_Exception_InvalidParam' => ['errorPage' => 'CM_Page_Error_NotFound', 'log' => null]];
     $this->getMock('CM_Layout_Abstract', null, [], 'CM_Layout_Default');
     $request = CMTest_TH::createResponsePage('/example')->getRequest();
     $response = $this->mockObject('CM_Http_Response_Page', [$request, CMTest_TH::getServiceManager()]);
     $response->mockMethod('_renderPage')->set(function () {
         static $counter = 0;
         if ($counter++ === 0) {
             // don't throw when rendering the error-page the request was redirected to
             throw new CM_Exception_InvalidParam();
         }
     });
     /** @var CM_Http_Response_Page $response */
     $this->assertSame('/example', $response->getRequest()->getPath());
     $response->process();
     $this->assertSame('/error/not-found', $response->getRequest()->getPath());
 }