aws-ses 0.4.3 → 0.7.1

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.
@@ -4,12 +4,12 @@ class SendEmailTest < Test::Unit::TestCase
4
4
  context 'when sending email' do
5
5
  setup do
6
6
  @base = generate_base
7
- @basic_email = { :from => 'jon@example.com',
7
+ @basic_email = { :from => 'jon@example.com',
8
8
  :to => 'dave@example.com',
9
- :subject => 'Subject1',
9
+ :subject => 'Subject1',
10
10
  :text_body => 'Body1' }
11
11
  end
12
-
12
+
13
13
  context 'adding to a hash' do
14
14
  should 'add array elements to the hash' do
15
15
  hash = {}
@@ -18,7 +18,7 @@ class SendEmailTest < Test::Unit::TestCase
18
18
  expected = {'SomeKey.member.1' => 'x', 'SomeKey.member.2' => 'y'}
19
19
  assert_equal expected, hash
20
20
  end
21
-
21
+
22
22
  should 'add singular elements to the hash' do
23
23
  hash = {}
24
24
  ary = 'z'
@@ -27,7 +27,7 @@ class SendEmailTest < Test::Unit::TestCase
27
27
  assert_equal expected, hash
28
28
  end
29
29
  end
30
-
30
+
31
31
  should 'send an e-mail' do
32
32
  mock_connection(@base, :body => %{
33
33
  <SendEmailResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
@@ -39,13 +39,31 @@ class SendEmailTest < Test::Unit::TestCase
39
39
  </ResponseMetadata>
40
40
  </SendEmailResponse>
41
41
  })
42
-
42
+
43
43
  result = @base.send_email @basic_email
44
44
  assert result.success?
45
45
  assert_equal 'abc-123', result.message_id
46
46
  assert_equal 'xyz-123', result.request_id
47
47
  end
48
-
48
+
49
+ should 'throw ArgumentException when attachment supplied without a body' 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
+ message = Mail.new({:from => 'jon@example.com', :to => 'dave@example.com', :subject => 'Subject1'})
61
+ message.attachments['foo'] = { :mime_type => 'application/csv', :content => '1,2,3' }
62
+ assert_raise ArgumentError do
63
+ result = @base.send_raw_email message
64
+ end
65
+ end
66
+
49
67
  should 'send a raw e-mail with a hash object' do
50
68
  mock_connection(@base, :body => %{
51
69
  <SendRawEmailResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
@@ -57,11 +75,70 @@ class SendEmailTest < Test::Unit::TestCase
57
75
  </ResponseMetadata>
58
76
  </SendRawEmailResponse>
59
77
  })
60
-
78
+
61
79
  result = @base.send_raw_email(@basic_email)
62
80
  assert result.success?
63
81
  assert_equal 'abc-123', result.message_id
64
82
  assert_equal 'xyz-123', result.request_id
65
83
  end
84
+
85
+ should 'send a raw e-mail with a mail object' do
86
+ mock_connection(@base, :body => %{
87
+ <SendRawEmailResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
88
+ <SendRawEmailResult>
89
+ <MessageId>abc-123</MessageId>
90
+ </SendRawEmailResult>
91
+ <ResponseMetadata>
92
+ <RequestId>xyz-123</RequestId>
93
+ </ResponseMetadata>
94
+ </SendRawEmailResponse>
95
+ })
96
+
97
+ message = Mail.new(@basic_email)
98
+ result = @base.send_raw_email(message)
99
+ assert result.success?
100
+ assert_equal 'abc-123', result.message_id
101
+ assert_equal 'xyz-123', result.request_id
102
+ assert message.errors.empty?
103
+ assert_equal 'abc-123@email.amazonses.com', message.message_id
104
+ end
105
+
106
+ context "with a standard email" do
107
+ setup do
108
+ @message = Mail.new({:from => 'jon@example.com', :to => 'dave@example.com', :cc => 'sally@example.com', :subject => 'Subject1', :body => "test body"})
109
+ end
110
+
111
+ should "add the 2 addresses to the Destinations" do
112
+ package = @base.send("build_raw_email", @message)
113
+ assert_equal 'dave@example.com', package['Destinations.member.1']
114
+ assert_equal 'sally@example.com', package['Destinations.member.2']
115
+ end
116
+
117
+ should "be able to override the e-mail destinations" do
118
+ dest_options = {:to => "another@example.com", :cc => "bob@example.com" }
119
+ package = @base.send("build_raw_email", @message, dest_options)
120
+ assert_equal 'another@example.com', package['Destinations.member.1']
121
+ assert_equal 'bob@example.com', package['Destinations.member.2']
122
+ end
123
+ end
124
+
125
+ should "add the bcc address to the email destinations" do
126
+ message = Mail.new({:from => 'jon@example.com', :bcc => "robin@example.com", :to => 'dave@example.com', :subject => 'Subject1', :body => "test body"})
127
+ package = @base.send("build_raw_email", message)
128
+ assert_equal 'dave@example.com', package['Destinations.member.1']
129
+ assert_equal 'robin@example.com', package['Destinations.member.2']
130
+ end
131
+
132
+ should "when only bcc address in the email" do
133
+ message = Mail.new({:from => 'jon@example.com', :bcc => ["robin@example.com", 'dave@example.com'], :subject => 'Subject1', :body => "test body"})
134
+ package = @base.send("build_raw_email", message)
135
+ assert_equal 'robin@example.com', package['Destinations.member.1']
136
+ assert_equal 'dave@example.com', package['Destinations.member.2']
137
+ end
138
+
139
+ should "add the mail addresses to the email destination" do
140
+ message = Mail.new({:from => 'jon@example.com', :to => ["robin@example.com", 'dave@example.com'], :subject => 'Subject1', :body => "test body"})
141
+
142
+ end
66
143
  end
67
- end
144
+ end
metadata CHANGED
@@ -1,171 +1,182 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: aws-ses
3
- version: !ruby/object:Gem::Version
4
- hash: 9
5
- prerelease:
6
- segments:
7
- - 0
8
- - 4
9
- - 3
10
- version: 0.4.3
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.1
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Drew Blas
14
8
  - Marcel Molina Jr.
15
9
  autorequire:
16
10
  bindir: bin
17
11
  cert_chain: []
18
-
19
- date: 2011-06-23 00:00:00 -05:00
20
- default_executable:
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
12
+ date: 2020-09-30 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: builder
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
23
21
  type: :runtime
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- version: "0"
33
- name: xml-simple
34
- version_requirements: *id001
35
22
  prerelease: false
36
- - !ruby/object:Gem::Dependency
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: mail
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">"
33
+ - !ruby/object:Gem::Version
34
+ version: 2.2.5
37
35
  type: :runtime
38
- requirement: &id002 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 3
44
- segments:
45
- - 0
46
- version: "0"
47
- name: builder
48
- version_requirements: *id002
49
36
  prerelease: false
50
- - !ruby/object:Gem::Dependency
51
- type: :runtime
52
- requirement: &id003 !ruby/object:Gem::Requirement
53
- none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- hash: 3
58
- segments:
59
- - 0
60
- version: "0"
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">"
40
+ - !ruby/object:Gem::Version
41
+ version: 2.2.5
42
+ - !ruby/object:Gem::Dependency
61
43
  name: mime-types
62
- version_requirements: *id003
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :runtime
63
50
  prerelease: false
64
- - !ruby/object:Gem::Dependency
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: xml-simple
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
65
63
  type: :runtime
66
- requirement: &id004 !ruby/object:Gem::Requirement
67
- none: false
68
- requirements:
69
- - - ">"
70
- - !ruby/object:Gem::Version
71
- hash: 13
72
- segments:
73
- - 2
74
- - 2
75
- - 5
76
- version: 2.2.5
77
- name: mail
78
- version_requirements: *id004
79
64
  prerelease: false
80
- - !ruby/object:Gem::Dependency
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: bundler
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '1.17'
81
77
  type: :development
82
- requirement: &id005 !ruby/object:Gem::Requirement
83
- none: false
84
- requirements:
85
- - - ">="
86
- - !ruby/object:Gem::Version
87
- hash: 3
88
- segments:
89
- - 0
90
- version: "0"
91
- name: shoulda-context
92
- version_requirements: *id005
93
78
  prerelease: false
94
- - !ruby/object:Gem::Dependency
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '1.17'
84
+ - !ruby/object:Gem::Dependency
85
+ name: flexmock
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: 0.8.11
95
91
  type: :development
96
- requirement: &id006 !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ~>
100
- - !ruby/object:Gem::Version
101
- hash: 23
102
- segments:
103
- - 1
104
- - 0
105
- - 0
106
- version: 1.0.0
107
- name: bundler
108
- version_requirements: *id006
109
92
  prerelease: false
110
- - !ruby/object:Gem::Dependency
111
- type: :development
112
- requirement: &id007 !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ~>
116
- - !ruby/object:Gem::Version
117
- hash: 7
118
- segments:
119
- - 1
120
- - 5
121
- - 2
122
- version: 1.5.2
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: 0.8.11
98
+ - !ruby/object:Gem::Dependency
123
99
  name: jeweler
124
- version_requirements: *id007
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :development
125
106
  prerelease: false
126
- - !ruby/object:Gem::Dependency
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: rake
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: shoulda-context
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
127
133
  type: :development
128
- requirement: &id008 !ruby/object:Gem::Requirement
129
- none: false
130
- requirements:
131
- - - ">="
132
- - !ruby/object:Gem::Version
133
- hash: 3
134
- segments:
135
- - 0
136
- version: "0"
137
- name: rcov
138
- version_requirements: *id008
139
134
  prerelease: false
140
- - !ruby/object:Gem::Dependency
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: test-unit
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: timecop
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
141
161
  type: :development
142
- requirement: &id009 !ruby/object:Gem::Requirement
143
- none: false
144
- requirements:
145
- - - ~>
146
- - !ruby/object:Gem::Version
147
- hash: 41
148
- segments:
149
- - 0
150
- - 8
151
- - 11
152
- version: 0.8.11
153
- name: flexmock
154
- version_requirements: *id009
155
162
  prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
156
168
  description: Client library for Amazon's Simple Email Service's REST API
157
169
  email: drew.blas@gmail.com
158
170
  executables: []
159
-
160
171
  extensions: []
161
-
162
- extra_rdoc_files:
172
+ extra_rdoc_files:
173
+ - CHANGELOG
163
174
  - LICENSE
164
175
  - README.erb
165
176
  - README.rdoc
166
177
  - TODO
167
- files:
168
- - .document
178
+ files:
179
+ - ".document"
169
180
  - CHANGELOG
170
181
  - Gemfile
171
182
  - Gemfile.lock
@@ -194,47 +205,28 @@ files:
194
205
  - test/mocks/fake_response.rb
195
206
  - test/response_test.rb
196
207
  - test/send_email_test.rb
197
- has_rdoc: true
198
208
  homepage: http://github.com/drewblas/aws-ses
199
- licenses:
209
+ licenses:
200
210
  - MIT
211
+ metadata: {}
201
212
  post_install_message:
202
213
  rdoc_options: []
203
-
204
- require_paths:
214
+ require_paths:
205
215
  - lib
206
- required_ruby_version: !ruby/object:Gem::Requirement
207
- none: false
208
- requirements:
216
+ required_ruby_version: !ruby/object:Gem::Requirement
217
+ requirements:
209
218
  - - ">="
210
- - !ruby/object:Gem::Version
211
- hash: 3
212
- segments:
213
- - 0
214
- version: "0"
215
- required_rubygems_version: !ruby/object:Gem::Requirement
216
- none: false
217
- requirements:
219
+ - !ruby/object:Gem::Version
220
+ version: '0'
221
+ required_rubygems_version: !ruby/object:Gem::Requirement
222
+ requirements:
218
223
  - - ">="
219
- - !ruby/object:Gem::Version
220
- hash: 3
221
- segments:
222
- - 0
223
- version: "0"
224
+ - !ruby/object:Gem::Version
225
+ version: '0'
224
226
  requirements: []
225
-
226
227
  rubyforge_project:
227
- rubygems_version: 1.5.2
228
+ rubygems_version: 2.5.2.3
228
229
  signing_key:
229
- specification_version: 3
230
+ specification_version: 4
230
231
  summary: Client library for Amazon's Simple Email Service's REST API
231
- test_files:
232
- - test/address_test.rb
233
- - test/base_test.rb
234
- - test/extensions_test.rb
235
- - test/fixtures.rb
236
- - test/helper.rb
237
- - test/info_test.rb
238
- - test/mocks/fake_response.rb
239
- - test/response_test.rb
240
- - test/send_email_test.rb
232
+ test_files: []