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