UNPKG

7 kBJavaScriptView Raw
1var AWS = require('aws-sdk')
2
3var gateway = AWS.APIGateway
4AWS.APIGateway = function() {
5 var obj = new gateway()
6
7 obj.getRestApis = function(params, callback) {
8 callback(null, {
9 "items": [
10 {
11 "id": "o9kvzup3g2",
12 "name": "test2",
13 "description": "this is a test",
14 "createdDate": "2015-12-16T18:45:15.000Z"
15 }
16 ]
17 })
18 }
19
20 obj.createDeployment = function(params, callback) {
21 callback(null, {
22 id: 'l4nono',
23 createdDate: '2015-12-16T18:45:15.000Z',
24 })
25 }
26
27 obj.getStages = function(params, callback) {
28 callback(null, {
29 item:
30 [
31 {
32 deploymentId: 'l4nono',
33 stageName: 'dev',
34 cacheClusterEnabled: false,
35 cacheClusterStatus: 'NOT_AVAILABLE',
36 methodSettings: {},
37 createdDate: '2015-12-16T18:45:15.000Z',
38 lastUpdatedDate: '2015-12-16T18:45:15.000Z',
39 }
40 ]
41 })
42 }
43
44 obj.getResources = function(params, callback) {
45 callback(null, {
46 "items": [
47 {
48 "id": "et8yke",
49 "parentId": "n8lbb78g76",
50 "pathPart": "test",
51 "path": "/test"
52 },
53 {
54 "id": "n8lbb78g76",
55 "path": "/",
56 "resourceMethods": {
57 "GET": {},
58 "POST": {}
59 }
60 }
61 ]
62 })
63 }
64
65 obj.putMethod = function(params, callback) {
66 callback(null, {
67 "httpMethod": "POST",
68 "authorizationType": "NONE",
69 "apiKeyRequired": false
70 })
71 }
72
73 obj.createResource = function(params, callback) {
74 callback(null, {
75 "id": "et8yke",
76 "parentId": "n8lbb78g76",
77 "pathPart": "test",
78 "path": "/test"
79 })
80 }
81
82 obj.putIntegration = function(params, callback) {
83 callback(null, {
84 "type": "AWS",
85 "httpMethod": "POST",
86 "uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:551937714682:function:testFunction/invocations",
87 "requestTemplates": {
88 "application/json": "{\n \"querystring\" : {\n #foreach($key in $input.params().querystring.keySet())\n #if($foreach.index > 0), #end\n \"$util.escapeJavaScript($key)\": \"$util.escapeJavaScript($input.params().querystring.get($key))\"\n #end\n },\n \"header\" : {\n #foreach($key in $input.params().header.keySet())\n #if($foreach.index > 0), #end\n \"$util.escapeJavaScript($key)\": \"$util.escapeJavaScript($input.params().header.get($key))\"\n #end\n },\n \"path\" : {\n #foreach($key in $input.params().path.keySet())\n #if($foreach.index > 0), #end\n \"$util.escapeJavaScript($key)\": \"$util.escapeJavaScript($input.params().path.get($key))\"\n #end\n },\n \"body\" : $input.json('$')\n}"
89 },
90 "cacheNamespace": "n8lbb78g76",
91 "cacheKeyParameters": []
92 })
93 }
94
95 obj.putIntegrationResponse = function(params, callback) {
96 callback(null, {
97 "statusCode": "200",
98 "selectionPattern": ".*",
99 "responseParameters": {},
100 "responseTemplates": {}
101 })
102 }
103
104 obj.putMethodResponse = function(params, callback) {
105 callback(null, {
106 "statusCode": "200",
107 "responseParameters": {},
108 "responseModels": {}
109 })
110 }
111
112 // obj.createRestApi = function(params, callback) {
113 //
114 // }
115
116 return obj
117}
118
119var iam = AWS.IAM
120AWS.IAM = function() {
121 var obj = new iam()
122
123 obj.listRoles = function(callback) {
124 callback(null, {
125 "ResponseMetadata": {
126 "RequestId": "578b9c46-c352-11e5-a92d-cb5f21fe3353"
127 },
128 "Roles": [
129 {
130 "Path": "/",
131 "RoleName": "lambda_dynamo",
132 "RoleId": "RROAIARHBGRXWOH6BQHSM",
133 "Arn": "arn:aws:iam::551937714682:role/lambda_dynamo",
134 "CreateDate": "2016-01-19T18:30:49.000Z",
135 "AssumeRolePolicyDocument": "%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D"
136 }
137 ]
138 })
139 }
140
141 obj.createRole = function(params, callback) {
142 callback(null, {
143 "ResponseMetadata": {
144 "RequestId": "4369fef8-c353-11e5-a8d3-0f8f31dffa74"
145 },
146 "Role": {
147 "Path": "/",
148 "RoleName": "lambda_dynamo2",
149 "RoleId": "RROAI7EMUBAUGAASLFKVC",
150 "Arn": "arn:aws:iam::551937714682:role/lambda_dynamo2",
151 "CreateDate": "2016-01-25T11:03:28.684Z",
152 "AssumeRolePolicyDocument": "%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D"
153 }
154 })
155 }
156
157 return obj
158}
159
160var lambda = AWS.Lambda
161AWS.Lambda = function() {
162 var obj = new lambda()
163
164 obj.createFunction = function(params, callback) {
165 callback(null, {
166 "FunctionName": "testFunction",
167 "FunctionArn": "arn:aws:lambda:us-east-1:551937714682:function:testFunction",
168 "Runtime": "nodejs",
169 "Role": "arn:aws:iam::551937714682:role/lambda_dynamo",
170 "Handler": "index.run",
171 "CodeSize": 123141,
172 "Description": "",
173 "Timeout": 3,
174 "MemorySize": 256,
175 "LastModified": "2016-01-25T11:26:18.574+0000",
176 "CodeSha256": "Y5KAYRYkYV4EUjZNpUcULXeiJWgRB5wGUjXq6XeIO9Y=",
177 "Version": "$LATEST"
178 })
179 }
180
181 obj.addPermission = function(params, callback) {
182 callback(null, {
183 "Statement": "{\"Action\":[\"lambda:InvokeFunction\"],\"Resource\":\"arn:aws:lambda:us-east-1:551937714682:function:testFunction\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"apigateway.amazonaws.com\"},\"Sid\":\"3ccda8e0-d2ec-43a3-b20e-8242ff270da1\"}"
184 })
185 }
186
187 obj.updateFunctionCode = function(params, callback) {
188 callback(null, {
189 "FunctionName": "testFunction",
190 "FunctionArn": "arn:aws:lambda:us-east-1:551937714682:function:testFunction",
191 "Runtime": "nodejs",
192 "Role": "arn:aws:iam::551937714682:role/lambda_dynamo",
193 "Handler": "index.handler",
194 "CodeSize": 123141,
195 "Description": "",
196 "Timeout": 3,
197 "MemorySize": 256,
198 "LastModified": "2016-01-25T11:42:20.895+0000",
199 "CodeSha256": "cXmXSL2lJgpfhoYdrPd6g0BV0Z0G8qCPadUGqEOWNcU=",
200 "Version": "$LATEST"
201 })
202 }
203
204 obj.updateFunctionConfiguration = function(params, callback) {
205 callback(null, {
206 "FunctionName": "testFunction",
207 "FunctionArn": "arn:aws:lambda:us-east-1:551937714682:function:testFunction",
208 "Runtime": "nodejs",
209 "Role": "arn:aws:iam::551937714682:role/lambda_dynamo",
210 "Handler": "index.handler",
211 "CodeSize": 123141,
212 "Description": "",
213 "Timeout": 3,
214 "MemorySize": 256,
215 "LastModified": "2016-01-25T11:42:21.663+0000",
216 "CodeSha256": "cXmXSL2lJgpfhoYdrPd6g0BV0Z0G8qCPadUGqEOWNcU=",
217 "Version": "$LATEST"
218 })
219 }
220
221 return obj
222}