drip-ruby 3.1.0 → 3.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cde072743a9010ff142889179cd1c5cb57eb6009
4
- data.tar.gz: 2c94bb250107e5412a1e85ca418845ce81242711
3
+ metadata.gz: 34ab6a491e2d7b0bdf33b525a11c7d5499bd0e2f
4
+ data.tar.gz: d5b703ea0a8f113be93b5c19bbf13849f7fbb6b7
5
5
  SHA512:
6
- metadata.gz: 229a86bbc7153395d73659ea272c9d2467678bf812ca2c687903701969dfd55281eed4c0c45e7eebd536bd3755f5ac31c6312d4f92e13fadac985c9ec804880d
7
- data.tar.gz: 6032350979b07376d2de554ac22675a77d8a56a20492431df760e5f02793ce6e4a164013daa76bb9bbe02f8e85b42415a5054a473fa68b8aac3722bd88f8f7e4
6
+ metadata.gz: ffb4cacb8da55651f34b33c9377de84104fa5913eb520f7437a2b0cf045eba8da1743043538c10ee00be64b562697128d22e35225307d5f4dee1c318c5022bdc
7
+ data.tar.gz: 3bce36166a411416f7258939b2283c403ec35903b882144538f95b893f56a61bd7bb3f90503ae61f7c318a834356ca073b594555fbc62f6185f4d8d6fa29908c
data/CHANGELOG.md CHANGED
@@ -4,6 +4,20 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [Unreleased]
8
+
9
+ [master]: https://github.com/DripEmail/drip-ruby/compare/v3.0.0...HEAD
10
+
11
+ - Your contribution here!
12
+
13
+ ## [3.1.1] - 2018-06-06
14
+
15
+ [3.1.1]: https://github.com/DripEmail/drip-ruby/compare/v3.1.0...v3.1.1
16
+
17
+ ### Fixed
18
+
19
+ - [#48](https://github.com/DripEmail/drip-ruby/issues/48): Repair json parsing to work correctly
20
+
7
21
  ## [3.1.0] - 2018-06-05
8
22
 
9
23
  [3.1.0]: https://github.com/DripEmail/drip-ruby/compare/v3.0.0...v3.1.0
data/lib/drip/client.rb CHANGED
@@ -116,7 +116,9 @@ module Drip
116
116
 
117
117
  def build_response(&block)
118
118
  response = yield
119
- Drip::Response.new(response.code.to_i, response.body)
119
+ Drip::Response.new(response.code.to_i, response.body || response.body == "" ? JSON.parse(response.body) : nil)
120
+ rescue JSON::ParserError
121
+ Drip::Response.new(response.code.to_i, nil)
120
122
  end
121
123
 
122
124
  def connection_options(uri_scheme)
data/lib/drip/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Drip
2
- VERSION = "3.1.0".freeze
2
+ VERSION = "3.1.1".freeze
3
3
  end
@@ -8,14 +8,14 @@ class Drip::Client::AccountsTest < Drip::TestCase
8
8
  context "#accounts" do
9
9
  setup do
10
10
  @response_status = 200
11
- @response_body = "stub"
11
+ @response_body = "{}"
12
12
 
13
13
  stub_request(:get, "https://api.getdrip.com/v2/accounts").
14
14
  to_return(status: @response_status, body: @response_body, headers: {})
15
15
  end
16
16
 
17
17
  should "send the right request" do
18
- expected = Drip::Response.new(@response_status, @response_body)
18
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
19
19
  assert_equal expected, @client.accounts
20
20
  end
21
21
  end
@@ -23,7 +23,7 @@ class Drip::Client::AccountsTest < Drip::TestCase
23
23
  context "#account" do
24
24
  setup do
25
25
  @response_status = 200
26
- @response_body = "stub"
26
+ @response_body = "{}"
27
27
  @id = 9999999
28
28
 
29
29
  stub_request(:get, "https://api.getdrip.com/v2/accounts/#{@id}").
@@ -31,7 +31,7 @@ class Drip::Client::AccountsTest < Drip::TestCase
31
31
  end
32
32
 
33
33
  should "send the right request" do
34
- expected = Drip::Response.new(@response_status, @response_body)
34
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
35
35
  assert_equal expected, @client.account(@id)
36
36
  end
37
37
  end
@@ -8,14 +8,14 @@ class Drip::Client::BroadcastsTest < Drip::TestCase
8
8
  context "#broadcasts" do
9
9
  setup do
10
10
  @response_status = 200
11
- @response_body = "stub"
11
+ @response_body = "{}"
12
12
 
13
13
  stub_request(:get, "https://api.getdrip.com/v2/12345/broadcasts").
14
14
  to_return(status: @response_status, body: @response_body, headers: {})
15
15
  end
16
16
 
17
17
  should "send the correct request" do
18
- expected = Drip::Response.new(@response_status, @response_body)
18
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
19
19
  assert_equal expected, @client.broadcasts
20
20
  end
21
21
  end
@@ -23,7 +23,7 @@ class Drip::Client::BroadcastsTest < Drip::TestCase
23
23
  context "#broadcast" do
24
24
  setup do
25
25
  @response_status = 200
26
- @response_body = "stub"
26
+ @response_body = "{}"
27
27
  @id = 99999
28
28
 
29
29
  stub_request(:get, "https://api.getdrip.com/v2/12345/broadcasts/#{@id}").
@@ -31,7 +31,7 @@ class Drip::Client::BroadcastsTest < Drip::TestCase
31
31
  end
32
32
 
33
33
  should "send the correct request" do
34
- expected = Drip::Response.new(@response_status, @response_body)
34
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
35
35
  assert_equal expected, @client.broadcast(@id)
36
36
  end
37
37
  end
@@ -8,7 +8,7 @@ class Drip::Client::CampaignSubscriptionsTest < Drip::TestCase
8
8
  context "#campaign_subscriptions" do
9
9
  setup do
10
10
  @response_status = 200
11
- @response_body = "stub"
11
+ @response_body = "{}"
12
12
  @subscriber_id = "abc123"
13
13
 
14
14
  stub_request(:get, "https://api.getdrip.com/v2/12345/subscribers/#{@subscriber_id}/campaign_subscriptions").
@@ -16,7 +16,7 @@ class Drip::Client::CampaignSubscriptionsTest < Drip::TestCase
16
16
  end
17
17
 
18
18
  should "send the right request" do
19
- expected = Drip::Response.new(@response_status, @response_body)
19
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
20
20
  assert_equal expected, @client.campaign_subscriptions(@subscriber_id)
21
21
  end
22
22
  end
@@ -8,14 +8,14 @@ class Drip::Client::CampaignsTest < Drip::TestCase
8
8
  context "#campaigns" do
9
9
  setup do
10
10
  @response_status = 200
11
- @response_body = "stub"
11
+ @response_body = "{}"
12
12
 
13
13
  stub_request(:get, "https://api.getdrip.com/v2/12345/campaigns").
14
14
  to_return(status: @response_status, body: @response_body, headers: {})
15
15
  end
16
16
 
17
17
  should "send the right request" do
18
- expected = Drip::Response.new(@response_status, @response_body)
18
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
19
19
  assert_equal expected, @client.campaigns
20
20
  end
21
21
  end
@@ -23,7 +23,7 @@ class Drip::Client::CampaignsTest < Drip::TestCase
23
23
  context "#campaign" do
24
24
  setup do
25
25
  @response_status = 200
26
- @response_body = "stub"
26
+ @response_body = "{}"
27
27
  @id = 9999999
28
28
 
29
29
  stub_request(:get, "https://api.getdrip.com/v2/12345/campaigns/#{@id}").
@@ -31,7 +31,7 @@ class Drip::Client::CampaignsTest < Drip::TestCase
31
31
  end
32
32
 
33
33
  should "send the right request" do
34
- expected = Drip::Response.new(@response_status, @response_body)
34
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
35
35
  assert_equal expected, @client.campaign(@id)
36
36
  end
37
37
  end
@@ -71,7 +71,7 @@ class Drip::Client::CampaignsTest < Drip::TestCase
71
71
  context "#campaign_subscribers" do
72
72
  setup do
73
73
  @response_status = 200
74
- @response_body = "stub"
74
+ @response_body = "{}"
75
75
  @id = 9999999
76
76
 
77
77
  stub_request(:get, "https://api.getdrip.com/v2/12345/campaigns/#{@id}/subscribers").
@@ -79,7 +79,7 @@ class Drip::Client::CampaignsTest < Drip::TestCase
79
79
  end
80
80
 
81
81
  should "send the right request" do
82
- expected = Drip::Response.new(@response_status, @response_body)
82
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
83
83
  assert_equal expected, @client.campaign_subscribers(@id)
84
84
  end
85
85
  end
@@ -8,14 +8,14 @@ class Drip::Client::ConversionsTest < Drip::TestCase
8
8
  context "#conversions" do
9
9
  setup do
10
10
  @response_status = 200
11
- @response_body = "stub"
11
+ @response_body = "{}"
12
12
 
13
13
  stub_request(:get, "https://api.getdrip.com/v2/12345/goals").
14
14
  to_return(status: @response_status, body: @response_body, headers: {})
15
15
  end
16
16
 
17
17
  should "send the right request" do
18
- expected = Drip::Response.new(@response_status, @response_body)
18
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
19
19
  assert_equal expected, @client.conversions
20
20
  end
21
21
  end
@@ -23,7 +23,7 @@ class Drip::Client::ConversionsTest < Drip::TestCase
23
23
  context "#conversion" do
24
24
  setup do
25
25
  @response_status = 200
26
- @response_body = "stub"
26
+ @response_body = "{}"
27
27
  @id = 9999999
28
28
 
29
29
  stub_request(:get, "https://api.getdrip.com/v2/12345/goals/#{@id}").
@@ -31,7 +31,7 @@ class Drip::Client::ConversionsTest < Drip::TestCase
31
31
  end
32
32
 
33
33
  should "send the right request" do
34
- expected = Drip::Response.new(@response_status, @response_body)
34
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
35
35
  assert_equal expected, @client.conversion(@id)
36
36
  end
37
37
  end
@@ -8,14 +8,14 @@ class Drip::Client::CustomFieldsTest < Drip::TestCase
8
8
  context "#custom_fields" do
9
9
  setup do
10
10
  @response_status = 200
11
- @response_body = "stub"
11
+ @response_body = "{}"
12
12
 
13
13
  stub_request(:get, "https://api.getdrip.com/v2/12345/custom_field_identifiers").
14
14
  to_return(status: @response_status, body: @response_body, headers: {})
15
15
  end
16
16
 
17
17
  should "send the right request" do
18
- expected = Drip::Response.new(@response_status, @response_body)
18
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
19
19
  assert_equal expected, @client.custom_fields
20
20
  end
21
21
  end
@@ -23,14 +23,14 @@ class Drip::Client::EventsTest < Drip::TestCase
23
23
  }.to_json
