sailthru-client 4.0.0 → 4.0.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.
- checksums.yaml +8 -8
- data/CHANGELOG.md +4 -1
- data/lib/sailthru/client.rb +5 -5
- data/lib/sailthru/version.rb +1 -1
- data/test/sailthru/receive_post_callback_test.rb +54 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZmUzNjY1NzM2ZDI3ZDNmZjdmYjFlMjUwMmI4NjIwOTQzZTQxZTYyOQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZjNlY2ViMTg3OTVlYjI2MDYyNDRmOWU4M2QyOGJiOTBlODgxNDNhMQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
Mzc0ZTM2Nzk3NTExYzEzMzFlYzA1N2U5M2E5MTgxOGJkMTllMGIwZTc3ZWJj
|
10
|
+
MDAyMDRhZDk0ZDY3YzJiNThjN2U5NTVlMTc5ZWIwZjJhMmJhYWM5MzM2OTkw
|
11
|
+
ODFkMjk3NjI0YzhiODVhODYyNDhhZDg3MmVmYjFmOGE5MmRkMTM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OWY5N2E0Njc3ZWE5MWE5Nzg2MDM3MDU0NjkwMTEwMGM4MmRhYjRlYTA0Y2Y1
|
14
|
+
NTMxMGFiMjAxNDI3NjBmOWYyYWIxZjEwMDYzYWJjYjRkMDEyMmE5MjcyMTQ2
|
15
|
+
NmQ2MzhkOGMzYTZkOTI4ZGViNTY5YWFiNDJhMzQ4YTAxOWNhOWU=
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,7 @@
|
|
1
|
-
## 4.0.
|
1
|
+
## 4.0.1 (Jun 27, 2014)
|
2
|
+
- Bug fix for https://github.com/sailthru/sailthru-ruby-client/pull/48
|
3
|
+
|
4
|
+
## 4.0.0 (Jun 17, 2014)
|
2
5
|
- Rename Sailthru::SailthruClient to Sailthru::Client
|
3
6
|
- Rework custom exceptions to be StandardErrors
|
4
7
|
- Add `Sailthru.credentials` for easy initialization in Rails apps
|
data/lib/sailthru/client.rb
CHANGED
@@ -279,13 +279,13 @@ module Sailthru
|
|
279
279
|
return false unless params[:action] == :verify
|
280
280
|
|
281
281
|
sig = params.delete(:sig)
|
282
|
-
|
282
|
+
params.delete(:controller)
|
283
283
|
return false unless sig == get_signature_hash(params, @secret)
|
284
284
|
|
285
285
|
_send = get_send(params[:send_id])
|
286
|
-
return false unless _send.has_key?(
|
286
|
+
return false unless _send.has_key?('email')
|
287
287
|
|
288
|
-
return false unless _send[
|
288
|
+
return false unless _send['email'] == params[:email]
|
289
289
|
|
290
290
|
return true
|
291
291
|
else
|
@@ -305,7 +305,7 @@ module Sailthru
|
|
305
305
|
return false unless params[:action] == 'optout'
|
306
306
|
|
307
307
|
sig = params.delete(:sig)
|
308
|
-
|
308
|
+
params.delete(:controller)
|
309
309
|
return false unless sig == get_signature_hash(params, @secret)
|
310
310
|
return true
|
311
311
|
else
|
@@ -325,7 +325,7 @@ module Sailthru
|
|
325
325
|
return false unless params[:action] == 'hardbounce'
|
326
326
|
|
327
327
|
sig = params.delete(:sig)
|
328
|
-
|
328
|
+
params.delete(:controller)
|
329
329
|
return false unless sig == get_signature_hash(params, @secret)
|
330
330
|
return true
|
331
331
|
else
|
data/lib/sailthru/version.rb
CHANGED
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class ReceivePostCallbackTest < Minitest::Test
|
4
|
+
describe "API helpers: validate post callbacks" do
|
5
|
+
before do
|
6
|
+
@api_url = 'http://api.sailthru.com'
|
7
|
+
@secret = 'my_secret'
|
8
|
+
@api_key = 'my_api_key'
|
9
|
+
@sailthru_client = Sailthru::Client.new(@api_key, @secret, @api_url)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "can validate a verify callback" do
|
13
|
+
valid_send_id = "TT1ClGdj2bRHAAP6"
|
14
|
+
get_send_params = {
|
15
|
+
'send_id' => valid_send_id
|
16
|
+
}
|
17
|
+
query_string = create_json_payload(@api_key, @secret, get_send_params)
|
18
|
+
stub_get(sailthru_api_call_url(@api_url, 'send') + '?' + query_string , 'send_get_valid.json')
|
19
|
+
|
20
|
+
params = {
|
21
|
+
:email => 'praj@sailthru.com',
|
22
|
+
:action => :verify,
|
23
|
+
:send_id => valid_send_id,
|
24
|
+
:api_key => @api_key
|
25
|
+
}
|
26
|
+
params[:sig] = get_signature_hash(params, @secret)
|
27
|
+
assert @sailthru_client.receive_verify_post(params, mock(:post? => true))
|
28
|
+
end
|
29
|
+
|
30
|
+
it "can validate a opt-out callback" do
|
31
|
+
params = {
|
32
|
+
:email => 'ian@sailthru.com',
|
33
|
+
:mode => 'all',
|
34
|
+
:optout => '0',
|
35
|
+
:action => 'optout',
|
36
|
+
:api_key => @api_key
|
37
|
+
}
|
38
|
+
params[:sig] = get_signature_hash(params, @secret)
|
39
|
+
assert @sailthru_client.receive_optout_post(params, mock(:post? => true))
|
40
|
+
end
|
41
|
+
|
42
|
+
it "can validate a hardbounce callback" do
|
43
|
+
params = {
|
44
|
+
:email => 'ian@sailthru.com',
|
45
|
+
:action => 'hardbounce',
|
46
|
+
:send_id => 'TT1ClGdj2bRHAAP6',
|
47
|
+
:api_key => @api_key
|
48
|
+
}
|
49
|
+
params[:sig] = get_signature_hash(params, @secret)
|
50
|
+
assert @sailthru_client.receive_hardbounce_post(params, mock(:post? => true))
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sailthru-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Prajwal Tuladhar
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-06-
|
12
|
+
date: 2014-06-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
@@ -160,6 +160,7 @@ files:
|
|
160
160
|
- test/sailthru/helpers_test.rb
|
161
161
|
- test/sailthru/list_test.rb
|
162
162
|
- test/sailthru/purchase_test.rb
|
163
|
+
- test/sailthru/receive_post_callback_test.rb
|
163
164
|
- test/sailthru/send_test.rb
|
164
165
|
- test/sailthru/stats_test.rb
|
165
166
|
- test/sailthru/template_test.rb
|
@@ -238,6 +239,7 @@ test_files:
|
|
238
239
|
- test/sailthru/helpers_test.rb
|
239
240
|
- test/sailthru/list_test.rb
|
240
241
|
- test/sailthru/purchase_test.rb
|
242
|
+
- test/sailthru/receive_post_callback_test.rb
|
241
243
|
- test/sailthru/send_test.rb
|
242
244
|
- test/sailthru/stats_test.rb
|
243
245
|
- test/sailthru/template_test.rb
|