Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit efe9beb

Browse files
[HttpKernel] Fix restoring trusted proxies in tests
1 parent b1f6021 commit efe9beb

File tree

6 files changed

+36
-14
lines changed

6 files changed

+36
-14
lines changed

src/Symfony/Bridge/Monolog/Tests/Processor/WebProcessorTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ public function testUseRequestClientIp()
4949
$this->assertEquals($server['REQUEST_METHOD'], $record['extra']['http_method']);
5050
$this->assertEquals($server['SERVER_NAME'], $record['extra']['server']);
5151
$this->assertEquals($server['HTTP_REFERER'], $record['extra']['referrer']);
52+
53+
Request::setTrustedProxies(array());
5254
}
5355

5456
public function testCanBeConstructedWithExtraFields()

src/Symfony/Component/HttpFoundation/Tests/RequestTest.php

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ class RequestTest extends TestCase
2020
{
2121
protected function tearDown()
2222
{
23+
Request::setTrustedProxies(array());
2324
Request::setTrustedHosts(array());
2425
}
2526

@@ -750,8 +751,6 @@ public function testGetPort()
750751
));
751752
$port = $request->getPort();
752753
$this->assertEquals(80, $port, 'With only PROTO set and value is not recognized, getPort() defaults to 80.');
753-
754-
Request::setTrustedProxies(array());
755754
}
756755

757756
/**
@@ -827,8 +826,6 @@ public function testGetClientIp($expected, $remoteAddr, $httpForwardedFor, $trus
827826
$request = $this->getRequestInstanceForClientIpTests($remoteAddr, $httpForwardedFor, $trustedProxies);
828827

829828
$this->assertEquals($expected[0], $request->getClientIp());
830-
831-
Request::setTrustedProxies(array());
832829
}
833830

834831
/**
@@ -839,8 +836,6 @@ public function testGetClientIps($expected, $remoteAddr, $httpForwardedFor, $tru
839836
$request = $this->getRequestInstanceForClientIpTests($remoteAddr, $httpForwardedFor, $trustedProxies);
840837

841838
$this->assertEquals($expected, $request->getClientIps());
842-
843-
Request::setTrustedProxies(array());
844839
}
845840

846841
/**
@@ -851,8 +846,6 @@ public function testGetClientIpsForwarded($expected, $remoteAddr, $httpForwarded
851846
$request = $this->getRequestInstanceForClientIpsForwardedTests($remoteAddr, $httpForwarded, $trustedProxies);
852847

853848
$this->assertEquals($expected, $request->getClientIps());
854-
855-
Request::setTrustedProxies(array());
856849
}
857850

858851
public function getClientIpsForwardedProvider()
@@ -975,8 +968,6 @@ public function testGetClientIpsWithAgreeingHeaders($httpForwarded, $httpXForwar
975968

976969
$clientIps = $request->getClientIps();
977970

978-
Request::setTrustedProxies(array());
979-
980971
$this->assertSame($expectedIps, $clientIps);
981972
}
982973

src/Symfony/Component/HttpKernel/Tests/EventListener/ValidateRequestListenerTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@
2121

2222
class ValidateRequestListenerTest extends TestCase
2323
{
24+
protected function tearDown()
25+
{
26+
Request::setTrustedProxies(array());
27+
}
28+
2429
/**
2530
* @expectedException \Symfony\Component\HttpFoundation\Exception\ConflictingHeadersException
2631
*/

src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ public function testRenderWithObjectsAsAttributes()
5656
$subRequest->attributes->replace(array('object' => $object, '_format' => 'html', '_controller' => 'main_controller', '_locale' => 'en'));
5757
$subRequest->headers->set('x-forwarded-for', array('127.0.0.1'));
5858
$subRequest->server->set('HTTP_X_FORWARDED_FOR', '127.0.0.1');
59-
$subRequest->server->set('REMOTE_ADDR', '1.1.1.1');
6059

6160
$strategy = new InlineFragmentRenderer($this->getKernelExpectingRequest($subRequest));
6261

@@ -85,7 +84,7 @@ public function testRenderWithTrustedHeaderDisabled()
8584
{
8685
Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, '');
8786

