postageapp 1.3.1 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +6 -0
  3. data/.travis.yml +9 -40
  4. data/LICENSE.md +1 -1
  5. data/README.md +117 -13
  6. data/Rakefile +15 -4
  7. data/VERSION +1 -0
  8. data/app/ingresses/action_mailbox/ingresses/postage_app.rb +2 -0
  9. data/app/ingresses/action_mailbox/ingresses/postage_app/inbound_emails_controller.rb +50 -0
  10. data/config/routes.rb +6 -0
  11. data/exe/postageapp +37 -0
  12. data/lib/generators/postageapp/postageapp_generator.rb +9 -6
  13. data/lib/postageapp.rb +53 -35
  14. data/lib/postageapp/cli.rb +14 -0
  15. data/lib/postageapp/cli/command.rb +110 -0
  16. data/lib/postageapp/cli/command/config.rb +74 -0
  17. data/lib/postageapp/cli/command/create_mailbox.rb +21 -0
  18. data/lib/postageapp/cli/command/env.rb +58 -0
  19. data/lib/postageapp/cli/command/get_project_info.rb +3 -0
  20. data/lib/postageapp/configuration.rb +237 -74
  21. data/lib/postageapp/engine.rb +9 -0
  22. data/lib/postageapp/env.rb +9 -0
  23. data/lib/postageapp/mailer.rb +1 -11
  24. data/lib/postageapp/mailer/mailer_4.rb +30 -14
  25. data/lib/postageapp/rails/railtie.rb +1 -3
  26. data/lib/postageapp/request.rb +6 -1
  27. data/log/.gitignore +1 -0
  28. data/postageapp.gemspec +8 -10
  29. data/script/with +2 -2
  30. data/test/gemfiles/Gemfile.rails-2.3.x +1 -1
  31. data/test/gemfiles/Gemfile.rails-3.0.x +1 -1
  32. data/test/gemfiles/Gemfile.rails-3.1.x +1 -1
  33. data/test/gemfiles/Gemfile.rails-3.2.x +1 -1
  34. data/test/gemfiles/Gemfile.rails-4.0.x +1 -1
  35. data/test/gemfiles/Gemfile.rails-4.1.x +1 -1
  36. data/test/gemfiles/Gemfile.rails-4.2.x +1 -2
  37. data/test/gemfiles/Gemfile.rails-5.0.x +2 -3
  38. data/test/gemfiles/Gemfile.rails-5.2.x +12 -0
  39. data/test/gemfiles/Gemfile.rails-6.0.x +12 -0
  40. data/test/gemfiles/Gemfile.rails-6.1.x +12 -0
  41. data/test/gemfiles/Gemfile.ruby +2 -3
  42. data/test/helper.rb +3 -3
  43. data/test/log/.gitignore +1 -0
  44. data/test/mailer/action_mailer_3/notifier.rb +1 -1
  45. data/test/tmp/.gitignore +1 -0
  46. data/test/travis_test.rb +58 -40
  47. data/test/{configuration_test.rb → unit/configuration_test.rb} +5 -3
  48. data/test/{failed_request_test.rb → unit/failed_request_test.rb} +6 -6
  49. data/test/{live_test.rb → unit/live_test.rb} +1 -36
  50. data/test/{mail_delivery_method_test.rb → unit/mail_delivery_method_test.rb} +1 -1
  51. data/test/{mailer_4_test.rb → unit/mailer_4_test.rb} +2 -2
  52. data/test/{mailer_helper_methods_test.rb → unit/mailer_helper_methods_test.rb} +4 -4
  53. data/test/{postageapp_test.rb → unit/postageapp_test.rb} +7 -1
  54. data/test/{rails_initialization_test.rb → unit/rails_initialization_test.rb} +2 -2
  55. data/test/{request_test.rb → unit/request_test.rb} +15 -15
  56. data/test/{response_test.rb → unit/response_test.rb} +4 -4
  57. data/test/unit/tmp/.gitignore +1 -0
  58. data/tmp/.gitignore +1 -0
  59. metadata +40 -46
  60. data/lib/postageapp/mailer/mailer_2.rb +0 -140
  61. data/lib/postageapp/mailer/mailer_3.rb +0 -190
  62. data/lib/postageapp/version.rb +0 -3
  63. data/test/mailer/action_mailer_2/notifier.rb +0 -77
  64. data/test/mailer/action_mailer_2/notifier/with_body_and_attachment.erb +0 -1
  65. data/test/mailer/action_mailer_2/notifier/with_custom_postage_variables.text.html.erb +0 -1
  66. data/test/mailer/action_mailer_2/notifier/with_custom_postage_variables.text.plain.erb +0 -1
  67. data/test/mailer/action_mailer_2/notifier/with_html_and_text_views.text.html.erb +0 -1
  68. data/test/mailer/action_mailer_2/notifier/with_html_and_text_views.text.plain.erb +0 -1
  69. data/test/mailer/action_mailer_2/notifier/with_simple_view.erb +0 -1
  70. data/test/mailer/action_mailer_2/notifier/with_text_only_view.text.plain.erb +0 -1
  71. data/test/mailer_2_test.rb +0 -95
  72. data/test/mailer_3_test.rb +0 -118
