auth0 3.6.1 → 4.0.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 (85) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -0
  3. data/.rubocop.yml +7 -0
  4. data/.rubocop_todo.yml +7 -0
  5. data/.travis.yml +12 -7
  6. data/CHANGELOG.md +10 -0
  7. data/Gemfile +4 -2
  8. data/Guardfile +13 -10
  9. data/LICENSE +2 -2
  10. data/README.md +9 -11
  11. data/Rakefile +33 -7
  12. data/auth0.gemspec +12 -12
  13. data/deploy_documentation.sh +29 -0
  14. data/doc_config/templates/default/fulldoc/html/css/full_list.css +79 -0
  15. data/doc_config/templates/default/fulldoc/html/css/style.css +546 -0
  16. data/doc_config/templates/default/layout/html/breadcrumb.erb +11 -0
  17. data/doc_config/templates/default/layout/html/footer.erb +115 -0
  18. data/doc_config/templates/default/layout/html/headers.erb +17 -0
  19. data/doc_config/templates/default/layout/html/layout.erb +27 -0
  20. data/lib/auth0.rb +5 -5
  21. data/lib/auth0/api/authentication_endpoints.rb +264 -46
  22. data/lib/auth0/api/v1.rb +5 -5
  23. data/lib/auth0/api/v1/clients.rb +7 -7
  24. data/lib/auth0/api/v1/connections.rb +9 -10
  25. data/lib/auth0/api/v1/logs.rb +9 -16
  26. data/lib/auth0/api/v1/rules.rb +5 -5
  27. data/lib/auth0/api/v1/users.rb +28 -27
  28. data/lib/auth0/api/v2.rb +17 -9
  29. data/lib/auth0/api/v2/blacklists.rb +30 -9
  30. data/lib/auth0/api/v2/clients.rb +60 -19
  31. data/lib/auth0/api/v2/connections.rb +63 -10
  32. data/lib/auth0/api/v2/emails.rb +58 -0
  33. data/lib/auth0/api/v2/jobs.rb +44 -7
  34. data/lib/auth0/api/v2/rules.rb +104 -0
  35. data/lib/auth0/api/v2/stats.rb +22 -5
  36. data/lib/auth0/api/v2/tenants.rb +39 -0
  37. data/lib/auth0/api/v2/tickets.rb +58 -0
  38. data/lib/auth0/api/v2/users.rb +128 -39
  39. data/lib/auth0/client.rb +8 -6
  40. data/lib/auth0/exception.rb +29 -23
  41. data/lib/auth0/mixins.rb +12 -10
  42. data/lib/auth0/mixins/httparty_proxy.rb +13 -10
  43. data/lib/auth0/mixins/initializer.rb +25 -27
  44. data/lib/auth0/version.rb +2 -2
  45. data/spec/integration/lib/auth0/api/v1/api_clients_spec.rb +2 -4
  46. data/spec/integration/lib/auth0/api/v1/api_users_spec.rb +25 -32
  47. data/spec/integration/lib/auth0/api/v2/api_blacklist_spec.rb +14 -0
  48. data/spec/integration/lib/auth0/api/v2/api_clients_spec.rb +61 -6
  49. data/spec/integration/lib/auth0/api/v2/api_connections_spec.rb +68 -42
  50. data/spec/integration/lib/auth0/api/v2/api_email_spec.rb +71 -0
  51. data/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb +69 -0
  52. data/spec/integration/lib/auth0/api/v2/api_rules_spec.rb +83 -0
  53. data/spec/integration/lib/auth0/api/v2/api_stats_spec.rb +16 -0
  54. data/spec/integration/lib/auth0/api/v2/api_tenants_spec.rb +37 -0
  55. data/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb +33 -0
  56. data/spec/integration/lib/auth0/api/v2/api_users_spec.rb +88 -36
  57. data/spec/integration/lib/auth0/auth0_client_spec.rb +43 -35
  58. data/spec/lib/auth0/api/authentication_endpoints_spec.rb +253 -47
  59. data/spec/lib/auth0/api/v1/clients_spec.rb +37 -38
  60. data/spec/lib/auth0/api/v1/connections_spec.rb +44 -38
  61. data/spec/lib/auth0/api/v1/logs_spec.rb +24 -24
  62. data/spec/lib/auth0/api/v1/rules_spec.rb +23 -22
  63. data/spec/lib/auth0/api/v1/users_spec.rb +153 -130
  64. data/spec/lib/auth0/api/v2/blacklists_spec.rb +12 -11
  65. data/spec/lib/auth0/api/v2/clients_spec.rb +38 -33
  66. data/spec/lib/auth0/api/v2/connections_spec.rb +59 -34
  67. data/spec/lib/auth0/api/v2/emails_spec.rb +47 -0
  68. data/spec/lib/auth0/api/v2/jobs_spec.rb +24 -10
  69. data/spec/lib/auth0/api/v2/rules_spec.rb +69 -0
  70. data/spec/lib/auth0/api/v2/stats_spec.rb +11 -11
  71. data/spec/lib/auth0/api/v2/tenants_spec.rb +25 -0
  72. data/spec/lib/auth0/api/v2/tickets_spec.rb +31 -0
  73. data/spec/lib/auth0/api/v2/users_spec.rb +101 -39
  74. data/spec/lib/auth0/client_spec.rb +46 -58
  75. data/spec/lib/auth0/mixins/httparty_proxy_spec.rb +98 -69
  76. data/spec/lib/auth0/mixins/initializer_spec.rb +2 -2
  77. data/spec/spec_helper.rb +2 -2
  78. data/spec/spec_helper_full.rb +16 -15
  79. data/spec/spec_helper_unit.rb +5 -5
  80. data/spec/support/credentials.rb +9 -3
  81. data/spec/support/dummy_class.rb +7 -1
  82. data/spec/support/dummy_class_for_proxy.rb +2 -2
  83. data/spec/support/import_users.json +13 -0
  84. data/spec/support/stub_response.rb +1 -2
  85. metadata +78 -41
