aws-ses 0.4.3 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: []