You are here

public function SocketPostTest::testSubmitSuccess in reCAPTCHA 6.2

Same name and namespace in other branches
  1. 7.2 recaptcha-php/tests/ReCaptcha/RequestMethod/SocketPostTest.php \ReCaptcha\RequestMethod\SocketPostTest::testSubmitSuccess()

File

recaptcha-php/tests/ReCaptcha/RequestMethod/SocketPostTest.php, line 34

Class

SocketPostTest

Namespace

ReCaptcha\RequestMethod

Code

public function testSubmitSuccess() {
  $socket = $this
    ->getMock('\\ReCaptcha\\RequestMethod\\Socket', array(
    'fsockopen',
    'fwrite',
    'fgets',
    'feof',
    'fclose',
  ));
  $socket
    ->expects($this
    ->once())
    ->method('fsockopen')
    ->willReturn(true);
  $socket
    ->expects($this
    ->once())
    ->method('fwrite');
  $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);
  $response = $ps
    ->submit(new RequestParameters("secret", "response", "remoteip", "version"));
  $this
    ->assertEquals('RESPONSEBODY', $response);
}