logstash-output-email 0.1.4 → 0.1.5

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
  SHA1:
3
- metadata.gz: 5fa892c4a77d91ac488d37637d73bde950a3ddbd
4
- data.tar.gz: 8f4924f2abcbb340e2aeb34e9c6a8903ea3e766e
3
+ metadata.gz: f085459b9db87c0c9c6eb079defba873911eb464
4
+ data.tar.gz: fe56329e0b007e861e1739ced41fda3902d943bb
5
5
  SHA512:
6
- metadata.gz: d72af0c27f66b0e2d691ce9966b2f1961223088c9b2cf88ec712c3e67a8b068cb628563f3bb6e83ccc7708ee886cd3584ecee908648f6137022a2783d5791a56
7
- data.tar.gz: f1b88abbc7f6b9e20705fdfc0329e54d6ce9765367539dba9d6d9e5d12ac13350c749f85def5377c92a97864bf3f5f1f82900c16052cfd50bdc270b2cd162eaa
6
+ metadata.gz: c7dac18b32d606fe333c64947d60189cb6ef908aebc24c90eb3d05592c1a3a8d41885f86f5b28bcc9db8864c2e6a99a3a335d5c3181c3a944747eb8ade5d7c12
7
+ data.tar.gz: 8f0e5ac3ee3874a59368cf8c4f023441bdaf62b684c481cec7bf71c14353373a047a3009864f77ccecb86ee08988f4976694bafb21933131ee62c4af6906c043
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-output-email'
4
- s.version = '0.1.4'
4
+ s.version = '0.1.5'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "Send email when an output is received."
7
7
  s.description = "This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program"
@@ -26,5 +26,7 @@ Gem::Specification.new do |s|
26
26
 
27
27
  s.add_development_dependency 'logstash-devutils'
28
28
  s.add_development_dependency 'rumbster'
29
+ s.add_development_dependency 'logstash-input-generator'
30
+
29
31
  end
30
32
 
@@ -1,173 +1,94 @@
1
- require "logstash/devutils/rspec/spec_helper"
1
+ # encoding: utf-8
2
+ require "spec_helper"
2
3
  require "rumbster"
3
4
  require "message_observers"
4
5
 
5
- describe "outputs/email", :broken => true do
6
-
6
+ describe "outputs/email" do
7
7
 
8
- port = 2525
9
- let (:rumbster) { Rumbster.new(port) }
10
- let (:message_observer) { MailMessageObserver.new }
8
+ port = 2525
9
+ let (:rumbster) { Rumbster.new(port) }
10
+ let (:message_observer) { MailMessageObserver.new }
11
+ plugin = LogStash::Plugin.lookup("output", "email")
11
12
 
12
- before :each do
13
- rumbster.add_observer message_observer
14
- rumbster.start
15
- end
16
13
 
17
- after :each do
18
- rumbster.stop
19
- end
14
+ before :each do
15
+ rumbster.add_observer message_observer
16
+ rumbster.start
17
+ end
20
18
 
