我正在使用Mocha编写Javascript测试用例。我的代码完全像这样apigee
此javascript部署在apigee云中。它可以访问平台变量。这是myscript my-code.js
var responseCode = parseInt(context.getVariable(properties.source));
var log = {
org: context.getVariable(organization.name),
env: context.getVariable(environment.name),
responseCode: responseCode,
isError: (responseCode >= 400)
};
if (log.isError) {
log.errorMessage = context.getVariable(flow.error.message);
}
var logglyRequest = new Request(
'https://loggly.com/aaa',
'POST',
{'Content-Type': 'application/json'},
JSON.stringify(log)
);
httpClient.send(logglyRequest);
javascript代码将在运行时访问properties.source。 Apigee平台具有jc如何访问这些参数的内部方法。我的问题是,如果我正在为此jc编写测试用例,我将如何模拟properties.source的值。我能够模拟函数调用context.getVariable()。我收到ReferenceError:属性未定义。给定的apigee链接中的测试脚本相同。
答案 0 :(得分:0)
尝试在测试中添加以下内容:
global.properties = {
source: 'jwt.Decode-IAM-JWT.decoded.header.kid'
};
这就是我所做的,而且效果很好。