braze_ruby 0.2.1 → 0.4.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.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +30 -0
  3. data/.gitignore +1 -0
  4. data/Gemfile +2 -0
  5. data/Gemfile.lock +39 -39
  6. data/README.md +48 -0
  7. data/Rakefile +2 -0
  8. data/braze_ruby.gemspec +7 -7
  9. data/lib/braze_ruby.rb +2 -0
  10. data/lib/braze_ruby/api.rb +12 -4
  11. data/lib/braze_ruby/deprecated.rb +2 -0
  12. data/lib/braze_ruby/endpoints.rb +3 -0
  13. data/lib/braze_ruby/endpoints/campaigns.rb +3 -1
  14. data/lib/braze_ruby/endpoints/canvas.rb +15 -0
  15. data/lib/braze_ruby/endpoints/delete_users.rb +4 -2
  16. data/lib/braze_ruby/endpoints/email_status.rb +3 -1
  17. data/lib/braze_ruby/endpoints/email_sync.rb +4 -2
  18. data/lib/braze_ruby/endpoints/identify_users.rb +19 -0
  19. data/lib/braze_ruby/endpoints/schedule_messages.rb +3 -1
  20. data/lib/braze_ruby/endpoints/send_messages.rb +3 -1
  21. data/lib/braze_ruby/endpoints/subscription.rb +20 -0
  22. data/lib/braze_ruby/endpoints/track_users.rb +7 -5
  23. data/lib/braze_ruby/http.rb +20 -5
  24. data/lib/braze_ruby/rest.rb +8 -0
  25. data/lib/braze_ruby/rest/base.rb +6 -2
  26. data/lib/braze_ruby/rest/canvas_details.rb +20 -0
  27. data/lib/braze_ruby/rest/delete_users.rb +3 -2
  28. data/lib/braze_ruby/rest/email_hard_bounces.rb +5 -5
  29. data/lib/braze_ruby/rest/email_status.rb +5 -5
  30. data/lib/braze_ruby/rest/email_unsubscribes.rb +5 -5
  31. data/lib/braze_ruby/rest/export_users.rb +7 -7
  32. data/lib/braze_ruby/rest/identify_users.rb +13 -0
  33. data/lib/braze_ruby/rest/list_segments.rb +4 -4
  34. data/lib/braze_ruby/rest/schedule_messages.rb +5 -5
  35. data/lib/braze_ruby/rest/send_messages.rb +5 -5
  36. data/lib/braze_ruby/rest/subscription_status_get.rb +20 -0
  37. data/lib/braze_ruby/rest/subscription_status_set.rb +20 -0
  38. data/lib/braze_ruby/rest/subscription_user_status.rb +20 -0
  39. data/lib/braze_ruby/rest/track_users.rb +3 -2
  40. data/lib/braze_ruby/rest/trigger_campaign_send.rb +6 -8
  41. data/lib/braze_ruby/rest/trigger_canvas_send.rb +20 -0
  42. data/lib/braze_ruby/version.rb +3 -1
  43. data/spec/braze_ruby/api_spec.rb +2 -0
  44. data/spec/braze_ruby/endpoints/delete_users_spec.rb +3 -1
  45. data/spec/braze_ruby/endpoints/track_users_spec.rb +10 -8
  46. data/spec/braze_ruby/http_spec.rb +48 -0
  47. data/spec/braze_ruby/rest/delete_users_spec.rb +5 -3
  48. data/spec/braze_ruby/rest/email_status_spec.rb +3 -2
  49. data/spec/braze_ruby/rest/export_users_spec.rb +5 -3
  50. data/spec/braze_ruby/rest/identify_users_spec.rb +23 -0
  51. data/spec/braze_ruby/rest/schedule_messages_spec.rb +3 -2
  52. data/spec/braze_ruby/rest/send_messages_spec.rb +10 -13
  53. data/spec/braze_ruby/rest/track_users_spec.rb +12 -9
  54. data/spec/factories.rb +2 -0
  55. data/spec/fixtures/responses/campaigns/trigger_send/sends_an_email.yml +17 -15
  56. data/spec/fixtures/responses/canvas/details/returns_error_when_no_canvas.yml +69 -0
  57. data/spec/fixtures/responses/canvas/trigger_send/sends_a_canvas.yml +71 -0
  58. data/spec/fixtures/responses/delete_users/unauthorized/responds_with_unauthorized.yml +20 -18
  59. data/spec/fixtures/responses/delete_users/with_success/responds_with_created.yml +25 -23
  60. data/spec/fixtures/responses/delete_users/with_success/responds_with_success_message.yml +25 -23
  61. data/spec/fixtures/responses/email_status/existing_email/responds_with_created.yml +22 -20
  62. data/spec/fixtures/responses/email_status/existing_email/responds_with_success_message.yml +22 -20
  63. data/spec/fixtures/responses/email_status/unknown_email/responds_with_bad_request.yml +22 -20
  64. data/spec/fixtures/responses/email_status/unknown_email/responds_with_success_message.yml +22 -20
  65. data/spec/fixtures/responses/email_sync/hard_bounces/responds_with_empty_array_when_no_hard_bounces.yml +18 -16
  66. data/spec/fixtures/responses/email_sync/unsubscribes/responds_with_empty_array_when_no_unsubscribes.yml +18 -16
  67. data/spec/fixtures/responses/email_sync/unsubscribes/responds_with_unsubscribed_emails.yml +21 -20
  68. data/spec/fixtures/responses/export_users/by_ids/with_success/responds_with_created.yml +25 -22
  69. data/spec/fixtures/responses/export_users/by_segment/with_success/responds_with_created.yml +24 -22
  70. data/spec/fixtures/responses/identify_users/unauthorized/responds_with_unauthorized.yml +68 -0
  71. data/spec/fixtures/responses/identify_users/with_success/responds_with_created.yml +71 -0
  72. data/spec/fixtures/responses/identify_users/with_success/responds_with_success_message.yml +71 -0
  73. data/spec/fixtures/responses/list_segments/with_success/responds_with_a_list_of_segments.yml +35 -35
  74. data/spec/fixtures/responses/list_segments/with_success/responds_with_success.yml +35 -35
  75. data/spec/fixtures/responses/schedule_messages/unauthorized/responds_with_unauthorize.yml +20 -19
  76. data/spec/fixtures/responses/schedule_messages/with_success/responds_with_created.yml +24 -23
  77. data/spec/fixtures/responses/schedule_messages/with_success/responds_with_success_message.yml +24 -23
  78. data/spec/fixtures/responses/send_messages/unauthorized/responds_with_unauthorized.yml +20 -18
  79. data/spec/fixtures/responses/send_messages/with_success/responds_with_created.yml +24 -22
  80. data/spec/fixtures/responses/send_messages/with_success/responds_with_success_message.yml +24 -22
  81. data/spec/fixtures/responses/subscription/subscription_status_set/when_subscribing/subscribes_the_user.yml +71 -0
  82. data/spec/fixtures/responses/subscription/subscription_status_set/when_subscription_group_does_not_exist/returns_an_error_status.yml +68 -0
  83. data/spec/fixtures/responses/subscription/subscription_status_set/when_unsubscribing/unsubscribes_the_user.yml +139 -0
  84. data/spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_checking_subscribed_and_unsubscribed_user_status/returns_only_users_that_were_once_subscribed.yml +211 -0
  85. data/spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_group_does_not_exist/returns_an_error.yml +199 -0
  86. data/spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_user_status/returns_subscription_groups_and_status_for_every_group.yml +211 -0
  87. data/spec/fixtures/responses/track_users/unauthorized/responds_with_unauthorized.yml +23 -21
  88. data/spec/fixtures/responses/track_users/with_success/responds_with_created.yml +22 -20
  89. data/spec/fixtures/responses/track_users/with_success/responds_with_success_message.yml +22 -20
  90. data/spec/integrations/campaigns_spec.rb +6 -2
  91. data/spec/integrations/canvas_spec.rb +28 -0
  92. data/spec/integrations/delete_users_spec.rb +3 -0
  93. data/spec/integrations/email_status_spec.rb +2 -0
  94. data/spec/integrations/email_sync_spec.rb +4 -2
  95. data/spec/integrations/export_users_spec.rb +4 -2
  96. data/spec/integrations/identify_users_spec.rb +32 -0
  97. data/spec/integrations/list_segments_spec.rb +3 -1
  98. data/spec/integrations/schedule_messages_spec.rb +4 -1
  99. data/spec/integrations/send_messages_spec.rb +4 -1
  100. data/spec/integrations/subscription_spec.rb +149 -0
  101. data/spec/integrations/track_users_spec.rb +3 -0
  102. data/spec/spec_helper.rb +2 -8
  103. data/spec/support/factory_bot.rb +2 -0
  104. data/spec/support/integrations.rb +7 -1
  105. data/spec/support/vcr.rb +5 -1
  106. metadata +63 -21
