UNPKG

docparse-api

Version:

api server for the docparse project

86 lines (79 loc) 2.39 kB
var mockParse = require('./mockUploadParse.js'); var ce = require('cloneextend'); var mongoose = require('mongoose'); var ObjectId = mongoose.Types.ObjectId; var fs = require('fs'); var path = require('path'); var should = require('should'); var inspect = require('eyespect').inspector(); var assert = require('assert'); var request = require('request'); var server = require('../server'); var port = 5197; var uploadParseRoute = require('../lib/uploadParse'); describe('Parse new upload via api', function() { this.timeout(10*1000); this.slow(2*1000); var filename = 'big.pdf'; var uploadData = { supplierCode: 'FGS', filename: filename }; var scraperServer; var req = { user: { _id: new ObjectId() }, params: { hash: 'foo hash' } }; var logger = { info: function(msg, data) { console.log(msg); }, debug: function(msg, data) { console.log(msg); } }; it('should get 401 unauthorized for anonymous upload parse request', function (done) { var serverData = { port: port }; scraperServer = server(serverData); should.exist(scraperServer); var url = 'http://localhost' + ':' + port + '/api/upload/parse/fooHash'; request(url, function (err, response, body) { scraperServer.close(); scraperServer = null; should.not.exist(err); var statusCode = response.statusCode; statusCode.should.equal(401, 'wrong status code for unauthorized request'); done(); }); }); it('should get error for upload parse request without a hash parameter', function (done) { var testRequest = ce.clone(req); testRequest.params.hash = null; var res = { send: function (data) { data.statusCode.should.eql(409); var msg = data.message; msg.should.eql('upload hash must be the last part of the url like /api/upload/parse/4c3d3d20906f12bb7e492d3644d4248717ed064e'); done(); } }; uploadParseRoute(testRequest, res, {logger: logger, parse: mockParse}); }); it('should process valid upload parse request correctly', function (done) { var testRequest = ce.clone(req); var res = { send: function (data) { should.exist(data); data.should.eql({}); done(); } }; uploadParseRoute(testRequest, res, {logger: logger, parse: mockParse}); }); });