@@ -1,4 +1,4 @@
1
- require "spec_helper"
1
+ require 'spec_helper'
2
2
  describe Auth0::Api::V2::Blacklists do
3
3
  before :all do
4
4
  dummy_instance = DummyClass.new
@@ -6,19 +6,20 @@ describe Auth0::Api::V2::Blacklists do
6
6
  @instance = dummy_instance
7
7
  end
8
8
 
9
- context ".blacklisted_tokens" do
10
- it {expect(@instance).to respond_to(:blacklisted_tokens)}
11
- it "is expected to call /api/v2/blacklists/tokens" do
12
- expect(@instance).to receive(:get).with("/api/v2/blacklists/tokens")
13
- expect{@instance.blacklisted_tokens}.not_to raise_error
9
+ context '.blacklisted_tokens' do
10
+ it { expect(@instance).to respond_to(:blacklisted_tokens) }
11
+ it 'is expected to call /api/v2/blacklists/tokens' do
12
+ expect(@instance).to receive(:get).with('/api/v2/blacklists/tokens', aud: nil)
13
+ expect { @instance.blacklisted_tokens }.not_to raise_error
14
14
  end
15
15
  end
16
16
 
17
- context ".add_token.to_blacklist" do
18
- it {expect(@instance).to respond_to(:add_token_to_blacklist)}
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"})
21
- @instance.add_token_to_blacklist("jti", "aud")
17
+ context '.add_token.to_blacklist' do
18
+ it { expect(@instance).to respond_to(:add_token_to_blacklist) }
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')
21
+ @instance.add_token_to_blacklist('jti', 'aud')
22
22
  end
23
+ it { expect { @instance.add_token_to_blacklist('', '') }.to raise_error 'Must specify a valid JTI' }
23
24
  end
24
25
  end
@@ -1,54 +1,59 @@
1
- require "spec_helper"
1
+ require 'spec_helper'
2
2
  describe Auth0::Api::V2::Clients do
3
3
  before :all do
4
4
  dummy_instance = DummyClass.new
5
5
  dummy_instance.extend(Auth0::Api::V2::Clients)
6
6
  @instance = dummy_instance
7
7
  end
8
- context ".clients" do
9
- it {expect(@instance).to respond_to(:clients)}
10
- it {expect(@instance).to respond_to(:get_clients)}
11
- it "is expected to send get request to /api/v2/clients/" do
12
- expect(@instance).to receive(:get).with("/api/v2/clients", {})
13
- expect{@instance.clients}.not_to raise_error
8
+ context '.clients' do
9
+ it { expect(@instance).to respond_to(:clients) }
10
+ it { expect(@instance).to respond_to(:get_clients) }
11
+ it 'is expected to send get request to /api/v2/clients/' do
12
+ expect(@instance).to receive(:get).with('/api/v2/clients', fields: nil, include_fields: nil)
13
+ expect { @instance.clients }.not_to raise_error
14
14
  end
