2010-08-13 4 views
1

J'ai un site rails qui permet l'authentification via OAuth (j'utilise Restful Authentication et le Rails OAuth Plugin). Pour m'assurer que cela fonctionne, j'ai fait un site rapide pour agir en tant que consommateur OAuth.Utilisation de Cucumber pour tester mon fournisseur OAuth dans Rails

Toutefois, je souhaite que le test soit autonome dans les fonctions de concombre. Idéalement, cela utiliserait Webrat pour que Cucumber puisse gérer correctement la réinitialisation de la base de données et que je n'aurais pas besoin d'exécuter une instance du serveur pour que les tests de concombre fonctionnent. Cependant, puisque le plugin OAuth (et la gemme sous-jacente) font les requêtes HTTP, je ne peux pas trouver un moyen facile de passer par Webrat sans générer toutes les requêtes moi-même (écrire le code de la gemme OAuth dans mon concombre tester).

Des idées?

Merci

Répondre

2

Bien que l'article ne concerne pas le plug-in OAuth (il est sur le plugin TwitterAuth, qui est juste OAuth, mais portant spécifiquement sur twitter), http://blog.zerosum.org/2009/7/13/twitter-auth-integration-testing a un bon aperçu de ce que vous devez faire. Fondamentalement, vous utilisez une gemme appelée FakeWeb pour bloquer tout accès externe, et duper le concombre en pensant qu'il parle au service externe.

+0

Merci - il peut être un peu plus difficile de simuler un consommateur qu'un fournisseur, mais il semble que c'est ce dont j'avais besoin. –

Questions connexes