prettier: convert test/unit decaffeinated files to Prettier format
This commit is contained in:
@@ -8,152 +8,165 @@
|
||||
* DS102: Remove unnecessary code created because of implicit returns
|
||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||
*/
|
||||
const SandboxedModule = require('sandboxed-module');
|
||||
const sinon = require('sinon');
|
||||
require('chai').should();
|
||||
const modulePath = require('path').join(__dirname, '../../../app/js/UrlFetcher');
|
||||
const { EventEmitter } = require("events");
|
||||
const SandboxedModule = require('sandboxed-module')
|
||||
const sinon = require('sinon')
|
||||
require('chai').should()
|
||||
const modulePath = require('path').join(__dirname, '../../../app/js/UrlFetcher')
|
||||
const { EventEmitter } = require('events')
|
||||
|
||||
describe("UrlFetcher", function() {
|
||||
beforeEach(function() {
|
||||
this.callback = sinon.stub();
|
||||
this.url = "https://www.example.com/file/here?query=string";
|
||||
return this.UrlFetcher = SandboxedModule.require(modulePath, { requires: {
|
||||
request: { defaults: (this.defaults = sinon.stub().returns(this.request = {}))
|
||||
},
|
||||
fs: (this.fs = {}),
|
||||
"logger-sharelatex": (this.logger = { log: sinon.stub(), error: sinon.stub() }),
|
||||
"settings-sharelatex": (this.settings = {})
|
||||
}
|
||||
});});
|
||||
describe('UrlFetcher', function() {
|
||||
beforeEach(function() {
|
||||
this.callback = sinon.stub()
|
||||
this.url = 'https://www.example.com/file/here?query=string'
|
||||
return (this.UrlFetcher = SandboxedModule.require(modulePath, {
|
||||
requires: {
|
||||
request: {
|
||||
defaults: (this.defaults = sinon.stub().returns((this.request = {})))
|
||||
},
|
||||
fs: (this.fs = {}),
|
||||
'logger-sharelatex': (this.logger = {
|
||||
log: sinon.stub(),
|
||||
error: sinon.stub()
|
||||
}),
|
||||
'settings-sharelatex': (this.settings = {})
|
||||
}
|
||||
}))
|
||||
})
|
||||
|
||||
it("should turn off the cookie jar in request", function() {
|
||||
return this.defaults.calledWith({jar: false})
|
||||
.should.equal(true);
|
||||
});
|
||||
it('should turn off the cookie jar in request', function() {
|
||||
return this.defaults.calledWith({ jar: false }).should.equal(true)
|
||||
})
|
||||
|
||||
describe("rewrite url domain if filestoreDomainOveride is set", function() {
|
||||
beforeEach(function() {
|
||||
this.path = "/path/to/file/on/disk";
|
||||
this.request.get = sinon.stub().returns(this.urlStream = new EventEmitter);
|
||||
this.urlStream.pipe = sinon.stub();
|
||||
this.urlStream.pause = sinon.stub();
|
||||
this.urlStream.resume = sinon.stub();
|
||||
this.fs.createWriteStream = sinon.stub().returns(this.fileStream = new EventEmitter);
|
||||
return this.fs.unlink = (file, callback) => callback();
|
||||
});
|
||||
describe('rewrite url domain if filestoreDomainOveride is set', function() {
|
||||
beforeEach(function() {
|
||||
this.path = '/path/to/file/on/disk'
|
||||
this.request.get = sinon
|
||||
.stub()
|
||||
.returns((this.urlStream = new EventEmitter()))
|
||||
this.urlStream.pipe = sinon.stub()
|
||||
this.urlStream.pause = sinon.stub()
|
||||
this.urlStream.resume = sinon.stub()
|
||||
this.fs.createWriteStream = sinon
|
||||
.stub()
|
||||
.returns((this.fileStream = new EventEmitter()))
|
||||
return (this.fs.unlink = (file, callback) => callback())
|
||||
})
|
||||
|
||||
it("should use the normal domain when override not set", function(done){
|
||||
this.UrlFetcher.pipeUrlToFile(this.url, this.path, () => {
|
||||
this.request.get.args[0][0].url.should.equal(this.url);
|
||||
return done();
|
||||
});
|
||||
this.res = {statusCode: 200};
|
||||
this.urlStream.emit("response", this.res);
|
||||
this.urlStream.emit("end");
|
||||
return this.fileStream.emit("finish");
|
||||
});
|
||||
it('should use the normal domain when override not set', function(done) {
|
||||
this.UrlFetcher.pipeUrlToFile(this.url, this.path, () => {
|
||||
this.request.get.args[0][0].url.should.equal(this.url)
|
||||
return done()
|
||||
})
|
||||
this.res = { statusCode: 200 }
|
||||
this.urlStream.emit('response', this.res)
|
||||
this.urlStream.emit('end')
|
||||
return this.fileStream.emit('finish')
|
||||
})
|
||||
|
||||
return it('should use override domain when filestoreDomainOveride is set', function(done) {
|
||||
this.settings.filestoreDomainOveride = '192.11.11.11'
|
||||
this.UrlFetcher.pipeUrlToFile(this.url, this.path, () => {
|
||||
this.request.get.args[0][0].url.should.equal(
|
||||
'192.11.11.11/file/here?query=string'
|
||||
)
|
||||
return done()
|
||||
})
|
||||
this.res = { statusCode: 200 }
|
||||
this.urlStream.emit('response', this.res)
|
||||
this.urlStream.emit('end')
|
||||
return this.fileStream.emit('finish')
|
||||
})
|
||||
})
|
||||
|
||||
return it("should use override domain when filestoreDomainOveride is set", function(done){
|
||||
this.settings.filestoreDomainOveride = "192.11.11.11";
|
||||
this.UrlFetcher.pipeUrlToFile(this.url, this.path, () => {
|
||||
this.request.get.args[0][0].url.should.equal("192.11.11.11/file/here?query=string");
|
||||
return done();
|
||||
});
|
||||
this.res = {statusCode: 200};
|
||||
this.urlStream.emit("response", this.res);
|
||||
this.urlStream.emit("end");
|
||||
return this.fileStream.emit("finish");
|
||||
});
|
||||
});
|
||||
return describe('pipeUrlToFile', function() {
|
||||
beforeEach(function(done) {
|
||||
this.path = '/path/to/file/on/disk'
|
||||
this.request.get = sinon
|
||||
.stub()
|
||||
.returns((this.urlStream = new EventEmitter()))
|
||||
this.urlStream.pipe = sinon.stub()
|
||||
this.urlStream.pause = sinon.stub()
|
||||
this.urlStream.resume = sinon.stub()
|
||||
this.fs.createWriteStream = sinon
|
||||
.stub()
|
||||
.returns((this.fileStream = new EventEmitter()))
|
||||
this.fs.unlink = (file, callback) => callback()
|
||||
return done()
|
||||
})
|
||||
|
||||
return describe("pipeUrlToFile", function() {
|
||||
beforeEach(function(done){
|
||||
this.path = "/path/to/file/on/disk";
|
||||
this.request.get = sinon.stub().returns(this.urlStream = new EventEmitter);
|
||||
this.urlStream.pipe = sinon.stub();
|
||||
this.urlStream.pause = sinon.stub();
|
||||
this.urlStream.resume = sinon.stub();
|
||||
this.fs.createWriteStream = sinon.stub().returns(this.fileStream = new EventEmitter);
|
||||
this.fs.unlink = (file, callback) => callback();
|
||||
return done();
|
||||
});
|
||||
describe('successfully', function() {
|
||||
beforeEach(function(done) {
|
||||
this.UrlFetcher.pipeUrlToFile(this.url, this.path, () => {
|
||||
this.callback()
|
||||
return done()
|
||||
})
|
||||
this.res = { statusCode: 200 }
|
||||
this.urlStream.emit('response', this.res)
|
||||
this.urlStream.emit('end')
|
||||
return this.fileStream.emit('finish')
|
||||
})
|
||||
|
||||
describe("successfully", function() {
|
||||
beforeEach(function(done){
|
||||
this.UrlFetcher.pipeUrlToFile(this.url, this.path, () => {
|
||||
this.callback();
|
||||
return done();
|
||||
});
|
||||
this.res = {statusCode: 200};
|
||||
this.urlStream.emit("response", this.res);
|
||||
this.urlStream.emit("end");
|
||||
return this.fileStream.emit("finish");
|
||||
});
|
||||
it('should request the URL', function() {
|
||||
return this.request.get
|
||||
.calledWith(sinon.match({ url: this.url }))
|
||||
.should.equal(true)
|
||||
})
|
||||
|
||||
it('should open the file for writing', function() {
|
||||
return this.fs.createWriteStream
|
||||
.calledWith(this.path)
|
||||
.should.equal(true)
|
||||
})
|
||||
|
||||
it("should request the URL", function() {
|
||||
return this.request.get
|
||||
.calledWith(sinon.match({"url": this.url}))
|
||||
.should.equal(true);
|
||||
});
|
||||
it('should pipe the URL to the file', function() {
|
||||
return this.urlStream.pipe
|
||||
.calledWith(this.fileStream)
|
||||
.should.equal(true)
|
||||
})
|
||||
|
||||
it("should open the file for writing", function() {
|
||||
return this.fs.createWriteStream
|
||||
.calledWith(this.path)
|
||||
.should.equal(true);
|
||||
});
|
||||
return it('should call the callback', function() {
|
||||
return this.callback.called.should.equal(true)
|
||||
})
|
||||
})
|
||||
|
||||
it("should pipe the URL to the file", function() {
|
||||
return this.urlStream.pipe
|
||||
.calledWith(this.fileStream)
|
||||
.should.equal(true);
|
||||
});
|
||||
|
||||
return it("should call the callback", function() {
|
||||
return this.callback.called.should.equal(true);
|
||||
});
|
||||
});
|
||||
describe('with non success status code', function() {
|
||||
beforeEach(function(done) {
|
||||
this.UrlFetcher.pipeUrlToFile(this.url, this.path, err => {
|
||||
this.callback(err)
|
||||
return done()
|
||||
})
|
||||
this.res = { statusCode: 404 }
|
||||
this.urlStream.emit('response', this.res)
|
||||
return this.urlStream.emit('end')
|
||||
})
|
||||
|
||||
describe("with non success status code", function() {
|
||||
beforeEach(function(done){
|
||||
this.UrlFetcher.pipeUrlToFile(this.url, this.path, err=> {
|
||||
this.callback(err);
|
||||
return done();
|
||||
});
|
||||
this.res = {statusCode: 404};
|
||||
this.urlStream.emit("response", this.res);
|
||||
return this.urlStream.emit("end");
|
||||
});
|
||||
return it('should call the callback with an error', function() {
|
||||
return this.callback
|
||||
.calledWith(new Error('URL returned non-success status code: 404'))
|
||||
.should.equal(true)
|
||||
})
|
||||
})
|
||||
|
||||
return it("should call the callback with an error", function() {
|
||||
return this.callback
|
||||
.calledWith(new Error("URL returned non-success status code: 404"))
|
||||
.should.equal(true);
|
||||
});
|
||||
});
|
||||
return describe('with error', function() {
|
||||
beforeEach(function(done) {
|
||||
this.UrlFetcher.pipeUrlToFile(this.url, this.path, err => {
|
||||
this.callback(err)
|
||||
return done()
|
||||
})
|
||||
return this.urlStream.emit(
|
||||
'error',
|
||||
(this.error = new Error('something went wrong'))
|
||||
)
|
||||
})
|
||||
|
||||
return describe("with error", function() {
|
||||
beforeEach(function(done){
|
||||
this.UrlFetcher.pipeUrlToFile(this.url, this.path, err=> {
|
||||
this.callback(err);
|
||||
return done();
|
||||
});
|
||||
return this.urlStream.emit("error", (this.error = new Error("something went wrong")));
|
||||
});
|
||||
|
||||
it("should call the callback with the error", function() {
|
||||
return this.callback
|
||||
.calledWith(this.error)
|
||||
.should.equal(true);
|
||||
});
|
||||
|
||||
return it("should only call the callback once, even if end is called", function() {
|
||||
this.urlStream.emit("end");
|
||||
return this.callback.calledOnce.should.equal(true);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
it('should call the callback with the error', function() {
|
||||
return this.callback.calledWith(this.error).should.equal(true)
|
||||
})
|
||||
|
||||
return it('should only call the callback once, even if end is called', function() {
|
||||
this.urlStream.emit('end')
|
||||
return this.callback.calledOnce.should.equal(true)
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user