expresspigeon-ruby 0.1.0 → 0.1.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.
@@ -6,25 +6,25 @@ describe 'transactional messages integration test' do
6
6
  include PigeonSpecHelper
7
7
 
8
8
  #def test_sending_message_and_report_without_params(self):
9
- # res = self.api.messages.send_message(template_id=-1, to="", reply_to="", from_name="", subject="")
9
+ # res = self.api.messages.send_message(template_id=-1, to="", reply_to="", from="", subject="")
10
10
  # self.assertEqual(res.code, 400)
11
11
  # self.assertEqual(res.status, "error")
12
12
  # self.assertEqual(res.message, "Required fields: template_id, reply_to, from, to, and subject")
13
13
  #
14
14
  #def test_sending_message_and_report_with_wrong_email_in_to(self):
15
- # res = self.api.messages.send_message(template_id=-1, to="e", reply_to="a@a.a", from_name="me", subject="Hi")
15
+ # res = self.api.messages.send_message(template_id=-1, to="e", reply_to="a@a.a", from="me", subject="Hi")
16
16
  # self.assertEqual(res.code, 400)
17
17
  # self.assertEqual(res.status, "error")
18
18
  # self.assertEqual(res.message, "Email in the 'to' field is not valid")
19
19
  #
20
20
  #def test_sending_message_and_report_with_wrong_email_in_reply_to(self):
21
- # res = self.api.messages.send_message(template_id=-1, to="e@e.e", reply_to="a", from_name="me", subject="Hi")
21
+ # res = self.api.messages.send_message(template_id=-1, to="e@e.e", reply_to="a", from="me", subject="Hi")
22
22
  # self.assertEqual(res.code, 400)
23
23
  # self.assertEqual(res.status, "error")
24
24
  # self.assertEqual(res.message, "Email in the 'reply_to' field is not valid")
25
25
  #
26
26
  #def test_sending_message_and_report_with_wrong_template_id(self):
27
- # res = self.api.messages.send_message(template_id=-1, to="e@e.e", reply_to="a@a.a", from_name="me", subject="Hi")
27
+ # res = self.api.messages.send_message(template_id=-1, to="e@e.e", reply_to="a@a.a", from="me", subject="Hi")
28
28
  # self.assertEqual(res.code, 400)
29
29
  # self.assertEqual(res.status, "error")
30
30
  # self.assertEqual(res.message, "template=-1 not found")
@@ -32,10 +32,10 @@ describe 'transactional messages integration test' do
32
32
 
33
33
  #TODO: complete the spec
34
34
  it 'sends a single transactional message' do
35
- message_response = PIGEON.messages.send_message 115, ENV['TARGET_EMAIL'], ENV['TARGET_EMAIL'], "Team ExpressPigeon", "Hi there!",
36
- :first_name => "Igor"
35
+ message_response = ExpressPigeon::API.messages.send_message 115, ENV['TARGET_EMAIL'], ENV['TARGET_EMAIL'], "Team ExpressPigeon", "Hi there!",
36
+ :first_name => "Igor"
37
37
  validate_response message_response, 200, 'success', /email queued/
38
- report = PIGEON.messages.report(message_response.id)
38
+ report = ExpressPigeon::API.messages.report(message_response.id)
39
39
  report.id.should eq message_response.id
40
40
  end
41
41
 
@@ -62,7 +62,7 @@ describe 'transactional messages integration test' do
62
62
  #def test_sending_multiple_messages_and_get_reports(self):
63
63
  # message_response = self.api.messages.send_message(template_id=self.template_id,
64
64
  # to=os.environ['EXPRESSPIGEON_API_USER'],
65
- # reply_to="a@a.a", from_name="me", subject="Hi",
65
+ # reply_to="a@a.a", from="me", subject="Hi",
66
66
  # merge_fields={"first_name": "Gleb"})
67
67
  # self.assertEqual(message_response.code, 200)
68
68
  # self.assertEqual(message_response.status, "success")
@@ -71,7 +71,7 @@ describe 'transactional messages integration test' do
71
71
  #
72
72
  # message_response_2 = self.api.messages.send_message(template_id=self.template_id,
73
73
  # to=os.environ['EXPRESSPIGEON_API_USER'],
74
- # reply_to="a@a.a", from_name="me", subject="Hi 2",
74
+ # reply_to="a@a.a", from="me", subject="Hi 2",
75
75
  # merge_fields={"first_name": "Gleb"})
76
76
  # self.assertEqual(message_response_2.code, 200)
77
77
  # self.assertEqual(message_response_2.status, "success")