15
- it "is expected to send get request to /api/v2/clients?fields=name&exclude_fields=false" do
16
- expect(@instance).to receive(:get).with("/api/v2/clients",{exclude_fields: false, fields: [:name]})
17
- expect{@instance.clients({exclude_fields: false, fields: [:name]})}.not_to raise_error
15
+ it 'is expected to send get request to /api/v2/clients?fields=name' do
16
+ expect(@instance).to receive(:get).with('/api/v2/clients', include_fields: true, fields: [:name])
17
+ expect { @instance.clients(fields: [:name], include_fields: true) }.not_to raise_error
18
18
  end
19
19
  end
20
- context ".client" do
21
- it {expect(@instance).to respond_to(:client)}
22
- it "is expected to send get request to /api/v2/clients/1" do
23
- expect(@instance).to receive(:get).with("/api/v2/clients/1", {})
24
- expect{@instance.client(1)}.not_to raise_error
20
+ context '.client' do
21
+ it { expect(@instance).to respond_to(:client) }
22
+ it 'is expected to send get request to /api/v2/clients/1' do
23
+ expect(@instance).to receive(:get).with('/api/v2/clients/1', fields: nil, include_fields: nil)
24
+ expect { @instance.client(1) }.not_to raise_error
25
25
  end
26
- it "is expected to send get request to /api/v2/clients?fields=name&exclude_fields=false" do
27
- expect(@instance).to receive(:get).with("/api/v2/clients/1",{exclude_fields: false, fields: [:name]})
28
- expect{@instance.client(1,{exclude_fields: false, fields: [:name]})}.not_to raise_error
26
+ it 'is expected to send get request to /api/v2/clients?fields=name&include_fields=true' do
27
+ expect(@instance).to receive(:get).with('/api/v2/clients/1', include_fields: true, fields: [:name])
28
+ expect { @instance.client(1, include_fields: true, fields: [:name]) }.not_to raise_error
29
29
  end
30
+ it { expect { @instance.client('') }.to raise_error 'Must specify a client id' }
30
31
  end
31
32
 
32
- context ".create_client" do
33
- it {expect(@instance).to respond_to(:create_client)}
34
- it "is expected to send post to /api/v2/clients" do
35
- expect(@instance).to receive(:post).with("/api/v2/clients",{name: "name", opt: "opt"})
36
- expect{@instance.create_client("name", {name: "/name1", opt: "opt"})}.not_to raise_error
33
+ context '.create_client' do
34
+ it { expect(@instance).to respond_to(:create_client) }
35
+ it 'is expected to send post to /api/v2/clients' do
36
+ expect(@instance).to receive(:post).with('/api/v2/clients', name: 'name', opt: 'opt')
37
+ expect { @instance.create_client('name', name: '/name1', opt: 'opt') }.not_to raise_error
37
38
  end
39
+ it { expect { @instance.create_client('') }.to raise_error 'Must specify a valid client name' }
38
40
  end
39
- context ".delete_client" do
40
- it {expect(@instance).to respond_to(:delete_client)}
41
- it "is expected to send delete to /api/v2/clients/1" do
42
- expect(@instance).to receive(:delete).with("/api/v2/clients/1")
43
- expect{@instance.delete_client("1")}.not_to raise_error
41
+ context '.delete_client' do
42
+ it { expect(@instance).to respond_to(:delete_client) }
43
+ it 'is expected to send delete to /api/v2/clients/1' do
44
+ expect(@instance).to receive(:delete).with('/api/v2/clients/1')
45
+ expect { @instance.delete_client('1') }.not_to raise_error
44
46
  end
47
+ it { expect { @instance.delete_client('') }.to raise_error 'Must specify a client id' }
45
48
  end
46
49
 
47
- context ".patch_client" do
48
- it {expect(@instance).to respond_to(:patch_client)}
49
- it "is expected to send patch to /api/v2/clients/1" do
50
- expect(@instance).to receive(:patch).with("/api/v2/clients/1", {fields: "fields"})
51
- expect{@instance.patch_client("1", {fields: "fields"})}.not_to raise_error
50
+ context '.patch_client' do
51
+ it { expect(@instance).to respond_to(:patch_client) }
52
+ it 'is expected to send patch to /api/v2/clients/1' do
53
+ expect(@instance).to receive(:patch).with('/api/v2/clients/1', fields: 'fields')
54
+ expect { @instance.patch_client('1', fields: 'fields') }.not_to raise_error
52
55
  end
