25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 

87 satır
2.1 KiB

  1. var server = require('./server')
  2. , assert = require('assert')
  3. , request = require('../main.js')
  4. var s = server.createSSLServer();
  5. var tests =
  6. { testGet :
  7. { resp : server.createGetResponse("TESTING!")
  8. , expectBody: "TESTING!"
  9. }
  10. , testGetChunkBreak :
  11. { resp : server.createChunkResponse(
  12. [ new Buffer([239])
  13. , new Buffer([163])
  14. , new Buffer([191])
  15. , new Buffer([206])
  16. , new Buffer([169])
  17. , new Buffer([226])
  18. , new Buffer([152])
  19. , new Buffer([131])
  20. ])
  21. , expectBody: "Ω☃"
  22. }
  23. , testGetJSON :
  24. { resp : server.createGetResponse('{"test":true}', 'application/json')
  25. , json : true
  26. , expectBody: {"test":true}
  27. }
  28. , testPutString :
  29. { resp : server.createPostValidator("PUTTINGDATA")
  30. , method : "PUT"
  31. , body : "PUTTINGDATA"
  32. }
  33. , testPutBuffer :
  34. { resp : server.createPostValidator("PUTTINGDATA")
  35. , method : "PUT"
  36. , body : new Buffer("PUTTINGDATA")
  37. }
  38. , testPutJSON :
  39. { resp : server.createPostValidator(JSON.stringify({foo: 'bar'}))
  40. , method: "PUT"
  41. , json: {foo: 'bar'}
  42. }
  43. , testPutMultipart :
  44. { resp: server.createPostValidator(
  45. '--frontier\r\n' +
  46. 'content-type: text/html\r\n' +
  47. '\r\n' +
  48. '<html><body>Oh hi.</body></html>' +
  49. '\r\n--frontier\r\n\r\n' +
  50. 'Oh hi.' +
  51. '\r\n--frontier--'
  52. )
  53. , method: "PUT"
  54. , multipart:
  55. [ {'content-type': 'text/html', 'body': '<html><body>Oh hi.</body></html>'}
  56. , {'body': 'Oh hi.'}
  57. ]
  58. }
  59. }
  60. s.listen(s.port, function () {
  61. var counter = 0
  62. for (i in tests) {
  63. (function () {
  64. var test = tests[i]
  65. s.on('/'+i, test.resp)
  66. test.uri = s.url + '/' + i
  67. request(test, function (err, resp, body) {
  68. if (err) throw err
  69. if (test.expectBody) {
  70. assert.deepEqual(test.expectBody, body)
  71. }
  72. counter = counter - 1;
  73. if (counter === 0) {
  74. console.log(Object.keys(tests).length+" tests passed.")
  75. s.close()
  76. }
  77. })
  78. counter++
  79. })()
  80. }
  81. })