| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- should = require('chai').should()
- SandboxedModule = require('sandboxed-module')
- assert = require('assert')
- path = require('path')
- sinon = require('sinon')
- modulePath = path.join __dirname, "./index.coffee"
- expect = require("chai").expect
- describe "index", ->
- beforeEach ->
- @settings = {}
- @sentinelClient = set:->
- @normalRedisClient = get: ->
- @sentinel =
- createClient: sinon.stub().returns(@sentinelClient)
- @normalRedis =
- createClient: sinon.stub().returns(@normalRedisClient)
- @redis = SandboxedModule.require modulePath, requires:
- "redis-sentinel":@sentinel
- "redis":@normalRedis
- @auth_pass = "1234 pass"
- @endpoints = [
- {host: '127.0.0.1', port: 26379},
- {host: '127.0.0.1', port: 26380}
- ]
- describe "sentinel", ->
- beforeEach ->
-
- @masterName = "my master"
- @sentinelOptions =
- endpoints:@endpoints
- masterName:@masterName
- auth_pass:@auth_pass
- it "should use sentinal if the first argument in an array", ->
- client = @redis.createClient @sentinelOptions
- @sentinel.createClient.called.should.equal true
- @normalRedis.createClient.called.should.equal false
- client.should.equal @sentinelClient
- it "should pass the options correctly though", ->
- client = @redis.createClient @sentinelOptions
- @sentinel.createClient.calledWith(@endpoints, @masterName, auth_pass:@auth_pass).should.equal true
- client.should.equal @sentinelClient
- describe "normal redis", ->
- beforeEach ->
- @standardOpts =
- auth_pass: @auth_pass
- port: 1234
- host: "redis.mysite.env"
- it "should use the normal redis driver if a non array is passed", ->
- client = @redis.createClient @standardOpts
- @sentinel.createClient.called.should.equal false
- @normalRedis.createClient.called.should.equal true
- client.should.equal @normalRedisClient
- 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
- describe "setting the password", ->
- beforeEach ->
- @standardOpts =
- password: @auth_pass
- port: 1234
- host: "redis.mysite.env"
- @sentinelOptions =
- endpoints:@endpoints
- masterName:@masterName
- password: @auth_pass
- 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
-
- 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
|