56
+ it { expect { @instance.patch_client('', nil) }.to raise_error 'Must specify a client id' }
57
+ it { expect { @instance.patch_client('some', nil) }.to raise_error 'Must specify a valid body' }
53
58
  end
54
59
  end
@@ -1,4 +1,4 @@
1
- require "spec_helper"
1
+ require 'spec_helper'
2
2
  describe Auth0::Api::V2::Connections do
3
3
  before :all do
4
4
  dummy_instance = DummyClass.new
@@ -6,65 +6,90 @@ describe Auth0::Api::V2::Connections do
6
6
  @instance = dummy_instance
7
7
  end
8
8
 
9
- context ".connections" do
10
- it {expect(@instance).to respond_to(:connections)}
11
- it {expect(@instance).to respond_to(:get_connections)}
9
+ context '.connections' do
10
+ it { expect(@instance).to respond_to(:connections) }
11
+ it { expect(@instance).to respond_to(:get_connections) }
12
12
 
13
- it "is expected to call /api/v2/connections" do
14
- expect(@instance).to receive(:get).with("/api/v2/connections", {
13
+ it 'is expected to call /api/v2/connections' do
14
+ expect(@instance).to receive(:get).with(
15
+ '/api/v2/connections',
15
16
  strategy: nil,
16
17
  fields: nil,
17
- include_fields: true
18
- })
19
-
20
- expect{@instance.connections}.not_to raise_error
18
+ include_fields: true)
19
+ expect { @instance.connections }.not_to raise_error
21
20
  end
22
21
  end
23
22
 
24
23
  context '.create_connection' do
25
- it {expect(@instance).to respond_to(:connection)}
26
- it {expect(@instance).to respond_to(:create_connection)}
24
+ it { expect(@instance).to respond_to(:connection) }
25
+ it { expect(@instance).to respond_to(:create_connection) }
27
26
 
28
- it "is expected to call /api/v2/connections" do
27
+ it 'is expected to call /api/v2/connections' do
29
28
  body = double
30
- expect(@instance).to receive(:post).with("/api/v2/connections", body)
29
+ expect(@instance).to receive(:post).with('/api/v2/connections', body)
30
+ expect { @instance.create_connection(body) }.not_to raise_error
31
+ end
32
+
33
+ it 'is expected to raise an error when calling with empty body' do
34
+ expect(@instance).not_to receive(:post)
35
+ expect { @instance.create_connection(nil) }.to raise_error 'Must specify a body to create a connection'
36
+ end
37
+ end
31
38
 
32
- expect{@instance.create_connection(body)}.not_to raise_error
39
+ context '.connection' do
40
+ it { expect(@instance).to respond_to(:connection) }
41
+ it 'is expected to call get request to /api/v2/connection/connectionId' do
42
+ expect(@instance).to receive(:get).with('/api/v2/connections/connectionId', fields: nil, include_fields: true)
43
+ expect { @instance.connection('connectionId') }.not_to raise_error
44
+ end
45
+ it 'is expected raise an error when calling with empty id' do
46
+ expect(@instance).not_to receive(:get)
47
+ expect { @instance.connection(nil) }.to raise_error 'Must supply a valid connection id'
33
48
  end
34
49
  end
35
50
 
36
- context ".connection" do
37
- it {expect(@instance).to respond_to(:connection)}
38
- it "is expected to call get request to /api/v2/connection/CONNECTION_ID" do
39
- expect(@instance).to receive(:get).with("/api/v2/connections/CONNECTION_ID", {fields: nil, include_fields: true})
40
- expect{@instance.connection("CONNECTION_ID")}.not_to raise_error
51
+ context '.delete_connection' do
52
+ it { expect(@instance).to respond_to(:delete_connection) }
53
+ it 'is expected to call delete to /api/v2/connections/connectionId' do
54
+ expect(@instance).to receive(:delete).with('/api/v2/connections/connectionId')
55
+ @instance.delete_connection('connectionId')
56
+ end
57
+
58
+ it 'is expected raise an error when calling with empty id' do
59
+ expect(@instance).not_to receive(:delete)
60
+ expect { @instance.delete_connection(nil) }.to raise_error 'Must supply a valid connection id'
41
61
  end
