AddingDocsToMemory.coffee 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. require('coffee-script')
  2. assert = require('assert')
  3. path = require('path')
  4. modulePath = path.join __dirname, '../../../app/js/RedisManager.js'
  5. keys = require(path.join __dirname, '../../../app/js/RedisKeyBuilder.js')
  6. project_id = 1234
  7. doc_id = 5678
  8. SandboxedModule = require('sandboxed-module')
  9. describe 'putting a doc into memory', ()->
  10. lines = ["this is one line", "and another line"]
  11. version = 42
  12. potentialSets = {}
  13. potentialSets[keys.docLines(doc_id:doc_id)] = lines
  14. potentialSets[keys.projectKey(doc_id:doc_id)] = project_id
  15. potentialSets[keys.docVersion(doc_id:doc_id)] = version
  16. potentialSAdds = {}
  17. potentialSAdds[keys.allDocs] = doc_id
  18. potentialSAdds[keys.docsInProject(project_id:project_id)] = doc_id
  19. mocks =
  20. "logger-sharelatex": log:->
  21. "redis-sharelatex":
  22. createClient : ()->
  23. auth:->
  24. multi: ()->
  25. set:(key, value)->
  26. result = potentialSets[key]
  27. delete potentialSets[key]
  28. if key == keys.docLines(doc_id:doc_id)
  29. value = JSON.parse(value)
  30. assert.deepEqual result, value
  31. incr:()->
  32. sadd:(key, value)->
  33. result = potentialSAdds[key]
  34. delete potentialSAdds[key]
  35. assert.equal result, value
  36. del: (key) ->
  37. result = potentialDels[key]
  38. delete potentialDels[key]
  39. assert.equal result, true
  40. exec:(callback)->
  41. callback()
  42. redisManager = SandboxedModule.require(modulePath, requires: mocks)
  43. it 'should put a all data into memory', (done)->
  44. redisManager.putDocInMemory project_id, doc_id, lines, version, ()->
  45. assert.deepEqual potentialSets, {}
  46. assert.deepEqual potentialSAdds, {}
  47. done()