auth0 5.6.1 → 5.8.1

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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +16 -2
  3. data/.github/dependabot.yml +10 -0
  4. data/.github/workflows/semgrep.yml +28 -0
  5. data/.gitignore +0 -1
  6. data/CHANGELOG.md +43 -1
  7. data/Gemfile +1 -0
  8. data/Gemfile.lock +241 -0
  9. data/README.md +1 -1
  10. data/auth0.gemspec +1 -1
  11. data/lib/auth0/api/authentication_endpoints.rb +1 -1
  12. data/lib/auth0/api/v2/attack_protection.rb +79 -0
  13. data/lib/auth0/api/v2/device_credentials.rb +8 -3
  14. data/lib/auth0/api/v2/organizations.rb +2 -2
  15. data/lib/auth0/api/v2.rb +2 -0
  16. data/lib/auth0/mixins/validation.rb +4 -4
  17. data/lib/auth0/version.rb +1 -1
  18. data/spec/lib/auth0/api/v2/actions_spec.rb +13 -13
  19. data/spec/lib/auth0/api/v2/attack_protection_spec.rb +132 -0
  20. data/spec/lib/auth0/api/v2/blacklists_spec.rb +2 -2
  21. data/spec/lib/auth0/api/v2/branding_spec.rb +4 -3
  22. data/spec/lib/auth0/api/v2/client_grants_spec.rb +8 -8
  23. data/spec/lib/auth0/api/v2/clients_spec.rb +12 -12
  24. data/spec/lib/auth0/api/v2/connections_spec.rb +10 -10
  25. data/spec/lib/auth0/api/v2/device_credentials_spec.rb +39 -10
  26. data/spec/lib/auth0/api/v2/emails_spec.rb +2 -2
  27. data/spec/lib/auth0/api/v2/grants_spec.rb +10 -10
  28. data/spec/lib/auth0/api/v2/jobs_spec.rb +18 -17
  29. data/spec/lib/auth0/api/v2/log_streams_spec.rb +3 -3
  30. data/spec/lib/auth0/api/v2/logs_spec.rb +2 -2
  31. data/spec/lib/auth0/api/v2/organizations_spec.rb +14 -14
  32. data/spec/lib/auth0/api/v2/resource_servers_spec.rb +5 -5
  33. data/spec/lib/auth0/api/v2/roles_spec.rb +22 -22
  34. data/spec/lib/auth0/api/v2/rules_spec.rb +7 -7
  35. data/spec/lib/auth0/api/v2/stats_spec.rb +1 -1
  36. data/spec/lib/auth0/api/v2/tenants_spec.rb +1 -1
  37. data/spec/lib/auth0/api/v2/tickets_spec.rb +14 -14
  38. data/spec/lib/auth0/api/v2/user_blocks_spec.rb +2 -2
  39. data/spec/lib/auth0/api/v2/users_by_email_spec.rb +2 -2
  40. data/spec/lib/auth0/api/v2/users_spec.rb +23 -23
  41. data/spec/lib/auth0/mixins/validation_spec.rb +16 -2
  42. metadata +11 -5
@@ -17,14 +17,14 @@ describe Auth0::Api::V2::Actions do
17
17
 
18
18
  it 'is expected to get /api/v2/actions with custom parameters' do
19
19
  expect(@instance).to receive(:get).with(
20
- '/api/v2/actions/actions',
20
+ '/api/v2/actions/actions', {
21
21
  trigger_id: 'post-login',
22
22
  action_name: 'loginHandler',
23
23
  deployed: true,
24
24
  per_page: 10,
25
25
  page: 1,
26
26
  installed: true
27
- )
27
+ })
28
28
  expect do
29
29
  @instance.actions(
30
30
  'post-login',
@@ -71,9 +71,9 @@ describe Auth0::Api::V2::Actions do
71
71
 
72
72
  it 'is expected to post to /api/v2/actions' do
73
73
  expect(@instance).to receive(:post).with(
74
- '/api/v2/actions',
74
+ '/api/v2/actions', {
75
75
  name: 'test_org'
76
- )
76
+ })
77
77
  expect do
78
78
  @instance.create_action(
79
79
  name: 'test_org'
@@ -141,10 +141,10 @@ describe Auth0::Api::V2::Actions do
141
141
 
142
142
  it 'is expected to call get request to /api/v2/actions/actions/{id}/versions' do
143
143
  expect(@instance).to receive(:get).with(
144
- '/api/v2/actions/actions/123/versions',
144
+ '/api/v2/actions/actions/123/versions', {
145
145
  per_page: nil,
146
146
  page: nil
147
- )
147
+ })
148
148
  expect { @instance.actions_versions('123') }.not_to raise_error
149
149
  end
150
150
 
@@ -154,10 +154,10 @@ describe Auth0::Api::V2::Actions do
154
154
 
155
155
  it 'is expected to get /api/v2/actions/actions/{id}/versions with custom parameters' do
156
156
  expect(@instance).to receive(:get).with(
157
- '/api/v2/actions/actions/123/versions',
157
+ '/api/v2/actions/actions/123/versions', {
158
158
  per_page: 10,
159
159
  page: 1
160
- )
160
+ })
161
161
  expect do
162
162
  @instance.actions_versions(
163
163
  '123',
@@ -176,10 +176,10 @@ describe Auth0::Api::V2::Actions do
176
176
 
177
177
  it 'is expected to call get request to /api/v2/actions/triggers/{id}/bindings' do
178
178
  expect(@instance).to receive(:get).with(
179
- '/api/v2/actions/triggers/123/bindings',
179
+ '/api/v2/actions/triggers/123/bindings', {
180
180
  per_page: nil,
181
181
  page: nil
182
- )
182
+ })
183
183
  expect { @instance.trigger_bindings('123') }.not_to raise_error
184
184
  end
185
185
 
@@ -189,10 +189,10 @@ describe Auth0::Api::V2::Actions do
189
189
 
190
190
  it 'is expected to get /api/v2/actions/triggers/{id}/bindings with custom parameters' do
191
191
  expect(@instance).to receive(:get).with(
192
- '/api/v2/actions/triggers/123/bindings',
192
+ '/api/v2/actions/triggers/123/bindings', {
193
193
  per_page: 10,
194
194
  page: 1
195
- )
195
+ })
196
196
  expect do
