Пример #1
0
 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());
 }
Пример #2
0
 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());
 }
Пример #3
0
 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'));
 }
Пример #4
0
 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'));
 }
Пример #5
0
 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());
 }
Пример #6
0
 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);
 }