auth0 5.4.0 → 5.7.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 (233) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +2 -1
  3. data/.gitignore +0 -1
  4. data/.shiprc +7 -0
  5. data/CHANGELOG.md +106 -30
  6. data/Gemfile +1 -0
  7. data/Gemfile.lock +233 -0
  8. data/README.md +10 -8
  9. data/auth0.gemspec +2 -1
  10. data/lib/auth0/api/authentication_endpoints.rb +40 -16
  11. data/lib/auth0/api/v2/actions.rb +210 -0
  12. data/lib/auth0/api/v2/attack_protection.rb +79 -0
  13. data/lib/auth0/api/v2/grants.rb +49 -0
  14. data/lib/auth0/api/v2/organizations.rb +1 -1
  15. data/lib/auth0/api/v2.rb +6 -0
  16. data/lib/auth0/exception.rb +12 -0
  17. data/lib/auth0/mixins/api_token_struct.rb +0 -1
  18. data/lib/auth0/mixins/httpproxy.rb +76 -40
  19. data/lib/auth0/mixins/initializer.rb +2 -3
  20. data/lib/auth0/mixins/token_management.rb +32 -0
  21. data/lib/auth0/mixins/validation.rb +1 -1
  22. data/lib/auth0/mixins.rb +2 -0
  23. data/lib/auth0/version.rb +1 -1
  24. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_change_password/should_trigger_a_password_reset.yml +53 -23
  25. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_email.yml +49 -18
  26. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_password.yml +49 -18
  27. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_invalid_audience.yml +46 -15
  28. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_custom_audience.yml +49 -79
  29. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_default_scope.yml +49 -80
  30. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_saml_metadata/should_retrieve_SAML_metadata.yml +74 -21
  31. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_fail_as_not_authorized.yml +53 -14
  32. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_return_the_userinfo.yml +106 -48
  33. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_wsfed_metadata/should_retrieve_WSFED_metadata.yml +62 -19
  34. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/create_test_user.yml +57 -22
  35. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/delete_test_user.yml +38 -20
  36. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_add_token_to_blacklist/should_add_a_token_to_the_blacklist.yml +37 -19
  37. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_blacklisted_tokens/should_get_the_added_token_from_the_blacklist.yml +38 -23
  38. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_at_least_1_result.yml +42 -26
  39. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_test_client_grant.yml +42 -26
  40. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_delete_client_grant/should_delete_the_test_client_grant.yml +38 -20
  41. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_patch_client_grant/should_update_the_test_client_grant.yml +39 -27
  42. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client.yml +44 -82
  43. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client_grant.yml +39 -27
  44. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client.yml +38 -20
  45. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client_grant.yml +38 -20
  46. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_exclude_and_include_fields_properly.yml +43 -56
  47. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_include_the_specified_fields.yml +39 -28
  48. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/should_get_the_test_client.yml +43 -57
  49. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_fields_not_specified.yml +43 -24
  50. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_the_specified_fields.yml +236 -96
  51. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_include_the_specified_fields.yml +52 -27
  52. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_paginate_results.yml +39 -25
  53. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/should_get_at_least_one_client.yml +235 -96
  54. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_delete_client/should_delete_the_test_client_without_an_error.yml +38 -20
  55. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_patch_client/should_update_the_client_with_the_correct_attributes.yml +43 -57
  56. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/create_test_client.yml +45 -82
  57. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_exclude_the_fields_indicated.yml +15 -16
  58. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_include_the_fields_indicated.yml +15 -16
  59. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/should_find_the_correct_connection.yml +15 -16
  60. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_include_previously-created_connection_when_filtered.yml +14 -15
  61. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_exclude_the_fields_indicated_from_filtered_results.yml +14 -15
  62. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_include_the_fields_indicated_from_filtered_results.yml +14 -15
  63. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_include_the_previously_created_connection.yml +15 -15
  64. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_not_be_empty.yml +15 -15
  65. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection/should_delete_the_connection.yml +15 -16
  66. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection_user/should_delete_the_user_created.yml +29 -27
  67. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_update_connection/should_update_the_connection.yml +15 -16
  68. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_connection.yml +16 -17
  69. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_user.yml +40 -32
  70. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_credential.yml +40 -30
  71. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_user.yml +40 -32
  72. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_user.yml +38 -20
  73. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_configure_provider/should_configure_a_new_email_provider.yml +37 -28
  74. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_delete_the_existing_email_provider_without_an_error.yml +37 -19
  75. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_throw_an_error_trying_to_get_the_email_provider.yml +34 -16
  76. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_with_specific_fields.yml +36 -27
  77. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_without_specific_fields.yml +36 -28
  78. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/should_get_the_existing_email_provider.yml +36 -28
  79. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_update_provider/should_update_the_existing_email_provider.yml +36 -28
  80. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/delete_existing_provider.yml +37 -19
  81. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_create_an_export_users_job_successfully.yml +38 -23
  82. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_get_the_export_users_job.yml +76 -46
  83. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_create_an_import_users_job_successfully.yml +46 -25
  84. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_get_the_import_users_job.yml +84 -48
  85. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_create_a_new_verification_email_job.yml +77 -47
  86. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_get_the_completed_verification_email.yml +116 -71
  87. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_reject_an_invalid_client_id.yml +76 -39
  88. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/delete_imported_user.yml +76 -43
  89. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/search_for_connection_id.yml +43 -23
  90. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_match_the_created_log_entry.yml +224 -196
  91. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_not_be_empty.yml +224 -196
  92. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_fields_not_specified.yml +38 -25
  93. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_the_specified_fields.yml +39 -39
  94. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_have_one_log_entry.yml +41 -40
  95. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_include_the_specified_fields.yml +38 -26
  96. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_from/should_take_one_log_entry.yml +229 -189
  97. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/create_test_user.yml +40 -32
  98. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_disabled_rule.yml +38 -20
  99. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_enabled_rule.yml +38 -20
  100. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_user.yml +38 -20
  101. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_delete_resource_server/should_delete_the_test_server_without_an_error.yml +38 -20
  102. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_patch_resource_server/should_update_the_resource_server_with_the_correct_attributes.yml +39 -24
  103. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_server/should_get_the_test_server.yml +39 -24
  104. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_get_the_test_server.yml +146 -23
  105. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_at_least_1_result.yml +146 -23
  106. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_the_first_page_of_one_result.yml +131 -24
  107. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/create_test_server.yml +40 -25
  108. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/delete_test_server.yml +38 -20
  109. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_permissions/should_add_a_Permission_to_the_Role_successfully.yml +39 -32
  110. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_users/should_add_a_User_to_the_Role_successfully.yml +38 -31
  111. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_delete_role/should_delete_the_Role_successfully.yml +42 -30
  112. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role/should_get_the_Role_successfully.yml +38 -30
  113. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_exactly_1_Permission.yml +37 -30
  114. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_the_added_Permission_from_the_Role_successfully.yml +37 -30
  115. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_exactly_1_User.yml +37 -30
  116. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_the_added_User_from_the_Role_successfully.yml +37 -30
  117. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_roles/should_get_the_Role_successfully.yml +37 -29
  118. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_remove_role_permissions/should_remove_a_Permission_from_the_Role_successfully.yml +39 -29
  119. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_update_role/should_update_the_Role_successfully.yml +37 -30
  120. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_api.yml +38 -31
  121. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_role.yml +39 -31
  122. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_user.yml +38 -31
  123. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_api.yml +36 -26
  124. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_user.yml +36 -26
  125. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_disabled_rule_without_an_error.yml +38 -20
  126. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_enabled_rule_without_an_error.yml +38 -20
  127. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_fields_not_specified.yml +40 -27
  128. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_specified_fields.yml +40 -27
  129. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_include_the_specified_fields.yml +39 -26
  130. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/should_get_a_specific_rule.yml +40 -27
  131. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_exclude_fields_not_specified.yml +80 -24
  132. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_include_the_specified_fields.yml +82 -25
  133. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_disabled_rule.yml +59 -27
  134. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_enabled_rule.yml +68 -26
  135. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_paginated_results.yml +78 -49
  136. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/should_return_at_least_1_rule.yml +84 -28
  137. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_update_rule/should_update_the_disabled_rule_to_be_enabled.yml +40 -27
  138. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_disabled_rule.yml +42 -29
  139. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_enabled_rule.yml +42 -29
  140. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_active_users/should_have_at_least_one_active_user.yml +38 -23
  141. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_daily_stats/should_have_at_least_one_stats_entry_for_the_timeframe.yml +38 -27
  142. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings/should_get_the_tenant_settings.yml +72 -59
  143. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_exclude_a_field_not_requested.yml +38 -25
  144. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_include_the_field_requested.yml +38 -25
  145. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_revert_the_tenant_name.yml +72 -58
  146. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_update_the_tenant_settings_with_a_new_tenant_name.yml +72 -58
  147. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_email_verification/should_create_an_email_verification_ticket.yml +39 -26
  148. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_password_change/should_create_a_password_change_ticket.yml +39 -26
  149. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/create_test_user.yml +40 -32
  150. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/delete_test_user.yml +38 -20
  151. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_permissions/should_add_a_Permissions_for_a_User_successfully.yml +39 -35
  152. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_roles/should_add_a_Role_to_a_User_successfully.yml +37 -25
  153. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_User_successfully.yml +36 -24
  154. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_secondary_User_successfully.yml +36 -24
  155. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user_provider/should_attempt_to_delete_the_MFA_provider_for_the_User.yml +36 -24
  156. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_enrollments/should_get_Enrollments_for_a_User_successfully.yml +37 -28
  157. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_exactly_1_Permission_for_a_User_successfully.yml +37 -28
  158. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_the_correct_Permission_for_a_User_successfully.yml +37 -28
  159. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_roles/should_get_Roles_for_a_User_successfully.yml +38 -28
  160. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_invalidate_browsers/should_invalidate_MFA_browsers_for_the_User_successfully.yml +36 -24
  161. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_link_user_account/should_link_two_Users_successfully.yml +38 -29
  162. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_patch_user/should_patch_the_User_successfully.yml +38 -28
  163. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_permissions/should_remove_a_Permission_from_a_User_successfully.yml +39 -27
  164. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_roles/should_remove_a_Role_from_a_User_successfully.yml +39 -27
  165. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_unlink_user_account/should_unlink_two_Users_successfully.yml +37 -28
  166. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_fields_not_indicated.yml +37 -28
  167. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_the_fields_indicated.yml +37 -28
  168. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_include_the_fields_indicated.yml +37 -28
  169. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/should_retrieve_the_created_user.yml +37 -28
  170. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user_logs/should_get_Logs_for_a_User_successfully.yml +42 -30
  171. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/is_expected_to_find_a_user_with_a_v2_search_engine_query.yml +36 -27
  172. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/is_expected_to_find_a_user_with_a_v3_search_engine_query.yml +36 -27
  173. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_exclude_the_indicated_fields_when_paginated.yml +36 -27
  174. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_include_the_indicated_fields_when_paginated.yml +36 -27
  175. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_not_include_other_fields_when_paginated.yml +36 -27
  176. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_return_the_correct_number_of_results_when_paginated.yml +36 -27
  177. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/should_have_at_least_one_user.yml +37 -27
  178. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_secondary_test_user.yml +38 -29
  179. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_api.yml +38 -29
  180. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_role.yml +39 -29
  181. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_user.yml +38 -29
  182. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_api.yml +36 -24
  183. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_role.yml +42 -28
  184. data/spec/integration/lib/auth0/api/v2/api_client_grants_spec.rb +0 -9
  185. data/spec/integration/lib/auth0/api/v2/api_connections_spec.rb +3 -3
  186. data/spec/integration/lib/auth0/api/v2/api_email_spec.rb +0 -31
  187. data/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb +4 -4
  188. data/spec/integration/lib/auth0/api/v2/api_logs_spec.rb +5 -5
  189. data/spec/integration/lib/auth0/api/v2/api_roles_spec.rb +3 -3
  190. data/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb +4 -4
  191. data/spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb +8 -5
  192. data/spec/integration/lib/auth0/api/v2/api_users_spec.rb +6 -33
  193. data/spec/lib/auth0/api/v2/actions_spec.rb +312 -0
  194. data/spec/lib/auth0/api/v2/attack_protection_spec.rb +132 -0
  195. data/spec/lib/auth0/api/v2/blacklists_spec.rb +2 -2
  196. data/spec/lib/auth0/api/v2/branding_spec.rb +4 -3
  197. data/spec/lib/auth0/api/v2/client_grants_spec.rb +8 -8
  198. data/spec/lib/auth0/api/v2/clients_spec.rb +12 -12
  199. data/spec/lib/auth0/api/v2/connections_spec.rb +10 -10
  200. data/spec/lib/auth0/api/v2/device_credentials_spec.rb +4 -4
  201. data/spec/lib/auth0/api/v2/emails_spec.rb +2 -2
  202. data/spec/lib/auth0/api/v2/grants_spec.rb +91 -0
  203. data/spec/lib/auth0/api/v2/jobs_spec.rb +18 -17
  204. data/spec/lib/auth0/api/v2/log_streams_spec.rb +3 -3
  205. data/spec/lib/auth0/api/v2/logs_spec.rb +2 -2
  206. data/spec/lib/auth0/api/v2/organizations_spec.rb +13 -13
  207. data/spec/lib/auth0/api/v2/resource_servers_spec.rb +5 -5
  208. data/spec/lib/auth0/api/v2/roles_spec.rb +22 -22
  209. data/spec/lib/auth0/api/v2/rules_spec.rb +7 -7
  210. data/spec/lib/auth0/api/v2/stats_spec.rb +1 -1
  211. data/spec/lib/auth0/api/v2/tenants_spec.rb +1 -1
  212. data/spec/lib/auth0/api/v2/tickets_spec.rb +14 -14
  213. data/spec/lib/auth0/api/v2/user_blocks_spec.rb +2 -2
  214. data/spec/lib/auth0/api/v2/users_by_email_spec.rb +2 -2
  215. data/spec/lib/auth0/api/v2/users_spec.rb +23 -23
  216. data/spec/lib/auth0/client_spec.rb +3 -3
  217. data/spec/lib/auth0/mixins/httpproxy_spec.rb +293 -0
  218. data/spec/lib/auth0/mixins/initializer_spec.rb +87 -0
  219. data/spec/lib/auth0/mixins/token_management_spec.rb +125 -0
  220. data/spec/spec_helper.rb +1 -1
  221. data/spec/support/dummy_class_for_proxy.rb +1 -0
  222. data/spec/support/dummy_class_for_tokens.rb +17 -0
  223. metadata +35 -25
  224. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Anomaly/_check_if_ip_is_blocked/should_return_200_response_code.yml +0 -65
  225. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Anomaly/_remove_ip_block/should_remove_an_IP_successfully.yml +0 -60
  226. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_first_page_of_one_result.yml +0 -66
  227. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_delete_device_credential/should_delete_the_test_credential_without_an_error.yml +0 -54
  228. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/_filter_by_type/should_exclude_the_test_credential.yml +0 -59
  229. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/should_have_at_least_1_entry.yml +0 -62
  230. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/should_include_the_test_credential.yml +0 -62
  231. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_credential.yml +0 -54
  232. data/spec/integration/lib/auth0/api/v2/api_anomaly_spec.rb +0 -17
  233. data/spec/integration/lib/auth0/api/v2/api_device_credentials_spec.rb +0 -128