24
24
 
25
25
  @response_status = 201
26
- @response_body = "stub"
26
+ @response_body = "{}"
27
27
 
28
28
  stub_request(:post, "https://api.getdrip.com/v2/12345/events").
29
29
  to_return(status: @response_status, body: @response_body, headers: {})
30
30
  end
31
31
 
32
32
  should "send the right request" do
33
- expected = Drip::Response.new(@response_status, @response_body)
33
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
34
34
  assert_equal expected, @client.track_event(@email, @action, @properties)
35
35
  end
36
36
  end
@@ -50,14 +50,14 @@ class Drip::Client::EventsTest < Drip::TestCase
50
50
  }.to_json
51
51
 
52
52
  @response_status = 201
53
- @response_body = "stub"
53
+ @response_body = "{}"
54
54
 
55
55
  stub_request(:post, "https://api.getdrip.com/v2/12345/events").
56
56
  to_return(status: @response_status, body: @response_body, headers: {})
57
57
  end
58
58
 
59
59
  should "send the right request" do
60
- expected = Drip::Response.new(@response_status, @response_body)
60
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
61
61
  assert_equal expected, @client.track_event(@email, @action, @properties, @options)
62
62
  end
63
63
  end
@@ -78,14 +78,14 @@ class Drip::Client::EventsTest < Drip::TestCase
78
78
 
