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(); }
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); }
public function tearDown() { (new CM_Elasticsearch_Type_Location($this->_elasticsearchClient))->deleteIndex(); CMTest_TH::getServiceManager()->getElasticsearch()->setEnabled(false); CMTest_TH::clearEnv(); }
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()); }
public static function tearDownAfterClass() { self::$_type->getIndex()->delete(); CMTest_TH::getServiceManager()->getElasticsearch()->setEnabled(false); parent::tearDownAfterClass(); }
public function tearDown() { $this->_type->deleteIndex(); CMTest_TH::getServiceManager()->getElasticsearch()->setEnabled(false); CMTest_TH::clearEnv(); }
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); }
public function tearDown() { CMTest_TH::getServiceManager()->getElasticsearch()->setEnabled(false); CMTest_TH::clearEnv(); }
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()); }