Kaynağa Gözat

Get unit tests running and add one for ioredis

James Allen 9 yıl önce
ebeveyn
işleme
89397e4c50
1 değiştirilmiş dosya ile 15 ekleme ve 7 silme
  1. 15 7
      libraries/redis-wrapper/test.coffee

+ 15 - 7
libraries/redis-wrapper/test.coffee

@@ -21,15 +21,17 @@ describe "index", ->
 		@redis = SandboxedModule.require modulePath, requires:
 			"redis-sentinel":@sentinel
 			"redis":@normalRedis
+			"ioredis": @ioredis =
+				Cluster: class Cluster
+					constructor: (@config) ->
 		@auth_pass = "1234 pass"
 		@endpoints = [
 				{host: '127.0.0.1', port: 26379},
 				{host: '127.0.0.1', port: 26380}
 			]
-	describe "sentinel", ->
 
+	describe "sentinel", ->
 		beforeEach ->
-			
 			@masterName = "my master"
 			@sentinelOptions =
 				endpoints:@endpoints
@@ -44,11 +46,10 @@ describe "index", ->
 
 		it "should pass the options correctly though", ->
 			client = @redis.createClient @sentinelOptions
-			@sentinel.createClient.calledWith(@endpoints, @masterName, auth_pass:@auth_pass).should.equal true
+			@sentinel.createClient.calledWith(@endpoints, @masterName, {auth_pass:@auth_pass, retry_max_delay: 5000}).should.equal true
 			client.should.equal @sentinelClient
 
 	describe "normal redis", ->
-
 		beforeEach ->
 			@standardOpts =
 				auth_pass: @auth_pass
@@ -63,9 +64,16 @@ describe "index", ->
 
 		it "should use the normal redis driver if a non array is passed", ->
 			client = @redis.createClient @standardOpts
-			@normalRedis.createClient.calledWith(@standardOpts.port, @standardOpts.host, auth_pass:@auth_pass).should.equal true
+			@normalRedis.createClient.calledWith(@standardOpts.port, @standardOpts.host, {auth_pass:@auth_pass, retry_max_delay: 5000}).should.equal true
 
+	describe "cluster", ->
+		beforeEach ->
+			@cluster = [{"mock": "cluster"}, { "mock": "cluster2"}]
 
+		it "should pass the options correctly though", ->
+			client = @redis.createClient cluster: @cluster
+			assert(client instanceof @ioredis.Cluster)
+			client.config.should.deep.equal @cluster
 
 	describe "setting the password", ->
 		beforeEach ->
@@ -81,10 +89,10 @@ describe "index", ->
 
 		it "should set the auth_pass from password if password exists for normal redis", ->
 			client = @redis.createClient @standardOpts
-			@normalRedis.createClient.calledWith(@standardOpts.port, @standardOpts.host, auth_pass:@auth_pass).should.equal true
+			@normalRedis.createClient.calledWith(@standardOpts.port, @standardOpts.host, {auth_pass:@auth_pass, retry_max_delay: 5000}).should.equal true
 		
 		it "should set the auth_pass from password if password exists for sentinal", ->
 			client = @redis.createClient @sentinelOptions
-			@sentinel.createClient.calledWith(@endpoints, @masterName, auth_pass:@auth_pass).should.equal true
+			@sentinel.createClient.calledWith(@endpoints, @masterName, {auth_pass:@auth_pass, retry_max_delay: 5000}).should.equal true