Skip to content
Snippets Groups Projects
Commit 184742e6 authored by Daniel Calviño Sánchez's avatar Daniel Calviño Sánchez
Browse files

Make possible to set body in requesttoken requests in integration tests


"sendingAToWithRequesttoken" needs to be used to test some non OCS
endpoints which require the request token to be sent in the request. Now
it is possible to specify the body (or, rather, additional contents
beside the cookies and the request token) for those requests, as it will
be needed for example to upload an avatar.

Signed-off-by: default avatarDaniel Calviño Sánchez <danxuliu@gmail.com>
parent b553b43b
No related branches found
No related tags found
No related merge requests found
......@@ -307,21 +307,31 @@ trait BasicStructure {
* @When Sending a :method to :url with requesttoken
* @param string $method
* @param string $url
* @param TableNode|array|null $body
*/
public function sendingAToWithRequesttoken($method, $url) {
public function sendingAToWithRequesttoken($method, $url, $body = null) {
$baseUrl = substr($this->baseUrl, 0, -5);
$options = [
'cookies' => $this->cookieJar,
'headers' => [
'requesttoken' => $this->requestToken
],
];
if ($body instanceof TableNode) {
$fd = $body->getRowsHash();
$options['form_params'] = $fd;
} elseif ($body) {
$options = array_merge($options, $body);
}
$client = new Client();
try {
$this->response = $client->request(
$method,
$baseUrl . $url,
[
'cookies' => $this->cookieJar,
'headers' => [
'requesttoken' => $this->requestToken
]
]
$options
);
} catch (ClientException $e) {
$this->response = $e->getResponse();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment