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.
- checksums.yaml +4 -4
- data/.bundle/config +3 -2
- data/.circleci/config.yml +44 -0
- data/.env.example +2 -0
- data/.github/CODEOWNERS +1 -0
- data/.github/ISSUE_TEMPLATE/config.yml +8 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +39 -0
- data/.github/ISSUE_TEMPLATE/report_a_bug.md +55 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +35 -0
- data/.github/stale.yml +20 -0
- data/.gitignore +1 -2
- data/.rubocop.yml +2 -0
- data/.yardoc/checksums +22 -0
- data/.yardoc/complete +0 -0
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardoc/proxy_types +0 -0
- data/CHANGELOG.md +334 -19
- data/CODE_OF_CONDUCT.md +3 -0
- data/DEPLOYMENT.md +56 -9
- data/Gemfile +10 -3
- data/README.md +260 -37
- data/Rakefile +4 -23
- data/auth0.gemspec +10 -9
- data/codecov.yml +22 -0
- data/examples/ruby-api/.gitignore +0 -6
- data/lib/auth0/algorithm.rb +5 -0
- data/lib/auth0/api/authentication_endpoints.rb +244 -237
- data/lib/auth0/api/v2/anomaly.rb +36 -0
- data/lib/auth0/api/v2/branding.rb +66 -0
- data/lib/auth0/api/v2/client_grants.rb +14 -5
- data/lib/auth0/api/v2/clients.rb +9 -6
- data/lib/auth0/api/v2/connections.rb +19 -7
- data/lib/auth0/api/v2/device_credentials.rb +5 -4
- data/lib/auth0/api/v2/guardian.rb +142 -0
- data/lib/auth0/api/v2/jobs.rb +77 -13
- data/lib/auth0/api/v2/log_streams.rb +78 -0
- data/lib/auth0/api/v2/logs.rb +11 -11
- data/lib/auth0/api/v2/organizations.rb +335 -0
- data/lib/auth0/api/v2/prompts.rb +70 -0
- data/lib/auth0/api/v2/resource_servers.rb +32 -8
- data/lib/auth0/api/v2/roles.rb +172 -0
- data/lib/auth0/api/v2/rules.rb +6 -2
- data/lib/auth0/api/v2/tickets.rb +55 -8
- data/lib/auth0/api/v2/users.rb +168 -28
- data/lib/auth0/api/v2/users_by_email.rb +3 -2
- data/lib/auth0/api/v2.rb +16 -2
- data/lib/auth0/client.rb +1 -1
- data/lib/auth0/exception.rb +34 -9
- data/lib/auth0/mixins/access_token_struct.rb +20 -0
- data/lib/auth0/mixins/api_token_struct.rb +10 -0
- data/lib/auth0/mixins/headers.rb +35 -0
- data/lib/auth0/mixins/httpproxy.rb +37 -14
- data/lib/auth0/mixins/initializer.rb +10 -26
- data/lib/auth0/mixins/permission_struct.rb +3 -0
- data/lib/auth0/mixins/validation.rb +346 -0
- data/lib/auth0/mixins.rb +9 -1
- data/lib/auth0/version.rb +1 -1
- data/lib/auth0.rb +1 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_change_password/should_trigger_a_password_reset.yml +63 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_email.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_password.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_invalid_audience.yml +55 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_custom_audience.yml +117 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_default_scope.yml +119 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_saml_metadata/should_retrieve_SAML_metadata.yml +57 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_fail_as_not_authorized.yml +55 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_return_the_userinfo.yml +118 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_wsfed_metadata/should_retrieve_WSFED_metadata.yml +55 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/create_test_user.yml +58 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/delete_test_user.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Anomaly/_check_if_ip_is_blocked/should_return_200_response_code.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Anomaly/_remove_ip_block/should_remove_an_IP_successfully.yml +60 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_add_token_to_blacklist/should_add_a_token_to_the_blacklist.yml +56 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_blacklisted_tokens/should_get_the_added_token_from_the_blacklist.yml +59 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_at_least_1_result.yml +62 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_first_page_of_one_result.yml +66 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_test_client_grant.yml +62 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_delete_client_grant/should_delete_the_test_client_grant.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_patch_client_grant/should_update_the_test_client_grant.yml +64 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client.yml +118 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client_grant.yml +64 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client_grant.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_exclude_and_include_fields_properly.yml +91 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_include_the_specified_fields.yml +63 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/should_get_the_test_client.yml +92 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_fields_not_specified.yml +60 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_the_specified_fields.yml +132 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_include_the_specified_fields.yml +63 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_paginate_results.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/should_get_at_least_one_client.yml +132 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_delete_client/should_delete_the_test_client_without_an_error.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_patch_client/should_update_the_client_with_the_correct_attributes.yml +94 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/create_test_client.yml +118 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_exclude_the_fields_indicated.yml +63 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_include_the_fields_indicated.yml +61 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/should_find_the_correct_connection.yml +63 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_include_previously-created_connection_when_filtered.yml +59 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_exclude_the_fields_indicated_from_filtered_results.yml +59 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_include_the_fields_indicated_from_filtered_results.yml +59 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_include_the_previously_created_connection.yml +59 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_not_be_empty.yml +59 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection/should_delete_the_connection.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection_user/should_delete_the_user_created.yml +110 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_update_connection/should_update_the_connection.yml +66 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_connection.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_user.yml +68 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_delete_device_credential/should_delete_the_test_credential_without_an_error.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/_filter_by_type/should_exclude_the_test_credential.yml +59 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/should_have_at_least_1_entry.yml +62 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/should_include_the_test_credential.yml +62 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_credential.yml +62 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_user.yml +68 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_credential.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_user.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_configure_provider/should_configure_a_new_email_provider.yml +63 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_delete_the_existing_email_provider_without_an_error.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_throw_an_error_trying_to_get_the_email_provider.yml +51 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_with_specific_fields.yml +60 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_without_specific_fields.yml +61 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/should_get_the_existing_email_provider.yml +61 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_update_provider/should_update_the_existing_email_provider.yml +63 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/delete_existing_provider.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_create_an_export_users_job_successfully.yml +61 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_get_the_export_users_job.yml +117 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_create_an_import_users_job_successfully.yml +60 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_get_the_import_users_job.yml +116 -0
- 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
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_get_the_completed_verification_email.yml +175 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_reject_an_invalid_client_id.yml +109 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/delete_imported_user.yml +110 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/search_for_connection_id.yml +59 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_match_the_created_log_entry.yml +265 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_not_be_empty.yml +265 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_fields_not_specified.yml +61 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_the_specified_fields.yml +75 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_have_one_log_entry.yml +76 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_include_the_specified_fields.yml +62 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_from/should_take_one_log_entry.yml +258 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/create_test_user.yml +68 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_disabled_rule.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_enabled_rule.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_user.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_delete_resource_server/should_delete_the_test_server_without_an_error.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_patch_resource_server/should_update_the_resource_server_with_the_correct_attributes.yml +61 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_server/should_get_the_test_server.yml +59 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_get_the_test_server.yml +59 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_at_least_1_result.yml +59 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_the_first_page_of_one_result.yml +64 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/create_test_server.yml +61 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/delete_test_server.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_permissions/should_add_a_Permission_to_the_Role_successfully.yml +69 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_users/should_add_a_User_to_the_Role_successfully.yml +69 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_delete_role/should_delete_the_Role_successfully.yml +62 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role/should_get_the_Role_successfully.yml +67 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_exactly_1_Permission.yml +67 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_the_added_Permission_from_the_Role_successfully.yml +67 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_exactly_1_User.yml +67 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_the_added_User_from_the_Role_successfully.yml +67 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_roles/should_get_the_Role_successfully.yml +67 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_remove_role_permissions/should_remove_a_Permission_from_the_Role_successfully.yml +64 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_update_role/should_update_the_Role_successfully.yml +69 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_api.yml +69 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_role.yml +69 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_user.yml +69 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_api.yml +62 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_user.yml +62 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_disabled_rule_without_an_error.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_enabled_rule_without_an_error.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_fields_not_specified.yml +62 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_specified_fields.yml +62 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_include_the_specified_fields.yml +61 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/should_get_a_specific_rule.yml +62 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_exclude_fields_not_specified.yml +60 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_include_the_specified_fields.yml +61 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_disabled_rule.yml +63 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_enabled_rule.yml +62 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_paginated_results.yml +128 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/should_return_at_least_1_rule.yml +64 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_update_rule/should_update_the_disabled_rule_to_be_enabled.yml +64 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_disabled_rule.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_enabled_rule.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_active_users/should_have_at_least_one_active_user.yml +59 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_daily_stats/should_have_at_least_one_stats_entry_for_the_timeframe.yml +63 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings/should_get_the_tenant_settings.yml +95 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_exclude_a_field_not_requested.yml +61 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_include_the_field_requested.yml +61 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_revert_the_tenant_name.yml +96 -0
- 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
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_email_verification/should_create_an_email_verification_ticket.yml +63 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_password_change/should_create_a_password_change_ticket.yml +63 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/create_test_user.yml +68 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/delete_test_user.yml +54 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_permissions/should_add_a_Permissions_for_a_User_successfully.yml +67 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_roles/should_add_a_Role_to_a_User_successfully.yml +62 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_User_successfully.yml +60 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_secondary_User_successfully.yml +60 -0
- 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
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_enrollments/should_get_Enrollments_for_a_User_successfully.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_exactly_1_Permission_for_a_User_successfully.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_the_correct_Permission_for_a_User_successfully.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_roles/should_get_Roles_for_a_User_successfully.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_invalidate_browsers/should_invalidate_MFA_browsers_for_the_User_successfully.yml +62 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_link_user_account/should_link_two_Users_successfully.yml +67 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_patch_user/should_patch_the_User_successfully.yml +68 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_permissions/should_remove_a_Permission_from_a_User_successfully.yml +62 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_roles/should_remove_a_Role_from_a_User_successfully.yml +62 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_unlink_user_account/should_unlink_two_Users_successfully.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_fields_not_indicated.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_the_fields_indicated.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_include_the_fields_indicated.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/should_retrieve_the_created_user.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user_logs/should_get_Logs_for_a_User_successfully.yml +69 -0
- 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
- 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
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_exclude_the_indicated_fields_when_paginated.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_include_the_indicated_fields_when_paginated.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_not_include_other_fields_when_paginated.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_return_the_correct_number_of_results_when_paginated.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/should_have_at_least_one_user.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_secondary_test_user.yml +67 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_api.yml +67 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_role.yml +67 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_user.yml +67 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_api.yml +60 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_role.yml +60 -0
- data/spec/integration/lib/auth0/api/api_authentication_spec.rb +96 -54
- data/spec/integration/lib/auth0/api/v2/api_anomaly_spec.rb +17 -0
- data/spec/integration/lib/auth0/api/v2/api_blacklist_spec.rb +18 -5
- data/spec/integration/lib/auth0/api/v2/api_client_grants_spec.rb +46 -33
- data/spec/integration/lib/auth0/api/v2/api_clients_spec.rb +115 -61
- data/spec/integration/lib/auth0/api/v2/api_connections_spec.rb +117 -103
- data/spec/integration/lib/auth0/api/v2/api_device_credentials_spec.rb +101 -58
- data/spec/integration/lib/auth0/api/v2/api_email_spec.rb +72 -77
- data/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb +113 -60
- data/spec/integration/lib/auth0/api/v2/api_logs_spec.rb +46 -38
- data/spec/integration/lib/auth0/api/v2/api_resource_servers_spec.rb +110 -40
- data/spec/integration/lib/auth0/api/v2/api_roles_spec.rb +145 -0
- data/spec/integration/lib/auth0/api/v2/api_rules_spec.rb +119 -62
- data/spec/integration/lib/auth0/api/v2/api_stats_spec.rb +11 -14
- data/spec/integration/lib/auth0/api/v2/api_tenants_spec.rb +40 -34
- data/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb +42 -28
- data/spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb +1 -1
- data/spec/integration/lib/auth0/api/v2/api_users_spec.rb +252 -120
- data/spec/integration/lib/auth0/auth0_client_spec.rb +32 -26
- data/spec/lib/auth0/api/v2/anomaly_spec.rb +26 -0
- data/spec/lib/auth0/api/v2/branding_spec.rb +70 -0
- data/spec/lib/auth0/api/v2/client_grants_spec.rb +34 -2
- data/spec/lib/auth0/api/v2/clients_spec.rb +50 -5
- data/spec/lib/auth0/api/v2/connections_spec.rb +49 -1
- data/spec/lib/auth0/api/v2/guardian_spec.rb +154 -0
- data/spec/lib/auth0/api/v2/jobs_spec.rb +109 -6
- data/spec/lib/auth0/api/v2/log_streams_spec.rb +84 -0
- data/spec/lib/auth0/api/v2/organizations_spec.rb +593 -0
- data/spec/lib/auth0/api/v2/prompts_spec.rb +88 -0
- data/spec/lib/auth0/api/v2/resource_servers_spec.rb +23 -0
- data/spec/lib/auth0/api/v2/roles_spec.rb +362 -0
- data/spec/lib/auth0/api/v2/rules_spec.rb +23 -1
- data/spec/lib/auth0/api/v2/tickets_spec.rb +95 -5
- data/spec/lib/auth0/api/v2/users_spec.rb +465 -61
- data/spec/lib/auth0/client_spec.rb +196 -18
- data/spec/lib/auth0/mixins/httpproxy_spec.rb +83 -4
- data/spec/lib/auth0/mixins/initializer_spec.rb +1 -0
- data/spec/lib/auth0/mixins/validation_spec.rb +498 -0
- data/spec/spec_helper.rb +54 -11
- data/spec/support/credentials.rb +6 -18
- data/spec/support/dummy_class.rb +7 -3
- data/spec/support/dummy_class_for_proxy.rb +1 -0
- data/spec/support/stub_response.rb +1 -1
- metadata +497 -53
- data/.travis.yml +0 -18
- data/build_travis.sh +0 -7
- data/deploy_documentation.sh +0 -29
- data/doc_config/templates/default/fulldoc/html/css/full_list.css +0 -79
- data/doc_config/templates/default/fulldoc/html/css/style.css +0 -546
- data/doc_config/templates/default/layout/html/breadcrumb.erb +0 -11
- data/doc_config/templates/default/layout/html/footer.erb +0 -115
- data/doc_config/templates/default/layout/html/headers.erb +0 -17
- data/doc_config/templates/default/layout/html/layout.erb +0 -27
- data/lib/auth0/api/v1/clients.rb +0 -48
- data/lib/auth0/api/v1/connections.rb +0 -53
- data/lib/auth0/api/v1/logs.rb +0 -34
- data/lib/auth0/api/v1/rules.rb +0 -45
- data/lib/auth0/api/v1/users.rb +0 -164
- data/lib/auth0/api/v1.rb +0 -19
- data/spec/lib/auth0/api/authentication_endpoints_spec.rb +0 -348
- data/spec/spec_helper_full.rb +0 -45
- data/spec/spec_helper_unit.rb +0 -3
@@ -0,0 +1,593 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
describe Auth0::Api::V2::Organizations do
|
3
|
+
before :all do
|
4
|
+
dummy_instance = DummyClass.new
|
5
|
+
dummy_instance.extend(Auth0::Api::V2::Organizations)
|
6
|
+
@instance = dummy_instance
|
7
|
+
end
|
8
|
+
|
9
|
+
context '.organizations' do
|
10
|
+
it 'is expected to respond to a organizations method' do
|
11
|
+
expect(@instance).to respond_to(:organizations)
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'is expected to respond to a get_organizations method' do
|
15
|
+
expect(@instance).to respond_to(:get_organizations)
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'is expected to get /api/v2/organizations' do
|
19
|
+
expect(@instance).to receive(:get).with(
|
20
|
+
'/api/v2/organizations',
|
21
|
+
per_page: nil,
|
22
|
+
page: nil,
|
23
|
+
include_totals: nil
|
24
|
+
)
|
25
|
+
expect { @instance.organizations }.not_to raise_error
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'is expected to get /api/v2/organizations with custom parameters' do
|
29
|
+
expect(@instance).to receive(:get).with(
|
30
|
+
'/api/v2/organizations',
|
31
|
+
per_page: 10,
|
32
|
+
page: 1,
|
33
|
+
include_totals: true
|
34
|
+
)
|
35
|
+
expect do
|
36
|
+
@instance.organizations(
|
37
|
+
per_page: 10,
|
38
|
+
page: 1,
|
39
|
+
include_totals: true
|
40
|
+
)
|
41
|
+
end.not_to raise_error
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
context '.organization' do
|
46
|
+
it 'is expected to respond to a user method' do
|
47
|
+
expect(@instance).to respond_to(:organization)
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'is expected to call get request to /api/v2/users/org_id' do
|
51
|
+
expect(@instance).to receive(:get).with(
|
52
|
+
'/api/v2/organizations/org_id'
|
53
|
+
)
|
54
|
+
expect { @instance.organization('org_id') }.not_to raise_error
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'is expected to raise an exception when the organization ID is empty' do
|
58
|
+
expect { @instance.organization(nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
context '.create_organization' do
|
63
|
+
it 'is expected to respond to a create_organization method' do
|
64
|
+
expect(@instance).to respond_to(:create_organization)
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'is expected to post to /api/v2/organizations' do
|
68
|
+
expect(@instance).to receive(:post).with(
|
69
|
+
'/api/v2/organizations',
|
70
|
+
name: 'test_org'
|
71
|
+
)
|
72
|
+
expect do
|
73
|
+
@instance.create_organization(
|
74
|
+
name: 'test_org'
|
75
|
+
)
|
76
|
+
end.not_to raise_error
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
context '.delete_organization' do
|
81
|
+
it 'is expected to respond to a delete_organization method' do
|
82
|
+
expect(@instance).to respond_to :delete_organization
|
83
|
+
end
|
84
|
+
|
85
|
+
it 'is expected to call delete to /api/v2/organizations/org_id' do
|
86
|
+
expect(@instance).to receive(:delete).with('/api/v2/organizations/org_id')
|
87
|
+
expect { @instance.delete_organization('org_id') }.not_to raise_error
|
88
|
+
end
|
89
|
+
|
90
|
+
it 'is expected not to delete /api/v2/organizations if organization_id is blank' do
|
91
|
+
expect(@instance).not_to receive(:delete)
|
92
|
+
expect { @instance.delete_organization(nil) }.to raise_exception(
|
93
|
+
Auth0::MissingOrganizationId
|
94
|
+
)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
context '.organization_by_name' do
|
99
|
+
it 'is expected to respond to a user method' do
|
100
|
+
expect(@instance).to respond_to(:organization_by_name)
|
101
|
+
end
|
102
|
+
|
103
|
+
it 'is expected to call get request to /api/v2/users/org_id' do
|
104
|
+
expect(@instance).to receive(:get).with(
|
105
|
+
'/api/v2/organizations/name/org_id'
|
106
|
+
)
|
107
|
+
expect { @instance.organization_by_name('org_id') }.not_to raise_error
|
108
|
+
end
|
109
|
+
|
110
|
+
it 'is expected to raise an exception when the organization ID is empty' do
|
111
|
+
expect { @instance.organization_by_name(nil) }.to raise_exception(Auth0::InvalidParameter)
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
|
116
|
+
context '.patch_organization' do
|
117
|
+
it 'is expected to respond to a patch_organization method' do
|
118
|
+
expect(@instance).to respond_to(:patch_organization)
|
119
|
+
end
|
120
|
+
|
121
|
+
it 'is expected to respond to a update_organization method' do
|
122
|
+
expect(@instance).to respond_to(:update_organization)
|
123
|
+
end
|
124
|
+
|
125
|
+
it 'is expected to patch /api/v2/organizations/org_id' do
|
126
|
+
expect(@instance).to receive(:patch).with(
|
127
|
+
'/api/v2/organizations/org_id',
|
128
|
+
name: 'name'
|
129
|
+
)
|
130
|
+
@instance.patch_organization(
|
131
|
+
'org_id',
|
132
|
+
name: 'name'
|
133
|
+
)
|
134
|
+
end
|
135
|
+
|
136
|
+
it 'is expected to raise an exception when the organization id is empty' do
|
137
|
+
expect { @instance.patch_organization(nil, 'BODY') }.to raise_exception(Auth0::MissingOrganizationId)
|
138
|
+
end
|
139
|
+
|
140
|
+
it 'is expected to raise an error when the body is empty' do
|
141
|
+
expect { @instance.patch_organization('org_id', nil) }.to raise_error 'Must supply a valid body'
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
context '.get_organizations_enabled_connections' do
|
146
|
+
it 'is expected to respond to a get_organizations_enabled_connections method' do
|
147
|
+
expect(@instance).to respond_to(:get_organizations_enabled_connections)
|
148
|
+
end
|
149
|
+
|
150
|
+
it 'is expected to raise an exception when the org ID is empty' do
|
151
|
+
expect { @instance.get_organizations_enabled_connections(nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
152
|
+
end
|
153
|
+
|
154
|
+
it 'is expected to get enabled_connections for an org' do
|
155
|
+
expect(@instance).to receive(:get).with(
|
156
|
+
'/api/v2/organizations/org_id/enabled_connections'
|
157
|
+
)
|
158
|
+
expect { @instance.get_organizations_enabled_connections('org_id') }.not_to raise_error
|
159
|
+
end
|
160
|
+
|
161
|
+
it 'is expected to get enabled_connections for an org' do
|
162
|
+
expect(@instance).to receive(:get).with(
|
163
|
+
'/api/v2/organizations/org_id/enabled_connections'
|
164
|
+
)
|
165
|
+
expect do
|
166
|
+
@instance.get_organizations_enabled_connections('org_id')
|
167
|
+
end.not_to raise_error
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
context '.get_organizations_enabled_connection' do
|
172
|
+
it 'is expected to respond to a get_organizations_enabled_connection method' do
|
173
|
+
expect(@instance).to respond_to(:get_organizations_enabled_connection)
|
174
|
+
end
|
175
|
+
|
176
|
+
it 'is expected to raise an exception when the org ID is empty' do
|
177
|
+
expect { @instance.get_organizations_enabled_connection(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
178
|
+
end
|
179
|
+
|
180
|
+
it 'is expected to raise an exception when the org ID is empty' do
|
181
|
+
expect { @instance.get_organizations_enabled_connection('org_id', nil) }.to raise_exception(Auth0::InvalidParameter)
|
182
|
+
end
|
183
|
+
|
184
|
+
it 'is expected to get enabled connection for an org' do
|
185
|
+
expect(@instance).to receive(:get).with(
|
186
|
+
'/api/v2/organizations/org_id/enabled_connections/connection_id'
|
187
|
+
)
|
188
|
+
expect { @instance.get_organizations_enabled_connection('org_id', 'connection_id') }.not_to raise_error
|
189
|
+
end
|
190
|
+
|
191
|
+
it 'is expected to get enabled connection for an org' do
|
192
|
+
expect(@instance).to receive(:get).with(
|
193
|
+
'/api/v2/organizations/org_id/enabled_connections/connection_id'
|
194
|
+
)
|
195
|
+
expect do
|
196
|
+
@instance.get_organizations_enabled_connection('org_id', 'connection_id')
|
197
|
+
end.not_to raise_error
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
201
|
+
context '.patch_organizations_enabled_connection' do
|
202
|
+
it 'is expected to respond to a patch_organizations_enabled_connection method' do
|
203
|
+
expect(@instance).to respond_to(:patch_organizations_enabled_connection)
|
204
|
+
end
|
205
|
+
|
206
|
+
it 'is expected to respond to a update_organizations_enabled_connection method' do
|
207
|
+
expect(@instance).to respond_to(:update_organizations_enabled_connection)
|
208
|
+
end
|
209
|
+
|
210
|
+
it 'is expected to patch /api/v2/organizations/org_id/enabled_connections/connection_id' do
|
211
|
+
expect(@instance).to receive(:patch).with(
|
212
|
+
'/api/v2/organizations/org_id/enabled_connections/connection_id',
|
213
|
+
{
|
214
|
+
assign_membership_on_login: false
|
215
|
+
}
|
216
|
+
)
|
217
|
+
@instance.patch_organizations_enabled_connection(
|
218
|
+
'org_id',
|
219
|
+
'connection_id',
|
220
|
+
assign_membership_on_login: false
|
221
|
+
)
|
222
|
+
end
|
223
|
+
|
224
|
+
it 'is expected to raise an exception when the organization id is empty' do
|
225
|
+
expect { @instance.patch_organizations_enabled_connection(nil, 'BODY') }.to raise_exception(Auth0::MissingOrganizationId)
|
226
|
+
end
|
227
|
+
|
228
|
+
it 'is expected to raise an error when the connection_id is empty' do
|
229
|
+
expect { @instance.patch_organizations_enabled_connection('org_id', nil) }.to raise_error 'Must supply a valid connection id'
|
230
|
+
end
|
231
|
+
|
232
|
+
it 'is expected to raise an error when assign_membership_on_login is nil' do
|
233
|
+
expect { @instance.patch_organizations_enabled_connection('org_id', 'connection_id') }.to raise_error 'Must supply a valid assign_membership_on_login value'
|
234
|
+
end
|
235
|
+
end
|
236
|
+
|
237
|
+
context '.create_organizations_enabled_connection' do
|
238
|
+
it 'is expected to respond to a create_organizations_enabled_connection method' do
|
239
|
+
expect(@instance).to respond_to(:create_organizations_enabled_connection)
|
240
|
+
end
|
241
|
+
|
242
|
+
it 'is expected to respond to a add_organizations_enabled_connection method' do
|
243
|
+
expect(@instance).to respond_to(:add_organizations_enabled_connection)
|
244
|
+
end
|
245
|
+
|
246
|
+
it 'is expected to post /api/v2/organizations/org_id/enabled_connections' do
|
247
|
+
expect(@instance).to receive(:post).with(
|
248
|
+
'/api/v2/organizations/org_id/enabled_connections',
|
249
|
+
{
|
250
|
+
connection_id: 'connection_id',
|
251
|
+
assign_membership_on_login: true
|
252
|
+
}
|
253
|
+
)
|
254
|
+
@instance.create_organizations_enabled_connection('org_id', 'connection_id', assign_membership_on_login: true)
|
255
|
+
end
|
256
|
+
|
257
|
+
it 'is expected to raise an exception when the organization id is empty' do
|
258
|
+
expect { @instance.create_organizations_enabled_connection(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
259
|
+
end
|
260
|
+
|
261
|
+
it 'is expected to raise an exception when the connection id is empty' do
|
262
|
+
expect { @instance.create_organizations_enabled_connection('123', nil) }.to raise_error 'Must supply a valid connection id'
|
263
|
+
end
|
264
|
+
end
|
265
|
+
|
266
|
+
context '.delete_organizations_enabled_connection' do
|
267
|
+
it 'is expected to respond to a delete_organizations_enabled_connection method' do
|
268
|
+
expect(@instance).to respond_to(:delete_organizations_enabled_connection)
|
269
|
+
end
|
270
|
+
|
271
|
+
it 'is expected to respond to a remove_organizations_enabled_connection method' do
|
272
|
+
expect(@instance).to respond_to(:remove_organizations_enabled_connection)
|
273
|
+
end
|
274
|
+
|
275
|
+
it 'is expected to delete /api/v2/organizations/org_id/enabled_connections/connection_id' do
|
276
|
+
expect(@instance).to receive(:delete).with(
|
277
|
+
'/api/v2/organizations/org_id/enabled_connections/connection_id'
|
278
|
+
)
|
279
|
+
@instance.delete_organizations_enabled_connection('org_id', 'connection_id')
|
280
|
+
end
|
281
|
+
|
282
|
+
it 'is expected to raise an exception when the organization id is empty' do
|
283
|
+
expect { @instance.delete_organizations_enabled_connection(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
284
|
+
end
|
285
|
+
|
286
|
+
it 'is expected to raise an exception when the connection id is empty' do
|
287
|
+
expect { @instance.delete_organizations_enabled_connection('org_id', nil) }.to raise_error 'Must supply a valid connection id'
|
288
|
+
end
|
289
|
+
end
|
290
|
+
|
291
|
+
context '.get_organizations_invites' do
|
292
|
+
it 'is expected to respond to a get_organizations_invites method' do
|
293
|
+
expect(@instance).to respond_to(:get_organizations_invites)
|
294
|
+
end
|
295
|
+
|
296
|
+
it 'is expected to raise an exception when the org ID is empty' do
|
297
|
+
expect { @instance.get_organizations_invites(nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
298
|
+
end
|
299
|
+
|
300
|
+
it 'is expected to get invitations for an org' do
|
301
|
+
expect(@instance).to receive(:get).with(
|
302
|
+
'/api/v2/organizations/org_id/invitations'
|
303
|
+
)
|
304
|
+
expect { @instance.get_organizations_invites('org_id') }.not_to raise_error
|
305
|
+
end
|
306
|
+
|
307
|
+
it 'is expected to get invitations for an org' do
|
308
|
+
expect(@instance).to receive(:get).with(
|
309
|
+
'/api/v2/organizations/org_id/invitations'
|
310
|
+
)
|
311
|
+
expect do
|
312
|
+
@instance.get_organizations_invites('org_id')
|
313
|
+
end.not_to raise_error
|
314
|
+
end
|
315
|
+
end
|
316
|
+
|
317
|
+
context '.get_organizations_invite' do
|
318
|
+
it 'is expected to respond to a get_organizations_invite method' do
|
319
|
+
expect(@instance).to respond_to(:get_organizations_invite)
|
320
|
+
end
|
321
|
+
|
322
|
+
it 'is expected to raise an exception when the org ID is empty' do
|
323
|
+
expect { @instance.get_organizations_invite(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
324
|
+
end
|
325
|
+
|
326
|
+
it 'is expected to raise an exception when the org ID is empty' do
|
327
|
+
expect { @instance.get_organizations_invite('org_id', nil) }.to raise_exception(Auth0::InvalidParameter)
|
328
|
+
end
|
329
|
+
|
330
|
+
it 'is expected to get enabled connection for an org' do
|
331
|
+
expect(@instance).to receive(:get).with(
|
332
|
+
'/api/v2/organizations/org_id/invitations/invite_id'
|
333
|
+
)
|
334
|
+
expect { @instance.get_organizations_invite('org_id', 'invite_id') }.not_to raise_error
|
335
|
+
end
|
336
|
+
|
337
|
+
it 'is expected to get enabled connection for an org' do
|
338
|
+
expect(@instance).to receive(:get).with(
|
339
|
+
'/api/v2/organizations/org_id/invitations/invite_id'
|
340
|
+
)
|
341
|
+
expect do
|
342
|
+
@instance.get_organizations_invite('org_id', 'invite_id')
|
343
|
+
end.not_to raise_error
|
344
|
+
end
|
345
|
+
end
|
346
|
+
|
347
|
+
context '.patch_organizations_enabled_connection' do
|
348
|
+
it 'is expected to respond to a patch_organizations_enabled_connection method' do
|
349
|
+
expect(@instance).to respond_to(:patch_organizations_enabled_connection)
|
350
|
+
end
|
351
|
+
|
352
|
+
it 'is expected to respond to a update_organizations_enabled_connection method' do
|
353
|
+
expect(@instance).to respond_to(:update_organizations_enabled_connection)
|
354
|
+
end
|
355
|
+
|
356
|
+
it 'is expected to patch /api/v2/organizations/org_id/enabled_connections/connection_id' do
|
357
|
+
expect(@instance).to receive(:patch).with(
|
358
|
+
'/api/v2/organizations/org_id/enabled_connections/connection_id',
|
359
|
+
{
|
360
|
+
assign_membership_on_login: false
|
361
|
+
}
|
362
|
+
)
|
363
|
+
@instance.patch_organizations_enabled_connection(
|
364
|
+
'org_id',
|
365
|
+
'connection_id',
|
366
|
+
assign_membership_on_login: false
|
367
|
+
)
|
368
|
+
end
|
369
|
+
|
370
|
+
it 'is expected to raise an exception when the organization id is empty' do
|
371
|
+
expect { @instance.patch_organizations_enabled_connection(nil, 'BODY') }.to raise_exception(Auth0::MissingOrganizationId)
|
372
|
+
end
|
373
|
+
|
374
|
+
it 'is expected to raise an error when the connection_id is empty' do
|
375
|
+
expect { @instance.patch_organizations_enabled_connection('org_id', nil) }.to raise_error 'Must supply a valid connection id'
|
376
|
+
end
|
377
|
+
|
378
|
+
it 'is expected to raise an error when assign_membership_on_login is nil' do
|
379
|
+
expect { @instance.patch_organizations_enabled_connection('org_id', 'connection_id') }.to raise_error 'Must supply a valid assign_membership_on_login value'
|
380
|
+
end
|
381
|
+
end
|
382
|
+
|
383
|
+
context '.create_organizations_invite' do
|
384
|
+
it 'is expected to respond to a create_organizations_invite method' do
|
385
|
+
expect(@instance).to respond_to(:create_organizations_invite)
|
386
|
+
end
|
387
|
+
|
388
|
+
it 'is expected to respond to a add_organizations_invite method' do
|
389
|
+
expect(@instance).to respond_to(:add_organizations_invite)
|
390
|
+
end
|
391
|
+
|
392
|
+
it 'is expected to post /api/v2/organizations/org_id/invitations' do
|
393
|
+
expect(@instance).to receive(:post).with(
|
394
|
+
'/api/v2/organizations/org_id/invitations',
|
395
|
+
{
|
396
|
+
ttl_sec: 60000
|
397
|
+
}
|
398
|
+
)
|
399
|
+
@instance.create_organizations_invite('org_id', ttl_sec: 60000)
|
400
|
+
end
|
401
|
+
|
402
|
+
it 'is expected to raise an exception when the organization id is empty' do
|
403
|
+
expect { @instance.create_organizations_invite(nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
404
|
+
end
|
405
|
+
end
|
406
|
+
|
407
|
+
context '.delete_organizations_invite' do
|
408
|
+
it 'is expected to respond to a delete_organizations_invite method' do
|
409
|
+
expect(@instance).to respond_to(:delete_organizations_invite)
|
410
|
+
end
|
411
|
+
|
412
|
+
it 'is expected to respond to a remove_organizations_invite method' do
|
413
|
+
expect(@instance).to respond_to(:remove_organizations_invite)
|
414
|
+
end
|
415
|
+
|
416
|
+
it 'is expected to delete /api/v2/organizations/org_id/invitations/invite_id' do
|
417
|
+
expect(@instance).to receive(:delete).with(
|
418
|
+
'/api/v2/organizations/org_id/invitations/invite_id'
|
419
|
+
)
|
420
|
+
@instance.delete_organizations_invite('org_id', 'invite_id')
|
421
|
+
end
|
422
|
+
|
423
|
+
it 'is expected to raise an exception when the organization id is empty' do
|
424
|
+
expect { @instance.delete_organizations_invite(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
425
|
+
end
|
426
|
+
|
427
|
+
it 'is expected to raise an exception when the invitation id is empty' do
|
428
|
+
expect { @instance.delete_organizations_invite('org_id', nil) }.to raise_error 'Must supply a valid invitation id'
|
429
|
+
end
|
430
|
+
end
|
431
|
+
|
432
|
+
context '.get_organizations_members' do
|
433
|
+
it 'is expected to respond to a get_organizations_members method' do
|
434
|
+
expect(@instance).to respond_to(:get_organizations_members)
|
435
|
+
end
|
436
|
+
|
437
|
+
it 'is expected to raise an exception when the org ID is empty' do
|
438
|
+
expect { @instance.get_organizations_members(nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
439
|
+
end
|
440
|
+
|
441
|
+
it 'is expected to get invitations for an org' do
|
442
|
+
expect(@instance).to receive(:get).with(
|
443
|
+
'/api/v2/organizations/org_id/members'
|
444
|
+
)
|
445
|
+
expect { @instance.get_organizations_members('org_id') }.not_to raise_error
|
446
|
+
end
|
447
|
+
|
448
|
+
it 'is expected to get members for an org' do
|
449
|
+
expect(@instance).to receive(:get).with(
|
450
|
+
'/api/v2/organizations/org_id/members'
|
451
|
+
)
|
452
|
+
expect do
|
453
|
+
@instance.get_organizations_members('org_id')
|
454
|
+
end.not_to raise_error
|
455
|
+
end
|
456
|
+
end
|
457
|
+
|
458
|
+
context '.create_organizations_members' do
|
459
|
+
it 'is expected to respond to a create_organizations_members method' do
|
460
|
+
expect(@instance).to respond_to(:create_organizations_members)
|
461
|
+
end
|
462
|
+
|
463
|
+
it 'is expected to respond to a add_organizations_members method' do
|
464
|
+
expect(@instance).to respond_to(:add_organizations_members)
|
465
|
+
end
|
466
|
+
|
467
|
+
it 'is expected to post /api/v2/organizations/org_id/members' do
|
468
|
+
expect(@instance).to receive(:post).with(
|
469
|
+
'/api/v2/organizations/org_id/members',
|
470
|
+
{
|
471
|
+
members: ['123', '456']
|
472
|
+
}
|
473
|
+
)
|
474
|
+
@instance.create_organizations_members('org_id', ['123', '456'])
|
475
|
+
end
|
476
|
+
|
477
|
+
it 'is expected to raise an exception when the organization id is empty' do
|
478
|
+
expect { @instance.create_organizations_members(nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
479
|
+
end
|
480
|
+
end
|
481
|
+
|
482
|
+
context '.delete_organizations_members' do
|
483
|
+
it 'is expected to respond to a delete_organizations_members method' do
|
484
|
+
expect(@instance).to respond_to(:delete_organizations_members)
|
485
|
+
end
|
486
|
+
|
487
|
+
it 'is expected to respond to a remove_organizations_members method' do
|
488
|
+
expect(@instance).to respond_to(:remove_organizations_members)
|
489
|
+
end
|
490
|
+
|
491
|
+
it 'is expected to delete /api/v2/organizations/org_id/members' do
|
492
|
+
expect(@instance).to receive(:delete).with(
|
493
|
+
'/api/v2/organizations/org_id/members', {
|
494
|
+
members: ['123', '456']
|
495
|
+
}
|
496
|
+
)
|
497
|
+
@instance.delete_organizations_members('org_id', ['123', '456'])
|
498
|
+
end
|
499
|
+
|
500
|
+
it 'is expected to raise an exception when the organization id is empty' do
|
501
|
+
expect { @instance.delete_organizations_members(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
502
|
+
end
|
503
|
+
|
504
|
+
it 'is expected to raise an exception when the invitation id is empty' do
|
505
|
+
expect { @instance.delete_organizations_members('org_id', []) }.to raise_error 'Must supply an array of member ids'
|
506
|
+
end
|
507
|
+
end
|
508
|
+
|
509
|
+
context '.get_organizations_member_roles' do
|
510
|
+
it 'is expected to respond to a get_organizations_member_roles method' do
|
511
|
+
expect(@instance).to respond_to(:get_organizations_member_roles)
|
512
|
+
end
|
513
|
+
|
514
|
+
it 'is expected to raise an exception when the org ID is empty' do
|
515
|
+
expect { @instance.get_organizations_member_roles(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
516
|
+
end
|
517
|
+
|
518
|
+
it 'is expected to raise an exception when the org ID is empty' do
|
519
|
+
expect { @instance.get_organizations_member_roles('org_id', nil) }.to raise_exception(Auth0::InvalidParameter)
|
520
|
+
end
|
521
|
+
|
522
|
+
it 'is expected to get roles for a member in an org' do
|
523
|
+
expect(@instance).to receive(:get).with(
|
524
|
+
'/api/v2/organizations/org_id/members/user_id/roles'
|
525
|
+
)
|
526
|
+
expect { @instance.get_organizations_member_roles('org_id', 'user_id') }.not_to raise_error
|
527
|
+
end
|
528
|
+
|
529
|
+
it 'is expected to get members for an org' do
|
530
|
+
expect(@instance).to receive(:get).with(
|
531
|
+
'/api/v2/organizations/org_id/members/user_id/roles'
|
532
|
+
)
|
533
|
+
expect do
|
534
|
+
@instance.get_organizations_member_roles('org_id', 'user_id')
|
535
|
+
end.not_to raise_error
|
536
|
+
end
|
537
|
+
end
|
538
|
+
|
539
|
+
context '.create_organizations_member_roles' do
|
540
|
+
it 'is expected to respond to a create_organizations_member_roles method' do
|
541
|
+
expect(@instance).to respond_to(:create_organizations_member_roles)
|
542
|
+
end
|
543
|
+
|
544
|
+
it 'is expected to respond to a add_organizations_member_roles method' do
|
545
|
+
expect(@instance).to respond_to(:add_organizations_member_roles)
|
546
|
+
end
|
547
|
+
|
548
|
+
it 'is expected to post /api/v2/organizations/org_id/members/user_id/roles' do
|
549
|
+
expect(@instance).to receive(:post).with(
|
550
|
+
'/api/v2/organizations/org_id/members/user_id/roles',
|
551
|
+
{
|
552
|
+
roles: ['123', '456']
|
553
|
+
}
|
554
|
+
)
|
555
|
+
@instance.create_organizations_member_roles('org_id', 'user_id', ['123', '456'])
|
556
|
+
end
|
557
|
+
|
558
|
+
it 'is expected to raise an exception when the organization id is empty' do
|
559
|
+
expect { @instance.create_organizations_member_roles(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
560
|
+
end
|
561
|
+
end
|
562
|
+
|
563
|
+
context '.delete_organizations_member_roles' do
|
564
|
+
it 'is expected to respond to a delete_organizations_member_roles method' do
|
565
|
+
expect(@instance).to respond_to(:delete_organizations_member_roles)
|
566
|
+
end
|
567
|
+
|
568
|
+
it 'is expected to respond to a remove_organizations_member_roles method' do
|
569
|
+
expect(@instance).to respond_to(:remove_organizations_member_roles)
|
570
|
+
end
|
571
|
+
|
572
|
+
it 'is expected to delete /api/v2/organizations/org_id/members/user_id/roles' do
|
573
|
+
expect(@instance).to receive(:delete).with(
|
574
|
+
'/api/v2/organizations/org_id/members/user_id/roles', {
|
575
|
+
roles: ['123', '456']
|
576
|
+
}
|
577
|
+
)
|
578
|
+
@instance.delete_organizations_member_roles('org_id', 'user_id', ['123', '456'])
|
579
|
+
end
|
580
|
+
|
581
|
+
it 'is expected to raise an exception when the organization id is empty' do
|
582
|
+
expect { @instance.delete_organizations_member_roles(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
583
|
+
end
|
584
|
+
|
585
|
+
it 'is expected to raise an exception when the invitation id is empty' do
|
586
|
+
expect { @instance.delete_organizations_member_roles('org_id', nil, nil) }.to raise_error 'Must supply a valid user id'
|
587
|
+
end
|
588
|
+
|
589
|
+
it 'is expected to raise an exception when the invitation id is empty' do
|
590
|
+
expect { @instance.delete_organizations_member_roles('org_id', 'user_id') }.to raise_error 'Must supply an array of role ids'
|
591
|
+
end
|
592
|
+
end
|
593
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
describe Auth0::Api::V2::Prompts do
|
3
|
+
before :all do
|
4
|
+
dummy_instance = DummyClass.new
|
5
|
+
dummy_instance.extend(Auth0::Api::V2::Prompts)
|
6
|
+
@instance = dummy_instance
|
7
|
+
end
|
8
|
+
|
9
|
+
context '.prompts' do
|
10
|
+
it 'is expected to respond to a prompts method' do
|
11
|
+
expect(@instance).to respond_to(:prompts)
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'is expected to respond to a get_prompts method' do
|
15
|
+
expect(@instance).to respond_to(:get_prompts)
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'is expected to get /api/v2/prompts' do
|
19
|
+
expect(@instance).to receive(:get).with('/api/v2/prompts')
|
20
|
+
|
21
|
+
expect { @instance.prompts }.not_to raise_error
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context '.update_prompts' do
|
26
|
+
it 'is expected to respond to an update_prompts method' do
|
27
|
+
expect(@instance).to respond_to(:update_prompts)
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'is expected to respond to a patch_prompts method' do
|
31
|
+
expect(@instance).to respond_to(:patch_prompts)
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'is expected to call patch /api/v2/prompts' do
|
35
|
+
expect(@instance).to receive(:patch).with('/api/v2/prompts', { universal_login_experience: 'new' })
|
36
|
+
|
37
|
+
expect { @instance.update_prompts(universal_login_experience: 'new') }.not_to raise_error
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
context '.custom_text' do
|
42
|
+
it 'is expected to respond to a custom_text method' do
|
43
|
+
expect(@instance).to respond_to(:custom_text)
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'is expected to respond to a get_custom_text method' do
|
47
|
+
expect(@instance).to respond_to(:get_custom_text)
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'is expected to get /api/v2/prompts/PROMPT_NAME/language/LANGUAGE' do
|
51
|
+
expect(@instance).to receive(:get).with('/api/v2/prompts/PROMPT_NAME/custom-text/LANGUAGE')
|
52
|
+
|
53
|
+
expect { @instance.custom_text('PROMPT_NAME', 'LANGUAGE') }.not_to raise_error
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'is expected to raise an exception when the prompt is empty' do
|
57
|
+
expect { @instance.custom_text(nil, 'language') }.to raise_exception(Auth0::InvalidParameter)
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'is expected to raise an exception when the language is empty' do
|
61
|
+
expect { @instance.custom_text('prompt_name', nil) }.to raise_exception(Auth0::InvalidParameter)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
context '.update_custom_text' do
|
66
|
+
it 'is expected to respond to an update_custom_text method' do
|
67
|
+
expect(@instance).to respond_to(:update_custom_text)
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'is expected to respond to a put_custom_text method' do
|
71
|
+
expect(@instance).to respond_to(:put_custom_text)
|
72
|
+
end
|
73
|
+
|
74
|
+
it 'is expected to call put /api/v2/prompts/PROMPT_NAME/language/LANGUAGE' do
|
75
|
+
expect(@instance).to receive(:put).with('/api/v2/prompts/PROMPT_NAME/custom-text/LANGUAGE', 'BODY')
|
76
|
+
|
77
|
+
expect { @instance.update_custom_text('PROMPT_NAME', 'LANGUAGE', 'BODY') }.not_to raise_error
|
78
|
+
end
|
79
|
+
|
80
|
+
it 'is expected to raise an exception when the prompt is empty' do
|
81
|
+
expect { @instance.update_custom_text(nil,'language', 'BODY') }.to raise_exception(Auth0::InvalidParameter)
|
82
|
+
end
|
83
|
+
|
84
|
+
it 'is expected to raise an exception when the language is empty' do
|
85
|
+
expect { @instance.update_custom_text('prompt_name', nil, 'BODY') }.to raise_exception(Auth0::InvalidParameter)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|