faux-lambda 0.5 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 27f64243cbe049392b836b5e6dbb7c9af0308bed
4
- data.tar.gz: aff20d710af04c063beb96a287d80c3f5f2bc6f0
3
+ metadata.gz: 87764a85a01fcb5d17b6f530c6bd937351b250ba
4
+ data.tar.gz: 812b5811990bfe757370e139303d4635ad3261c6
5
5
  SHA512:
6
- metadata.gz: 3a7cbf03b35a0d9e7a4cfe76705d254bbdfbbed48a52801eb5c95903650a7c0bcf0bcb27eb2ebe1ef179a6e609852dc476510253aba0c300710b56fa6f32b82c
7
- data.tar.gz: 58ecad0b190c54a694a431e6659ac94dbf75603811fda1c1f8fd37a5d328e3517e99acdc6a9f8669c200a72dcb51ffedd611ebf5ec6456a0a538e8cd75efed05
6
+ metadata.gz: bc6796056d6448cc034e558d353804526ea77e6c33550a575caacd7f20b0ca2a4895efd8eff99523172dcd8d7f38ca1006e96de72a8e23ff4649cdca28e784e8
7
+ data.tar.gz: 9c1b1505f25c727db6f60636d6bf80c70bfd4bed1102aa05eef05b91f710c25349fb20e16a5a4a8e68be044ae4ac9c46d988f2559ea5ba0d8d2808ab1bb9c03b
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- faux-lambda (0.5)
4
+ faux-lambda (0.5.1)
5
5
  rack (~> 2.0)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -8,13 +8,13 @@ In its simplest form:
8
8
  ```
9
9
  gem install faux-lambda
10
10
  faux-lambda --reply='{}' &
11
- aws --endpoint http://localhost:9123 lambda invoke --function-name whatever
11
+ aws --endpoint http://localhost:9123 lambda invoke --function-name whatever /dev/stdout
12
12
  ```
13
13
 
14
14
  The CLI can also simulate specific scenarios:
15
15
  ```
16
16
  $ faux-lambda --function=foo --reply='{}' --function=bar --reply='{}' --reply='{}' --fail &
17
- $ aws --endpoint http://localhost:12345 lambda invoke --function-name foo
17
+ $ aws --endpoint http://localhost:12345 lambda invoke --function-name foo /dev/stdout
18
18
  Called foo with ...
19
19
  {}
20
20
  ```
@@ -22,10 +22,12 @@ parser = OptionParser.new do |opts|
22
22
  opts.banner = "AWS Lambda debugging endpoint, version #{FauxLambda::VERSION}."
23
23
  opts.separator('')
24
24
  opts.separator('Usage: faux-lambda --reply "Hello world!"')
25
+ opts.separator('Query specifiers:')
25
26
  opts.on('--function name', '-f name', 'Name of function to expect, optionally with :<qualifier>') do |function_name|
26
27
  current_function = function_name
27
28
  functions[current_function] = {replies: []}
28
29
  end
30
+ opts.separator('Reply specifiers:')
29
31
  opts.on('--reply payload', '-r payload', 'Data to respond with') do |payload|
30
32
  functions[current_function][:replies] << payload
31
33
  end
@@ -52,12 +54,19 @@ def function_data(functions, function_name, qualifier)
52
54
  functions[qualified_function_name] || functions[function_name] || functions[:default]
53
55
  end
54
56
 
57
+ def log(function_name, qualifier, payload, status_code, reply)
58
+ qualifier ||= "$LATEST"
59
+ puts "#{function_name}:#{qualifier} called with #{payload}, replying #{status_code}: #{reply}"
60
+ end
61
+
55
62
  app = Proc.new do |env|
56
63
  _, version, _, function_name, _ = env['REQUEST_PATH'].split('/')
57
64
  raise "Unknown version #{version}" unless version == '2015-03-31'
58
65
  qs = Rack::Utils.parse_nested_query(env["QUERY_STRING"])
66
+ qualifier = qs["Qualifier"]
67
+ payload = env['rack.input'].read
59
68
 
60
- data = function_data(functions, function_name, qs["Qualifier"])
69
+ data = function_data(functions, function_name, qualifier)
61
70
  reply = reply_from(data[:replies])
62
71
  if reply.nil?
63
72
  status_code = '404'
@@ -69,6 +78,7 @@ app = Proc.new do |env|
69
78
  status_code = '200'
70
79
  end
71
80
 
81
+ log(function_name, qualifier, payload, status_code, reply)
72
82
  headers = {'Content-Type' => 'application/octet-stream'}
73
83
  [status_code, headers, [reply]]
74
84
  end
@@ -1,3 +1,3 @@
1
1
  module FauxLambda
2
- VERSION = '0.5'
2
+ VERSION = '0.5.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faux-lambda
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.5'
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anders Qvist