md-logstasher 1.9.0 → 1.9.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
  SHA256:
3
- metadata.gz: 1fe9fbb482168a2c0e95473e02f2b219cbf116ee4f2006fe6ed15a6cde16bb44
4
- data.tar.gz: 9735b52eae692c0b08205949cc65f894a3351e4e6e0275f25cc8a1663d1076eb
3
+ metadata.gz: 3f2904af9e8b7395dd7b50dbc848bd57cedb273a707a807a4fe33192434afb92
4
+ data.tar.gz: a06fecadb7ceb313eb7d829f564c7d46025a0b28434254f43d4bf0d05186f93d
5
5
  SHA512:
6
- metadata.gz: db9a456790e5bf911c52f135cc1c9ce8f1486f6e47ed1aad91de52ccb9347cf6c86a83f453f8abd774be7836cfb91641f4911be017cfc23dc5463de52788e694
7
- data.tar.gz: 4b2e935c1457a249a40297de6330ea991c5095539070acb75fe2f32d5b592039ad4c80b23b9e2ec7870a5211671a1cf188e4f568cc7b22dd207d81f85e941ed5
6
+ metadata.gz: 6785ff4d5b8fc0e82442ff49df6686ee720ec0d5ee27b8141b4e4176bef0ef22e267dcde51a44a73a7681c0c319d744492dbdea4f1f33a26c61cdd7f7bcc73e5
7
+ data.tar.gz: 124954b6f62e435bad90f5f0505edef2ecc99b2dab92db51357a047df59e25951fc9da0b6af8d37644132bbff7717c15664df3a9395df605660ffd3c477b1a98
@@ -1,3 +1,3 @@
1
1
  module LogStasher
2
- VERSION = "1.9.0"
2
+ VERSION = "1.9.1"
3
3
  end
data/lib/logstasher.rb CHANGED
@@ -119,15 +119,15 @@ module LogStasher
119
119
  def validate_payload(payload)
120
120
  return unless payload.is_a?(::LogStash::Event) || payload.is_a?(::Hash)
121
121
 
122
- validation = dry_validation_contract.call(payload.to_hash)
123
-
122
+ formatted_payload = ::JSON.parse(payload.to_json).deep_symbolize_keys
123
+ validation = dry_validation_contract.call(formatted_payload)
124
124
  validation_payload = {
125
125
  dry_validation_success: validation.success?,
126
126
  dry_validation_errors: validation.errors.to_h.to_json
127
127
  }
128
128
 
129
129
  return payload.append(validation_payload) if payload.is_a?(::LogStash::Event)
130
- return payload.deep_merge!(validation_payload) if payload.is_a?(::Hash)
130
+ return payload.merge!(validation_payload) if payload.is_a?(::Hash)
131
131
  end
132
132
  end
133
133
  end
@@ -134,6 +134,18 @@ describe ::LogStasher do
134
134
 
135
135
  ::LogStasher.log_as_json([{"yolo" => "brolo"}])
136
136
  end
137
+
138
+ it "formats the payload correctly for the contract call" do
139
+ expect(::LogStasher.logger).to receive(:<<) do |json|
140
+ payload = ::JSON.parse(json)
141
+ expect(payload["dry_validation_errors"]).to eq("{}")
142
+ expect(payload["dry_validation_success"]).to be true
143
+ expect(payload["yolo"]).to eq("brolo")
144
+ expect(payload["metadata"]["namespace"]).to eq("cooldude")
145
+ end
146
+
147
+ ::LogStasher.log_as_json(::LogStash::Event.new("yolo" => :brolo))
148
+ end
137
149
  end
138
150
  end
139
151
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: md-logstasher
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 1.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Devin Christensen