auth0 4.4.0 → 5.1.2

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 (289) hide show
  1. checksums.yaml +4 -4
  2. data/.bundle/config +3 -2
  3. data/.circleci/config.yml +44 -0
  4. data/.env.example +2 -0
  5. data/.github/CODEOWNERS +1 -0
  6. data/.github/ISSUE_TEMPLATE/config.yml +8 -0
  7. data/.github/ISSUE_TEMPLATE/feature_request.md +39 -0
  8. data/.github/ISSUE_TEMPLATE/report_a_bug.md +55 -0
  9. data/.github/PULL_REQUEST_TEMPLATE.md +35 -0
  10. data/.github/stale.yml +20 -0
  11. data/.gitignore +1 -2
  12. data/.rubocop.yml +2 -0
  13. data/.yardoc/checksums +22 -0
  14. data/.yardoc/complete +0 -0
  15. data/.yardoc/object_types +0 -0
  16. data/.yardoc/objects/root.dat +0 -0
  17. data/.yardoc/proxy_types +0 -0
  18. data/CHANGELOG.md +334 -19
  19. data/CODE_OF_CONDUCT.md +3 -0
  20. data/DEPLOYMENT.md +56 -9
  21. data/Gemfile +10 -3
  22. data/README.md +260 -37
  23. data/Rakefile +4 -23
  24. data/auth0.gemspec +10 -9
  25. data/codecov.yml +22 -0
  26. data/examples/ruby-api/.gitignore +0 -6
  27. data/lib/auth0/algorithm.rb +5 -0
  28. data/lib/auth0/api/authentication_endpoints.rb +244 -237
  29. data/lib/auth0/api/v2/anomaly.rb +36 -0
  30. data/lib/auth0/api/v2/branding.rb +66 -0
  31. data/lib/auth0/api/v2/client_grants.rb +14 -5
  32. data/lib/auth0/api/v2/clients.rb +9 -6
  33. data/lib/auth0/api/v2/connections.rb +19 -7
  34. data/lib/auth0/api/v2/device_credentials.rb +5 -4
  35. data/lib/auth0/api/v2/guardian.rb +142 -0
  36. data/lib/auth0/api/v2/jobs.rb +77 -13
  37. data/lib/auth0/api/v2/log_streams.rb +78 -0
  38. data/lib/auth0/api/v2/logs.rb +11 -11
  39. data/lib/auth0/api/v2/organizations.rb +335 -0
  40. data/lib/auth0/api/v2/prompts.rb +70 -0
  41. data/lib/auth0/api/v2/resource_servers.rb +32 -8
  42. data/lib/auth0/api/v2/roles.rb +172 -0
  43. data/lib/auth0/api/v2/rules.rb +6 -2
  44. data/lib/auth0/api/v2/tickets.rb +55 -8
  45. data/lib/auth0/api/v2/users.rb +168 -28
  46. data/lib/auth0/api/v2/users_by_email.rb +3 -2
  47. data/lib/auth0/api/v2.rb +16 -2
  48. data/lib/auth0/client.rb +1 -1
  49. data/lib/auth0/exception.rb +34 -9
  50. data/lib/auth0/mixins/access_token_struct.rb +20 -0
  51. data/lib/auth0/mixins/api_token_struct.rb +10 -0
  52. data/lib/auth0/mixins/headers.rb +35 -0
  53. data/lib/auth0/mixins/httpproxy.rb +37 -14
  54. data/lib/auth0/mixins/initializer.rb +10 -26
  55. data/lib/auth0/mixins/permission_struct.rb +3 -0
  56. data/lib/auth0/mixins/validation.rb +346 -0
  57. data/lib/auth0/mixins.rb +9 -1
  58. data/lib/auth0/version.rb +1 -1
  59. data/lib/auth0.rb +1 -0
  60. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_change_password/should_trigger_a_password_reset.yml +63 -0
  61. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_email.yml +54 -0
  62. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_password.yml +54 -0
  63. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_invalid_audience.yml +55 -0
  64. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_custom_audience.yml +117 -0
  65. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_default_scope.yml +119 -0
  66. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_saml_metadata/should_retrieve_SAML_metadata.yml +57 -0
  67. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_fail_as_not_authorized.yml +55 -0
  68. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_return_the_userinfo.yml +118 -0
  69. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_wsfed_metadata/should_retrieve_WSFED_metadata.yml +55 -0
  70. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/create_test_user.yml +58 -0
  71. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/delete_test_user.yml +54 -0
  72. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Anomaly/_check_if_ip_is_blocked/should_return_200_response_code.yml +65 -0
  73. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Anomaly/_remove_ip_block/should_remove_an_IP_successfully.yml +60 -0
  74. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_add_token_to_blacklist/should_add_a_token_to_the_blacklist.yml +56 -0
  75. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_blacklisted_tokens/should_get_the_added_token_from_the_blacklist.yml +59 -0
  76. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_at_least_1_result.yml +62 -0
  77. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_first_page_of_one_result.yml +66 -0
  78. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_test_client_grant.yml +62 -0
  79. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_delete_client_grant/should_delete_the_test_client_grant.yml +54 -0
  80. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_patch_client_grant/should_update_the_test_client_grant.yml +64 -0
  81. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client.yml +118 -0
  82. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client_grant.yml +64 -0
  83. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client.yml +54 -0
  84. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client_grant.yml +54 -0
  85. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_exclude_and_include_fields_properly.yml +91 -0
  86. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_include_the_specified_fields.yml +63 -0
  87. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/should_get_the_test_client.yml +92 -0
  88. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_fields_not_specified.yml +60 -0
  89. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_the_specified_fields.yml +132 -0
  90. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_include_the_specified_fields.yml +63 -0
  91. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_paginate_results.yml +65 -0
  92. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/should_get_at_least_one_client.yml +132 -0
  93. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_delete_client/should_delete_the_test_client_without_an_error.yml +54 -0
  94. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_patch_client/should_update_the_client_with_the_correct_attributes.yml +94 -0
  95. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/create_test_client.yml +118 -0
  96. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_exclude_the_fields_indicated.yml +63 -0
  97. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_include_the_fields_indicated.yml +61 -0
  98. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/should_find_the_correct_connection.yml +63 -0
  99. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_include_previously-created_connection_when_filtered.yml +59 -0
  100. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_exclude_the_fields_indicated_from_filtered_results.yml +59 -0
  101. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_include_the_fields_indicated_from_filtered_results.yml +59 -0
  102. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_include_the_previously_created_connection.yml +59 -0
  103. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_not_be_empty.yml +59 -0
  104. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection/should_delete_the_connection.yml +54 -0
  105. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection_user/should_delete_the_user_created.yml +110 -0
  106. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_update_connection/should_update_the_connection.yml +66 -0
  107. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_connection.yml +65 -0
  108. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_user.yml +68 -0
  109. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_delete_device_credential/should_delete_the_test_credential_without_an_error.yml +54 -0
  110. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/_filter_by_type/should_exclude_the_test_credential.yml +59 -0
  111. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/should_have_at_least_1_entry.yml +62 -0
  112. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/should_include_the_test_credential.yml +62 -0
  113. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_credential.yml +62 -0
  114. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_user.yml +68 -0
  115. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_credential.yml +54 -0
  116. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_user.yml +54 -0
  117. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_configure_provider/should_configure_a_new_email_provider.yml +63 -0
  118. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_delete_the_existing_email_provider_without_an_error.yml +54 -0
  119. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_throw_an_error_trying_to_get_the_email_provider.yml +51 -0
  120. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_with_specific_fields.yml +60 -0
  121. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_without_specific_fields.yml +61 -0
  122. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/should_get_the_existing_email_provider.yml +61 -0
  123. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_update_provider/should_update_the_existing_email_provider.yml +63 -0
  124. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/delete_existing_provider.yml +54 -0
  125. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_create_an_export_users_job_successfully.yml +61 -0
  126. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_get_the_export_users_job.yml +117 -0
  127. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_create_an_import_users_job_successfully.yml +60 -0
  128. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_get_the_import_users_job.yml +116 -0
  129. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_create_a_new_verification_email_job.yml +119 -0
  130. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_get_the_completed_verification_email.yml +175 -0
  131. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_reject_an_invalid_client_id.yml +109 -0
  132. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/delete_imported_user.yml +110 -0
  133. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/search_for_connection_id.yml +59 -0
  134. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_match_the_created_log_entry.yml +265 -0
  135. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_not_be_empty.yml +265 -0
  136. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_fields_not_specified.yml +61 -0
  137. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_the_specified_fields.yml +75 -0
  138. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_have_one_log_entry.yml +76 -0
  139. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_include_the_specified_fields.yml +62 -0
  140. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_from/should_take_one_log_entry.yml +258 -0
  141. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/create_test_user.yml +68 -0
  142. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_disabled_rule.yml +54 -0
  143. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_enabled_rule.yml +54 -0
  144. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_user.yml +54 -0
  145. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_delete_resource_server/should_delete_the_test_server_without_an_error.yml +54 -0
  146. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_patch_resource_server/should_update_the_resource_server_with_the_correct_attributes.yml +61 -0
  147. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_server/should_get_the_test_server.yml +59 -0
  148. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_get_the_test_server.yml +59 -0
  149. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_at_least_1_result.yml +59 -0
  150. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_the_first_page_of_one_result.yml +64 -0
  151. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/create_test_server.yml +61 -0
  152. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/delete_test_server.yml +54 -0
  153. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_permissions/should_add_a_Permission_to_the_Role_successfully.yml +69 -0
  154. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_users/should_add_a_User_to_the_Role_successfully.yml +69 -0
  155. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_delete_role/should_delete_the_Role_successfully.yml +62 -0
  156. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role/should_get_the_Role_successfully.yml +67 -0
  157. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_exactly_1_Permission.yml +67 -0
  158. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_the_added_Permission_from_the_Role_successfully.yml +67 -0
  159. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_exactly_1_User.yml +67 -0
  160. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_the_added_User_from_the_Role_successfully.yml +67 -0
  161. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_roles/should_get_the_Role_successfully.yml +67 -0
  162. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_remove_role_permissions/should_remove_a_Permission_from_the_Role_successfully.yml +64 -0
  163. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_update_role/should_update_the_Role_successfully.yml +69 -0
  164. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_api.yml +69 -0
  165. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_role.yml +69 -0
  166. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_user.yml +69 -0
  167. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_api.yml +62 -0
  168. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_user.yml +62 -0
  169. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_disabled_rule_without_an_error.yml +54 -0
  170. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_enabled_rule_without_an_error.yml +54 -0
  171. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_fields_not_specified.yml +62 -0
  172. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_specified_fields.yml +62 -0
  173. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_include_the_specified_fields.yml +61 -0
  174. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/should_get_a_specific_rule.yml +62 -0
  175. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_exclude_fields_not_specified.yml +60 -0
  176. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_include_the_specified_fields.yml +61 -0
  177. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_disabled_rule.yml +63 -0
  178. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_enabled_rule.yml +62 -0
  179. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_paginated_results.yml +128 -0
  180. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/should_return_at_least_1_rule.yml +64 -0
  181. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_update_rule/should_update_the_disabled_rule_to_be_enabled.yml +64 -0
  182. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_disabled_rule.yml +65 -0
  183. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_enabled_rule.yml +65 -0
  184. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_active_users/should_have_at_least_one_active_user.yml +59 -0
  185. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_daily_stats/should_have_at_least_one_stats_entry_for_the_timeframe.yml +63 -0
  186. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings/should_get_the_tenant_settings.yml +95 -0
  187. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_exclude_a_field_not_requested.yml +61 -0
  188. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_include_the_field_requested.yml +61 -0
  189. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_revert_the_tenant_name.yml +96 -0
  190. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_update_the_tenant_settings_with_a_new_tenant_name.yml +96 -0
  191. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_email_verification/should_create_an_email_verification_ticket.yml +63 -0
  192. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_password_change/should_create_a_password_change_ticket.yml +63 -0
  193. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/create_test_user.yml +68 -0
  194. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/delete_test_user.yml +54 -0
  195. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_permissions/should_add_a_Permissions_for_a_User_successfully.yml +67 -0
  196. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_roles/should_add_a_Role_to_a_User_successfully.yml +62 -0
  197. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_User_successfully.yml +60 -0
  198. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_secondary_User_successfully.yml +60 -0
  199. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user_provider/should_attempt_to_delete_the_MFA_provider_for_the_User.yml +60 -0
  200. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_enrollments/should_get_Enrollments_for_a_User_successfully.yml +65 -0
  201. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_exactly_1_Permission_for_a_User_successfully.yml +65 -0
  202. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_the_correct_Permission_for_a_User_successfully.yml +65 -0
  203. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_roles/should_get_Roles_for_a_User_successfully.yml +65 -0
  204. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_invalidate_browsers/should_invalidate_MFA_browsers_for_the_User_successfully.yml +62 -0
  205. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_link_user_account/should_link_two_Users_successfully.yml +67 -0
  206. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_patch_user/should_patch_the_User_successfully.yml +68 -0
  207. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_permissions/should_remove_a_Permission_from_a_User_successfully.yml +62 -0
  208. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_roles/should_remove_a_Role_from_a_User_successfully.yml +62 -0
  209. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_unlink_user_account/should_unlink_two_Users_successfully.yml +65 -0
  210. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_fields_not_indicated.yml +65 -0
  211. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_the_fields_indicated.yml +65 -0
  212. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_include_the_fields_indicated.yml +65 -0
  213. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/should_retrieve_the_created_user.yml +65 -0
  214. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user_logs/should_get_Logs_for_a_User_successfully.yml +69 -0
  215. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/is_expected_to_find_a_user_with_a_v2_search_engine_query.yml +65 -0
  216. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/is_expected_to_find_a_user_with_a_v3_search_engine_query.yml +65 -0
  217. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_exclude_the_indicated_fields_when_paginated.yml +65 -0
  218. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_include_the_indicated_fields_when_paginated.yml +65 -0
  219. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_not_include_other_fields_when_paginated.yml +65 -0
  220. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_return_the_correct_number_of_results_when_paginated.yml +65 -0
  221. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/should_have_at_least_one_user.yml +65 -0
  222. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_secondary_test_user.yml +67 -0
  223. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_api.yml +67 -0
  224. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_role.yml +67 -0
  225. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_user.yml +67 -0
  226. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_api.yml +60 -0
  227. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_role.yml +60 -0
  228. data/spec/integration/lib/auth0/api/api_authentication_spec.rb +96 -54
  229. data/spec/integration/lib/auth0/api/v2/api_anomaly_spec.rb +17 -0
  230. data/spec/integration/lib/auth0/api/v2/api_blacklist_spec.rb +18 -5
  231. data/spec/integration/lib/auth0/api/v2/api_client_grants_spec.rb +46 -33
  232. data/spec/integration/lib/auth0/api/v2/api_clients_spec.rb +115 -61
  233. data/spec/integration/lib/auth0/api/v2/api_connections_spec.rb +117 -103
  234. data/spec/integration/lib/auth0/api/v2/api_device_credentials_spec.rb +101 -58
  235. data/spec/integration/lib/auth0/api/v2/api_email_spec.rb +72 -77
  236. data/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb +113 -60
  237. data/spec/integration/lib/auth0/api/v2/api_logs_spec.rb +46 -38
  238. data/spec/integration/lib/auth0/api/v2/api_resource_servers_spec.rb +110 -40
  239. data/spec/integration/lib/auth0/api/v2/api_roles_spec.rb +145 -0
  240. data/spec/integration/lib/auth0/api/v2/api_rules_spec.rb +119 -62
  241. data/spec/integration/lib/auth0/api/v2/api_stats_spec.rb +11 -14
  242. data/spec/integration/lib/auth0/api/v2/api_tenants_spec.rb +40 -34
  243. data/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb +42 -28
  244. data/spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb +1 -1
  245. data/spec/integration/lib/auth0/api/v2/api_users_spec.rb +252 -120
  246. data/spec/integration/lib/auth0/auth0_client_spec.rb +32 -26
  247. data/spec/lib/auth0/api/v2/anomaly_spec.rb +26 -0
  248. data/spec/lib/auth0/api/v2/branding_spec.rb +70 -0
  249. data/spec/lib/auth0/api/v2/client_grants_spec.rb +34 -2
  250. data/spec/lib/auth0/api/v2/clients_spec.rb +50 -5
  251. data/spec/lib/auth0/api/v2/connections_spec.rb +49 -1
  252. data/spec/lib/auth0/api/v2/guardian_spec.rb +154 -0
  253. data/spec/lib/auth0/api/v2/jobs_spec.rb +109 -6
  254. data/spec/lib/auth0/api/v2/log_streams_spec.rb +84 -0
  255. data/spec/lib/auth0/api/v2/organizations_spec.rb +593 -0
  256. data/spec/lib/auth0/api/v2/prompts_spec.rb +88 -0
  257. data/spec/lib/auth0/api/v2/resource_servers_spec.rb +23 -0
  258. data/spec/lib/auth0/api/v2/roles_spec.rb +362 -0
  259. data/spec/lib/auth0/api/v2/rules_spec.rb +23 -1
  260. data/spec/lib/auth0/api/v2/tickets_spec.rb +95 -5
  261. data/spec/lib/auth0/api/v2/users_spec.rb +465 -61
  262. data/spec/lib/auth0/client_spec.rb +196 -18
  263. data/spec/lib/auth0/mixins/httpproxy_spec.rb +83 -4
  264. data/spec/lib/auth0/mixins/initializer_spec.rb +1 -0
  265. data/spec/lib/auth0/mixins/validation_spec.rb +498 -0
  266. data/spec/spec_helper.rb +54 -11
  267. data/spec/support/credentials.rb +6 -18
  268. data/spec/support/dummy_class.rb +7 -3
  269. data/spec/support/dummy_class_for_proxy.rb +1 -0
  270. data/spec/support/stub_response.rb +1 -1
  271. metadata +497 -53
  272. data/.travis.yml +0 -18
  273. data/build_travis.sh +0 -7
  274. data/deploy_documentation.sh +0 -29
  275. data/doc_config/templates/default/fulldoc/html/css/full_list.css +0 -79
  276. data/doc_config/templates/default/fulldoc/html/css/style.css +0 -546
  277. data/doc_config/templates/default/layout/html/breadcrumb.erb +0 -11
  278. data/doc_config/templates/default/layout/html/footer.erb +0 -115
  279. data/doc_config/templates/default/layout/html/headers.erb +0 -17
  280. data/doc_config/templates/default/layout/html/layout.erb +0 -27
  281. data/lib/auth0/api/v1/clients.rb +0 -48
  282. data/lib/auth0/api/v1/connections.rb +0 -53
  283. data/lib/auth0/api/v1/logs.rb +0 -34
  284. data/lib/auth0/api/v1/rules.rb +0 -45
  285. data/lib/auth0/api/v1/users.rb +0 -164
  286. data/lib/auth0/api/v1.rb +0 -19
  287. data/spec/lib/auth0/api/authentication_endpoints_spec.rb +0 -348
  288. data/spec/spec_helper_full.rb +0 -45
  289. data/spec/spec_helper_unit.rb +0 -3
