Ich schreibe RSpec Tests für eine Rails API, die teilweise mit OAuth2 geschützt ist. Ich muss Tests schreiben wieWie schreibe ich RSpec-Tests, die ein OAuth2-Zugriffstoken erfordern?
GET ResourcesController#index
- wenn
access_token
vorgesehen- zeigt eine Liste von Ressourcen
- wenn
access_token
nicht vorgesehen ist- Keine Rückkehr Inhalt
- wenn
und solche Sachen. Ich dachte, ich könnte den Edelstein oauth2 verwenden, aber ich erkannte bald, dass das funktioniert, indem ich tatsächliche HTTP-Anfragen an die Rails-App ausstelle. Ich bin etwas verloren, kann mir jemand in die richtige Richtung zeigen?
EDIT Einige weitere Infos
I Doorkeeper bin mit OAuth2 zu implementieren. Meine Frage hat mit der Tatsache, dass einige Methoden meiner Controller sind versteckt hinter etwas wie die folgenden zu tun:
before_action :doorkeeper_authorize!, only: [:update, :destroy]
, der überprüft das Vorhandensein und Gültigkeit einer Authentifizierungs-Token. Jetzt müssen diese Token in der Datenbank vorhanden sein. Meine Frage ist dann, wie kann ich entweder
- setzte diese Token in der Datenbank (auch bekannt als, wie kann ich eine korrekte Anmeldung innerhalb eines RSpec Tests simulieren) oder
- Trick Pförtner (via Anstoßen?) Denken dass diese Token existieren und gültig sind?
EDIT 2
this gefunden. Fühlen Sie sich frei, Antworten hinzuzufügen, während ich dies lese.
Dank Nic. Ich hatte diese Beispiele gesehen, aber ich konnte nicht herausfinden, wie ich sie in meinen Tests wiederverwenden konnte. Ich fügte meiner Frage einige Details hinzu, hoffentlich verdeutlicht dies meine Position. – Morpheu5
OK, ich bekomme, wie ich das Token als gültig simulieren kann, aber was, wenn ich sicherstellen möchte, dass meine Controller sich nicht benehmen, wenn das Token nicht gültig ist, oder für einen Benutzer gültig ist, der nicht berechtigt ist, bestimmte durchzuführen Aktionen? – Morpheu5
Mit 'akzeptabel? => falsch? –