mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-04-26 05:58:27 -05:00
[tests-only][full-ci]Retry listing notifications (#6839)
* Retry listing notifications * use loop instaed * use loop instaed * throw exception * use do while loop
This commit is contained in:
committed by
GitHub
parent
80e7f44604
commit
fb7ba62726
@@ -315,10 +315,26 @@ class NotificationContext implements Context {
|
||||
* @param TableNode $table
|
||||
*
|
||||
* @return void
|
||||
* @throws Exception
|
||||
*/
|
||||
public function userShouldGetANotificationWithMessage(string $user, string $subject, TableNode $table):void {
|
||||
$this->userListAllNotifications($user);
|
||||
$actualMessage = str_replace(["\r", "\n"], " ", $this->filterResponseAccordingToNotificationSubject($subject)->message);
|
||||
$count = 0;
|
||||
// sometimes the test might try to get notification before the notification is created by the server
|
||||
// in order to prevent test from failing because of that try to list the notifications again
|
||||
do {
|
||||
if ($count > 0) {
|
||||
\sleep(1);
|
||||
}
|
||||
$this->featureContext->setResponse(null);
|
||||
$this->userListAllNotifications($user);
|
||||
$this->featureContext->theHTTPStatusCodeShouldBe(200);
|
||||
++$count;
|
||||
} while (!isset($this->filterResponseAccordingToNotificationSubject($subject)->message) && $count <= 5);
|
||||
if (isset($this->filterResponseAccordingToNotificationSubject($subject)->message)) {
|
||||
$actualMessage = str_replace(["\r", "\n"], " ", $this->filterResponseAccordingToNotificationSubject($subject)->message);
|
||||
} else {
|
||||
throw new \Exception("Notification was not found even after retrying for 5 seconds.");
|
||||
}
|
||||
$expectedMessage = $table->getColumnsHash()[0]['message'];
|
||||
Assert::assertSame(
|
||||
$expectedMessage,
|
||||
|
||||
Reference in New Issue
Block a user