@@ -1,348 +0,0 @@
1
- require 'spec_helper'
2
- describe Auth0::Api::AuthenticationEndpoints do
3
- before :all do
4
- dummy_instance = DummyClass.new
5
- dummy_instance.extend(Auth0::Api::AuthenticationEndpoints)
6
-
7
- @instance = dummy_instance
8
- end
9
-
10
- context '.obtain_access_token' do
11
- it { expect(@instance).to respond_to(:obtain_access_token) }
12
- it "is expected to make post request to '/oauth/token'" do
13
- allow(@instance).to receive(:post).with(
14
- '/oauth/token', client_id: @instance.client_id, client_secret: nil, grant_type: 'client_credentials'
15
- )
16
- .and_return('access_token' => 'AccessToken')
17
- expect(@instance).to receive(:post).with(
18
- '/oauth/token', client_id: @instance.client_id, client_secret: nil, grant_type: 'client_credentials'
19
- )
20
- expect(@instance.obtain_access_token).to eql 'AccessToken'
21
- end
22
- end
23
-
24
- context '.obtain_access_token social' do
25
- it { expect(@instance).to respond_to(:obtain_access_token) }
26
- it "is expected to make post request to '/oauth/access_token'" do
27
- allow(@instance).to receive(:post).with(
28
- '/oauth/access_token', client_id: @instance.client_id, access_token: 'access_token', connection: 'facebook',
29
- scope: 'openid'
30
- )
31
- .and_return('access_token' => 'AccessToken')
32
- expect(@instance).to receive(:post).with(
33
- '/oauth/access_token', client_id: @instance.client_id, access_token: 'access_token', connection: 'facebook',
34
- scope: 'openid'
35
- )
36
- expect(@instance.obtain_access_token('access_token', 'facebook', 'openid')).to eql 'AccessToken'
37
- end
38
- end
39
-
40
- context '.obtain_user_tokens' do
41
- it { expect(@instance).to respond_to(:obtain_user_tokens) }
42
- it "is expected to make post request to '/oauth/token'" do
43
- allow(@instance).to receive(:post).with(
44
- '/oauth/token', client_id: @instance.client_id, client_secret: nil, grant_type: 'authorization_code',
45
- connection: 'facebook', code: 'code', scope: 'openid', redirect_uri: 'uri'
46
- )
47
- .and_return('user_tokens' => 'UserToken')
48
- expect(@instance).to receive(:post).with(
49
- '/oauth/token', client_id: @instance.client_id, client_secret: nil, grant_type: 'authorization_code',
50
- connection: 'facebook', code: 'code', scope: 'openid', redirect_uri: 'uri'
51
- )
52
- expect(@instance.obtain_user_tokens('code', 'uri')['user_tokens']).to eq 'UserToken'
53
- end
54
- it { expect { @instance.obtain_user_tokens('', '') }.to raise_error 'Must supply a valid code' }
55
- it { expect { @instance.obtain_user_tokens('code', '') }.to raise_error 'Must supply a valid redirect_uri' }
56
- end
57
-
58
- context '.login' do
59
- it { expect(@instance).to respond_to(:login) }
60
- it 'is expected to make post to /oauth/token' do
61
- expect(@instance).to receive(:post).with(
62
- '/oauth/token',
63
- client_id: @instance.client_id,
64
- username: 'test@test.com',
65
- client_secret: @instance.client_secret,
66
- password: 'password', scope: 'openid', connection: 'Username-Password-Authentication',
67
- grant_type: 'password', id_token: nil, device: nil
68
- )
69
- @instance.login('test@test.com', 'password')
70
- end
71
- it { expect { @instance.login('', '') }.to raise_error 'Must supply a valid username' }
72
- it { expect { @instance.login('username', '') }.to raise_error 'Must supply a valid password' }
73
- end
74
-
75
- context '.signup' do
76
- it { expect(@instance).to respond_to(:signup) }
77
- it 'is expected to make post to /dbconnections/signup' do
78
- expect(@instance).to receive(:post).with(
79
- '/dbconnections/signup',
80
- client_id: @instance.client_id, email: 'test@test.com',
81
- password: 'password', connection: 'User'
82
- )
83
- @instance.signup('test@test.com', 'password', 'User')
84
- end
85
- it { expect { @instance.signup('', '') }.to raise_error 'Must supply a valid email' }
86
- it { expect { @instance.signup('email', '') }.to raise_error 'Must supply a valid password' }
87
- end
88
-
89
- context '.change_password' do
90
- it { expect(@instance).to respond_to(:change_password) }
91
- it 'is expected to make post to /dbconnections/change_password' do
92
- expect(@instance).to receive(:post).with(
93
- '/dbconnections/change_password',
94
- client_id: @instance.client_id, email: 'test@test.com',
95
- password: 'password', connection: 'User'
96
- )
97
- @instance.change_password('test@test.com', 'password', 'User')
98
- end
99
- it { expect { @instance.change_password('', '', '') }.to raise_error 'Must supply a valid email' }
100
- end
101
-
102
- context '.start_passwordless_email_flow' do
103
- it { expect(@instance).to respond_to(:start_passwordless_email_flow) }
104
- it 'is expected to make post to /passwordless/start' do
105
- expect(@instance).to receive(:post).with(
106
- '/passwordless/start',
107
- client_id: @instance.client_id,
108
- connection: 'email',
109
- email: 'test@test.com',
110
- send: 'link',
111
- authParams: {
112
- scope: 'scope',
113
- protocol: 'protocol'
114
- }
115
- )
116
- @instance.start_passwordless_email_flow('test@test.com', 'link', scope: 'scope', protocol: 'protocol')
117
- end
118
- it { expect { @instance.start_passwordless_email_flow('', '', '') }.to raise_error 'Must supply a valid email' }
119
- end
120
-
121
- context '.start_passwordless_sms_flow' do
122
- let(:phone_number) { Faker::PhoneNumber.cell_phone }
123
- it { expect(@instance).to respond_to(:start_passwordless_sms_flow) }
124
- it 'is expected to make post to /passwordless/start' do
125
- expect(@instance).to receive(:post).with(
126
- '/passwordless/start',
127
- client_id: @instance.client_id,
128
- connection: 'sms',
129
- phone_number: phone_number
130
- )
131
- @instance.start_passwordless_sms_flow(phone_number)
132
- end
133
- it { expect { @instance.start_passwordless_sms_flow('') }.to raise_error 'Must supply a valid phone number' }
134
- end
135
-
136
- context '.phone_login' do
137
- let(:phone_number) { Faker::PhoneNumber.cell_phone }
138
- let(:code) { Faker::Number.number(10) }
139
- it { expect(@instance).to respond_to(:phone_login) }
140
- it 'is expected to make post to /oauth/ro' do
141
- expect(@instance).to receive(:post).with(
142
- '/oauth/ro',
143
- client_id: @instance.client_id, username: phone_number,
144
- password: code, connection: 'sms',
145
- scope: 'openid', grant_type: 'password'
146
- )
147
- @instance.phone_login(phone_number, code)
148
- end
149
- it { expect { @instance.phone_login('', '') }.to raise_error 'Must supply a valid phone number' }
150
- it { expect { @instance.phone_login('phone', '') }.to raise_error 'Must supply a valid code' }
151
- end
152
-
153
- context '.saml_metadata' do
154
- it { expect(@instance).to respond_to(:saml_metadata) }
155
- it 'is expected to make post to /samlp/metadata/client-id' do
156
- expect(@instance).to receive(:get).with("/samlp/metadata/#{@instance.client_id}")
157
- @instance.saml_metadata
158
- end
159
- end
160
-
161
- context '.wsfed_metadata' do
162
- it { expect(@instance).to respond_to(:wsfed_metadata) }
163
- it 'is expected to make post to /wsfed/FederationMetadata/2007-06/FederationMetadata.xml' do
164
- expect(@instance).to receive(:get).with('/wsfed/FederationMetadata/2007-06/FederationMetadata.xml')
165
- @instance.wsfed_metadata
166
- end
167
- end
168
-
169
- context '.authorization_url' do
170
- let(:redirect_uri) { 'http://redirect.com' }
171
- it { expect(@instance).to respond_to(:authorization_url) }
172
- it 'is expected to return an authorization url' do
173
- expect(@instance.authorization_url(redirect_uri).to_s).to eq(
174
- "https://#{@instance.domain}/authorize?client_id=#{@instance.client_id}&response_type=code&"\
175
- "redirect_uri=#{redirect_uri}"
176
- )
177
- end
178
- let(:additional_parameters) { { additional_parameters: { aparam1: 'test1' } } }
179
- it 'is expected to return an authorization url with additionalParameters' do
180
- expect(@instance.authorization_url(redirect_uri, additional_parameters).to_s).to eq(
181
- "https://#{@instance.domain}/authorize?client_id=#{@instance.client_id}&response_type=code&"\
182
- "redirect_uri=#{redirect_uri}&aparam1=test1"
183
- )
184
- end
185
- let(:state) { { state: 'state1' } }
186
- it 'is expected to return an authorization url with additionalParameters' do
187
- expect(@instance.authorization_url(redirect_uri, state).to_s).to eq(
188
- "https://#{@instance.domain}/authorize?client_id=#{@instance.client_id}&response_type=code&"\
189
- "redirect_uri=#{redirect_uri}&state=state1"
190
- )
191
- end
192
- let(:connection) { { connection: 'connection-1' } }
193
- it 'is expected to return an authorization url with additionalParameters' do
194
- expect(@instance.authorization_url(redirect_uri, connection).to_s).to eq(
195
- "https://#{@instance.domain}/authorize?client_id=#{@instance.client_id}&response_type=code&"\
196
- "connection=connection-1&redirect_uri=#{redirect_uri}"
197
- )
198
- end
199
- it { expect { @instance.authorization_url('', '') }.to raise_error 'Must supply a valid redirect_uri' }
200
- end
201
- context '.token_info' do
202
- it { expect(@instance).to respond_to(:token_info) }
203
- it 'is expected to make post to /tokeinfo' do
204
- expect(@instance).to receive(:post).with('/tokeninfo', id_token: 'SomerandomToken')
205
- @instance.token_info('SomerandomToken')
206
- end
207
- it { expect { @instance.token_info('') }.to raise_error 'Must supply a valid id_token' }
208
- end
209
-
210
- context '.refresh_delegation' do
211
- it { expect(@instance).to respond_to(:refresh_delegation) }
212
- it "is expected to make post request to '/delegation'" do
213
- expect(@instance).to receive(:post).with(
214
- '/delegation',
215
- client_id: @instance.client_id,
216
- grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',
217
- refresh_token: 'id_token', target: '', api_type: '', scope: '',
218
- additional_parameter: 'parameter'
219
- )
220
- @instance.refresh_delegation('id_token', '', '', '', additional_parameter: 'parameter')
221
- end
222
- it { expect { @instance.refresh_delegation('', '', '', '') }.to raise_error 'Must supply a valid token to refresh' }
223
- end
224
-
225
- context '.delegation' do
226
- it { expect(@instance).to respond_to(:delegation) }
227
- it "is expected to make post request to '/delegation'" do
228
- expect(@instance).to receive(:post).with(
229
- '/delegation',
230
- client_id: @instance.client_id,
231
- grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',
232
- id_token: 'token',
233
- target: 'target',
234
- scope: '',
235
- api_type: 'app'
236
- )
237
- @instance.delegation('token', 'target', '')
238
- end
239
- it "is expected to make post request to '/delegation'
240
- with specified api_type" do
241
- expect(@instance).to receive(:post).with(
242
- '/delegation',
243
- client_id: @instance.client_id,
244
- grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',
245
- id_token: 'id_token', target: '', scope: '',
246
- api_type: 'salesforce_api'
247
- )
248
- @instance.delegation('id_token', '', '', 'salesforce_api')
249
- end
250
- it 'allows to pass extra parameters' do
251
- expect(@instance).to receive(:post).with(
252
- '/delegation',
253
- client_id: @instance.client_id,
254
- grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',
255
- id_token: 'id_token', target: '', scope: '', api_type: '',
256
- community_name: 'test-community', community_url: 'test-url'
257
- )
258
- @instance.delegation(
259
- 'id_token', '', '', '',
260
- community_name: 'test-community', community_url: 'test-url'
261
- )
262
- end
263
- it { expect { @instance.delegation('', nil, nil, nil) }.to raise_error 'Must supply a valid id_token' }
264
- end
265
-
266
- context '.impersonate' do
267
- let(:user_id) { 'some_user_id' }
268
- let(:impersonator_id) { 'some_other_user_id' }
269
- let(:app_client_id) { 'app_client_id' }
270
- it { expect(@instance).to respond_to(:impersonate) }
271
- it do
272
- expect { @instance.impersonate(user_id, app_client_id, impersonator_id, {}) }.to raise_error(
273
- 'Must supply client_secret'
274
- )
275
- end
276
- it do
277
- expect { @instance.impersonate('', app_client_id, impersonator_id, {}) }.to raise_error(
278
- 'Must supply a valid user_id'
279
- )
280
- end
281
- it do
282
- expect { @instance.impersonate(user_id, app_client_id, '', {}) }.to raise_error(
283
- 'Must supply a valid impersonator_id'
284
- )
285
- end
286
- it do
287
- expect { @instance.impersonate(user_id, '', impersonator_id, {}) }.to raise_error(
288
- 'Must supply a valid app_client_id'
289
- )
290
- end
291
- end
292
-
293
- context '.unlink_user' do
294
- it { expect(@instance).to respond_to(:unlink_user) }
295
- it 'is expected to make post to /unlink' do
296
- expect(@instance).to receive(:post).with('/unlink', access_token: 'access-token', user_id: 'user-id')
297
- @instance.unlink_user('access-token', 'user-id')
298
- end
299
- it { expect { @instance.unlink_user('', '') }.to raise_error 'Must supply a valid access_token' }
300
- it { expect { @instance.unlink_user('token', '') }.to raise_error 'Must supply a valid user_id' }
301
- end
302
-
303
- context '.user_info' do
304
- it { expect(@instance).to respond_to(:user_info) }
305
- it 'is expected to make post to /userinfo' do
306
- expect(@instance).to receive(:get).with('/userinfo')
307
- @instance.user_info
308
- end
309
- end
310
-
311
- context '.logout_url' do
312
- let(:return_to) { 'http://returnto.com' }
313
- it { expect(@instance).to respond_to(:logout_url) }
314
- it 'is expected to return a logout url' do
315
- expect(@instance.logout_url(return_to).to_s).to eq(
316
- "https://#{@instance.domain}/logout?returnTo=#{return_to}"
317
- )
318
- end
319
- end
320
-
321
- context '.samlp_url' do
322
- it { expect(@instance).to respond_to(:samlp_url) }
323
- it 'is expected to get the samlp url' do
324
- expect(@instance.samlp_url.to_s).to eq(
325
- "https://#{@instance.domain}/samlp/#{@instance.client_id}?connection=Username-Password-Authentication"
326
- )
327
- end
328
- it 'is expected to get the samlp url with fb connection' do
329
- expect(@instance.samlp_url('facebook').to_s).to eq(
330
- "https://#{@instance.domain}/samlp/#{@instance.client_id}?connection=facebook"
331
- )
332
- end
333
- end
334
-
335
- context '.wsfed_url' do
336
- it { expect(@instance).to respond_to(:wsfed_url) }
337
- it 'is expected to get the wsfed url' do
338
- expect(@instance.wsfed_url.to_s).to eq(
339
- "https://#{@instance.domain}/wsfed/#{@instance.client_id}?whr=Username-Password-Authentication"
340
- )
341
- end
342
- it 'is expected to get the wsfed url with fb connection' do
343
- expect(@instance.wsfed_url('facebook').to_s).to eq(
344
- "https://#{@instance.domain}/wsfed/#{@instance.client_id}?whr=facebook"
345
- )
346
- end
347
- end
348
- end
@@ -1,45 +0,0 @@
1
- require 'coveralls'
2
- Coveralls.wear!
3
-
4
- require 'simplecov'
5
- SimpleCov.start do
6
- add_filter '/spec/'
7
- add_filter '/spec/integration'
8
- end
9
-
10
- require 'pry'
11
-
12
- RSpec.configure do |config|
13
- config.filter_run focus: true
14
- config.run_all_when_everything_filtered = true
15
- config.include Credentials
16
- config.after(:suite) do
17
- puts "Cleaning up for #{entity_suffix}"
18
- v2_client = Auth0Client.new(
19
- token: ENV['MASTER_JWT'], api_version: 2, domain: ENV['DOMAIN']
20
- )
21
- v2_client
22
- .clients
23
- .select { |client| client['name'] != 'DefaultApp' && !client['global'] && client['name'].include?(entity_suffix) }
24
- .each { |client|
25
- sleep 1
26
- v2_client.delete_client(client['client_id'])
27
- }
28
- v2_client
29
- .users
30
- .select { |user| user['email'].split('@').first.include? entity_suffix }
31
- .each { |user|
32
- sleep 1
33
- v2_client.delete_user(user['user_id'])
34
- }
35
- puts "Finished cleaning up for #{entity_suffix}"
36
- end
37
- end
38
-
39
- def wait(time, increment = 5, elapsed_time = 0, &block)
40
- yield
41
- rescue RSpec::Expectations::ExpectationNotMetError => e
42
- raise e if elapsed_time >= time
43
- sleep increment
44
- wait(time, increment, elapsed_time + increment, &block)
45
- end
@@ -1,3 +0,0 @@
1
- RSpec.configure do |config|
2
- config.fail_fast = true
3
- end