logstash-filter-tld 3.1.2 → 3.1.3

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: 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