Просмотр исходного кода

Merge branch 'master' into sk-biber-errors

Shane Kilkelly 10 лет назад
Родитель
Сommit
3ba5808074
24 измененных файлов с 45 добавлено и 22 удалено
  1. 0 1
      services/web/app/coffee/Features/Authentication/AuthenticationManager.coffee
  2. 0 1
      services/web/app/coffee/Features/DocumentUpdater/DocumentUpdaterHandler.coffee
  3. 0 1
      services/web/app/coffee/Features/Email/EmailBuilder.coffee
  4. 0 1
      services/web/app/coffee/Features/Email/EmailSender.coffee
  5. 0 1
      services/web/app/coffee/Features/Subscription/SubscriptionController.coffee
  6. 4 6
      services/web/app/coffee/Features/Subscription/SubscriptionGroupController.coffee
  7. 6 3
      services/web/app/coffee/Features/Subscription/SubscriptionGroupHandler.coffee
  8. 0 1
      services/web/app/coffee/Features/Subscription/UserFeaturesUpdater.coffee
  9. 2 0
      services/web/public/coffee/ide/settings/controllers/ProjectNameController.coffee
  10. 4 1
      services/web/test/UnitTests/coffee/DocumentUpdater/DocumentUpdaterHandlerTests.coffee
  11. 1 0
      services/web/test/UnitTests/coffee/Editor/EditorRealTimeControllerTests.coffee
  12. 1 1
      services/web/test/UnitTests/coffee/Email/EmailBuilderTests.coffee
  13. 4 1
      services/web/test/UnitTests/coffee/Email/EmailSenderTests.coffee
  14. 4 0
      services/web/test/UnitTests/coffee/Project/ProjectControllerTests.coffee
  15. 3 0
      services/web/test/UnitTests/coffee/Project/ProjectCreationHandlerTests.coffee
  16. 0 1
      services/web/test/UnitTests/coffee/Project/ProjectEntityHandlerTests.coffee
  17. 1 0
      services/web/test/UnitTests/coffee/Security/LoginRateLimiterTests.coffee
  18. 1 1
      services/web/test/UnitTests/coffee/Subscription/UserFeaturesUpdaterTests.coffee
  19. 2 0
      services/web/test/UnitTests/coffee/ThirdPartyDataStore/TpdsControllerTests.coffee
  20. 2 0
      services/web/test/UnitTests/coffee/ThirdPartyDataStore/TpdsUpdateSenderTests.coffee
  21. 4 0
      services/web/test/UnitTests/coffee/ThirdPartyDataStore/UpdateMergerTests.coffee
  22. 1 2
      services/web/test/UnitTests/coffee/User/UserControllerTests.coffee
  23. 3 0
      services/web/test/UnitTests/coffee/infrastructure/LockManager/getLockTests.coffee
  24. 2 0
      services/web/test/UnitTests/coffee/infrastructure/LockManager/tryLockTests.coffee

+ 0 - 1
services/web/app/coffee/Features/Authentication/AuthenticationManager.coffee

@@ -1,4 +1,3 @@
-Settings = require 'settings-sharelatex'
 User = require("../../models/User").User
 {db, ObjectId} = require("../../infrastructure/mongojs")
 crypto = require 'crypto'

+ 0 - 1
services/web/app/coffee/Features/DocumentUpdater/DocumentUpdaterHandler.coffee

@@ -1,6 +1,5 @@
 request = require 'request'
 request = request.defaults()
-async = require 'async'
 settings = require 'settings-sharelatex'
 _ = require 'underscore'
 async = require 'async'

+ 0 - 1
services/web/app/coffee/Features/Email/EmailBuilder.coffee

@@ -1,5 +1,4 @@
 _ = require('underscore')
-
 PersonalEmailLayout = require("./Layouts/PersonalEmailLayout")
 NotificationEmailLayout = require("./Layouts/NotificationEmailLayout")
 settings = require("settings-sharelatex")

+ 0 - 1
services/web/app/coffee/Features/Email/EmailSender.coffee

@@ -1,7 +1,6 @@
 logger = require('logger-sharelatex')
 metrics = require('../../infrastructure/Metrics')
 Settings = require('settings-sharelatex')
-metrics = require("../../infrastructure/Metrics")
 nodemailer = require("nodemailer")
 sesTransport = require('nodemailer-ses-transport')
 _ = require("underscore")

+ 0 - 1
services/web/app/coffee/Features/Subscription/SubscriptionController.coffee