197
197
  @instance.trigger_bindings(
198
198
  '123',
@@ -278,7 +278,7 @@ describe Auth0::Api::V2::Actions do
278
278
  it 'is expected to post to /api/v2/actions/{id}/test' do
279
279
  expect(@instance).to receive(:post).with(
280
280
  '/api/v2/actions/actions/123/test',
281
- name: 'test_org'
281
+ { name: 'test_org' }
282
282
  )
283
283
  expect do
284
284
  @instance.test_action(
@@ -0,0 +1,132 @@
1
+ require 'spec_helper'
2
+
3
+ describe Auth0::Api::V2::AttackProtection do
4
+ before :all do
5
+ dummy_instance = DummyClass.new
6
+ dummy_instance.extend(Auth0::Api::V2::AttackProtection)
7
+ @instance = dummy_instance
8
+ end
9
+
10
+ context '.get breached-password-detection' do
11
+ it 'responds to a breached_password_detection method' do
12
+ expect(@instance).to respond_to(:breached_password_detection)
13
+ end
14
+
15
+ it 'responds to get_breached_password_detection_settings' do
16
+ expect(@instance).to respond_to(:get_breached_password_detection_settings)
17
+ end
18
+
19
+ it 'is expected to get /api/v2/attack-protection/breached-password' do
20
+ expect(@instance).to receive(:get).with(
21
+ '/api/v2/attack-protection/breached-password-detection'
22
+ )
23
+
24
+ expect { @instance.breached_password_detection }.not_to raise_error
25
+ end
26
+ end
27
+
28
+ context '.patch breached-password-detection' do
29
+ it 'responds to a patch_breached_password_detection method' do
30
+ expect(@instance).to respond_to(:patch_breached_password_detection)
31
+ end
32
+
33
+ it 'responds to a update_breached_password_detection_settings method' do
34
+ expect(@instance).to respond_to(:update_breached_password_detection_settings)
35
+ end
36
+
37
+ it 'is expected to patch /api/v2/attack-protection/breached-password-detection' do
38
+ expect(@instance).to receive(:patch).with(
39
+ '/api/v2/attack-protection/breached-password-detection',
40
+ {
41
+ enabled: true
42
+ }
43
+ )
44
+
45
+ @instance.patch_breached_password_detection({
46
+ enabled: true
47
+ })
48
+ end
49
+ end
50
+
51
+ context '.get brute_force_protection' do
52
+ it 'responds to brute_force_protection' do
53
+ expect(@instance).to respond_to(:brute_force_protection)
54
+ end
55
+
56
+ it 'responds to get_brute_force_protection_settings' do
57
+ expect(@instance).to respond_to(:get_brute_force_protection_settings)
58
+ end
59
+
60
+ it 'is expected to get /api/v2/attack-protection/brute-force-protection' do
61
+ expect(@instance).to receive(:get).with(
62
+ '/api/v2/attack-protection/brute-force-protection'
63
+ )
64
+
65
+ expect { @instance.brute_force_protection }.not_to raise_error
66
+ end
67
+ end
68
+
69
+ context '.patch brute-force-protection' do
70
+ it 'responds to patch_brute-force-protection' do
71
+ expect(@instance).to respond_to(:patch_brute_force_protection)
72
+ end
73
+
74
+ it 'responds to update_brute_force_protection_settings' do
75
+ expect(@instance).to respond_to(:update_brute_force_protection_settings)
76
+ end
77
+
78
+ it 'is expected to respond to patch /api/v2/attack-protection/brute-force-protection' do
79
+ expect(@instance).to receive(:patch).with(
80
+ '/api/v2/attack-protection/brute-force-protection',
81
+ {
82
+ enabled: true
83
+ }
84
+ )
85
+
86
+ @instance.patch_brute_force_protection({
87
+ enabled: true
88
+ })
89
+ end
90
+ end
91
+
92
+ context '.get suspicious-ip-throttling' do
93
+ it 'responds to suspicious_ip_throttling' do
94
+ expect(@instance).to respond_to(:suspicious_ip_throttling)
95
+ end
96
+
97
+ it 'responds to get_suspicious_ip_throttling_settings' do
98
+ expect(@instance).to respond_to(:get_suspicious_ip_throttling_settings)
99
+ end
100
+
101
+ it 'is expected to get /api/v2/attack-protection/suspicious-ip-throttling' do
102
+ expect(@instance).to receive(:get).with(
103
+ '/api/v2/attack-protection/suspicious-ip-throttling'
104
+ )
105
+
106
+ expect { @instance.suspicious_ip_throttling }.not_to raise_error
107
+ end
108
+ end
109
+
110
+ context '.patch suspicious-ip-throttling' do
111
+ it 'responds to patch_suspicious_ip_throttling' do
112
+ expect(@instance).to respond_to(:patch_suspicious_ip_throttling)
113
+ end
114
+
115
+ it 'responds to update_suspicious_ip_throttling_settings' do
116
+ expect(@instance).to respond_to(:update_suspicious_ip_throttling_settings)
117
+ end
118
+
119
+ it 'is expected to patch /api/v2/attack-protection/suspicious-ip-throttling' do
120
+ expect(@instance).to receive(:patch).with(
121
+ '/api/v2/attack-protection/suspicious-ip-throttling',
122
+ {
123
+ enabled: true
124
+ }
125
+ )
126
+
127
+ @instance.patch_suspicious_ip_throttling({
128
+ enabled: true
129
+ })
130
+ end
131
+ end
132
+ end
@@ -9,7 +9,7 @@ describe Auth0::Api::V2::Blacklists do
9
9
  context '.blacklisted_tokens' do
10
10
  it { expect(@instance).to respond_to(:blacklisted_tokens) }
11
11
  it 'is expected to call /api/v2/blacklists/tokens' do
12
- expect(@instance).to receive(:get).with('/api/v2/blacklists/tokens', aud: nil)
12
+ expect(@instance).to receive(:get).with('/api/v2/blacklists/tokens', { aud: nil })
13
13
  expect { @instance.blacklisted_tokens }.not_to raise_error
14
14
  end
15
15
  end
@@ -17,7 +17,7 @@ describe Auth0::Api::V2::Blacklists do
17
17
  context '.add_token.to_blacklist' do
18
18
  it { expect(@instance).to respond_to(:add_token_to_blacklist) }
19
19
  it 'is expected to call post to /api/v2/blacklists/tokens' do
20
- expect(@instance).to receive(:post).with('/api/v2/blacklists/tokens', aud: 'aud', jti: 'jti')
20
+ expect(@instance).to receive(:post).with('/api/v2/blacklists/tokens', { aud: 'aud', jti: 'jti' })
21
21
  @instance.add_token_to_blacklist('jti', 'aud')
22
22
  end
23
23
  it { expect { @instance.add_token_to_blacklist('', '') }.to raise_error 'Must specify a valid JTI' }
@@ -24,8 +24,9 @@ describe Auth0::Api::V2::Branding do
24
24
  it { expect(@instance).to respond_to(:patch_branding) }
25
25
  it 'is expected to call post /api/v2/branding' do
26
26
  expect(@instance).to receive(:patch).with(
27
- '/api/v2/branding',
28
- template: 'Test'
27
+ '/api/v2/branding', {
28
+ template: 'Test'
29
+ }
29
30
  )
30
31
  expect { @instance.patch_branding({ template: 'Test' }) }.not_to raise_error
31
32
  end
@@ -52,7 +53,7 @@ describe Auth0::Api::V2::Branding do
52
53
  it { expect(@instance).to respond_to(:put_branding_templates_for_universal_login) }
53
54
  it 'is expected to call put /api/v2/branding/templates/universal-login' do
54
55
  expect(@instance).to receive(:put).with(
55
- '/api/v2/branding/templates/universal-login', template: 'Template'
56
+ '/api/v2/branding/templates/universal-login', { template: 'Template' }
56
57
  )
57
58
  expect do
58
59
  @instance.put_branding_templates_for_universal_login(template: 'Template')
@@ -12,12 +12,12 @@ describe Auth0::Api::V2::ClientGrants do
12
12
 
13
13
  it 'is expected to get /api/v2/client-grants/' do
14
14
  expect(@instance).to receive(:get).with(
15
- '/api/v2/client-grants',
15
+ '/api/v2/client-grants', {
16
16
  client_id: nil,
17
17
  audience: nil,
18
18
  page: nil,
19
19
  per_page: nil
20
- )
20
+ })
21
21
  expect { @instance.client_grants }.not_to raise_error
22
22
  end
23
23
 
@@ -25,23 +25,23 @@ describe Auth0::Api::V2::ClientGrants do
25
25
  audience = "https://samples.auth0.com/api/v2/"
26
26
 
27
27
  expect(@instance).to receive(:get).with(
28
- '/api/v2/client-grants',
28
+ '/api/v2/client-grants', {
29
29
  client_id: '1',
30
30
  audience: audience,
31
31
  page: nil,
32
32
  per_page: nil
33
- )
34
- expect { @instance.client_grants(client_id: '1', audience: audience) }.not_to raise_error
33
+ })
34
+ expect { @instance.client_grants(client_id: '1', audience: audience ) }.not_to raise_error
35
35
  end
