ProxyUrls.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /* eslint-disable
  2. max-len,
  3. no-unused-vars,
  4. */
  5. // TODO: This file was created by bulk-decaffeinate.
  6. // Fix any style issues and re-enable lint.
  7. /*
  8. * decaffeinate suggestions:
  9. * DS102: Remove unnecessary code created because of implicit returns
  10. * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
  11. */
  12. const { assert, expect } = require('chai')
  13. const async = require('async')
  14. const request = require('./helpers/request')
  15. const assertResponse = (path, expectedStatusCode, expectedBody, cb) =>
  16. request.get(path, (error, response) => {
  17. expect(error).not.to.exist
  18. response.statusCode.should.equal(expectedStatusCode)
  19. if (expectedBody) {
  20. assert.deepEqual(JSON.parse(response.body), expectedBody)
  21. }
  22. return cb()
  23. })
  24. describe('ProxyUrls', function () {
  25. beforeEach(function () {
  26. return this.timeout(1000)
  27. })
  28. it('proxy static URLs', function (done) {
  29. return async.series(
  30. [
  31. cb => assertResponse('/institutions/list', 200, [], cb),
  32. cb => assertResponse('/institutions/domains', 200, [], cb),
  33. ],
  34. done
  35. )
  36. })
  37. it('proxy dynamic URLs', function (done) {
  38. return async.series(
  39. [
  40. cb =>
  41. assertResponse(
  42. '/institutions/list/123',
  43. 200,
  44. { id: 123, name: 'Institution 123' },
  45. cb
  46. ),
  47. cb =>
  48. assertResponse(
  49. '/institutions/list/456',
  50. 200,
  51. { id: 456, name: 'Institution 456' },
  52. cb
  53. ),
  54. ],
  55. done
  56. )
  57. })
  58. it('return 404 if proxy is not set', function (done) {
  59. return async.series(
  60. [cb => assertResponse('/institutions/foobar', 404, null, cb)],
  61. done
  62. )
  63. })
  64. it('handle missing baseUrl', function (done) {
  65. return async.series(
  66. [cb => assertResponse('/proxy/missing/baseUrl', 500, null, cb)],
  67. done
  68. )
  69. })
  70. })