AreWe

Untitled

Nov 5th, 2020
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. const { assert } = require('chai');
  2. const requestValidator = require('./01. Request Validator.js');
  3.  
  4. describe('01. Request Validator Tests', () => {
  5. it('Should return the request object', () => {
  6. assert.deepEqual(
  7. requestValidator({
  8. method: 'GET',
  9. uri: 'svn.public.catalog',
  10. version: 'HTTP/1.1',
  11. message: '',
  12. }),
  13. {
  14. method: 'GET',
  15. uri: 'svn.public.catalog',
  16. version: 'HTTP/1.1',
  17. message: '',
  18. }
  19. );
  20. });
  21.  
  22. it('Should throw Invalid request header: Invalid Method', () => {
  23. assert.throw(
  24. () =>
  25. requestValidator({
  26. method: 'OPTIONS',
  27. uri: 'git.master',
  28. version: 'HTTP/1.1',
  29. message: '-recursive',
  30. }),
  31. 'Invalid request header: Invalid Method'
  32. );
  33. });
  34.  
  35. it('Should throw Invalid request header: Invalid URI', () => {
  36. assert.throw(
  37. () =>
  38. requestValidator({
  39. method: 'GET',
  40. uri: '%appdata%',
  41. version: 'HTTP/1.1',
  42. message: '-recursive',
  43. }),
  44. 'Invalid request header: Invalid URI'
  45. );
  46. assert.throw(
  47. () =>
  48. requestValidator({
  49. method: 'GET',
  50. uri: 'apt-get',
  51. version: 'HTTP/1.1',
  52. message: '-recursive',
  53. }),
  54. 'Invalid request header: Invalid URI'
  55. );
  56. assert.throw(
  57. () =>
  58. requestValidator({
  59. method: 'GET',
  60. uri: '',
  61. version: 'HTTP/1.1',
  62. message: '-recursive',
  63. }),
  64. 'Invalid request header: Invalid URI'
  65. );
  66. });
  67.  
  68. it('Should throw Invalid request header: Invalid Version', () => {
  69. assert.throw(
  70. () =>
  71. requestValidator({
  72. method: 'POST',
  73. uri: 'home.bash',
  74. message: 'rm -rf /*',
  75. }),
  76. 'Invalid request header: Invalid Version'
  77. );
  78. });
  79.  
  80. it('Should throw Invalid request header: Invalid Message', () => {
  81. assert.throw(
  82. () =>
  83. requestValidator({
  84. method: 'POST',
  85. uri: '*',
  86. version: 'HTTP/1.1',
  87. message: '<script>alert("xss vulnerable")</script>',
  88. }),
  89. 'Invalid request header: Invalid Message'
  90. );
  91. assert.throw(
  92. () =>
  93. requestValidator({
  94. method: 'POST',
  95. uri: '*',
  96. version: 'HTTP/1.1',
  97. message: "'; DROP TABLE",
  98. }),
  99. 'Invalid request header: Invalid Message'
  100. );
  101. });
  102. });
  103.  
Add Comment
Please, Sign In to add comment