@@ -1,118 +0,0 @@
1
- require_relative './helper'
2
-
3
- class Mailer3Test < MiniTest::Test
4
- require_action_mailer(3) do
5
- require File.expand_path('mailer/action_mailer_3/notifier', File.dirname(__FILE__))
6
-
7
- puts "\e[0m\e[32mRunning #{File.basename(__FILE__)} for action_mailer #{ActionMailer::VERSION::STRING}\e[0m"
8
-
9
- def test_create_with_no_content
10
- mail = Notifier.with_no_content
11
-
12
- assert_equal({ }, mail.arguments['content'])
13
- end
14
-
15
- def test_create_with_no_subject
16
- mail = Notifier.with_no_subject
17
-
18
- assert mail.arguments['headers'][:subject].nil?
19
- end
20
-
21
- def test_create_with_simple_view
22
- mail = Notifier.with_simple_view
23
-
24
- assert_equal 'with layout simple view content', mail.arguments['content']['text/html']
25
- end
26
-
27
- def test_create_with_text_only_view
28
- mail = Notifier.with_text_only_view
29
-
30
- assert_equal 'text content', mail.arguments['content']['text/plain']
31
- end
32
-
33
- def test_create_with_html_and_text_views
34
- mail = Notifier.with_html_and_text_views
35
-
36
- assert_equal 'text content', mail.arguments['content']['text/plain']
37
- assert_equal 'with layout html content', mail.arguments['content']['text/html']
38
- end
39
-
40
- def test_deliver_with_html_and_text_views
41
- mock_successful_send
42
-
43
- assert response = Notifier.with_html_and_text_views.deliver
44
- assert response.is_a?(PostageApp::Response)
45
- assert response.ok?
46
- end
47
-
48
- def test_create_with_body_and_attachment_as_file
49
- mail = Notifier.with_body_and_attachment_as_file
50
-
51
- assert_equal 'manual body text', mail.arguments['content']['text/html']
52
- assert_equal 'text/plain', mail.arguments['attachments']['sample_file.txt']['content_type']
53
- assert_equal "RmlsZSBjb250ZW50\n", mail.arguments['attachments']['sample_file.txt']['content']
54
- end
55
-
56
- def test_create_with_body_and_attachment_as_hash
57
- mail = Notifier.with_body_and_attachment_as_hash
58
-
59
- assert_equal 'manual body text', mail.arguments['content']['text/html']
60
- assert_equal 'text/rich', mail.arguments['attachments']['sample_file.txt']['content_type']
61
- assert_equal "RmlsZSBjb250ZW50\n", mail.arguments['attachments']['sample_file.txt']['content']
62
- end
63
-
64
- def test_create_with_custom_postage_variables
65
- mail = Notifier.with_custom_postage_variables
66
-
67
- args = mail.arguments_to_send
68
-
69
- assert_equal 'custom_uid', args['uid']
70
- assert_equal 'custom_api_key', args['api_key']
71
-
72
- args = args['arguments']
73
-
74
- assert_equal(
75
- {
76
- 'test1@example.net' => { 'name' => 'Test 1' },
77
- 'test2@example.net' => { 'name' => 'Test 2' }
78
- },
79
- args['recipients']
80
- )
81
-
82
- assert_equal 'test-template', args['template']
83
- assert_equal({ 'variable' => 'value' }, args['variables'])
84
- assert_equal 'CustomValue1', args['headers']['CustomHeader1']
85
- assert_equal 'CustomValue2', args['headers']['CustomHeader2']
86
- assert_equal 'text content', args['content']['text/plain']
87
- assert_equal 'with layout html content', args['content']['text/html']
88
- end
89
-
90
- def test_create_with_recipient_override
91
- PostageApp.configuration.recipient_override = 'override@example.net'
92
-
93
- assert mail = Notifier.with_html_and_text_views
94
-
95
- assert_equal 'recipient@example.net', mail.arguments['recipients']
96
- assert_equal 'override@example.net', mail.arguments_to_send['arguments']['recipient_override']
97
- end
98
-
99
- def test_deliver_for_test_mailer
100
- mail = Notifier.with_simple_view
101
-
102
- mail.delivery_method(Mail::TestMailer)
103
- mail.deliver
104
-
105
- assert_equal [ mail ], ActionMailer::Base.deliveries
106
- end
107
-
108
- def test_deliver_for_not_performing_deliveries_with_test_mailer
109
- mail = Notifier.with_simple_view
110
-
111
- mail.perform_deliveries = false
112
- mail.delivery_method(Mail::TestMailer)
113
- mail.deliver
114
-
115
- assert_equal [ ], ActionMailer::Base.deliveries
116
- end
117
- end
118
- end