79
79
  @payload = { "batches" => [{ "events" => @events }] }.to_json
80
80
  @response_status = 201
81
- @response_body = "stub"
81
+ @response_body = "{}"
82
82
 
83
83
  stub_request(:post, "https://api.getdrip.com/v2/12345/events/batches").
84
84
  to_return(status: @response_status, body: @response_body, headers: {})
85
85
  end
86
86
 
87
87
  should "send the right request" do
88
- expected = Drip::Response.new(@response_status, @response_body)
88
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
89
89
  assert_equal expected, @client.track_events(@events)
90
90
  end
91
91
  end
@@ -93,14 +93,14 @@ class Drip::Client::EventsTest < Drip::TestCase
93
93
  context "#event_actions" do
94
94
  setup do
95
95
  @response_status = 200
96
- @response_body = "stub"
96
+ @response_body = "{}"
97
97
 
98
98
  stub_request(:get, "https://api.getdrip.com/v2/12345/event_actions").
99
99
  to_return(status: @response_status, body: @response_body, headers: {})
100
100
  end
101
101
 
102
102
  should "send the right request" do
103
- expected = Drip::Response.new(@response_status, @response_body)
103
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
104
104
  assert_equal expected, @client.event_actions
105
105
  end
106
106
  end
@@ -8,14 +8,14 @@ class Drip::Client::FormsTest < Drip::TestCase
8
8
  context "#forms" do
9
9
  setup do
10
10
  @response_status = 200
