const common = require('../../lib/common');
describe('common', function () {
- describe('fileScope', function () {
- it('names a file path', function () {
- const filename = 'lib/foo/bar.js';
- const result = common.fileScope(filename)('baz');
- assert.strictEqual(result, 'bar:baz');
- });
- it('names an index path', function () {
- const filename = 'lib/foo/index.js';
- const result = common.fileScope(filename)('baz');
- assert.strictEqual(result, 'foo:baz');
- });
- }); // fileScope
-
- describe('base64ToBase64URL', function () {
- it('works', function () {
- const b64 = 'ab/cd+e=';
- const expected = 'ab_cd-e';
- const result = common.base64ToBase64URL(b64);
- assert.strictEqual(result, expected);
- });
- }); // base64ToBase64URL
describe('pick', function () {
it('picks', function () {
});
}); // logTruncate
- describe('axiosResponseLogData', function () {
+ describe('gotResponseLogData', function () {
it('covers', function () {
const response = {
- status: 200,
- statusText: 'OK',
+ statusCode: 200,
+ statusMessage: '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.”',
+ timings: {
+ phases: {
+ total: 89,
+ },
+ },
+ retryCount: 0,
+ redirectUrls: [],
+ body: '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 = {
+ statusCode: 200,
+ statusMessage: 'OK',
+ elapsedTimeMs: 89,
+ headers: {
+ 'Content-Type': 'text/plain',
+ },
+ body: '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.gotResponseLogData(response);
+ assert.deepStrictEqual(result, expected);
+ });
+ it('covers no body', function () {
+ const response = {
+ statusCode: 200,
+ statusMessage: 'OK',
+ headers: {
+ 'Content-Type': 'text/plain',
+ },
+ timings: {
+ phases: {
+ total: 89,
+ },
+ },
+ retryCount: 1,
};
const expected = {
- status: 200,
- statusText: 'OK',
+ statusCode: 200,
+ statusMessage: '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)',
+ elapsedTimeMs: 89,
+ retryCount: 1,
+ };
+ const result = common.gotResponseLogData(response);
+ assert.deepStrictEqual(result, expected);
+ });
+ it('covers json', function () {
+ const response = {
+ statusCode: 200,
+ statusMessage: 'OK',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ timings: {
+ phases: {
+ total: 89,
+ },
+ },
+ body: {
+ foo: 'bar',
+ },
+ redirectUrls: ['https://redirect.example.com/'],
+ };
+ const expected = {
+ statusCode: 200,
+ statusMessage: 'OK',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ elapsedTimeMs: 89,
+ body: {
+ foo: 'bar',
+ },
+ redirectUrls: ['https://redirect.example.com/'],
};
- const result = common.axiosResponseLogData(response);
+ const result = common.gotResponseLogData(response);
assert.deepStrictEqual(result, expected);
});
- it('covers no data', function () {
+ it('covers buffer', function () {
const response = {
- status: 200,
- statusText: 'OK',
+ statusCode: 200,
+ statusMessage: 'OK',
headers: {
'Content-Type': 'text/plain',
},
+ timings: {
+ phases: {
+ total: 89,
+ },
+ },
+ body: Buffer.from('ᘛ⁐̤ᕐᐷ'),
};
const expected = {
- status: 200,
- statusText: 'OK',
+ statusCode: 200,
+ statusMessage: 'OK',
headers: {
'Content-Type': 'text/plain',
},
+ elapsedTimeMs: 89,
+ body: '<Buffer 14 bytes>',
};
- const result = common.axiosResponseLogData(response);
+ const result = common.gotResponseLogData(response);
+ assert.deepStrictEqual(result, expected);
+ });
+ }); // gotResponseLogData
+
+ describe('setSymmetricDifference', function () {
+ it('covers difference', function () {
+ const setA = new Set([1, 2, 3]);
+ const setB = new Set([2, 3, 4]);
+ const expected = new Set([1, 4]);
+ const result = common.setSymmetricDifference(setA, setB);
+ assert(result.size);
assert.deepStrictEqual(result, expected);
});
- }); // axiosResponseLogData
+ it('covers no difference', function () {
+ const setA = new Set([1, 2, 3, 4]);
+ const setB = new Set([1, 2, 3, 4]);
+ const expected = new Set();
+ const result = common.setSymmetricDifference(setA, setB);
+ assert(!result.size);
+ assert.deepStrictEqual(result, expected);
+ });
+ }); // setSymmetricDifference
+
+ describe('properURLComponentName', function () {
+ it('maps proper names', function () {
+ [
+ ['hash', 'fragment'],
+ ['protocol', 'scheme'],
+ ['host', 'host'],
+ ].forEach(([name, expected]) => {
+ const result = common.properURLComponentName(name);
+ assert.strictEqual(result, expected);
+ });
+ });
+ }); // properURLComponentName
-}); // common
\ No newline at end of file
+}); // common