Ruby on Rails和Twitter OAuth的测试策略

8 ruby twitter ruby-on-rails oauth

我正在开发一个利用twitter oauth的应用程序,并试图找出如何测试twitter oauth的砖墙.特别是尝试使用Cucumber和Webrat/Selenium来测试功能 - 如果用户已经提供了对应用程序的oauth访问权限,则注册/登录过程中的某些步骤会有不同的行为.

有没有人在他们的Ruby on Rails Cucumber功能(或任何其他测试框架)中有任何成功模拟或存根部分或所有Twitter OAuth系统的成功?任何帮助,将不胜感激.

Luc*_*caM 2

我对 twitter 没有精确的秘诀(直到现在还没有完全做到这一点),但考虑到 OAuth 有一个描述不同可能流程的规范,我会尝试针对手头的情况枚举每个流程,并尝试自动化相互作用。

为了指导您,这里有一些相关信息的提示:

通常,无论用户是否未向客户端应用程序授予授权,基于 Web 的流程都会有所不同(如您所见):

  • 如果用户尚未向客户端应用程序授予授权,则客户端应用程序将被重定向到服务提供商站点
    • 在服务提供商处,如果用户尚未登录,则需要使用其凭据进行身份验证
    • 一旦在服务提供商处进行了身份验证,就需要向客户端应用程序/服务授权或拒绝授权
    • 一旦他给出授权响应,它就会被发送回客户端站点,然后客户端站点可以获得访问令牌
  • 如果用户已经授权客户端应用程序/服务,那么它可以使用访问令牌绕过这些步骤并在服务提供商处访问用户的数据/API