You are here

class SocketPostTest in reCAPTCHA 6.2

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

Hierarchy

  • class \ReCaptcha\RequestMethod\SocketPostTest extends \ReCaptcha\RequestMethod\PHPUnit_Framework_TestCase

Expanded class hierarchy of SocketPostTest

File

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

Namespace

ReCaptcha\RequestMethod
View source
class SocketPostTest extends \PHPUnit_Framework_TestCase {
  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);
  }
  public function testSubmitBadResponse() {
    $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 500 NOPEn\\nBOBBINS");
    $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(SocketPost::BAD_RESPONSE, $response);
  }
  public function testSubmitBadRequest() {
    $socket = $this
      ->getMock('\\ReCaptcha\\RequestMethod\\Socket', array(
      'fsockopen',
    ));
    $socket
      ->expects($this
      ->once())
      ->method('fsockopen')
      ->willReturn(false);
    $ps = new SocketPost($socket);
    $response = $ps
      ->submit(new RequestParameters("secret", "response", "remoteip", "version"));
    $this
      ->assertEquals(SocketPost::BAD_REQUEST, $response);
  }

}

Members