Explorar el Código

added redis connection settings into rate limiter

Henry Oswald hace 12 años
padre
commit
dd22f1f7a1

+ 5 - 1
services/web/app/coffee/infrastructure/RateLimiter.coffee

@@ -1,4 +1,8 @@
-redback = require("redback").createClient()
+settings = require("settings-sharelatex")
+redis = require('redis')
+rclient = redis.createClient(settings.redis.web.port, settings.redis.web.host)
+rclient.auth(settings.redis.web.password)
+redback = require("redback").use(rclient)
 
 module.exports =
 

+ 11 - 2
services/web/test/UnitTests/coffee/infrastructure/RateLimterTests.coffee

@@ -9,17 +9,26 @@ SandboxedModule = require('sandboxed-module')
 describe "FileStoreHandler", ->
 
 	beforeEach ->
-		@settings = apis:{filestore:{url:"http//filestore.sharelatex.test"}}
+		@settings = 
+			redis:
+				web:
+					port:"1234"
+					host:"somewhere"
+					password: "password"
 		@redbackInstance = 
 			addCount: sinon.stub()
 
 		@redback = 
 			createRateLimit: sinon.stub().returns(@redbackInstance)
+		@redis = 
+			createClient: ->
+				return auth:->
 
 		@limiter = SandboxedModule.require modulePath, requires:
 			"settings-sharelatex":@settings
 			"logger-sharelatex" : @logger = {log:sinon.stub(), err:sinon.stub()}
-			"redback": createClient: => @redback
+			"redis": @redis
+			"redback": use: => @redback
 
 		@endpointName = "compiles"
 		@subject = "some project id"