public function _before(\Codeception\TestCase $test) { if (!$this->client) { if (!strpos($this->config['url'], '://')) { // not valid url foreach ($this->getModules() as $module) { if ($module instanceof \Codeception\Lib\Framework) { $this->client = $module->client; $this->isFunctional = true; break; } } } else { if (!$this->hasModule('PhpBrowser')) { throw new ModuleConfigException(__CLASS__, "For REST testing via HTTP please enable PhpBrowser module"); } $this->client = $this->getModule('PhpBrowser')->client; } if (!$this->client) { throw new ModuleConfigException(__CLASS__, "Client for REST requests not initialized.\nProvide either PhpBrowser module, or a framework module which shares FrameworkInterface"); } } $this->headers = array(); $this->params = array(); $this->response = ""; $this->client->setServerParameters(array()); if ($this->config['xdebug_remote'] && function_exists('xdebug_is_enabled') && xdebug_is_enabled() && ini_get('xdebug.remote_enable') && !$this->isFunctional) { $cookie = new Cookie('XDEBUG_SESSION', $this->config['xdebug_remote'], null, '/'); $this->client->getCookieJar()->set($cookie); } }
protected function resetVariables() { $this->headers = array(); $this->params = array(); $this->response = ""; if ($this->client) { $this->client->setServerParameters(array()); } }
protected function resetVariables() { $this->params = []; $this->response = ""; $this->connectionModule->headers = []; if ($this->client) { $this->client->setServerParameters([]); } }
public function _before(\Codeception\TestCase $test) { if (!$this->client) { if (!strpos($this->config['url'], '://')) { // not valid url foreach ($this->getModules() as $module) { if ($module instanceof \Codeception\Util\Framework) { $this->client = $module->client; $this->is_functional = true; break; } } } else { if (!$this->hasModule('PhpBrowser')) { throw new ModuleConfigException(__CLASS__, "For REST testing via HTTP please enable PhpBrowser module"); } $this->client = $this->getModule('PhpBrowser')->session->getDriver()->getClient(); } if (!$this->client) { throw new ModuleConfigException(__CLASS__, "Client for REST requests not initialized.\nProvide either PhpBrowser module, or a framework module which shares FrameworkInterface"); } } $this->headers = array(); $this->params = array(); $this->response = ""; $this->client->setServerParameters(array()); $timeout = $this->config['timeout']; if ($this->config['xdebug_remote'] && function_exists('xdebug_is_enabled') && xdebug_is_enabled() && ini_get('xdebug.remote_enable')) { $cookie = new Cookie('XDEBUG_SESSION', $this->config['xdebug_remote'], null, '/'); $this->client->getCookieJar()->set($cookie); // timeout is disabled, so we can debug gently :) $timeout = 0; } if (method_exists($this->client, 'getClient')) { $clientConfig = $this->client->getClient()->getConfig(); $curlOptions = $clientConfig->get('curl.options'); $curlOptions[CURLOPT_TIMEOUT] = $timeout; $clientConfig->set('curl.options', $curlOptions); } }
/** @dataProvider provideOverrideSessionParams */ public function testOverrideSessionParams($expectedDomain, $expectedPath, $expectedSecure, $expectedHttponly, $expectedExpire, $config) { $app = new CallableHttpKernel(function (Request $request) { $request->getSession()->set('some_session_var', 'is set'); return new Response('test'); }); $app = $this->sessionify($app, $config); $client = new Client($app); $client->setServerParameters(array('REQUEST_TIME' => static::SIMULATED_TIME)); $client->request('GET', '/'); $this->assertEquals('test', $client->getResponse()->getContent()); $cookies = $client->getResponse()->headers->getCookies(); $this->assertCount(1, $cookies); $cookie = $cookies[0]; $expectedCookie = new Cookie($this->mockFileSessionStorage->getName(), $this->mockFileSessionStorage->getId(), $expectedExpire, $expectedPath, $expectedDomain, $expectedSecure, $expectedHttponly); $this->assertEquals($expectedCookie, $cookie); $bag = $this->mockFileSessionStorage->getBag('attributes'); $this->assertEquals('is set', $bag->get('some_session_var')); }