File size: 2,115 Bytes
befd7da |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
'use strict';
var assert = require('assert');
var express = require('express');
var bodyParser = require('body-parser');
var request = require('supertest');
var proxy = require('../');
describe('http verbs', function () {
this.timeout(10000);
var app;
beforeEach(function () {
app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(proxy('httpbin.org'));
});
it('test proxy get', function (done) {
request(app)
.get('/get')
.end(function (err, res) {
if (err) { return done(err); }
assert(/httpbin.org/.test(res.body.headers['Host']));
assert.equal(res.body.url, 'http://httpbin.org/get');
done(err);
});
});
it('test proxy post', function (done) {
request(app)
.post('/post')
.send({
mypost: 'hello'
})
.end(function (err, res) {
assert.equal(res.body.data, '{"mypost":"hello"}');
done(err);
});
});
it('test proxy post by x-www-form-urlencoded', function (done) {
request(app)
.post('/post')
.set('Content-Type', 'application/x-www-form-urlencoded')
.send('mypost=hello')
.end(function (err, res) {
assert.equal(JSON.stringify(res.body.form), '{"mypost":"hello"}');
done(err);
});
});
it('test proxy put', function (done) {
request(app)
.put('/put')
.send({
mypost: 'hello'
})
.end(function (err, res) {
assert.equal(res.body.data, '{"mypost":"hello"}');
done(err);
});
});
it('test proxy patch', function (done) {
request(app)
.patch('/patch')
.send({
mypost: 'hello'
})
.end(function (err, res) {
assert.equal(res.body.data, '{"mypost":"hello"}');
done(err);
});
});
it('test proxy delete', function (done) {
request(app)
.del('/delete')
.send({
mypost: 'hello'
})
.end(function (err, res) {
assert.equal(res.body.data, '{"mypost":"hello"}');
done(err);
});
});
});
|