postageapp 1.0.9 → 1.0.10

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.9
1
+ 1.0.10
@@ -4,6 +4,7 @@ require 'digest'
4
4
  require 'logger'
5
5
 
6
6
  require 'json'
7
+ require 'base64'
7
8
 
8
9
  require 'postageapp/utils'
9
10
  require 'postageapp/version'
@@ -24,7 +24,9 @@ module PostageApp::FailedRequest
24
24
  request = initialize_request(filename)
25
25
 
26
26
  receipt_response = PostageApp::Request.new(:get_message_receipt, :uid => filename).send(true)
27
- if receipt_response.ok?
27
+ if receipt_response.fail?
28
+ return
29
+ elsif receipt_response.ok?
28
30
  PostageApp.logger.info "NOT RESENDING FAILED REQUEST [#{filename}]"
29
31
  File.delete(file_path(filename)) rescue nil
30
32
 
@@ -35,9 +37,11 @@ module PostageApp::FailedRequest
35
37
  # Not a fail, so we can remove this file, if it was then
36
38
  # there will be another attempt to resend
37
39
  File.delete(file_path(filename)) rescue nil if !response.fail?
40
+ else
41
+ PostageApp.logger.info "NOT RESENDING FAILED REQUEST [#{filename}], RECEIPT CANNOT BE PROCESSED"
42
+ File.delete(file_path(filename)) rescue nil
38
43
  end
39
44
  end
40
-
41
45
  return
42
46
  end
43
47
 
@@ -54,7 +54,11 @@ class PostageApp::Request
54
54
  PostageApp.logger.info(response)
55
55
 
56
56
  unless skip_failed_requests_processing
57
- response.fail?? PostageApp::FailedRequest.store(self) : PostageApp::FailedRequest.resend_all
57
+ if response.fail?
58
+ PostageApp::FailedRequest.store(self)
59
+ elsif response.ok?
60
+ PostageApp::FailedRequest.resend_all
61
+ end
58
62
  end
59
63
 
60
64
  response
@@ -1,95 +1,93 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{postageapp}
8
- s.version = "1.0.9"
8
+ s.version = "1.0.10"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Oleg Khabarov, The Working Group Inc"]
12
- s.date = %q{2010-11-26}
12
+ s.date = %q{2011-01-06}
13
13
  s.description = %q{Gem that interfaces with PostageApp.com service to send emails from web apps}