@@ -1,7 +1,6 @@
 SecurityManager     = require '../../managers/SecurityManager'
 SubscriptionHandler  = require './SubscriptionHandler'
 PlansLocator = require("./PlansLocator")
-SubscriptionFormatters = require("./SubscriptionFormatters")
 SubscriptionViewModelBuilder = require('./SubscriptionViewModelBuilder')
 LimitationsManager = require("./LimitationsManager")
 RecurlyWrapper = require './RecurlyWrapper'

+ 4 - 6
services/web/app/coffee/Features/Subscription/SubscriptionGroupController.coffee

@@ -1,10 +1,7 @@
 SubscriptionGroupHandler = require("./SubscriptionGroupHandler")
 logger = require("logger-sharelatex")
 SubscriptionLocator = require("./SubscriptionLocator")
-
 ErrorsController = require("../Errors/ErrorController")
-settings = require("settings-sharelatex")
-
 SubscriptionDomainHandler = require("./SubscriptionDomainHandler")
 _ = require("underscore")
 
@@ -90,11 +87,12 @@ module.exports =
 		logger.log subscription_id:subscription_id, user_id:req?.session?.user?._id, email:email, "starting the completion of joining group"
 		SubscriptionGroupHandler.processGroupVerification email, subscription_id, req.query?.token, (err)->
 			if err? and err == "token_not_found"
-				res.redirect "/user/subscription/#{subscription_id}/group/invited?expired=true"
+				return res.redirect "/user/subscription/#{subscription_id}/group/invited?expired=true"
 			else if err?
-				res.sendStatus 500
+				return res.sendStatus 500
 			else
-				res.redirect "/user/subscription/#{subscription_id}/group/successful-join"
+				logger.log subscription_id:subscription_id, email:email, "user successful completed join of group subscription"
+				return res.redirect "/user/subscription/#{subscription_id}/group/successful-join"
 
 	renderSuccessfulJoinPage: (req, res)->
 		subscription_id = req.params.subscription_id

+ 6 - 3
services/web/app/coffee/Features/Subscription/SubscriptionGroupHandler.coffee

@@ -14,9 +14,10 @@ NotificationsBuilder = require("../Notifications/NotificationsBuilder")
 module.exports = SubscriptionGroupHandler =
 
 	addUserToGroup: (adminUserId, newEmail, callback)->
+		logger.log adminUserId:adminUserId, newEmail:newEmail, "adding user to group"
 		UserCreator.getUserOrCreateHoldingAccount newEmail, (err, user)->
 			if err?
-				logger.err err:err, "error creating user for holding account"
+				logger.err err:err,  adminUserId:adminUserId, newEmail:newEmail, "error creating user for holding account"
 				return callback(err)
 			if !user?
 				msg = "no user returned whenc reating holidng account or getting user"
@@ -24,8 +25,10 @@ module.exports = SubscriptionGroupHandler =
 				return callback(msg)
 			LimitationsManager.hasGroupMembersLimitReached adminUserId, (err, limitReached, subscription)->
 				if err?
+					logger.err err:err, adminUserId:adminUserId, newEmail:newEmail, "error checking if limit reached for group plan"
 					return callback(err)
 				if limitReached
+					logger.err adminUserId:adminUserId, newEmail:newEmail, "group subscription limit reached not adding user to group"
 					return callback(limitReached:limitReached)
 				SubscriptionUpdater.addUserToGroup adminUserId, user._id, (err)->
 					if err?
@@ -74,8 +77,8 @@ module.exports = SubscriptionGroupHandler =
 			EmailHandler.sendEmail "completeJoinGroupAccount", opts, callback
 
 	processGroupVerification: (userEmail, subscription_id, token, callback)->
+		logger.log userEmail:userEmail, subscription_id:subscription_id, "processing group verification for user"
 		OneTimeTokenHandler.getValueFromTokenAndExpire token, (err, token_subscription_id)->
-			
 			if err?  or subscription_id != token_subscription_id
 				logger.err userEmail:userEmail, token:token, "token value not found for processing group verification"
 				return callback("token_not_found")
@@ -84,7 +87,7 @@ module.exports = SubscriptionGroupHandler =
 					logger.err err:err, subscription:subscription, userEmail:userEmail, subscription_id:subscription_id, "error getting subscription"
 					return callback(err)
 				if !subscription?