36
36
 
37
37
  it 'is expected to send get /api/v2/client-grants/ with pagination' do
38
38
  expect(@instance).to receive(:get).with(
39
- '/api/v2/client-grants',
39
+ '/api/v2/client-grants', {
40
40
  client_id: nil,
41
41
  audience: nil,
42
42
  page: 1,
43
43
  per_page: 2
44
- )
44
+ })
45
45
  expect { @instance.client_grants(page: 1, per_page: 2) }.not_to raise_error
46
46
  end
47
47
  end
@@ -49,7 +49,7 @@ describe Auth0::Api::V2::ClientGrants do
49
49
  context '.create_client_grant' do
50
50
  it { expect(@instance).to respond_to(:create_client_grant) }
51
51
  it 'is expected to send post to /api/v2/client-grants' do
52
- expect(@instance).to receive(:post).with('/api/v2/client-grants', opt: 'test body')
52
+ expect(@instance).to receive(:post).with('/api/v2/client-grants', { opt: 'test body' })
53
53
  expect { @instance.create_client_grant(opt: 'test body') }.not_to raise_error
54
54
  end
55
55
  end
@@ -12,23 +12,23 @@ describe Auth0::Api::V2::Clients do
12
12
 
13
13
  it 'is expected to send get request to the Clients endpoint' do
