UNPKG

sls-test-tools

Version:

Custom Jest Assertions for Serverless Projects

61 lines (48 loc) 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _general = require("../../helpers/general"); var _testResult = require("../../utils/testResult"); var _utils = require("../utils"); var _default = { // Import & use s3 type ? async toHaveContentEqualTo({ bucketName, objectName }, content) { const s3 = new _general.AWSClient.S3(); const params = { Bucket: bucketName, Key: objectName }; let message; try { const object = await s3.getObject(params).promise(); if (JSON.stringify(object.Body) === JSON.stringify(content)) { message = `expected ${objectName} to have content ${JSON.stringify(content)}`; return (0, _testResult.testResult)(message, true); } const stringifiedObjectBody = object.Body?.toString(); if (stringifiedObjectBody === undefined) { message = `expected ${objectName} to have content ${JSON.stringify(content)}, but content found was undefined`; return (0, _testResult.testResult)(message, false); } message = `expected ${objectName} to have content ${JSON.stringify(content)}, but content found was ${stringifiedObjectBody}`; return (0, _testResult.testResult)(message, false); } catch (error) { if ((0, _utils.isNoSuchKeyError)(error)) { message = `expected ${bucketName} to have object with name ${objectName} - not found`; return (0, _testResult.testResult)(message, false); } if ((0, _utils.isNoSuchBucketError)(error)) { message = `expected ${bucketName} to exist - not found`; return (0, _testResult.testResult)(message, false); } throw error; } } }; exports.default = _default; //# sourceMappingURL=index.js.map