| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- require('coffee-script')
- _ = require("underscore")
- assert = require('assert')
- sinon = require('sinon')
- path = require('path')
- modulePath = path.join __dirname, '../../../../app/js/RedisManager.js'
- keys = require(path.join __dirname, '../../../../app/js/RedisKeyBuilder.js')
- SandboxedModule = require('sandboxed-module')
- describe 'RedisManager.removeDocFromMemory', ()->
- project_id = "12345"
- doc_id1 = "docid1"
- doc_id2 = "docid2"
- doc_id3 = "docid3"
-
- redisMemory = undefined
- redisManager = undefined
- self = @
- beforeEach (done)->
- redisMemory = {}
- rclient =
- auth:->
- get:->
- set:(key, value)->
- redisMemory[key] = value
- sadd:(key, value, cb)->
- if !redisMemory[key]?
- redisMemory[key] = []
- redisMemory[key].push value
- cb()
- del : (key)->
- delete redisMemory[key]
- srem : (key, member, cb)->
- index = redisMemory[key].indexOf(member)
- redisMemory[key].splice(index, 1)
- cb()
- exec:(callback)->
- callback(null, [])
- rclient.multi = () -> rclient
- mocks =
- "./ZipManager": {}
- "logger-sharelatex":
- error:->
- log:->
- "redis-sharelatex":
- createClient : -> rclient
-
- redisManager = SandboxedModule.require(modulePath, requires: mocks)
- redisManager.putDocInMemory project_id, doc_id1, 0, ["line"], ->
- redisManager.putDocInMemory project_id, doc_id2, 0, ["ledf"], ->
- redisManager.putDocInMemory project_id, doc_id3, 0, ["ledf"], ->
- done()
- it 'should remove doc lines from memory', (done)->
- keyExists = false
- redisManager.removeDocFromMemory project_id, doc_id1, ()->
- assert.equal redisMemory[keys.docLines(doc_id:doc_id1)], undefined
- keys = _.keys(redisMemory)
- containsKey(keys, doc_id1)
- keys.forEach (sets)->
- containsKey sets, doc_id1
- _.each redisMemory, (value)->
- if value.indexOf(doc_id1) != -1
- assert.equal false, "#{doc_id1} found in value #{value}"
- done()
- containsKey = (haystack, key)->
- if haystack.forEach?
- haystack.forEach (area)->
- if area.indexOf(key) != -1
- assert.equal false, "#{key} found in haystack in #{area}"
|