@@ -90,23 +90,23 @@ describe 'transactional messages integration test' do
90
90
  # self.assertEquals(report2.email, os.environ['EXPRESSPIGEON_API_USER'])
91
91
  # self.assertTrue(report2.in_transit is not None)
92
92
  #
93
- it 'test_sending_multiple_messages_and_get_reports_for_today(self):' do
93
+ it 'should send multiple messages and get reports for today' do
94
94
 
95
95
  start = Time.now.utc - 60 # one minute ago
96
96
 
97
- message_response = PIGEON.messages.send_message 4905, ENV['TARGET_EMAIL'], ENV['TARGET_EMAIL'],
98
- 'Team EP', "Hi, there!", :first_name => "Bob"
97
+ message_response = ExpressPigeon::API.messages.send_message 4905, ENV['TARGET_EMAIL'], ENV['TARGET_EMAIL'],
98
+ 'Team EP', "Hi, there!", :first_name => "Bob"
99
99
 
100
100
  validate_response message_response, 200, 'success', /email queued/
101
101
  message_response.id should_not be_nil
102
102
 
103
- message_response2 = PIGEON.messages.send_message 4905, ENV['TARGET_EMAIL'], ENV['TARGET_EMAIL'],
104
- 'Team EP', "Hi, there!", :first_name => "Bob"
103
+ message_response2 = ExpressPigeon::API.messages.send_message 4905, ENV['TARGET_EMAIL'], ENV['TARGET_EMAIL'],
104
+ 'Team EP', "Hi, there!", :first_name => "Bob"
105
105
  validate_response message_response2, 200, 'success', /email queued/
106
106
  message_response2.id should_not be_nil
107
107
 
108
108
  finish = start + 120 # two minutes after start
109
- reports = PIGEON.messages.reports (message_response.id - 1), start, finish
109
+ reports = ExpressPigeon::API.messages.reports (message_response.id - 1), start, finish
110
110
 
111
111
  reports.size.should eq 2
112
112
  reports[0]['id'].should eq message_response.id
@@ -115,6 +115,8 @@ describe 'transactional messages integration test' do
115
115
  reports[0]['email'].should eq ENV['TARGET_EMAIL']
116
116
  reports[1]['email'].should eq ENV['TARGET_EMAIL']
117
117
  end
118
+
119
+
118
120
  #
119
121
  #def __get_report_by_id__(self, message_id, start_date=None, end_date=None):
120
122
  # reports = self.api.messages.reports() if start_date is None and end_date is None else \
@@ -124,4 +126,35 @@ describe 'transactional messages integration test' do
124
126
  # return report[0]
125
127
 
126
128
 
129
+ it 'should prepare payload hash' do
130
+
131
+ payload = ExpressPigeon::API.messages.prepare_payload(123, #template_id
132
+ 'john@doe.com',
133
+ 'jane@doe.com',
134
+ 'Jane Doe',
135
+ 'Hello, Dolly!',
136
+ {eye_color: 'blue', body_shape:'pear'},
137
+ false, true, false,
138
+ %w(spec/resources/attachment1.txt spec/resources/attachment2.txt), {}, nil, nil)
139
+
140
+ payload[:multipart].should eq true
141
+ payload[:template_id].should eq 123
142
+ payload[:to].should eq 'john@doe.com'
143
+ payload[:reply_to].should eq 'jane@doe.com'
144
+ payload[:from].should eq 'Jane Doe'
145
+ payload[:subject].should eq 'Hello, Dolly!'
146
+ payload[:template_id].should eq 123
147
+ payload[:view_online].should eq false
148
+ payload[:click_tracking].should eq true
149
+ payload[:suppress_address].should eq false
150
+ payload['attachment1.txt'].class.should eq File
151
+
152
+ payload[:merge_fields].class.should eq String
153
+ merge_fields = JSON.parse payload[:merge_fields]
154
+ merge_fields['eye_color'].should eq "blue"
155
+ merge_fields['body_shape'].should eq "pear"
156
+
157
+ File.basename(payload['attachment1.txt']).should eq 'attachment1.txt'
158
+ File.basename(payload['attachment2.txt']).should eq 'attachment2.txt'
159
+ end
127
160
  end
@@ -1,5 +1,3 @@
1
- PIGEON = ExpressPigeon::API
2
-
3
1
 
4
2
  TEMPLATE_ID = ENV['TEMPLATE_ID']
5
3
  LIST_ID = ENV['LIST_ID']
@@ -6,10 +6,10 @@ describe 'templates integration test' do
6
6
  include PigeonSpecHelper
7
7
 
8
8
  it 'should copy template and delete template' do
