overleaf/services/web/test/acceptance/coffee/helpers/MockClsiApi.coffee
2018-06-22 13:20:13 +01:00

50 lines
1.3 KiB
CoffeeScript

express = require("express")
bodyParser = require "body-parser"
app = express()
module.exports = MockClsiApi =
run: () ->
compile = (req, res, next) =>
res.status(200).send {
compile:
status: 'success'
error: null
outputFiles: [
url: "/project/#{req.params.project_id}/build/1234/output/project.pdf"
path: 'project.pdf'
type: 'pdf'
build: 1234
,
url: "/project/#{req.params.project_id}/build/1234/output/project.log"
path: 'project.log'
type: 'log'
build: 1234
]
}
app.post "/project/:project_id/compile", compile
app.post "/project/:project_id/user/:user_id/compile", compile
app.get "/project/:project_id/build/:build_id/output/*", (req, res, next) ->
filename = req.params[0]
if filename == 'project.pdf'
res.status(200).send 'mock-pdf'
else if filename == 'project.log'
res.status(200).send 'mock-log'
else
res.sendStatus(404)
app.get "/project/:project_id/user/:user_id/build/:build_id/output/:output_path", (req, res, next) =>
res.status(200).send("hello")
app.get "/project/:project_id/status", (req, res, next) =>
res.status(200).send()
app.listen 3013, (error) ->
throw error if error?
.on "error", (error) ->
console.error "error starting MockClsiApi:", error.message
process.exit(1)
MockClsiApi.run()