88-
$strategy = new InlineFragmentRenderer($this->getKernelExpectingRequest(Request::create('/', 'GET', array(), array(), array(), array('REMOTE_ADDR' => '1.1.1.1'))));
87+
$strategy = new InlineFragmentRenderer($this->getKernelExpectingRequest(Request::create('/')));
8988
$this->assertSame('foo', $strategy->render('/', Request::create('/'))->getContent());
9089
}
9190

@@ -169,7 +168,6 @@ public function testESIHeaderIsKeptInSubrequest()
169168
{
170169
$expectedSubRequest = Request::create('/');
171170
$expectedSubRequest->headers->set('Surrogate-Capability', 'abc="ESI/1.0"');
172-
$expectedSubRequest->server->set('REMOTE_ADDR', '1.1.1.1');
173171

174172
if (Request::getTrustedHeaderName(Request::HEADER_CLIENT_IP)) {
175173
$expectedSubRequest->headers->set('x-forwarded-for', array('127.0.0.1'));
@@ -195,7 +193,7 @@ public function testESIHeaderIsKeptInSubrequestWithTrustedHeaderDisabled()
195193

196194
public function testHeadersPossiblyResultingIn304AreNotAssignedToSubrequest()
197195
{
198-
$expectedSubRequest = Request::create('/', 'GET', array(), array(), array(), array('REMOTE_ADDR' => '1.1.1.1'));
196+
$expectedSubRequest = Request::create('/');
199197
if (Request::getTrustedHeaderName(Request::HEADER_CLIENT_IP)) {
200198
$expectedSubRequest->headers->set('x-forwarded-for', array('127.0.0.1'));
201199
$expectedSubRequest->server->set('HTTP_X_FORWARDED_FOR', '127.0.0.1');
@@ -206,6 +204,28 @@ public function testHeadersPossiblyResultingIn304AreNotAssignedToSubrequest()
206204
$strategy->render('/', $request);
207205
}
208206

207+
public function testFirstTrustedProxyIsSetAsRemote()
208+
{
209+
$expectedSubRequest = Request::create('/');
210+
$expectedSubRequest->headers->set('Surrogate-Capability', 'abc="ESI/1.0"');
211+
$expectedSubRequest->server->set('REMOTE_ADDR', '1.1.1.1');
212+
213+
if (Request::getTrustedHeaderName(Request::HEADER_CLIENT_IP)) {
214+
$expectedSubRequest->headers->set('x-forwarded-for', array('127.0.0.1'));
215+
$expectedSubRequest->server->set('HTTP_X_FORWARDED_FOR', '127.0.0.1');
216+
}
217+
218+
Request::setTrustedProxies(array('1.1.1.1'));
219+
220+
$strategy = new InlineFragmentRenderer($this->getKernelExpectingRequest($expectedSubRequest));
221+
222+
$request = Request::create('/');
223+
$request->headers->set('Surrogate-Capability', 'abc="ESI/1.0"');
224+
$strategy->render('/', $request);
225+
226+
Request::setTrustedProxies(array());
227+
}
228+
209229
/**
210230
* Creates a Kernel expecting a request equals to $request
211231
* Allows delta in comparison in case REQUEST_TIME changed by 1 second.

src/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,6 +1315,8 @@ public function testHttpCacheIsSetAsATrustedProxy(array $existing, array $expect
13151315
$this->request('GET', '/', array('REMOTE_ADDR' => '10.0.0.1'));
13161316

13171317
$this->assertEquals($expected, Request::getTrustedProxies());
1318+
1319+
Request::setTrustedProxies(array());
13181320
}
13191321

13201322
public function getTrustedProxyData()

src/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,8 @@ public function testInconsistentClientIpsOnMasterRequests()
291291
$request->headers->set('X_FORWARDED_FOR', '3.3.3.3');
292292

293293
$kernel->handle($request, $kernel::MASTER_REQUEST, false);
294+
295+
Request::setTrustedProxies(array());
294296
}
295297

296298
protected function getResolver($controller = null)

0 commit comments

Comments
 (0)