{"_id":"aws-lambda-test-utils","_rev":"12-c4a5f3d8d049fa5375d858c66efd72d9","name":"aws-lambda-test-utils","description":"Test your AWS Lambda Functions for reals!","dist-tags":{"latest":"1.3.0"},"versions":{"1.0.0":{"name":"aws-lambda-test-utils","version":"1.0.0","description":"Test your AWS Lambda Functions for reals!","main":"index.js","scripts":{"test":"tape"},"repository":{"type":"git","url":"git+https://github.com/dwyl/aws-lambda-test-utils.git"},"keywords":["labmda","testing","mock","context","event","aws"],"author":{"name":"Nikhi & Nelson :-)"},"license":"GPL-2.0","bugs":{"url":"https://github.com/dwyl/aws-lambda-test-utils/issues"},"homepage":"https://github.com/dwyl/aws-lambda-test-utils#readme","gitHead":"b3b5f2bac247f93baea075d705da2fe006a97c01","_id":"aws-lambda-test-utils@1.0.0","_shasum":"f6a07a4b581bea8a076b29e56d69a2dc53d19126","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"nelsonic","email":"contact.nelsonic@gmail.com"},"dist":{"shasum":"f6a07a4b581bea8a076b29e56d69a2dc53d19126","tarball":"https://registry.npmjs.org/aws-lambda-test-utils/-/aws-lambda-test-utils-1.0.0.tgz","integrity":"sha512-nX3B0Hk8rtrqrhsLZUYrpj/Px8GwA8qzRzDWEUWpRCyYi1Dz+Ndsdfg9aUVzMh4+Itdjc7QT+db3o1722JgYUw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDs09tUOsMCiU/WdjBlbOIc6WQOPCfFHUL5+O7caPW+xAiEA2yc0pBOl9HS75QBOBDUETPyB/xlsEiL4GfIssf0uqig="}]},"maintainers":[{"name":"nelsonic","email":"contact.nelsonic@gmail.com"}],"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/aws-lambda-test-utils-1.0.0.tgz_1454514164445_0.7681645601987839"},"directories":{}},"1.0.1":{"name":"aws-lambda-test-utils","version":"1.0.1","description":"Test your AWS Lambda Functions for reals!","main":"index.js","scripts":{"dev":"tape test/*.js","test":"istanbul cover ./node_modules/tape/bin/tape ./test/*.js","coverage":"istanbul cover ./node_modules/tape/bin/tape ./test/*.js && istanbul check-coverage --statements 100 --functions 100 --lines 100 --branches 100"},"repository":{"type":"git","url":"git+https://github.com/dwyl/aws-lambda-test-utils.git"},"keywords":["labmda","testing","mock","context","event","aws"],"author":{"name":"Nikhi & Nelson :-)"},"license":"GPL-2.0","bugs":{"url":"https://github.com/dwyl/aws-lambda-test-utils/issues"},"homepage":"https://github.com/dwyl/aws-lambda-test-utils#readme","devDependencies":{"istanbul":"^0.4.2","tape":"^4.4.0"},"gitHead":"7450c0b659e4d825425ba2088e88d720a575b57b","_id":"aws-lambda-test-utils@1.0.1","_shasum":"aa5f59c08f5878011e707a6aeedccd9b3833e0b2","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.2","_npmUser":{"name":"nikhilaravi","email":"nikkiravi92@gmail.com"},"dist":{"shasum":"aa5f59c08f5878011e707a6aeedccd9b3833e0b2","tarball":"https://registry.npmjs.org/aws-lambda-test-utils/-/aws-lambda-test-utils-1.0.1.tgz","integrity":"sha512-i6Lk3OucIBFzE1Hq0J6JezLQT8eA7Zr+rIHOajx/gb1RypiuozWJUuaYir9+vxVY46Idmz+jbQdlK7ZZG4wLCw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCuHN2bX0lCmIvdT2XH2GCTzwCZbW5etqGs0eGR78bH3AIhALmw0HckqNeGjQfPnBvH7CBVpO3fOq8jSmle99MOER7f"}]},"maintainers":[{"name":"nelsonic","email":"contact.nelsonic@gmail.com"},{"name":"nikhilaravi","email":"nikkiravi92@gmail.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/aws-lambda-test-utils-1.0.1.tgz_1454604804671_0.9001786531880498"},"directories":{}},"1.0.2":{"name":"aws-lambda-test-utils","version":"1.0.2","description":"Test your AWS Lambda Functions for reals!","main":"index.js","scripts":{"dev":"tape test/*.js","test":"istanbul cover ./node_modules/tape/bin/tape ./test/*.js","coverage":"istanbul cover ./node_modules/tape/bin/tape ./test/*.js && istanbul check-coverage --statements 100 --functions 100 --lines 100 --branches 100"},"repository":{"type":"git","url":"git+https://github.com/dwyl/aws-lambda-test-utils.git"},"keywords":["lambda","testing","mock","context","event","aws"],"author":{"name":"Nikhi & Nelson :-)"},"license":"GPL-2.0","bugs":{"url":"https://github.com/dwyl/aws-lambda-test-utils/issues"},"homepage":"https://github.com/dwyl/aws-lambda-test-utils#readme","devDependencies":{"istanbul":"^0.4.2","tape":"^4.4.0"},"gitHead":"6b4b5ed46f97d3c37d07814cff8de92f61f05fd9","_id":"aws-lambda-test-utils@1.0.2","_shasum":"faa7d1c84fd3302b2c3287f1703bf5e4a7bd06c5","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.2","_npmUser":{"name":"nikhilaravi","email":"nikkiravi92@gmail.com"},"dist":{"shasum":"faa7d1c84fd3302b2c3287f1703bf5e4a7bd06c5","tarball":"https://registry.npmjs.org/aws-lambda-test-utils/-/aws-lambda-test-utils-1.0.2.tgz","integrity":"sha512-DMWK3jsJnLA4OkNLamHSy6OhdwRbHdI2fxNVatYriElCeM1VVdUYw4HAtQeDRmNfvlzQUo8SEGiT/bFxhhZYtA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0BOVB9N2uykpVBYQq5We/Jd6f4jvvethtMSzG3sqx3AIgJfDzXO8U5CYSLkSPN0keIhzXFbUn5sjXbFKXyWAaWq4="}]},"maintainers":[{"name":"nelsonic","email":"contact.nelsonic@gmail.com"},{"name":"nikhilaravi","email":"nikkiravi92@gmail.com"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/aws-lambda-test-utils-1.0.2.tgz_1454692547326_0.23140343790873885"},"directories":{}},"1.1.0":{"name":"aws-lambda-test-utils","version":"1.1.0","description":"Test your AWS Lambda Functions for reals!","main":"index.js","scripts":{"dev":"tape test/*.js","test":"istanbul cover ./node_modules/tape/bin/tape ./test/*.js","coverage":"istanbul cover ./node_modules/tape/bin/tape ./test/*.js && istanbul check-coverage --statements 100 --functions 100 --lines 100 --branches 100"},"repository":{"type":"git","url":"git+https://github.com/dwyl/aws-lambda-test-utils.git"},"keywords":["lambda","testing","mock","context","event","aws"],"author":{"name":"Nikhi & Nelson :-)"},"license":"GPL-2.0","bugs":{"url":"https://github.com/dwyl/aws-lambda-test-utils/issues"},"homepage":"https://github.com/dwyl/aws-lambda-test-utils#readme","devDependencies":{"istanbul":"^0.4.2","tape":"^4.4.0"},"gitHead":"3695cae232b2e37ef972deee1b3eb1b89fca4b0c","_id":"aws-lambda-test-utils@1.1.0","_shasum":"d1849ba394f5d2753d130ded2d4280ff266f9966","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.0","_npmUser":{"name":"nelsonic","email":"contact.nelsonic@gmail.com"},"dist":{"shasum":"d1849ba394f5d2753d130ded2d4280ff266f9966","tarball":"https://registry.npmjs.org/aws-lambda-test-utils/-/aws-lambda-test-utils-1.1.0.tgz","integrity":"sha512-jyvlU3FdCHlJDWwlhwH+bZZbZZSC41Gg8PqqSNKm5tTVwmyXF57SkniGIVWkrM85J6emejgv4jqNNkMkP1xBcg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFMIb9aI3eEfrMYRye/xZNShoqlOQ5RQtBaXFCec7h2IAiAksIgxxVc7Tray62AaCHUJgZq60yGMSKY0M/DhTeK70g=="}]},"maintainers":[{"name":"nelsonic","email":"contact.nelsonic@gmail.com"},{"name":"nikhilaravi","email":"nikkiravi92@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/aws-lambda-test-utils-1.1.0.tgz_1492729093691_0.8323420800734311"},"directories":{}},"1.2.0":{"name":"aws-lambda-test-utils","version":"1.2.0","description":"Test your AWS Lambda Functions for reals!","main":"index.js","scripts":{"dev":"tape test/*.js","test":"istanbul cover ./node_modules/tape/bin/tape ./test/*.js","coverage":"istanbul cover ./node_modules/tape/bin/tape ./test/*.js && istanbul check-coverage --statements 100 --functions 100 --lines 100 --branches 100"},"repository":{"type":"git","url":"git+https://github.com/dwyl/aws-lambda-test-utils.git"},"keywords":["lambda","testing","mock","context","event","aws"],"author":{"name":"Nikhi & Nelson :-)"},"license":"GPL-2.0","bugs":{"url":"https://github.com/dwyl/aws-lambda-test-utils/issues"},"homepage":"https://github.com/dwyl/aws-lambda-test-utils#readme","devDependencies":{"istanbul":"^0.4.2","tape":"^4.4.0"},"gitHead":"830a31bfd7a9957cfd57faf01d6242ea3e053827","_id":"aws-lambda-test-utils@1.2.0","_shasum":"8c9f5b521880209229da435b3f84ada75f4ee98c","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.0","_npmUser":{"name":"nelsonic","email":"contact.nelsonic@gmail.com"},"dist":{"shasum":"8c9f5b521880209229da435b3f84ada75f4ee98c","tarball":"https://registry.npmjs.org/aws-lambda-test-utils/-/aws-lambda-test-utils-1.2.0.tgz","integrity":"sha512-qDnT2Hnj3JL0WANkNI0BO1O8jjbUQ8g3plibX4mNK1z6YBkpuuKeSuAEJUEtzTKsEkYiDGu5UqvOa3zC0eVhAw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCf/folW56PPCuAU2lGw85+SxdyaduQqMQpfi0TmVzxBgIhAKmV42CzRTCarX70jRzAZZl8x+XtEz1vOo/PUKCH8zKS"}]},"maintainers":[{"name":"nelsonic","email":"contact.nelsonic@gmail.com"},{"name":"nikhilaravi","email":"nikkiravi92@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/aws-lambda-test-utils-1.2.0.tgz_1493097495527_0.49222109001129866"},"directories":{}},"1.3.0":{"name":"aws-lambda-test-utils","version":"1.3.0","description":"Test your AWS Lambda Functions for reals!","main":"index.js","scripts":{"dev":"tape test/*.js","test":"istanbul cover ./node_modules/tape/bin/tape ./test/*.js","coverage":"istanbul cover ./node_modules/tape/bin/tape ./test/*.js && istanbul check-coverage --statements 100 --functions 100 --lines 100 --branches 100"},"repository":{"type":"git","url":"git+https://github.com/dwyl/aws-lambda-test-utils.git"},"keywords":["lambda","testing","mock","context","event","aws"],"author":{"name":"Nikhi & Nelson :-)"},"license":"GPL-2.0","bugs":{"url":"https://github.com/dwyl/aws-lambda-test-utils/issues"},"homepage":"https://github.com/dwyl/aws-lambda-test-utils#readme","devDependencies":{"istanbul":"^0.4.2","tape":"^4.4.0"},"gitHead":"8ee3dd9a1b8576906f1beb817b369814b4c00015","_id":"aws-lambda-test-utils@1.3.0","_shasum":"babb720717977e11bf1f91ebe47738ce16be8b25","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.0","_npmUser":{"name":"nelsonic","email":"contact.nelsonic@gmail.com"},"dist":{"shasum":"babb720717977e11bf1f91ebe47738ce16be8b25","tarball":"https://registry.npmjs.org/aws-lambda-test-utils/-/aws-lambda-test-utils-1.3.0.tgz","integrity":"sha512-UVqm7y+y0ZH3WuBMdLj0m/DOw6DoAkwmRL2pkfQoNFrF7wVZ2jUChgbkE3hDWY9/TWsf1eRssgpxJZcewRYakQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+b8BSbtyIn5hvCyPV9z0dsLPfpakC6bbLA0VbfJlI8wIgSC3p91pXdE3BfVv2KicUjiAh3pY6a0KeguSUSyBgfqY="}]},"maintainers":[{"name":"nelsonic","email":"contact.nelsonic@gmail.com"},{"name":"nikhilaravi","email":"nikkiravi92@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-lambda-test-utils-1.3.0.tgz_1506685527571_0.2543978001922369"},"directories":{}}},"readme":"# aws-lambda-test-utils\n\nTesting your AWS Lambda Functions does not need to be difficult or complex.\n\n[![Build Status](https://travis-ci.org/dwyl/aws-lambda-test-utils.svg?branch=master)](https://travis-ci.org/dwyl/aws-lambda-test-utils)\n[![codecov.io](https://codecov.io/github/dwyl/aws-lambda-test-utils/coverage.svg?branch=master)](https://codecov.io/github/dwyl/aws-lambda-test-utils?branch=master)\n[![Dependency Status](https://david-dm.org/dwyl/aws-lambda-test-utils.svg)](https://david-dm.org/dwyl/aws-lambda-test-utils)\n[![devDependency Status](https://david-dm.org/dwyl/aws-lambda-test-utils/dev-status.svg)](https://david-dm.org/dwyl/aws-lambda-test-utils#info=devDependencies)\n\n[![NPM](https://nodei.co/npm-dl/aws-lambda-test-utils.png?months=3)](https://nodei.co/npm/aws-lambda-test-utils/)\n\nIf you are *new* to Amazon WebServices Lambda\n(*or need a refresher*),\nplease checkout our our  \n***Beginners Guide to AWS Lambda***:\nhttps://github.com/dwyl/learn-aws-lambda\n\n## Why?\n\nTesting your code is *essential* everywhere you need *reliability*.\n\nAWS Lambda has a **Testing _Console_** which is a *web-based*\nway of invoking your function(s) with a given input and\nmonitoring the result. But this quite slow and *cannot be automated* (*yet*).\n\n## What?\n\nThe simplest *possilbe* way we could think of for Testing\nour AWS Lambda functions.\n\n## *How*? (*Usage*)\n\n### *install* `aws-lambda-test-utils` from NPM\n\n```sh\nnpm install aws-lambda-test-utils --save-dev\n```\n\n### Use in your Tests\n\n### Mock Context\n\nAn example of using the `mockContextCreator` in an example test.\n\n```js\n'use strict';\nvar test               = require('tape');\nvar utils              = require('aws-lambda-test-utils')\nvar mockContextCreator = utils.mockContextCreator;\nvar index              = require('./index.js'); // lambda function\n\nvar ctxOpts = {\n  functionName: 'LambdaTest',\n  functionVersion: '1',\n  invokedFunctionArn: 'arn:aws:lambda:eu-west-1:655240711487:function:LambdaTest:ci'\n};\nvar testEvent = { key1: 'value1' };\n\ntest('LambdaTest', function(t){\n  t.test(\"LambdaTest: returns value when given event with key1 property\", function(st) {\n    function test(result){\n      st.equals(result, \"value1\")\n      st.end();\n    };\n    var context = mockContextCreator({}, test); // no options and test as the callback\n    index.handler(testEvent, context);\n  });\n  t.test(\"LambdaTest: returns value when given event with key1 property\", function(st) {\n    function test(result){\n      st.equals(result, \"value1\")\n      st.end();\n    };\n    var context = mockContextCreator(ctxOpts, test); // context options specified and test as the callback\n    index.handler(testEvent, context);\n  });\n  t.end();\n});\n```\n\n### Mock Events\nThis helper can be used to mock event objects created by AWS services like S3, SNS, or DynamoDB.\n\n```js\nvar utils = require('aws-lambda-test-utils');\n\n// has 3 methods on it: createDynamoDBEvent, createSNSEvent, createS3Event\nvar mockEventCreator = utils.mockEventCreator;\n```\n\n\n\n#### `createDynamoDBEvent(options)`\n\nCreates a mock DynamoDB event.\n```js\nvar utils = require('aws-lambda-test-utils');\nvar dynamoEvent = utils.mockEventCreator.createDynamoDBEvent();\n\n// Default options (which can be overridden):\n{\n  awsRegion: \"eu-west-1\",\n  eventSourceARN: \"arn:aws:dynamodb:us-west-2:account-id:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899\",\n  events: [{type: \"INSERT\", number: 1}]\n};\n\n```\n\n#### `createSNSEvent(options)`\n\n```js\nvar utils = require('aws-lambda-test-utils');\nvar dynamoEvent = utils.mockEventCreator.createSNSEvent();\n\n// Default options (which can be overridden):\n{\n  message: \"default test message\"\n};\n\n```\n\n#### `createS3Event()`\n\n```js\nvar utils = require('aws-lambda-test-utils');\nvar dynamoEvent = utils.mockEventCreator.createS3Event();\n\n```\n#### `createAPIGatewayEvent(options)`\n\n```js\nvar utils = require('aws-lambda-test-utils');\nvar APIGatewayEvent = utils.mockEventCreator.createAPIGatewayEvent();\n\n// Default options (which can be overridden):\n{\n  path: \"default/path\",\n  method: \"GET\",\n  headers: {\n    \"default-header\": 'default'\n  },\n  queryStringParameters: {\n    query: \"default\"\n  },\n  pathParameters: {\n    uuid: '1234'\n  },\n  stageVariables: {\n    ENV: \"test\"\n  },\n  body: \"default body\"\n}\n\n```\n\n\n## Documentation\n\n### Lambda Function `event` & `context`\n\nEvery AWS Lambda function take two parameters `event` & `context`\n\n### `context`\n\nThe 'context' object has the following form:\n\n```js\n{\n  //methods\n  success,\n  done,\n  fail,\n  getRemainingTimeInMillis,\n\n  //properties\n  functionName,\n  functionVersion,\n  invokedFunctionArn,\n  memoryLimitInMB,\n  awsRequestId,\n  logGroupName,\n  logStreamName,\n  identity: {\n    cognito_identity_id,\n    cognito_identity_pool_id\n  },\n  clientContext: {\n    client: {\n      installation_id,\n      app_title,\n      app_version_name,\n      app_version_code,\n      app_package_name,\n      Custom,\n    },\n    env: {\n      platform_version\n      platform,\n      make,\n      model,\n      locale,\n    }\n  }\n}\n```\n\nThe properties of the context object can be specified in an options parameter to the `mockContextCreator` function.  \n\n## Background Reading\n\n+\n\n## TODO\n\n* Add stubs for AWS SDK methods\n","maintainers":[{"name":"nelsonic","email":"contact.nelsonic@gmail.com"},{"name":"nikhilaravi","email":"nikkiravi92@gmail.com"}],"time":{"modified":"2022-06-13T03:54:50.400Z","created":"2016-02-03T15:42:45.722Z","1.0.0":"2016-02-03T15:42:45.722Z","1.0.1":"2016-02-04T16:53:27.719Z","1.0.2":"2016-02-05T17:15:50.038Z","1.1.0":"2017-04-20T22:58:15.627Z","1.2.0":"2017-04-25T05:18:17.414Z","1.3.0":"2017-09-29T11:45:28.431Z"},"homepage":"https://github.com/dwyl/aws-lambda-test-utils#readme","keywords":["lambda","testing","mock","context","event","aws"],"repository":{"type":"git","url":"git+https://github.com/dwyl/aws-lambda-test-utils.git"},"author":{"name":"Nikhi & Nelson :-)"},"bugs":{"url":"https://github.com/dwyl/aws-lambda-test-utils/issues"},"license":"GPL-2.0","readmeFilename":"README.md","users":{"wstowersguestdna":true,"cyberx11":true,"floby":true}}