From 1e9c21e0c96118b0f2b4017e4c082868cf4058be Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 9 Mar 2021 08:28:08 +0100 Subject: [PATCH] Fix removing yourself and promoting a stranger Signed-off-by: Joas Schilling --- lib/Controller/RoomController.php | 3 +-- tests/integration/features/bootstrap/FeatureContext.php | 4 +++- tests/integration/features/conversation/one-to-one.feature | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/Controller/RoomController.php b/lib/Controller/RoomController.php index fbe1634d079..a7774d0534a 100644 --- a/lib/Controller/RoomController.php +++ b/lib/Controller/RoomController.php @@ -1189,8 +1189,7 @@ public function removeAttendeeFromRoom(int $attendeeId): DataResponse { } if ($this->participant->getAttendee()->getId() === $targetParticipant->getAttendee()->getId()) { - // FIXME switch to removeSelfFromRoomLogic() - return new DataResponse([], Http::STATUS_FORBIDDEN); + return $this->removeSelfFromRoomLogic($this->room, $targetParticipant); } if ($targetParticipant->getAttendee()->getParticipantType() === Participant::OWNER) { diff --git a/tests/integration/features/bootstrap/FeatureContext.php b/tests/integration/features/bootstrap/FeatureContext.php index 45001b263c0..6cb88c67d38 100644 --- a/tests/integration/features/bootstrap/FeatureContext.php +++ b/tests/integration/features/bootstrap/FeatureContext.php @@ -1010,7 +1010,9 @@ public function userAddAttendeeToRoom(string $user, string $newType, string $new * @param string $apiVersion */ public function userPromoteDemoteInRoom(string $user, string $isPromotion, string $participant, string $identifier, int $statusCode, string $apiVersion): void { - if (strpos($participant, 'guest') === 0) { + if ($participant === 'stranger') { + $attendeeId = 123456789; + } elseif (strpos($participant, 'guest') === 0) { $sessionId = self::$userToSessionId[$participant]; $attendeeId = $this->getAttendeeId('guests', sha1($sessionId), $identifier, $statusCode === 200 ? $user : null); } else { diff --git a/tests/integration/features/conversation/one-to-one.feature b/tests/integration/features/conversation/one-to-one.feature index d32c55ffce1..2a07265aef3 100644 --- a/tests/integration/features/conversation/one-to-one.feature +++ b/tests/integration/features/conversation/one-to-one.feature @@ -125,7 +125,7 @@ Feature: one-to-one And user "participant1" is participant of room "room10" (v4) And user "participant3" is not participant of room "room10" (v4) And user "participant1" loads attendees attendee ids in room "room10" (v4) - When user "participant1" promotes "participant3" in room "room10" with 404 (v4) + When user "participant1" promotes "stranger" in room "room10" with 404 (v4) Scenario: User1 invites user2 to a one2one room and demote non-invited user Given user "participant1" creates room "room11" (v4) @@ -134,7 +134,7 @@ Feature: one-to-one And user "participant1" is participant of room "room11" (v4) And user "participant3" is not participant of room "room11" (v4) And user "participant1" loads attendees attendee ids in room "room11" (v4) - When user "participant1" demotes "participant3" in room "room11" with 404 (v4) + When user "participant1" demotes "stranger" in room "room11" with 404 (v4) Scenario: User1 invites user2 to a one2one room twice, it's the same room Given user "participant1" creates room "room12" (v4)