auth0 4.17.0 → 5.20.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 (357) hide show
  1. checksums.yaml +4 -4
  2. data/.version +1 -0
  3. data/CHANGELOG.md +407 -22
  4. data/README.md +80 -178
  5. data/auth0.gemspec +10 -15
  6. data/lib/auth0/api/authentication_endpoints.rb +162 -249
  7. data/lib/auth0/api/v2/actions.rb +209 -0
  8. data/lib/auth0/api/v2/attack_protection.rb +79 -0
  9. data/lib/auth0/api/v2/branding.rb +65 -0
  10. data/lib/auth0/api/v2/client_grants.rb +27 -2
  11. data/lib/auth0/api/v2/clients.rb +42 -0
  12. data/lib/auth0/api/v2/connections.rb +14 -5
  13. data/lib/auth0/api/v2/device_credentials.rb +12 -7
  14. data/lib/auth0/api/v2/grants.rb +49 -0
  15. data/lib/auth0/api/v2/jobs.rb +18 -5
  16. data/lib/auth0/api/v2/logs.rb +2 -2
  17. data/lib/auth0/api/v2/organizations.rb +407 -0
  18. data/lib/auth0/api/v2/refresh_tokens.rb +34 -0
  19. data/lib/auth0/api/v2/roles.rb +7 -3
  20. data/lib/auth0/api/v2/sessions.rb +43 -0
  21. data/lib/auth0/api/v2/tickets.rb +14 -2
  22. data/lib/auth0/api/v2/users.rb +203 -12
  23. data/lib/auth0/api/v2.rb +18 -4
  24. data/lib/auth0/client_assertion.rb +45 -0
  25. data/lib/auth0/exception.rb +17 -8
  26. data/lib/auth0/mixins/access_token_struct.rb +2 -2
  27. data/lib/auth0/mixins/api_token_struct.rb +2 -3
  28. data/lib/auth0/mixins/httpproxy.rb +98 -36
  29. data/lib/auth0/mixins/initializer.rb +6 -9
  30. data/lib/auth0/mixins/permission_struct.rb +2 -2
  31. data/lib/auth0/mixins/token_management.rb +35 -0
  32. data/lib/auth0/mixins/validation.rb +33 -6
  33. data/lib/auth0/mixins.rb +2 -1
  34. data/lib/auth0/version.rb +1 -1
  35. metadata +58 -632
  36. data/.bundle/config +0 -4
  37. data/.circleci/config.yml +0 -23
  38. data/.env.example +0 -2
  39. data/.gemrelease +0 -2
  40. data/.github/CODEOWNERS +0 -1
  41. data/.github/ISSUE_TEMPLATE.md +0 -39
  42. data/.github/PULL_REQUEST_TEMPLATE.md +0 -35
  43. data/.github/stale.yml +0 -20
  44. data/.gitignore +0 -14
  45. data/.rspec +0 -3
  46. data/.rubocop.yml +0 -10
  47. data/.rubocop_todo.yml +0 -5
  48. data/CODE_OF_CONDUCT.md +0 -3
  49. data/DEPLOYMENT.md +0 -61
  50. data/Dockerfile +0 -5
  51. data/Gemfile +0 -19
  52. data/Gemfile.lock +0 -227
  53. data/Guardfile +0 -37
  54. data/RUBYGEM.md +0 -9
  55. data/Rakefile +0 -53
  56. data/codecov.yml +0 -22
  57. data/deploy_documentation.sh +0 -29
  58. data/doc_config/templates/default/fulldoc/html/css/full_list.css +0 -79
  59. data/doc_config/templates/default/fulldoc/html/css/style.css +0 -546
  60. data/doc_config/templates/default/layout/html/breadcrumb.erb +0 -11
  61. data/doc_config/templates/default/layout/html/footer.erb +0 -115
  62. data/doc_config/templates/default/layout/html/headers.erb +0 -17
  63. data/doc_config/templates/default/layout/html/layout.erb +0 -27
  64. data/examples/ruby-api/.env.example +0 -2
  65. data/examples/ruby-api/.gitignore +0 -86
  66. data/examples/ruby-api/Gemfile +0 -8
  67. data/examples/ruby-api/README.md +0 -24
  68. data/examples/ruby-api/config.ru +0 -2
  69. data/examples/ruby-api/main.rb +0 -33
  70. data/examples/ruby-on-rails-api/.env.example +0 -2
  71. data/examples/ruby-on-rails-api/.gitignore +0 -18
  72. data/examples/ruby-on-rails-api/Gemfile +0 -48
  73. data/examples/ruby-on-rails-api/README.md +0 -27
  74. data/examples/ruby-on-rails-api/Rakefile +0 -6
  75. data/examples/ruby-on-rails-api/app/assets/images/.keep +0 -0
  76. data/examples/ruby-on-rails-api/app/assets/javascripts/application.js +0 -16
  77. data/examples/ruby-on-rails-api/app/assets/stylesheets/application.css +0 -15
  78. data/examples/ruby-on-rails-api/app/controllers/application_controller.rb +0 -8
  79. data/examples/ruby-on-rails-api/app/controllers/concerns/.keep +0 -0
  80. data/examples/ruby-on-rails-api/app/controllers/ping_controller.rb +0 -6
  81. data/examples/ruby-on-rails-api/app/controllers/secured_ping_controller.rb +0 -11
  82. data/examples/ruby-on-rails-api/app/helpers/application_helper.rb +0 -3
  83. data/examples/ruby-on-rails-api/app/mailers/.keep +0 -0
  84. data/examples/ruby-on-rails-api/app/models/.keep +0 -0
  85. data/examples/ruby-on-rails-api/app/models/User.rb +0 -5
  86. data/examples/ruby-on-rails-api/app/models/concerns/.keep +0 -0
  87. data/examples/ruby-on-rails-api/app/views/layouts/application.html.erb +0 -14
  88. data/examples/ruby-on-rails-api/bin/bundle +0 -3
  89. data/examples/ruby-on-rails-api/bin/rails +0 -4
  90. data/examples/ruby-on-rails-api/bin/rake +0 -4
  91. data/examples/ruby-on-rails-api/bin/setup +0 -29
  92. data/examples/ruby-on-rails-api/config/application.rb +0 -23
  93. data/examples/ruby-on-rails-api/config/boot.rb +0 -4
  94. data/examples/ruby-on-rails-api/config/database.yml +0 -27
  95. data/examples/ruby-on-rails-api/config/environment.rb +0 -5
  96. data/examples/ruby-on-rails-api/config/environments/development.rb +0 -37
  97. data/examples/ruby-on-rails-api/config/environments/production.rb +0 -83
  98. data/examples/ruby-on-rails-api/config/environments/test.rb +0 -41
  99. data/examples/ruby-on-rails-api/config/initializers/backtrace_silencers.rb +0 -7
  100. data/examples/ruby-on-rails-api/config/initializers/cookies_serializer.rb +0 -3
  101. data/examples/ruby-on-rails-api/config/initializers/dotenv.rb +0 -4
  102. data/examples/ruby-on-rails-api/config/initializers/filter_parameter_logging.rb +0 -4
  103. data/examples/ruby-on-rails-api/config/initializers/inflections.rb +0 -16
  104. data/examples/ruby-on-rails-api/config/initializers/knock.rb +0 -35
  105. data/examples/ruby-on-rails-api/config/initializers/mime_types.rb +0 -4
  106. data/examples/ruby-on-rails-api/config/initializers/session_store.rb +0 -3
  107. data/examples/ruby-on-rails-api/config/initializers/wrap_parameters.rb +0 -14
  108. data/examples/ruby-on-rails-api/config/locales/en.yml +0 -23
  109. data/examples/ruby-on-rails-api/config/routes.rb +0 -58
  110. data/examples/ruby-on-rails-api/config/secrets.yml +0 -28
  111. data/examples/ruby-on-rails-api/config.ru +0 -4
  112. data/examples/ruby-on-rails-api/db/schema.rb +0 -15
  113. data/examples/ruby-on-rails-api/db/seeds.rb +0 -7
  114. data/examples/ruby-on-rails-api/lib/assets/.keep +0 -0
  115. data/examples/ruby-on-rails-api/lib/tasks/.keep +0 -0
  116. data/examples/ruby-on-rails-api/log/.keep +0 -0
  117. data/examples/ruby-on-rails-api/public/404.html +0 -67
  118. data/examples/ruby-on-rails-api/public/422.html +0 -67
  119. data/examples/ruby-on-rails-api/public/500.html +0 -66
  120. data/examples/ruby-on-rails-api/public/favicon.ico +0 -0
  121. data/examples/ruby-on-rails-api/public/robots.txt +0 -5
  122. data/examples/ruby-on-rails-api/test/controllers/.keep +0 -0
  123. data/examples/ruby-on-rails-api/test/fixtures/.keep +0 -0
  124. data/examples/ruby-on-rails-api/test/helpers/.keep +0 -0
  125. data/examples/ruby-on-rails-api/test/integration/.keep +0 -0
  126. data/examples/ruby-on-rails-api/test/mailers/.keep +0 -0
  127. data/examples/ruby-on-rails-api/test/models/.keep +0 -0
  128. data/examples/ruby-on-rails-api/test/ping_controller_test.rb +0 -8
  129. data/examples/ruby-on-rails-api/test/secured_ping_controller_test.rb +0 -26
  130. data/examples/ruby-on-rails-api/test/test_helper.rb +0 -16
  131. data/lib/auth0/api/v1/clients.rb +0 -58
  132. data/lib/auth0/api/v1/connections.rb +0 -68
  133. data/lib/auth0/api/v1/logs.rb +0 -43
  134. data/lib/auth0/api/v1/rules.rb +0 -57
  135. data/lib/auth0/api/v1/users.rb +0 -227
  136. data/lib/auth0/api/v1.rb +0 -19
  137. data/publish_rubygem.sh +0 -10
  138. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_change_password/should_trigger_a_password_reset.yml +0 -63
  139. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_email.yml +0 -54
  140. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_password.yml +0 -54
  141. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_invalid_audience.yml +0 -55
  142. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_custom_audience.yml +0 -117
  143. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_default_scope.yml +0 -119
  144. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_saml_metadata/should_retrieve_SAML_metadata.yml +0 -57
  145. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_fail_as_not_authorized.yml +0 -55
  146. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_return_the_userinfo.yml +0 -118
  147. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_wsfed_metadata/should_retrieve_WSFED_metadata.yml +0 -55
  148. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/create_test_user.yml +0 -58
  149. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/delete_test_user.yml +0 -54
  150. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Anomaly/_check_if_ip_is_blocked/should_return_200_response_code.yml +0 -65
  151. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Anomaly/_remove_ip_block/should_remove_an_IP_successfully.yml +0 -60
  152. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_add_token_to_blacklist/should_add_a_token_to_the_blacklist.yml +0 -56
  153. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_blacklisted_tokens/should_get_the_added_token_from_the_blacklist.yml +0 -59
  154. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_at_least_1_result.yml +0 -62
  155. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_first_page_of_one_result.yml +0 -66
  156. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_test_client_grant.yml +0 -62
  157. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_delete_client_grant/should_delete_the_test_client_grant.yml +0 -54
  158. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_patch_client_grant/should_update_the_test_client_grant.yml +0 -64
  159. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client.yml +0 -118
  160. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client_grant.yml +0 -64
  161. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client.yml +0 -54
  162. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client_grant.yml +0 -54
  163. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_exclude_and_include_fields_properly.yml +0 -91
  164. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_include_the_specified_fields.yml +0 -63
  165. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/should_get_the_test_client.yml +0 -92
  166. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_fields_not_specified.yml +0 -60
  167. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_the_specified_fields.yml +0 -132
  168. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_include_the_specified_fields.yml +0 -63
  169. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_paginate_results.yml +0 -65
  170. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/should_get_at_least_one_client.yml +0 -132
  171. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_delete_client/should_delete_the_test_client_without_an_error.yml +0 -54
  172. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_patch_client/should_update_the_client_with_the_correct_attributes.yml +0 -94
  173. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/create_test_client.yml +0 -118
  174. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_exclude_the_fields_indicated.yml +0 -63
  175. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_include_the_fields_indicated.yml +0 -61
  176. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/should_find_the_correct_connection.yml +0 -63
  177. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_include_previously-created_connection_when_filtered.yml +0 -59
  178. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_exclude_the_fields_indicated_from_filtered_results.yml +0 -59
  179. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_include_the_fields_indicated_from_filtered_results.yml +0 -59
  180. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_include_the_previously_created_connection.yml +0 -59
  181. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_not_be_empty.yml +0 -59
  182. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection/should_delete_the_connection.yml +0 -54
  183. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection_user/should_delete_the_user_created.yml +0 -110
  184. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_update_connection/should_update_the_connection.yml +0 -66
  185. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_connection.yml +0 -65
  186. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_user.yml +0 -68
  187. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_delete_device_credential/should_delete_the_test_credential_without_an_error.yml +0 -54
  188. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/_filter_by_type/should_exclude_the_test_credential.yml +0 -59
  189. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/should_have_at_least_1_entry.yml +0 -62
  190. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/should_include_the_test_credential.yml +0 -62
  191. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_credential.yml +0 -62
  192. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_user.yml +0 -68
  193. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_credential.yml +0 -54
  194. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_user.yml +0 -54
  195. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_configure_provider/should_configure_a_new_email_provider.yml +0 -63
  196. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_delete_the_existing_email_provider_without_an_error.yml +0 -54
  197. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_throw_an_error_trying_to_get_the_email_provider.yml +0 -51
  198. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_with_specific_fields.yml +0 -60
  199. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_without_specific_fields.yml +0 -61
  200. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/should_get_the_existing_email_provider.yml +0 -61
  201. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_update_provider/should_update_the_existing_email_provider.yml +0 -63
  202. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/delete_existing_provider.yml +0 -54
  203. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_create_an_export_users_job_successfully.yml +0 -61
  204. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_get_the_export_users_job.yml +0 -117
  205. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_create_an_import_users_job_successfully.yml +0 -60
  206. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_get_the_import_users_job.yml +0 -116
  207. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_create_a_new_verification_email_job.yml +0 -119
  208. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_get_the_completed_verification_email.yml +0 -175
  209. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_reject_an_invalid_client_id.yml +0 -109
  210. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/delete_imported_user.yml +0 -110
  211. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/search_for_connection_id.yml +0 -59
  212. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_match_the_created_log_entry.yml +0 -265
  213. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_not_be_empty.yml +0 -265
  214. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_fields_not_specified.yml +0 -61
  215. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_the_specified_fields.yml +0 -75
  216. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_have_one_log_entry.yml +0 -76
  217. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_include_the_specified_fields.yml +0 -62
  218. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_from/should_take_one_log_entry.yml +0 -258
  219. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/create_test_user.yml +0 -68
  220. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_disabled_rule.yml +0 -54
  221. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_enabled_rule.yml +0 -54
  222. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_user.yml +0 -54
  223. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_delete_resource_server/should_delete_the_test_server_without_an_error.yml +0 -54
  224. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_patch_resource_server/should_update_the_resource_server_with_the_correct_attributes.yml +0 -61
  225. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_server/should_get_the_test_server.yml +0 -59
  226. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_get_the_test_server.yml +0 -59
  227. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_at_least_1_result.yml +0 -59
  228. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_the_first_page_of_one_result.yml +0 -64
  229. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/create_test_server.yml +0 -61
  230. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/delete_test_server.yml +0 -54
  231. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_permissions/should_add_a_Permission_to_the_Role_successfully.yml +0 -69
  232. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_users/should_add_a_User_to_the_Role_successfully.yml +0 -69
  233. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_delete_role/should_delete_the_Role_successfully.yml +0 -62
  234. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role/should_get_the_Role_successfully.yml +0 -67
  235. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_exactly_1_Permission.yml +0 -67
  236. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_the_added_Permission_from_the_Role_successfully.yml +0 -67
  237. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_exactly_1_User.yml +0 -67
  238. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_the_added_User_from_the_Role_successfully.yml +0 -67
  239. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_roles/should_get_the_Role_successfully.yml +0 -67
  240. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_remove_role_permissions/should_remove_a_Permission_from_the_Role_successfully.yml +0 -64
  241. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_update_role/should_update_the_Role_successfully.yml +0 -69
  242. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_api.yml +0 -69
  243. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_role.yml +0 -69
  244. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_user.yml +0 -69
  245. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_api.yml +0 -62
  246. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_user.yml +0 -62
  247. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_disabled_rule_without_an_error.yml +0 -54
  248. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_enabled_rule_without_an_error.yml +0 -54
  249. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_fields_not_specified.yml +0 -62
  250. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_specified_fields.yml +0 -62
  251. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_include_the_specified_fields.yml +0 -61
  252. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/should_get_a_specific_rule.yml +0 -62
  253. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_exclude_fields_not_specified.yml +0 -60
  254. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_include_the_specified_fields.yml +0 -61
  255. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_disabled_rule.yml +0 -63
  256. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_enabled_rule.yml +0 -62
  257. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_paginated_results.yml +0 -128
  258. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/should_return_at_least_1_rule.yml +0 -64
  259. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_update_rule/should_update_the_disabled_rule_to_be_enabled.yml +0 -64
  260. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_disabled_rule.yml +0 -65
  261. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_enabled_rule.yml +0 -65
  262. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_active_users/should_have_at_least_one_active_user.yml +0 -59
  263. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_daily_stats/should_have_at_least_one_stats_entry_for_the_timeframe.yml +0 -63
  264. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings/should_get_the_tenant_settings.yml +0 -95
  265. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_exclude_a_field_not_requested.yml +0 -61
  266. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_include_the_field_requested.yml +0 -61
  267. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_revert_the_tenant_name.yml +0 -96
  268. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_update_the_tenant_settings_with_a_new_tenant_name.yml +0 -96
  269. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_email_verification/should_create_an_email_verification_ticket.yml +0 -63
  270. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_password_change/should_create_a_password_change_ticket.yml +0 -63
  271. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/create_test_user.yml +0 -68
  272. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/delete_test_user.yml +0 -54
  273. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_permissions/should_add_a_Permissions_for_a_User_successfully.yml +0 -67
  274. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_roles/should_add_a_Role_to_a_User_successfully.yml +0 -62
  275. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_User_successfully.yml +0 -60
  276. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_secondary_User_successfully.yml +0 -60
  277. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user_provider/should_attempt_to_delete_the_MFA_provider_for_the_User.yml +0 -60
  278. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_enrollments/should_get_Enrollments_for_a_User_successfully.yml +0 -65
  279. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_exactly_1_Permission_for_a_User_successfully.yml +0 -65
  280. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_the_correct_Permission_for_a_User_successfully.yml +0 -65
  281. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_roles/should_get_Roles_for_a_User_successfully.yml +0 -65
  282. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_invalidate_browsers/should_invalidate_MFA_browsers_for_the_User_successfully.yml +0 -62
  283. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_link_user_account/should_link_two_Users_successfully.yml +0 -67
  284. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_patch_user/should_patch_the_User_successfully.yml +0 -68
  285. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_permissions/should_remove_a_Permission_from_a_User_successfully.yml +0 -62
  286. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_roles/should_remove_a_Role_from_a_User_successfully.yml +0 -62
  287. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_unlink_user_account/should_unlink_two_Users_successfully.yml +0 -65
  288. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_fields_not_indicated.yml +0 -65
  289. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_the_fields_indicated.yml +0 -65
  290. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_include_the_fields_indicated.yml +0 -65
  291. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/should_retrieve_the_created_user.yml +0 -65
  292. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user_logs/should_get_Logs_for_a_User_successfully.yml +0 -69
  293. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/is_expected_to_find_a_user_with_a_v2_search_engine_query.yml +0 -65
  294. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/is_expected_to_find_a_user_with_a_v3_search_engine_query.yml +0 -65
  295. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_exclude_the_indicated_fields_when_paginated.yml +0 -65
  296. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_include_the_indicated_fields_when_paginated.yml +0 -65
  297. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_not_include_other_fields_when_paginated.yml +0 -65
  298. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_return_the_correct_number_of_results_when_paginated.yml +0 -65
  299. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/should_have_at_least_one_user.yml +0 -65
  300. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_secondary_test_user.yml +0 -67
  301. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_api.yml +0 -67
  302. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_role.yml +0 -67
  303. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_user.yml +0 -67
  304. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_api.yml +0 -60
  305. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_role.yml +0 -60
  306. data/spec/integration/lib/auth0/api/api_authentication_spec.rb +0 -120
  307. data/spec/integration/lib/auth0/api/v2/api_anomaly_spec.rb +0 -17
  308. data/spec/integration/lib/auth0/api/v2/api_blacklist_spec.rb +0 -27
  309. data/spec/integration/lib/auth0/api/v2/api_client_grants_spec.rb +0 -75
  310. data/spec/integration/lib/auth0/api/v2/api_clients_spec.rb +0 -166
  311. data/spec/integration/lib/auth0/api/v2/api_connections_spec.rb +0 -159
  312. data/spec/integration/lib/auth0/api/v2/api_device_credentials_spec.rb +0 -128
  313. data/spec/integration/lib/auth0/api/v2/api_email_spec.rb +0 -117
  314. data/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb +0 -124
  315. data/spec/integration/lib/auth0/api/v2/api_logs_spec.rb +0 -91
  316. data/spec/integration/lib/auth0/api/v2/api_resource_servers_spec.rb +0 -130
  317. data/spec/integration/lib/auth0/api/v2/api_roles_spec.rb +0 -145
  318. data/spec/integration/lib/auth0/api/v2/api_rules_spec.rb +0 -177
  319. data/spec/integration/lib/auth0/api/v2/api_stats_spec.rb +0 -22
  320. data/spec/integration/lib/auth0/api/v2/api_tenants_spec.rb +0 -59
  321. data/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb +0 -59
  322. data/spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb +0 -73
  323. data/spec/integration/lib/auth0/api/v2/api_users_spec.rb +0 -300
  324. data/spec/integration/lib/auth0/auth0_client_spec.rb +0 -90
  325. data/spec/lib/auth0/api/authentication_endpoints_spec.rb +0 -703
  326. data/spec/lib/auth0/api/v2/anomaly_spec.rb +0 -26
  327. data/spec/lib/auth0/api/v2/blacklists_spec.rb +0 -25
  328. data/spec/lib/auth0/api/v2/client_grants_spec.rb +0 -76
  329. data/spec/lib/auth0/api/v2/clients_spec.rb +0 -104
  330. data/spec/lib/auth0/api/v2/connections_spec.rb +0 -140
  331. data/spec/lib/auth0/api/v2/device_credentials_spec.rb +0 -73
  332. data/spec/lib/auth0/api/v2/emails_spec.rb +0 -47
  333. data/spec/lib/auth0/api/v2/guardian_spec.rb +0 -154
  334. data/spec/lib/auth0/api/v2/jobs_spec.rb +0 -128
  335. data/spec/lib/auth0/api/v2/log_streams_spec.rb +0 -84
  336. data/spec/lib/auth0/api/v2/logs_spec.rb +0 -48
  337. data/spec/lib/auth0/api/v2/prompts_spec.rb +0 -88
  338. data/spec/lib/auth0/api/v2/resource_servers_spec.rb +0 -86
  339. data/spec/lib/auth0/api/v2/roles_spec.rb +0 -362
  340. data/spec/lib/auth0/api/v2/rules_spec.rb +0 -95
  341. data/spec/lib/auth0/api/v2/stats_spec.rb +0 -22
  342. data/spec/lib/auth0/api/v2/tenants_spec.rb +0 -26
  343. data/spec/lib/auth0/api/v2/tickets_spec.rb +0 -63
  344. data/spec/lib/auth0/api/v2/user_blocks_spec.rb +0 -52
  345. data/spec/lib/auth0/api/v2/users_by_email_spec.rb +0 -21
  346. data/spec/lib/auth0/api/v2/users_spec.rb +0 -542
  347. data/spec/lib/auth0/client_spec.rb +0 -153
  348. data/spec/lib/auth0/mixins/httpproxy_spec.rb +0 -304
  349. data/spec/lib/auth0/mixins/initializer_spec.rb +0 -30
  350. data/spec/lib/auth0/mixins/validation_spec.rb +0 -466
  351. data/spec/spec_helper.rb +0 -63
  352. data/spec/support/credentials.rb +0 -30
  353. data/spec/support/dummy_class.rb +0 -18
  354. data/spec/support/dummy_class_for_proxy.rb +0 -5
  355. data/spec/support/dummy_class_for_restclient.rb +0 -2
  356. data/spec/support/import_users.json +0 -13
  357. data/spec/support/stub_response.rb +0 -1
