70 lines
1.7 KiB
JavaScript
70 lines
1.7 KiB
JavaScript
'use strict';
|
|
|
|
require('co-mocha')(require('mocha')); // monkey patch mocha for generators
|
|
|
|
const request = require('supertest');
|
|
const fs = require('fs');
|
|
|
|
describe.skip('Koa App (HTTP Server) Integration Tests', function() {
|
|
this.timeout(20000);
|
|
|
|
let app, pgpKey1;
|
|
|
|
before(function *() {
|
|
pgpKey1 = fs.readFileSync(__dirname + '/../key1.asc', 'utf8');
|
|
global.testing = true;
|
|
let init = require('../../src/app');
|
|
app = yield init();
|
|
});
|
|
|
|
describe('REST api', () => {
|
|
describe('POST /api/v1/key', () => {
|
|
it('should return 400 for an invalid body', done => {
|
|
request(app.listen())
|
|
.post('/api/v1/key')
|
|
.send({ foo: 'bar' })
|
|
.expect(400)
|
|
.end(done);
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('HKP api', () => {
|
|
describe('GET /pks/add', () => {
|
|
it.skip('should return 200 for a valid request', done => {
|
|
request(app.listen())
|
|
.get('/pks/lookup?op=get&search=0xDBC0B3D92B1B86E9')
|
|
.expect(200)
|
|
.end(done);
|
|
});
|
|
|
|
it('should return 404 if not found', done => {
|
|
request(app.listen())
|
|
.get('/pks/lookup?op=get&search=0xDBC0B3D92A1B86E9')
|
|
.expect(404)
|
|
.end(done);
|
|
});
|
|
});
|
|
|
|
describe('POST /pks/add', () => {
|
|
it('should return 400 for an invalid body', done => {
|
|
request(app.listen())
|
|
.post('/pks/add')
|
|
.type('form')
|
|
.send('keytext=asdf')
|
|
.expect(400)
|
|
.end(done);
|
|
});
|
|
|
|
it('should return 201 for a valid PGP key', done => {
|
|
request(app.listen())
|
|
.post('/pks/add')
|
|
.type('form')
|
|
.send('keytext=' + encodeURIComponent(pgpKey1))
|
|
.expect(201)
|
|
.end(done);
|
|
});
|
|
});
|
|
});
|
|
|
|
}); |