-					logger.warn subscription_id:subscription_id, "no subscription found"
+					logger.warn subscription_id:subscription_id, userEmail:userEmail, "no subscription found"
 					return callback()
 				SubscriptionGroupHandler.addUserToGroup subscription?.admin_id, userEmail, callback
 

+ 0 - 1
services/web/app/coffee/Features/Subscription/UserFeaturesUpdater.coffee

@@ -1,4 +1,3 @@
-Settings = require "settings-sharelatex"
 logger = require("logger-sharelatex")
 User = require('../../models/User').User
 PlansLocator = require("./PlansLocator")

+ 2 - 0
services/web/public/coffee/ide/settings/controllers/ProjectNameController.coffee

@@ -17,6 +17,8 @@ define [
 			newName = $scope.inputs.name
 			if !newName? or newName.length == 0 or newName.length > MAX_PROJECT_NAME_LENGTH
 				return
+			if $scope.project.name == newName
+				return
 			$scope.project.name = newName
 			settings.saveProjectSettings({name: $scope.project.name})
 

+ 4 - 1
services/web/test/UnitTests/coffee/DocumentUpdater/DocumentUpdaterHandlerTests.coffee

@@ -8,7 +8,7 @@ path = require 'path'
 _ = require 'underscore'
 modulePath = path.join __dirname, '../../../../app/js/Features/DocumentUpdater/DocumentUpdaterHandler'
 
-describe 'Flushing documents :', ->
+describe 'DocumentUpdaterHandler - Flushing documents :', ->
 
 	beforeEach ->
 		@project_id = "project-id-923"
@@ -33,6 +33,9 @@ describe 'Flushing documents :', ->
 			"../../models/Project": Project: @Project={}
 			'../../Features/Project/ProjectLocator':{}
 			'redis-sharelatex' : createClient: () => @rclient
+			"../../infrastructure/Metrics": 
+				Timer:->
+					done:->
 
 	describe 'queueChange', ->
 		beforeEach ->

+ 1 - 0
services/web/test/UnitTests/coffee/Editor/EditorRealTimeControllerTests.coffee

@@ -10,6 +10,7 @@ describe "EditorRealTimeController", ->
 				createClient: () ->
 					auth:->
 			"../../infrastructure/Server" : io: @io = {}
+			"settings-sharelatex":{redis:{}}
 		@EditorRealTimeController.rclientPub = publish: sinon.stub()
 		@EditorRealTimeController.rclientSub =
 			subscribe: sinon.stub()

+ 1 - 1
services/web/test/UnitTests/coffee/Email/EmailBuilderTests.coffee

@@ -9,7 +9,7 @@ _ = require('underscore')
 _.templateSettings =
   interpolate: /\{\{(.+?)\}\}/g
 
-describe "Email Templator ", ->
+describe "EmailBuilder", ->
 
 	beforeEach ->
 

+ 4 - 1
services/web/test/UnitTests/coffee/Email/EmailSenderTests.coffee

@@ -6,7 +6,7 @@ sinon = require('sinon')
 modulePath = path.join __dirname, "../../../../app/js/Features/Email/EmailSender.js"
 expect = require("chai").expect
 
-describe "Email", ->
+describe "EmailSender", ->
 
 	beforeEach ->
 
@@ -30,6 +30,9 @@ describe "Email", ->
 				log:->
 				warn:->
 				err:->
+			"../../infrastructure/Metrics": inc:->
+				
+
 
 		@opts =
 			to: "bob@bob.com"

+ 4 - 0
services/web/test/UnitTests/coffee/Project/ProjectControllerTests.coffee

@@ -55,6 +55,10 @@ describe "ProjectController", ->
 			"logger-sharelatex": 
 				log:->
 				err:->
+			"../../infrastructure/Metrics": 
+				Timer:->
+					done:->
+				inc:->
 			"./ProjectDeleter": @ProjectDeleter
 			"./ProjectDuplicator": @ProjectDuplicator
 			"./ProjectCreationHandler": @ProjectCreationHandler

+ 3 - 0
services/web/test/UnitTests/coffee/Project/ProjectCreationHandlerTests.coffee

@@ -50,6 +50,9 @@ describe 'ProjectCreationHandler', ->
 			'./ProjectEntityHandler':@ProjectEntityHandler
 			"settings-sharelatex": @Settings = {}
 			'logger-sharelatex': {log:->}
+			"../../infrastructure/Metrics": inc:->
+				
+
 
 	describe 'Creating a Blank project', ->
 		beforeEach ->

+ 0 - 1
services/web/test/UnitTests/coffee/Project/ProjectEntityHandlerTests.coffee

@@ -505,7 +505,6 @@ describe 'ProjectEntityHandler', ->
 			@ProjectModel.putElement = (project_id, folder_id, doc, type, callback)-> callback(null, {path:{fileSystem:opts.path}})
 
 			@tpdsUpdateSender.addFile = (options)=>
-				console.log @project.name, options.project_name
 				options.project_id.should.equal project_id
 				options.path.should.equal opts.path
 				options.project_name.should.equal @project.name

+ 1 - 0
services/web/test/UnitTests/coffee/Security/LoginRateLimiterTests.coffee

@@ -26,6 +26,7 @@ describe "LoginRateLimiter", ->
 
 		@LoginRateLimiter = SandboxedModule.require modulePath, requires:
 			'redis-sharelatex' : createClient: () => @rclient
+			"settings-sharelatex":{redis:{}}
 	
 	describe "processLoginRequest", ->
 

+ 1 - 1
services/web/test/UnitTests/coffee/Subscription/UserFeaturesUpdaterTests.coffee

@@ -5,7 +5,7 @@ modulePath = "../../../../app/js/Features/Subscription/UserFeaturesUpdater"
 assert = require("chai").assert
 
 
-describe "user Features updater", ->
+describe "UserFeaturesUpdater", ->
 
 	beforeEach ->
 

+ 2 - 0
services/web/test/UnitTests/coffee/ThirdPartyDataStore/TpdsControllerTests.coffee

@@ -14,6 +14,8 @@ describe 'TpdsController', ->
 			'logger-sharelatex':
 				log:->
 				err:->
+			"../../infrastructure/Metrics": inc:->
+				
 		@user_id = "dsad29jlkjas"
 
 	describe 'getting an update', ->

+ 2 - 0
services/web/test/UnitTests/coffee/ThirdPartyDataStore/TpdsUpdateSenderTests.coffee

@@ -38,6 +38,8 @@ describe 'TpdsUpdateSender', ->
 			"logger-sharelatex":{log:->}
 			'../../models/Project': Project:@Project
 			'request':@request
+			"../../infrastructure/Metrics":
+				inc:-> 
 
 	describe "_enqueue", ->
 

+ 4 - 0
services/web/test/UnitTests/coffee/ThirdPartyDataStore/UpdateMergerTests.coffee

@@ -20,9 +20,13 @@ describe 'UpdateMerger :', ->
 			'../Project/ProjectEntityHandler': @projectEntityHandler
 			'fs': @fs
 			'../Uploads/FileTypeManager':@FileTypeManager
+			'settings-sharelatex':{path:{dumpPath:"dump_here"}}
 			'logger-sharelatex':
 				log: ->
 				err: ->
+			"../../infrastructure/Metrics": 
+				Timer:->
+					done:->
 		@project_id = "project_id_here"
 		@user_id = "mock-user-id"
 		@source = "dropbox"

+ 1 - 2
services/web/test/UnitTests/coffee/User/UserControllerTests.coffee

@@ -55,7 +55,7 @@ describe "UserController", ->
 			"../Subscription/SubscriptionDomainHandler":@SubscriptionDomainHandler
 			"settings-sharelatex": @settings
 			"logger-sharelatex": {log:->}
-
+			"../../infrastructure/Metrics": inc:->
 
 		@req = 
 			session: 
@@ -178,7 +178,6 @@ describe "UserController", ->
 				.should.equal true
 		
 		it "should return the user and activation url", ->
-			console.log @res.json.args
 			@res.json
 				.calledWith({
 					email: @email,

+ 3 - 0
services/web/test/UnitTests/coffee/infrastructure/LockManager/getLockTests.coffee

@@ -12,6 +12,9 @@ describe 'LockManager - getting the lock', ->
 			"redis-sharelatex":
 				createClient : () =>
 					auth:->
+			"settings-sharelatex":{redis:{}}
+			"./Metrics": inc:->
+
 		@callback = sinon.stub()
 		@doc_id = "doc-id-123"
 	

+ 2 - 0
services/web/test/UnitTests/coffee/infrastructure/LockManager/tryLockTests.coffee

@@ -13,6 +13,8 @@ describe 'LockManager - trying the lock', ->
 				createClient : () =>
 					auth:->
 					set: @set = sinon.stub()
+			"settings-sharelatex":{redis:{}}
+			"./Metrics": inc:->			
 		@callback = sinon.stub()
 		@doc_id = "doc-id-123"