Mocking Oauth-Provider beim testen

Habe ich eine app, die ich Schreibe, die authentifiziert gegen einen Oauth-2.0 Zulassung-server. Ich würde es gerne testen die Teile, die sind nur zugänglich, nachdem Sie eingeloggt haben, aber die Oauth-server ist eine externe Abhängigkeit, erschwert und machen Sie spröde meiner tests.

Irgendwelche Vorschläge, wie sollte ich dies angehen? Was die Praktiken der Industrie für so etwas? Mein Bauchgefühl ist irgendwie mock aus dem server, so dass es ermöglicht den Zugriff auf die geschützten Ressourcen.

Falls es eine Rolle spielt, dies ist eine Python-webapp geschrieben, mit Kolben.

Ich bin mit einem custom oauth-server die laufen auf meiner eigenen domain-und zwar ist es möglich, eine Art sandboxing-Funktionalität als FoxMask vorgeschlagen hat, würde ich viel lieber in der Lage, um den test auszuführen, ohne dass ein extra server läuft.

  • in der Regel, die "externe" Oauth (like-for-service Twitter, Evernote etc.) bieten eine sanbox, um unsere tests. Haben Sie eine gefunden, die für diesen Zweck ?
  • Aber Sie würde immer noch verlangen, dass Sie zur Authentifizierung gegen Sie? Nur, dass Sie senden Sie dummy-Anmeldeinformationen für den test?
  • ja natürlich, Sie verlangen, dass. ja, Sie kehrte ein dummy-Anmeldeinformationen oder gleichwertig. Evernote, zum Beispiel, bietet spezielle Tasten für test-Zwecke nur. Und das funktioniert der trick zu beenden, unsere dev mit der API. Sobald Sie locken Sie Ihre dev zu schieben in der Produktion, bekommen Sie die neuen api-Schlüssel für die Produktion.
  • Meine Oauth2 provider ist ein custom server, das läuft auf meinem Rechner. Ich könnte diese Funktionalität hinzufügen, aber ich würde viel lieber in der Lage, um die tests auszuführen, ohne sogar zu müssen, eine tatsächliche Ausführung Oauth-server.
  • Ich sehe, Sie sollten begonnen haben, durch diese details. Hätte ich vermieden, darüber zu sprechen nutzlose Dinge für Euch 😉 jetzt sind wir Also wieder zum Ausgangspunkt zurückkehren. sorry.
  • Mea Culpa. Ich habe behoben, die Frage zu stellen.
  • So können Sie überprüfen, ob Ihr in DEBUG stellt dann eine gefälschte Antwort von einem mock class wird immer True zurückgeben oder etwas, das Bedeutung, die der Benutzer auth. (das war meine Letzte Antwort, wird der nächste schlage vor, wir starten ein "chat" austauschen.)

Schreibe einen Kommentar