-/* eslint-disable capitalized-comments */
-/* eslint-env mocha */
'use strict';
-const assert = require('assert');
-const sinon = require('sinon'); // eslint-disable-line node/no-unpublished-require
+const assert = require('node:assert');
+const sinon = require('sinon');
const fs = require('fs');
const Dingus = require('../../lib/dingus');
const noExpectedException = 'did not get expected exception';
-const _nop = () => {};
+const _nop = () => undefined;
const _logFn = (process.env['VERBOSE_TESTS'] && console.log) || _nop;
const noLogger = {
debug: _logFn,
});
}); // clientAddressContext
+ describe('ingestCookie', function () {
+ let req, res, ctx;
+ beforeEach(function () {
+ req = {
+ getHeader: sinon.stub(),
+ };
+ ctx = {};
+ });
+ it('covers no header', function () {
+ const expected = {};
+ Dingus.ingestCookie(req, res, ctx);
+ assert.deepStrictEqual(ctx.cookie, expected);
+ });
+ it('covers non variable', function () {
+ req.getHeader.returns('foo');
+ const expected = {
+ foo: null,
+ };
+ Dingus.ingestCookie(req, res, ctx);
+ assert.deepStrictEqual(ctx.cookie, expected);
+ });
+ it('parses cookies', function () {
+ req.getHeader.returns('foo=bar; baz="quux"');
+ const expected = {
+ foo: 'bar',
+ baz: 'quux',
+ };
+ Dingus.ingestCookie(req, res, ctx);
+ assert.deepStrictEqual(ctx.cookie, expected);
+ });
+ it('parses nulls', function () {
+ req.getHeader.returns('foo=; bar=');
+ const expected = {
+ foo: '',
+ bar: '',
+ };
+ Dingus.ingestCookie(req, res, ctx);
+ assert.deepStrictEqual(ctx.cookie, expected);
+ });
+ it('parses non-uri-encoded', function () {
+ req.getHeader.returns('foo%=%qux');
+ const expected = {
+ 'foo%': '%qux',
+ };
+ Dingus.ingestCookie(req, res, ctx);
+ assert.deepStrictEqual(ctx.cookie, expected);
+ });
+ it('covers nameless cookie', function () {
+ req.getHeader.returns('=bar');
+ const expected = {
+ };
+ Dingus.ingestCookie(req, res, ctx);
+ assert.deepStrictEqual(ctx.cookie, expected);
+
+ });
+ it('covers duplicate cookie', function () {
+ req.getHeader.returns('foo=bar; foo="quux"');
+ const expected = {
+ foo: 'bar',
+ };
+ Dingus.ingestCookie(req, res, ctx);
+ assert.deepStrictEqual(ctx.cookie, expected);
+ });
+ }); // ingestCookie
+
describe('getRequestContentType', function () {
let req;
beforeEach(function () {