14
14
  expect(@instance).to receive(:get).with(
15
- '/api/v2/clients',
15
+ '/api/v2/clients', {
16
16
  fields: nil,
17
17
  include_fields: nil,
18
18
  page: nil,
19
19
  per_page: nil
20
- )
20
+ })
21
21
  expect { @instance.clients }.not_to raise_error
22
22
  end
23
23
 
24
24
  it 'is expected to send get request to the Clients endpoint with a name parameter' do
25
25
  expect(@instance).to receive(:get).with(
26
- '/api/v2/clients',
26
+ '/api/v2/clients', {
27
27
  include_fields: true,
28
28
  fields: 'name',
29
29
  page: nil,
30
30
  per_page: nil
31
- )
31
+ })
32
32
  expect {
33
33
  @instance.clients(fields: 'name', include_fields: true)
34
34
  }.not_to raise_error
@@ -36,12 +36,12 @@ describe Auth0::Api::V2::Clients do
36
36
 
37
37
  it 'is expected to send get request to Clients endpoint using an array of fields' do
38
38
  expect(@instance).to receive(:get).with(
39
- '/api/v2/clients',
39
+ '/api/v2/clients', {
40
40
  include_fields: true,
41
41
  fields: 'name,app_type',
42
42
  page: nil,
43
43
  per_page: nil
44
- )
44
+ })
45
45
  expect {
46
46
  @instance.clients(fields: ['name','app_type'], include_fields: true)
47
47
  }.not_to raise_error
@@ -49,12 +49,12 @@ describe Auth0::Api::V2::Clients do
49
49
 
50
50
  it 'is expected to send get request to Clients endpoint with pagination' do
51
51
  expect(@instance).to receive(:get).with(
52
- '/api/v2/clients',
52
+ '/api/v2/clients', {
53
53
  page: 1,
54
54
  per_page: 10,
55
55
  fields: nil,
56
56
  include_fields: nil
57
- )
57
+ })
58
58
  expect {
59
59
  @instance.clients(page: 1, per_page: 10)
60
60
  }.not_to raise_error
@@ -64,11 +64,11 @@ describe Auth0::Api::V2::Clients do
64
64
  context '.client' do
65
65
  it { expect(@instance).to respond_to(:client) }
66
66
  it 'is expected to send get request to /api/v2/clients/1' do
67
- expect(@instance).to receive(:get).with('/api/v2/clients/1', fields: nil, include_fields: nil)
67
+ expect(@instance).to receive(:get).with('/api/v2/clients/1', { fields: nil, include_fields: nil })
68
68
  expect { @instance.client(1) }.not_to raise_error
69
69
  end
70
70
  it 'is expected to send get request to /api/v2/clients?fields=name&include_fields=true' do
71
- expect(@instance).to receive(:get).with('/api/v2/clients/1', include_fields: true, fields: [:name])
71
+ expect(@instance).to receive(:get).with('/api/v2/clients/1', { include_fields: true, fields: [:name] })
72
72
  expect { @instance.client(1, include_fields: true, fields: [:name]) }.not_to raise_error
73
73
  end
74
74
  it { expect { @instance.client('') }.to raise_error 'Must specify a client id' }
@@ -77,7 +77,7 @@ describe Auth0::Api::V2::Clients do
77
77
  context '.create_client' do
78
78
  it { expect(@instance).to respond_to(:create_client) }
79
79
  it 'is expected to send post to /api/v2/clients' do
80
- expect(@instance).to receive(:post).with('/api/v2/clients', name: 'name', opt: 'opt')
80
+ expect(@instance).to receive(:post).with('/api/v2/clients', { name: 'name', opt: 'opt' })
81
81
  expect { @instance.create_client('name', name: '/name1', opt: 'opt') }.not_to raise_error