11
- @response_body = "stub"
11
+ @response_body = "{}"
12
12
 
13
13
  stub_request(:get, "https://api.getdrip.com/v2/12345/forms").
14
14
  to_return(status: @response_status, body: @response_body, headers: {})
15
15
  end
16
16
 
17
17
  should "send the right request" do
18
- expected = Drip::Response.new(@response_status, @response_body)
18
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
19
19
  assert_equal expected, @client.forms
20
20
  end
21
21
  end
@@ -23,7 +23,7 @@ class Drip::Client::FormsTest < Drip::TestCase
23
23
  context "#form" do
24
24
  setup do
25
25
  @response_status = 200
26
- @response_body = "stub"
26
+ @response_body = "{}"
27
27
  @id = 9999999
28
28
 
29
29
  stub_request(:get, "https://api.getdrip.com/v2/12345/forms/#{@id}").
@@ -31,7 +31,7 @@ class Drip::Client::FormsTest < Drip::TestCase
31
31
  end
32
32
 
33
33
  should "send the right request" do
34
- expected = Drip::Response.new(@response_status, @response_body)
34
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
35
35
  assert_equal expected, @client.form(@id)
36
36
  end
37
37
  end
@@ -24,14 +24,14 @@ class Drip::Client::OrdersTest < Drip::TestCase
24
24
  }
25
25
  @payload = { "orders" => [@options] }.to_json
26
26
  @response_status = 202
27
- @response_body = "stub"
27
+ @response_body = "{}"
28
28
 
29
29
  stub_request(:post, "https://api.getdrip.com/v2/12345/orders").
30
30
  to_return(status: @response_status, body: @response_body, headers: {})
31
31
  end
32
32
 
33
33
  should "send the correct request" do
34
- expected = Drip::Response.new(@response_status, @response_body)
34
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
35
35
  assert_equal expected, @client.create_or_update_order(@email, @options)
36
36
  end
37
37
  end
@@ -71,14 +71,14 @@ class Drip::Client::OrdersTest < Drip::TestCase
71
71
 
72
72
  @payload = { "batches" => [{ "orders" => @orders }] }.to_json
73
73
  @response_status = 202
74
- @response_body = "stub"
74
+ @response_body = "{}"
75
75
 
76
76
  stub_request(:post, "https://api.getdrip.com/v2/12345/orders/batches").
77
77
  to_return(status: @response_status, body: @response_body, headers: {})
78
78
  end
79
79
 
80
80
  should "send the correct request" do
81
- expected = Drip::Response.new(@response_status, @response_body)
81
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
82
82
  assert_equal expected, @client.create_or_update_orders(@orders)
83
83
  end
84
84
  end
@@ -96,14 +96,14 @@ class Drip::Client::OrdersTest < Drip::TestCase
96
96
 
97
97
  @payload = { "refunds" => [@options] }.to_json
98
98
  @response_status = 202
99
- @response_body = "stub"
99
+ @response_body = "{}"
100
100
 
101
101
  stub_request(:post, "https://api.getdrip.com/v2/12345/refunds").
102
102
  to_return(status: @response_status, body: @response_body, headers: {})
103
103
  end
104
104
 
105
105
  should "send the correct request" do
106
- expected = Drip::Response.new(@response_status, @response_body)
106
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
107
107
  assert_equal expected, @client.create_or_update_refund(@options)
108
108
  end
109
109
  end
@@ -8,14 +8,14 @@ class Drip::Client::SubscribersTest < Drip::TestCase
8
8
  context "#subscribers" do
9
9
  setup do
10
10
  @response_status = 200
11
- @response_body = "stub"
11
+ @response_body = "{}"
12
12
 
13
13
  stub_request(:get, "https://api.getdrip.com/v2/12345/subscribers").
14
14
  to_return(status: @response_status, body: @response_body, headers: {})
15
15
  end
16
16
 
17
17
  should "send the right request" do
18
- expected = Drip::Response.new(@response_status, @response_body)
18
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
19
19
  assert_equal expected, @client.subscribers
20
20
  end
21
21
  end
@@ -24,14 +24,14 @@ class Drip::Client::SubscribersTest < Drip::TestCase
24
24
  setup do
25
25
  @id = "derrick@getdrip.com"
26
26
  @response_status = 201
27
- @response_body = "stub"
27
+ @response_body = "{}"
28
28
 
29
29
  stub_request(:get, "https://api.getdrip.com/v2/12345/subscribers/#{CGI.escape @id}").
30
30
  to_return(status: @response_status, body: @response_body, headers: {})
31
31
  end
32
32
 
33
33
  should "send the right request" do
