From 0237a5eb73c55e63696000c29b1b38d36178184e Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Mon, 9 May 2022 20:00:07 -0500 Subject: [PATCH 1/3] Add test to make sure /messages behaves as expected for non-existent room_ids Tests for Synapse regression fix: https://github.com/matrix-org/synapse/pull/12683 Issue: https://github.com/matrix-org/synapse/issues/12678 --- tests/csapi/room_messages_test.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/csapi/room_messages_test.go b/tests/csapi/room_messages_test.go index e5410668..a57e1e1f 100644 --- a/tests/csapi/room_messages_test.go +++ b/tests/csapi/room_messages_test.go @@ -59,6 +59,25 @@ func TestSendAndFetchMessage(t *testing.T) { }) } +// With a non-existent room_id, GET /rooms/:room_id/messages returns 403 +// forbidden. +func TestFetchMessagesFromNonExistentRoom(t *testing.T) { + runtime.SkipIf(t, runtime.Dendrite) // flakey + deployment := Deploy(t, b.BlueprintAlice) + defer deployment.Destroy(t) + + alice := deployment.Client(t, "hs1", "@alice:hs1") + roomID := "!does-not-exist:hs1" + + // then request messages from the room + queryParams := url.Values{} + queryParams.Set("dir", "b") + res := alice.DoFunc(t, "GET", []string{"_matrix", "client", "r0", "rooms", roomID, "messages"}, client.WithQueries(queryParams)) + must.MatchResponse(t, res, match.HTTPResponse{ + StatusCode: http.StatusForbidden, + }) +} + // sytest: PUT /rooms/:room_id/send/:event_type/:txn_id sends a message // sytest: PUT /rooms/:room_id/send/:event_type/:txn_id deduplicates the same txn id func TestSendMessageWithTxn(t *testing.T) { From 0115c7281c2794ff58c21d9f6ca2ab7b77a8a46c Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Mon, 9 May 2022 20:03:08 -0500 Subject: [PATCH 2/3] Explain why 403 --- tests/csapi/room_messages_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/csapi/room_messages_test.go b/tests/csapi/room_messages_test.go index a57e1e1f..70a5ef38 100644 --- a/tests/csapi/room_messages_test.go +++ b/tests/csapi/room_messages_test.go @@ -60,7 +60,7 @@ func TestSendAndFetchMessage(t *testing.T) { } // With a non-existent room_id, GET /rooms/:room_id/messages returns 403 -// forbidden. +// forbidden ("You aren't a member of the room"). func TestFetchMessagesFromNonExistentRoom(t *testing.T) { runtime.SkipIf(t, runtime.Dendrite) // flakey deployment := Deploy(t, b.BlueprintAlice) From eff19fc10bca45a374abfe0be7ff3610eb07cc0e Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Mon, 9 May 2022 20:05:50 -0500 Subject: [PATCH 3/3] Remove dendrite skip --- tests/csapi/room_messages_test.go | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/csapi/room_messages_test.go b/tests/csapi/room_messages_test.go index 70a5ef38..eba09ca8 100644 --- a/tests/csapi/room_messages_test.go +++ b/tests/csapi/room_messages_test.go @@ -62,7 +62,6 @@ func TestSendAndFetchMessage(t *testing.T) { // With a non-existent room_id, GET /rooms/:room_id/messages returns 403 // forbidden ("You aren't a member of the room"). func TestFetchMessagesFromNonExistentRoom(t *testing.T) { - runtime.SkipIf(t, runtime.Dendrite) // flakey deployment := Deploy(t, b.BlueprintAlice) defer deployment.Destroy(t)