MockProjectHistoryApi.coffee 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. express = require("express")
  2. app = express()
  3. module.exports = MockProjectHistoryApi =
  4. docs: {}
  5. oldFiles: {}
  6. projectVersions: {}
  7. addOldFile: (project_id, version, pathname, content) ->
  8. @oldFiles["#{project_id}:#{version}:#{pathname}"] = content
  9. setProjectVersion: (project_id, version) ->
  10. @projectVersions[project_id] = version
  11. run: () ->
  12. app.post "/project", (req, res, next) =>
  13. res.json project: id: 1
  14. app.get "/project/:project_id/version/:version/:pathname", (req, res, next) =>
  15. {project_id, version, pathname} = req.params
  16. key = "#{project_id}:#{version}:#{pathname}"
  17. if @oldFiles[key]?
  18. res.send @oldFiles[key]
  19. else
  20. res.send 404
  21. app.get "/project/:project_id/version", (req, res, next) =>
  22. {project_id} = req.params
  23. if @projectVersions[project_id]?
  24. res.json version: @projectVersions[project_id]
  25. else
  26. res.send 404
  27. app.listen 3054, (error) ->
  28. throw error if error?
  29. .on "error", (error) ->
  30. console.error "error starting MockProjectHistoryApi:", error.message
  31. process.exit(1)
  32. MockProjectHistoryApi.run()