class ResponseTest in reCAPTCHA 7.2
Same name and namespace in other branches
- 6.2 recaptcha-php/tests/ReCaptcha/ResponseTest.php \ReCaptcha\ResponseTest
Hierarchy
- class \ReCaptcha\ResponseTest extends \PHPUnit\Framework\TestCase
Expanded class hierarchy of ResponseTest
File
- recaptcha-php/
tests/ ReCaptcha/ ResponseTest.php, line 31
Namespace
ReCaptchaView source
class ResponseTest extends TestCase {
/**
* @dataProvider provideJson
*/
public function testFromJson($json, $success, $errorCodes, $hostname, $challengeTs, $apkPackageName, $score, $action) {
$response = Response::fromJson($json);
$this
->assertEquals($success, $response
->isSuccess());
$this
->assertEquals($errorCodes, $response
->getErrorCodes());
$this
->assertEquals($hostname, $response
->getHostname());
$this
->assertEquals($challengeTs, $response
->getChallengeTs());
$this
->assertEquals($apkPackageName, $response
->getApkPackageName());
$this
->assertEquals($score, $response
->getScore());
$this
->assertEquals($action, $response
->getAction());
}
public function provideJson() {
return array(
array(
'{"success": true}',
true,
array(),
null,
null,
null,
null,
null,
),
array(
'{"success": true, "hostname": "google.com"}',
true,
array(),
'google.com',
null,
null,
null,
null,
),
array(
'{"success": false, "error-codes": ["test"]}',
false,
array(
'test',
),
null,
null,
null,
null,
null,
),
array(
'{"success": false, "error-codes": ["test"], "hostname": "google.com"}',
false,
array(
'test',
),
'google.com',
null,
null,
null,
null,
),
array(
'{"success": false, "error-codes": ["test"], "hostname": "google.com", "challenge_ts": "timestamp", "apk_package_name": "apk", "score": "0.5", "action": "action"}',
false,
array(
'test',
),
'google.com',
'timestamp',
'apk',
0.5,
'action',
),
array(
'{"success": true, "error-codes": ["test"]}',
true,
array(),
null,
null,
null,
null,
null,
),
array(
'{"success": true, "error-codes": ["test"], "hostname": "google.com"}',
true,
array(),
'google.com',
null,
null,
null,
null,
),
array(
'{"success": false}',
false,
array(
ReCaptcha::E_UNKNOWN_ERROR,
),
null,
null,
null,
null,
null,
),
array(
'{"success": false, "hostname": "google.com"}',
false,
array(
ReCaptcha::E_UNKNOWN_ERROR,
),
'google.com',
null,
null,
null,
null,
),
array(
'BAD JSON',
false,
array(
ReCaptcha::E_INVALID_JSON,
),
null,
null,
null,
null,
null,
),
);
}
public function testIsSuccess() {
$response = new Response(true);
$this
->assertTrue($response
->isSuccess());
$response = new Response(false);
$this
->assertFalse($response
->isSuccess());
$response = new Response(true, array(), 'example.com');
$this
->assertEquals('example.com', $response
->getHostName());
}
public function testGetErrorCodes() {
$errorCodes = array(
'test',
);
$response = new Response(true, $errorCodes);
$this
->assertEquals($errorCodes, $response
->getErrorCodes());
}
public function testGetHostname() {
$hostname = 'google.com';
$errorCodes = array();
$response = new Response(true, $errorCodes, $hostname);
$this
->assertEquals($hostname, $response
->getHostname());
}
public function testGetChallengeTs() {
$timestamp = 'timestamp';
$errorCodes = array();
$response = new Response(true, array(), 'hostname', $timestamp);
$this
->assertEquals($timestamp, $response
->getChallengeTs());
}
public function TestGetApkPackageName() {
$apk = 'apk';
$response = new Response(true, array(), 'hostname', 'timestamp', 'apk');
$this
->assertEquals($apk, $response
->getApkPackageName());
}
public function testGetScore() {
$score = 0.5;
$response = new Response(true, array(), 'hostname', 'timestamp', 'apk', $score);
$this
->assertEquals($score, $response
->getScore());
}
public function testGetAction() {
$action = 'homepage';
$response = new Response(true, array(), 'hostname', 'timestamp', 'apk', '0.5', 'homepage');
$this
->assertEquals($action, $response
->getAction());
}
public function testToArray() {
$response = new Response(true, array(), 'hostname', 'timestamp', 'apk', '0.5', 'homepage');
$expected = array(
'success' => true,
'error-codes' => array(),
'hostname' => 'hostname',
'challenge_ts' => 'timestamp',
'apk_package_name' => 'apk',
'score' => 0.5,
'action' => 'homepage',
);
$this
->assertEquals($expected, $response
->toArray());
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ResponseTest:: |
public | function | ||
ResponseTest:: |
public | function | @dataProvider provideJson | |
ResponseTest:: |
public | function | ||
ResponseTest:: |
public | function | ||
ResponseTest:: |
public | function | ||
ResponseTest:: |
public | function | ||
ResponseTest:: |
public | function | ||
ResponseTest:: |
public | function | ||
ResponseTest:: |
public | function | ||
ResponseTest:: |
public | function |