82
82
  end
83
83
  it { expect { @instance.create_client('') }.to raise_error 'Must specify a valid client name' }
@@ -95,7 +95,7 @@ describe Auth0::Api::V2::Clients do
95
95
  context '.patch_client' do
96
96
  it { expect(@instance).to respond_to(:patch_client) }
97
97
  it 'is expected to send patch to /api/v2/clients/1' do
98
- expect(@instance).to receive(:patch).with('/api/v2/clients/1', fields: 'fields')
98
+ expect(@instance).to receive(:patch).with('/api/v2/clients/1', { fields: 'fields' })
99
99
  expect { @instance.patch_client('1', fields: 'fields') }.not_to raise_error
100
100
  end
101
101
  it { expect { @instance.patch_client('', nil) }.to raise_error 'Must specify a client id' }
@@ -12,27 +12,27 @@ describe Auth0::Api::V2::Connections do
12
12
 
13
13
  it 'is expected to call /api/v2/connections' do
14
14
  expect(@instance).to receive(:get).with(
15
- '/api/v2/connections',
15
+ '/api/v2/connections', {
16
16
  strategy: nil,
17
17
  name: nil,
18
18
  fields: nil,
19
19
  include_fields: nil,
20
20
  page: nil,
21
21
  per_page: nil
22
- )
22
+ })
23
23
  expect { @instance.connections }.not_to raise_error
24
24
  end
25
25
 
26
26
  it 'is expected to send get request to /api/v2/connections?fields=name' do
27
27
  expect(@instance).to receive(:get).with(
28
- '/api/v2/connections',
28
+ '/api/v2/connections', {
29
29
  include_fields: true,
30
30
  fields: 'name',
31
31
  strategy: nil,
32
32
  name: nil,
33
33
  page: nil,
34
34
  per_page: nil
35
- )
35
+ })
36
36
  expect {
37
37
  @instance.connections(fields: 'name', include_fields: true)
38
38
  }.not_to raise_error
@@ -40,14 +40,14 @@ describe Auth0::Api::V2::Connections do
40
40
 
41
41
  it 'is expected to convert fields param from Array to string' do
42
42
  expect(@instance).to receive(:get).with(
43
- '/api/v2/connections',
43
+ '/api/v2/connections', {
44
44
  include_fields: true,
45
45
  fields: 'name,strategy',
46
46
  strategy: nil,
47
47
  name: nil,
48
48
  page: nil,
49
49
  per_page: nil
50
- )
50
+ })
51
51
  expect {
52
52
  @instance.connections(fields: ['name','strategy'], include_fields: true)
53
53
  }.not_to raise_error
@@ -55,14 +55,14 @@ describe Auth0::Api::V2::Connections do
55
55
 
56
56
  it 'is expected to add pagination' do
57
57
  expect(@instance).to receive(:get).with(
58
- '/api/v2/connections',
58
+ '/api/v2/connections', {
59
59
  page: 1,
60
60
  per_page: 10,
61
61
  strategy: nil,
62
62
  name: nil,
63
63
  fields: nil,
64
64
  include_fields: nil
65
- )
65
+ })
66
66
  expect {
67
67
  @instance.connections(page: 1, per_page: 10)
68
68
  }.not_to raise_error
@@ -88,7 +88,7 @@ describe Auth0::Api::V2::Connections do
88
88
  context '.connection' do
89
89
  it { expect(@instance).to respond_to(:connection) }
90
90
  it 'is expected to call get request to /api/v2/connection/connectionId' do
91
- expect(@instance).to receive(:get).with('/api/v2/connections/connectionId', fields: nil, include_fields: true)
91
+ expect(@instance).to receive(:get).with('/api/v2/connections/connectionId', { fields: nil, include_fields: true })
92
92
  expect { @instance.connection('connectionId') }.not_to raise_error
93
93
  end
94
94
  it 'is expected raise an error when calling with empty id' do
@@ -113,7 +113,7 @@ describe Auth0::Api::V2::Connections do
113
113
  context '.delete_connection_user' do
114
114
  it { expect(@instance).to respond_to(:delete_connection_user) }