34
- expected = Drip::Response.new(@response_status, @response_body)
34
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
35
35
  assert_equal expected, @client.subscriber(@id)
36
36
  end
37
37
  end
@@ -59,14 +59,14 @@ class Drip::Client::SubscribersTest < Drip::TestCase
59
59
  @payload = { "subscribers" => [@data.merge(email: @email)] }.to_json
60
60
 
61
61
  @response_status = 201
62
- @response_body = "stub"
62
+ @response_body = "{}"
63
63
 
64
64
  stub_request(:post, "https://api.getdrip.com/v2/12345/subscribers").
65
65
  to_return(status: @response_status, body: @response_body, headers: {})
66
66
  end
67
67
 
68
68
  should "send the right request" do
69
- expected = Drip::Response.new(@response_status, @response_body)
69
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
70
70
  assert_equal expected, @client.create_or_update_subscriber(@email, @data)
71
71
  end
72
72
  end
@@ -86,14 +86,14 @@ class Drip::Client::SubscribersTest < Drip::TestCase
86
86
 
87
87
  @payload = { "batches" => [{ "subscribers" => @subscribers }] }.to_json
88
88
  @response_status = 201
89
- @response_body = "stub"
89
+ @response_body = "{}"
90
90
 
91
91
  stub_request(:post, "https://api.getdrip.com/v2/12345/subscribers/batches").
92
92
  to_return(status: @response_status, body: @response_body, headers: {})
93
93
  end
94
94
 
95
95
  should "send the right request" do
96
- expected = Drip::Response.new(@response_status, @response_body)
96
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
97
97
  assert_equal expected, @client.create_or_update_subscribers(@subscribers)
98
98
  end
99
99
  end
@@ -131,14 +131,14 @@ class Drip::Client::SubscribersTest < Drip::TestCase
131
131
  @payload = { "subscribers" => [@data.merge(email: @email)] }.to_json
132
132
 
133
133
  @response_status = 201
134
- @response_body = "stub"
134
+ @response_body = "{}"
135
135
 
136
136
  stub_request(:post, "https://api.getdrip.com/v2/12345/campaigns/#{@campaign_id}/subscribers").
137
137
  to_return(status: @response_status, body: @response_body, headers: {})
138
138
  end
139
139
 
140
140
  should "send the right request" do
141
- expected = Drip::Response.new(@response_status, @response_body)
141
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
142
142
  assert_equal expected, @client.subscribe(@email, @campaign_id, @data)
143
143
  end
144
144
  end
@@ -149,14 +149,14 @@ class Drip::Client::SubscribersTest < Drip::TestCase
149
149
  @id = "derrick@getdrip.com"
150
150
 
151
151
  @response_status = 201
152
- @response_body = "stub"
152
+ @response_body = "{}"
153
153
 
154
154
  stub_request(:post, "https://api.getdrip.com/v2/12345/subscribers/#{CGI.escape @id}/remove").
155
155
  to_return(status: @response_status, body: @response_body, headers: {})
156
156
  end
157
157
 
158
158
  should "send the right request" do
159
- expected = Drip::Response.new(@response_status, @response_body)
159
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
160
160
  assert_equal expected, @client.unsubscribe(@id)
161
161
  end
162
162
  end
@@ -167,14 +167,14 @@ class Drip::Client::SubscribersTest < Drip::TestCase
167
167
  @campaign = "12345"
168
168
 
169
169
  @response_status = 201
170
- @response_body = "stub"
170
+ @response_body = "{}"
171
171
 
172
172
  stub_request(:post, "https://api.getdrip.com/v2/12345/subscribers/#{CGI.escape @id}/remove?campaign_id=#{@campaign}").
173
173
  to_return(status: @response_status, body: @response_body, headers: {})
174
174
  end
175
175
 
176
176
  should "send the right request" do
177
- expected = Drip::Response.new(@response_status, @response_body)
177
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
178
178
  assert_equal expected, @client.unsubscribe(@id, campaign_id: @campaign)
179
179
  end
180
180
  end
@@ -184,14 +184,14 @@ class Drip::Client::SubscribersTest < Drip::TestCase
184
184
  setup do
185
185
  @id = "derrick@getdrip.com"
186
186
  @response_status = 200
187
- @response_body = "stub"
187
+ @response_body = "{}"
188
188
 
189
189
  stub_request(:post, "https://api.getdrip.com/v2/12345/subscribers/#{CGI.escape @id}/unsubscribe_all").
190
190
  to_return(status: @response_status, body: @response_body, headers: {})
191
191
  end
192
192
 
193
193
  should "send the right request" do
194
- expected = Drip::Response.new(@response_status, @response_body)
194
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
195
195
  assert_equal expected, @client.unsubscribe_from_all(@id)
