【问题标题】:Unit testing MobileFirst Platform Java Adapters with OAuth using NodeJS使用 NodeJS 通过 OAuth 对 MobileFirst 平台 Java 适配器进行单元测试
【发布时间】:2015-10-06 18:16:55
【问题描述】:

我正在编写一个 NodeJS 应用程序来测试我编写的 IBM MobileFirst Platform 适配器。我想遵循的方法如下:

  1. http://localhost:10080/AppName/authorization/v1/testtoken 获取测试令牌
  2. 使用此 Bearer 令牌向我的受保护适配器发出经过身份验证的请求。

方法的问题是,当我尝试向 testtoken 端点发出请求时,我收到 HTTP 405 状态错误。但是,同样适用于 PostMan。

有没有办法让它在 NodeJS 应用程序中工作?我正在使用 Request 向 MobileFirst Server 发送请求。

我正在使用 SailsJs 编写我的 NodeJS 应用程序。

【问题讨论】:

  • 这是一个很好的问题,我为你所采取的方法喝彩。 HTTP 405 通常表示“不允许的方法”,这意味着(例如)您在应该使用 PUT 的地方使用 GET,或者 PUT 而不是 POST,或类似的。你在 PostMan 中使用什么动词?您在 NodeJS 测试中使用的是什么动词。你能分享一段代码吗?
  • 谢谢。我发现了问题。我正在发送一个 GET 请求。将其更改为 POST,它现在正在工作。
  • 非常好,也感谢您发布您的代码 - 对其他人来说可能是一个有用的例子。

标签: node.js unit-testing oauth ibm-mobilefirst mobilefirst-adapters


【解决方案1】:

测试令牌操作需要 POST 请求。

request.post('http://localhost:10080/app/authorization/v1/testtoken', function(error, response, body) {
        console.log(response.statusCode);
        if(!error && response.statusCode == 200) {
            console.log(body);
            return res.ok(body);
        } else {
            return res.notFound(error);
        }
    });

在我的例子中,我使用的是 Request,所以上面的代码可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多