@@ -8,11 +8,14 @@ describe Auth0::Api::V2::UserBlocks do
8
8
  username = Faker::Internet.user_name
9
9
  @email = "#{entity_suffix}#{Faker::Internet.safe_email(name: username)}"
10
10
  password = Faker::Internet.password
11
- @user = client.create_user(username, 'email' => email,
12
- 'password' => password,
13
- 'email_verified' => true,
14
- 'connection' => Auth0::Api::AuthenticationEndpoints::UP_AUTH,
15
- 'app_metadata' => {})
11
+ @user = client.create_user(
12
+ Auth0::Api::AuthenticationEndpoints::UP_AUTH,
13
+ name: username,
14
+ email: email,
15
+ email_verified: true,
16
+ app_metadata: {},
17
+ password: Faker::Internet.password
18
+ )
16
19
  end
17
20
 
18
21
  after(:all) do
@@ -18,19 +18,19 @@ describe Auth0::Api::V2::Users do
18
18
 
19
19
  VCR.use_cassette('Auth0_Api_V2_Users/create_test_user') do
20
20
  @test_user ||= client.create_user(
21
- @test_user_name,
21
+ Auth0::Api::AuthenticationEndpoints::UP_AUTH,
22
+ name: @test_user_name,
22
23
  email: @test_user_email,
23
- password: Faker::Internet.password,
24
- connection: Auth0::Api::AuthenticationEndpoints::UP_AUTH
24
+ password: Faker::Internet.password
25
25
  )
