ci: test basic application response of the docker build

Note by muxator:
This commit introduced a copied & modified version of the testing files
loadSettings.js and pad.js.

It's Christmas night, and we want to shipt this feature, so I merged it anyway,
adding a note in both the original and copied files so that hopefully someone
in the distant future is going to merge them back again.
This commit is contained in:
Pierre Prinetti 2019-12-03 23:14:00 +01:00 committed by muxator
parent 69fd393708
commit 92f07a544b
6 changed files with 91 additions and 4 deletions

View file

@ -0,0 +1,38 @@
/*
* ACHTUNG: this file was copied & modified from the analogous
* <basedir>/tests/backend/specs/api/pad.js
*
* TODO: unify those two files, and merge in a single one.
*/
const supertest = require(__dirname+'/../../../../src/node_modules/supertest');
const settings = require(__dirname+'/../../loadSettings').loadSettings();
const api = supertest('http://'+settings.ip+":"+settings.port);
var apiVersion = 1;
describe('Connectivity', function(){
it('can connect', function(done) {
api.get('/api/')
.expect('Content-Type', /json/)
.expect(200, done)
});
})
describe('API Versioning', function(){
it('finds the version tag', function(done) {
api.get('/api/')
.expect(function(res){
if (!res.body.currentVersion) throw new Error("No version set in API");
return;
})
.expect(200, done)
});
})
describe('Permission', function(){
it('errors with invalid APIKey', function(done) {
api.get('/api/'+apiVersion+'/createPad?apikey=wrong_password&padID=test')
.expect(401, done)
});
})