9
- template_response = PIGEON.templates.copy 34830, "new template", :content => "Hello Template World!"
9
+ template_response = ExpressPigeon::API.templates.copy 34830, "new template", :content => "Hello Template World!"
10
10
  template_response.message.should eq 'template copied successfully'
11
11
  template_id = template_response.template_id
12
- delete_response = PIGEON.templates.delete template_id
12
+ delete_response = ExpressPigeon::API.templates.delete template_id
13
13
  delete_response.message.should eq 'template deleted successfully'
14
14
  end
15
15
  end
@@ -1,9 +1,18 @@
1
- require '../lib/expresspigeon-ruby.rb'
2
1
 
2
+ require_relative '../lib/expresspigeon-ruby.rb'
3
3
 
4
- MESSAGES = ExpressPigeon::API.messages
5
- MESSAGES.open_timeout = 1000
6
-
7
- puts MESSAGES.send_message 565452, 'igor@expresspigeon.com', 'igor@polevoy.org', "Igor Polevoy", "Transactional message test", {first_name: 'Igor', img1: "https://cdn.pioneer.pgsitecore.com/en-us/-/media/Charmin/Images/Editorials/charmin_tipsarticles_howtopottytrainagirl_image1.jpg"}
4
+ MESSAGES = ExpressPigeon::API.messages.auth_key(ENV['AUTH_KEY'])
8
5
 
9
6
 
7
+ puts MESSAGES.send_message(
8
+ 390243, # template_id
9
+ 'igor@expressxxxx.com', #to
10
+ 'igor@polevoyxxx.org', #reply_to
11
+ "Igor Polevoy", #from_name
12
+ "Hi there! A simple send 345!", #subject
13
+ {first_name: 'Igor', eye_color: 'brown'}, #merge_fields
14
+ true, #view_online
15
+ true, #click_tracking
16
+ true #suppress_address
17
+
18
+ )
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: expresspigeon-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ipolevoy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-30 00:00:00.000000000 Z
11
+ date: 2018-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.8.0
19
+ version: 2.0.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.8.0
26
+ version: 2.0.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -47,7 +47,7 @@ extensions: []
47
47
  extra_rdoc_files: []
48
48
  files:
49
49
  - ".gitignore"
50
- - ".rvmrc"
50
+ - ".ruby-version"
51
51
  - Gemfile
52
52
  - Gemfile.lock
53
53
  - LICENSE.txt
@@ -63,6 +63,7 @@ files:
63
63
  - lib/expresspigeon-ruby/meta_response.rb
64
64
  - lib/expresspigeon-ruby/templates.rb
65
65
  - lib/expresspigeon-ruby/version.rb
66
+ - spec/autoresponders_spec.rb
66
67
  - spec/campaigns_spec.rb
67
68
  - spec/contacts_spec.rb
68
69
  - spec/lists_spec.rb
@@ -70,9 +71,15 @@ files:
70
71
  - spec/pigeon_helper.rb
71
72
  - spec/resources/upload.csv
72
73
  - spec/templates_spec.rb
74
+ - test/README
75
+ - test/attachments/example.ics
76
+ - test/attachments/smile.pdf
73
77
  - test/send.rb
78
+ - test/send_with_attachments.rb
79
+ - test/send_with_headers.rb
74
80
  homepage: https://github.com/expresspigeon/expresspigeon-ruby
75
- licenses: []
81
+ licenses:
82
+ - MIT
76
83
  metadata: {}
77
84
  post_install_message:
78
85
  rdoc_options: []
@@ -95,6 +102,7 @@ signing_key:
95
102
  specification_version: 4
96
103
  summary: ExpressPigeon API Ruby Wrapper
97
104
  test_files:
105
+ - spec/autoresponders_spec.rb
98
106
  - spec/campaigns_spec.rb
99
107
  - spec/contacts_spec.rb
100
108
  - spec/lists_spec.rb
@@ -102,4 +110,9 @@ test_files:
102
110
  - spec/pigeon_helper.rb
103
111
  - spec/resources/upload.csv
104
112
  - spec/templates_spec.rb
113
+ - test/README
114
+ - test/attachments/example.ics
115
+ - test/attachments/smile.pdf
105
116
  - test/send.rb
117
+ - test/send_with_attachments.rb
118
+ - test/send_with_headers.rb
data/.rvmrc DELETED
@@ -1,8 +0,0 @@
1
- USER_RVMRC='.rvmrc.local'
2
-
3
- if [ -f $USER_RVMRC ]; then
4
- source $USER_RVMRC
5
- else
6
- rvm use 2.1.1 --create
7
- fi
8
-