vero 0.8.1 → 0.9.0
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.
- data/CHANGES.md +4 -0
- data/Gemfile.lock +57 -47
- data/README.markdown +7 -16
- data/lib/vero.rb +3 -0
- data/lib/vero/api.rb +10 -4
- data/lib/vero/api/base_api.rb +1 -1
- data/lib/vero/api/users/resubscribe_api.rb +21 -0
- data/lib/vero/sender.rb +1 -0
- data/lib/vero/senders/sidekiq.rb +23 -0
- data/lib/vero/version.rb +1 -1
- data/spec/lib/api/base_api_spec.rb +3 -3
- data/spec/lib/api/events/track_api_spec.rb +13 -15
- data/spec/lib/api/users/edit_api_spec.rb +6 -10
- data/spec/lib/api/users/edit_tags_api_spec.rb +10 -15
- data/spec/lib/api/users/reidentify_spec.rb +8 -12
- data/spec/lib/api/users/resubscribe_api_spec.rb +29 -0
- data/spec/lib/api/users/track_api_spec.rb +9 -13
- data/spec/lib/api/users/unsubscribe_api_spec.rb +6 -10
- data/spec/lib/api_spec.rb +48 -55
- data/spec/lib/app_spec.rb +9 -9
- data/spec/lib/config_spec.rb +52 -44
- data/spec/lib/context_spec.rb +16 -16
- data/spec/lib/sender_spec.rb +8 -7
- data/spec/lib/senders/sidekiq_spec.rb +25 -0
- data/spec/lib/trackable_spec.rb +63 -63
- data/spec/lib/view_helpers_spec.rb +3 -3
- data/spec/support/base_config_shared_examples.rb +9 -0
- data/vero-0.8.1.gem +0 -0
- data/vero.gemspec +3 -2
- metadata +67 -24
- checksums.yaml +0 -7
data/CHANGES.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## 0.9.0
|
2
|
+
|
3
|
+
- *Added support for Sidekiq**. You can now use Sidekiq to deliver API requests to Vero. To do so, just specify `config.async = :sidekiq` in your config.rb file.
|
4
|
+
|
1
5
|
## 0.8.0
|
2
6
|
|
3
7
|
- **"development_mode" flag has been deprecated.** It is recommended to use a multiple projects (with different API credentials). Please contact support@getvero.com for assistance in upgrading your account.
|
data/Gemfile.lock
CHANGED
@@ -1,20 +1,20 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
vero (0.8.
|
4
|
+
vero (0.8.2)
|
5
5
|
json
|
6
6
|
rest-client
|
7
|
-
sucker_punch (
|
7
|
+
sucker_punch (= 1.5.1)
|
8
8
|
|
9
9
|
GEM
|
10
10
|
remote: http://rubygems.org/
|
11
11
|
specs:
|
12
|
-
actionmailer (3.2.
|
13
|
-
actionpack (= 3.2.
|
12
|
+
actionmailer (3.2.22)
|
13
|
+
actionpack (= 3.2.22)
|
14
14
|
mail (~> 2.5.4)
|
15
|
-
actionpack (3.2.
|
16
|
-
activemodel (= 3.2.
|
17
|
-
activesupport (= 3.2.
|
15
|
+
actionpack (3.2.22)
|
16
|
+
activemodel (= 3.2.22)
|
17
|
+
activesupport (= 3.2.22)
|
18
18
|
builder (~> 3.0.0)
|
19
19
|
erubis (~> 2.7.0)
|
20
20
|
journey (~> 1.0.4)
|
@@ -22,26 +22,27 @@ GEM
|
|
22
22
|
rack-cache (~> 1.2)
|
23
23
|
rack-test (~> 0.6.1)
|
24
24
|
sprockets (~> 2.2.1)
|
25
|
-
activemodel (3.2.
|
26
|
-
activesupport (= 3.2.
|
25
|
+
activemodel (3.2.22)
|
26
|
+
activesupport (= 3.2.22)
|
27
27
|
builder (~> 3.0.0)
|
28
|
-
activerecord (3.2.
|
29
|
-
activemodel (= 3.2.
|
30
|
-
activesupport (= 3.2.
|
28
|
+
activerecord (3.2.22)
|
29
|
+
activemodel (= 3.2.22)
|
30
|
+
activesupport (= 3.2.22)
|
31
31
|
arel (~> 3.0.2)
|
32
32
|
tzinfo (~> 0.3.29)
|
33
|
-
activeresource (3.2.
|
34
|
-
activemodel (= 3.2.
|
35
|
-
activesupport (= 3.2.
|
36
|
-
activesupport (3.2.
|
33
|
+
activeresource (3.2.22)
|
34
|
+
activemodel (= 3.2.22)
|
35
|
+
activesupport (= 3.2.22)
|
36
|
+
activesupport (3.2.22)
|
37
37
|
i18n (~> 0.6, >= 0.6.4)
|
38
38
|
multi_json (~> 1.0)
|
39
39
|
arel (3.0.3)
|
40
40
|
builder (3.0.4)
|
41
41
|
celluloid (0.16.0)
|
42
42
|
timers (~> 4.0.0)
|
43
|
-
|
44
|
-
|
43
|
+
connection_pool (2.2.0)
|
44
|
+
delayed_job (3.0.5)
|
45
|
+
activesupport (~> 3.0)
|
45
46
|
delayed_job_active_record (4.0.3)
|
46
47
|
activerecord (>= 3.0, < 5.0)
|
47
48
|
delayed_job (>= 3.0, < 4.1)
|
@@ -51,21 +52,22 @@ GEM
|
|
51
52
|
erubis (2.7.0)
|
52
53
|
hike (1.2.3)
|
53
54
|
hitimes (1.2.2)
|
55
|
+
hitimes (1.2.2-java)
|
54
56
|
http-cookie (1.0.2)
|
55
57
|
domain_name (~> 0.5)
|
56
58
|
i18n (0.7.0)
|
57
59
|
journey (1.0.4)
|
58
|
-
json (1.8.
|
59
|
-
json (1.8.
|
60
|
+
json (1.8.3)
|
61
|
+
json (1.8.3-java)
|
60
62
|
mail (2.5.4)
|
61
63
|
mime-types (~> 1.16)
|
62
64
|
treetop (~> 1.4.8)
|
63
65
|
mime-types (1.25.1)
|
64
66
|
mono_logger (1.1.0)
|
65
|
-
multi_json (1.11.
|
67
|
+
multi_json (1.11.2)
|
66
68
|
netrc (0.10.3)
|
67
69
|
polyglot (0.3.5)
|
68
|
-
rack (1.4.
|
70
|
+
rack (1.4.7)
|
69
71
|
rack-cache (1.2)
|
70
72
|
rack (>= 0.4)
|
71
73
|
rack-protection (1.5.3)
|
@@ -74,17 +76,17 @@ GEM
|
|
74
76
|
rack
|
75
77
|
rack-test (0.6.3)
|
76
78
|
rack (>= 1.0)
|
77
|
-
rails (3.2.
|
78
|
-
actionmailer (= 3.2.
|
79
|
-
actionpack (= 3.2.
|
80
|
-
activerecord (= 3.2.
|
81
|
-
activeresource (= 3.2.
|
82
|
-
activesupport (= 3.2.
|
79
|
+
rails (3.2.22)
|
80
|
+
actionmailer (= 3.2.22)
|
81
|
+
actionpack (= 3.2.22)
|
82
|
+
activerecord (= 3.2.22)
|
83
|
+
activeresource (= 3.2.22)
|
84
|
+
activesupport (= 3.2.22)
|
83
85
|
bundler (~> 1.0)
|
84
|
-
railties (= 3.2.
|
85
|
-
railties (3.2.
|
86
|
-
actionpack (= 3.2.
|
87
|
-
activesupport (= 3.2.
|
86
|
+
railties (= 3.2.22)
|
87
|
+
railties (3.2.22)
|
88
|
+
actionpack (= 3.2.22)
|
89
|
+
activesupport (= 3.2.22)
|
88
90
|
rack-ssl (~> 1.3.2)
|
89
91
|
rake (>= 0.8.7)
|
90
92
|
rdoc (~> 3.4)
|
@@ -105,19 +107,25 @@ GEM
|
|
105
107
|
http-cookie (>= 1.0.2, < 2.0)
|
106
108
|
mime-types (>= 1.16, < 3.0)
|
107
109
|
netrc (~> 0.7)
|
108
|
-
rspec (3.
|
109
|
-
rspec-core (~> 3.
|
110
|
-
rspec-expectations (~> 3.
|
111
|
-
rspec-mocks (~> 3.
|
112
|
-
rspec-core (3.2
|
113
|
-
rspec-support (~> 3.
|
114
|
-
rspec-expectations (3.
|
110
|
+
rspec (3.3.0)
|
111
|
+
rspec-core (~> 3.3.0)
|
112
|
+
rspec-expectations (~> 3.3.0)
|
113
|
+
rspec-mocks (~> 3.3.0)
|
114
|
+
rspec-core (3.3.2)
|
115
|
+
rspec-support (~> 3.3.0)
|
116
|
+
rspec-expectations (3.3.1)
|
115
117
|
diff-lcs (>= 1.2.0, < 2.0)
|
116
|
-
rspec-support (~> 3.
|
117
|
-
rspec-mocks (3.2
|
118
|
+
rspec-support (~> 3.3.0)
|
119
|
+
rspec-mocks (3.3.2)
|
118
120
|
diff-lcs (>= 1.2.0, < 2.0)
|
119
|
-
rspec-support (~> 3.
|
120
|
-
rspec-support (3.
|
121
|
+
rspec-support (~> 3.3.0)
|
122
|
+
rspec-support (3.3.0)
|
123
|
+
sidekiq (2.17.7)
|
124
|
+
celluloid (>= 0.15.2)
|
125
|
+
connection_pool (>= 1.0.0)
|
126
|
+
json
|
127
|
+
redis (>= 3.0.6)
|
128
|
+
redis-namespace (>= 1.3.1)
|
121
129
|
sinatra (1.4.6)
|
122
130
|
rack (~> 1.4)
|
123
131
|
rack-protection (~> 1.4)
|
@@ -127,11 +135,11 @@ GEM
|
|
127
135
|
multi_json (~> 1.0)
|
128
136
|
rack (~> 1.0)
|
129
137
|
tilt (~> 1.1, != 1.3.0)
|
130
|
-
sucker_punch (1.5.
|
131
|
-
celluloid (
|
138
|
+
sucker_punch (1.5.1)
|
139
|
+
celluloid (= 0.16.0)
|
132
140
|
thor (0.19.1)
|
133
141
|
tilt (1.4.1)
|
134
|
-
timers (4.0.
|
142
|
+
timers (4.0.4)
|
135
143
|
hitimes
|
136
144
|
treetop (1.4.15)
|
137
145
|
polyglot
|
@@ -139,6 +147,7 @@ GEM
|
|
139
147
|
tzinfo (0.3.44)
|
140
148
|
unf (0.1.4)
|
141
149
|
unf_ext
|
150
|
+
unf (0.1.4-java)
|
142
151
|
unf_ext (0.0.7.1)
|
143
152
|
vegas (0.1.11)
|
144
153
|
rack (>= 1.0.0)
|
@@ -148,9 +157,10 @@ PLATFORMS
|
|
148
157
|
ruby
|
149
158
|
|
150
159
|
DEPENDENCIES
|
151
|
-
delayed_job
|
160
|
+
delayed_job (~> 3.0.0)
|
152
161
|
delayed_job_active_record
|
153
162
|
rails (~> 3.0)
|
154
163
|
resque
|
155
164
|
rspec
|
165
|
+
sidekiq (~> 2.0)
|
156
166
|
vero!
|
data/README.markdown
CHANGED
@@ -27,8 +27,8 @@ following:
|
|
27
27
|
config.api_key = "Your Production API key goes here"
|
28
28
|
config.secret = "Your Production API secret goes here"
|
29
29
|
else
|
30
|
-
config.api_key = "Your
|
31
|
-
config.secret = "Your
|
30
|
+
config.api_key = "Your Development API key goes here"
|
31
|
+
config.secret = "Your Development API secret goes here"
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
@@ -36,31 +36,19 @@ You will be able to find your API key and secret by logging into Vero
|
|
36
36
|
([sign up](http://getvero.com) if you haven't already) and clicking the
|
37
37
|
'Your Account' link at the top of the page then select 'API Keys'.
|
38
38
|
|
39
|
-
Previously all Vero accounts supported two environments: *test* and *live*.
|
40
|
-
This feature has been deprecated in favour of one account with multiple
|
41
|
-
projects.
|
42
|
-
|
43
|
-
The gem will continue to support development_mode but will require
|
44
|
-
you to explicitly set it in the initialiser. We recommend migrating your
|
45
|
-
account as soon as possible. If you have any questions, please contact
|
46
|
-
support@getvero.com.
|
47
|
-
|
48
|
-
Vero::App.init do |config|
|
49
|
-
config.development_mode = !Rails.env.production? # or use true
|
50
|
-
end
|
51
|
-
|
52
39
|
By default, events are sent asynchronously using a background thread.
|
53
40
|
We recommend that you select one of the supported queue-based alternatives:
|
54
41
|
|
55
42
|
config.async = :none # Synchronously
|
56
43
|
config.async = :thread # Background thread (default)
|
57
44
|
config.async = :delayed_job # DelayedJob
|
45
|
+
config.async = :sidekiq # Sidekiq
|
58
46
|
config.async = :resque # Resque (recommended)
|
59
47
|
|
60
48
|
**Note:** If you're using Mongoid with DelayedJob, you must add
|
61
49
|
`gem "delayed_job_mongoid"` to your Gemfile.
|
62
50
|
|
63
|
-
Finally, if you wish to disable
|
51
|
+
Finally, if you wish to disable Vero requests when running your automated tests,
|
64
52
|
add the following line to your initializer:
|
65
53
|
|
66
54
|
config.disabled = Rails.env.test?
|
@@ -221,6 +209,9 @@ outlined in Installation. Now you can call the API using the following methods:
|
|
221
209
|
|
222
210
|
# Changing a user's id
|
223
211
|
vero.users.reidentify!({:id => 123, :new_id => "honeybadger@getvero.com"})
|
212
|
+
|
213
|
+
# Resubscribing a user
|
214
|
+
vero.users.resubscribe!({:id => 123})
|
224
215
|
end
|
225
216
|
|
226
217
|
def destroy
|
data/lib/vero.rb
CHANGED
@@ -10,6 +10,7 @@ module Vero
|
|
10
10
|
autoload :DSL, 'vero/dsl'
|
11
11
|
autoload :Sender, 'vero/sender'
|
12
12
|
autoload :ResqueWorker, 'vero/senders/resque'
|
13
|
+
autoload :SidekiqWorker, 'vero/senders/sidekiq'
|
13
14
|
|
14
15
|
module Api
|
15
16
|
module Workers
|
@@ -24,6 +25,7 @@ module Vero
|
|
24
25
|
autoload :EditAPI, 'vero/api/users/edit_api'
|
25
26
|
autoload :EditTagsAPI, 'vero/api/users/edit_tags_api'
|
26
27
|
autoload :UnsubscribeAPI, 'vero/api/users/unsubscribe_api'
|
28
|
+
autoload :ResubscribeAPI, 'vero/api/users/resubscribe_api'
|
27
29
|
autoload :ReidentifyAPI, 'vero/api/users/reidentify_api'
|
28
30
|
end
|
29
31
|
end
|
@@ -36,6 +38,7 @@ module Vero
|
|
36
38
|
autoload :Base, 'vero/senders/base'
|
37
39
|
autoload :DelayedJob, 'vero/senders/delayed_job'
|
38
40
|
autoload :Resque, 'vero/senders/resque'
|
41
|
+
autoload :Sidekiq, 'vero/senders/sidekiq'
|
39
42
|
autoload :Invalid, 'vero/senders/invalid'
|
40
43
|
autoload :Thread, 'vero/senders/thread'
|
41
44
|
end
|
data/lib/vero/api.rb
CHANGED
@@ -12,12 +12,10 @@ module Vero
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def run_api(api_klass, options)
|
15
|
+
return if config.disabled
|
15
16
|
validate_configured!
|
16
17
|
options.merge!(config.request_params)
|
17
|
-
|
18
|
-
unless config.disabled
|
19
|
-
Vero::Sender.send(api_klass, config.async, config.domain, options)
|
20
|
-
end
|
18
|
+
Vero::Sender.send(api_klass, config.async, config.domain, options)
|
21
19
|
end
|
22
20
|
|
23
21
|
protected
|
@@ -59,6 +57,10 @@ module Vero
|
|
59
57
|
new(context).unsubscribe!(options)
|
60
58
|
end
|
61
59
|
|
60
|
+
def self.resubscribe!(options, context = Vero::App.default_context)
|
61
|
+
new(context).resubscribe!(options)
|
62
|
+
end
|
63
|
+
|
62
64
|
def track!(options)
|
63
65
|
run_api(Vero::Api::Workers::Users::TrackAPI, options)
|
64
66
|
end
|
@@ -75,6 +77,10 @@ module Vero
|
|
75
77
|
run_api(Vero::Api::Workers::Users::UnsubscribeAPI, options)
|
76
78
|
end
|
77
79
|
|
80
|
+
def resubscribe!(options)
|
81
|
+
run_api(Vero::Api::Workers::Users::ResubscribeAPI, options)
|
82
|
+
end
|
83
|
+
|
78
84
|
def reidentify!(options)
|
79
85
|
run_api(Vero::Api::Workers::Users::ReidentifyAPI, options)
|
80
86
|
end
|
data/lib/vero/api/base_api.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
module Vero
|
2
|
+
module Api
|
3
|
+
module Workers
|
4
|
+
module Users
|
5
|
+
class ResubscribeAPI < BaseAPI
|
6
|
+
def url
|
7
|
+
"#{@domain}/api/v2/users/resubscribe.json"
|
8
|
+
end
|
9
|
+
|
10
|
+
def request
|
11
|
+
RestClient.post(url, @options)
|
12
|
+
end
|
13
|
+
|
14
|
+
def validate!
|
15
|
+
raise ArgumentError.new("Missing :id or :email") if options[:id].to_s.blank? && options[:email].to_s.blank?
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/vero/sender.rb
CHANGED
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'json'
|
2
|
+
require 'sidekiq'
|
3
|
+
|
4
|
+
module Vero
|
5
|
+
class SidekiqWorker
|
6
|
+
include ::Sidekiq::Worker
|
7
|
+
|
8
|
+
def perform(api_class, domain, options)
|
9
|
+
api_class.constantize.new(domain, options).perform
|
10
|
+
Vero::App.log(self, "method: #{api_class}, options: #{options.to_json}, response: sidekiq job queued")
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
module Senders
|
15
|
+
class Sidekiq
|
16
|
+
def call(api_class, domain, options)
|
17
|
+
response = ::Vero::SidekiqWorker.perform_async(api_class.to_s, domain, options)
|
18
|
+
Vero::App.log(self, "method: #{api_class.name}, options: #{options.to_json}, response: sidekiq job queued")
|
19
|
+
response
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/vero/version.rb
CHANGED
@@ -5,13 +5,13 @@ describe Vero::Api::Workers::BaseAPI do
|
|
5
5
|
|
6
6
|
describe :options_with_symbolized_keys do
|
7
7
|
it "should create a new options Hash with symbol keys (much like Hash#symbolize_keys in rails)" do
|
8
|
-
subject.options.
|
8
|
+
expect(subject.options).to eq({})
|
9
9
|
|
10
10
|
subject.options = {:abc => 123}
|
11
|
-
subject.options.
|
11
|
+
expect(subject.options).to eq({:abc => 123})
|
12
12
|
|
13
13
|
subject.options = {"abc" => 123}
|
14
|
-
subject.options.
|
14
|
+
expect(subject.options).to eq({:abc => 123})
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
@@ -1,25 +1,18 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Vero::Api::Workers::Events::TrackAPI do
|
4
|
+
subject { Vero::Api::Workers::Events::TrackAPI.new('https://api.getvero.com', {:auth_token => 'abcd', :identity => {:email => 'test@test.com'}, :event_name => 'test_event'}) }
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
it "should inherit from Vero::Api::Workers::BaseCaller" do
|
8
|
-
subject.should be_a(Vero::Api::Workers::BaseAPI)
|
9
|
-
end
|
10
|
-
|
11
|
-
it "should map to current version of Vero API" do
|
12
|
-
subject.send(:url).should == "https://api.getvero.com/api/v2/events/track.json"
|
13
|
-
end
|
6
|
+
it_behaves_like "a Vero wrapper" do
|
7
|
+
let(:end_point) { "/api/v2/events/track.json" }
|
14
8
|
end
|
15
9
|
|
16
10
|
context "request with properties" do
|
17
|
-
subject { Vero::Api::Workers::Events::TrackAPI.new('https://api.getvero.com', {:auth_token => 'abcd', :identity => {:email => 'test@test.com'}, :event_name => 'test_event'}) }
|
18
11
|
describe :validate! do
|
19
12
|
it "should raise an error if event_name is a blank String" do
|
20
13
|
options = {:auth_token => 'abcd', :identity => {:email => 'test@test.com'}, :event_name => nil}
|
21
14
|
subject.options = options
|
22
|
-
expect { subject.send(:validate!) }.to raise_error
|
15
|
+
expect { subject.send(:validate!) }.to raise_error(ArgumentError)
|
23
16
|
|
24
17
|
options = {:auth_token => 'abcd', :identity => {:email => 'test@test.com'}, :event_name => 'test_event'}
|
25
18
|
subject.options = options
|
@@ -29,7 +22,7 @@ describe Vero::Api::Workers::Events::TrackAPI do
|
|
29
22
|
it "should raise an error if data is not either nil or a Hash" do
|
30
23
|
options = {:auth_token => 'abcd', :identity => {:email => 'test@test.com'}, :event_name => 'test_event', :data => []}
|
31
24
|
subject.options = options
|
32
|
-
expect { subject.send(:validate!) }.to raise_error
|
25
|
+
expect { subject.send(:validate!) }.to raise_error(ArgumentError)
|
33
26
|
|
34
27
|
options = {:auth_token => 'abcd', :identity => {:email => 'test@test.com'}, :event_name => 'test_event', :data => nil}
|
35
28
|
subject.options = options
|
@@ -45,12 +38,17 @@ describe Vero::Api::Workers::Events::TrackAPI do
|
|
45
38
|
subject.options = options
|
46
39
|
expect { subject.send(:validate!) }.to_not raise_error
|
47
40
|
end
|
41
|
+
|
42
|
+
it 'should not raise an error when keys are Strings for initialization' do
|
43
|
+
options = {"auth_token" => 'abcd', "identity" => {"email" => 'test@test.com'}, "event_name" => 'test_event', "data" => {}}
|
44
|
+
expect { Vero::Api::Workers::Events::TrackAPI.new('https://api.getvero.com', options).send(:validate!) }.to_not raise_error
|
45
|
+
end
|
48
46
|
end
|
49
47
|
|
50
48
|
describe :request do
|
51
49
|
it "should send a JSON request to the Vero API" do
|
52
|
-
RestClient.
|
53
|
-
RestClient.
|
50
|
+
expect(RestClient).to receive(:post).with("https://api.getvero.com/api/v2/events/track.json", {:auth_token => 'abcd', :identity => {:email => 'test@test.com'}, :event_name => 'test_event'}.to_json, {:content_type => :json, :accept => :json})
|
51
|
+
allow(RestClient).to receive(:post).and_return(200)
|
54
52
|
subject.send(:request)
|
55
53
|
end
|
56
54
|
end
|
@@ -60,7 +58,7 @@ describe Vero::Api::Workers::Events::TrackAPI do
|
|
60
58
|
it "should not raise any errors" do
|
61
59
|
obj = Vero::Api::Workers::Events::TrackAPI.new('https://api.getvero.com', {:auth_token => 'abcd', :identity => {:email => 'test@test.com'}, :event_name => 'test_event'})
|
62
60
|
|
63
|
-
RestClient.
|
61
|
+
allow(RestClient).to receive(:post).and_return(200)
|
64
62
|
expect { obj.perform }.to_not raise_error
|
65
63
|
end
|
66
64
|
end
|