mirror of
https://github.com/hoernschen/dendrite.git
synced 2025-07-30 21:12:45 +00:00
Add some roomserver UTs (#3067)
Adds tests for `QueryRestrictedJoinAllowed`, `IsServerAllowed` and `PerformRoomUpgrade`. Refactors the `QueryRoomVersionForRoom` method to accept a string and return a `gmsl.RoomVersion` instead of req/resp structs. Adds some more caching for `GetStateEvent` This should also fix #2912 by ignoring state events belonging to other users.
This commit is contained in:
parent
dd5e47a9a7
commit
2475cf4b61
20 changed files with 705 additions and 135 deletions
|
@ -115,14 +115,13 @@ func (t *TxnReq) ProcessTransaction(ctx context.Context) (*fclient.RespSend, *ut
|
|||
if v, ok := roomVersions[roomID]; ok {
|
||||
return v
|
||||
}
|
||||
verReq := api.QueryRoomVersionForRoomRequest{RoomID: roomID}
|
||||
verRes := api.QueryRoomVersionForRoomResponse{}
|
||||
if err := t.rsAPI.QueryRoomVersionForRoom(ctx, &verReq, &verRes); err != nil {
|
||||
util.GetLogger(ctx).WithError(err).Debug("Transaction: Failed to query room version for room", verReq.RoomID)
|
||||
roomVersion, err := t.rsAPI.QueryRoomVersionForRoom(ctx, roomID)
|
||||
if err != nil {
|
||||
util.GetLogger(ctx).WithError(err).Debug("Transaction: Failed to query room version for room", roomID)
|
||||
return ""
|
||||
}
|
||||
roomVersions[roomID] = verRes.RoomVersion
|
||||
return verRes.RoomVersion
|
||||
roomVersions[roomID] = roomVersion
|
||||
return roomVersion
|
||||
}
|
||||
|
||||
for _, pdu := range t.PDUs {
|
||||
|
|
|
@ -72,14 +72,12 @@ type FakeRsAPI struct {
|
|||
|
||||
func (r *FakeRsAPI) QueryRoomVersionForRoom(
|
||||
ctx context.Context,
|
||||
req *rsAPI.QueryRoomVersionForRoomRequest,
|
||||
res *rsAPI.QueryRoomVersionForRoomResponse,
|
||||
) error {
|
||||
roomID string,
|
||||
) (gomatrixserverlib.RoomVersion, error) {
|
||||
if r.shouldFailQuery {
|
||||
return fmt.Errorf("Failure")
|
||||
return "", fmt.Errorf("Failure")
|
||||
}
|
||||
res.RoomVersion = gomatrixserverlib.RoomVersionV10
|
||||
return nil
|
||||
return gomatrixserverlib.RoomVersionV10, nil
|
||||
}
|
||||
|
||||
func (r *FakeRsAPI) QueryServerBannedFromRoom(
|
||||
|
@ -722,11 +720,9 @@ func (t *testRoomserverAPI) QueryServerJoinedToRoom(
|
|||
// Asks for the room version for a given room.
|
||||
func (t *testRoomserverAPI) QueryRoomVersionForRoom(
|
||||
ctx context.Context,
|
||||
request *rsAPI.QueryRoomVersionForRoomRequest,
|
||||
response *rsAPI.QueryRoomVersionForRoomResponse,
|
||||
) error {
|
||||
response.RoomVersion = testRoomVersion
|
||||
return nil
|
||||
roomID string,
|
||||
) (gomatrixserverlib.RoomVersion, error) {
|
||||
return testRoomVersion, nil
|
||||
}
|
||||
|
||||
func (t *testRoomserverAPI) QueryServerBannedFromRoom(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue