First API test

This commit is contained in:
Matthew Bargar 2015-11-17 13:01:45 -05:00
parent bef7c473e0
commit e6100c2f4e
5 changed files with 69 additions and 2 deletions

View file

@ -179,7 +179,8 @@
"portscanner": "1.0.0",
"simple-git": "1.8.0",
"sinon": "1.17.2",
"source-map": "0.4.4"
"source-map": "0.4.4",
"supertest-as-promised": "2.0.2"
},
"engines": {
"node": "0.12.9",

View file

@ -8,6 +8,11 @@ module.exports = function (grunt) {
config: 'test/intern',
reporters: ['Console']
},
dev: {}
dev: {},
api: {
options: {
runType: 'client'
}
}
};
};

View file

@ -24,6 +24,22 @@ module.exports = function (grunt) {
]
},
apiTestServer: {
options: {
wait: false,
ready: /Server running/,
quiet: false,
failOnError: false
},
cmd: /^win/.test(platform) ? '.\\bin\\kibana.bat' : './bin/kibana',
args: [
'--server.port=' + uiConfig.servers.kibana.port,
'--optimize.enabled=false',
'--elasticsearch.url=' + format(uiConfig.servers.elasticsearch),
'--logging.json=false'
]
},
testUIServer: {
options: {
wait: false,

View file

@ -37,6 +37,23 @@ module.exports = function (grunt) {
'intern:dev'
]);
grunt.registerTask('test:api', [
'esvm:ui',
'run:apiTestServer',
'intern:api',
'esvm_shutdown:ui',
'stop:apiTestServer'
]);
grunt.registerTask('test:api:server', [
'esvm:ui',
'run:apiTestServer:keepalive'
]);
grunt.registerTask('test:api:runner', [
'intern:api'
]);
grunt.registerTask('test', function (subTask) {
if (subTask) grunt.fail.fatal(`invalid task "test:${subTask}"`);

View file

@ -0,0 +1,28 @@
define(function (require) {
var bdd = require('intern!bdd');
var config = require('intern').config;
var ScenarioManager = require('intern/dojo/node!../../../fixtures/scenarioManager');
var request = require('intern/dojo/node!supertest-as-promised');
var url = require('intern/dojo/node!url');
bdd.describe('index-patterns API', function () {
var scenarioManager = new ScenarioManager(url.format(config.servers.elasticsearch));
bdd.before(function () {
request = request(url.format(config.servers.kibana) + '/api');
return scenarioManager.load('emptyKibana');
});
bdd.after(function () {
return scenarioManager.unload('emptyKibana');
});
bdd.describe('GET index-patterns', function getIndexPatterns() {
bdd.it('GET should return 200', function return200() {
return request.get('/index-patterns').expect(200);
});
});
});
});