public function test_ShouldReuseSameProxyOnRedirect() { $proxyMock = $this->getRotatingProxyMock("test", true); $proxyMock->expects($this->once())->method("setupRequest")->willReturnArgument(0); $proxies = [$proxyMock]; $useOwnIp = false; $rotator = new ProxyRotator($proxies, $useOwnIp); $rotator->setReuseSameProxyOnRedirect(true); $client = new Client(); $request = $client->createRequest("GET", "/"); $request->getConfig()->set("redirect_count", 1); $rotator->setupRequest($request); // setupRequest will not be called $request->getConfig()->remove("redirect_count"); $rotator->setupRequest($request); // setupRequest will be called }