21
- describe "use a list of email as mail.to (LOGSTASH-827)" do
22
- config <<-CONFIG
23
- input {
24
- generator {
25
- message => "hello world"
26
- count => 1
27
- type => "generator"
28
- }
29
- }
30
- filter {
31
- noop {
32
- add_field => ["dummy_match", "ok"]
33
- }
34
- }
35
- output{
36
- email {
37
- to => "email1@host, email2@host"
38
- match => ["mymatch", "dummy_match,ok"]
39
- options => ["port", #{port}]
40
- }
41
- }
42
- CONFIG
19
+ after :each do
20
+ rumbster.stop
21
+ end
43
22
 
44
- agent do
45
- insist {message_observer.messages.size} == 1
46
- insist {message_observer.messages[0].to} == ["email1@host", "email2@host"]
47
- end
48
- end
23
+ describe "use a list of email as mail.to (LOGSTASH-827)" do
49
24
 
50
- describe "use an array of email as mail.to (LOGSTASH-827)" do
51
- config <<-CONFIG
52
- input {
53
- generator {
54
- message => "hello world"
55
- count => 1
56
- type => "generator"
57
- }
58
- }
59
- filter {
60
- noop {
61
- add_field => ["dummy_match", "ok"]
62
- add_field => ["to_addr", "email1@host"]
63
- add_field => ["to_addr", "email2@host"]
64
- }
65
- }
66
- output{
67
- email {
68
- to => "%{to_addr}"
69
- match => ["mymatch", "dummy_match,ok"]
70
- options => ["port", #{port}]
71
- }
72
- }
73
- CONFIG
74
-
75
- agent do
76
- insist {message_observer.messages.size} == 1
77
- insist {message_observer.messages[0].to} == ["email1@host", "email2@host"]
78
- end
25
+ it "supports list of emails in to field" do
26
+ subject = plugin.new("to" => ["email1@host, email2@host"],
27
+ "match" => ["mymatch", "dummy_match,ok"],
28
+ "options" => ["port", port])
29
+ subject.register
30
+ subject.receive(LogStash::Event.new("message" => "hello", "dummy_match" => "ok"))
31
+ expect(message_observer.messages.size).to eq(1)
32
+ expect(message_observer.messages[0].to).to eq(["email1@host", "email2@host"])
79
33
  end
80
34
 
81
- describe "multi-lined text body (LOGSTASH-841)" do
82
- config <<-CONFIG
83
- input {
84
- generator {
85
- message => "hello world"
86
- count => 1
87
- type => "generator"
88
- }
89
- }
90
- filter {
91
- noop {
92
- add_field => ["dummy_match", "ok"]
93
- }
94
- }
95
- output{
96
- email {
97
- to => "me@host"
98
- subject => "Hello World"
99
- body => "Line1\\nLine2\\nLine3"
100
- match => ["mymatch", "dummy_match,*"]
101
- options => ["port", #{port}]
102
- }
103
- }
104
- CONFIG
105
-
106
- agent do
107
- insist {message_observer.messages.size} == 1
108
- insist {message_observer.messages[0].subject} == "Hello World"
109
- insist {message_observer.messages[0].body.raw_source} == "Line1\r\nLine2\r\nLine3"
110
- end
35
+ it "multiple *to* addresses in a field" do
36
+ subject = plugin.new("to" => "%{to_addr}",
37
+ "match" => ["mymatch", "dummy_match,ok"],
38
+ "options" => ["port", port])
39
+ subject.register
40
+ subject.receive(LogStash::Event.new("message" => "hello",
41
+ "dummy_match" => "ok",
42
+ "to_addr" => ["email1@host", "email2@host"]))
43
+ expect(message_observer.messages.size).to eq(1)
44
+ expect(message_observer.messages[0].to).to eq(["email1@host", "email2@host"])
111
45
  end
112
-
113
- describe "use nil authenticationType (LOGSTASH-559)" do
114
- config <<-CONFIG
115
- input {
116
- generator {
117
- message => "hello world"
118
- count => 1
119
- type => "generator"
120
- }
121
- }
122
- filter {
123
- noop {
124
- add_field => ["dummy_match", "ok"]
125
- }
126
- }
127
- output{
128
- email {
129
- to => "me@host"
130
- subject => "Hello World"
131
- body => "Line1\\nLine2\\nLine3"
132
- match => ["mymatch", "dummy_match,*"]
133
- options => ["port", #{port}, "authenticationType", "nil"]
134
- }
135
- }
136
- CONFIG
137
-
138
- agent do
139
- insist {message_observer.messages.size} == 1
140
- insist {message_observer.messages[0].subject} == "Hello World"
141
- insist {message_observer.messages[0].body.raw_source} == "Line1\r\nLine2\r\nLine3"
142
- end
46
+ end
47
+
48
+ describe "multi-lined text body (LOGSTASH-841)" do
49
+ it "handles multiline messages" do
50
+ subject = plugin.new("to" => "me@host",
51
+ "subject" => "Hello World",
52
+ "body" => "Line1\\nLine2\\nLine3",
53
+ "match" => ["mymatch", "dummy_match,*"],
54
+ "options" => ["port", port])
55
+ subject.register
56
+ subject.receive(LogStash::Event.new("message" => "hello", "dummy_match" => "ok"))
57
+ expect(message_observer.messages.size).to eq(1)
58
+ expect(message_observer.messages[0].subject).to eq("Hello World")
59
+ expect(message_observer.messages[0].body.raw_source).to eq("Line1\r\nLine2\r\nLine3")
143
60
  end
144
-
145
- describe "match on source and message (LOGSTASH-826)" do
146
- config <<-CONFIG
147
- input {
148
- generator {
149
- message => "hello world"
150
- count => 1
151
- type => "generator"
152
- }
153
- }
154
- output{
155
- email {
156
- to => "me@host"
157
- subject => "Hello World"
158
- body => "Mail body"
159
- match => ["messageAndSourceMatch", "message,*hello,,and,source,*generator"]
160
- options => ["port", #{port}, "authenticationType", "nil"]
161
- }
162
- }
163
- CONFIG
164
-
165
- agent do
166
- insist {message_observer.messages.size} == 1
167
- insist {message_observer.messages[0].subject} == "Hello World"
168
- insist {message_observer.messages[0].body.raw_source} == "Mail body"
169
- end
61
+ end
62
+
63
+ describe "use nil authenticationType (LOGSTASH-559)" do
64
+ it "reads messages correctly" do
65
+ subject = plugin.new("to" => "me@host",
66
+ "subject" => "Hello World",
67
+ "body" => "Line1\\nLine2\\nLine3",
68
+ "match" => ["mymatch", "dummy_match,*"],
69
+ "options" => ["port", port, "authenticationType", "nil"])
70
+ subject.register
71
+ subject.receive(LogStash::Event.new("message" => "hello", "dummy_match" => "ok"))
72
+ expect(message_observer.messages.size).to eq(1)
73
+ expect(message_observer.messages[0].subject).to eq("Hello World")
74
+ expect(message_observer.messages[0].body.raw_source).to eq("Line1\r\nLine2\r\nLine3")
75
+ end
76
+ end
77
+
78
+ describe "match on source and message (LOGSTASH-826)" do
79
+ it "reads messages correctly" do
80
+ subject = plugin.new("to" => "me@host",
81
+ "subject" => "Hello World",
82
+ "body" => "Mail body",
83
+ "match" => [ "messageAndSourceMatch", "message,*hello,,and,type,*generator"],
84
+ "options" => ["port", port, "authenticationType", "nil"])
85
+ subject.register
86
+ subject.receive(LogStash::Event.new("message" => "hello world", "type" => "generator"))
87
+ expect(message_observer.messages.size).to eq(1)
88
+ expect(message_observer.messages[0].subject).to eq("Hello World")
89
+ expect(message_observer.messages[0].body.raw_source).to eq("Mail body")
170
90
  end
91
+ end
171
92
  end
172
93
 
173
94
 
@@ -0,0 +1,14 @@
1
+ require "logstash/devutils/rspec/spec_helper"
2
+
3
+ # use a dummy NOOP filter to test Filters::Base
4
+ class LogStash::Filters::NOOP < LogStash::Filters::Base
5
+ config_name "noop"
6
+ milestone 2
7
+
8
+ def register; end
9
+
10
+ def filter(event)
11
+ return unless filter?(event)
12
+ filter_matched(event)
13
+ end
14
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-email
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elasticsearch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-26 00:00:00.000000000 Z
11
+ date: 2015-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -72,6 +72,20 @@ dependencies:
72
72
  - - '>='
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - '>='
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ name: logstash-input-generator
82
+ prerelease: false
83
+ type: :development
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
75
89
  description: This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program
76
90
  email: info@elasticsearch.com
77
91
  executables: []
@@ -87,6 +101,7 @@ files:
87
101
  - lib/logstash/outputs/email.rb
88
102
  - logstash-output-email.gemspec
89
103
  - spec/outputs/email_spec.rb
104
+ - spec/spec_helper.rb
90
105
  homepage: http://www.elasticsearch.org/guide/en/logstash/current/index.html
91
106
  licenses:
92
107
  - Apache License (2.0)
@@ -115,3 +130,4 @@ specification_version: 4
115
130
  summary: Send email when an output is received.
116
131
  test_files:
117
132
  - spec/outputs/email_spec.rb
133
+ - spec/spec_helper.rb