42
62
  end
43
63
 
44
- context ".delete_connection" do
45
- it {expect(@instance).to respond_to(:delete_connection)}
46
- it "is expected to call delete to /api/v2/connections/connectionId" do
47
- expect(@instance).to receive(:delete).with("/api/v2/connections/connectionId")
48
- @instance.delete_connection("connectionId")
64
+ context '.delete_connection_user' do
65
+ it { expect(@instance).to respond_to(:delete_connection_user) }
66
+ it 'is expected to call delete to /api/v2/connections/connectionId/users' do
67
+ expect(@instance).to receive(:delete).with('/api/v2/connections/connectionId/users?email=email@test.com')
68
+ @instance.delete_connection_user('connectionId', 'email@test.com')
69
+ end
70
+
71
+ it 'is expected raise an error when calling with empty id' do
72
+ expect(@instance).not_to receive(:delete)
73
+ expect { @instance.delete_connection_user(nil, nil) }.to raise_error 'Must supply a valid connection id'
49
74
  end
50
75
 
51
- it "is expected not to call delete to /api/v2/connections if connection_id is blank" do
76
+ it 'is expected raise an error when calling with empty email' do
52
77
  expect(@instance).not_to receive(:delete)
53
- expect{@instance.delete_connection("")}.to raise_exception(Auth0::MissingConnectionId)
78
+ expect { @instance.delete_connection_user('Connection ID', nil) }.to raise_error 'Must supply a valid user email'
54
79
  end
55
80
  end
56
81
 
57
- context ".update_connection" do
58
- it {expect(@instance).to respond_to(:update_connection)}
59
- it "is expected to call patch to /api/v2/connections/connectionId" do
82
+ context '.update_connection' do
83
+ it { expect(@instance).to respond_to(:update_connection) }
84
+ it 'is expected to call patch to /api/v2/connections/connectionId' do
60
85
  body = double
61
- expect(@instance).to receive(:patch).with("/api/v2/connections/connectionId", body)
62
- @instance.update_connection("connectionId", body)
86
+ expect(@instance).to receive(:patch).with('/api/v2/connections/connectionId', body)
87
+ @instance.update_connection('connectionId', body)
63
88
  end
64
89
 
65
- it "is expected not to call delete to /api/v2/connections if connection_id is blank" do
90
+ it 'is expected raise an error when calling with empty id' do
66
91
  expect(@instance).not_to receive(:patch)
67
- expect{@instance.delete_connection("")}.to raise_exception(Auth0::MissingConnectionId)
92
+ expect { @instance.delete_connection(nil) }.to raise_error 'Must supply a valid connection id'
68
93
  end
69
94
  end
70
95
  end
@@ -0,0 +1,47 @@
1
+ require 'spec_helper'
2
+ describe Auth0::Api::V2::Emails do
3
+ before :all do
4
+ dummy_instance = DummyClass.new
5
+ dummy_instance.extend(Auth0::Api::V2::Emails)
6
+ @instance = dummy_instance
7
+ end
8
+
9
+ context '.get_email' do
10
+ it { expect(@instance).to respond_to(:get_provider) }
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)
13
+ expect { @instance.get_provider(fields: 'some', include_fields: true) }.not_to raise_error
14
+ end
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)
17
+ expect { @instance.get_provider }.not_to raise_error
18
+ end
19
+ end
20
+ context '.configure_email' do
21
+ it { expect(@instance).to respond_to(:configure_provider) }
22
+ it 'expect client to send post to /api/v2/emails/provider' do
23
+ expect(@instance).to receive(:post).with('/api/v2/emails/provider', 'test body')
24
+ expect { @instance.configure_provider('test body') }.not_to raise_error
25
+ end
26
+ it 'expect client to raise an error when calling with empty body' do
27
+ expect { @instance.configure_provider(nil) }.to raise_error 'Must supply a valid body to create an email provider'
28
+ end
29
+ end
30
+ context '.delete_email' do
31
+ it { expect(@instance).to respond_to(:delete_provider) }
32
+ it 'expect client to send delete to /api/v2/emails/provider' do
33
+ expect(@instance).to receive(:delete).with('/api/v2/emails/provider')
34
+ expect { @instance.delete_provider }.not_to raise_error
35
+ end
36
+ end
37
+ context '.patch_email' do
38
+ it { expect(@instance).to respond_to(:update_provider) }
39
+ it 'expect client to send patch to /api/v2/emails/provider' do
40
+ expect(@instance).to receive(:patch).with('/api/v2/emails/provider', 'test body')
41
+ expect { @instance.update_provider('test body') }.not_to raise_error
42
+ end
43
+ it 'expect client to raise an error when calling with empty body' do
44
+ expect { @instance.update_provider(nil) }.to raise_error 'Must supply a valid body to update an email provider'
45
+ end
46
+ end
47
+ end
@@ -1,21 +1,35 @@
1
- require "spec_helper"
1
+ require 'spec_helper'
2
2
  describe Auth0::Api::V2::Jobs do
