public function test_get_token() { $request = new HttpRequest(); $auth = new HttpBasicAuth($request); $parser = new BasicAuthParser(); $parser->setToken($request->getHeaders(), 'foo'); $this->assertEquals('foo', $auth->getToken()); }
public function test_write_username_and_password() { $headers = new HttpHeaders(); $parser = new ReceivedHeadersParser(); $source = ['PHP_AUTH_USER' => 'foo', 'PHP_AUTH_PW' => 'bar']; $parser->writeBasicAuthHeaders($headers, $source); $request = new HttpRequest(); new HttpBasicAuth($request, 'foo', 'bar'); $this->assertEquals($request->getHeaders()->toDistinctArray(), $headers->toDistinctArray()); }
public function test_send_and_received_headers() { $client = new HttpClient(); $url = self::getUrl(); $url->addPath('headers'); $request = new HttpRequest(HttpRequestMethod::GET, $url); $request->getHeaders()->set('header', 'foo'); $response = $client->send($request); $this->assertEquals(HttpStatusCode::OK, $response->getStatusCode()); $this->assertEquals('foo', $response->getHeaders()->find('header')); $this->assertEquals('swag', $response->getHeaders()->find('yolo')); $this->assertEquals(['foo', 'bar'], $response->getHeaders()->get('foo')); }
public function test_getters_and_setters() { $request = new HttpRequest(); $cookies = new Cookies($request); $cookie = new Cookie('foo', 'bar'); $this->assertEquals(0, count($cookies->toArray())); $this->assertNull($cookies->findByName('foo')); $cookies->add($cookie); $this->assertEquals(1, count($cookies->toArray())); $this->assertNotNull($cookies->findByName('foo')); $this->assertTrue($cookie === $cookies->findByName('foo')); $cookies->add(new Cookie('yolo', 'swag')); $this->assertEquals(2, count($cookies->toArray())); $cookies->removeByName('bar'); $this->assertEquals(2, count($cookies->toArray())); $cookies->removeByName('yolo'); $this->assertEquals(1, count($cookies->toArray())); $this->assertEquals($cookie->toString(), $request->getHeaders()->find('set-cookie')); }
public function test_switch_env_in_env_aware_mode() { $app = new HttpApp(); $request = new HttpRequest(); $app->handleRequest($request); $this->assertEquals('dev', $app->getEnvironment()); $request = new HttpRequest(); $app->setDebug(false); $request->getHeaders()->set('x-env', 'prod'); $app->handleRequest($request); $this->assertEquals('dev', $app->getEnvironment()); $this->assertNull($request->getHeaders()->find('x-env')); $request = new HttpRequest(); $request->getHeaders()->set('x-env', 'prod'); $app->setDebug(true); $app->handleRequest($request); $this->assertEquals('prod', $app->getEnvironment()); $this->assertNull($request->getHeaders()->find('x-env')); $request = new HttpRequest(); $request->getUrl()->getQuery()->set('env', 'stage'); $app->setDebug(true); $app->handleRequest($request); $this->assertEquals('stage', $app->getEnvironment()); $this->assertNull($request->getUrl()->getQuery()->get('env')); $request = new HttpRequest(); $request->getUrl()->setPath('/env=test/some/url'); $app->setDebug(true); $app->handleRequest($request); $this->assertEquals('test', $app->getEnvironment()); $this->assertEquals('/some/url', $request->getUrl()->getPath()); $request = new HttpRequest(); $request->getUrl()->setPath('/some/url/env=demo'); $app->setDebug(true); $app->handleRequest($request); $this->assertEquals('demo', $app->getEnvironment()); $this->assertEquals('/some/url', $request->getUrl()->getPath()); $request = new HttpRequest(); $request->getUrl()->setPath('/some/env=stage/url'); $app->setDebug(true); $app->handleRequest($request); $this->assertEquals('stage', $app->getEnvironment()); $this->assertEquals('/some/url', $request->getUrl()->getPath()); }
public function test_to_array() { $request = new HttpRequest(HttpRequestMethod::PATCH, new Url('/foo'), new HttpHeaders(['yolo' => 'swag'])); $request->setBasicAuth(new HttpBasicAuth($request, 'xx', 'aa')); $request->getData()->setData(['foo' => 'bar']); $actual = $request->toArray(); $this->assertEquals(['protocol' => $request->getProtocol(), 'version' => $request->getProtocolVersion(), 'method' => $request->getMethod(), 'url' => $request->getUrl()->toString(), 'headers' => $request->getHeaders()->toArray(), 'data' => $request->getData()->toArray(), 'query' => $request->getUrl()->getQuery()->toArray(), 'cookies' => $request->getCookieJar()->toArray(), 'content' => $request->getContent()], $actual); }