@@ -1,542 +0,0 @@
1
- require 'spec_helper'
2
- describe Auth0::Api::V2::Users do
3
- before :all do
4
- dummy_instance = DummyClass.new
5
- dummy_instance.extend(Auth0::Api::V2::Users)
6
- @instance = dummy_instance
7
- end
8
-
9
- context '.users' do
10
- it 'is expected to respond to a users method' do
11
- expect(@instance).to respond_to(:users)
12
- end
13
-
14
- it 'is expected to respond to a get_users method' do
15
- expect(@instance).to respond_to(:get_users)
16
- end
17
-
18
- it 'is expected to get /api/v2/users' do
19
- expect(@instance).to receive(:get).with(
20
- '/api/v2/users',
21
- per_page: nil,
22
- page: nil,
23
- include_totals: nil,
24
- sort: nil,
25
- connection: nil,
26
- fields: nil,
27
- include_fields: nil,
28
- q: nil,
29
- search_engine: nil
30
- )
31
- expect { @instance.users }.not_to raise_error
32
- end
33
-
34
- it 'is expected to get /api/v2/users with custom parameters' do
35
- expect(@instance).to receive(:get).with(
36
- '/api/v2/users',
37
- per_page: 10,
38
- page: 1,
39
- include_totals: true,
40
- sort: nil,
41
- connection: 'auth0',
42
- fields: 'name,email',
43
- include_fields: nil,
44
- q: nil,
45
- search_engine: 'v3'
46
- )
47
- expect do
48
- @instance.users(
49
- search_engine: 'v3',
50
- per_page: 10,
51
- page: 1,
52
- include_totals: true,
53
- connection: 'auth0',
54
- fields: 'name,email'
55
- )
56
- end.not_to raise_error
57
- end
58
- end
59
-
60
- context '.user' do
61
- it 'is expected to respond to a user method' do
62
- expect(@instance).to respond_to(:user)
63
- end
64
-
65
- it 'is expected to call get request to /api/v2/users/USER_ID' do
66
- expect(@instance).to receive(:get).with(
67
- '/api/v2/users/USER_ID',
68
- fields: nil,
69
- include_fields: true
70
- )
71
- expect { @instance.user('USER_ID') }.not_to raise_error
72
- end
73
-
74
- it 'is expected to raise an exception when the user ID is empty' do
75
- expect { @instance.user(nil) }.to raise_exception(Auth0::MissingUserId)
76
- end
77
- end
78
-
79
- context '.create_user' do
80
- it 'is expected to respond to a create_user method' do
81
- expect(@instance).to respond_to(:create_user)
82
- end
83
-
84
- it 'is expected to post to /api/v2/users' do
85
- expect(@instance).to receive(:post).with(
86
- '/api/v2/users',
87
- email: 'test@test.com',
88
- password: 'password',
89
- connection: 'conn',
90
- name: 'name'
91
- )
92
- expect do
93
- @instance.create_user(
94
- 'name',
95
- email: 'test@test.com',
96
- password: 'password',
97
- connection: 'conn'
98
- )
99
- end.not_to raise_error
100
- end
101
- end
102
-
103
- context '.delete_users' do
104
- it 'is expected to respond to a delete_users method' do
105
- expect(@instance).to respond_to :delete_users
106
- end
107
-
108
- it 'is expected to call delete to /api/v2/users' do
109
- expect(@instance).to receive(:delete).with('/api/v2/users')
110
- expect { @instance.delete_users }.not_to raise_error
111
- end
112
- end
113
-
114
- context '.delete_user' do
115
- it 'is expected to respond to a delete_user method' do
116
- expect(@instance).to respond_to(:delete_user)
117
- end
118
-
119
- it 'is expected to delete /api/v2/users/USER_ID' do
120
- expect(@instance).to receive(:delete).with('/api/v2/users/USER_ID')
121
- @instance.delete_user('USER_ID')
122
- end
123
-
124
- it 'is expected not to delete /api/v2/users if user_id is blank' do
125
- expect(@instance).not_to receive(:delete)
126
- expect { @instance.delete_user(nil) }.to raise_exception(
127
- Auth0::MissingUserId
128
- )
129
- end
130
- end
131
-
132
- context '.delete_user_provider' do
133
- it 'is expected to respond to a delete_user_provider method' do
134
- expect(@instance).to respond_to(:delete_user_provider)
135
- end
136
-
137
- it 'is expected to delete /api/v2/users/userId/multifactor/provider' do
138
- expect(@instance).to receive(:delete).with('/api/v2/users/USER_ID/multifactor/PROVIDER_NAME')
139
- @instance.delete_user_provider('USER_ID', 'PROVIDER_NAME')
140
- end
141
-
142
- it 'is expected to raise an exception when the user ID is empty' do
143
- expect { @instance.delete_user_provider(nil, 'PROVIDER_NAME') }.to raise_exception(Auth0::MissingUserId)
144
- end
145
-
146
- it 'is expected to raise an exception when the provider name is empty' do
147
- expect { @instance.delete_user_provider('USER_ID', nil) }.to raise_error 'Must supply a valid provider name'
148
- end
149
- end
150
-
151
- context '.patch_user' do
152
- it 'is expected to respond to a patch_user method' do
153
- expect(@instance).to respond_to(:patch_user)
154
- end
155
-
156
- it 'is expected to respond to a update_user method' do
157
- expect(@instance).to respond_to(:update_user)
158
- end
159
-
160
- it 'is expected to patch /api/v2/users/USER_ID' do
161
- expect(@instance).to receive(:patch).with(
162
- '/api/v2/users/USER_ID',
163
- email: 'test@test.com',
164
- password: 'password',
165
- connection: 'conn',
166
- name: 'name'
167
- )
168
- @instance.patch_user(
169
- 'USER_ID',
170
- email: 'test@test.com',
171
- password: 'password',
172
- connection: 'conn',
173
- name: 'name'
174
- )
175
- end
176
-
177
- it 'is expected to raise an exception when the user ID is empty' do
178
- expect { @instance.patch_user(nil, 'BODY') }.to raise_exception(Auth0::MissingUserId)
179
- end
180
-
181
- it 'is expected to raise an error when the body is empty' do
182
- expect { @instance.patch_user('USER_ID', nil) }.to raise_error 'Must supply a valid body'
183
- end
184
- end
185
-
186
- context '.link_user_account' do
187
- it 'is expected to respond to a link_user_account method' do
188
- expect(@instance).to respond_to(:link_user_account)
189
- end
190
-
191
- it 'is expected to post to /api/v2/users/UserId/identities' do
192
- expect(@instance).to receive(:post).with('/api/v2/users/USER_ID/identities', body: 'json body')
193
- @instance.link_user_account('USER_ID', body: 'json body')
194
- end
195
-
196
- it 'is expected to raise an exception when the user ID is empty' do
197
- expect { @instance.link_user_account(nil, 'BODY') }.to raise_exception(Auth0::MissingUserId)
198
- end
199
-
200
- it 'is expected to raise an error when the body is empty' do
201
- expect { @instance.link_user_account('USER_ID', nil) }.to raise_error 'Must supply a valid body'
202
- end
203
- end
204
-
205
- context '.unlink_user_account' do
206
- it 'is expected to respond to a unlink_user_account method' do
207
- expect(@instance).to respond_to(:unlink_user_account)
208
- end
209
- it 'is expected to respond to a unlink_users_account alias' do
210
- expect(@instance).to respond_to(:unlink_users_account)
211
- end
212
-
213
- it 'is expected to delete /api/v2/users/UserId/identities' do
214
- expect(@instance).to receive(:delete).with('/api/v2/users/USER_ID_1/identities/PROVIDER_NAME/USER_ID_2')
215
- @instance.unlink_users_account('USER_ID_1', 'PROVIDER_NAME', 'USER_ID_2')
216
- end
217
-
218
- it 'is expected to raise an exception when the user ID is empty' do
219
- expect do
220
- @instance.unlink_users_account(nil, 'PROVIDER_NAME', 'USER_ID_2')
221
- end.to raise_error 'Must supply a valid user_id'
222
- end
223
-
224
- it 'is expected to raise an exception when the provider is empty' do
225
- expect do
226
- @instance.unlink_users_account('USER_ID_1', nil, 'USER_ID_2')
227
- end.to raise_error 'Must supply a valid provider'
228
- end
229
-
230
- it 'is expected to raise an exception when the secondary user ID is empty' do
231
- expect do
232
- @instance.unlink_users_account('USER_ID_1', 'PROVIDER_NAME', nil)
233
- end.to raise_error 'Must supply a valid secondary user_id'
234
- end
235
- end
236
-
237
- context '.user_logs' do
238
- it 'is expected to respond to a user_logs method' do
239
- expect(@instance).to respond_to(:user_logs)
240
- end
241
-
242
- it 'is expected to respond to a get_user_log_events method' do
243
- expect(@instance).to respond_to(:get_user_log_events)
244
- end
245
-
246
- it 'is expected to get /api/v2/USER_ID/logs' do
247
- expect(@instance).to receive(:get).with(
248
- '/api/v2/users/USER_ID/logs',
249
- per_page: nil,
250
- page: nil,
251
- include_totals: nil,
252
- sort: nil
253
- )
254
- expect { @instance.user_logs('USER_ID') }.not_to raise_error
255
- end
256
-
257
- it 'is expected to raise an exception when the user ID is empty' do
258
- expect { @instance.user_logs(nil) }.to raise_exception(Auth0::MissingUserId)
259
- end
260
-
261
- it 'is expected to raise an error when per_page is higher than 100' do
262
- expect { @instance.user_logs('USER_ID', per_page: rand(101..2000)) }.to raise_error(
263
- 'The total amount of entries per page should be less than 100'
264
- )
265
- end
266
-
267
- it 'is expected to raise an error when sort does not match pattern' do
268
- expect { @instance.user_logs('USER_ID', sort: 'no match') }.to raise_error(
269
- 'Sort does not match pattern ^(([a-zA-Z0-9_\\.]+))\\:(1|-1)$'
270
- )
271
- end
272
- end
273
-
274
- context '.get_roles' do
275
- it 'is expected to respond to a get_roles method' do
276
- expect(@instance).to respond_to(:get_user_roles)
277
- end
278
-
279
- it 'is expected to raise an exception when the user ID is empty' do
280
- expect { @instance.get_user_roles(nil) }.to raise_exception(Auth0::MissingUserId)
281
- end
282
-
283
- it 'is expected to get roles with default parameters' do
284
- expect(@instance).to receive(:get).with(
285
- '/api/v2/users/USER_ID/roles',
286
- per_page: nil,
287
- page: nil,
288
- include_totals: nil
289
- )
290
- expect { @instance.get_user_roles('USER_ID') }.not_to raise_error
291
- end
292
-
293
- it 'is expected to get roles with custom parameters' do
294
- expect(@instance).to receive(:get).with(
295
- '/api/v2/users/USER_ID/roles',
296
- per_page: 20,
297
- page: 2,
298
- include_totals: true
299
- )
300
- expect do
301
- @instance.get_user_roles('USER_ID', per_page: 20, page: 2, include_totals: true)
302
- end.not_to raise_error
303
- end
304
- end
305
-
306
- context '.remove_user_roles' do
307
- it 'is expected to respond to a remove_user_roles method' do
308
- expect(@instance).to respond_to(:remove_user_roles)
309
- end
310
-
311
- it 'is expected to raise an exception when the user ID is empty' do
312
- expect { @instance.remove_user_roles(nil, 'ROLES') }.to raise_exception(Auth0::MissingUserId)
313
- end
314
-
315
- it 'is expected to raise an exception when the roles are not an array' do
316
- expect { @instance.remove_user_roles('USER_ID', 'ROLES') }.to raise_exception(Auth0::InvalidParameter)
317
- end
318
-
319
- it 'is expected to raise an exception when the roles are empty' do
320
- expect { @instance.remove_user_roles('USER_ID', []) }.to raise_exception(Auth0::MissingParameter)
321
- end
322
-
323
- it 'is expected to raise an exception when the roles are empty' do
324
- expect { @instance.remove_user_roles('USER_ID', [1, 2]) }.to raise_exception(Auth0::InvalidParameter)
325
- end
326
-
327
- it 'is expected to remove roles' do
328
- expect(@instance).to receive(:delete_with_body).with(
329
- '/api/v2/users/USER_ID/roles',
330
- roles: %w[test-role-01 test-role-02]
331
- )
332
- expect do
333
- @instance.remove_user_roles('USER_ID', %w[test-role-01 test-role-02])
334
- end.not_to raise_error
335
- end
336
- end
337
-
338
- context '.add_roles' do
339
- it 'is expected to respond to a add_roles method' do
340
- expect(@instance).to respond_to(:add_user_roles)
341
- end
342
-
343
- it 'is expected to raise an exception when the user ID is empty' do
344
- expect { @instance.add_user_roles(nil, 'ROLES') }.to raise_exception(Auth0::MissingUserId)
345
- end
346
-
347
- it 'is expected to raise an exception when the user ID is empty' do
348
- expect { @instance.add_user_roles('USER_ID', 'ROLES') }.to raise_exception(Auth0::InvalidParameter)
349
- end
350
-
351
- it 'is expected to raise an exception when the roles are empty' do
352
- expect { @instance.add_user_roles('USER_ID', [3, 4]) }.to raise_exception(Auth0::InvalidParameter)
353
- end
354
-
355
- it 'is expected to add roles' do
356
- expect(@instance).to receive(:post).with(
357
- '/api/v2/users/USER_ID/roles',
358
- roles: %w[test-role-03 test-role-04]
359
- )
360
- expect do
361
- @instance.add_user_roles('USER_ID', %w[test-role-03 test-role-04])
362
- end.not_to raise_error
363
- end
364
- end
365
-
366
- context '.get_enrollments' do
367
- it 'is expected to respond to a get_enrollments method' do
368
- expect(@instance).to respond_to(:get_enrollments)
369
- end
370
-
371
- it 'is expected to raise an exception when the user ID is empty' do
372
- expect { @instance.get_enrollments(nil) }.to raise_exception(Auth0::MissingUserId)
373
- end
374
-
375
- it 'is expected to get enrollments' do
376
- expect(@instance).to receive(:get).with('/api/v2/users/USER_ID/enrollments')
377
- expect do
378
- @instance.get_enrollments('USER_ID')
379
- end.not_to raise_error
380
- end
381
- end
382
-
383
- context '.get_permissions' do
384
- it 'is expected to respond to a get_permissions method' do
385
- expect(@instance).to respond_to(:get_user_permissions)
386
- end
387
-
388
- it 'is expected to raise an exception when the user ID is empty' do
389
- expect { @instance.get_user_permissions(nil) }.to raise_exception(Auth0::MissingUserId)
390
- end
391
-
392
- it 'is expected to get permissions' do
393
- expect(@instance).to receive(:get).with(
394
- '/api/v2/users/USER_ID/permissions',
395
- per_page: nil,
396
- page: nil,
397
- include_totals: nil,
398
- )
399
- expect do
400
- @instance.get_user_permissions('USER_ID')
401
- end.not_to raise_error
402
- end
403
-
404
- it 'is expected to get permissions with custom parameters' do
405
- expect(@instance).to receive(:get).with(
406
- '/api/v2/users/USER_ID/permissions',
407
- per_page: 10,
408
- page: 3,
409
- include_totals: true
410
- )
411
- expect do
412
- @instance.get_user_permissions('USER_ID', per_page: 10, page: 3, include_totals: true)
413
- end.not_to raise_error
414
- end
415
- end
416
-
417
- context '.remove_permissions' do
418
- it 'is expected to respond to a remove_permissions method' do
419
- expect(@instance).to respond_to(:remove_user_permissions)
420
- end
421
-
422
- it 'is expected to raise an exception when the user ID is empty' do
423
- expect { @instance.remove_user_permissions(nil, 'PERMISSIONS') }.to raise_exception(Auth0::MissingUserId)
424
- end
425
-
426
- it 'is expected to raise an exception when the permissions are empty' do
427
- expect { @instance.remove_user_permissions('USER_ID', []) }.to raise_exception(Auth0::MissingParameter)
428
- end
429
-
430
- it 'is expected to raise an exception when the array does not consist of Permissions' do
431
- expect do
432
- @instance.remove_user_permissions('USER_ID', %w[permission-01 permission02])
433
- end.to raise_exception(Auth0::InvalidParameter)
434
- end
435
-
436
- it 'is expected to remove permissions' do
437
- expect(@instance).to receive(:delete_with_body).with(
438
- '/api/v2/users/USER_ID/permissions',
439
- permissions: [
440
- {
441
- permission_name: 'permission-name-1',
442
- resource_server_identifier: 'server-id-1'
443
- },
444
- {
445
- permission_name: 'permission-name-2',
446
- resource_server_identifier: 'server-id-2'
447
- }
448
- ]
449
- )
450
- expect do
451
- @instance.remove_user_permissions(
452
- 'USER_ID',
453
- [
454
- Permission.new('permission-name-1', 'server-id-1'),
455
- Permission.new('permission-name-2', 'server-id-2')
456
- ]
457
- )
458
- end.not_to raise_error
459
- end
460
- end
461
-
462
- context '.add_permissions' do
463
- it 'is expected to respond to a add_permissions method' do
464
- expect(@instance).to respond_to(:add_user_permissions)
465
- end
466
-
467
- it 'is expected to raise an exception when the user ID is empty' do
468
- expect { @instance.add_user_permissions(nil, 'PERMISSIONS') }.to raise_exception(Auth0::MissingUserId)
469
- end
470
-
471
- it 'is expected to raise an exception when the permissions are empty' do
472
- expect { @instance.add_user_permissions('USER_ID', []) }.to raise_exception(Auth0::MissingParameter)
473
- end
474
-
475
- it 'is expected to raise an exception when the permissions are not Permission structs' do
476
- expect do
477
- @instance.add_user_permissions('USER_ID', %w[permission-01 permission02])
478
- end.to raise_exception(Auth0::InvalidParameter)
479
- end
480
-
481
- it 'is expected to add permissions' do
482
- expect(@instance).to receive(:post).with(
483
- '/api/v2/users/USER_ID/permissions',
484
- permissions: [
485
- {
486
- permission_name: 'permission-name-1',
487
- resource_server_identifier: 'server-id-1'
488
- },
489
- {
490
- permission_name: 'permission-name-2',
491
- resource_server_identifier: 'server-id-2'
492
- }
493
- ]
494
- )
495
- expect do
496
- @instance.add_user_permissions(
497
- 'USER_ID',
498
- [
499
- Permission.new('permission-name-1', 'server-id-1'),
500
- Permission.new('permission-name-2', 'server-id-2')
501
- ]
502
- )
503
- end.not_to raise_error
504
- end
505
- end
506
-
507
- context '.generate_recovery_code' do
508
- it 'is expected to respond to a generate_recovery_code method' do
509
- expect(@instance).to respond_to(:generate_recovery_code)
510
- end
511
-
512
- it 'is expected to raise an exception when the user ID is empty' do
513
- expect { @instance.generate_recovery_code(nil) }.to raise_exception(Auth0::MissingUserId)
514
- end
515
-
516
- it 'is expected to get generate a recovery code' do
517
- expect(@instance).to receive(:post).with('/api/v2/users/USER_ID/recovery-code-generation')
518
- expect do
519
- @instance.generate_recovery_code('USER_ID')
520
- end.not_to raise_error
521
- end
522
- end
523
-
524
- context '.invalidate_browsers' do
525
- it 'is expected to respond to a invalidate_browsers method' do
526
- expect(@instance).to respond_to(:invalidate_browsers)
527
- end
528
-
529
- it 'is expected to raise an exception when the user ID is empty' do
530
- expect { @instance.invalidate_browsers(nil) }.to raise_exception(Auth0::MissingUserId)
531
- end
532
-
533
- it 'is expected to invalidate remembered browsers' do
534
- expect(@instance).to receive(:post).with(
535
- '/api/v2/users/USER_ID/multifactor/actions/invalidate-remember-browser'
536
- )
537
- expect do
538
- @instance.invalidate_browsers('USER_ID')
539
- end.not_to raise_error
540
- end
541
- end
542
- end
@@ -1,153 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Auth0::Client do
4
- shared_examples_for 'v2 API client' do
5
- it { should be_a Auth0::Api::V2 }
6
- it { should be_a Auth0::Api::V2::Blacklists }
7
- it { should be_a Auth0::Api::V2::Clients }
8
- it { should be_a Auth0::Api::V2::ClientGrants }
9
- it { should be_a Auth0::Api::V2::Connections }
10
- it { should be_a Auth0::Api::V2::DeviceCredentials }
11
- it { should be_a Auth0::Api::V2::Emails }
12
- it { should be_a Auth0::Api::V2::Jobs }
13
- it { should be_a Auth0::Api::V2::Logs }
14
- it { should be_a Auth0::Api::V2::ResourceServers }
15
- it { should be_a Auth0::Api::V2::Rules }
16
- it { should be_a Auth0::Api::V2::Stats }
17
- it { should be_a Auth0::Api::V2::Tenants }
18
- it { should be_a Auth0::Api::V2::Tickets }
19
- it { should be_a Auth0::Api::V2::UserBlocks }
20
- it { should be_a Auth0::Api::V2::Users }
21
- it { should be_a Auth0::Api::V2::UsersByEmail }
22
- end
23
-
24
- shared_examples_for 'Authentication API client' do
25
- it { should be_a Auth0::Api::AuthenticationEndpoints }
26
- end
27
-
28
- let(:domain) { 'samples.auth0.com' }
29
- let(:client_id) { '__test_client_id__' }
30
- let(:client_secret) { '__test_client_secret__' }
31
- let(:access_token) { '__test_access_token__' }
32
- let(:audience) { "https://#{domain}/api/v2/" }
33
-
34
- describe 'V2 client with token' do
35
-
36
- before :each do
37
- expect_any_instance_of(Auth0::Api::AuthenticationEndpoints)
38
- .not_to receive(:obtain_access_token)
39
- end
40
-
41
- context 'and namespace' do
42
- let(:subject) do
43
- Auth0::Client.new(
44
- access_token: access_token,
45
- namespace: domain
46
- )
47
- end
48
- it_should_behave_like 'v2 API client'
49
- it_should_behave_like 'Authentication API client'
50
- end
51
-
52
- context 'and domain' do
53
- let(:subject) do
54
- Auth0::Client.new(
55
- access_token: access_token,
56
- domain: domain
57
- )
58
- end
59
- it_should_behave_like 'v2 API client'
60
- it_should_behave_like 'Authentication API client'
61
- end
62
-
63
- context 'and version' do
64
- let(:subject) do
65
- Auth0::Client.new(
66
- api_version: 2,
67
- access_token: access_token,
68
- domain: domain
69
- )
70
- end
71
- it_should_behave_like 'v2 API client'
72
- it_should_behave_like 'Authentication API client'
73
- end
74
-
75
- context 'with token' do
76
- let(:subject) do
77
- Auth0::Client.new(
78
- api_version: 2,
79
- token: access_token,
80
- domain: domain
81
- )
82
- end
83
- it_should_behave_like 'v2 API client'
84
- it_should_behave_like 'Authentication API client'
85
- end
86
-
87
- context 'with token, audience, and client_secret' do
88
- let(:subject) do
89
- Auth0::Client.new(
90
- token: access_token,
91
- domain: domain,
92
- client_secret: client_secret,
93
- audience: audience
94
- )
95
- end
96
- it_should_behave_like 'v2 API client'
97
- it_should_behave_like 'Authentication API client'
98
- end
99
- end
100
-
101
- describe 'V2 client without token' do
102
-
103
- before do
104
- stub_api_token
105
- end
106
-
107
- context 'should try to get an API token' do
108
-
109
- let(:subject) do
110
- Auth0::Client.new(
111
- domain: domain,
112
- client_id: client_id,
113
- client_secret: client_secret,
114
- audience: audience
115
- )
116
- end
117
- it_should_behave_like 'v2 API client'
118
- it_should_behave_like 'Authentication API client'
119
- end
120
-
121
- context 'should fail if' do
122
-
123
- it 'does not have a client_secret' do
124
- expect do
125
- Auth0::Client.new(
126
- domain: domain,
127
- client_id: client_id,
128
- audience: audience
129
- )
130
- end.to raise_error('Must supply a valid API token')
131
- end
132
- end
133
- end
134
-
135
- def stub_api_token
136
- stub_request(:post, "https://#{domain}/oauth/token")
137
- .with(
138
- body: hash_including(
139
- {
140
- grant_type: 'client_credentials',
141
- client_id: client_id,
142
- client_secret: client_secret,
143
- audience: audience
144
- }
145
- )
146
- )
147
- .to_return(
148
- headers: { 'Content-Type' => 'application/json' },
149
- body: '{"access_token":"__test_access_token__"}',
150
- status: 200
151
- )
152
- end
153
- end