You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
4.1 KiB
129 lines
4.1 KiB
'use strict';
|
|
|
|
const assert = require('assert');
|
|
const isEligibleRequest = require('../lib/isEligibleRequest');
|
|
|
|
describe('isEligibleRequest function tests', () => {
|
|
it('should return true if the request method is POST & headers set', () => {
|
|
const req = {
|
|
method: 'POST',
|
|
headers: {
|
|
'content-length': '768751',
|
|
'content-type': 'multipart/form-data; boundary=----WebKitFormBoundaryz2D47BnVMA7w5N36'
|
|
}
|
|
};
|
|
const result = isEligibleRequest(req);
|
|
assert.equal(result, true);
|
|
});
|
|
it('should return true if the request method is PUT & headers set', () => {
|
|
const req = {
|
|
method: 'PUT',
|
|
headers: {
|
|
'content-length': '768751',
|
|
'content-type': 'multipart/form-data; boundary=----WebKitFormBoundaryz2D47BnVMA7w5N36'
|
|
}
|
|
};
|
|
const result = isEligibleRequest(req);
|
|
assert.equal(result, true);
|
|
});
|
|
it('should return true if the request method is PATCH & headers set', () => {
|
|
const req = {
|
|
method: 'PATCH',
|
|
headers: {
|
|
'content-length': '768751',
|
|
'content-type': 'multipart/form-data; boundary=----WebKitFormBoundaryz2D47BnVMA7w5N36'
|
|
}
|
|
};
|
|
const result = isEligibleRequest(req);
|
|
assert.equal(result, true);
|
|
});
|
|
it('should return false if the request method is POST & content length 0', () => {
|
|
const req = {
|
|
method: 'POST',
|
|
headers: {
|
|
'content-length': '0',
|
|
'content-type': 'multipart/form-data; boundary=----WebKitFormBoundaryz2D47BnVMA7w5N36'
|
|
}
|
|
};
|
|
const result = isEligibleRequest(req);
|
|
assert.equal(result, false);
|
|
});
|
|
it('should return false if the request method is POST & no content-length', () => {
|
|
const req = {
|
|
method: 'POST',
|
|
headers: {
|
|
'content-type': 'multipart/form-data; boundary=----WebKitFormBoundaryz2D47BnVMA7w5N36'
|
|
}
|
|
};
|
|
const result = isEligibleRequest(req);
|
|
assert.equal(result, false);
|
|
});
|
|
it('should return false if the request method is POST & no boundary', () => {
|
|
const req = {
|
|
method: 'POST',
|
|
headers: {
|
|
'content-length': '768751',
|
|
'content-type': 'multipart/form-data; ----WebKitFormBoundaryz2D47BnVMA7w5N36'
|
|
}
|
|
};
|
|
const result = isEligibleRequest(req);
|
|
assert.equal(result, false);
|
|
});
|
|
it('should return false if the request method is not POST, PUT or PATCH', () => {
|
|
const req = {
|
|
method: 'GET',
|
|
headers: {
|
|
'content-length': '768751',
|
|
'content-type': 'multipart/form-data; boundary=----WebKitFormBoundaryz2D47BnVMA7w5N36'
|
|
}
|
|
};
|
|
const result = isEligibleRequest(req);
|
|
assert.equal(result, false);
|
|
});
|
|
it('should return false if the request method is not POST, PUT or PATCH', () => {
|
|
const req = {
|
|
method: 'DELETE',
|
|
headers: {
|
|
'content-length': '768751',
|
|
'content-type': 'multipart/form-data; boundary=----WebKitFormBoundaryz2D47BnVMA7w5N36'
|
|
}
|
|
};
|
|
const result = isEligibleRequest(req);
|
|
assert.equal(result, false);
|
|
});
|
|
it('should return false if the request method is not POST, PUT or PATCH', () => {
|
|
const req = {
|
|
method: 'OPTIONS',
|
|
headers: {
|
|
'content-length': '768751',
|
|
'content-type': 'multipart/form-data; boundary=----WebKitFormBoundaryz2D47BnVMA7w5N36'
|
|
}
|
|
};
|
|
const result = isEligibleRequest(req);
|
|
assert.equal(result, false);
|
|
});
|
|
it('should return false if the request method is not POST, PUT or PATCH', () => {
|
|
const req = {
|
|
method: 'HEAD',
|
|
headers: {
|
|
'content-length': '768751',
|
|
'content-type': 'multipart/form-data; boundary=----WebKitFormBoundaryz2D47BnVMA7w5N36'
|
|
}
|
|
};
|
|
const result = isEligibleRequest(req);
|
|
assert.equal(result, false);
|
|
});
|
|
it('should return false if the request is empty or not provided', () => {
|
|
const result = isEligibleRequest();
|
|
assert.equal(result, false);
|
|
});
|
|
it('should return false if content-type is not specified.', () => {
|
|
const req = {
|
|
method: 'POST',
|
|
headers: { 'content-length': '768751' }
|
|
};
|
|
const result = isEligibleRequest(req);
|
|
assert.equal(result, false);
|
|
});
|
|
});
|