logstash-filter-empowclassifier 0.3.18 → 0.3.19

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: bf5b905aefb124ab7b19acf66fc8353dc6184c18cff3283123757bea00a6c14b
4
- data.tar.gz: 6444d99e54834955caf25a39db38b7e09b2646044ea8c0380eff36e7f1912223
3
+ metadata.gz: 9d8c5a0a9811c55399f68e4576b616806abc888f782178850e4dcc3f961c0ff7
4
+ data.tar.gz: d7014ddfca0ba50073de7c86336d660543b3a90293a886c0d66273ac317dae8c
5
5
  SHA512:
6
- metadata.gz: e9104d6a2d640512b22841c1a69087a8daa7c11a4bda6cb79b15e85a2e9db5f3d24d9ec9d0c1d97f5214d041fb7839c5576e08c977b35eb3d90f7beefc480f04
7
- data.tar.gz: '081f993e370beb1e944aa369bba155912354490bcc0ab82b956a9026656ebdba9b34cc620fe23ff6060fc2ca589c26427f395363c6d3f616995b577cc2190627'
6
+ metadata.gz: 69e9291c7a229244108c39a8cb8d6ae82f68180e9fb5b6a9fc9615c3adee44a4bb123c5bb475df2d7483fba7ef1ef34970b72f314482e1c10b76045a191b74e7
7
+ data.tar.gz: ce48de1456ad02ea41728bb7d74f176a5575f61facf5633572f739282dd4ab3aca98f783a3497a79f330c02042d6178a9240ac7009290319e4299168c2d47ebb
@@ -185,17 +185,21 @@ module LogStash
185
185
  results = Hash.new
186
186
 
187
187
  responses.each_with_index do |response, i|
188
+ req = requests[i]
188
189
  res = nil
189
190
 
190
- if response['responseStatus'] == 'SUCCESS'
191
+ status = response['responseStatus']
192
+
193
+ case status
194
+ when 'SUCCESS'
191
195
  res = LogStash::Filters::Empow::SuccessfulResponse.new(response)
196
+ when 'IN_PROGRESS'
197
+ res = LogStash::Filters::Empow::InProgressResponse.new(response)
192
198
  else
193
199
  failure_reason = response['failedReason']
194
200
  res = LogStash::Filters::Empow::FailureResponse.new(failure_reason)
195
201
  end
196
202
 
197
- req = requests[i]
198
-
199
203
  results[req] = res
200
204
  end
201
205
 
@@ -308,7 +308,9 @@ module LogStash; module Filters; module Empow;
308
308
  @logger.error("encountered an error while trying to process result", :request => request, :error => e, :backtrace => e.backtrace)
309
309
  end
310
310
 
311
- @requests_queue.delete(request)
311
+ if res.is_final # in case of anti-malware, the result may change till the classification process is done
312
+ @requests_queue.delete(request)
313
+ end
312
314
  end
313
315
  end
314
316
 
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-filter-empowclassifier'
3
- s.version = '0.3.18'
3
+ s.version = '0.3.19'
4
4
  s.licenses = ['Apache-2.0']
5
5
  s.summary = 'Logstash intent classification plugin client for accessing empow''s classifiction cloud'
6
6
  #s.description = 'Write a longer description or delete this line.'
@@ -0,0 +1,39 @@
1
+ require_relative '../spec_helper'
2
+ require "logstash/filters/center-client"
3
+ require "logstash/filters/response"
4
+ require "logstash/filters/classification-request"
5
+
6
+ # client = LogStash::Filters::Empow::ClassificationCenterClient.new('assaf', , , )
7
+
8
+ describe LogStash::Filters::Empow::ClassificationCenterClient do
9
+
10
+ # before(:each) do
11
+ # local_classifier = instance_double(LogStash::Filters::Empow::LocalClassifier)
12
+ # allow(LogStash::Filters::Empow::LocalClassifier).to receive(:new).and_return(local_classifier)
13
+ # end
14
+
15
+ let(:url_base) { 'https://s0apxz9wik.execute-api.us-east-2.amazonaws.com' }
16
+ let(:username) { 'assaf' }
17
+ let(:password) { 'Empow2018!' }
18
+ let(:pool_id) { '8dljcvt4jfif762le0ald6j' }
19
+
20
+ describe "classification center api" do
21
+ it "test missing ids request" do
22
+ client = described_class.new(username, password, pool_id, url_base)
23
+
24
+ client.authenticate
25
+
26
+ term = {}
27
+ term[:malware_name] = 'assaf.clicker'
28
+ req1 = LogStash::Filters::Empow::ClassificationRequest.new('AM', 'lastline', term)
29
+
30
+ results = client.classify([req1])
31
+
32
+ #p results
33
+
34
+ results.each do |res|
35
+ p "res: #{res}"
36
+ end
37
+ end
38
+ end
39
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-filter-empowclassifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.18
4
+ version: 0.3.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - empow
@@ -206,6 +206,7 @@ files:
206
206
  - lib/logstash/filters/response.rb
207
207
  - lib/logstash/filters/utils.rb
208
208
  - logstash-filter-empowclassifier.gemspec
209
+ - spec/filters/assaf_spec.rb
209
210
  - spec/filters/bulk-processor_spec.rb
210
211
  - spec/filters/center-client_spec.rb
211
212
  - spec/filters/classifier-cache_spec.rb
@@ -246,6 +247,7 @@ specification_version: 4
246
247
  summary: Logstash intent classification plugin client for accessing empows classifiction
247
248
  cloud
248
249
  test_files:
250
+ - spec/filters/assaf_spec.rb
249
251
  - spec/filters/bulk-processor_spec.rb
250
252
  - spec/filters/center-client_spec.rb
251
253
  - spec/filters/classifier-cache_spec.rb