196
196
  end
197
197
  end
@@ -203,14 +203,14 @@ class Drip::Client::SubscribersTest < Drip::TestCase
203
203
  @payload = { "tags" => [{ "email" => @email, "tag" => @tag }] }.to_json
204
204
 
205
205
  @response_status = 201
206
- @response_body = "stub"
206
+ @response_body = "{}"
207
207
 
208
208
  stub_request(:post, "https://api.getdrip.com/v2/12345/tags").
209
209
  to_return(status: @response_status, body: @response_body, headers: {})
210
210
  end
211
211
 
212
212
  should "send the right request" do
213
- expected = Drip::Response.new(@response_status, @response_body)
213
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
214
214
  assert_equal expected, @client.apply_tag(@email, @tag)
215
215
  end
216
216
  end
@@ -8,14 +8,14 @@ class Drip::Client::TagsTest < Drip::TestCase
8
8
  context "#tags" do
9
9
  setup do
10
10
  @response_status = 200
11
- @response_body = "stub"
11
+ @response_body = "{}"
12
12
 
13
13
  stub_request(:get, "https://api.getdrip.com/v2/12345/tags").
14
14
  to_return(status: @response_status, body: @response_body, headers: {})
15
15
  end
16
16
 
17
17
  should "send the right request" do
18
- expected = Drip::Response.new(@response_status, @response_body)
18
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
19
19
  assert_equal expected, @client.tags
20
20
  end
21
21
  end
@@ -27,14 +27,14 @@ class Drip::Client::TagsTest < Drip::TestCase
27
27
  @payload = { "tags" => [{ "email" => @email, "tag" => @tag }] }.to_json
28
28
 
29
29
  @response_status = 201
30
- @response_body = "stub"
30
+ @response_body = "{}"
31
31
 
32
32
  stub_request(:post, "https://api.getdrip.com/v2/12345/tags").
33
33
  to_return(status: @response_status, body: @response_body, headers: {})
34
34
  end
35
35
 
36
36
  should "send the right request" do
37
- expected = Drip::Response.new(@response_status, @response_body)
37
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
38
38
  assert_equal expected, @client.apply_tag(@email, @tag)
39
39
  end
40
40
  end
@@ -8,14 +8,14 @@ class Drip::Client::WebhooksTest < Drip::TestCase
8
8
  context "#webhooks" do
9
9
  setup do
10
10
  @response_status = 200
11
- @response_body = "stub"
11
+ @response_body = "{}"
12
12
 
13
13
  stub_request(:get, "https://api.getdrip.com/v2/12345/webhooks").
14
14
  to_return(status: @response_status, body: @response_body, headers: {})
15
15
  end
16
16
 
17
17
  should "send the right request" do
18
- expected = Drip::Response.new(@response_status, @response_body)
18
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
19
19
  assert_equal expected, @client.webhooks
20
20
  end
21
21
  end
@@ -23,7 +23,7 @@ class Drip::Client::WebhooksTest < Drip::TestCase
23
23
  context "#webhook" do
24
24
  setup do
25
25
  @response_status = 200
26
- @response_body = "stub"
26
+ @response_body = "{}"
27
27
  @id = 1234
28
28
 
29
29
  stub_request(:get, "https://api.getdrip.com/v2/12345/webhooks/#{@id}").
@@ -31,7 +31,7 @@ class Drip::Client::WebhooksTest < Drip::TestCase
31
31
  end
32
32
 
33
33
  should "send the right request" do
34
- expected = Drip::Response.new(@response_status, @response_body)
34
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
35
35
  assert_equal expected, @client.webhook(@id)
36
36
  end
37
37
  end
@@ -50,14 +50,14 @@ class Drip::Client::WebhooksTest < Drip::TestCase
50
50
 
51
51
  @payload = { "webhooks" => [@options] }.to_json
52
52
  @response_status = 201
53
- @response_body = "stub"
53
+ @response_body = "{}"
54
54
 
55
55
  stub_request(:post, "https://api.getdrip.com/v2/12345/webhooks").
56
56
  to_return(status: @response_status, body: @response_body, headers: {})
57
57
  end
58
58
 
59
59
  should "send the right request" do
60
- expected = Drip::Response.new(@response_status, @response_body)
60
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
61
61
  assert_equal expected, @client.create_webhook(@post_url, @include_received_email, @events)
62
62
  end
63
63
  end
@@ -65,7 +65,7 @@ class Drip::Client::WebhooksTest < Drip::TestCase
65
65
  context "#delete_webhook" do
66
66
  setup do
67
67
  @response_status = 200