115
115
  it 'is expected to call delete to /api/v2/connections/connectionId/users' do
116
- expect(@instance).to receive(:delete).with('/api/v2/connections/connectionId/users', email: 'email@test.com')
116
+ expect(@instance).to receive(:delete).with('/api/v2/connections/connectionId/users', { email: 'email@test.com' })
117
117
  @instance.delete_connection_user('connectionId', 'email@test.com')
118
118
  end
119
119
 
@@ -1,29 +1,58 @@
1
1
  require 'spec_helper'
2
2
  describe Auth0::Api::V2::DeviceCredentials do
3
- attr_reader :client_id
4
-
5
3
  before :all do
6
4
  dummy_instance = DummyClass.new
7
5
  dummy_instance.extend(Auth0::Api::V2::DeviceCredentials)
8
6
  @instance = dummy_instance
9
- @client_id = Faker::Lorem.word
10
7
  end
11
8
  context '.device_credentials' do
12
9
  it { expect(@instance).to respond_to(:device_credentials) }
13
10
  it { expect(@instance).to respond_to(:list_device_credentials) }
14
- it 'is expected to send get request to /api/v2/device-credentials' do
11
+ it 'is expected to send get request with no parameters to /api/v2/device-credentials' do
12
+ expect(@instance).to receive(:get).with(
13
+ '/api/v2/device-credentials', {
14
+ fields: nil,
15
+ include_fields: nil,
16
+ user_id: nil,
17
+ client_id: nil,
18
+ type: nil,
19
+ page: nil,
20
+ per_page: nil,
21
+ include_totals: nil
22
+ })
23
+ expect { @instance.device_credentials }.not_to raise_error
24
+ end
25
+ it 'is expected to send get request with client_id to /api/v2/device-credentials' do
26
+ client_id = Faker::Lorem.word
15
27
  expect(@instance).to receive(:get).with(
16
- '/api/v2/device-credentials',
28
+ '/api/v2/device-credentials', {
17
29
  fields: nil,
18
30
  include_fields: nil,
19
31
  user_id: nil,
20
32
  client_id: client_id,
21
- type: nil
22
- )
33
+ type: nil,
34
+ page: nil,
35
+ per_page: nil,
36
+ include_totals: nil
37
+ })
23
38
  expect { @instance.device_credentials(client_id) }.not_to raise_error
24
39
  end
40
+ it 'is expected to send get request with options to /api/v2/device-credentials' do
41
+ expect(@instance).to receive(:get).with(
42
+ '/api/v2/device-credentials', {
43
+ fields: 'name',
44
+ include_fields: true,
45
+ user_id: '1',
46
+ client_id: 'client_id',
47
+ type: 'rotating_refresh_token',
48
+ page: 1,
49
+ per_page: 10,
50
+ include_totals: true
51
+ })
52
+ expect { @instance.device_credentials('client_id', fields: 'name', include_fields: true, user_id: '1', type: 'rotating_refresh_token', page: 1, per_page: 10, include_totals: true) }.not_to raise_error
53
+ end
25
54
  it 'is expect to raise an error when type is not one of \'public_key\', \'refresh_token\', \'rotating_refresh_token\'' do
26
- expect { @instance.device_credentials(client_id, type: 'invalid_type') }.to raise_error(
55
+ expect { @instance.device_credentials('client_id', type: 'invalid_type') }.to raise_error(
27
56
  'Type must be one of \'public_key\', \'refresh_token\', \'rotating_refresh_token\''
28
57
  )
29
58
  end
@@ -34,13 +63,13 @@ describe Auth0::Api::V2::DeviceCredentials do
34
63
  it { expect(@instance).to respond_to(:create_device_public_key) }
35
64
  it 'is expected to send post to /api/v2/device-credentials' do
36
65
  expect(@instance).to receive(:post).with(
37
- '/api/v2/device-credentials',
66
+ '/api/v2/device-credentials', {
38
67
  device_name: 'device_name',
39
68
  value: 'value',
40
69
  device_id: 'device_id',
41
70
  client_id: 'client_id',
42
71
  type: 'public_key'
43
- )
72
+ })
44
73
  expect { @instance.create_device_credential('device_name', 'value', 'device_id', 'client_id') }
