luis-mocker
Version:
Http mocking for Luis.ai
28 lines • 2.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const nock = require("nock");
const url = require("url");
class LuisMocker {
constructor(baseUrl) {
this.baseUrl = baseUrl;
}
static getUtteranceUrl(baseUrl, utterance) {
const uri = url.parse(baseUrl, true);
uri.query.q = utterance || '';
if (uri.search) {
delete uri.search;
}
return url.format(uri);
}
// keep the {} to allow custom extension
mock(utterance, responseBody) {
nock(LuisMocker.getUtteranceUrl(this.baseUrl, utterance))
.get('')
.query((queryParams) => queryParams.q === utterance)
.times(10000000000000)
.reply(200, responseBody);
return this;
}
}
exports.LuisMocker = LuisMocker;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTHVpc01vY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9MdWlzTW9ja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsNkJBQTZCO0FBRTdCLDJCQUEyQjtBQUUzQjtJQUdJLFlBQVksT0FBZTtRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUMzQixDQUFDO0lBRU8sTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFlLEVBQUUsU0FBaUI7UUFDN0QsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUU5QixFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNiLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUN0QixDQUFDO1FBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELHdDQUF3QztJQUNqQyxJQUFJLENBQUMsU0FBaUIsRUFBRSxZQUEyQjtRQUN0RCxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ3BELEdBQUcsQ0FBQyxFQUFFLENBQUM7YUFDUCxLQUFLLENBQUMsQ0FBQyxXQUF3QixLQUFLLFdBQVcsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDO2FBRWhFLEtBQUssQ0FBQyxjQUFjLENBQUM7YUFDckIsS0FBSyxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUU5QixNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSjtBQTdCRCxnQ0E2QkMifQ==