68
- @response_body = "stub"
68
+ @response_body = "{}"
69
69
  @id = 1234
70
70
 
71
71
  stub_request(:delete, "https://api.getdrip.com/v2/12345/webhooks/#{@id}").
@@ -73,7 +73,7 @@ class Drip::Client::WebhooksTest < Drip::TestCase
73
73
  end
74
74
 
75
75
  should "send the right request" do
76
- expected = Drip::Response.new(@response_status, @response_body)
76
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
77
77
  assert_equal expected, @client.delete_webhook(@id)
78
78
  end
79
79
  end
@@ -9,14 +9,14 @@ class Drip::Client::WorkflowTriggersTest < Drip::TestCase
9
9
  setup do
10
10
  @id = 9999999
11
11
  @response_status = 200
12
- @response_body = "stub"
12
+ @response_body = "{}"
13
13
 
14
14
  stub_request(:get, "https://api.getdrip.com/v2/12345/workflows/#{@id}/triggers").
15
15
  to_return(status: @response_status, body: @response_body, headers: {})
16
16
  end
17
17
 
18
18
  should "send the right request" do
19
- expected = Drip::Response.new(@response_status, @response_body)
19
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
20
20
  assert_equal expected, @client.workflow_triggers(@id)
21
21
  end
22
22
  end
@@ -35,14 +35,14 @@ class Drip::Client::WorkflowTriggersTest < Drip::TestCase
35
35
  @payload = { "triggers" => [@data] }.to_json
36
36
 
37
37
  @response_status = 200
38
- @response_body = "stub"
38
+ @response_body = "{}"
39
39
 
40
40
  stub_request(:post, "https://api.getdrip.com/v2/12345/workflows/#{@id}/triggers").
41
41
  to_return(status: @response_status, body: @response_body, headers: {})
42
42
  end
43
43
 
44
44
  should "send the right request" do
45
- expected = Drip::Response.new(@response_status, @response_body)
45
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
46
46
  assert_equal expected, @client.create_workflow_trigger(@id, @data)
47
47
  end
48
48
  end
@@ -61,14 +61,14 @@ class Drip::Client::WorkflowTriggersTest < Drip::TestCase
61
61
  @payload = { "triggers" => [@data] }.to_json
62
62
 
63
63
  @response_status = 200
64
- @response_body = "stub"
64
+ @response_body = "{}"
65
65
 
66
66
  stub_request(:put, "https://api.getdrip.com/v2/12345/workflows/#{@id}/triggers").
67
67
  to_return(status: @response_status, body: @response_body, headers: {})
68
68
  end
69
69
 
70
70
  should "send the right request" do
71
- expected = Drip::Response.new(@response_status, @response_body)
71
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
72
72
  assert_equal expected, @client.update_workflow_trigger(@id, @data)
73
73
  end
74
74
  end
@@ -8,14 +8,14 @@ class Drip::Client::WorkflowsTest < Drip::TestCase
8
8
  context "#workflows" do
9
9
  setup do
10
10
  @response_status = 200
11
- @response_body = "stub"
11
+ @response_body = "{}"
12
12
 
13
13
  stub_request(:get, "https://api.getdrip.com/v2/12345/workflows").
14
14
  to_return(status: @response_status, body: @response_body, headers: {})
15
15
  end
16
16
 
17
17
  should "send the right request" do
18
- expected = Drip::Response.new(@response_status, @response_body)
18
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
19
19
  assert_equal expected, @client.workflows
20
20
  end
21
21
  end
@@ -23,7 +23,7 @@ class Drip::Client::WorkflowsTest < Drip::TestCase
23
23
  context "#workflow" do
24
24
  setup do
25
25
  @response_status = 200
26
- @response_body = "stub"
26
+ @response_body = "{}"
27
27
  @id = 1234
28
28
 
29
29
  stub_request(:get, "https://api.getdrip.com/v2/12345/workflows/#{@id}").
@@ -31,7 +31,7 @@ class Drip::Client::WorkflowsTest < Drip::TestCase
31
31
  end
32
32
 
33
33
  should "send the right request" do
34
- expected = Drip::Response.new(@response_status, @response_body)
34
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
35
35
  assert_equal expected, @client.workflow(@id)
36
36
  end
37
37
  end
@@ -93,7 +93,7 @@ class Drip::Client::WorkflowsTest < Drip::TestCase
93
93
  context "#remove_subscriber_workflow" do
94
94
  setup do
95
95
  @response_status = 200
96
- @response_body = "stub"
96
+ @response_body = "{}"
97
97
  @id = 1234
98
98
  @email = "someone@example.com"
99
99
 
