我是nodejs的新手,我在使用https时遇到了一些问题。 我使用谷歌安全浏览查找API。 此刻我有一个测试(用茉莉花)和一个"测试"快递路线,因为我只有后端我使用邮递员看我的路线如何工作,看到我的服务器的回复。 所以我的问题就出现了,我会向你展示更好的代码。
这是我的"测试"路线:
apiRoutes.route('/test').
//Just for postman manually test
get(function(req, res){
appFunctions.safeBrowser('http://www.38zu.cn',function(callback){
res.send(callback);
});
这里的函数safeBrowser:
var safeBrowser = function(urlToCheck, callback){
if(urlToCheck.toString().substring(0,7) === "http://"){
var apikey = config.APIKEY
var url = "https://sb-ssl.google.com/safebrowsing/api/lookup?client=DimGray&key="+apikey+"&appver=1&pver=3.1&url="+urlToCheck;
https.get(url, function(res) {
res.on('data', function(d) {
callback(d);
});
}).on('error', function(error){
callback("error 1"); //For the moment, must change
});
}
else
callback("error 2"); //For the moment, must change
}
这是我的茉莉花测试
it("check a malware url should return malware", function(done) {
var malwareUrl = 'http://www.38zu.cn';
appFunctions.safeBrowser(malwareUrl, function(callback){
expect(callback).toBe('malware');
done();
});
});
当我使用邮递员手动测试路线" / test"邮差(GET)回复我
malwaree
但是当我通过测试时,我得到了什么:
1) CeckStatus check a malware url should return malware
Message:
Expected { 0 : 109, 1 : 97, 2 : 108, 3 : 119, 4 : 97, 5 : 114, 6 : 101 } to be 'malware'.
Stacktrace:
Error: Expected { 0 : 109, 1 : 97, 2 : 108, 3 : 119, 4 : 97, 5 : 114, 6 : 101 } to be 'malware'.
at D:\GitRepository\UrlShortener2015\dimGray\spec\safeBrowserSpec.js:16:30
at IncomingMessage.<anonymous> (D:\GitRepository\UrlShortener2015\dimGray\backend\handlers\functions.js:38:17)
at emitOne (events.js:77:13)
at IncomingMessage.emit (events.js:169:7)
at IncomingMessage.Readable.read (_stream_readable.js:360:10)
at flow (_stream_readable.js:743:26)
at resume_ (_stream_readable.js:723:3)
at doNTCallback2 (node.js:450:9)
at process._tickCallback (node.js:364:17)
我真的不知道为什么邮递员会给我回复恶意软件&#39;和引导JSON的测试
由于
答案 0 :(得分:0)
看起来回调可能是一个blob?
尝试expect(callback.toString()).toBe('malware');