public function SocketPostTest::testOverrideSiteVerifyUrl in reCAPTCHA 7.2
File
- recaptcha-php/
tests/ ReCaptcha/ RequestMethod/ SocketPostTest.php, line 61
Class
Namespace
ReCaptcha\RequestMethodCode
public function testOverrideSiteVerifyUrl() {
$socket = $this
->getMockBuilder(\ReCaptcha\RequestMethod\Socket::class)
->disableOriginalConstructor()
->setMethods(array(
'fsockopen',
'fwrite',
'fgets',
'feof',
'fclose',
))
->getMock();
$socket
->expects($this
->once())
->method('fsockopen')
->with('ssl://over.ride', 443, 0, '', 30)
->willReturn(true);
$socket
->expects($this
->once())
->method('fwrite')
->with($this
->matchesRegularExpression('/^POST \\/some\\/path.*Host: over\\.ride/s'));
$socket
->expects($this
->once())
->method('fgets')
->willReturn("HTTP/1.1 200 OK\n\nRESPONSEBODY");
$socket
->expects($this
->exactly(2))
->method('feof')
->will($this
->onConsecutiveCalls(false, true));
$socket
->expects($this
->once())
->method('fclose')
->willReturn(true);
$ps = new SocketPost($socket, 'https://over.ride/some/path');
$response = $ps
->submit(new RequestParameters("secret", "response", "remoteip", "version"));
$this
->assertEquals('RESPONSEBODY', $response);
}