14
14
  s.email = %q{oleg@twg.ca}
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE",
17
- "README.md"
17
+ "README.md"
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.md",
24
- "Rakefile",
25
- "VERSION",
26
- "generators/postageapp/postageapp_generator.rb",
27
- "generators/postageapp/templates/initializer.rb",
28
- "generators/postageapp/templates/postageapp_tasks.rake",
29
- "lib/generators/postageapp/postageapp_generator.rb",
30
- "lib/postageapp.rb",
31
- "lib/postageapp/configuration.rb",
32
- "lib/postageapp/failed_request.rb",
33
- "lib/postageapp/logger.rb",
34
- "lib/postageapp/mailer.rb",
35
- "lib/postageapp/mailer/mailer_2.rb",
36
- "lib/postageapp/mailer/mailer_3.rb",
37
- "lib/postageapp/rails/rails.rb",
38
- "lib/postageapp/rails/railtie.rb",
39
- "lib/postageapp/request.rb",
40
- "lib/postageapp/response.rb",
41
- "lib/postageapp/utils.rb",
42
- "lib/postageapp/version.rb",
43
- "postageapp.gemspec",
44
- "rails/init.rb",
45
- "test/configuration_test.rb",
46
- "test/failed_request_test.rb",
47
- "test/helper.rb",
48
- "test/live_test.rb",
49
- "test/mailer/action_mailer_2/notifier.rb",
50
- "test/mailer/action_mailer_2/notifier/with_body_and_attachment.erb",
51
- "test/mailer/action_mailer_2/notifier/with_custom_postage_variables.text.html.erb",
52
- "test/mailer/action_mailer_2/notifier/with_custom_postage_variables.text.plain.erb",
53
- "test/mailer/action_mailer_2/notifier/with_html_and_text_views.text.html.erb",
54
- "test/mailer/action_mailer_2/notifier/with_html_and_text_views.text.plain.erb",
55
- "test/mailer/action_mailer_2/notifier/with_simple_view.erb",
56
- "test/mailer/action_mailer_2/notifier/with_text_only_view.text.plain.erb",
57
- "test/mailer/action_mailer_3/notifier.rb",
58
- "test/mailer/action_mailer_3/notifier/with_custom_postage_variables.html.erb",
59
- "test/mailer/action_mailer_3/notifier/with_custom_postage_variables.text.erb",
60
- "test/mailer/action_mailer_3/notifier/with_html_and_text_views.html.erb",
61
- "test/mailer/action_mailer_3/notifier/with_html_and_text_views.text.erb",
62
- "test/mailer/action_mailer_3/notifier/with_old_api.html.erb",
63
- "test/mailer/action_mailer_3/notifier/with_old_api.text.erb",
64
- "test/mailer/action_mailer_3/notifier/with_simple_view.erb",
65
- "test/mailer/action_mailer_3/notifier/with_text_only_view.text.erb",
66
- "test/mailer_2_test.rb",
67
- "test/mailer_3_test.rb",
68
- "test/mailer_helper_methods_test.rb",
69
- "test/postageapp_test.rb",
70
- "test/rails_initialization_test.rb",
71
- "test/request_test.rb",
72
- "test/response_test.rb"
21
+ "LICENSE",
22
+ "README.md",
23
+ "Rakefile",
24
+ "VERSION",
25
+ "generators/postageapp/postageapp_generator.rb",
26
+ "generators/postageapp/templates/initializer.rb",
27
+ "generators/postageapp/templates/postageapp_tasks.rake",
28
+ "lib/generators/postageapp/postageapp_generator.rb",
29
+ "lib/postageapp.rb",
30
+ "lib/postageapp/configuration.rb",
31
+ "lib/postageapp/failed_request.rb",
32
+ "lib/postageapp/logger.rb",
33
+ "lib/postageapp/mailer.rb",
34
+ "lib/postageapp/mailer/mailer_2.rb",
35
+ "lib/postageapp/mailer/mailer_3.rb",
36
+ "lib/postageapp/rails/rails.rb",
37
+ "lib/postageapp/rails/railtie.rb",
38
+ "lib/postageapp/request.rb",
39
+ "lib/postageapp/response.rb",
40
+ "lib/postageapp/utils.rb",
41
+ "lib/postageapp/version.rb",
42
+ "postageapp.gemspec",
43
+ "rails/init.rb",
44
+ "test/configuration_test.rb",
45
+ "test/failed_request_test.rb",
46
+ "test/helper.rb",
47
+ "test/live_test.rb",
48
+ "test/mailer/action_mailer_2/notifier.rb",
49
+ "test/mailer/action_mailer_2/notifier/with_body_and_attachment.erb",
50
+ "test/mailer/action_mailer_2/notifier/with_custom_postage_variables.text.html.erb",
51
+ "test/mailer/action_mailer_2/notifier/with_custom_postage_variables.text.plain.erb",
52
+ "test/mailer/action_mailer_2/notifier/with_html_and_text_views.text.html.erb",
53
+ "test/mailer/action_mailer_2/notifier/with_html_and_text_views.text.plain.erb",
54
+ "test/mailer/action_mailer_2/notifier/with_simple_view.erb",
55
+ "test/mailer/action_mailer_2/notifier/with_text_only_view.text.plain.erb",
56
+ "test/mailer/action_mailer_3/notifier.rb",
57
+ "test/mailer/action_mailer_3/notifier/with_custom_postage_variables.html.erb",
58
+ "test/mailer/action_mailer_3/notifier/with_custom_postage_variables.text.erb",
59
+ "test/mailer/action_mailer_3/notifier/with_html_and_text_views.html.erb",
60
+ "test/mailer/action_mailer_3/notifier/with_html_and_text_views.text.erb",
61
+ "test/mailer/action_mailer_3/notifier/with_old_api.html.erb",
62
+ "test/mailer/action_mailer_3/notifier/with_old_api.text.erb",
63
+ "test/mailer/action_mailer_3/notifier/with_simple_view.erb",
64
+ "test/mailer/action_mailer_3/notifier/with_text_only_view.text.erb",
65
+ "test/mailer_2_test.rb",
66
+ "test/mailer_3_test.rb",
67
+ "test/mailer_helper_methods_test.rb",
68
+ "test/postageapp_test.rb",
69
+ "test/rails_initialization_test.rb",
70
+ "test/request_test.rb",
71
+ "test/response_test.rb"
73
72
  ]
