ProxyUrls.coffee 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. should = require('chai').should()
  2. assert = require('chai').assert
  3. async = require("async")
  4. request = require "./helpers/request"
  5. MockV1Api = require "./helpers/MockV1Api"
  6. assertResponse = (path, expectedStatusCode, expectedBody, cb) ->
  7. request.get path, (error, response) ->
  8. should.not.exist error
  9. response.statusCode.should.equal expectedStatusCode
  10. assert.deepEqual(JSON.parse(response.body), expectedBody) if expectedBody
  11. cb()
  12. describe "ProxyUrls", ->
  13. before ->
  14. @timeout(1000)
  15. it 'proxy static URLs', (done) ->
  16. async.series [
  17. (cb) -> assertResponse '/institutions/list', 200, [], cb
  18. (cb) -> assertResponse '/institutions/domains', 200, [], cb
  19. ],
  20. done
  21. it 'proxy dynamic URLs', (done) ->
  22. async.series [
  23. (cb) -> assertResponse '/institutions/list/123', 200, { id: 123 }, cb
  24. (cb) -> assertResponse '/institutions/list/456', 200, { id: 456 }, cb
  25. ],
  26. done
  27. it 'return 404 if proxy is not set', (done) ->
  28. async.series [
  29. (cb) -> assertResponse '/institutions/foobar', 404, null, cb
  30. ],
  31. done
  32. it 'handle missing baseUrl', (done) ->
  33. async.series [
  34. (cb) -> assertResponse '/proxy/missing/baseUrl', 500, null, cb
  35. ],
  36. done