要求模拟服务器docker容器内的npm包(javascript模板响应)不起作用

时间:2019-07-09 14:07:31

标签: javascript docker curl npm mockserver

我有一个模拟服务器(https://github.com/jamesdbloom/mockserver)docker容器实例,期望可以返回一个javascript模板。如果我可以在该模板中使用npm软件包(即faker.js)来生成良好的伪造响应,将会使我的生活变得更加轻松。

mockserver无法解析require('faker'),我不确定为什么。这是我到目前为止尝试过的:

  1. npm install faker(将伪造者安装在/ opt / mockserver /中) 我已经尝试过require('faker')require('/opt/mockserver/faker')

  2. npm install -g faker(在/ usr / lib /中安装fakerr) 我已经尝试过require('faker')require('/usr/lib/faker')

  3. 克隆faker.js存储库并将其用作本地模块 我已经尝试过require('/opt/mockserver/faker.js')require('/opt/mockserver/faker.js/lib')

以上所有方法均无效。不使用外部模块可以正常工作,但我真的很想解决这个问题。模拟服务器不是nodejs应用程序,我在网上只能找到如何将docker转换为nodejs应用程序。

感谢您的帮助

如果有人想尝试一下,这里有一些入门代码

创建期望

curl -v -X PUT "http://localhost:1080/mockserver/expectation" -d '{
    "httpRequest": {
        "path": "/some/path"
    },
    "httpResponseTemplate": {
        "template": "var faker = require('/opt/mockserver/faker.js');\nreturn {'statusCode': 200, 'body': JSON.stringify({'firstName': faker.name.firstName(), 'lastName': faker.name.lastName()})};",
        "templateType": "JAVASCRIPT"
    }
}'

使用此响应模板

var faker = require('/opt/mockserver/faker.js');

return {
    'statusCode': 200,
    'body': JSON.stringify({
        'firstName': faker.name.firstName(),
        'lastName': faker.name.lastName()
    })
};

要验证:

curl -v -X GET "http://localhost:1080/some/path"

谢谢:)

0 个答案:

没有答案