alchemy-flux 0.1.0 → 0.1.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: 5a327fc796ea41d71457f4f9e249b14dda5e2f46
4
- data.tar.gz: f0ce071c56839bef1b0ae78e672c4c678da5b647
3
+ metadata.gz: 0463ad7d5c1aa55b5f1503bd3990a1545bf1788e
4
+ data.tar.gz: 770ba48ecaf36a72f1f476bf6c4b1f73aa4d8a62
5
5
  SHA512:
6
- metadata.gz: f98f19c5ddf89054ce5b6b5f15042e4bb312b6f3ad2b9f3542105961bf06306b40f2c146438b2e5453203d6808b459d89233014d59042ebe5b714edb391db864
7
- data.tar.gz: 77e07d45742a39e847f568970232c8addd7ddb7eb939d54bd2ab249dce741371e529490b19bc7dbc9a26a02ec885a8461701fddfe24bfa474b5c030ae6ea7134
6
+ metadata.gz: ca3113a2ef670409191d270b681ced6156fadb059ac3920b1f2d5f6de42151f1d11ad69823b2f5dd2d02f681956fe9d1f0fb70207c528540d0b422076ec13d9f
7
+ data.tar.gz: f3249cff4137f7db9b321d2e0b5981b0fe72873e4e6cbcd7d30d38e6c05ce7ae2239f9e0063d84e5a048cd4dd4b1b70f012b1010c700f411370d318be9fe5ba0
data/lib/alchemy-flux.rb CHANGED
@@ -221,7 +221,8 @@ module AlchemyFlux
221
221
  response = @service_fn.call(payload)
222
222
  {
223
223
  'status_code' => response['status_code'] || 200,
224
- 'body' => response['body'] || ""
224
+ 'body' => response['body'] || "",
225
+ 'headers' => response['headers'] || {}
225
226
  }
226
227
  rescue AlchemyFlux::NAckError => e
227
228
  AlchemyFlux::NAckError
data/spec/service_spec.rb CHANGED
@@ -250,6 +250,48 @@ describe AlchemyFlux::Service do
250
250
  service_b.stop
251
251
  end
252
252
 
253
+ it 'can alter headers' do
254
+ service_a = AlchemyFlux::Service.new("fluxa.service") do |message|
255
+ body = JSON.parse(message['body'])
256
+ {
257
+ 'body' => "hi #{body['name']}",
258
+ 'headers' => {"X-header" => "header1"}
259
+ }
260
+ end
261
+
262
+ service_b = AlchemyFlux::Service.new("fluxb.service")
263
+
264
+ service_a.start
265
+ service_b.start
266
+
267
+ response = service_b.send_message_to_service("fluxa.service", {'body' => '{"name" : "Bob"}'})
268
+ expect(response['body']).to eq "hi Bob"
269
+ expect(response['headers']["X-header"]).to eq "header1"
270
+ service_a.stop
271
+ service_b.stop
272
+ end
273
+
274
+ it 'can alter status_code' do
275
+ service_a = AlchemyFlux::Service.new("fluxa.service") do |message|
276
+ body = JSON.parse(message['body'])
277
+ {
278
+ 'body' => "hi #{body['name']}",
279
+ 'status_code' => 201
280
+ }
281
+ end
282
+
283
+ service_b = AlchemyFlux::Service.new("fluxb.service")
284
+
285
+ service_a.start
286
+ service_b.start
287
+
288
+ response = service_b.send_message_to_service("fluxa.service", {'body' => '{"name" : "Bob"}'})
289
+ expect(response['body']).to eq "hi Bob"
290
+ expect(response['status_code']).to eq 201
291
+ service_a.stop
292
+ service_b.stop
293
+ end
294
+
253
295
  it 'should be able to send messages within the service call' do
254
296
  service_a = AlchemyFlux::Service.new("fluxa.service") do |message|
255
297
  resp = service_a.send_message_to_service("fluxb.service", {})
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alchemy-flux
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Loyalty New Zealand
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-26 00:00:00.000000000 Z
11
+ date: 2016-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec