예제 #1
0
 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);
     }
 }
예제 #2
0
파일: REST.php 프로젝트: Eli-TW/Codeception
 protected function resetVariables()
 {
     $this->headers = array();
     $this->params = array();
     $this->response = "";
     if ($this->client) {
         $this->client->setServerParameters(array());
     }
 }
예제 #3
0
 protected function resetVariables()
 {
     $this->params = [];
     $this->response = "";
     $this->connectionModule->headers = [];
     if ($this->client) {
         $this->client->setServerParameters([]);
     }
 }
예제 #4
0
파일: REST.php 프로젝트: pfz/codeception
 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);
     }
 }
예제 #5
0
 /** @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'));
 }