const { promisify } = require('util');
const randomBytesAsync = promisify(randomBytes);
-/**
- * Pick out useful axios response fields.
- * @param {*} res
- * @returns
- */
-const axiosResponseLogData = (res) => {
- const data = common.pick(res, [
- 'status',
- 'statusText',
- 'headers',
- 'elapsedTimeMs',
- 'data',
- ]);
- if (data.data) {
- data.data = logTruncate(data.data, 100);
- }
- return data;
-};
-
/**
* Limit length of string to keep logs sane
* @param {String} str
module.exports = {
...common,
- axiosResponseLogData,
camelfy,
dateToEpoch,
ensureArray,
});
}); // freezeDeep
- describe('axiosResponseLogData', function () {
- it('covers', function () {
- const response = {
- status: 200,
- statusText: 'OK',
- headers: {
- 'Content-Type': 'text/plain',
- },
- otherData: 'blah',
- data: 'Old Mother West Wind had stopped to talk with the Slender Fir Tree. "I\'ve just come across the Green Meadows," said Old Mother West Wind, “and there I saw the Best Thing in the World.”',
- };
- const expected = {
- status: 200,
- statusText: 'OK',
- headers: {
- 'Content-Type': 'text/plain',
- },
- data: 'Old Mother West Wind had stopped to talk with the Slender Fir Tree. "I\'ve just come across the Green... (184 bytes)',
- };
- const result = common.axiosResponseLogData(response);
- assert.deepStrictEqual(result, expected);
- });
- it('covers no data', function () {
- const response = {
- status: 200,
- statusText: 'OK',
- headers: {
- 'Content-Type': 'text/plain',
- },
- };
- const expected = {
- status: 200,
- statusText: 'OK',
- headers: {
- 'Content-Type': 'text/plain',
- },
- };
- const result = common.axiosResponseLogData(response);
- assert.deepStrictEqual(result, expected);
- });
- }); // axiosResponseLogData
-
describe('logTruncate', function () {
it('returns short string', function () {
const str = 'this is a short string';