@@ -102,7 +102,7 @@ class Drip::Client::WorkflowsTest < Drip::TestCase
102
102
  end
103
103
 
104
104
  should "send the right request" do
105
- expected = Drip::Response.new(@response_status, @response_body)
105
+ expected = Drip::Response.new(@response_status, JSON.parse(@response_body))
106
106
  assert_equal expected, @client.remove_subscriber_workflow(@id, @email)
107
107
  end
108
108
  end
@@ -88,6 +88,31 @@ class Drip::ClientTest < Drip::TestCase
88
88
  end
89
89
  end
90
90
 
91
+ context "given a basic request" do
92
+ setup do
93
+ @client = Drip::Client.new do |config|
94
+ config.api_key = "Hello world"
95
+ config.account_id = 12345
96
+ end
97
+ end
98
+
99
+ should "return objects" do
100
+ stub_request(:get, "https://api.getdrip.com/v2/12345/subscribers/jdoe%40example.com").
101
+ to_return(status: 200, body: "{\"links\":{\"subscribers.account\":\"https://api.getdrip.com/v2/accounts/{subscribers.account}\"},\"subscribers\":[{\"id\":\"randomid\",\"href\":\"https://api.getdrip.com/v2/1234/subscribers/randomid\",\"status\":\"active\",\"email\":\"jdoe@example.com\",\"time_zone\":null,\"utc_offset\":0,\"visitor_uuid\":null,\"custom_fields\":{\"first_name\":\"John\"},\"tags\":[\"customer\"],\"created_at\":\"2018-06-04T21:29:49Z\",\"ip_address\":null,\"user_agent\":null,\"lifetime_value\":null,\"original_referrer\":null,\"landing_url\":null,\"prospect\":null,\"base_lead_score\":null,\"eu_consent\":\"unknown\",\"lead_score\":null,\"user_id\":\"123\",\"links\":{\"account\":\"1234\"}}]}")
102
+
103
+ response = @client.subscriber('jdoe@example.com')
104
+ assert_equal('randomid', response.subscribers.first.id)
105
+ end
106
+
107
+ should "handle empty string" do
108
+ stub_request(:get, "https://api.getdrip.com/v2/12345/subscribers/jdoe%40example.com").
109
+ to_return(status: 200, body: "")
110
+
111
+ response = @client.subscriber('jdoe@example.com')
112
+ assert_nil(response.body)
113
+ end
114
+ end
115
+
91
116
  context "given a different url prefix" do
92
117
  setup do
93
118
  @key = "aaaa"
@@ -133,11 +158,11 @@ class Drip::ClientTest < Drip::TestCase
133
158
  stub_request(:get, "https://api.getdrip.com/v2/testpath").
134
159
  to_return(status: 301, body: "", headers: { "Location" => "https://api.example.com/mytestpath" })
135
160
  stub_request(:get, "https://api.example.com/mytestpath").
136
- to_return(status: 200, body: "mybody")
161
+ to_return(status: 200, body: "{}")
137
162
  response = @client.get("testpath")
138
163
  assert_requested :get, "https://api.getdrip.com/v2/testpath"
139
164
  assert_requested :get, "https://api.example.com/mytestpath"
140
- assert_equal "mybody", response.body
165
+ assert_equal({}, response.body)
141
166
  end
142
167
 
143
168
  should "not follow too many redirects" do
@@ -156,7 +181,7 @@ class Drip::ClientTest < Drip::TestCase
156
181
  @client = Drip::Client.new
157
182
  @response = mock
158
183
  @response.stubs(:code).returns('200')
159
- @response.stubs(:body).returns('mybody')
184
+ @response.stubs(:body).returns('{}')
160
185
 
161
186
  @http = mock
162
187
  @http.expects(:request).returns(@response)
@@ -167,9 +192,6 @@ class Drip::ClientTest < Drip::TestCase
167
192
  end
168
193
 
169
194
  should "encode query and not set body" do
170
- stub_request(:get, "https://api.getdrip.com/v2/testpath").
171
- to_return(status: 200, body: "mybody")
172
-
173
195
  Net::HTTP::Get.expects(:new).returns(@request)
174
196
  Net::HTTP.expects(:start).yields(@http).returns(@response)
175
197
 
@@ -177,7 +199,7 @@ class Drip::ClientTest < Drip::TestCase
177
199
  URI.expects(:encode_www_form).once
178
200
 
179
201
  response = @client.get("testpath")
180
- assert_equal "mybody", response.body
202
+ assert_equal({}, response.body)
181
203
  end
182
204
  end
183
205
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drip-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derrick Reimer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-05 00:00:00.000000000 Z
11
+ date: 2018-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler