ÿØÿà JFIF ÿá Exif MM * ÿÛ C
Server IP : 199.250.214.225 / Your IP : 3.145.66.35 Web Server : Apache System : Linux vps64074.inmotionhosting.com 3.10.0-1160.105.1.vz7.214.3 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : nicngo5 ( 1001) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /home/nicngo5/npay/vendor/google/recaptcha/tests/ReCaptcha/RequestMethod/ |
Upload File : |
<?php /** * This is a PHP library that handles calling reCAPTCHA. * * @copyright Copyright (c) 2015, Google Inc. * @link https://www.google.com/recaptcha * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace ReCaptcha\RequestMethod; use \ReCaptcha\ReCaptcha; use ReCaptcha\RequestParameters; use PHPUnit\Framework\TestCase; class PostTest extends TestCase { public static $assert = null; protected $parameters = null; protected $runcount = 0; public function setUp() { $this->parameters = new RequestParameters('secret', 'response', 'remoteip', 'version'); } public function tearDown() { self::$assert = null; } public function testHTTPContextOptions() { $req = new Post(); self::$assert = array($this, 'httpContextOptionsCallback'); $req->submit($this->parameters); $this->assertEquals(1, $this->runcount, 'The assertion was ran'); } public function testSSLContextOptions() { $req = new Post(); self::$assert = array($this, 'sslContextOptionsCallback'); $req->submit($this->parameters); $this->assertEquals(1, $this->runcount, 'The assertion was ran'); } public function testOverrideVerifyUrl() { $req = new Post('https://over.ride/some/path'); self::$assert = array($this, 'overrideUrlOptions'); $req->submit($this->parameters); $this->assertEquals(1, $this->runcount, 'The assertion was ran'); } public function testConnectionFailureReturnsError() { $req = new Post('https://bad.connection/'); self::$assert = array($this, 'connectionFailureResponse'); $response = $req->submit($this->parameters); $this->assertEquals('{"success": false, "error-codes": ["'.ReCaptcha::E_CONNECTION_FAILED.'"]}', $response); } public function connectionFailureResponse() { return false; } public function overrideUrlOptions(array $args) { $this->runcount++; $this->assertEquals('https://over.ride/some/path', $args[0]); } public function httpContextOptionsCallback(array $args) { $this->runcount++; $this->assertCommonOptions($args); $options = stream_context_get_options($args[2]); $this->assertArrayHasKey('http', $options); $this->assertArrayHasKey('method', $options['http']); $this->assertEquals('POST', $options['http']['method']); $this->assertArrayHasKey('content', $options['http']); $this->assertEquals($this->parameters->toQueryString(), $options['http']['content']); $this->assertArrayHasKey('header', $options['http']); $headers = array( 'Content-type: application/x-www-form-urlencoded', ); foreach ($headers as $header) { $this->assertContains($header, $options['http']['header']); } } public function sslContextOptionsCallback(array $args) { $this->runcount++; $this->assertCommonOptions($args); $options = stream_context_get_options($args[2]); $this->assertArrayHasKey('http', $options); $this->assertArrayHasKey('verify_peer', $options['http']); $this->assertTrue($options['http']['verify_peer']); } protected function assertCommonOptions(array $args) { $this->assertCount(3, $args); $this->assertStringStartsWith('https://www.google.com/', $args[0]); $this->assertFalse($args[1]); $this->assertTrue(is_resource($args[2]), 'The context options should be a resource'); } } function file_get_contents() { if (PostTest::$assert) { return call_user_func(PostTest::$assert, func_get_args()); } // Since we can't represent maxlen in userland... return call_user_func_array('file_get_contents', func_get_args()); }