У меня есть mock-сервер (https://github.com/jamesdbloom/mockserver) экземпляр контейнера Docker с некоторым ожиданием, которое должно вернуть шаблон javascript. Было бы намного проще, если бы я мог использовать пакеты npm в этом шаблоне (а именно, faker).js) для генерации хорошего фальшивого ответа.
Mockserver не может разрешить require ('faker'), и я действительно не уверен, почему. Вот что я пробовал до сих пор:
npm install faker
(устанавливает фейкер в / opt / mockserver /) Я пробовал require('faker')
, require('/opt/mockserver/faker')
npm install -g faker
(устанавливает фейкер в /usr / lib /) Я пробовал require('faker')
, require('/usr/lib/faker')
, клонируя репозиторий faker.js и используя его как локальный модуль, который я пробовал require('/opt/mockserver/faker.js')
, require('/opt/mockserver/faker.js/lib')
Все вышеперечисленное не сработало. Неиспользование внешнего модуля работает нормально, но я бы очень хотел решить эту проблему. Mockserver - это не приложение nodejs, и все, что я могнайти в Интернете, как превратить докер в приложение 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"
Спасибо:)