26
26
  end
27
27
 
28
28
  VCR.use_cassette('Auth0_Api_V2_Users/create_secondary_test_user') do
29
29
  @test_user_secondary ||= client.create_user(
30
- "#{test_user_name}-secondary",
30
+ Auth0::Api::AuthenticationEndpoints::UP_AUTH,
31
+ name: "#{test_user_name}-secondary",
31
32
  email: "#{entity_suffix}-#{@test_user_name}-secondary@auth0.com",
32
- password: Faker::Internet.password,
33
- connection: Auth0::Api::AuthenticationEndpoints::UP_AUTH
33
+ password: Faker::Internet.password
34
34
  )
35
35
  end
36
36
 
@@ -255,33 +255,6 @@ describe Auth0::Api::V2::Users do
255
255
  end
256
256
  end
257
257
 
258
- describe '.add_user_permissions', vcr: true do
259
- it 'should add a Permissions for a User successfully' do
260
- expect { client.add_user_permissions test_user['user_id'], [ test_permission ] }.to_not raise_error
261
- end
262
- end
263
-
264
- describe '.get_user_permissions', vcr: true do
265
- let(:test_get_user_permissions) do
266
- client.get_user_permissions test_user['user_id']
267
- end
268
-
269
- it 'should get exactly 1 Permission for a User successfully' do
270
- expect( test_get_user_permissions.count ).to eq 1
271
- end
272
-
273
- it 'should get the correct Permission for a User successfully' do
274
- expect( test_get_user_permissions.first['permission_name'] ).to eq test_permission_name
275
- expect( test_get_user_permissions.first['resource_server_name'] ).to eq test_api_name
276
- end
277
- end
278
-
279
- describe '.remove_user_permissions', vcr: true do
280
- it 'should remove a Permission from a User successfully' do
281
- expect { client.remove_user_permissions test_user['user_id'], [ test_permission ] }.to_not raise_error
282
- end
283
- end
284
-
285
258
  describe '.invalidate_browsers', vcr: true do
