CloseSiteTests.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /* eslint-disable
  2. n/handle-callback-err,
  3. no-return-assign,
  4. no-unused-vars,
  5. */
  6. // TODO: This file was created by bulk-decaffeinate.
  7. // Fix any style issues and re-enable lint.
  8. /*
  9. * decaffeinate suggestions:
  10. * DS102: Remove unnecessary code created because of implicit returns
  11. * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
  12. */
  13. const Settings = require('@overleaf/settings')
  14. const request = require('./helpers/request')
  15. describe('siteIsOpen', function () {
  16. describe('when siteIsOpen is default (true)', function () {
  17. it('should get page', function (done) {
  18. return request.get('/login', (error, response, body) => {
  19. response.statusCode.should.equal(200)
  20. return done()
  21. })
  22. })
  23. })
  24. describe('when siteIsOpen is false', function () {
  25. beforeEach(function () {
  26. return (Settings.siteIsOpen = false)
  27. })
  28. afterEach(function () {
  29. return (Settings.siteIsOpen = true)
  30. })
  31. it('should return maintenance page', function (done) {
  32. request.get('/login', (error, response, body) => {
  33. response.statusCode.should.equal(503)
  34. body.should.match(/is currently down for maintenance/)
  35. done()
  36. })
  37. })
  38. it('should return a plain text message for a json request', function (done) {
  39. request.get('/some/route', { json: true }, (error, response, body) => {
  40. response.statusCode.should.equal(503)
  41. body.message.should.match(/maintenance/)
  42. body.message.should.match(/status.example.com/)
  43. done()
  44. })
  45. })
  46. it('should return a 200 on / for load balancer health checks', function (done) {
  47. request.get('/', (error, response, body) => {
  48. response.statusCode.should.equal(200)
  49. done()
  50. })
  51. })
  52. it('should return a 200 on /status for readiness checks', function (done) {
  53. request.get('/status', (error, response, body) => {
  54. response.statusCode.should.equal(200)
  55. done()
  56. })
  57. })
  58. })
  59. })