@@ -1,7 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe 'track users' do
4
6
  let(:attributes) { [build(:attribute)] }
7
+ let(:test_time) { Time.parse('2019-02-15 00:00:00 -0500') }
5
8
  let(:events) { [build(:event, time: test_time)] }
6
9
  let(:purchases) { [build(:purchase, time: test_time)] }
7
10
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/setup'
2
4
  require 'pry'
3
5
  require 'dotenv'
@@ -13,10 +15,6 @@ BRAZE_REST_API_KEY = ENV.fetch('BRAZE_REST_API_KEY', 'test')
13
15
  BRAZE_REST_URL = ENV.fetch('BRAZE_REST_URL', 'https://rest.iad-03.braze.com')
14
16
 
15
17
  RSpec.configure do |config|
16
- def test_time
17
- Time.parse('2019-02-15 00:00:00 -0500')
18
- end
19
-
20
18
  def braze_rest_api_key
21
19
  BRAZE_REST_API_KEY
22
20
  end
@@ -24,8 +22,4 @@ RSpec.configure do |config|
24
22
  def braze_rest_url
25
23
  BRAZE_REST_URL
26
24
  end
27
-
28
- def braze_test_segment
29
- 'a8fde797-4c44-4406-8e6c-5850d323f169'
30
- end
31
25
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'factory_bot'
2
4
 
3
5
  RSpec.configure do |config|
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Integrations
2
4
  def api_key
3
5
  braze_rest_api_key
@@ -11,8 +13,12 @@ module Integrations
11
13
  braze_test_segment
12
14
  end
13
15
 
16
+ def options
17
+ {}
18
+ end
19
+
14
20
  def api
15
- BrazeRuby::API.new(api_key, rest_url)
21
+ BrazeRuby::API.new(api_key, rest_url, options)
16
22
  end
17
23
 
18
24
  RSpec.configure do |config|
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'vcr'
2
4
 
3
5
  VCR.configure do |config|
@@ -7,7 +9,9 @@ VCR.configure do |config|
7
9
  config.cassette_library_dir = 'spec/fixtures/responses'
8
10
 
9
11
  config.default_cassette_options = {
10
- match_requests_on: [:method, :uri, :body]
12
+ match_requests_on: [:method, :uri, :body],
13
+ record: :once,
14
+ allow_unused_http_interactions: false
11
15
  }
12
16
 
13
17
  config.configure_rspec_metadata!
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: braze_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Nussbaum
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-09-02 00:00:00.000000000 Z
13
+ date: 2020-06-18 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: faraday
@@ -46,98 +46,98 @@ dependencies:
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: '0'
49
+ version: 12.3.3
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - ">="
55
55
  - !ruby/object:Gem::Version
56
- version: '0'
56
+ version: 12.3.3
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: rspec
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - ">="
61
+ - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: '0'
63
+ version: '3.8'
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - ">="
68
+ - - "~>"
69
69
  - !ruby/object:Gem::Version
70
- version: '0'
70
+ version: '3.8'
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: dotenv
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - ">="
75
+ - - "~>"
76
76
  - !ruby/object:Gem::Version
77
- version: '0'
77
+ version: 2.7.5
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
- - - ">="
82
+ - - "~>"
83
83
  - !ruby/object:Gem::Version
84
- version: '0'
84
+ version: 2.7.5
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: vcr
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - ">="
90
90
  - !ruby/object:Gem::Version
91
- version: '0'
91
+ version: 5.0.0
92
92
  type: :development
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - ">="
97
97
  - !ruby/object:Gem::Version
98
- version: '0'
98
+ version: 5.0.0
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: webmock
101
101
  requirement: !ruby/object:Gem::Requirement
102
102
  requirements:
103
103
  - - ">="
104
104
  - !ruby/object:Gem::Version
105
- version: '0'
105
+ version: 3.7.5
106
106
  type: :development
107
107
  prerelease: false
108
108
  version_requirements: !ruby/object:Gem::Requirement
109
109
  requirements:
110
110
  - - ">="
111
111
  - !ruby/object:Gem::Version
112
- version: '0'
112
+ version: 3.7.5
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: pry
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
117
  - - ">="
118
118
  - !ruby/object:Gem::Version
119
- version: '0'
119
+ version: 0.12.2
120
120
  type: :development
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
124
  - - ">="
125
125
  - !ruby/object:Gem::Version
126
- version: '0'
126
+ version: 0.12.2
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: factory_bot
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
131
  - - ">="
132
132
  - !ruby/object:Gem::Version
133
- version: '0'
133
+ version: 5.1.0
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
138
  - - ">="
139
139
  - !ruby/object:Gem::Version
140
- version: '0'
140
+ version: 5.1.0
141
141
  description: Braze wrapper
142
142
  email:
143
143
  - josh@godynamo.com
@@ -147,6 +147,7 @@ executables: []
147
147
  extensions: []
148
148
  extra_rdoc_files: []
149
149
  files:
150
+ - ".github/workflows/ci.yml"
150
151
  - ".gitignore"
151
152
  - ".rspec"
152
153
  - Gemfile
@@ -160,37 +161,50 @@ files:
160
161
  - lib/braze_ruby/deprecated.rb
161
162
  - lib/braze_ruby/endpoints.rb
162
163
  - lib/braze_ruby/endpoints/campaigns.rb
164
+ - lib/braze_ruby/endpoints/canvas.rb
163
165
  - lib/braze_ruby/endpoints/delete_users.rb
164
166
  - lib/braze_ruby/endpoints/email_status.rb
165
167
  - lib/braze_ruby/endpoints/email_sync.rb
168
+ - lib/braze_ruby/endpoints/identify_users.rb
166
169
  - lib/braze_ruby/endpoints/schedule_messages.rb
167
170
  - lib/braze_ruby/endpoints/send_messages.rb
171
+ - lib/braze_ruby/endpoints/subscription.rb
168
172
  - lib/braze_ruby/endpoints/track_users.rb
169
173
  - lib/braze_ruby/http.rb
170
174
  - lib/braze_ruby/rest.rb
171
175
  - lib/braze_ruby/rest/base.rb
176
+ - lib/braze_ruby/rest/canvas_details.rb
172
177
  - lib/braze_ruby/rest/delete_users.rb
173
178
  - lib/braze_ruby/rest/email_hard_bounces.rb
174
179
  - lib/braze_ruby/rest/email_status.rb
175
180
  - lib/braze_ruby/rest/email_unsubscribes.rb
176
181
  - lib/braze_ruby/rest/export_users.rb
182
+ - lib/braze_ruby/rest/identify_users.rb
177
183
  - lib/braze_ruby/rest/list_segments.rb
178
184
  - lib/braze_ruby/rest/schedule_messages.rb
179
185
  - lib/braze_ruby/rest/send_messages.rb
186
+ - lib/braze_ruby/rest/subscription_status_get.rb
187
+ - lib/braze_ruby/rest/subscription_status_set.rb
188
+ - lib/braze_ruby/rest/subscription_user_status.rb
180
189
  - lib/braze_ruby/rest/track_users.rb
181
190
  - lib/braze_ruby/rest/trigger_campaign_send.rb
191
+ - lib/braze_ruby/rest/trigger_canvas_send.rb
182
192
  - lib/braze_ruby/version.rb
183
193
  - spec/braze_ruby/api_spec.rb
184
194
  - spec/braze_ruby/endpoints/delete_users_spec.rb
185
195
  - spec/braze_ruby/endpoints/track_users_spec.rb
196
+ - spec/braze_ruby/http_spec.rb
186
197
  - spec/braze_ruby/rest/delete_users_spec.rb
187
198
  - spec/braze_ruby/rest/email_status_spec.rb
188
199
  - spec/braze_ruby/rest/export_users_spec.rb
200
+ - spec/braze_ruby/rest/identify_users_spec.rb
189
201
  - spec/braze_ruby/rest/schedule_messages_spec.rb
190
202
  - spec/braze_ruby/rest/send_messages_spec.rb
191
203
  - spec/braze_ruby/rest/track_users_spec.rb
192
204
  - spec/factories.rb
193
205
  - spec/fixtures/responses/campaigns/trigger_send/sends_an_email.yml
206
+ - spec/fixtures/responses/canvas/details/returns_error_when_no_canvas.yml
207
+ - spec/fixtures/responses/canvas/trigger_send/sends_a_canvas.yml
194
208
  - spec/fixtures/responses/delete_users/unauthorized/responds_with_unauthorized.yml
195
209
  - spec/fixtures/responses/delete_users/with_success/responds_with_created.yml
196
210
  - spec/fixtures/responses/delete_users/with_success/responds_with_success_message.yml
@@ -203,6 +217,9 @@ files:
203
217
  - spec/fixtures/responses/email_sync/unsubscribes/responds_with_unsubscribed_emails.yml
204
218
  - spec/fixtures/responses/export_users/by_ids/with_success/responds_with_created.yml
205
219
  - spec/fixtures/responses/export_users/by_segment/with_success/responds_with_created.yml
220
+ - spec/fixtures/responses/identify_users/unauthorized/responds_with_unauthorized.yml
221
+ - spec/fixtures/responses/identify_users/with_success/responds_with_created.yml
222
+ - spec/fixtures/responses/identify_users/with_success/responds_with_success_message.yml
206
223
  - spec/fixtures/responses/list_segments/with_success/responds_with_a_list_of_segments.yml
207
224
  - spec/fixtures/responses/list_segments/with_success/responds_with_success.yml
208
225
  - spec/fixtures/responses/schedule_messages/unauthorized/responds_with_unauthorize.yml
@@ -211,17 +228,26 @@ files:
211
228
  - spec/fixtures/responses/send_messages/unauthorized/responds_with_unauthorized.yml
212
229
  - spec/fixtures/responses/send_messages/with_success/responds_with_created.yml
213
230
  - spec/fixtures/responses/send_messages/with_success/responds_with_success_message.yml
231
+ - spec/fixtures/responses/subscription/subscription_status_set/when_subscribing/subscribes_the_user.yml
232
+ - spec/fixtures/responses/subscription/subscription_status_set/when_subscription_group_does_not_exist/returns_an_error_status.yml
233
+ - spec/fixtures/responses/subscription/subscription_status_set/when_unsubscribing/unsubscribes_the_user.yml
234
+ - spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_checking_subscribed_and_unsubscribed_user_status/returns_only_users_that_were_once_subscribed.yml
235
+ - spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_group_does_not_exist/returns_an_error.yml
236
+ - spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_user_status/returns_subscription_groups_and_status_for_every_group.yml
214
237
  - spec/fixtures/responses/track_users/unauthorized/responds_with_unauthorized.yml
215
238
  - spec/fixtures/responses/track_users/with_success/responds_with_created.yml
216
239
  - spec/fixtures/responses/track_users/with_success/responds_with_success_message.yml
217
240
  - spec/integrations/campaigns_spec.rb
241
+ - spec/integrations/canvas_spec.rb
218
242
  - spec/integrations/delete_users_spec.rb
219
243
  - spec/integrations/email_status_spec.rb
220
244
  - spec/integrations/email_sync_spec.rb
221
245
  - spec/integrations/export_users_spec.rb
246
+ - spec/integrations/identify_users_spec.rb
222
247
  - spec/integrations/list_segments_spec.rb
223
248
  - spec/integrations/schedule_messages_spec.rb
224
249
  - spec/integrations/send_messages_spec.rb
250
+ - spec/integrations/subscription_spec.rb
225
251
  - spec/integrations/track_users_spec.rb
226
252
  - spec/spec_helper.rb
227
253
  - spec/support/factory_bot.rb
@@ -248,7 +274,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
248
274
  - !ruby/object:Gem::Version
249
275
  version: '0'
250
276
  requirements: []
251
- rubygems_version: 3.0.6
277
+ rubygems_version: 3.1.2
252
278
  signing_key:
253
279
  specification_version: 4
254
280
  summary: A wrapper for the Braze REST API forked from the appboy gem, track users/events/purchases,
@@ -257,14 +283,18 @@ test_files:
257
283
  - spec/braze_ruby/api_spec.rb
258
284
  - spec/braze_ruby/endpoints/delete_users_spec.rb
259
285
  - spec/braze_ruby/endpoints/track_users_spec.rb
286
+ - spec/braze_ruby/http_spec.rb
260
287
  - spec/braze_ruby/rest/delete_users_spec.rb
261
288
  - spec/braze_ruby/rest/email_status_spec.rb
262
289
  - spec/braze_ruby/rest/export_users_spec.rb
290
+ - spec/braze_ruby/rest/identify_users_spec.rb
263
291
  - spec/braze_ruby/rest/schedule_messages_spec.rb
264
292
  - spec/braze_ruby/rest/send_messages_spec.rb
265
293
  - spec/braze_ruby/rest/track_users_spec.rb
266
294
  - spec/factories.rb
267
295
  - spec/fixtures/responses/campaigns/trigger_send/sends_an_email.yml
296
+ - spec/fixtures/responses/canvas/details/returns_error_when_no_canvas.yml
297
+ - spec/fixtures/responses/canvas/trigger_send/sends_a_canvas.yml
268
298
  - spec/fixtures/responses/delete_users/unauthorized/responds_with_unauthorized.yml
269
299
  - spec/fixtures/responses/delete_users/with_success/responds_with_created.yml
270
300
  - spec/fixtures/responses/delete_users/with_success/responds_with_success_message.yml
@@ -277,6 +307,9 @@ test_files:
277
307
  - spec/fixtures/responses/email_sync/unsubscribes/responds_with_unsubscribed_emails.yml
278
308
  - spec/fixtures/responses/export_users/by_ids/with_success/responds_with_created.yml
279
309
  - spec/fixtures/responses/export_users/by_segment/with_success/responds_with_created.yml
310
+ - spec/fixtures/responses/identify_users/unauthorized/responds_with_unauthorized.yml
311
+ - spec/fixtures/responses/identify_users/with_success/responds_with_created.yml
312
+ - spec/fixtures/responses/identify_users/with_success/responds_with_success_message.yml
280
313
  - spec/fixtures/responses/list_segments/with_success/responds_with_a_list_of_segments.yml
281
314
  - spec/fixtures/responses/list_segments/with_success/responds_with_success.yml
282
315
  - spec/fixtures/responses/schedule_messages/unauthorized/responds_with_unauthorize.yml
@@ -285,17 +318,26 @@ test_files:
285
318
  - spec/fixtures/responses/send_messages/unauthorized/responds_with_unauthorized.yml
286
319
  - spec/fixtures/responses/send_messages/with_success/responds_with_created.yml
287
320
  - spec/fixtures/responses/send_messages/with_success/responds_with_success_message.yml
321
+ - spec/fixtures/responses/subscription/subscription_status_set/when_subscribing/subscribes_the_user.yml
322
+ - spec/fixtures/responses/subscription/subscription_status_set/when_subscription_group_does_not_exist/returns_an_error_status.yml
323
+ - spec/fixtures/responses/subscription/subscription_status_set/when_unsubscribing/unsubscribes_the_user.yml
324
+ - spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_checking_subscribed_and_unsubscribed_user_status/returns_only_users_that_were_once_subscribed.yml
325
+ - spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_group_does_not_exist/returns_an_error.yml
326
+ - spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_user_status/returns_subscription_groups_and_status_for_every_group.yml
288
327
  - spec/fixtures/responses/track_users/unauthorized/responds_with_unauthorized.yml
289
328
  - spec/fixtures/responses/track_users/with_success/responds_with_created.yml
290
329
  - spec/fixtures/responses/track_users/with_success/responds_with_success_message.yml
291
330
  - spec/integrations/campaigns_spec.rb
331
+ - spec/integrations/canvas_spec.rb
292
332
  - spec/integrations/delete_users_spec.rb
293
333
  - spec/integrations/email_status_spec.rb
294
334
  - spec/integrations/email_sync_spec.rb
295
335
  - spec/integrations/export_users_spec.rb
336
+ - spec/integrations/identify_users_spec.rb
296
337
  - spec/integrations/list_segments_spec.rb
297
338
  - spec/integrations/schedule_messages_spec.rb
298
339
  - spec/integrations/send_messages_spec.rb
340
+ - spec/integrations/subscription_spec.rb
299
341
  - spec/integrations/track_users_spec.rb
300
342
  - spec/spec_helper.rb
301
343
  - spec/support/factory_bot.rb