Tag: superagent

如何使用相同的查询参数发送带superagent的请求

我试图做一个PHP服务器,这是构build这样的url的请求: website.com/?q=help&q=moreHelp&q=evenMoreHelp 如何使用superagent将多个值传递给相同的查询? 我试过这个: req.get( 'website.com')查询({Q: '救命',问: 'moreHelp',问: 'evenMoreHelp'})。结束(…) 但我不确定它实际上是发送所有三个'Q'值。 我该怎么做,以确保他们都被发送?

尝试使用node.js supertest发布multipart / form-data

我试图使用Node.js supertest来testing我写的一些REST API。 我需要发送一个相当于以下CURL请求的请求: curl -X POST -F api_key=KEY -F image=@my_file http://localhost:3000/v1/upload 我尝试了以下,但我得到了Uncaught TypeError: first argument must be a string or Buffer 。 request.post('/v1/upload') .type('form') .field('api_key', 'abcd') .attach('image', 'some path') .end(function(err, res) { res.body.error.should.equal('Invalid username/api_key.'); done(); }); 我也尝试发送这样的: request.post('/v1/upload') .type('form') .field('api_key', 'abcd') .attach('image', 'some path') .end(function(err, res) { res.body.error.should.equal('Invalid username/api_key.'); done(); }); 但服务器只能parsingfile upload请求,而不能parsingapi_key 。

ECONNFUSED在应用程序中进行GET请求时,API成功返回JSON

我正在用React编写节点应用程序,使用node-postgres和superagent进行后端调用。 比方说,我正在做一个GET请求,并使用返回的JSON来填充学生表。 我的API看起来像这样: import pg from 'pg'; import Router from 'express'; let router = new Router(); let conString = "postgres://user:pass@localhost/db_name"; router.get('/getStudents', function(req, res) { var results = []; pg.connect(conString, function(err, client, done) { if (err) { done(); console.log(err); return res.status(500).json({success: false, data: err}); } var query = client.query('SELECT first_name, last_name, email FROM students'); query.on('row', function(row) […]

用SailsJS和Superagent运行摩卡testing

我目前正在使用SailsJS编写一个应用程序。 到目前为止所做的工作都是按照“手动”进行testing,但是在使用Mocha进行testing时没有发生。 我试图按照SailsJStesting指南 ,用npm调用testing: […] "scripts": { "start": "node app.js", "debug": "node debug app.js", "test": "mocha test/bootstrap.test.js test/unit/**/*.test.js" }, […] 我的testing目录结构如下: test ├── bootstrap.test.js ├── mocha.opts └── unit └── controllers └── UserController.test.js boostrap.test.js: var Sails = require('sails'); var sails; before(function(done) { Sails.lift(function(err, server) { sails = server; if (err) return done(err); done(err, sails); }); }); […]

摩卡testing:未捕获TypeError:无法读取null的属性“状态”

学习TDD和我的“Hello World”服务器响应的第一个简单testing在Mocha中是失败的。 我正在使用Mocha.js,Superagent和Expect.js。 当我curl -i localhost:8080 ,我得到正确的响应和状态代码。 HTTP/1.1 200 OK Content-Type: text/plain Date: Mon, 27 Apr 2015 17:55:36 GMT Connection: keep-alive Transfer-Encoding: chunked Hello World testing代码: var request = require('superagent'); var expect = require('expect.js'); // Test structure describe('Suite one', function(){ it("should get a response that contains World",function(done){ request.get('localhost:8080').end(function(res){ // TODO check that response is okay […]

我怎样才能pipe图像file upload与superagent端点?

/** * Request png */ var request = require('superagent') var req = request.get('http://example.com/original/' + id + '.png'); req.end(function(response){ // Here i want send responsed image to another server req.post('http://upload-example.com').attach('???') }) 我怎样才能pipe图像file upload端点? 我在nodejs env中使用最新版本的superagent。

在摩卡testing中使用Superagent / Supertest和Express app

我正在尝试使用Mocha为我正在开发的REST API编写testing。 我发现Superagent让我做HTTP请求。 我正在使用一个Express应用程序,我将它传递给Superagent,但是当试图以这种方式传递Express应用程序来运行这些testing时,我得到关于Mongoose的奇怪错误。 这是我的testing代码: var // Node modules mongoose = require('mongoose') , async = require('async') , should = require('should') , request = require('superagent') , app = require('../../app_mocked') , Link = mongoose.model('Link') request = request(app) describe('Links resource', function () { var userId = '50dc81654dca01006b000005' , linkId , sampleLink = { 'uri': 'http://test.com/', 'meta': { 'title': […]

testingAPI如何使用node.js处理无效的JSON语法请求主体

我想testing一个REST API如何处理一个具有无效JSON语法的主体的POST请求,例如一个缺less的逗号。 我正在使用node.js来编写APItesting。 我正在使用弗里斯比,但我也尝试超级 。 没有运气。 使用以前的工具,您将请求主体作为JavaScript对象传递,所以不行。 我也试图通过无效的JSON作为一个string没有任何运气,因为一个string也是有效的JSON(下面的例子)。 有任何想法吗? frisby.create('Ensure response has right status') .post('http://example.com/api/books', '{"invalid"}', {json: true}) .expectStatus(400) .toss();

如何使用node.js superagent发布multipart / form-data

我试图把我的superagent post请求中的内容types发送给multipart / form-data。 var myagent = superagent.agent(); myagent .post('http://localhost/endpoint') .set('api_key', apikey) .set('Content-Type', 'multipart/form-data') .send(fields) .end(function(error, response){ if(error) { console.log("Error: " + error); } }); 我得到的错误是:TypeError:参数必须是一个string 如果我删除: .set('Content-Type', 'multipart/form-data') 我没有得到任何错误,但我的后端接收请求作为内容types:application / json 我如何强制内容types为multipart / form-data,以便我可以访问req.files()?

确保快速应用程序在每个摩卡testing之前运行

我正在使用ExpressJS,NodeJS,Mongoose和Mocha开发REST API。 问题是我有一个app.coffee文件,负责设置ExpressJS并连接到Mongoose。 我设置的方式是,首先连接Mongoose,如果通过,则启动ExpressJS App。 问题是,在设置Mocha时,我需要确保app.coffee中存在的ExpressJS App在执行任何testing用例之前已经成功启动,包括所有asynchronous代码。 为此,我创build了一个test_helper.coffee,并在其中放置了下面的代码,但是,即使app.coffee中的代码还没有完全完成它的执行,testing用例也会开始执行,这实际上是有意义的: before (done) -> require(__dirname + '/../src/app') done() 简而言之,我想确保ExpressJS应用程序在执行任何testing用例之前已完全完成设置。 我怎么能做到这一点?