axtro-aws-ses 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,94 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ class SendEmailTest < Test::Unit::TestCase
4
+ context 'when sending email' do
5
+ setup do
6
+ @base = generate_base
7
+ @basic_email = { :from => 'jon@example.com',
8
+ :to => 'dave@example.com',
9
+ :subject => 'Subject1',
10
+ :text_body => 'Body1' }
11
+ end
12
+
13
+ context 'adding to a hash' do
14
+ should 'add array elements to the hash' do
15
+ hash = {}
16
+ ary = ['x', 'y']
17
+ @base.send(:add_array_to_hash!, hash, 'SomeKey', ary)
18
+ expected = {'SomeKey.member.1' => 'x', 'SomeKey.member.2' => 'y'}
19
+ assert_equal expected, hash
20
+ end
21
+
22
+ should 'add singular elements to the hash' do
23
+ hash = {}
24
+ ary = 'z'
25
+ @base.send(:add_array_to_hash!, hash, 'SomeKey', ary)
26
+ expected = {'SomeKey.member.1' => 'z'}
27
+ assert_equal expected, hash
28
+ end
29
+ end
30
+
31
+ should 'send an e-mail' do
32
+ mock_connection(@base, :body => %{
33
+ <SendEmailResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
34
+ <SendEmailResult>
35
+ <MessageId>abc-123</MessageId>
36
+ </SendEmailResult>
37
+ <ResponseMetadata>
38
+ <RequestId>xyz-123</RequestId>
39
+ </ResponseMetadata>
40
+ </SendEmailResponse>
41
+ })
42
+
43
+ result = @base.send_email @basic_email
44
+ assert result.success?
45
+ assert_equal 'abc-123', result.message_id
46
+ assert_equal 'xyz-123', result.request_id
47
+ end
48
+
49
+ should 'send a raw e-mail with a string' do
50
+ mock_connection(@base, :body => %{
51
+ <SendRawEmailResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
52
+ <SendRawEmailResult>
53
+ <MessageId>abc-123</MessageId>
54
+ </SendRawEmailResult>
55
+ <ResponseMetadata>
56
+ <RequestId>xyz-123</RequestId>
57
+ </ResponseMetadata>
58
+ </SendRawEmailResponse>
59
+ })
60
+
61
+ result = @base.send_raw_email(@basic_email.to_s)
62
+ assert result.success?
63
+ assert_equal 'abc-123', result.message_id
64
+ assert_equal 'xyz-123', result.request_id
65
+ end
66
+
67
+ should 'raises an error if sending raw e-mail with a hash but Mail gem is not available' do
68
+ begin
69
+ @base.send_raw_email(@basic_email)
70
+ rescue => e
71
+ assert_equal("To use #send_raw_email with a hash, please install the Mail gem", e.message)
72
+ end
73
+ end
74
+
75
+ should 'send a raw e-mail with a hash object' do
76
+ require 'mail'
77
+ mock_connection(@base, :body => %{
78
+ <SendRawEmailResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
79
+ <SendRawEmailResult>
80
+ <MessageId>abc-123</MessageId>
81
+ </SendRawEmailResult>
82
+ <ResponseMetadata>
83
+ <RequestId>xyz-123</RequestId>
84
+ </ResponseMetadata>
85
+ </SendRawEmailResponse>
86
+ })
87
+
88
+ result = @base.send_raw_email(@basic_email)
89
+ assert result.success?
90
+ assert_equal 'abc-123', result.message_id
91
+ assert_equal 'xyz-123', result.request_id
92
+ end
93
+ end
94
+ end
metadata ADDED
@@ -0,0 +1,215 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: axtro-aws-ses
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 4
8
+ - 4
9
+ version: 0.4.4
10
+ platform: ruby
11
+ authors:
12
+ - Drew Blas
13
+ - Marcel Molina Jr.
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-10-31 00:00:00 +01:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: xml-simple
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 0
30
+ version: "0"
31
+ type: :runtime
32
+ prerelease: false
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: builder
36
+ requirement: &id002 !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 0
43
+ version: "0"
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *id002
47
+ - !ruby/object:Gem::Dependency
48
+ name: mime-types
49
+ requirement: &id003 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ segments:
55
+ - 0
56
+ version: "0"
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: *id003
60
+ - !ruby/object:Gem::Dependency
61
+ name: shoulda-context
62
+ requirement: &id004 !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ segments:
68
+ - 0
69
+ version: "0"
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: *id004
73
+ - !ruby/object:Gem::Dependency
74
+ name: bundler
75
+ requirement: &id005 !ruby/object:Gem::Requirement
76
+ none: false
77
+ requirements:
78
+ - - ~>
79
+ - !ruby/object:Gem::Version
80
+ segments:
81
+ - 1
82
+ - 0
83
+ - 0
84
+ version: 1.0.0
85
+ type: :development
86
+ prerelease: false
87
+ version_requirements: *id005
88
+ - !ruby/object:Gem::Dependency
89
+ name: jeweler
90
+ requirement: &id006 !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ segments:
96
+ - 1
97
+ - 5
98
+ - 2
99
+ version: 1.5.2
100
+ type: :development
101
+ prerelease: false
102
+ version_requirements: *id006
103
+ - !ruby/object:Gem::Dependency
104
+ name: rcov
105
+ requirement: &id007 !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ segments:
111
+ - 0
112
+ version: "0"
113
+ type: :development
114
+ prerelease: false
115
+ version_requirements: *id007
116
+ - !ruby/object:Gem::Dependency
117
+ name: flexmock
118
+ requirement: &id008 !ruby/object:Gem::Requirement
119
+ none: false
120
+ requirements:
121
+ - - ~>
122
+ - !ruby/object:Gem::Version
123
+ segments:
124
+ - 0
125
+ - 8
126
+ - 11
127
+ version: 0.8.11
128
+ type: :development
129
+ prerelease: false
130
+ version_requirements: *id008
131
+ description: Client library for Amazon's Simple Email Service's REST API
132
+ email: drew.blas@gmail.com
133
+ executables: []
134
+
135
+ extensions: []
136
+
137
+ extra_rdoc_files:
138
+ - LICENSE
139
+ - README.erb
140
+ - README.rdoc
141
+ - TODO
142
+ files:
143
+ - .document
144
+ - CHANGELOG
145
+ - Gemfile
146
+ - Gemfile.lock
147
+ - LICENSE
148
+ - README.erb
149
+ - README.rdoc
150
+ - Rakefile
151
+ - TODO
152
+ - VERSION
153
+ - aws-ses.gemspec
154
+ - axtro-aws-ses.gemspec
155
+ - lib/aws/actionmailer/ses_extension.rb
156
+ - lib/aws/ses.rb
157
+ - lib/aws/ses/addresses.rb
158
+ - lib/aws/ses/base.rb
159
+ - lib/aws/ses/expirable_memoize.rb
160
+ - lib/aws/ses/info.rb
161
+ - lib/aws/ses/response.rb
162
+ - lib/aws/ses/send_email.rb
163
+ - lib/aws/ses/version.rb
164
+ - test/address_test.rb
165
+ - test/base_test.rb
166
+ - test/expirable_memoize_test.rb
167
+ - test/fixtures.rb
168
+ - test/helper.rb
169
+ - test/info_test.rb
170
+ - test/mocks/fake_response.rb
171
+ - test/response_test.rb
172
+ - test/send_email_test.rb
173
+ has_rdoc: true
174
+ homepage: http://github.com/axtro/aws-ses
175
+ licenses:
176
+ - MIT
177
+ post_install_message:
178
+ rdoc_options: []
179
+
180
+ require_paths:
181
+ - lib
182
+ required_ruby_version: !ruby/object:Gem::Requirement
183
+ none: false
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ hash: 1189101767711930745
188
+ segments:
189
+ - 0
190
+ version: "0"
191
+ required_rubygems_version: !ruby/object:Gem::Requirement
192
+ none: false
193
+ requirements:
194
+ - - ">="
195
+ - !ruby/object:Gem::Version
196
+ segments:
197
+ - 0
198
+ version: "0"
199
+ requirements: []
200
+
201
+ rubyforge_project:
202
+ rubygems_version: 1.3.7
203
+ signing_key:
204
+ specification_version: 3
205
+ summary: Client library for Amazon's Simple Email Service's REST API
206
+ test_files:
207
+ - test/address_test.rb
208
+ - test/base_test.rb
209
+ - test/expirable_memoize_test.rb
210
+ - test/fixtures.rb
211
+ - test/helper.rb
212
+ - test/info_test.rb
213
+ - test/mocks/fake_response.rb
214
+ - test/response_test.rb
215
+ - test/send_email_test.rb