集成测试:: OAuth 2.0登录(Facebook)

时间:2012-10-22 13:20:58

标签: java oauth-2.0 integration-testing facebook-oauth

为了编写集成(端到端)测试集,我需要使用Facebook OAuth 2.0模拟用户登录。通过模拟请求/响应流程,一切运行良好,但我想知道是否有任何(简单)方式在“真实”世界中验证用户。

现在我正考虑在Facebook上创建测试用户,然后使用Apache HTTPClient以使用登录名/密码验证Facebook中的用户,然后保存cookie并在被要求时模拟“点击”“允许”按钮所以。然而,这是一个有点复杂和“硬”的方式,所以我正在寻找一些可用的库,或者可能是FaceBook提供了一些带有假数据的“测试”令牌?

请建议。

1 个答案:

答案 0 :(得分:1)

Resty的帮助下,可以解决任务并创建测试用户( Scala ):

val authToken = resty.text("https://graph.facebook.com/oauth/access_token?client_id=your_app_id" +
  "&client_secret=your_app_secret&grant_type=client_credentials")

val jsonResource: JSONResource = resty.json(
  "https://graph.facebook.com/your_app_id/accounts/test-users?installed=true&name=Abra+Kadabra&" +
    "locale=en_US&permissions=read_stream&method=post&access_token=" + URLEncoder.encode(accessToken.toString.split("=")(1)))

val token = URLEncoder.encode(jsonResource.get("access_token").asInstanceOf[String])

val userId = jsonResource.get("id").asInstanceOf[String]