Advertisement
Guest User

Untitled

a guest
Dec 10th, 2016
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. "use strict";
  2.  
  3. require('./config');
  4. const {assert, hostname} = require("./commons"),
  5.     request = require('request-promise-native'),
  6.     config = require('../src/config'),
  7.     headers = require('./rest/headers'),
  8.     redisClient = require('../src/session').redisClient;
  9.  
  10. let app, server;
  11.  
  12. describe("http", function() {
  13.  
  14.     before(function(done) {
  15.         app = require('./rest/server');
  16.         server = app.listen(config.port, function() {
  17.             console.log(`Server started on port ${config.port}\n`);
  18.             done();
  19.         });
  20.     });
  21.  
  22.     it(`sould respond on root`, function(done) {
  23.         request({
  24.             uri: `${hostname}/`,
  25.             headers,
  26.             resolveWithFullResponse: true
  27.         }).then(function(res) {
  28.             assert(res.statusCode === 200, `Responded with a ${res.statusCode}`);
  29.             done();
  30.         }).catch(function(err) {
  31.             done(err);
  32.         });
  33.     });
  34.  
  35.     it(`sould authenticate dumbly`, function(done) {
  36.         request({
  37.             uri: `${hostname}/auth/test`,
  38.             qs: {
  39.                 username: 'x',
  40.                 password: 'x', // -> not important'
  41.             },
  42.             headers,
  43.             resolveWithFullResponse: true
  44.         }).then(function(res) {
  45.             console.log(JSON.stringify(res.headers));
  46.             assert(res.statusCode === 200, `Responded with a ${res.statusCode}`);
  47.             let setCookie = res.headers['set-cookie'] || [];
  48.  
  49.             assert(setCookie.filter(
  50.                     function(cookie) {
  51.                         return cookie.search(/connect\.sid=/) > -1
  52.                     }
  53.                 ).length > 0,
  54.                 `headers do not contain connect.sid cookie: ${JSON.stringify(res.headers)}`);
  55.             headers['Cookie'] = res.headers['set-cookie'];
  56.             done();
  57.         }).catch(function(err) {
  58.             done(err);
  59.         });
  60.     });
  61.  
  62.     it(`sould be authenticated`, function(done) {
  63.         request({
  64.             uri: `${hostname}/`,
  65.             headers,
  66.             resolveWithFullResponse: true
  67.         }).then(function(res) {
  68.             console.log(JSON.stringify(res.body));
  69.             assert(res.statusCode === 200, `Responded with a ${res.statusCode}`);
  70.             done();
  71.         }).catch(function(err) {
  72.             done(err);
  73.         });
  74.     });
  75.     after(function() {
  76.         server.close(function() {
  77.             redisClient.quit();
  78.         });
  79.     })
  80.  
  81. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement