logstash-filter-tld 3.1.2 → 3.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 971e758e880a9fb5c521da0414c99cc6ee5c5dd354e7df13f7c1b3b0639b9cce
4
- data.tar.gz: 35d150315aca2a6ca4c911c0345dbae171bad7a035262e132bbae85f7a19af3c
3
+ metadata.gz: ca0f49ad03d78e4c4cbb989d541064af569c23a30984a83703b2fc35d44a0e61
4
+ data.tar.gz: b0daa7412413c708655e99a71d453ba7bf0ec50a5d7314f85472e428089d2d96
5
5
  SHA512:
6
- metadata.gz: daedf5f8a13ac78308effe6dc53b2a70d4da14550a0542929674711957a7e5b429dd9455d7a2e95c124d294c8833d814f01eda474ec14670f0030f364d298fe2
7
- data.tar.gz: d09b7bba705e1b5cd714a5c1c4680b41d205dc1e26da8f41cf754b13dc47cefa7e7ad51123ec2ca3d66387057b42bc486ab4171a32d33facf6298e1e31df0b49
6
+ metadata.gz: 842e0e37fd289ee2a8463a1718d9eb06d49227da27e481c88ff2eb4a925eba8025f90351ecba23a8254eed8970a95c93e1cf9826aefde3af7a68b4da2ccb2124
7
+ data.tar.gz: abbf5f13d9770c0b09ab2d05b69765e0abf2886788e86722df2cdfccd743497f7b303f82b492af4579bf06fdd97d20c7202c1ddaeb38606e6ac31aa08fe3afec
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 3.1.3
2
+ - Bumped `public_suffix` gem version to `> 4` `< 6` and updated specs [#24](https://github.com/logstash-plugins/logstash-filter-tld/issues/24)
3
+
1
4
  ## 3.1.2
2
5
  - Fix race condition initializing PublicSuffix list [#8](https://github.com/logstash-plugins/logstash-filter-tld/issues/8)
3
6
 
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-filter-tld'
3
- s.version = '3.1.2'
3
+ s.version = '3.1.3'
4
4
  s.licenses = ['Apache-2.0']
5
5
  s.summary = "Replaces the contents of the default message field with whatever you specify in the configuration"
6
6
  s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
@@ -17,14 +17,14 @@ Gem::Specification.new do |s|
17
17
  # Special flag to let us know this is actually a logstash plugin
18
18
  s.metadata = { "logstash_plugin" => "true", "logstash_group" => "filter" }
19
19
 
20
- # public_suffix 3.x+ includes ruby syntax from 2.1
21
- # This effectively requires Logstash >= 6.x
22
- s.required_ruby_version = '>= 2.1.0'
20
+ # Logstash 7.17.x-8.x uses ruby 2.5-3.1 compatiblity
21
+ # public_suffix 4.x+ includes ruby syntax from 2.3
22
+ # public_suffix 5.x+ includes ruby syntax from 2.6
23
+ s.required_ruby_version = '>= 2.3'
23
24
 
24
25
  # Gem dependencies
25
26
  s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
26
- s.add_runtime_dependency 'public_suffix', '~>3'
27
+ s.add_runtime_dependency 'public_suffix', '> 4', '< 6'
27
28
 
28
29
  s.add_development_dependency 'logstash-devutils'
29
- s.add_development_dependency 'insist'
30
30
  end
@@ -1,57 +1,85 @@
1
- require "logstash/devutils/rspec/spec_helper"
2
- require "insist"
3
- require "logstash/filters/tld"
1
+ require 'logstash/devutils/rspec/spec_helper'
2
+ require 'logstash/filters/tld'
4
3
 
5
4
  describe LogStash::Filters::Tld do
6
- describe "Set to TLD" do
7
- config <<-CONFIG
8
- filter {
9
- tld {
10
- }
11
- }
12
- CONFIG
13
-
14
- #{
15
- # "message" => "google.com",
16
- # "@version" => "1",
17
- # "@timestamp" => "2015-01-22T17:33:19.669Z",
18
- # "host" => "homer",
19
- # "sequence" => 0,
20
- # "tld" => {
21
- # "tld" => "com",
22
- # "sld" => "google",
23
- # "trd" => nil,
24
- # "domain" => "google.com",
25
- # "subdomain" => nil
26
- # }
27
-
28
-
29
- sample("message" => "google.com") do
30
- insist { subject.get("tld")["tld"] } == "com"
31
- insist { subject.get("tld")["top_level_domain"] } == "com"
32
- insist { subject.get("tld")["sld"] } == "google"
33
- insist { subject.get("tld")["trd"] } == nil
34
- insist { subject.get("tld")["domain"] } == "google.com"
35
- insist { subject.get("tld")["subdomain"] } == nil
36
- end
5
+ let(:config) { {} }
6
+
7
+ subject(:plugin) { described_class.new(config) }
8
+
9
+ let(:event) { LogStash::Event.new('message' => 'www.google.com') }
10
+
11
+ before(:each) { plugin.register }
12
+
13
+ shared_examples 'sets tld fields' do |source, target|
14
+ let(:config) { {'source' => source, 'target' => target } }
37
15
 
38
- sample("message" => "google.co.uk") do
39
- insist { subject.get("tld")["tld"] } == "co.uk"
40
- insist { subject.get("tld")["top_level_domain"] } == "co.uk"
41
- insist { subject.get("tld")["sld"] } == "google"
42
- insist { subject.get("tld")["trd"] } == nil
43
- insist { subject.get("tld")["domain"] } == "google.co.uk"
44
- insist { subject.get("tld")["subdomain"] } == nil
16
+ context 'domain without subdomains' do
17
+ it 'should set tld fields' do
18
+ expect_tld_event_fields(target, LogStash::Event.new(source => 'google.com'), {
19
+ 'tld' => 'com',
20
+ 'top_level_domain' => 'com',
21
+ 'sld' => 'google',
22
+ 'trd' => nil,
23
+ 'domain' => 'google.com',
24
+ 'subdomain' => nil
25
+ })
26
+
27
+ expect_tld_event_fields(target, LogStash::Event.new(source => 'google.co.uk'), {
28
+ 'tld' => 'co.uk',
29
+ 'top_level_domain' => 'co.uk',
30
+ 'sld' => 'google',
31
+ 'trd' => nil,
32
+ 'domain' => 'google.co.uk',
33
+ 'subdomain' => nil
34
+ })
35
+ end
45
36
  end
46
37
 
47
- sample("message" => "www.google.com") do
48
- insist { subject.get("tld")["tld"] } == "com"
49
- insist { subject.get("tld")["top_level_domain"] } == "com"
50
- insist { subject.get("tld")["sld"] } == "google"
51
- insist { subject.get("tld")["trd"] } == "www"
52
- insist { subject.get("tld")["domain"] } == "google.com"
53
- insist { subject.get("tld")["subdomain"] } == "www.google.com"
38
+ context 'domain with subdomains' do
39
+ it 'should set tld fields' do
40
+ expect_tld_event_fields(target, LogStash::Event.new(source => 'www.google.com'), {
41
+ 'tld' => 'com',
42
+ 'top_level_domain' => 'com',
43
+ 'sld' => 'google',
44
+ 'trd' => 'www',
45
+ 'domain' => 'google.com',
46
+ 'subdomain' => 'www.google.com'
47
+ })
48
+
49
+ expect_tld_event_fields(target, LogStash::Event.new(source => 'foo.bar.google.es'), {
50
+ 'tld' => 'es',
51
+ 'top_level_domain' => 'es',
52
+ 'sld' => 'google',
53
+ 'trd' => 'foo.bar',
54
+ 'domain' => 'google.es',
55
+ 'subdomain' => 'foo.bar.google.es'
56
+ })
57
+ end
54
58
  end
59
+ end
60
+
61
+ context 'with default configuration' do
62
+ include_examples('sets tld fields', 'message', 'tld')
63
+ end
64
+
65
+ context 'with `source` option configured' do
66
+ include_examples('sets tld fields', 'another_source', 'tld')
67
+ end
68
+
69
+ context 'with `target` option configured' do
70
+ include_examples('sets tld fields', 'message', 'another_tld')
71
+ end
55
72
 
73
+ context 'with `source` and `target` options configured' do
74
+ include_examples('sets tld fields', 'another_source', 'another_tld')
75
+ end
76
+
77
+ private
78
+
79
+ def expect_tld_event_fields(target, event, hash)
80
+ subject.filter(event)
81
+ hash.each do |key, value|
82
+ expect(event.get(target)[key]).to eq(value)
83
+ end
56
84
  end
57
85
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-filter-tld
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.2
4
+ version: 3.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-09 00:00:00.000000000 Z
11
+ date: 2023-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -33,38 +33,30 @@ dependencies:
33
33
  - !ruby/object:Gem::Dependency
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
- - - "~>"
36
+ - - ">"
37
37
  - !ruby/object:Gem::Version
38
- version: '3'
38
+ version: '4'
39
+ - - "<"
40
+ - !ruby/object:Gem::Version
41
+ version: '6'
39
42
  name: public_suffix
40
43
  prerelease: false
41
44
  type: :runtime
42
45
  version_requirements: !ruby/object:Gem::Requirement
43
46
  requirements:
44
- - - "~>"
47
+ - - ">"
45
48
  - !ruby/object:Gem::Version
46
- version: '3'
47
- - !ruby/object:Gem::Dependency
48
- requirement: !ruby/object:Gem::Requirement
49
- requirements:
50
- - - ">="
49
+ version: '4'
50
+ - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '0'
53
- name: logstash-devutils
54
- prerelease: false
55
- type: :development
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: '0'
52
+ version: '6'
61
53
  - !ruby/object:Gem::Dependency
62
54
  requirement: !ruby/object:Gem::Requirement
63
55
  requirements:
64
56
  - - ">="
65
57
  - !ruby/object:Gem::Version
66
58
  version: '0'
67
- name: insist
59
+ name: logstash-devutils
68
60
  prerelease: false
69
61
  type: :development
70
62
  version_requirements: !ruby/object:Gem::Requirement
@@ -105,14 +97,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
105
97
  requirements:
106
98
  - - ">="
107
99
  - !ruby/object:Gem::Version
108
- version: 2.1.0
100
+ version: '2.3'
109
101
  required_rubygems_version: !ruby/object:Gem::Requirement
110
102
  requirements:
111
103
  - - ">="
112
104
  - !ruby/object:Gem::Version
113
105
  version: '0'
114
106
  requirements: []
115
- rubygems_version: 3.1.6
107
+ rubygems_version: 3.2.33
116
108
  signing_key:
117
109
  specification_version: 4
118
110
  summary: Replaces the contents of the default message field with whatever you specify