UNPKG

cdk-ssm-secure-iam-access-key

Version:

Creates an IAM Access Key for a provided IAM User and stores the result in an SSM SecureString Parameter

77 lines (61 loc) 1.88 kB
import { _toBool, _toNum, _toStr } from "./coercing-serializers"; const consoleWarn = console.warn; beforeAll(() => { console.warn = () => {}; }); afterAll(() => { console.warn = consoleWarn; }); describe(_toBool.name, () => { it("ignores nullish", () => { expect(_toBool(null)).toBe(null); expect(_toBool(undefined)).toBe(undefined); }); it("converts strings", () => { expect(_toBool("false")).toEqual(false); expect(_toBool("true")).toEqual(true); expect(_toBool("False")).toEqual(false); expect(_toBool("True")).toEqual(true); expect(_toBool("")).toEqual(false); expect(_toBool("a")).toEqual(true); // warns }); it("does not convert numbers", () => { expect(_toBool(0)).toEqual(0); expect(_toBool(1)).toEqual(1); }); }); describe(_toStr.name, () => { it("ignores nullish", () => { expect(_toStr(null)).toBe(null); expect(_toStr(undefined)).toBe(undefined); }); it("converts numbers", () => { expect(_toStr(0)).toEqual("0"); expect(_toStr(1)).toEqual("1"); }); it("converts booleans", () => { expect(_toStr(false)).toEqual("false"); expect(_toStr(true)).toEqual("true"); }); }); describe(_toNum.name, () => { it("ignores nullish", () => { expect(_toNum(null)).toBe(null); expect(_toNum(undefined)).toBe(undefined); }); it("converts numeric strings", () => { expect(_toNum("1234")).toEqual(1234); expect(_toNum("1234.56")).toEqual(1234.56); }); it("does not convert prefix-numeric strings", () => { expect(_toNum("1234abc")).toEqual("1234abc"); expect(_toNum("1234.56abc")).toEqual("1234.56abc"); }); it("does not convert non-numeric strings", () => { expect(_toNum("abcdef")).toEqual("abcdef"); }); it("does not convert bools", () => { expect(_toNum(false)).toEqual(false); expect(_toNum(true)).toEqual(true); }); });