auth0 5.0.1 → 5.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +3 -5
  3. data/CHANGELOG.md +46 -0
  4. data/README.md +81 -1
  5. data/auth0.gemspec +6 -6
  6. data/lib/auth0/api/authentication_endpoints.rb +16 -6
  7. data/lib/auth0/api/v2.rb +8 -4
  8. data/lib/auth0/api/v2/branding.rb +66 -0
  9. data/lib/auth0/api/v2/connections.rb +8 -2
  10. data/lib/auth0/api/v2/device_credentials.rb +3 -3
  11. data/lib/auth0/api/v2/jobs.rb +3 -1
  12. data/lib/auth0/api/v2/organizations.rb +335 -0
  13. data/lib/auth0/api/v2/tickets.rb +14 -2
  14. data/lib/auth0/api/v2/users.rb +12 -0
  15. data/lib/auth0/exception.rb +3 -1
  16. data/lib/auth0/mixins/httpproxy.rb +4 -1
  17. data/lib/auth0/mixins/initializer.rb +3 -1
  18. data/lib/auth0/mixins/validation.rb +14 -0
  19. data/lib/auth0/version.rb +1 -1
  20. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_exclude_the_fields_indicated.yml +38 -26
  21. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_include_the_fields_indicated.yml +38 -24
  22. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/should_find_the_correct_connection.yml +38 -26
  23. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_include_previously-created_connection_when_filtered.yml +41 -21
  24. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_exclude_the_fields_indicated_from_filtered_results.yml +41 -21
  25. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_include_the_fields_indicated_from_filtered_results.yml +41 -21
  26. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_include_the_previously_created_connection.yml +41 -21
  27. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_not_be_empty.yml +41 -21
  28. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection/should_delete_the_connection.yml +45 -24
  29. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection_user/should_delete_the_user_created.yml +75 -39
  30. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_update_connection/should_update_the_connection.yml +39 -28
  31. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_connection.yml +37 -25
  32. data/spec/lib/auth0/api/v2/branding_spec.rb +70 -0
  33. data/spec/lib/auth0/api/v2/connections_spec.rb +5 -1
  34. data/spec/lib/auth0/api/v2/device_credentials_spec.rb +2 -2
  35. data/spec/lib/auth0/api/v2/jobs_spec.rb +11 -0
  36. data/spec/lib/auth0/api/v2/organizations_spec.rb +593 -0
  37. data/spec/lib/auth0/api/v2/tickets_spec.rb +55 -0
  38. data/spec/lib/auth0/api/v2/users_spec.rb +19 -0
  39. data/spec/lib/auth0/client_spec.rb +79 -9
  40. data/spec/lib/auth0/mixins/httpproxy_spec.rb +8 -8
  41. data/spec/lib/auth0/mixins/validation_spec.rb +32 -0
  42. metadata +21 -15
@@ -22,9 +22,9 @@ describe Auth0::Api::V2::DeviceCredentials do
22
22
  )
23
23
  expect { @instance.device_credentials(client_id) }.not_to raise_error
24
24
  end
25
- it 'is expect to raise an error when type is not one of \'public_key\', \'refresh_token\'' do
25
+ it 'is expect to raise an error when type is not one of \'public_key\', \'refresh_token\', \'rotating_refresh_token\'' do
26
26
  expect { @instance.device_credentials(client_id, type: 'invalid_type') }.to raise_error(
27
- 'Type must be one of \'public_key\', \'refresh_token\''
27
+ 'Type must be one of \'public_key\', \'refresh_token\', \'rotating_refresh_token\''
28
28
  )
29
29
  end
30
30
  end
@@ -119,6 +119,17 @@ describe Auth0::Api::V2::Jobs do
119
119
  )
120
120
  end
121
121
 
122
+ it 'expect client to accept organization_id' do
123
+ expect(@instance).to receive(:post).with('/api/v2/jobs/verification-email',
124
+ user_id: 'user_id',
125
+ organization_id: 'org_id'
126
+ )
127
+
128
+ expect {
129
+ @instance.send_verification_email('user_id', organization_id: 'org_id')
130
+ }.not_to raise_error
131
+ end
132
+
122
133
  it 'should raise an error if the user_id is empty' do
123
134
  expect do
124
135
  @instance.send_verification_email('')
@@ -0,0 +1,593 @@
1
+ require 'spec_helper'
2
+ describe Auth0::Api::V2::Organizations do
3
+ before :all do
4
+ dummy_instance = DummyClass.new
5
+ dummy_instance.extend(Auth0::Api::V2::Organizations)
6
+ @instance = dummy_instance
7
+ end
8
+
9
+ context '.organizations' do
10
+ it 'is expected to respond to a organizations method' do
11
+ expect(@instance).to respond_to(:organizations)
12
+ end
13
+
14
+ it 'is expected to respond to a get_organizations method' do
15
+ expect(@instance).to respond_to(:get_organizations)
16
+ end
17
+
18
+ it 'is expected to get /api/v2/organizations' do
19
+ expect(@instance).to receive(:get).with(
20
+ '/api/v2/organizations',
21
+ per_page: nil,
22
+ page: nil,
23
+ include_totals: nil
24
+ )
25
+ expect { @instance.organizations }.not_to raise_error
26
+ end
27
+
28
+ it 'is expected to get /api/v2/organizations with custom parameters' do
29
+ expect(@instance).to receive(:get).with(
30
+ '/api/v2/organizations',
31
+ per_page: 10,
32
+ page: 1,
33
+ include_totals: true
34
+ )
35
+ expect do
36
+ @instance.organizations(
37
+ per_page: 10,
38
+ page: 1,
39
+ include_totals: true
40
+ )
41
+ end.not_to raise_error
42
+ end
43
+ end
44
+
45
+ context '.organization' do
46
+ it 'is expected to respond to a user method' do
47
+ expect(@instance).to respond_to(:organization)
48
+ end
49
+
50
+ it 'is expected to call get request to /api/v2/users/org_id' do
51
+ expect(@instance).to receive(:get).with(
52
+ '/api/v2/organizations/org_id'
53
+ )
54
+ expect { @instance.organization('org_id') }.not_to raise_error
55
+ end
56
+
57
+ it 'is expected to raise an exception when the organization ID is empty' do
58
+ expect { @instance.organization(nil) }.to raise_exception(Auth0::MissingOrganizationId)
59
+ end
60
+ end
61
+
62
+ context '.create_organization' do
63
+ it 'is expected to respond to a create_organization method' do
64
+ expect(@instance).to respond_to(:create_organization)
65
+ end
66
+
67
+ it 'is expected to post to /api/v2/organizations' do
68
+ expect(@instance).to receive(:post).with(
69
+ '/api/v2/organizations',
70
+ name: 'test_org'
71
+ )
72
+ expect do
73
+ @instance.create_organization(
74
+ name: 'test_org'
75
+ )
76
+ end.not_to raise_error
77
+ end
78
+ end
79
+
80
+ context '.delete_organization' do
81
+ it 'is expected to respond to a delete_organization method' do
82
+ expect(@instance).to respond_to :delete_organization
83
+ end
84
+
85
+ it 'is expected to call delete to /api/v2/organizations/org_id' do
86
+ expect(@instance).to receive(:delete).with('/api/v2/organizations/org_id')
87
+ expect { @instance.delete_organization('org_id') }.not_to raise_error
88
+ end
89
+
90
+ it 'is expected not to delete /api/v2/organizations if organization_id is blank' do
91
+ expect(@instance).not_to receive(:delete)
92
+ expect { @instance.delete_organization(nil) }.to raise_exception(
93
+ Auth0::MissingOrganizationId
94
+ )
95
+ end
96
+ end
97
+
98
+ context '.organization_by_name' do
99
+ it 'is expected to respond to a user method' do
100
+ expect(@instance).to respond_to(:organization_by_name)
101
+ end
102
+
103
+ it 'is expected to call get request to /api/v2/users/org_id' do
104
+ expect(@instance).to receive(:get).with(
105
+ '/api/v2/organizations/name/org_id'
106
+ )
107
+ expect { @instance.organization_by_name('org_id') }.not_to raise_error
108
+ end
109
+
110
+ it 'is expected to raise an exception when the organization ID is empty' do
111
+ expect { @instance.organization_by_name(nil) }.to raise_exception(Auth0::InvalidParameter)
112
+ end
113
+ end
114
+
115
+
116
+ context '.patch_organization' do
117
+ it 'is expected to respond to a patch_organization method' do
118
+ expect(@instance).to respond_to(:patch_organization)
119
+ end
120
+
121
+ it 'is expected to respond to a update_organization method' do
122
+ expect(@instance).to respond_to(:update_organization)
123
+ end
124
+
125
+ it 'is expected to patch /api/v2/organizations/org_id' do
126
+ expect(@instance).to receive(:patch).with(
127
+ '/api/v2/organizations/org_id',
128
+ name: 'name'
129
+ )
130
+ @instance.patch_organization(
131
+ 'org_id',
132
+ name: 'name'
133
+ )
134
+ end
135
+
136
+ it 'is expected to raise an exception when the organization id is empty' do
137
+ expect { @instance.patch_organization(nil, 'BODY') }.to raise_exception(Auth0::MissingOrganizationId)
138
+ end
139
+
140
+ it 'is expected to raise an error when the body is empty' do
141
+ expect { @instance.patch_organization('org_id', nil) }.to raise_error 'Must supply a valid body'
142
+ end
143
+ end
144
+
145
+ context '.get_organizations_enabled_connections' do
146
+ it 'is expected to respond to a get_organizations_enabled_connections method' do
147
+ expect(@instance).to respond_to(:get_organizations_enabled_connections)
148
+ end
149
+
150
+ it 'is expected to raise an exception when the org ID is empty' do
151
+ expect { @instance.get_organizations_enabled_connections(nil) }.to raise_exception(Auth0::MissingOrganizationId)
152
+ end
153
+
154
+ it 'is expected to get enabled_connections for an org' do
155
+ expect(@instance).to receive(:get).with(
156
+ '/api/v2/organizations/org_id/enabled_connections'
157
+ )
158
+ expect { @instance.get_organizations_enabled_connections('org_id') }.not_to raise_error
159
+ end
160
+
161
+ it 'is expected to get enabled_connections for an org' do
162
+ expect(@instance).to receive(:get).with(
163
+ '/api/v2/organizations/org_id/enabled_connections'
164
+ )
165
+ expect do
166
+ @instance.get_organizations_enabled_connections('org_id')
167
+ end.not_to raise_error
168
+ end
169
+ end
170
+
171
+ context '.get_organizations_enabled_connection' do
172
+ it 'is expected to respond to a get_organizations_enabled_connection method' do
173
+ expect(@instance).to respond_to(:get_organizations_enabled_connection)
174
+ end
175
+
176
+ it 'is expected to raise an exception when the org ID is empty' do
177
+ expect { @instance.get_organizations_enabled_connection(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
178
+ end
179
+
180
+ it 'is expected to raise an exception when the org ID is empty' do
181
+ expect { @instance.get_organizations_enabled_connection('org_id', nil) }.to raise_exception(Auth0::InvalidParameter)
182
+ end
183
+
184
+ it 'is expected to get enabled connection for an org' do
185
+ expect(@instance).to receive(:get).with(
186
+ '/api/v2/organizations/org_id/enabled_connections/connection_id'
187
+ )
188
+ expect { @instance.get_organizations_enabled_connection('org_id', 'connection_id') }.not_to raise_error
189
+ end
190
+
191
+ it 'is expected to get enabled connection for an org' do
192
+ expect(@instance).to receive(:get).with(
193
+ '/api/v2/organizations/org_id/enabled_connections/connection_id'
194
+ )
195
+ expect do
196
+ @instance.get_organizations_enabled_connection('org_id', 'connection_id')
197
+ end.not_to raise_error
198
+ end
199
+ end
200
+
201
+ context '.patch_organizations_enabled_connection' do
202
+ it 'is expected to respond to a patch_organizations_enabled_connection method' do
203
+ expect(@instance).to respond_to(:patch_organizations_enabled_connection)
204
+ end
205
+
206
+ it 'is expected to respond to a update_organizations_enabled_connection method' do
207
+ expect(@instance).to respond_to(:update_organizations_enabled_connection)
208
+ end
209
+
210
+ it 'is expected to patch /api/v2/organizations/org_id/enabled_connections/connection_id' do
211
+ expect(@instance).to receive(:patch).with(
212
+ '/api/v2/organizations/org_id/enabled_connections/connection_id',
213
+ {
214
+ assign_membership_on_login: false
215
+ }
216
+ )
217
+ @instance.patch_organizations_enabled_connection(
218
+ 'org_id',
219
+ 'connection_id',
220
+ assign_membership_on_login: false
221
+ )
222
+ end
223
+
224
+ it 'is expected to raise an exception when the organization id is empty' do
225
+ expect { @instance.patch_organizations_enabled_connection(nil, 'BODY') }.to raise_exception(Auth0::MissingOrganizationId)
226
+ end
227
+
228
+ it 'is expected to raise an error when the connection_id is empty' do
229
+ expect { @instance.patch_organizations_enabled_connection('org_id', nil) }.to raise_error 'Must supply a valid connection id'
230
+ end
231
+
232
+ it 'is expected to raise an error when assign_membership_on_login is nil' do
233
+ expect { @instance.patch_organizations_enabled_connection('org_id', 'connection_id') }.to raise_error 'Must supply a valid assign_membership_on_login value'
234
+ end
235
+ end
236
+
237
+ context '.create_organizations_enabled_connection' do
238
+ it 'is expected to respond to a create_organizations_enabled_connection method' do
239
+ expect(@instance).to respond_to(:create_organizations_enabled_connection)
240
+ end
241
+
242
+ it 'is expected to respond to a add_organizations_enabled_connection method' do
243
+ expect(@instance).to respond_to(:add_organizations_enabled_connection)
244
+ end
245
+
246
+ it 'is expected to post /api/v2/organizations/org_id/enabled_connections' do
247
+ expect(@instance).to receive(:post).with(
248
+ '/api/v2/organizations/org_id/enabled_connections',
249
+ {
250
+ connection_id: 'connection_id',
251
+ assign_membership_on_login: true
252
+ }
253
+ )
254
+ @instance.create_organizations_enabled_connection('org_id', 'connection_id', assign_membership_on_login: true)
255
+ end
256
+
257
+ it 'is expected to raise an exception when the organization id is empty' do
258
+ expect { @instance.create_organizations_enabled_connection(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
259
+ end
260
+
261
+ it 'is expected to raise an exception when the connection id is empty' do
262
+ expect { @instance.create_organizations_enabled_connection('123', nil) }.to raise_error 'Must supply a valid connection id'
263
+ end
264
+ end
265
+
266
+ context '.delete_organizations_enabled_connection' do
267
+ it 'is expected to respond to a delete_organizations_enabled_connection method' do
268
+ expect(@instance).to respond_to(:delete_organizations_enabled_connection)
269
+ end
270
+
271
+ it 'is expected to respond to a remove_organizations_enabled_connection method' do
272
+ expect(@instance).to respond_to(:remove_organizations_enabled_connection)
273
+ end
274
+
275
+ it 'is expected to delete /api/v2/organizations/org_id/enabled_connections/connection_id' do
276
+ expect(@instance).to receive(:delete).with(
277
+ '/api/v2/organizations/org_id/enabled_connections/connection_id'
278
+ )
279
+ @instance.delete_organizations_enabled_connection('org_id', 'connection_id')
280
+ end
281
+
282
+ it 'is expected to raise an exception when the organization id is empty' do
283
+ expect { @instance.delete_organizations_enabled_connection(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
284
+ end
285
+
286
+ it 'is expected to raise an exception when the connection id is empty' do
287
+ expect { @instance.delete_organizations_enabled_connection('org_id', nil) }.to raise_error 'Must supply a valid connection id'
288
+ end
289
+ end
290
+
291
+ context '.get_organizations_invites' do
292
+ it 'is expected to respond to a get_organizations_invites method' do
293
+ expect(@instance).to respond_to(:get_organizations_invites)
294
+ end
295
+
296
+ it 'is expected to raise an exception when the org ID is empty' do
297
+ expect { @instance.get_organizations_invites(nil) }.to raise_exception(Auth0::MissingOrganizationId)
298
+ end
299
+
300
+ it 'is expected to get invitations for an org' do
301
+ expect(@instance).to receive(:get).with(
302
+ '/api/v2/organizations/org_id/invitations'
303
+ )
304
+ expect { @instance.get_organizations_invites('org_id') }.not_to raise_error
305
+ end
306
+
307
+ it 'is expected to get invitations for an org' do
308
+ expect(@instance).to receive(:get).with(
309
+ '/api/v2/organizations/org_id/invitations'
310
+ )
311
+ expect do
312
+ @instance.get_organizations_invites('org_id')
313
+ end.not_to raise_error
314
+ end
315
+ end
316
+
317
+ context '.get_organizations_invite' do
318
+ it 'is expected to respond to a get_organizations_invite method' do
319
+ expect(@instance).to respond_to(:get_organizations_invite)
320
+ end
321
+
322
+ it 'is expected to raise an exception when the org ID is empty' do
323
+ expect { @instance.get_organizations_invite(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
324
+ end
325
+
326
+ it 'is expected to raise an exception when the org ID is empty' do
327
+ expect { @instance.get_organizations_invite('org_id', nil) }.to raise_exception(Auth0::InvalidParameter)
328
+ end
329
+
330
+ it 'is expected to get enabled connection for an org' do
331
+ expect(@instance).to receive(:get).with(
332
+ '/api/v2/organizations/org_id/invitations/invite_id'
333
+ )
334
+ expect { @instance.get_organizations_invite('org_id', 'invite_id') }.not_to raise_error
335
+ end
336
+
337
+ it 'is expected to get enabled connection for an org' do
338
+ expect(@instance).to receive(:get).with(
339
+ '/api/v2/organizations/org_id/invitations/invite_id'
340
+ )
341
+ expect do
342
+ @instance.get_organizations_invite('org_id', 'invite_id')
343
+ end.not_to raise_error
344
+ end
345
+ end
346
+
347
+ context '.patch_organizations_enabled_connection' do
348
+ it 'is expected to respond to a patch_organizations_enabled_connection method' do
349
+ expect(@instance).to respond_to(:patch_organizations_enabled_connection)
350
+ end
351
+
352
+ it 'is expected to respond to a update_organizations_enabled_connection method' do
353
+ expect(@instance).to respond_to(:update_organizations_enabled_connection)
354
+ end
355
+
356
+ it 'is expected to patch /api/v2/organizations/org_id/enabled_connections/connection_id' do
357
+ expect(@instance).to receive(:patch).with(
358
+ '/api/v2/organizations/org_id/enabled_connections/connection_id',
359
+ {
360
+ assign_membership_on_login: false
361
+ }
362
+ )
363
+ @instance.patch_organizations_enabled_connection(
364
+ 'org_id',
365
+ 'connection_id',
366
+ assign_membership_on_login: false
367
+ )
368
+ end
369
+
370
+ it 'is expected to raise an exception when the organization id is empty' do
371
+ expect { @instance.patch_organizations_enabled_connection(nil, 'BODY') }.to raise_exception(Auth0::MissingOrganizationId)
372
+ end
373
+
374
+ it 'is expected to raise an error when the connection_id is empty' do
375
+ expect { @instance.patch_organizations_enabled_connection('org_id', nil) }.to raise_error 'Must supply a valid connection id'
376
+ end
377
+
378
+ it 'is expected to raise an error when assign_membership_on_login is nil' do
379
+ expect { @instance.patch_organizations_enabled_connection('org_id', 'connection_id') }.to raise_error 'Must supply a valid assign_membership_on_login value'
380
+ end
381
+ end
382
+
383
+ context '.create_organizations_invite' do
384
+ it 'is expected to respond to a create_organizations_invite method' do
385
+ expect(@instance).to respond_to(:create_organizations_invite)
386
+ end
387
+
388
+ it 'is expected to respond to a add_organizations_invite method' do
389
+ expect(@instance).to respond_to(:add_organizations_invite)
390
+ end
391
+
392
+ it 'is expected to post /api/v2/organizations/org_id/invitations' do
393
+ expect(@instance).to receive(:post).with(
394
+ '/api/v2/organizations/org_id/invitations',
395
+ {
396
+ ttl_sec: 60000
397
+ }
398
+ )
399
+ @instance.create_organizations_invite('org_id', ttl_sec: 60000)
400
+ end
401
+
402
+ it 'is expected to raise an exception when the organization id is empty' do
403
+ expect { @instance.create_organizations_invite(nil) }.to raise_exception(Auth0::MissingOrganizationId)
404
+ end
405
+ end
406
+
407
+ context '.delete_organizations_invite' do
408
+ it 'is expected to respond to a delete_organizations_invite method' do
409
+ expect(@instance).to respond_to(:delete_organizations_invite)
410
+ end
411
+
412
+ it 'is expected to respond to a remove_organizations_invite method' do
413
+ expect(@instance).to respond_to(:remove_organizations_invite)
414
+ end
415
+
416
+ it 'is expected to delete /api/v2/organizations/org_id/invitations/invite_id' do
417
+ expect(@instance).to receive(:delete).with(
418
+ '/api/v2/organizations/org_id/invitations/invite_id'
419
+ )
420
+ @instance.delete_organizations_invite('org_id', 'invite_id')
421
+ end
422
+
423
+ it 'is expected to raise an exception when the organization id is empty' do
424
+ expect { @instance.delete_organizations_invite(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
425
+ end
426
+
427
+ it 'is expected to raise an exception when the invitation id is empty' do
428
+ expect { @instance.delete_organizations_invite('org_id', nil) }.to raise_error 'Must supply a valid invitation id'
429
+ end
430
+ end
431
+
432
+ context '.get_organizations_members' do
433
+ it 'is expected to respond to a get_organizations_members method' do
434
+ expect(@instance).to respond_to(:get_organizations_members)
435
+ end
436
+
437
+ it 'is expected to raise an exception when the org ID is empty' do
438
+ expect { @instance.get_organizations_members(nil) }.to raise_exception(Auth0::MissingOrganizationId)
439
+ end
440
+
441
+ it 'is expected to get invitations for an org' do
442
+ expect(@instance).to receive(:get).with(
443
+ '/api/v2/organizations/org_id/members'
444
+ )
445
+ expect { @instance.get_organizations_members('org_id') }.not_to raise_error
446
+ end
447
+
448
+ it 'is expected to get members for an org' do
449
+ expect(@instance).to receive(:get).with(
450
+ '/api/v2/organizations/org_id/members'
451
+ )
452
+ expect do
453
+ @instance.get_organizations_members('org_id')
454
+ end.not_to raise_error
455
+ end
456
+ end
457
+
458
+ context '.create_organizations_members' do
459
+ it 'is expected to respond to a create_organizations_members method' do
460
+ expect(@instance).to respond_to(:create_organizations_members)
461
+ end
462
+
463
+ it 'is expected to respond to a add_organizations_members method' do
464
+ expect(@instance).to respond_to(:add_organizations_members)
465
+ end
466
+
467
+ it 'is expected to post /api/v2/organizations/org_id/members' do
468
+ expect(@instance).to receive(:post).with(
469
+ '/api/v2/organizations/org_id/members',
470
+ {
471
+ members: ['123', '456']
472
+ }
473
+ )
474
+ @instance.create_organizations_members('org_id', ['123', '456'])
475
+ end
476
+
477
+ it 'is expected to raise an exception when the organization id is empty' do
478
+ expect { @instance.create_organizations_members(nil) }.to raise_exception(Auth0::MissingOrganizationId)
479
+ end
480
+ end
481
+
482
+ context '.delete_organizations_members' do
483
+ it 'is expected to respond to a delete_organizations_members method' do
484
+ expect(@instance).to respond_to(:delete_organizations_members)
485
+ end
486
+
487
+ it 'is expected to respond to a remove_organizations_members method' do
488
+ expect(@instance).to respond_to(:remove_organizations_members)
489
+ end
490
+
491
+ it 'is expected to delete /api/v2/organizations/org_id/members' do
492
+ expect(@instance).to receive(:delete).with(
493
+ '/api/v2/organizations/org_id/members', {
494
+ members: ['123', '456']
495
+ }
496
+ )
497
+ @instance.delete_organizations_members('org_id', ['123', '456'])
498
+ end
499
+
500
+ it 'is expected to raise an exception when the organization id is empty' do
501
+ expect { @instance.delete_organizations_members(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
502
+ end
503
+
504
+ it 'is expected to raise an exception when the invitation id is empty' do
505
+ expect { @instance.delete_organizations_members('org_id', []) }.to raise_error 'Must supply an array of member ids'
506
+ end
507
+ end
508
+
509
+ context '.get_organizations_member_roles' do
510
+ it 'is expected to respond to a get_organizations_member_roles method' do
511
+ expect(@instance).to respond_to(:get_organizations_member_roles)
512
+ end
513
+
514
+ it 'is expected to raise an exception when the org ID is empty' do
515
+ expect { @instance.get_organizations_member_roles(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
516
+ end
517
+
518
+ it 'is expected to raise an exception when the org ID is empty' do
519
+ expect { @instance.get_organizations_member_roles('org_id', nil) }.to raise_exception(Auth0::InvalidParameter)
520
+ end
521
+
522
+ it 'is expected to get roles for a member in an org' do
523
+ expect(@instance).to receive(:get).with(
524
+ '/api/v2/organizations/org_id/members/user_id/roles'
525
+ )
526
+ expect { @instance.get_organizations_member_roles('org_id', 'user_id') }.not_to raise_error
527
+ end
528
+
529
+ it 'is expected to get members for an org' do
530
+ expect(@instance).to receive(:get).with(
531
+ '/api/v2/organizations/org_id/members/user_id/roles'
532
+ )
533
+ expect do
534
+ @instance.get_organizations_member_roles('org_id', 'user_id')
535
+ end.not_to raise_error
536
+ end
537
+ end
538
+
539
+ context '.create_organizations_member_roles' do
540
+ it 'is expected to respond to a create_organizations_member_roles method' do
541
+ expect(@instance).to respond_to(:create_organizations_member_roles)
542
+ end
543
+
544
+ it 'is expected to respond to a add_organizations_member_roles method' do
545
+ expect(@instance).to respond_to(:add_organizations_member_roles)
546
+ end
547
+
548
+ it 'is expected to post /api/v2/organizations/org_id/members/user_id/roles' do
549
+ expect(@instance).to receive(:post).with(
550
+ '/api/v2/organizations/org_id/members/user_id/roles',
551
+ {
552
+ roles: ['123', '456']
553
+ }
554
+ )
555
+ @instance.create_organizations_member_roles('org_id', 'user_id', ['123', '456'])
556
+ end
557
+
558
+ it 'is expected to raise an exception when the organization id is empty' do
559
+ expect { @instance.create_organizations_member_roles(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
560
+ end
561
+ end
562
+
563
+ context '.delete_organizations_member_roles' do
564
+ it 'is expected to respond to a delete_organizations_member_roles method' do
565
+ expect(@instance).to respond_to(:delete_organizations_member_roles)
566
+ end
567
+
568
+ it 'is expected to respond to a remove_organizations_member_roles method' do
569
+ expect(@instance).to respond_to(:remove_organizations_member_roles)
570
+ end
571
+
572
+ it 'is expected to delete /api/v2/organizations/org_id/members/user_id/roles' do
573
+ expect(@instance).to receive(:delete).with(
574
+ '/api/v2/organizations/org_id/members/user_id/roles', {
575
+ roles: ['123', '456']
576
+ }
577
+ )
578
+ @instance.delete_organizations_member_roles('org_id', 'user_id', ['123', '456'])
579
+ end
580
+
581
+ it 'is expected to raise an exception when the organization id is empty' do
582
+ expect { @instance.delete_organizations_member_roles(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
583
+ end
584
+
585
+ it 'is expected to raise an exception when the invitation id is empty' do
586
+ expect { @instance.delete_organizations_member_roles('org_id', nil, nil) }.to raise_error 'Must supply a valid user id'
587
+ end
588
+
589
+ it 'is expected to raise an exception when the invitation id is empty' do
590
+ expect { @instance.delete_organizations_member_roles('org_id', 'user_id') }.to raise_error 'Must supply an array of role ids'
591
+ end
592
+ end
593
+ end