`TestRoomCreate` fails if the underlying server fails to deserialise an integer room version instead of validating it

Offen Anfängerfreundlich
#952 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 2 Tagen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
1/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
78/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
go
Bereich
testing-qa

Rechercherichtung

Der fehlgeschlagene Assertion steht im Subtest POST /createRoom rejects attempts to create rooms with numeric versions innerhalb von TestRoomCreate in apidoc_room_create_test.go. Lies nach, wie dieser Test den Schlüssel errcode abgleicht, und wie die anderen Ablehnungsfälle in derselben Datei alternative Codes akzeptieren. Fertig ist es, wenn der Subtest besteht, sobald der Server für eine numerische Raumversion entweder M_NOT_JSON oder M_BAD_JSON zurückgibt, und der Test anschließend erneut ausgeführt wird, um dies zu bestätigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

If a /createRoom request fails to be deserialised into a strongly typed struct because the room version parameter expects a string, but is given an integer, the server will return M_NOT_JSON. However, TestRoomCreate/Parallel/POST_/createRoom_rejects_attempts_to_create_rooms_with_numeric_versions expects M_BAD_JSON instead, which requires that the deserialiser is allowed to ignore incorrect types.

  ❌ TestRoomCreate/Parallel/POST_/createRoom_rejects_attempts_to_create_rooms_with_numeric_versions (FAIL; 230ms)
    apidoc_room_create_test.go:195: MatchResponse key 'errcode' got 'M_NOT_JSON' (type string) want 'M_BAD_JSON' (type string) - http://127.0.0.1:33163/_matrix/client/v3/createRoom => {"errcode":"M_NOT_JSON","error":"failed to parse body as JSON: json: unable to unmarshal JSON number into Go id.RoomVersion within \"/room_version\""}

Accepting M_NOT_JSON and M_BAD_JSON would fix this.

Vorherrschende Sprache
Go
Sterne
101
Forks
73
Ø Merge
1 T. 2 Std.
Gemergte PRs (30 T.)
3

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus matrix-org/complement

Alle Issues in matrix-org/complement

Ähnliche Issues

Weitere Issues zu Go

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.