Skip to content

Commit

Permalink
[short url] Add server tests
Browse files Browse the repository at this point in the history
  • Loading branch information
jbudz committed Mar 21, 2016
1 parent 49d297f commit a612a0e
Showing 1 changed file with 68 additions and 22 deletions.
90 changes: 68 additions & 22 deletions src/server/http/__tests__/index.js
Original file line number Diff line number Diff line change
@@ -1,41 +1,87 @@
import expect from 'expect.js';
import * as kbnTestServer from '../../../../test/utils/kbn_server';
import fromRoot from '../../../utils/from_root';

describe('routes', function () {
this.slow(10000);
this.timeout(60000);

describe('cookie validation', function () {
let kbnServer;
beforeEach(function () {
kbnServer = kbnTestServer.createServer();
kbnServer = kbnTestServer.createServer({
plugins: {
scanDirs: [
fromRoot('src/plugins')
]
}
});
return kbnServer.ready();
});
afterEach(function () {
return kbnServer.close();
});

it('allows non-strict cookies', function (done) {
const options = {
method: 'GET',
url: '/',
headers: {
cookie: 'test:80=value;test_80=value'
}
};
kbnTestServer.makeRequest(kbnServer, options, (res) => {
expect(res.payload).not.to.contain('Invalid cookie header');
done();
describe('cookie validation', function () {
it('allows non-strict cookies', function (done) {
const options = {
method: 'GET',
url: '/',
headers: {
cookie: 'test:80=value;test_80=value'
}
};
kbnTestServer.makeRequest(kbnServer, options, (res) => {
expect(res.payload).not.to.contain('Invalid cookie header');
done();
});
});

it('returns an error if the cookie can\'t be parsed', function (done) {
const options = {
method: 'GET',
url: '/',
headers: {
cookie: 'a'
}
};
kbnTestServer.makeRequest(kbnServer, options, (res) => {
expect(res.payload).to.contain('Invalid cookie header');
done();
});
});
});

it('returns an error if the cookie can\'t be parsed', function (done) {
const options = {
method: 'GET',
url: '/',
headers: {
cookie: 'a'
describe('url shortener', () => {
const shortenOptions = {
method: 'POST',
url: '/shorten',
payload: {
url: '/app/kibana#/visualize/create'
}
};
kbnTestServer.makeRequest(kbnServer, options, (res) => {
expect(res.payload).to.contain('Invalid cookie header');
done();

it('generates shortened urls', (done) => {
kbnTestServer.makeRequest(kbnServer, shortenOptions, (res) => {
expect(typeof res.payload).to.be('string');
expect(res.payload.length > 0).to.be(true);
done();
});
});

it('redirects shortened urls', (done) => {
kbnTestServer.makeRequest(kbnServer, shortenOptions, (res) => {
const gotoOptions = {
method: 'GET',
url: '/goto/' + res.payload
};
kbnTestServer.makeRequest(kbnServer, gotoOptions, (res) => {
expect(res.statusCode).to.be(302);
expect(res.headers.location).to.be(shortenOptions.payload.url);
done();
});
});
});

});

});

0 comments on commit a612a0e

Please sign in to comment.