integrity-email 1.0.3 → 1.0.4
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.
- data/integrity-email.gemspec +2 -2
- data/lib/integrity/notifier/config.haml +8 -5
- data/lib/integrity/notifier/email.rb +10 -0
- data/test/integrity_email_test.rb +27 -10
- metadata +7 -5
data/integrity-email.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "integrity-email"
|
3
|
-
s.version = "1.0.
|
4
|
-
s.date = "2009-
|
3
|
+
s.version = "1.0.4"
|
4
|
+
s.date = "2009-06-01"
|
5
5
|
s.summary = "Email notifier for the Integrity continuous integration server"
|
6
6
|
s.description = "Easily let Integrity send emails after each build"
|
7
7
|
s.homepage = "http://integrityapp.com"
|
@@ -24,12 +24,15 @@
|
|
24
24
|
|
25
25
|
%p.normal
|
26
26
|
%label{ :for => "email_notifier_auth" } Auth type
|
27
|
-
%
|
28
|
-
%option{ :value => '', :selected => true } none
|
29
|
-
%option{ :value => 'login'} login
|
30
|
-
%option{ :value => 'cram_md5' } cram_md5
|
31
|
-
%option{ :value => 'plain' } plain
|
27
|
+
%input.text#email_notifier_auth{ :name => "notifiers[Email][auth]", :value => (config["auth"] || "plain"), :type => "text" }
|
32
28
|
|
33
29
|
%p.normal
|
34
30
|
%label{ :for => "email_notifier_domain" } Domain
|
35
31
|
%input.text#email_notifier_domain{ :name => "notifiers[Email][domain]", :value => config["domain"], :type => "text" }
|
32
|
+
|
33
|
+
|
34
|
+
%h3 Or, enter the path to sendmail:
|
35
|
+
|
36
|
+
%p.normal
|
37
|
+
%label{ :for => "email_notifier_sendmail" } Sendmail path (often /usr/sbin/sendmail)
|
38
|
+
%input.text#email_notifier_sendmail{ :name => "notifiers[Email][sendmail]", :value => config["sendmail"], :type => "text" }
|
@@ -38,6 +38,11 @@ module Integrity
|
|
38
38
|
|
39
39
|
private
|
40
40
|
def configure_mailer
|
41
|
+
return configure_sendmail unless @config["sendmail"].blank?
|
42
|
+
configure_smtp
|
43
|
+
end
|
44
|
+
|
45
|
+
def configure_smtp
|
41
46
|
user = @config["user"] || ""
|
42
47
|
pass = @config["pass"] || ""
|
43
48
|
user = nil if user.empty?
|
@@ -54,6 +59,11 @@ module Integrity
|
|
54
59
|
:domain => @config["domain"]
|
55
60
|
}
|
56
61
|
end
|
62
|
+
|
63
|
+
def configure_sendmail
|
64
|
+
Sinatra::Mailer.delivery_method = :sendmail
|
65
|
+
Sinatra::Mailer.config = {:sendmail_path => @config['sendmail']}
|
66
|
+
end
|
57
67
|
end
|
58
68
|
|
59
69
|
register Email
|
@@ -40,16 +40,17 @@ class IntegrityEmailTest < Test::Unit::TestCase
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def test_configuration_form
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
43
|
+
assert form_have_tag?("h3", :content => "SMTP Server Configuration")
|
44
|
+
|
45
|
+
assert provides_option? "to", "foo@example.org"
|
46
|
+
assert provides_option? "from", "bar@example.org"
|
47
|
+
assert provides_option? "host", "foobarhost.biz"
|
48
|
+
assert provides_option? "user", "foobaruser"
|
49
|
+
assert provides_option? "pass", "secret"
|
50
|
+
assert provides_option? "auth", "plain"
|
51
|
+
assert provides_option? "pass", "secret"
|
52
|
+
assert provides_option? "domain","localhost"
|
53
|
+
assert provides_option? "sendmail","/usr/sbin/sendmail"
|
53
54
|
end
|
54
55
|
|
55
56
|
def test_it_sends_email_notification
|
@@ -64,6 +65,8 @@ class IntegrityEmailTest < Test::Unit::TestCase
|
|
64
65
|
Integrity::Notifier::Email.new(successful, config.dup).deliver!
|
65
66
|
Integrity::Notifier::Email.new(failed, config).deliver!
|
66
67
|
|
68
|
+
assert_equal "net_smtp", Sinatra::Mailer.delivery_method
|
69
|
+
|
67
70
|
mail = @mail_observer.messages.first
|
68
71
|
|
69
72
|
assert_equal ["you@example.org"], mail.destinations
|
@@ -73,4 +76,18 @@ class IntegrityEmailTest < Test::Unit::TestCase
|
|
73
76
|
assert mail.body.include?(successful.author.name)
|
74
77
|
assert mail.body.include?(successful.output)
|
75
78
|
end
|
79
|
+
|
80
|
+
def test_it_configures_email_notification_with_sendmail
|
81
|
+
sendmail_path = "/usr/sbin/sendmail"
|
82
|
+
|
83
|
+
config = { "sendmail" => sendmail_path,
|
84
|
+
"to" => "sendmail@example.org",
|
85
|
+
"from" => "me@example.org" }
|
86
|
+
successful = commit(:successful)
|
87
|
+
|
88
|
+
Integrity::Notifier::Email.new(successful, config)
|
89
|
+
|
90
|
+
assert_equal :sendmail, Sinatra::Mailer.delivery_method
|
91
|
+
assert_equal sendmail_path, Sinatra::Mailer.config[:sendmail_path]
|
92
|
+
end
|
76
93
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: integrity-email
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Nicol\xC3\xA1s Sanguinetti"
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-
|
13
|
+
date: 2009-06-01 00:00:00 +02:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -58,8 +58,10 @@ files:
|
|
58
58
|
- lib/integrity/notifier/config.haml
|
59
59
|
- lib/integrity/notifier/email.rb
|
60
60
|
- test/integrity_email_test.rb
|
61
|
-
has_rdoc:
|
61
|
+
has_rdoc: true
|
62
62
|
homepage: http://integrityapp.com
|
63
|
+
licenses: []
|
64
|
+
|
63
65
|
post_install_message:
|
64
66
|
rdoc_options: []
|
65
67
|
|
@@ -80,9 +82,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
80
82
|
requirements: []
|
81
83
|
|
82
84
|
rubyforge_project: integrity
|
83
|
-
rubygems_version: 1.3.
|
85
|
+
rubygems_version: 1.3.3
|
84
86
|
signing_key:
|
85
|
-
specification_version:
|
87
|
+
specification_version: 3
|
86
88
|
summary: Email notifier for the Integrity continuous integration server
|
87
89
|
test_files: []
|
88
90
|
|