2012-10-22 102 views
0

为了编写集成测试集合(end-2-end)测试,我需要模拟用户登录Facebook OAuth 2.0。嘲笑请求/响应流程一切正常,但我想知道是否有任何(简单)在“真实”世界中验证用户的方式。集成测试:: OAuth 2.0登录(Facebook)

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

请指教。

回答

1

随着Resty帮助就可以解决的任务和创建测试用户(斯卡拉):

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]