CloseSiteTests.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /* eslint-disable
  2. node/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('settings-sharelatex')
  14. const chai = require('chai')
  15. const request = require('./helpers/request')
  16. describe('siteIsOpen', function() {
  17. describe('when siteIsOpen is default (true)', function() {
  18. it('should get page', function(done) {
  19. return request.get('/login', (error, response, body) => {
  20. response.statusCode.should.equal(200)
  21. return done()
  22. })
  23. })
  24. })
  25. describe('when siteIsOpen is false', function() {
  26. beforeEach(function() {
  27. return (Settings.siteIsOpen = false)
  28. })
  29. afterEach(function() {
  30. return (Settings.siteIsOpen = true)
  31. })
  32. it('should return maintenance page', function(done) {
  33. request.get('/login', (error, response, body) => {
  34. response.statusCode.should.equal(503)
  35. body.should.match(/is currently down for maintenance/)
  36. done()
  37. })
  38. })
  39. it('should return a plain text message for a json request', function(done) {
  40. request.get('/some/route', { json: true }, (error, response, body) => {
  41. response.statusCode.should.equal(503)
  42. body.message.should.match(/maintenance/)
  43. body.message.should.match(/status.overleaf.com/)
  44. done()
  45. })
  46. })
  47. it('should return a 200 on / for load balancer health checks', function(done) {
  48. request.get('/', (error, response, body) => {
  49. response.statusCode.should.equal(200)
  50. done()
  51. })
  52. })
  53. it('should return a 200 on /status for readiness checks', function(done) {
  54. request.get('/status', (error, response, body) => {
  55. response.statusCode.should.equal(200)
  56. done()
  57. })
  58. })
  59. })
  60. })