AddingDocsToMemory.coffee 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. loadModule = require('./module-loader').loadModule
  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. potentialDels = {}
  20. potentialDels[keys.docOps(doc_id:doc_id)] = true
  21. mocks =
  22. "logger-sharelatex": log:->
  23. redis:
  24. createClient : ()->
  25. auth:->
  26. multi: ()->
  27. set:(key, value)->
  28. result = potentialSets[key]
  29. delete potentialSets[key]
  30. if key == keys.docLines(doc_id:doc_id)
  31. value = JSON.parse(value)
  32. assert.deepEqual result, value
  33. incr:()->
  34. sadd:(key, value)->
  35. result = potentialSAdds[key]
  36. delete potentialSAdds[key]
  37. assert.equal result, value
  38. del: (key) ->
  39. result = potentialDels[key]
  40. delete potentialDels[key]
  41. assert.equal result, true
  42. exec:(callback)->
  43. callback()
  44. redisManager = loadModule(modulePath, mocks).module.exports
  45. it 'should put a all data into memory', (done)->
  46. redisManager.putDocInMemory project_id, doc_id, lines, version, ()->
  47. assert.deepEqual potentialSets, {}
  48. assert.deepEqual potentialSAdds, {}
  49. assert.deepEqual potentialDels, {}
  50. done()