auth0 5.4.0 → 5.7.0

Sign up to get free protection for your applications and to get access to all the features.
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