mirror of
https://github.com/nioc/xmpp-bot.git
synced 2024-11-10 03:56:48 +01:00
92 lines
2.4 KiB
JavaScript
92 lines
2.4 KiB
JavaScript
|
/* eslint-disable handle-callback-err */
|
||
|
/* eslint-disable no-undef */
|
||
|
process.env.NODE_ENV = 'production'
|
||
|
// eslint-disable-next-line no-unused-vars
|
||
|
const should = require('chai').should()
|
||
|
let request = require('request')
|
||
|
let server = require('../server')
|
||
|
const baseUrl = 'http://localhost:8000/'
|
||
|
|
||
|
after((done) => {
|
||
|
server.close()
|
||
|
done()
|
||
|
})
|
||
|
|
||
|
describe('Webhook', () => {
|
||
|
options = {
|
||
|
method: 'POST',
|
||
|
url: baseUrl + 'webhooks/',
|
||
|
auth: {
|
||
|
user: 'login1',
|
||
|
pass: '1pass'
|
||
|
}
|
||
|
}
|
||
|
describe('POST unauthorized', () => {
|
||
|
it('Should return 401', (done) => {
|
||
|
request.post(baseUrl, (error, response, body) => {
|
||
|
response.statusCode.should.equal(401)
|
||
|
done()
|
||
|
})
|
||
|
})
|
||
|
})
|
||
|
describe('GET', () => {
|
||
|
it('Should return 405', (done) => {
|
||
|
request.get(baseUrl, { auth: options.auth }, (error, response, body) => {
|
||
|
response.statusCode.should.equal(405)
|
||
|
done()
|
||
|
})
|
||
|
})
|
||
|
})
|
||
|
describe('POST unknown webhook', () => {
|
||
|
it('Should return 404', (done) => {
|
||
|
request(options, (error, response, body) => {
|
||
|
response.statusCode.should.equal(404)
|
||
|
done()
|
||
|
})
|
||
|
})
|
||
|
})
|
||
|
describe('POST dummy webhook', () => {
|
||
|
it('Should return 204', (done) => {
|
||
|
options.url = baseUrl + 'webhooks/dummy'
|
||
|
request(options, (error, response, body) => {
|
||
|
response.statusCode.should.equal(204)
|
||
|
done()
|
||
|
})
|
||
|
})
|
||
|
})
|
||
|
describe('POST missing destination webhook', () => {
|
||
|
it('Should return 400 and error detail', (done) => {
|
||
|
options.url = baseUrl + 'webhooks/w1'
|
||
|
request(options, (error, response, body) => {
|
||
|
response.statusCode.should.equal(400)
|
||
|
response.body.should.equal('Destination not found')
|
||
|
done()
|
||
|
})
|
||
|
})
|
||
|
})
|
||
|
describe('POST missing message webhook', () => {
|
||
|
it('Should return 400 and error detail', (done) => {
|
||
|
options.json = {
|
||
|
destination: 'destination'
|
||
|
}
|
||
|
request(options, (error, response, body) => {
|
||
|
response.statusCode.should.equal(400)
|
||
|
response.body.should.equal('Message not found')
|
||
|
done()
|
||
|
})
|
||
|
})
|
||
|
})
|
||
|
describe('POST valid webhook', () => {
|
||
|
it('Should return 200', (done) => {
|
||
|
options.json = {
|
||
|
destination: 'destination',
|
||
|
message: 'message'
|
||
|
}
|
||
|
request(options, (error, response, body) => {
|
||
|
response.statusCode.should.equal(200)
|
||
|
done()
|
||
|
})
|
||
|
})
|
||
|
})
|
||
|
})
|