[test-only] apiTest. change own password (#4480)

* apiTest. change own password

* fix
This commit is contained in:
Viktor Scharf
2022-08-31 13:02:33 +02:00
committed by GitHub
parent 7d39e02dc4
commit 3b548c9be3
3 changed files with 72 additions and 0 deletions

View File

@@ -523,4 +523,38 @@ class GraphHelper {
}
return \json_encode($payload);
}
/**
* @param string $baseUrl
* @param string $xRequestId
* @param string $user
* @param string $password
* @param string $currentPassword
* @param string $newPassword
*
* @return ResponseInterface
* @throws GuzzleException
*/
public static function changeOwnPassword(
string $baseUrl,
string $xRequestId,
string $user,
string $password,
string $currentPassword,
string $newPassword
): ResponseInterface {
$url = self::getFullUrl($baseUrl, 'me/changePassword');
$payload['currentPassword'] = $currentPassword;
$payload['newPassword'] = $newPassword;
return HttpRequestHelper::sendRequest(
$url,
$xRequestId,
"POST",
$user,
$password,
self::getRequestHeaders(),
\json_encode($payload)
);
}
}

View File

@@ -0,0 +1,17 @@
@api
Feature: an user changes its own password
Scenario Outline: change own password
Given user "Alice" has been created with default attributes and without skeleton files
When the user "Alice" changes its own password "<currentPassword>" to "<newPassword>" using the Graph API
Then the HTTP status code should be "<code>"
Examples:
| currentPassword | newPassword | code |
| 123456 | validPass | 204 |
| 123456 | кириллица | 204 |
| 123456 | | 204 |
| 123456 | ?&^%0 | 204 |
| 123456 | | 400 |
| 123456 | 123456 | 400 |
| wrongPass | 123456 | 500 |
| | validPass | 400 |

View File

@@ -536,4 +536,25 @@ class GraphContext implements Context {
}
}
}
/**
* @When /^the user "([^"]*)" changes its own password "([^"]*)" to "([^"]*)" using the Graph API$/
* @param string $user
* @param string $currentPassword
* @param string $newPassword
*
* @throws GuzzleException
* @throws Exception
*/
public function userChangesOwnPassword(string $user, string $currentPassword, $newPassword): void {
$response = GraphHelper::changeOwnPassword(
$this->featureContext->getBaseUrl(),
$this->featureContext->getStepLineRef(),
$user,
$this->featureContext->getPasswordForUser($user),
$currentPassword,
$newPassword
);
$this->featureContext->setResponse($response);
}
}