3
3
  before :all do
4
4
  dummy_instance = DummyClass.new
5
5
  dummy_instance.extend(Auth0::Api::V2::Jobs)
6
6
  @instance = dummy_instance
7
7
  end
8
- context ".get_job" do
9
- it{expect(@instance).to respond_to(:get_job)}
10
- it "expect client to send get to /api/v2/stats/jobs/3" do
11
- expect(@instance).to receive(:get).with("/api/v2/jobs/3")
12
- expect{@instance.get_job(3)}.not_to raise_error
8
+ context '.get_job' do
9
+ it { expect(@instance).to respond_to(:get_job) }
10
+ it 'expect client to send get to /api/v2/stats/jobs/3' do
11
+ expect(@instance).to receive(:get).with('/api/v2/jobs/3')
12
+ expect { @instance.get_job(3) }.not_to raise_error
13
13
  end
14
+ it { expect { @instance.get_job('') }.to raise_error('Must specify a job id') }
14
15
  end
15
- context ".daily_stats" do
16
- it{expect(@instance).to respond_to(:create_job)}
17
- it "expect client to send get to /api/v2/stats/daily" do
18
- expect{@instance.create_job("file_name","name")}.to raise_error(NotImplementedError)
16
+ context '.import_users' do
17
+ it { expect(@instance).to respond_to(:import_users) }
18
+ it 'expect client to send post to /api/v2/jobs/users-imports' do
19
+ expect(@instance).to receive(:post_file).with(
20
+ '/api/v2/jobs/users-imports', users: 'file', connection_id: 'connnection_id')
21
+ expect { @instance.import_users('file', 'connnection_id') }.not_to raise_error
19
22
  end
23
+ it { expect { @instance.import_users('', 'connnection_id') }.to raise_error('Must specify a valid file') }
24
+ it { expect { @instance.import_users('users', '') }.to raise_error('Must specify a connection_id') }
25
+ end
26
+
27
+ context '.send_verification_email' do
28
+ it { expect(@instance).to respond_to(:send_verification_email) }
29
+ it 'expect client to send post to /api/v2/jobs/verification-email' do
30
+ expect(@instance).to receive(:post).with('/api/v2/jobs/verification-email', user_id: 'user_id')
31
+ expect { @instance.send_verification_email(user_id: 'user_id') }.not_to raise_error
32
+ end
33
+ it { expect { @instance.send_verification_email('') }.to raise_error('Must specify a user id') }
20
34
  end
21
35
  end