45
74
  .not_to raise_error
46
75
  end
@@ -9,11 +9,11 @@ describe Auth0::Api::V2::Emails do
9
9
  context '.get_email' do
10
10
  it { expect(@instance).to respond_to(:get_provider) }
11
11
  it 'expect client to send get to /api/v2/emails/provider with fields' do
12
- expect(@instance).to receive(:get).with('/api/v2/emails/provider', fields: 'some', include_fields: true)
12
+ expect(@instance).to receive(:get).with('/api/v2/emails/provider', { fields: 'some', include_fields: true })
13
13
  expect { @instance.get_provider(fields: 'some', include_fields: true) }.not_to raise_error
14
14
  end
15
15
  it 'expect client to send get to /api/v2/emails/provider with empty fields' do
16
- expect(@instance).to receive(:get).with('/api/v2/emails/provider', fields: nil, include_fields: nil)
16
+ expect(@instance).to receive(:get).with('/api/v2/emails/provider', { fields: nil, include_fields: nil })
17
17
  expect { @instance.get_provider }.not_to raise_error
18
18
  end
19
19
  end
@@ -12,14 +12,14 @@ describe Auth0::Api::V2::Grants do
12
12
 
13
13
  it 'is expected to get /api/v2/grants/' do
14
14
  expect(@instance).to receive(:get).with(
15
- '/api/v2/grants',
15
+ '/api/v2/grants', {
16
16
  client_id: nil,
17
17
  user_id: nil,
18
18
  audience: nil,
19
19
  page: nil,
20
20
  per_page: nil,
21
21
  include_totals: nil
22
- )
22
+ })
23
23
  expect { @instance.grants }.not_to raise_error
24
24
  end
25
25
 
@@ -27,53 +27,53 @@ describe Auth0::Api::V2::Grants do
27
27
  audience = "https://samples.auth0.com/api/v2/"
28
28
 
29
29
  expect(@instance).to receive(:get).with(
30
- '/api/v2/grants',
30
+ '/api/v2/grants', {
31
31
  client_id: '1',
32
32
  user_id: nil,
33
33
  audience: audience,
34
34
  page: nil,
35
35
  per_page: nil,
36
36
  include_totals: nil
37
- )
37
+ })
38
38
  expect { @instance.grants(client_id: '1', audience: audience) }.not_to raise_error
39
39
  end
40
40
 
41
41
  it 'is expected to send get /api/v2/grants/ with client_id and user_id' do
42
42
  expect(@instance).to receive(:get).with(
43
- '/api/v2/grants',
43
+ '/api/v2/grants', {
44
44
  client_id: '1',
45
45
  user_id: '1',
46
46
  audience: nil,
47
47
  page: nil,
48
48
  per_page: nil,
49
49
  include_totals: nil
50
- )
50
+ })
51
51
  expect { @instance.grants(client_id: '1', user_id: '1') }.not_to raise_error
52
52
  end
53
53
 
54
54
  it 'is expected to send get /api/v2/grants/ with pagination' do
55
55
  expect(@instance).to receive(:get).with(
56
- '/api/v2/grants',
56
+ '/api/v2/grants', {
57
57
  client_id: nil,
58
58
  user_id: nil,
59
59
  audience: nil,
60
60
  page: 1,
61
61
  per_page: 2,
62
62
  include_totals: nil
63
- )
63
+ })
64
64
  expect { @instance.grants(page: 1, per_page: 2) }.not_to raise_error
65
65
  end
66
66
 
67
67
  it 'is expected to send get /api/v2/grants/ with include_totals' do
68
68
  expect(@instance).to receive(:get).with(
69
- '/api/v2/grants',
69
+ '/api/v2/grants', {
70
70
  client_id: nil,
71
71
  user_id: nil,
72
72
  audience: nil,
73
73
  page: 1,
74
74
  per_page: 2,
75
75
  include_totals: true
76
- )
76
+ })
77
77
  expect { @instance.grants(page: 1, per_page: 2, include_totals: true) }.not_to raise_error
78
78
  end
79
79
  end