74
73
  s.homepage = %q{http://github.com/postageapp/postageapp-ruby}
75
- s.rdoc_options = ["--charset=UTF-8"]
76
74
  s.require_paths = ["lib"]
77
75
  s.rubygems_version = %q{1.3.7}
78
76
  s.summary = %q{Easier way to send email from web apps}
79
77
  s.test_files = [
80
78
  "test/configuration_test.rb",
81
- "test/failed_request_test.rb",
82
- "test/helper.rb",
83
- "test/live_test.rb",
84
- "test/mailer/action_mailer_2/notifier.rb",
85
- "test/mailer/action_mailer_3/notifier.rb",
86
- "test/mailer_2_test.rb",
87
- "test/mailer_3_test.rb",
88
- "test/mailer_helper_methods_test.rb",
89
- "test/postageapp_test.rb",
90
- "test/rails_initialization_test.rb",
91
- "test/request_test.rb",
92
- "test/response_test.rb"
79
+ "test/failed_request_test.rb",
80
+ "test/helper.rb",
81
+ "test/live_test.rb",
82
+ "test/mailer/action_mailer_2/notifier.rb",
83
+ "test/mailer/action_mailer_3/notifier.rb",
84
+ "test/mailer_2_test.rb",
85
+ "test/mailer_3_test.rb",
86
+ "test/mailer_helper_methods_test.rb",
87
+ "test/postageapp_test.rb",
88
+ "test/rails_initialization_test.rb",
89
+ "test/request_test.rb",
90
+ "test/response_test.rb"
93
91
  ]
94
92
 
95
93
  if s.respond_to? :specification_version then
@@ -66,7 +66,7 @@ class FailedRequestTest < Test::Unit::TestCase
66
66
 
67
67
  request = PostageApp::Request.new(:get_project_info)
68
68
 
69
- message_receipt_response = stub(:ok? => false, :not_found? => true)
69
+ message_receipt_response = stub(:fail? => false, :ok? => false, :not_found? => true)
70
70
  message_receipt_request = stub(:send => message_receipt_response)
71
71
  PostageApp::Request.stubs(:new).with{|a,b| a == :get_message_receipt}.returns(message_receipt_request)
72
72
 
@@ -76,4 +76,25 @@ class FailedRequestTest < Test::Unit::TestCase
76
76
  assert !File.exists?(file_path)
77
77
  end
78
78
 
79
+ def test_resend_all_failure
80
+ mock_failed_send
81
+ request = PostageApp::Request.new(:send_message, {
82
+ :headers => { 'from' => 'sender@test.test',
83
+ 'subject' => 'Test Message'},
84
+ :recipients => 'test@test.test',
85
+ :content => {
86
+ 'text/plain' => 'text content',
87
+ 'text/html' => 'html content'
88
+ }
89
+ })
90
+ response = request.send
91
+ assert response.fail?
92
+ file_path = File.join(PostageApp::FailedRequest.store_path, request.uid)
93
+ assert File.exists?(file_path)
94
+
95
+ # Forcing to resend. Should quit right away as we can't connect
96
+ PostageApp::FailedRequest.resend_all
97
+
98
+ assert File.exists?(file_path)
99
+ end
79
100
  end
@@ -35,12 +35,12 @@ class Test::Unit::TestCase
35
35
  end
36
36
  end
37
37
 
38
- def mock_successful_send
38
+ def mock_successful_send(status = 'ok')
39
39
  Net::HTTP.any_instance.stubs(:post).returns(Net::HTTPResponse.new(nil, nil, nil))
40
40
  Net::HTTPResponse.any_instance.stubs(:body).returns({
41
41
  :response => {
42
42
  :uid => 'sha1hashuid23456789012345678901234567890',
43
- :status => 'ok'
43
+ :status => status
44
44
  },
45
45
  :data => {
46
46
  :message => { :id => 999 }
@@ -15,7 +15,8 @@ class MailerHelperMethodsTest < Test::Unit::TestCase
15
15
  assert_equal ['test@test.test'], request.to
16
16
  assert_equal ['sender@test.test'], request.from
17
17
  assert_equal 'Test Message', request.subject
18
- assert_equal "html content\n\ntext content", request.body
18
+ assert_match 'html content', request.body
19
+ assert_match 'text content', request.body
19
20
  end
20
21
 
21
22
  end
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: postageapp
3
3
  version: !ruby/object:Gem::Version
4
- hash: 5
5
4
  prerelease: false
6
5
  segments:
7
6
  - 1
8
7
  - 0
9
- - 9
10
- version: 1.0.9
8
+ - 10
9
+ version: 1.0.10
11
10
  platform: ruby
12
11
  authors:
13
12
  - Oleg Khabarov, The Working Group Inc
@@ -15,7 +14,7 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2010-11-26 00:00:00 -05:00
17
+ date: 2011-01-06 00:00:00 -05:00
19
18
  default_executable:
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
@@ -26,7 +25,6 @@ dependencies:
26
25
  requirements:
27
26
  - - ">="
28
27
  - !ruby/object:Gem::Version
29
- hash: 11
30
28
  segments:
31
29
  - 1
32
30
  - 4
@@ -42,7 +40,6 @@ dependencies:
42
40
  requirements:
43
41
  - - ">="
44
42
  - !ruby/object:Gem::Version
45
- hash: 43
46
43
  segments:
47
44
  - 0
48
45
  - 9
@@ -61,7 +58,6 @@ extra_rdoc_files:
61
58
  - README.md
62
59
  files:
63
60
  - .document
64
- - .gitignore
65
61
  - LICENSE
66
62
  - README.md
67
63
  - Rakefile
@@ -118,8 +114,8 @@ homepage: http://github.com/postageapp/postageapp-ruby
118
114
  licenses: []
119
115
 
120
116
  post_install_message:
121
- rdoc_options:
122
- - --charset=UTF-8
117
+ rdoc_options: []
118
+
123
119
  require_paths:
124
120
  - lib
125
121
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -127,7 +123,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
127
123
  requirements:
128
124
  - - ">="
129
125
  - !ruby/object:Gem::Version
130
- hash: 3
131
126
  segments:
132
127
  - 0
133
128
  version: "0"
@@ -136,7 +131,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
131
  requirements:
137
132
  - - ">="
138
133
  - !ruby/object:Gem::Version
139
- hash: 3
140
134
  segments:
141
135
  - 0
142
136
  version: "0"
data/.gitignore DELETED
@@ -1,24 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- rdoc
19
- pkg
20
-
21
- ## PROJECT::SPECIFIC
22
-
23
- test/tmp
24
- test/log