mirror of
https://github.com/moodle/moodle.git
synced 2025-03-22 16:40:07 +01:00
MDL-77990 enrol_lti: test covering the response header parsing
Makes sure the http_client shim properly returns the correct, final http headers, not intermediate headers such as 302, 100 etc.
This commit is contained in:
parent
176a323b4e
commit
159a131989
@ -24,7 +24,7 @@ namespace enrol_lti\local\ltiadvantage\lib;
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @coversDefaultClass \enrol_lti\local\ltiadvantage\lib\http_client
|
||||
*/
|
||||
class http_client_test extends \basic_testcase {
|
||||
class http_client_test extends \advanced_testcase {
|
||||
|
||||
/**
|
||||
* Verify the http_client delegates to curl during a "GET" request.
|
||||
@ -116,4 +116,17 @@ class http_client_test extends \basic_testcase {
|
||||
'delete' => ['DELETE'],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify that the response headers are properly read from curl, and exclude things like redirect headers, or 100-continues.
|
||||
* @covers ::request
|
||||
*/
|
||||
public function test_header_parsing(): void {
|
||||
$testurl = $this->getExternalTestFileUrl('/test_redir.php');
|
||||
$client = new http_client(new \curl());
|
||||
$response = $client->request('POST', "$testurl?redir=1",
|
||||
['headers' => ['Expect' => '100-continue'], 'body' => 'foo']);
|
||||
$headers = $response->getHeaders();
|
||||
$this->assertEquals('200 OK', reset($headers));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user