@@ -0,0 +1,69 @@
1
+ require 'spec_helper'
2
+ describe Auth0::Api::V2::Rules do
3
+ before :all do
4
+ dummy_instance = DummyClass.new
5
+ dummy_instance.extend(Auth0::Api::V2::Rules)
6
+ dummy_instance.extend(Auth0::Mixins::Initializer)
7
+ @instance = dummy_instance
8
+ end
9
+
10
+ context '.rules' do
11
+ it { expect(@instance).to respond_to(:rules) }
12
+ it 'is expected to call get /api/v2/rules' do
13
+ expect(@instance).to receive(:get).with(
14
+ '/api/v2/rules', enabled: nil, fields: nil, include_fields: nil, stage: nil)
15
+ expect { @instance.rules }.not_to raise_error
16
+ end
17
+ end
18
+
19
+ context '.rule' do
20
+ it { expect(@instance).to respond_to(:rule) }
21
+ it 'is expected to call get /api/v2/rules/test' do
22
+ expect(@instance).to receive(:get).with(
23
+ '/api/v2/rules/test', fields: nil, include_fields: nil)
24
+ expect { @instance.rule('test') }.not_to raise_error
25
+ end
26
+ it 'expect to raise an error when calling with empty rule id' do
27
+ expect { @instance.rule(nil) }.to raise_error 'Must supply a valid rule id'
28
+ end
29
+ end
30
+
31
+ context '.create_rule' do
32
+ it { expect(@instance).to respond_to(:create_rule) }
33
+ it 'is expected to call post /api/v2/rules' do
34
+ expect(@instance).to receive(:post).with(
35
+ '/api/v2/rules',
36
+ name: 'test', script: 'script', order: 'order', enabled: false, stage: 'login_success')
37
+ expect { @instance.create_rule('test', 'script', 'order', false) }.not_to raise_error
38
+ end
39
+ it 'expect to raise an error when calling with empty name' do
40
+ expect { @instance.create_rule(nil, 'script') }.to raise_error 'Must supply a valid name'
41
+ end
42
+ it 'expect to raise an error when calling with empty script' do
43
+ expect { @instance.create_rule('test', nil) }.to raise_error 'Must supply a valid script'
44
+ end
45
+ end
46
+ context '.update_rule' do
47
+ it { expect(@instance).to respond_to(:update_rule) }
48
+ it 'is expected to call put /api/v2/rules/test' do
49
+ expect(@instance).to receive(:patch).with(
50
+ '/api/v2/rules/test', script: 'script', order: 'order', enabled: true, stage: 'some_stage')
51
+ expect do
52
+ @instance.update_rule('test', script: 'script', order: 'order', enabled: true, stage: 'some_stage')
53
+ end.not_to raise_error
54
+ end
55
+ it 'expect to raise an error when calling with empty rule id' do
56
+ expect { @instance.update_rule(nil, 'test') }.to raise_error 'Must supply a valid rule id'
57
+ end
58
+ end
59
+ context '.delete_rule' do
60
+ it { expect(@instance).to respond_to(:delete_rule) }
61
+ it 'is expected to call delete /api/v2/rules/test' do
62
+ expect(@instance).to receive(:delete).with('/api/v2/rules/test')
63
+ expect { @instance.delete_rule('test') }.not_to raise_error
64
+ end
65
+ it 'expect to raise an error when calling with empty rule id' do
66
+ expect { @instance.delete_rule(nil) }.to raise_error 'Must supply a valid rule id'
67
+ end
68
+ end
69
+ end
@@ -1,22 +1,22 @@
1
- require "spec_helper"
1
+ require 'spec_helper'
2
2
  describe Auth0::Api::V2::Stats do
3
3
  before :all do
4
4
  dummy_instance = DummyClass.new
5
5
  dummy_instance.extend(Auth0::Api::V2::Stats)
6
6
  @instance = dummy_instance
7
7
  end
8
- context ".active_users" do
9
- it{expect(@instance).to respond_to(:active_users)}
10
- it "expect client to send get to /api/v2/stats/active-users" do
11
- expect(@instance).to receive(:get).with("/api/v2/stats/active-users")
12
- expect{@instance.active_users}.not_to raise_error
8
+ context '.active_users' do
9
+ it { expect(@instance).to respond_to(:active_users) }
10
+ it 'expect client to send get to /api/v2/stats/active-users' do
11
+ expect(@instance).to receive(:get).with('/api/v2/stats/active-users')
12
+ expect { @instance.active_users }.not_to raise_error
13
13
  end
14
14
  end
15
- context ".daily_stats" do
16
- it{expect(@instance).to respond_to(:daily_stats)}
17
- it "expect client to send get to /api/v2/stats/daily" do
18
- expect(@instance).to receive(:get).with("/api/v2/stats/daily", {from: "20120222", to: "20151222"})
19
- expect{@instance.daily_stats("20120222","20151222")}.not_to raise_error
15
+ context '.daily_stats' do
16
+ it { expect(@instance).to respond_to(:daily_stats) }
17
+ it 'expect client to send get to /api/v2/stats/daily' do
18
+ expect(@instance).to receive(:get).with('/api/v2/stats/daily', from: '20120222', to: '20151222')
19
+ expect { @instance.daily_stats('20120222', '20151222') }.not_to raise_error
20
20
  end
21
21
  end
22
22
  end