286
259
  it 'should invalidate MFA browsers for the User successfully' do
287
260
  expect { client.invalidate_browsers test_user['user_id'] }.to_not raise_error
@@ -0,0 +1,312 @@
1
+ require 'spec_helper'
2
+ describe Auth0::Api::V2::Actions do
3
+ before :all do
4
+ dummy_instance = DummyClass.new
5
+ dummy_instance.extend(Auth0::Api::V2::Actions)
6
+ @instance = dummy_instance
7
+ end
8
+
9
+ context '.actions' do
10
+ it 'is expected to respond to a actions method' do
11
+ expect(@instance).to respond_to(:actions)
12
+ end
13
+
14
+ it 'is expected to respond to a get_actions method' do
15
+ expect(@instance).to respond_to(:get_actions)
16
+ end
17
+
18
+ it 'is expected to get /api/v2/actions with custom parameters' do
19
+ expect(@instance).to receive(:get).with(
20
+ '/api/v2/actions/actions', {
21
+ trigger_id: 'post-login',
22
+ action_name: 'loginHandler',
23
+ deployed: true,
24
+ per_page: 10,
25
+ page: 1,
26
+ installed: true
27
+ })
28
+ expect do
29
+ @instance.actions(
30
+ 'post-login',
31
+ 'loginHandler',
32
+ deployed: true,
33
+ per_page: 10,
34
+ page: 1,
35
+ installed: true
36
+ )
37
+ end.not_to raise_error
38
+ end
39
+
40
+ it 'is expected to raise an exception when the trigger id is empty' do
41
+ expect { @instance.actions(nil, nil) }.to raise_exception(Auth0::MissingTriggerId)
42
+ end
43
+
44
+ it 'is expected to raise an exception when the action name is empty' do
45
+ expect { @instance.actions(1, nil) }.to raise_exception(Auth0::MissingActionName)
46
+ end
47
+ end
48
+
49
+ context '.action' do
50
+ it 'is expected to respond to a action method' do
51
+ expect(@instance).to respond_to(:action)
52
+ expect(@instance).to respond_to(:get_action)
53
+ end
54
+
55
+ it 'is expected to call get request to /api/v2/actions/actions/{id}' do
56
+ expect(@instance).to receive(:get).with(
57
+ '/api/v2/actions/actions/123'
58
+ )
59
+ expect { @instance.action('123') }.not_to raise_error
60
+ end
61
+
62
+ it 'is expected to raise an exception when the action ID is empty' do
63
+ expect { @instance.action(nil) }.to raise_exception(Auth0::MissingActionId)
64
+ end
65
+ end
66
+
67
+ context '.create_action' do
68
+ it 'is expected to respond to a create_action method' do
69
+ expect(@instance).to respond_to(:create_action)
70
+ end
71
+
72
+ it 'is expected to post to /api/v2/actions' do
73
+ expect(@instance).to receive(:post).with(
74
+ '/api/v2/actions', {
75
+ name: 'test_org'
76
+ })
77
+ expect do
78
+ @instance.create_action(
79
+ name: 'test_org'
80
+ )
81
+ end.not_to raise_error
82
+ end
83
+ end
84
+
85
+ context '.delete_action' do
86
+ it 'is expected to respond to a delete_action method' do
87
+ expect(@instance).to respond_to :delete_action
88
+ end
89
+
90
+ it 'is expected to call delete to /api/v2/actions/actions/{id}' do
91
+ expect(@instance).to receive(:delete).with('/api/v2/actions/actions/123', { force: false })
92
+ expect { @instance.delete_action('123') }.not_to raise_error
93
+ end
94
+
95
+ it 'is expected not to delete /api/v2/actions if action_id is blank' do
96
+ expect(@instance).not_to receive(:delete)
97
+ expect { @instance.delete_action(nil) }.to raise_exception(
98
+ Auth0::MissingActionId
99
+ )
100
+ end
101
+ end
102
+
103
+ context '.patch_action' do
104
+ it 'is expected to respond to a patch_action method' do
105
+ expect(@instance).to respond_to(:patch_action)
106
+ end
107
+
108
+ it 'is expected to respond to a update_action method' do
109
+ expect(@instance).to respond_to(:update_action)
110
+ end
111
+
112
+ it 'is expected to patch /api/v2/actions/actions/{id}' do
113
+ expect(@instance).to receive(:patch).with(
114
+ '/api/v2/actions/actions/123',
115
+ { name: 'name' }
116
+ )
117
+
118
+ expect { @instance.patch_action('123', { name: 'name' }) }.not_to raise_error
119
+ end
120
+ end
121
+
122
+ context '.execution' do
123
+ it 'is expected to respond to a user method' do
124
+ expect(@instance).to respond_to(:execution)
125
+ end
126
+
127
+ it 'is expected to call get request to /api/v2/actions/executions/{id}' do
128
+ expect(@instance).to receive(:get).with('/api/v2/actions/executions/123')
129
+ expect { @instance.execution('123') }.not_to raise_error
130
+ end
131
+
132
+ it 'is expected to raise an exception when the execution ID is empty' do
133
+ expect { @instance.execution(nil) }.to raise_exception(Auth0::MissingExecutionId)
134
+ end
135
+ end
136
+
137
+ context '.actions_versions' do
138
+ it 'is expected to respond to a user method' do
139
+ expect(@instance).to respond_to(:actions_versions)
140
+ end
141
+
142
+ it 'is expected to call get request to /api/v2/actions/actions/{id}/versions' do
143
+ expect(@instance).to receive(:get).with(
144
+ '/api/v2/actions/actions/123/versions', {
145
+ per_page: nil,
146
+ page: nil
147
+ })
148
+ expect { @instance.actions_versions('123') }.not_to raise_error
149
+ end
150
+
151
+ it 'is expected to raise an exception when the action ID is empty' do
152
+ expect { @instance.actions_versions(nil) }.to raise_exception(Auth0::MissingActionId)
153
+ end
154
+
155
+ it 'is expected to get /api/v2/actions/actions/{id}/versions with custom parameters' do
156
+ expect(@instance).to receive(:get).with(
157
+ '/api/v2/actions/actions/123/versions', {
158
+ per_page: 10,
159
+ page: 1
160
+ })
161
+ expect do
162
+ @instance.actions_versions(
163
+ '123',
164
+ per_page: 10,
165
+ page: 1
166
+ )
167
+ end.not_to raise_error
168
+ end
169
+ end
170
+
171
+ context '.trigger_bindings' do
172
+ it 'is expected to respond to a trigger_bindings method' do
173
+ expect(@instance).to respond_to(:trigger_bindings)
174
+ expect(@instance).to respond_to(:get_trigger_bindings)
175
+ end
176
+
177
+ it 'is expected to call get request to /api/v2/actions/triggers/{id}/bindings' do
178
+ expect(@instance).to receive(:get).with(
179
+ '/api/v2/actions/triggers/123/bindings', {
180
+ per_page: nil,
181
+ page: nil
182
+ })
183
+ expect { @instance.trigger_bindings('123') }.not_to raise_error
184
+ end
185
+
186
+ it 'is expected to raise an exception when the action_id ID is empty' do
187
+ expect { @instance.trigger_bindings(nil) }.to raise_exception(Auth0::MissingTriggerId)
188
+ end
189
+
190
+ it 'is expected to get /api/v2/actions/triggers/{id}/bindings with custom parameters' do
191
+ expect(@instance).to receive(:get).with(
192
+ '/api/v2/actions/triggers/123/bindings', {
193
+ per_page: 10,
194
+ page: 1
195
+ })
196
+ expect do
197
+ @instance.trigger_bindings(
198
+ '123',
199
+ per_page: 10,
200
+ page: 1
201
+ )
202
+ end.not_to raise_error
203
+ end
204
+ end
205
+
206
+
207
+ context '.patch_trigger_bindings' do
208
+ it 'is expected to respond to a patch_trigger_bindings method' do
209
+ expect(@instance).to respond_to(:patch_trigger_bindings)
210
+ expect(@instance).to respond_to(:update_trigger_bindings)
211
+ end
212
+
213
+ it 'is expected to patch /api/v2/actions/triggers/{id}/bindings' do
214
+ expect(@instance).to receive(:patch).with(
215
+ '/api/v2/actions/triggers/post-login/bindings',
216
+ { name: 'name' }
217
+ )
218
+ expect { @instance.patch_trigger_bindings('post-login', { :name => 'name' }) }.not_to raise_error
219
+ end
220
+
221
+ it 'is expected to raise an exception when the trigger ID is empty' do
222
+ expect { @instance.patch_trigger_bindings(nil) }.to raise_exception(Auth0::MissingTriggerId)
223
+ end
224
+
225
+ it 'is expected to raise an exception when the body is empty' do
226
+ expect { @instance.patch_trigger_bindings('post-login') }.to raise_exception(Auth0::InvalidParameter)
227
+ end
228
+ end
229
+
230
+ context '.action_by_version' do
231
+ it 'is expected to respond to a action_by_version method' do
232
+ expect(@instance).to respond_to(:action_by_version)
233
+ expect(@instance).to respond_to(:get_action_by_version)
234
+ end
235
+
236
+ it 'is expected to call get request to /api/v2/actions/actions/{id}/versions/{version_id}' do
237
+ expect(@instance).to receive(:get).with(
238
+ '/api/v2/actions/actions/123/versions/v1'
239
+ )
240
+ expect { @instance.action_by_version('123', 'v1') }.not_to raise_error
241
+ end
242
+
243
+ it 'is expected to raise an exception when the action ID is empty' do
244
+ expect { @instance.action_by_version(nil, nil) }.to raise_exception(Auth0::MissingActionId)
245
+ end
246
+
247
+ it 'is expected to raise an exception when the version ID is empty' do
248
+ expect { @instance.action_by_version('123', nil) }.to raise_exception(Auth0::MissingVersionId)
249
+ end
250
+ end
251
+
252
+ context '.deploy_action' do
253
+ it 'is expected to respond to a deploy_action method' do
254
+ expect(@instance).to respond_to(:deploy_action)
255
+ end
256
+
257
+ it 'is expected to call post request to /api/v2/actions/actions/{id}/deploy' do
258
+ expect(@instance).to receive(:post).with(
259
+ '/api/v2/actions/actions/123/deploy'
260
+ )
261
+ expect { @instance.deploy_action('123') }.not_to raise_error
262
+ end
263
+
264
+ it 'is expected to raise an exception when the action ID is empty' do
265
+ expect { @instance.deploy_action(nil) }.to raise_exception(Auth0::MissingActionId)
266
+ end
267
+ end
268
+
269
+ context '.test_action' do
270
+ it 'is expected to respond to a test_action method' do
271
+ expect(@instance).to respond_to(:test_action)
272
+ end
273
+
274
+ it 'is expected to raise an exception when the action ID is empty' do
275
+ expect { @instance.test_action(nil) }.to raise_exception(Auth0::MissingActionId)
276
+ end
277
+
278
+ it 'is expected to post to /api/v2/actions/{id}/test' do
279
+ expect(@instance).to receive(:post).with(
280
+ '/api/v2/actions/actions/123/test',
281
+ { name: 'test_org' }
282
+ )
283
+ expect do
284
+ @instance.test_action(
285
+ '123',
286
+ name: 'test_org'
287
+ )
288
+ end.not_to raise_error
289
+ end
290
+ end
291
+
292
+ context '.rollback_action' do
293
+ it 'is expected to respond to a rollback_action method' do
294
+ expect(@instance).to respond_to(:rollback_action)
295
+ end
296
+
297
+ it 'is expected to call post request to /api/v2/actions/actions/{id}/versions/{version_id}/deploy' do
298
+ expect(@instance).to receive(:post).with(
299
+ '/api/v2/actions/actions/123/versions/v1/deploy'
300
+ )
301
+ expect { @instance.rollback_action('123', 'v1') }.not_to raise_error
302
+ end
303
+
304
+ it 'is expected to raise an exception when the action ID is empty' do
305
+ expect { @instance.rollback_action(nil, nil) }.to raise_exception(Auth0::MissingActionId)
306
+ end
307
+
308
+ it 'is expected to raise an exception when the version ID is empty' do
309
+ expect { @instance.rollback_action('123', nil) }.to raise_exception(Auth0::MissingVersionId)
310
+ end
311
+ end
312
+ end
@@ -0,0 +1,132 @@
1
+ require 'spec_helper'
2
+
3
+ describe Auth0::Api::V2::AttackProtection do
4
+ before :all do
5
+ dummy_instance = DummyClass.new
6
+ dummy_instance.extend(Auth0::Api::V2::AttackProtection)
7
+ @instance = dummy_instance
8
+ end
9
+
10
+ context '.get breached-password-detection' do
11
+ it 'responds to a breached_password_detection method' do
12
+ expect(@instance).to respond_to(:breached_password_detection)
13
+ end
14
+
15
+ it 'responds to get_breached_password_detection_settings' do
16
+ expect(@instance).to respond_to(:get_breached_password_detection_settings)
17
+ end
18
+
19
+ it 'is expected to get /api/v2/attack-protection/breached-password' do
20
+ expect(@instance).to receive(:get).with(
21
+ '/api/v2/attack-protection/breached-password-detection'
22
+ )
23
+
24
+ expect { @instance.breached_password_detection }.not_to raise_error
25
+ end
26
+ end
27
+
28
+ context '.patch breached-password-detection' do
29
+ it 'responds to a patch_breached_password_detection method' do
30
+ expect(@instance).to respond_to(:patch_breached_password_detection)
31
+ end
32
+
33
+ it 'responds to a update_breached_password_detection_settings method' do
34
+ expect(@instance).to respond_to(:update_breached_password_detection_settings)
35
+ end
36
+
37
+ it 'is expected to patch /api/v2/attack-protection/breached-password-detection' do
38
+ expect(@instance).to receive(:patch).with(
39
+ '/api/v2/attack-protection/breached-password-detection',
40
+ {
41
+ enabled: true
42
+ }
43
+ )
44
+
45
+ @instance.patch_breached_password_detection({
46
+ enabled: true
47
+ })
48
+ end
49
+ end
50
+
51
+ context '.get brute_force_protection' do
52
+ it 'responds to brute_force_protection' do
53
+ expect(@instance).to respond_to(:brute_force_protection)
54
+ end
55
+
56
+ it 'responds to get_brute_force_protection_settings' do
57
+ expect(@instance).to respond_to(:get_brute_force_protection_settings)
58
+ end
59
+
60
+ it 'is expected to get /api/v2/attack-protection/brute-force-protection' do
61
+ expect(@instance).to receive(:get).with(
62
+ '/api/v2/attack-protection/brute-force-protection'
63
+ )
64
+
65
+ expect { @instance.brute_force_protection }.not_to raise_error
66
+ end
67
+ end
68
+
69
+ context '.patch brute-force-protection' do
70
+ it 'responds to patch_brute-force-protection' do
71
+ expect(@instance).to respond_to(:patch_brute_force_protection)
72
+ end
73
+
74
+ it 'responds to update_brute_force_protection_settings' do
75
+ expect(@instance).to respond_to(:update_brute_force_protection_settings)
76
+ end
77
+
78
+ it 'is expected to respond to patch /api/v2/attack-protection/brute-force-protection' do
79
+ expect(@instance).to receive(:patch).with(
80
+ '/api/v2/attack-protection/brute-force-protection',
81
+ {
82
+ enabled: true
83
+ }
84
+ )
85
+
86
+ @instance.patch_brute_force_protection({
87
+ enabled: true
88
+ })
89
+ end
90
+ end
91
+
92
+ context '.get suspicious-ip-throttling' do
93
+ it 'responds to suspicious_ip_throttling' do
94
+ expect(@instance).to respond_to(:suspicious_ip_throttling)
95
+ end
96
+
97
+ it 'responds to get_suspicious_ip_throttling_settings' do
98
+ expect(@instance).to respond_to(:get_suspicious_ip_throttling_settings)
99
+ end
100
+
101
+ it 'is expected to get /api/v2/attack-protection/suspicious-ip-throttling' do
102
+ expect(@instance).to receive(:get).with(
103
+ '/api/v2/attack-protection/suspicious-ip-throttling'
104
+ )
105
+
106
+ expect { @instance.suspicious_ip_throttling }.not_to raise_error
107
+ end
108
+ end
109
+
110
+ context '.patch suspicious-ip-throttling' do
111
+ it 'responds to patch_suspicious_ip_throttling' do
112
+ expect(@instance).to respond_to(:patch_suspicious_ip_throttling)
113
+ end
114
+
115
+ it 'responds to update_suspicious_ip_throttling_settings' do
116
+ expect(@instance).to respond_to(:update_suspicious_ip_throttling_settings)
117
+ end
118
+
119
+ it 'is expected to patch /api/v2/attack-protection/suspicious-ip-throttling' do
120
+ expect(@instance).to receive(:patch).with(
121
+ '/api/v2/attack-protection/suspicious-ip-throttling',
122
+ {
123
+ enabled: true
124
+ }
125
+ )
126
+
127
+ @instance.patch_suspicious_ip_throttling({
128
+ enabled: true
129
+ })
130
+ end
131
+ end
132
+ end
@@ -9,7 +9,7 @@ describe Auth0::Api::V2::Blacklists do
9
9
  context '.blacklisted_tokens' do
