kstoyanov

1.Request Validator -unit

Oct 28th, 2020
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. describe('function requestValidator will receive an object as a parameter', () => {
  2.   it('Should return the same object', () => {
  3.     const expectedResult = {
  4.       method: 'GET',
  5.       uri: 'svn.public.catalog',
  6.       version: 'HTTP/1.1',
  7.       message: '',
  8.     };
  9.  
  10.     const result = requestValidator(expectedResult);
  11.  
  12.     expect(result).to.deep.equal(expectedResult);
  13.   });
  14.  
  15.   it('Should return object', () => {
  16.     const expectedResult = {
  17.       method: 'GET',
  18.       uri: 'svn.public.catalog',
  19.       version: 'HTTP/1.1',
  20.       message: '',
  21.     };
  22.  
  23.     const result = requestValidator(expectedResult);
  24.  
  25.     expect(result).to.be.an('object');
  26.   });
  27.  
  28.   it('Should return Error - Invalid request header: Invalid Method', () => {
  29.     const expectedResult = 'Invalid request header: Invalid Method';
  30.  
  31.     const result = () => requestValidator({
  32.       method: 'OPTIONS',
  33.       uri: 'git.master',
  34.       version: 'HTTP/1.1',
  35.       message: '-recursive',
  36.     });
  37.  
  38.     expect(result).to.throw(Error).which.has.property('message', expectedResult);
  39.   });
  40.  
  41.   it('Should return Error - Invalid request header: Invalid Version', () => {
  42.     const expectedResult = 'Invalid request header: Invalid Version';
  43.     const result = () => requestValidator({
  44.       method: 'POST',
  45.       uri: 'home.bash',
  46.       message: 'rm -rf /*',
  47.     });
  48.  
  49.     expect(result).to.throw(Error).which.has.property('message', expectedResult);
  50.   });
  51.  
  52.   it('Test Invalid output!', () => {
  53.     const expectedResult = 'Object was modified.';
  54.  
  55.     const result = requestValidator({
  56.       method: 'GET',
  57.       uri: 'svn.public.catalog',
  58.       version: 'HTTP/1.1',
  59.       message: '',
  60.     });
  61.  
  62.     expect(result.method).to.equal('GET', expectedResult);
  63.     expect(result.uri).to.equal('svn.public.catalog', expectedResult);
  64.     expect(result.version).to.equal('HTTP/1.1', expectedResult);
  65.     expect(result.message).to.equal('', expectedResult);
  66.   });
  67.  
  68.   it('Should return Error - Invalid request header: Invalid URI', () => {
  69.     const expectedResult = 'Invalid request header: Invalid URI';
  70.  
  71.     const result = () => requestValidator({
  72.       method: 'POST',
  73.       version: 'HTTP/2.0',
  74.       message: 'rm -rf /*',
  75.     });
  76.  
  77.     expect(result).to.throw(Error).which.has.property('message', expectedResult);
  78.   });
  79.  
  80.   it('Should return Error - Invalid request header: Invalid Message', () => {
  81.     const expectedResult = 'Invalid request header: Invalid Message';
  82.  
  83.     const result = () => requestValidator({
  84.       method: 'POST',
  85.       uri: 'home.bash',
  86.       version: 'HTTP/2.0',
  87.     });
  88.  
  89.     expect(result).to.throw(Error).which.has.property('message', expectedResult);
  90.   });
  91.  
  92.   describe('Test Regex isn\'t rejecting valid values', () => {
  93.     it('Should return Error with params {} - Invalid request header: Invalid Method', () => {
  94.       const expectedResult = 'Invalid request header: Invalid Method';
  95.  
  96.       const result = () => requestValidator({});
  97.  
  98.       expect(result).to.throw(Error).which.has.property('message', expectedResult);
  99.     });
  100.  
  101.     it('Should return Error - Invalid request header: Invalid URI', () => {
  102.       const expectedResult = 'Invalid request header: Invalid URI';
  103.  
  104.       const result = () => requestValidator({
  105.         method: 'GET',
  106.       });
  107.  
  108.       expect(result).to.throw(Error).which.has.property('message', expectedResult);
  109.     });
  110.  
  111.     it('Should return Error - Invalid request header: Invalid Version', () => {
  112.       const expectedResult = 'Invalid request header: Invalid Version';
  113.  
  114.       const result = () => requestValidator({
  115.         method: 'GET',
  116.         uri: 'svn.public.catalog',
  117.       });
  118.  
  119.       expect(result).to.throw(Error).which.has.property('message', expectedResult);
  120.     });
  121.  
  122.     it('Should return Error - Invalid request header: Invalid Message', () => {
  123.       const expectedResult = 'Invalid request header: Invalid Message';
  124.  
  125.       const result = () => requestValidator({
  126.         method: 'GET',
  127.         uri: 'svn.public.catalog',
  128.         version: 'HTTP/1.1',
  129.       });
  130.  
  131.       expect(result).to.throw(Error).which.has.property('message', expectedResult);
  132.     });
  133.   });
  134. });
Add Comment
Please, Sign In to add comment