Skip to content

Commit

Permalink
upload test redirecting
Browse files Browse the repository at this point in the history
  • Loading branch information
williamnf committed May 2, 2017
1 parent c65f3e1 commit cf128d6
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 39 deletions.
103 changes: 65 additions & 38 deletions test/controllers/project.fileOperations/upload.Test.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ chai.use(chaiHttp);
var fs = require('fs');
var path = require('path');
var async = require('async');
const Config = GLOBAL.Config;

var File = require(Config.absPathInSrcFolder('models/directory_structure/file.js'));
//var File = require(Config.absPathInSrcFolder('models/directory_structure/file.js')).File;

const should = chai.should();

Expand All @@ -18,68 +19,94 @@ const privateProject= require("../../mockdata/projects/private_project.js");

var projectUtils = require('../../utils/project/projectUtils.js');
var userUtils = require('../../utils/user/userUtils.js');
const pdfMockFile= require("../../mockdata/folders/folder.js");


var demouser1 = require("../../mockdata/users/demouser1");
var demouser2 = require("../../mockdata/users/demouser2");
var demouser3 = require("../../mockdata/users/demouser3");

describe('project/' + publicProject.handle + '?upload', function () {
const folder = require(Config.absPathInTestsFolder("mockdata/folders/folder.js"));
var bootup = requireUncached(Config.absPathInTestsFolder("units/bootup.Unit.js"));
var db = requireUncached(Config.absPathInTestsFolder("utils/db/db.Test.js"));

function requireUncached(module) {
delete require.cache[require.resolve(module)]
return require(module)
}

it("[HTML] should not upload file in root without logging in POST", function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
projectUtils.upload(agent, true, '', publicProject.handle, "", function (err, res) {
res.should.have.status(404);
should.exist(err);
err.message.should.equal('Not Found');
describe("Upload data projects", function (done) {
before(function (done) {
this.timeout(60000);
bootup.setup(function (err, res) {
should.equal(err, null);
done();
});
});
describe('project/' + publicProject.handle + '?upload', function () {

it("[HTML] should not upload file in root without being creator nor contributor POST", function (done) {
userUtils.loginUser(demouser3.username, demouser3.password, function (err, agent) {
it("[HTML] should not upload file in root without logging in POST", function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
projectUtils.upload(agent, true, '', publicProject.handle, "", function (err, res) {
res.should.have.status(404);
should.exist(err);
err.message.should.equal('Not Found');
done();
});
});
});

it("[HTML] should not upload file in root as creator POST", function (done) {
userUtils.loginUser(demouser1.username, demouser1.password, function (err, agent) {
projectUtils.upload(agent, true, '', publicProject.handle, "", function (err, res) {
res.should.have.status(404);
should.exist(err);
err.message.should.equal('Not Found');
done();
it("[HTML] should not upload file in root without being creator nor contributor POST", function (done) {
userUtils.loginUser(demouser3.username, demouser3.password, function (err, agent) {
projectUtils.upload(agent, true, '', publicProject.handle, "", function (err, res) {
res.should.have.status(404);
should.exist(err);
err.message.should.equal('Not Found');
done();
});
});
});
});

it("[HTML] should not upload file in folder without logging in POST", function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
projectUtils.upload(agent, true, '/data/pastinhaLinda', publicProject.handle, "", function (err, res) {
res.should.have.status(200);
should.not.exist(err);
res.text.should.contain('Permission denied : cannot upload resource because you do not have permissions to edit this project.');
done();
it("[HTML] should not upload file in root as creator POST", function (done) {
userUtils.loginUser(demouser1.username, demouser1.password, function (err, agent) {
projectUtils.upload(agent, true, '', publicProject.handle, "", function (err, res) {
res.should.have.status(404);
should.exist(err);
err.message.should.equal('Not Found');
done();
});
});
});
});

it("[HTML] should upload file in folder as creator POST", function (done) {
userUtils.loginUser(demouser1.username, demouser1.password, function (err, agent) {
var query = '&upload_id=ola';
projectUtils.upload(agent, true, '/data/pastinhaLinda', publicProject.handle, query, function (err, res) {
res.should.have.status(500);
should.exist(err);
res.text.should.equal('{"result":"error","message":"Upload ID not recognized. Please restart uploading undefinedfrom the beginning."}');
it("[HTML] should not upload file in folder without logging in POST", function (done) {
var app = GLOBAL.tests.app;
var agent = chai.request.agent(app);
projectUtils.upload(agent, true, '/data/pastinhaLinda', publicProject.handle, "", function (err, res) {
res.should.have.status(200);
should.not.exist(err);
res.text.should.contain('Permission denied : cannot upload resource because you do not have permissions to edit this project.');
done();
});
});

it("[HTML] should upload file in folder as creator POST", function (done) {
userUtils.loginUser(demouser1.username, demouser1.password, function (err, agent) {
//var query = '&filename=all.ejs&size=3549&username=' + demouser1.username;
projectUtils.upload(agent, false, '/data/pastinhaLinda', publicProject.handle, "", function (err, res) {
res.should.have.status(500);
should.exist(err);
res.text.should.equal('{"result":"error","message":"Upload ID not recognized. Please restart uploading undefinedfrom the beginning."}');
done();
});
});
});
});

after(function (done) {
//destroy graphs
this.timeout(60000);
db.deleteGraphs(function (err, data) {
should.equal(err, null);
GLOBAL.tests.server.close();
done();
});
});
});
3 changes: 2 additions & 1 deletion test/utils/project/projectUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -569,12 +569,13 @@ var upload = function(agent, modify, filepath, projectHandle, query, cb){
if(modify){
agent
.post('/project/' + projectHandle + filepath + '?upload' + query)
.send()
.end(function(err, res){
cb(err, res);
});
}else {
agent
.get('/project/' + projectHandle + filepath + '?upload')
.get('/project/' + projectHandle + filepath + '?upload' + query)
.end(function(err, res){
cb(err, res);
});
Expand Down

0 comments on commit cf128d6

Please sign in to comment.