10
10
  it { expect(@instance).to respond_to(:blacklisted_tokens) }
11
11
  it 'is expected to call /api/v2/blacklists/tokens' do
12
- expect(@instance).to receive(:get).with('/api/v2/blacklists/tokens', aud: nil)
12
+ expect(@instance).to receive(:get).with('/api/v2/blacklists/tokens', { aud: nil })
13
13
  expect { @instance.blacklisted_tokens }.not_to raise_error
14
14
  end
15
15
  end
@@ -17,7 +17,7 @@ describe Auth0::Api::V2::Blacklists do
17
17
  context '.add_token.to_blacklist' do
18
18
  it { expect(@instance).to respond_to(:add_token_to_blacklist) }
19
19
  it 'is expected to call post to /api/v2/blacklists/tokens' do
20
- expect(@instance).to receive(:post).with('/api/v2/blacklists/tokens', aud: 'aud', jti: 'jti')
20
+ expect(@instance).to receive(:post).with('/api/v2/blacklists/tokens', { aud: 'aud', jti: 'jti' })
21
21
  @instance.add_token_to_blacklist('jti', 'aud')
22
22
  end
23
23
  it { expect { @instance.add_token_to_blacklist('', '') }.to raise_error 'Must specify a valid JTI' }
@@ -24,8 +24,9 @@ describe Auth0::Api::V2::Branding do
24
24
  it { expect(@instance).to respond_to(:patch_branding) }
25
25
  it 'is expected to call post /api/v2/branding' do
26
26
  expect(@instance).to receive(:patch).with(
27
- '/api/v2/branding',
28
- template: 'Test'
27
+ '/api/v2/branding', {
28
+ template: 'Test'
29
+ }
29
30
  )
30
31
  expect { @instance.patch_branding({ template: 'Test' }) }.not_to raise_error
31
32
  end
@@ -52,7 +53,7 @@ describe Auth0::Api::V2::Branding do
52
53
  it { expect(@instance).to respond_to(:put_branding_templates_for_universal_login) }
53
54
  it 'is expected to call put /api/v2/branding/templates/universal-login' do
54
55
  expect(@instance).to receive(:put).with(
55
- '/api/v2/branding/templates/universal-login', template: 'Template'
56
+ '/api/v2/branding/templates/universal-login', { template: 'Template' }
56
57
  )
57
58
  expect do
58
59
  @instance.put_branding_templates_for_universal_login(template: 'Template')
@@ -12,12 +12,12 @@ describe Auth0::Api::V2::ClientGrants do
12
12
 
13
13
  it 'is expected to get /api/v2/client-grants/' do
14
14
  expect(@instance).to receive(:get).with(
15
- '/api/v2/client-grants',
15
+ '/api/v2/client-grants', {
16
16
  client_id: nil,
17
17
  audience: nil,
18
18
  page: nil,
19
19
  per_page: nil
20
- )
20
+ })
21
21
  expect { @instance.client_grants }.not_to raise_error
22
22
  end
23
23
 
@@ -25,23 +25,23 @@ describe Auth0::Api::V2::ClientGrants do
25
25
  audience = "https://samples.auth0.com/api/v2/"
26
26
 
27
27
  expect(@instance).to receive(:get).with(
28
- '/api/v2/client-grants',
28
+ '/api/v2/client-grants', {
29
29
  client_id: '1',
30
30
  audience: audience,
31
31
  page: nil,
32
32
  per_page: nil
33
- )
34
- expect { @instance.client_grants(client_id: '1', audience: audience) }.not_to raise_error
33
+ })
34
+ expect { @instance.client_grants(client_id: '1', audience: audience ) }.not_to raise_error
35
35
  end
36
36
 
37
37
  it 'is expected to send get /api/v2/client-grants/ with pagination' do
38
38
  expect(@instance).to receive(:get).with(
39
- '/api/v2/client-grants',
39
+ '/api/v2/client-grants', {
40
40
  client_id: nil,
41
41
  audience: nil,
42
42
  page: 1,
43
43
  per_page: 2
44
- )
44
+ })
45
45
  expect { @instance.client_grants(page: 1, per_page: 2) }.not_to raise_error
46
46
  end
47
47
  end
@@ -49,7 +49,7 @@ describe Auth0::Api::V2::ClientGrants do
49
49
  context '.create_client_grant' do
50
50
  it { expect(@instance).to respond_to(:create_client_grant) }
51
51
  it 'is expected to send post to /api/v2/client-grants' do
52
- expect(@instance).to receive(:post).with('/api/v2/client-grants', opt: 'test body')
52
+ expect(@instance).to receive(:post).with('/api/v2/client-grants', { opt: 'test body' })
53
53
  expect { @instance.create_client_grant(opt: 'test body') }.not_to raise_error
54
54
  end
55
55
  end