Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "use strict";
- require('./config');
- const {assert, hostname} = require("./commons"),
- request = require('request-promise-native'),
- config = require('../src/config'),
- headers = require('./rest/headers'),
- redisClient = require('../src/session').redisClient;
- let app, server;
- describe("http", function() {
- before(function(done) {
- app = require('./rest/server');
- server = app.listen(config.port, function() {
- console.log(`Server started on port ${config.port}\n`);
- done();
- });
- });
- it(`sould respond on root`, function(done) {
- request({
- uri: `${hostname}/`,
- headers,
- resolveWithFullResponse: true
- }).then(function(res) {
- assert(res.statusCode === 200, `Responded with a ${res.statusCode}`);
- done();
- }).catch(function(err) {
- done(err);
- });
- });
- it(`sould authenticate dumbly`, function(done) {
- request({
- uri: `${hostname}/auth/test`,
- qs: {
- username: 'x',
- password: 'x', // -> not important'
- },
- headers,
- resolveWithFullResponse: true
- }).then(function(res) {
- console.log(JSON.stringify(res.headers));
- assert(res.statusCode === 200, `Responded with a ${res.statusCode}`);
- let setCookie = res.headers['set-cookie'] || [];
- assert(setCookie.filter(
- function(cookie) {
- return cookie.search(/connect\.sid=/) > -1
- }
- ).length > 0,
- `headers do not contain connect.sid cookie: ${JSON.stringify(res.headers)}`);
- headers['Cookie'] = res.headers['set-cookie'];
- done();
- }).catch(function(err) {
- done(err);
- });
- });
- it(`sould be authenticated`, function(done) {
- request({
- uri: `${hostname}/`,
- headers,
- resolveWithFullResponse: true
- }).then(function(res) {
- console.log(JSON.stringify(res.body));
- assert(res.statusCode === 200, `Responded with a ${res.statusCode}`);
- done();
- }).catch(function(err) {
- done(err);
- });
- });
- after(function() {
- server.close(function() {
- redisClient.quit();
- });
- })
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement