braze_ruby 0.2.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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