postageapp 1.2.0 → 1.2.5
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/.gitignore +1 -0
- data/.travis.yml +14 -1
- data/README.md +1 -1
- data/generators/postageapp/postageapp_generator.rb +3 -3
- data/generators/postageapp/templates/postageapp_tasks.rake +57 -24
- data/lib/generators/postageapp/postageapp_generator.rb +6 -6
- data/lib/postageapp.rb +3 -1
- data/lib/postageapp/configuration.rb +52 -40
- data/lib/postageapp/failed_request.rb +4 -4
- data/lib/postageapp/mailer.rb +3 -86
- data/lib/postageapp/mailer/mailer_4.rb +7 -10
- data/lib/postageapp/request.rb +124 -11
- data/lib/postageapp/response.rb +4 -1
- data/lib/postageapp/utils.rb +27 -22
- data/lib/postageapp/version.rb +1 -1
- data/postageapp.gemspec +15 -5
- data/script/with +116 -0
- data/test/configuration_test.rb +1 -1
- data/test/failed_request_test.rb +32 -17
- data/test/gemfiles/Gemfile.rails-2.3.x +5 -1
- data/test/gemfiles/Gemfile.rails-3.0.x +6 -1
- data/test/gemfiles/Gemfile.rails-3.1.x +1 -1
- data/test/gemfiles/Gemfile.rails-3.2.x +2 -1
- data/test/gemfiles/Gemfile.rails-4.0.x +2 -1
- data/test/gemfiles/Gemfile.rails-4.1.x +2 -1
- data/test/gemfiles/Gemfile.rails-4.2.x +2 -1
- data/test/gemfiles/Gemfile.ruby +1 -0
- data/test/helper.rb +12 -5
- data/test/live_test.rb +36 -17
- data/test/mailer_2_test.rb +4 -5
- data/test/mailer_3_test.rb +8 -6
- data/test/mailer_4_test.rb +14 -6
- data/test/request_test.rb +8 -6
- data/test/response_test.rb +2 -1
- metadata +35 -14
- checksums.yaml +0 -7
data/test/mailer_4_test.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
require File.expand_path('helper', File.dirname(__FILE__))
|
2
2
|
|
3
|
-
# tests for ActionMailer bundled with Rails 3
|
4
3
|
class Mailer4Test < MiniTest::Test
|
5
4
|
require_action_mailer(4) do
|
6
5
|
require File.expand_path('mailer/action_mailer_3/notifier', File.dirname(__FILE__))
|
@@ -9,26 +8,31 @@ class Mailer4Test < MiniTest::Test
|
|
9
8
|
|
10
9
|
def test_create_with_no_content
|
11
10
|
mail = Notifier.with_no_content
|
12
|
-
|
11
|
+
|
12
|
+
assert_equal({ }, mail.arguments['content'])
|
13
13
|
end
|
14
14
|
|
15
15
|
def test_create_with_no_subject
|
16
16
|
mail = Notifier.with_no_subject
|
17
|
+
|
17
18
|
assert mail.arguments['headers'][:subject].nil?
|
18
19
|
end
|
19
20
|
|
20
21
|
def test_create_with_simple_view
|
21
22
|
mail = Notifier.with_simple_view
|
23
|
+
|
22
24
|
assert_equal 'with layout simple view content', mail.arguments['content']['text/html']
|
23
25
|
end
|
24
26
|
|
25
27
|
def test_create_with_text_only_view
|
26
28
|
mail = Notifier.with_text_only_view
|
29
|
+
|
27
30
|
assert_equal 'text content', mail.arguments['content']['text/plain']
|
28
31
|
end
|
29
32
|
|
30
33
|
def test_create_with_html_and_text_views
|
31
34
|
mail = Notifier.with_html_and_text_views
|
35
|
+
|
32
36
|
assert_equal 'text content', mail.arguments['content']['text/plain']
|
33
37
|
assert_equal 'with layout html content', mail.arguments['content']['text/html']
|
34
38
|
end
|
@@ -36,13 +40,15 @@ class Mailer4Test < MiniTest::Test
|
|
36
40
|
def test_deliver_with_html_and_text_views
|
37
41
|
mock_successful_send
|
38
42
|
|
39
|
-
|
43
|
+
response = Notifier.with_html_and_text_views.deliver_now
|
44
|
+
|
40
45
|
assert response.is_a?(PostageApp::Response)
|
41
46
|
assert response.ok?
|
42
47
|
end
|
43
48
|
|
44
49
|
def test_create_with_body_and_attachment_as_file
|
45
50
|
mail = Notifier.with_body_and_attachment_as_file
|
51
|
+
|
46
52
|
assert_equal 'manual body text', mail.arguments['content']['text/html']
|
47
53
|
assert_equal 'text/plain', mail.arguments['attachments']['sample_file.txt']['content_type']
|
48
54
|
assert_equal "RmlsZSBjb250ZW50\n", mail.arguments['attachments']['sample_file.txt']['content']
|
@@ -50,6 +56,7 @@ class Mailer4Test < MiniTest::Test
|
|
50
56
|
|
51
57
|
def test_create_with_body_and_attachment_as_hash
|
52
58
|
mail = Notifier.with_body_and_attachment_as_hash
|
59
|
+
|
53
60
|
assert_equal 'manual body text', mail.arguments['content']['text/html']
|
54
61
|
assert_equal 'text/rich', mail.arguments['attachments']['sample_file.txt']['content_type']
|
55
62
|
assert_equal "RmlsZSBjb250ZW50\n", mail.arguments['attachments']['sample_file.txt']['content']
|
@@ -70,7 +77,7 @@ class Mailer4Test < MiniTest::Test
|
|
70
77
|
}, args['recipients'])
|
71
78
|
|
72
79
|
assert_equal 'test-template', args['template']
|
73
|
-
assert_equal
|
80
|
+
assert_equal({ 'variable' => 'value' }, args['variables'])
|
74
81
|
assert_equal 'CustomValue1', args['headers']['CustomHeader1']
|
75
82
|
assert_equal 'CustomValue2', args['headers']['CustomHeader2']
|
76
83
|
|
@@ -89,8 +96,9 @@ class Mailer4Test < MiniTest::Test
|
|
89
96
|
|
90
97
|
def test_deliver_for_test_mailer
|
91
98
|
mail = Notifier.with_simple_view
|
99
|
+
|
92
100
|
mail.delivery_method(Mail::TestMailer)
|
93
|
-
mail.
|
101
|
+
mail.deliver_now
|
94
102
|
|
95
103
|
assert_equal [ mail ], ActionMailer::Base.deliveries
|
96
104
|
end
|
@@ -100,7 +108,7 @@ class Mailer4Test < MiniTest::Test
|
|
100
108
|
|
101
109
|
mail.perform_deliveries = false
|
102
110
|
mail.delivery_method(Mail::TestMailer)
|
103
|
-
mail.
|
111
|
+
mail.deliver_now
|
104
112
|
|
105
113
|
assert_equal [ ], ActionMailer::Base.deliveries
|
106
114
|
end
|
data/test/request_test.rb
CHANGED
@@ -6,7 +6,7 @@ class RequestTest < MiniTest::Test
|
|
6
6
|
|
7
7
|
uid = request.uid
|
8
8
|
|
9
|
-
assert_match
|
9
|
+
assert_match(/\A\w{40}\z/, uid)
|
10
10
|
assert_equal uid, request.uid
|
11
11
|
assert uid != request.uid(true)
|
12
12
|
end
|
@@ -35,7 +35,7 @@ class RequestTest < MiniTest::Test
|
|
35
35
|
args = request.arguments_to_send
|
36
36
|
|
37
37
|
assert_equal '1234567890abcdef', args['api_key']
|
38
|
-
assert_match
|
38
|
+
assert_match(/^\w{40}$/, args['uid'])
|
39
39
|
|
40
40
|
payload = args['arguments']
|
41
41
|
|
@@ -50,14 +50,14 @@ class RequestTest < MiniTest::Test
|
|
50
50
|
args = request.arguments_to_send
|
51
51
|
|
52
52
|
assert_equal '1234567890abcdef', args['api_key']
|
53
|
-
assert_match
|
53
|
+
assert_match(/^\w{40}$/, args['uid'])
|
54
54
|
assert_equal 'content', args['arguments']['data']
|
55
55
|
end
|
56
56
|
|
57
57
|
def test_uid_is_enforceable
|
58
58
|
request = PostageApp::Request.new('test_method')
|
59
59
|
|
60
|
-
assert_match
|
60
|
+
assert_match(/^\w{40}$/, request.arguments_to_send['uid'])
|
61
61
|
|
62
62
|
request.uid = 'my_uid'
|
63
63
|
|
@@ -66,7 +66,7 @@ class RequestTest < MiniTest::Test
|
|
66
66
|
request = PostageApp::Request.new('test_method', 'uid' => 'new_uid', 'data' => 'value')
|
67
67
|
|
68
68
|
assert_equal 'new_uid', request.uid
|
69
|
-
assert_equal
|
69
|
+
assert_equal({ 'data' => 'value' }, request.arguments)
|
70
70
|
end
|
71
71
|
|
72
72
|
def test_api_key
|
@@ -74,7 +74,9 @@ class RequestTest < MiniTest::Test
|
|
74
74
|
|
75
75
|
assert_equal PostageApp.configuration.api_key, request.api_key
|
76
76
|
|
77
|
-
request = PostageApp::Request.new('test_method', {
|
77
|
+
request = PostageApp::Request.new('test_method', {
|
78
|
+
'api_key' => 'custom_api_key'
|
79
|
+
})
|
78
80
|
|
79
81
|
assert_equal 'custom_api_key', request.api_key
|
80
82
|
end
|
data/test/response_test.rb
CHANGED
@@ -16,10 +16,11 @@ class ResponseTest < MiniTest::Test
|
|
16
16
|
)
|
17
17
|
|
18
18
|
response = PostageApp::Response.new(object)
|
19
|
+
|
19
20
|
assert_equal 'md5_hash_uid', response.uid
|
20
21
|
assert_equal 'ok', response.status
|
21
22
|
assert_equal 'api reply message', response.message
|
22
|
-
assert_equal
|
23
|
+
assert_equal({ 'key' => 'value' }, response.data)
|
23
24
|
|
24
25
|
assert response.ok?
|
25
26
|
end
|
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: postageapp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.5
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Oleg Khabarov
|
@@ -10,24 +11,42 @@ authors:
|
|
10
11
|
autorequire:
|
11
12
|
bindir: bin
|
12
13
|
cert_chain: []
|
13
|
-
date:
|
14
|
+
date: 2016-07-27 00:00:00.000000000 Z
|
14
15
|
dependencies:
|
15
16
|
- !ruby/object:Gem::Dependency
|
16
17
|
name: json
|
17
18
|
requirement: !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
18
20
|
requirements:
|
19
|
-
- -
|
21
|
+
- - ! '>='
|
20
22
|
- !ruby/object:Gem::Version
|
21
23
|
version: '0'
|
22
24
|
type: :runtime
|
23
25
|
prerelease: false
|
24
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
|
+
none: false
|
25
28
|
requirements:
|
26
|
-
- -
|
29
|
+
- - ! '>='
|
27
30
|
- !ruby/object:Gem::Version
|
28
31
|
version: '0'
|
29
|
-
|
30
|
-
|
32
|
+
- !ruby/object:Gem::Dependency
|
33
|
+
name: mail
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
35
|
+
none: false
|
36
|
+
requirements:
|
37
|
+
- - ! '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
type: :runtime
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
description: Gem that interfaces with PostageApp service to send emails from Ruby
|
49
|
+
applications
|
31
50
|
email:
|
32
51
|
- oleg@khabarov.ca
|
33
52
|
- tadman@postageapp.com
|
@@ -35,8 +54,8 @@ executables: []
|
|
35
54
|
extensions: []
|
36
55
|
extra_rdoc_files: []
|
37
56
|
files:
|
38
|
-
-
|
39
|
-
-
|
57
|
+
- .gitignore
|
58
|
+
- .travis.yml
|
40
59
|
- Gemfile
|
41
60
|
- LICENSE
|
42
61
|
- README.md
|
@@ -65,6 +84,7 @@ files:
|
|
65
84
|
- lib/postageapp/version.rb
|
66
85
|
- postageapp.gemspec
|
67
86
|
- rails/init.rb
|
87
|
+
- script/with
|
68
88
|
- test/configuration_test.rb
|
69
89
|
- test/failed_request_test.rb
|
70
90
|
- test/gemfiles/Gemfile.rails-2.3.x
|
@@ -109,25 +129,26 @@ files:
|
|
109
129
|
homepage: http://github.com/postageapp/postageapp-ruby
|
110
130
|
licenses:
|
111
131
|
- MIT
|
112
|
-
metadata: {}
|
113
132
|
post_install_message:
|
114
133
|
rdoc_options: []
|
115
134
|
require_paths:
|
116
135
|
- lib
|
117
136
|
required_ruby_version: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
118
138
|
requirements:
|
119
|
-
- -
|
139
|
+
- - ! '>='
|
120
140
|
- !ruby/object:Gem::Version
|
121
141
|
version: 1.9.3
|
122
142
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
|
+
none: false
|
123
144
|
requirements:
|
124
|
-
- -
|
145
|
+
- - ! '>='
|
125
146
|
- !ruby/object:Gem::Version
|
126
147
|
version: '0'
|
127
148
|
requirements: []
|
128
149
|
rubyforge_project:
|
129
|
-
rubygems_version:
|
150
|
+
rubygems_version: 1.8.30
|
130
151
|
signing_key:
|
131
|
-
specification_version:
|
132
|
-
summary:
|
152
|
+
specification_version: 3
|
153
|
+
summary: Gem for communicating with the PostageApp email API
|
133
154
|
test_files: []
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 137d68c70e3e36a0ffa2d4701477ff1e264b4550
|
4
|
-
data.tar.gz: 847c08f7a96c8eb75f4decd3ab54b0bf1beedc65
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: f5130b3ceddd00f85e15e1823adf766c2727415aff2d77673a2dceaa2bc770bb08abe34da1cdb9a0ee18af1a811d96018c25945eabad95f1001ee61b2ad22343
|
7
|
-
data.tar.gz: 2b44293bf9bf5eee65de1855c18645bd4992c3c7420175540da99c50209844cf0bba498986d0b7681ce08337db881a7497e0065880cb31535419e37fdc307d7e
|