Преглед изворни кода

fix up mocha migration tests

Henry Oswald пре 8 година
родитељ
комит
e3514e84cd

+ 2 - 3
services/filestore/app/coffee/PersistorManager.coffee

@@ -4,9 +4,8 @@ logger = require("logger-sharelatex")
 # assume s3 if none specified
 settings?.filestore?.backend ||= "s3"
 
-
-logger.log backend:settings.filestore.backend, "Loading backend"
-module.exports = switch settings.filestore.backend
+logger.log backend:settings?.filestore?.backend, "Loading backend"
+module.exports = switch settings?.filestore?.backend
 	when "aws-sdk"
 		require "./AWSSDKPersistorManager"
 	when "s3"

+ 1 - 1
services/filestore/app/coffee/S3PersistorManager.coffee

@@ -77,7 +77,7 @@ module.exports =
 			if res.statusCode == 404
 				logger.log bucketName:bucketName, key:key, "file not found in s3"
 				return callback new Errors.NotFoundError("File not found in S3: #{bucketName}:#{key}"), null
-			if res.statusCode not in [200, 206]
+			else if res.statusCode not in [200, 206]
 				logger.log bucketName:bucketName, key:key, "error getting file from s3: #{res.statusCode}"
 				return callback new Error("Got non-200 response from S3: #{res.statusCode}"), null
 			callback null, res

+ 2 - 3
services/filestore/test/unit/coffee/FSPersistorManagerTests.coffee

@@ -33,8 +33,6 @@ describe "FSPersistorManagerTests", ->
         err:->
       "response":response
       "rimraf":@Rimraf
-      "./Errors": @Errors =
-        NotFoundError: sinon.stub()
     @location = "/tmp"
     @name1 = "530f2407e7ef165704000007/530f838b46d9a9e859000008"
     @name1Filtered ="530f2407e7ef165704000007_530f838b46d9a9e859000008"
@@ -102,6 +100,7 @@ describe "FSPersistorManagerTests", ->
         @Fs.createReadStream.returns(
           on: (key, callback) =>
             err = new Error()
+            err.message = "this is from a test"
             err.code = @fakeCode
             callback(err, null)
         )
@@ -115,7 +114,7 @@ describe "FSPersistorManagerTests", ->
           @FSPersistorManager.getFileStream @location, @name1, @opts, (err,res)=>
             expect(res).to.equal null
             expect(err).to.not.equal null
-            expect(err instanceof @Errors.NotFoundError).to.equal true
+            expect(err.name == "NotFoundError").to.equal true
             done()
 
       describe "when some other error happens", ->

+ 2 - 2
services/filestore/test/unit/coffee/PersistorManagerTests.coffee

@@ -66,14 +66,14 @@ describe "PersistorManagerTests", ->
 	describe "test unspecified mixins", ->
 
 		it "should load s3 when no wrapper specified", (done) ->
-			@settings =
+			@settings = {filestore:{}}
 			@requires =
 				"./S3PersistorManager": @S3PersistorManager
 				"settings-sharelatex": @settings
 				"logger-sharelatex":
 					log:->
 					err:->
-			@PersistorManager=SandboxedModule.require modulePath, requires: @requires
+			@PersistorManager = SandboxedModule.require modulePath, requires: @requires
 			@PersistorManager.should.respondTo("getFileStream")
 			@PersistorManager.getFileStream()
 			@S3PersistorManager.getFileStream.calledOnce.should.equal true

+ 7 - 13
services/filestore/test/unit/coffee/S3PersistorManagerTests.coffee

@@ -35,8 +35,6 @@ describe "S3PersistorManagerTests", ->
 			"logger-sharelatex":
 				log:->
 				err:->
-			"./Errors": @Errors =
-				NotFoundError: sinon.stub()
 		@key = "my/key"
 		@bucketName = "my-bucket"
 		@error = "my errror"
@@ -84,35 +82,31 @@ describe "S3PersistorManagerTests", ->
 			describe "when the file doesn't exist", ->
 
 				beforeEach ->
-					@fakeResponse =
-						statusCode: 404
+					@bucketName = "mybucket"
+					@key = "somekey"
+					@fakeResponse.statusCode = 404
 
 				it "should produce a NotFoundError", (done) ->
 					@S3PersistorManager.getFileStream @bucketName, @key, @opts, (err, stream)=> # empty callback
 						expect(stream).to.equal null
 						expect(err).to.not.equal null
-						expect(err instanceof @Errors.NotFoundError).to.equal true
+						expect(err.name == "NotFoundError").to.equal true
 						done()
 
 				it "should have bucket and key in the Error message", (done) ->
 					@S3PersistorManager.getFileStream @bucketName, @key, @opts, (err, stream)=> # empty callback
-						error_message = @Errors.NotFoundError.lastCall.args[0]
-						expect(error_message).to.not.equal null
-						error_message.should.match(new RegExp(".*#{@bucketName}.*"))
-						error_message.should.match(new RegExp(".*#{@key}.*"))
+						expect(err.message).to.not.equal null
+						err.message.should.match(new RegExp(".*#{@bucketName}.*"))
+						err.message.should.match(new RegExp(".*#{@key}.*"))
 						done()
 
 			describe "when the S3 service produces an error", ->
-				beforeEach ->
-					@fakeResponse =
-						statusCode: 500
 
 				it "should produce an error", (done) ->
 					@S3PersistorManager.getFileStream @bucketName, @key, @opts, (err, stream)=> # empty callback
 						expect(stream).to.equal null
 						expect(err).to.not.equal null
 						expect(err instanceof Error).to.equal true
-						@Errors.NotFoundError.called.should.equal false
 						done()
 
 	describe "sendFile", ->