| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- /* eslint-disable
- no-return-assign,
- no-unused-vars,
- */
- // TODO: This file was created by bulk-decaffeinate.
- // Fix any style issues and re-enable lint.
- /*
- * decaffeinate suggestions:
- * 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/LockManager');
- const Path = require("path");
- const Errors = require("../../../app/js/Errors");
- describe("DockerLockManager", function() {
- beforeEach(function() {
- this.LockManager = SandboxedModule.require(modulePath, { requires: {
- "settings-sharelatex": {},
- "logger-sharelatex": (this.logger = { log: sinon.stub(), error: sinon.stub(), err() {} }),
- "fs": {
- lstat:sinon.stub().callsArgWith(1),
- readdir: sinon.stub().callsArgWith(1)
- },
- "lockfile": (this.Lockfile = {})
- }
- });
- return this.lockFile = "/local/compile/directory/.project-lock";
- });
- return describe("runWithLock", function() {
- beforeEach(function() {
- this.runner = sinon.stub().callsArgWith(0, null, "foo", "bar");
- return this.callback = sinon.stub();
- });
- describe("normally", function() {
- beforeEach(function() {
- this.Lockfile.lock = sinon.stub().callsArgWith(2, null);
- this.Lockfile.unlock = sinon.stub().callsArgWith(1, null);
- return this.LockManager.runWithLock(this.lockFile, this.runner, this.callback);
- });
- it("should run the compile", function() {
- return this.runner
- .calledWith()
- .should.equal(true);
- });
- return it("should call the callback with the response from the compile", function() {
- return this.callback
- .calledWithExactly(null, "foo", "bar")
- .should.equal(true);
- });
- });
- return describe("when the project is locked", function() {
- beforeEach(function() {
- this.error = new Error();
- this.error.code = "EEXIST";
- this.Lockfile.lock = sinon.stub().callsArgWith(2,this.error);
- this.Lockfile.unlock = sinon.stub().callsArgWith(1, null);
- return this.LockManager.runWithLock(this.lockFile, this.runner, this.callback);
- });
- it("should not run the compile", function() {
- return this.runner
- .called
- .should.equal(false);
- });
- return it("should return an error", function() {
- const error = new Errors.AlreadyCompilingError();
- return this.callback
- .calledWithExactly(error)
- .should.equal(true);
- });
- });
- });
- });
|