workos 10.4.0 → 10.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +1 -1
- data/.github/workflows/docs.yml +2 -2
- data/.github/workflows/lint.yml +1 -1
- data/.github/workflows/release-please.yml +4 -4
- data/.github/workflows/release.yml +1 -1
- data/.last-synced-sha +1 -1
- data/.oagen-manifest.json +454 -2
- data/.release-please-manifest.json +1 -1
- data/.ruby-version +1 -1
- data/CHANGELOG.md +326 -0
- data/Gemfile.lock +2 -2
- data/README.md +2 -2
- data/lib/workos/admin_portal/generate_link.rb +3 -0
- data/lib/workos/admin_portal/revoke_link.rb +22 -0
- data/lib/workos/admin_portal.rb +27 -0
- data/lib/workos/agents/agent_blueprint.rb +3 -0
- data/lib/workos/agents/agent_blueprint_invocable_as.rb +18 -0
- data/lib/workos/agents/agent_blueprints_create_request.rb +3 -0
- data/lib/workos/agents/agent_blueprints_create_request_invocable_as.rb +18 -0
- data/lib/workos/agents/agent_blueprints_update_request.rb +3 -0
- data/lib/workos/agents/agent_blueprints_update_request_invocable_as.rb +18 -0
- data/lib/workos/agents/agent_registration.rb +3 -0
- data/lib/workos/agents/list_metadata.rb +22 -0
- data/lib/workos/agents.rb +25 -0
- data/lib/workos/api_keys/api_key_data_integration_vended_credential.rb +28 -0
- data/lib/workos/authorization/patch_group_role_assignments.rb +22 -0
- data/lib/workos/authorization/user_role_assignment_source.rb +5 -2
- data/lib/workos/authorization/user_role_assignment_source_group.rb +7 -0
- data/lib/workos/authorization.rb +26 -0
- data/lib/workos/base_client.rb +3 -0
- data/lib/workos/connect/connect_application.rb +3 -0
- data/lib/workos/connect/create_oauth_application.rb +3 -0
- data/lib/workos/connect/update_oauth_application.rb +5 -2
- data/lib/workos/connect.rb +6 -0
- data/lib/workos/directory_sync/directory_sync_rate_limit_error.rb +25 -0
- data/lib/workos/directory_sync/directory_sync_response.rb +18 -0
- data/lib/workos/directory_sync.rb +19 -0
- data/lib/workos/events.rb +3 -11
- data/lib/workos/feature_flags/flag_created_data.rb +1 -46
- data/lib/workos/feature_flags/flag_deleted_data.rb +1 -1
- data/lib/workos/feature_flags/flag_rule.rb +49 -0
- data/lib/workos/feature_flags/flag_rule_updated_data.rb +1 -1
- data/lib/workos/feature_flags/flag_target.rb +52 -0
- data/lib/workos/feature_flags/flag_target_with_rule_id.rb +46 -0
- data/lib/workos/feature_flags/flag_target_with_value_type.rb +49 -0
- data/lib/workos/feature_flags/flag_updated_context_previous_attribute.rb +1 -12
- data/lib/workos/feature_flags/flag_updated_context_previous_attribute_data.rb +1 -25
- data/lib/workos/feature_flags/flag_updated_context_previous_attribute_data_owner.rb +7 -0
- data/lib/workos/feature_flags/flag_updated_data.rb +1 -1
- data/lib/workos/groups/patch_group_memberships.rb +22 -0
- data/lib/workos/groups.rb +28 -0
- data/lib/workos/inflections.rb +30 -0
- data/lib/workos/organizations/it_contact_list_list_metadata.rb +22 -0
- data/lib/workos/organizations/organization_authentication_methods_required_oauth_error_body.rb +22 -0
- data/lib/workos/organizations/organization_connected_account_import_error_body.rb +22 -0
- data/lib/workos/organizations/organization_membership_not_found_oauth_error_body.rb +22 -0
- data/lib/workos/organizations/organization_not_found_oauth_error_body.rb +22 -0
- data/lib/workos/organizations/organization_selection_required_error_body.rb +22 -0
- data/lib/workos/organizations/organization_selection_required_error_body_with_organization.rb +7 -0
- data/lib/workos/organizations/organization_selection_required_error_body_with_organizations.rb +25 -0
- data/lib/workos/pipes/connected_account.rb +11 -2
- data/lib/workos/pipes/connected_account_input.rb +6 -0
- data/lib/workos/pipes/connected_account_warning.rb +22 -0
- data/lib/workos/pipes/create_connected_account.rb +40 -0
- data/lib/workos/pipes/create_organization_connected_account.rb +43 -0
- data/lib/workos/pipes/data_integration_authorize_url_response.rb +9 -2
- data/lib/workos/pipes/data_integration_credentials_response.rb +1 -1
- data/lib/workos/pipes/data_integration_finish_connection_response.rb +18 -0
- data/lib/workos/pipes/{data_integration_credentials_response_credential.rb → data_integration_vended_credential.rb} +9 -3
- data/lib/workos/pipes/data_integrations_create_api_key_connection_request.rb +37 -0
- data/lib/workos/pipes/data_integrations_create_client_credentials_connection_request.rb +43 -0
- data/lib/workos/pipes/data_integrations_finish_connection_request.rb +25 -0
- data/lib/workos/pipes/data_integrations_get_data_integration_authorize_url_request.rb +17 -2
- data/lib/workos/pipes/data_integrations_list_response_data_connected_account.rb +10 -1
- data/lib/workos/pipes/data_integrations_list_response_data_connected_account_warning.rb +7 -0
- data/lib/workos/pipes/data_integrations_upsert_api_key_request.rb +14 -5
- data/lib/workos/pipes/data_integrations_upsert_client_credentials_request.rb +14 -5
- data/lib/workos/pipes/organization_connected_account.rb +40 -0
- data/lib/workos/pipes.rb +216 -20
- data/lib/workos/shared/access_denied_oauth_error_body.rb +22 -0
- data/lib/workos/shared/account_selection_required_error_body.rb +7 -0
- data/lib/workos/shared/agent_blueprint_created_data.rb +3 -0
- data/lib/workos/shared/agent_blueprint_created_data_invocable_as.rb +18 -0
- data/lib/workos/shared/agent_blueprint_updated_data.rb +40 -1
- data/lib/workos/shared/agent_blueprint_updated_data_invocable_as.rb +18 -0
- data/lib/workos/shared/already_claimed_error_body.rb +22 -0
- data/lib/workos/shared/application_consent_required_error_body.rb +22 -0
- data/lib/workos/shared/auth_method_mismatch_error_body.rb +7 -0
- data/lib/workos/shared/authorization_pending_oauth_error_body.rb +22 -0
- data/lib/workos/shared/authorization_url_not_found_error_body.rb +22 -0
- data/lib/workos/shared/authorization_url_request_error_body.rb +22 -0
- data/lib/workos/shared/client_credentials_data_integration_vended_credential.rb +40 -0
- data/lib/workos/shared/code_challenge_not_found_error_body.rb +22 -0
- data/lib/workos/shared/connect_application_oauth.rb +3 -0
- data/lib/workos/shared/connected_account_limit_reached_error_body.rb +22 -0
- data/lib/workos/shared/daily_quota_exceeded_error_body.rb +22 -0
- data/lib/workos/shared/data_integration_access_token_response_with_access_token.rb +22 -0
- data/lib/workos/shared/data_integration_access_token_response_with_access_token_access_token.rb +7 -0
- data/lib/workos/shared/data_integration_access_token_response_with_error.rb +22 -0
- data/lib/workos/shared/data_integration_credentials_response_with_credential.rb +22 -0
- data/lib/workos/shared/data_integration_credentials_response_with_error.rb +22 -0
- data/lib/workos/shared/entity_not_found_error_body.rb +22 -0
- data/lib/workos/shared/error_body.rb +7 -0
- data/lib/workos/shared/error_body_with_code.rb +7 -0
- data/lib/workos/shared/error_body_with_code_errors.rb +25 -0
- data/lib/workos/shared/error_body_with_code_field_error.rb +22 -0
- data/lib/workos/shared/error_body_with_code_field_errors.rb +22 -0
- data/lib/workos/shared/error_body_with_code_instance_path_error.rb +18 -0
- data/lib/workos/shared/error_body_with_code_instance_path_errors.rb +25 -0
- data/lib/workos/shared/error_body_with_code_status_code.rb +25 -0
- data/lib/workos/shared/error_body_with_constraints_property_error.rb +22 -0
- data/lib/workos/shared/error_body_with_constraints_property_errors.rb +22 -0
- data/lib/workos/shared/error_body_with_error.rb +22 -0
- data/lib/workos/shared/error_body_with_error_message_list.rb +22 -0
- data/lib/workos/shared/error_body_with_message_or_message_list.rb +18 -0
- data/lib/workos/shared/expired_token_oauth_error_body.rb +22 -0
- data/lib/workos/shared/external_auth_session_already_completed_error_body.rb +22 -0
- data/lib/workos/shared/external_id_already_used_error_body.rb +22 -0
- data/lib/workos/shared/extra_attributes_required_oauth_error_body.rb +22 -0
- data/lib/workos/shared/feature_flags_flag_created.rb +34 -0
- data/lib/workos/shared/feature_flags_flag_created_context.rb +22 -0
- data/lib/workos/shared/feature_flags_flag_created_context_actor.rb +25 -0
- data/lib/workos/shared/feature_flags_flag_created_data.rb +52 -0
- data/lib/workos/shared/feature_flags_flag_created_data_owner.rb +7 -0
- data/lib/workos/shared/feature_flags_flag_deleted.rb +34 -0
- data/lib/workos/shared/feature_flags_flag_deleted_context.rb +22 -0
- data/lib/workos/shared/feature_flags_flag_deleted_context_actor.rb +25 -0
- data/lib/workos/shared/feature_flags_flag_deleted_data.rb +7 -0
- data/lib/workos/shared/feature_flags_flag_deleted_data_owner.rb +7 -0
- data/lib/workos/shared/feature_flags_flag_rule_created.rb +34 -0
- data/lib/workos/shared/feature_flags_flag_rule_created_context.rb +22 -0
- data/lib/workos/shared/feature_flags_flag_rule_created_context_actor.rb +25 -0
- data/lib/workos/shared/feature_flags_flag_rule_deleted.rb +34 -0
- data/lib/workos/shared/feature_flags_flag_rule_deleted_context.rb +22 -0
- data/lib/workos/shared/feature_flags_flag_rule_deleted_context_actor.rb +25 -0
- data/lib/workos/shared/feature_flags_flag_rule_updated.rb +34 -0
- data/lib/workos/shared/feature_flags_flag_rule_updated_context.rb +25 -0
- data/lib/workos/shared/feature_flags_flag_rule_updated_context_actor.rb +25 -0
- data/lib/workos/shared/feature_flags_flag_rule_updated_context_previous_attribute.rb +18 -0
- data/lib/workos/shared/feature_flags_flag_rule_updated_context_previous_attribute_data.rb +18 -0
- data/lib/workos/shared/feature_flags_flag_target_created.rb +34 -0
- data/lib/workos/shared/feature_flags_flag_target_created_context.rb +22 -0
- data/lib/workos/shared/feature_flags_flag_target_created_context_actor.rb +25 -0
- data/lib/workos/shared/feature_flags_flag_target_deleted.rb +34 -0
- data/lib/workos/shared/feature_flags_flag_target_deleted_context.rb +22 -0
- data/lib/workos/shared/feature_flags_flag_target_deleted_context_actor.rb +25 -0
- data/lib/workos/shared/feature_flags_flag_updated.rb +34 -0
- data/lib/workos/shared/feature_flags_flag_updated_context.rb +25 -0
- data/lib/workos/shared/feature_flags_flag_updated_context_actor.rb +25 -0
- data/lib/workos/shared/feature_flags_flag_updated_context_previous_attribute.rb +18 -0
- data/lib/workos/shared/feature_flags_flag_updated_context_previous_attribute_data.rb +34 -0
- data/lib/workos/shared/feature_flags_flag_updated_context_previous_attribute_data_owner.rb +7 -0
- data/lib/workos/shared/feature_flags_flag_updated_data.rb +7 -0
- data/lib/workos/shared/feature_flags_flag_updated_data_owner.rb +7 -0
- data/lib/workos/shared/idp_metadata_fetch_failed_error_body.rb +22 -0
- data/lib/workos/shared/invalid_client_oauth_error_body.rb +22 -0
- data/lib/workos/shared/invalid_connection_oauth_error_body.rb +22 -0
- data/lib/workos/shared/invalid_credentials_error_body.rb +22 -0
- data/lib/workos/shared/invalid_email_error_body.rb +22 -0
- data/lib/workos/shared/invalid_grant_oauth_error_body.rb +22 -0
- data/lib/workos/shared/invalid_idp_sso_url_error_body.rb +22 -0
- data/lib/workos/shared/invalid_link_authorization_code_oauth_error_body.rb +22 -0
- data/lib/workos/shared/invalid_locale_error_body.rb +22 -0
- data/lib/workos/shared/invalid_metadata_error_body.rb +22 -0
- data/lib/workos/shared/invalid_one_time_code_error_body.rb +22 -0
- data/lib/workos/shared/invalid_organization_id_error_body.rb +22 -0
- data/lib/workos/shared/invalid_password_hash_error_body.rb +22 -0
- data/lib/workos/shared/invalid_pending_authentication_token_error_body.rb +22 -0
- data/lib/workos/shared/invalid_profile_oauth_error_body.rb +22 -0
- data/lib/workos/shared/invalid_refresh_token_error_body.rb +22 -0
- data/lib/workos/shared/invalid_request_oauth_error_body.rb +22 -0
- data/lib/workos/shared/invalid_request_parameters_error_body.rb +22 -0
- data/lib/workos/shared/invalid_request_parameters_error_body_with_errors.rb +25 -0
- data/lib/workos/shared/invalid_role_error_body.rb +22 -0
- data/lib/workos/shared/invalid_url_error_body.rb +22 -0
- data/lib/workos/shared/mfa_challenge_error_body.rb +22 -0
- data/lib/workos/shared/mfa_enrollment_error_body.rb +22 -0
- data/lib/workos/shared/mfa_enrollment_oauth_error_body.rb +22 -0
- data/lib/workos/shared/multiple_roles_not_enabled_error_body.rb +22 -0
- data/lib/workos/shared/must_use_sso_for_selected_organization_message_error_body.rb +18 -0
- data/lib/workos/shared/oauth_data_integration_vended_credential.rb +40 -0
- data/lib/workos/shared/oauth_error_body.rb +22 -0
- data/lib/workos/shared/one_time_code_expired_error_body.rb +22 -0
- data/lib/workos/shared/one_time_code_previously_used_error_body.rb +22 -0
- data/lib/workos/shared/one_time_code_too_many_attempts_error_body.rb +22 -0
- data/lib/workos/shared/passkey_progressive_enrollment_error_body.rb +22 -0
- data/lib/workos/shared/phone_number_required_error_body.rb +22 -0
- data/lib/workos/shared/pipe_connected_account.rb +6 -0
- data/lib/workos/shared/pkce_not_supported_oauth_error_body.rb +22 -0
- data/lib/workos/shared/policy_denied_error_body.rb +22 -0
- data/lib/workos/shared/radar_challenge_error_body.rb +22 -0
- data/lib/workos/shared/radar_sign_up_challenge_error_body.rb +22 -0
- data/lib/workos/shared/radar_sms_sign_in_challenge_error_body.rb +22 -0
- data/lib/workos/shared/rate_limit_exceeded_error_body_with_retry_after.rb +25 -0
- data/lib/workos/shared/sign_up_not_allowed_oauth_error_body.rb +22 -0
- data/lib/workos/shared/slow_down_oauth_error_body.rb +22 -0
- data/lib/workos/shared/sms_challenge_quota_reached_error_body.rb +22 -0
- data/lib/workos/shared/sms_challenge_rate_limited_error_body.rb +22 -0
- data/lib/workos/shared/sso_required_oauth_error_body_with_connection_ids_list_email_pending_authentication_token.rb +31 -0
- data/lib/workos/shared/sub_resource_scoped_role_not_allowed_error_body_with_role_slug.rb +25 -0
- data/lib/workos/shared/token_too_big_oauth_error_body.rb +22 -0
- data/lib/workos/shared/too_many_failed_verification_attempts_error_body_with_retry_after.rb +25 -0
- data/lib/workos/shared/too_many_requests_oauth_error_body.rb +22 -0
- data/lib/workos/shared/unauthorized_client_oauth_error_body.rb +22 -0
- data/lib/workos/shared/unauthorized_error_body.rb +18 -0
- data/lib/workos/shared/update_audit_logs_retention_with_retention_period.rb +18 -0
- data/lib/workos/shared/update_audit_logs_retention_with_retention_period_in_days.rb +26 -0
- data/lib/workos/shared/update_user_organization_membership_with_role_slug.rb +18 -0
- data/lib/workos/shared/update_user_organization_membership_with_role_slugs.rb +18 -0
- data/lib/workos/shared/verification_id_required_error_body.rb +22 -0
- data/lib/workos/sso/connection_could_not_be_verified_error_body.rb +22 -0
- data/lib/workos/sso/connection_creation_conflict_error_body.rb +22 -0
- data/lib/workos/sso/connection_creation_not_found_error_body.rb +22 -0
- data/lib/workos/sso/connection_finish_error_body.rb +22 -0
- data/lib/workos/sso/connection_type_not_updatable_error_body.rb +22 -0
- data/lib/workos/sso/token_query.rb +3 -0
- data/lib/workos/sso.rb +3 -0
- data/lib/workos/types/agent_blueprint_created_data_invocable_as_instance_types.rb +13 -0
- data/lib/workos/types/agent_blueprint_invocable_as_instance_types.rb +9 -0
- data/lib/workos/types/agent_blueprint_updated_data_invocable_as_instance_types.rb +9 -0
- data/lib/workos/types/agent_blueprints_create_request_invocable_as_instance_types.rb +9 -0
- data/lib/workos/types/agent_blueprints_update_request_invocable_as_instance_types.rb +9 -0
- data/lib/workos/types/agent_instance_created_data_type.rb +1 -5
- data/lib/workos/types/agent_instance_deleted_data_type.rb +1 -1
- data/lib/workos/types/agent_instance_type.rb +1 -1
- data/lib/workos/types/authorization_url_not_found_error_body_code.rb +14 -0
- data/lib/workos/types/authorization_url_request_error_body_code.rb +14 -0
- data/lib/workos/types/connection_creation_conflict_error_body_code.rb +13 -0
- data/lib/workos/types/connection_creation_not_found_error_body_code.rb +13 -0
- data/lib/workos/types/connection_finish_error_body_code.rb +29 -0
- data/lib/workos/types/create_connected_account_state.rb +9 -0
- data/lib/workos/types/create_magic_code_and_return_locale.rb +101 -0
- data/lib/workos/types/create_organization_connected_account_state.rb +9 -0
- data/lib/workos/types/create_password_reset_token_locale.rb +9 -0
- data/lib/workos/types/create_user_invite_options_locale.rb +1 -93
- data/lib/workos/types/create_webhook_endpoint_events.rb +9 -1
- data/lib/workos/types/data_integration_access_token_response_with_error_error.rb +9 -0
- data/lib/workos/types/data_integration_credentials_response_with_error_error.rb +9 -0
- data/lib/workos/types/data_integrations_create_api_key_connection_request_connection_owner.rb +9 -0
- data/lib/workos/types/data_integrations_create_client_credentials_connection_request_connection_owner.rb +9 -0
- data/lib/workos/types/data_integrations_get_data_integration_authorize_url_request_connection_intent.rb +13 -0
- data/lib/workos/types/error_body_code.rb +183 -0
- data/lib/workos/types/feature_flags_flag_created_context_actor_source.rb +9 -0
- data/lib/workos/types/feature_flags_flag_deleted_context_actor_source.rb +9 -0
- data/lib/workos/types/feature_flags_flag_rule_created_context_actor_source.rb +9 -0
- data/lib/workos/types/feature_flags_flag_rule_deleted_context_actor_source.rb +9 -0
- data/lib/workos/types/feature_flags_flag_rule_updated_context_actor_source.rb +9 -0
- data/lib/workos/types/feature_flags_flag_target_created_context_actor_source.rb +9 -0
- data/lib/workos/types/feature_flags_flag_target_deleted_context_actor_source.rb +9 -0
- data/lib/workos/types/feature_flags_flag_updated_context_actor_source.rb +9 -0
- data/lib/workos/types/organization_connected_account_import_error_body_code.rb +14 -0
- data/lib/workos/types/organization_connected_account_state.rb +9 -0
- data/lib/workos/types/resend_user_invite_options_locale.rb +1 -1
- data/lib/workos/types/resource_export_completed_data_resource_type.rb +4 -1
- data/lib/workos/types/send_email_change_locale.rb +9 -0
- data/lib/workos/types/send_verification_email_locale.rb +9 -0
- data/lib/workos/types/update_audit_logs_retention_with_retention_period_retention_period.rb +9 -0
- data/lib/workos/types/user_connected_account_import_error_body_code.rb +15 -0
- data/lib/workos/types/vault_dek_rekeyed_data_actor_source.rb +9 -0
- data/lib/workos/types/widget_session_token_scopes.rb +3 -1
- data/lib/workos/user_management/action_denied_error_body.rb +22 -0
- data/lib/workos/user_management/authentication_method_not_allowed_error_body.rb +22 -0
- data/lib/workos/user_management/authentication_method_not_allowed_oauth_error_body.rb +22 -0
- data/lib/workos/user_management/create_magic_code_and_return.rb +5 -2
- data/lib/workos/user_management/create_password_reset_token.rb +16 -1
- data/lib/workos/user_management/email_already_in_use_error_body.rb +22 -0
- data/lib/workos/user_management/email_already_verified_error_body.rb +22 -0
- data/lib/workos/user_management/email_change_not_allowed_error_body.rb +22 -0
- data/lib/workos/user_management/email_completion_required_error_body_with_email_completion_token.rb +25 -0
- data/lib/workos/user_management/email_domain_not_deliverable_error_body.rb +22 -0
- data/lib/workos/user_management/email_not_available_error_body.rb +22 -0
- data/lib/workos/user_management/email_password_auth_disabled_error_body.rb +22 -0
- data/lib/workos/user_management/email_verification_required_error_body.rb +22 -0
- data/lib/workos/user_management/invitation_cannot_be_used_for_email_oauth_error_body.rb +22 -0
- data/lib/workos/user_management/invitation_invalid_oauth_error_body.rb +22 -0
- data/lib/workos/user_management/password_and_password_hash_provided_error_body.rb +22 -0
- data/lib/workos/user_management/password_and_password_hash_type_provided_error_body.rb +22 -0
- data/lib/workos/user_management/password_salt_position_requires_password_hash_error_body.rb +22 -0
- data/lib/workos/user_management/password_strength_error_error_body_with_errors.rb +25 -0
- data/lib/workos/user_management/send_email_change.rb +6 -2
- data/lib/workos/user_management/send_verification_email.rb +18 -0
- data/lib/workos/user_management/user_connected_account_import_error_body.rb +22 -0
- data/lib/workos/user_management/user_consent_options_not_supported_error_body.rb +22 -0
- data/lib/workos/user_management/user_creation_error_error_body_with_errors.rb +25 -0
- data/lib/workos/user_management/user_mismatch_error_body.rb +22 -0
- data/lib/workos/user_management/waitlist_list_response.rb +25 -0
- data/lib/workos/user_management/waitlist_list_response_list_metadata.rb +7 -0
- data/lib/workos/user_management.rb +26 -11
- data/lib/workos/vault/vault_dek_rekeyed.rb +34 -0
- data/lib/workos/vault/vault_dek_rekeyed_data.rb +31 -0
- data/lib/workos/version.rb +1 -1
- data/rbi/workos/access_denied_oauth_error_body.rbi +30 -0
- data/rbi/workos/account_selection_required_error_body.rbi +30 -0
- data/rbi/workos/action_denied_error_body.rbi +30 -0
- data/rbi/workos/admin_portal.rbi +11 -1
- data/rbi/workos/agent_blueprint.rbi +6 -0
- data/rbi/workos/agent_blueprint_created_data.rbi +6 -0
- data/rbi/workos/agent_blueprint_created_data_invocable_as.rbi +24 -0
- data/rbi/workos/agent_blueprint_invocable_as.rbi +24 -0
- data/rbi/workos/agent_blueprint_updated_data.rbi +6 -0
- data/rbi/workos/agent_blueprint_updated_data_invocable_as.rbi +24 -0
- data/rbi/workos/agent_blueprints_create_request.rbi +6 -0
- data/rbi/workos/agent_blueprints_create_request_invocable_as.rbi +24 -0
- data/rbi/workos/agent_blueprints_update_request.rbi +6 -0
- data/rbi/workos/agent_blueprints_update_request_invocable_as.rbi +24 -0
- data/rbi/workos/agent_registration.rbi +6 -0
- data/rbi/workos/agents.rbi +29 -19
- data/rbi/workos/already_claimed_error_body.rbi +30 -0
- data/rbi/workos/api_key_data_integration_vended_credential.rbi +42 -0
- data/rbi/workos/api_keys.rbi +5 -5
- data/rbi/workos/application_consent_required_error_body.rbi +30 -0
- data/rbi/workos/audit_logs.rbi +10 -10
- data/rbi/workos/auth_method_mismatch_error_body.rbi +30 -0
- data/rbi/workos/authentication_method_not_allowed_error_body.rbi +30 -0
- data/rbi/workos/authentication_method_not_allowed_oauth_error_body.rbi +30 -0
- data/rbi/workos/authorization.rbi +55 -45
- data/rbi/workos/authorization_pending_oauth_error_body.rbi +30 -0
- data/rbi/workos/authorization_url_not_found_error_body.rbi +30 -0
- data/rbi/workos/authorization_url_request_error_body.rbi +30 -0
- data/rbi/workos/client_api.rbi +1 -1
- data/rbi/workos/client_credentials_data_integration_vended_credential.rbi +66 -0
- data/rbi/workos/code_challenge_not_found_error_body.rbi +30 -0
- data/rbi/workos/connect.rbi +12 -10
- data/rbi/workos/connect_application_oauth.rbi +6 -0
- data/rbi/workos/connected_account.rbi +18 -0
- data/rbi/workos/connected_account_input.rbi +12 -0
- data/rbi/workos/connected_account_limit_reached_error_body.rbi +30 -0
- data/rbi/workos/connected_account_warning.rbi +30 -0
- data/rbi/workos/connection_could_not_be_verified_error_body.rbi +30 -0
- data/rbi/workos/connection_creation_conflict_error_body.rbi +30 -0
- data/rbi/workos/connection_creation_not_found_error_body.rbi +30 -0
- data/rbi/workos/connection_finish_error_body.rbi +30 -0
- data/rbi/workos/connection_type_not_updatable_error_body.rbi +30 -0
- data/rbi/workos/create_connected_account.rbi +66 -0
- data/rbi/workos/create_magic_code_and_return.rbi +6 -0
- data/rbi/workos/create_oauth_application.rbi +6 -0
- data/rbi/workos/create_organization_connected_account.rbi +72 -0
- data/rbi/workos/create_password_reset_token.rbi +6 -0
- data/rbi/workos/daily_quota_exceeded_error_body.rbi +30 -0
- data/rbi/workos/data_integration_access_token_response_with_access_token.rbi +30 -0
- data/rbi/workos/{data_integration_credentials_response_credential.rbi → data_integration_access_token_response_with_access_token_access_token.rbi} +3 -9
- data/rbi/workos/data_integration_access_token_response_with_error.rbi +30 -0
- data/rbi/workos/data_integration_authorize_url_response.rbi +12 -0
- data/rbi/workos/data_integration_credentials_response.rbi +2 -2
- data/rbi/workos/data_integration_credentials_response_with_credential.rbi +30 -0
- data/rbi/workos/data_integration_credentials_response_with_error.rbi +30 -0
- data/rbi/workos/data_integration_finish_connection_response.rbi +24 -0
- data/rbi/workos/data_integration_vended_credential.rbi +66 -0
- data/rbi/workos/data_integrations_create_api_key_connection_request.rbi +60 -0
- data/rbi/workos/data_integrations_create_client_credentials_connection_request.rbi +72 -0
- data/rbi/workos/data_integrations_finish_connection_request.rbi +36 -0
- data/rbi/workos/data_integrations_get_data_integration_authorize_url_request.rbi +30 -0
- data/rbi/workos/data_integrations_list_response_data_connected_account.rbi +18 -0
- data/rbi/workos/data_integrations_list_response_data_connected_account_warning.rbi +30 -0
- data/rbi/workos/data_integrations_upsert_api_key_request.rbi +24 -6
- data/rbi/workos/data_integrations_upsert_client_credentials_request.rbi +24 -6
- data/rbi/workos/directory_sync.rbi +15 -7
- data/rbi/workos/directory_sync_rate_limit_error.rbi +36 -0
- data/rbi/workos/directory_sync_response.rbi +24 -0
- data/rbi/workos/email_already_in_use_error_body.rbi +30 -0
- data/rbi/workos/email_already_verified_error_body.rbi +30 -0
- data/rbi/workos/email_change_not_allowed_error_body.rbi +30 -0
- data/rbi/workos/email_completion_required_error_body_with_email_completion_token.rbi +36 -0
- data/rbi/workos/email_domain_not_deliverable_error_body.rbi +30 -0
- data/rbi/workos/email_not_available_error_body.rbi +30 -0
- data/rbi/workos/email_password_auth_disabled_error_body.rbi +30 -0
- data/rbi/workos/email_verification_required_error_body.rbi +30 -0
- data/rbi/workos/entity_not_found_error_body.rbi +30 -0
- data/rbi/workos/error_body.rbi +24 -0
- data/rbi/workos/error_body_with_code.rbi +30 -0
- data/rbi/workos/error_body_with_code_errors.rbi +36 -0
- data/rbi/workos/error_body_with_code_field_error.rbi +30 -0
- data/rbi/workos/error_body_with_code_field_errors.rbi +30 -0
- data/rbi/workos/error_body_with_code_instance_path_error.rbi +24 -0
- data/rbi/workos/error_body_with_code_instance_path_errors.rbi +36 -0
- data/rbi/workos/error_body_with_code_status_code.rbi +36 -0
- data/rbi/workos/error_body_with_constraints_property_error.rbi +30 -0
- data/rbi/workos/error_body_with_constraints_property_errors.rbi +30 -0
- data/rbi/workos/error_body_with_error.rbi +30 -0
- data/rbi/workos/error_body_with_error_message_list.rbi +30 -0
- data/rbi/workos/error_body_with_message_or_message_list.rbi +24 -0
- data/rbi/workos/events.rbi +1 -3
- data/rbi/workos/expired_token_oauth_error_body.rbi +30 -0
- data/rbi/workos/external_auth_session_already_completed_error_body.rbi +30 -0
- data/rbi/workos/external_id_already_used_error_body.rbi +30 -0
- data/rbi/workos/extra_attributes_required_oauth_error_body.rbi +30 -0
- data/rbi/workos/feature_flags.rbi +8 -8
- data/rbi/workos/feature_flags_flag_created.rbi +54 -0
- data/rbi/workos/feature_flags_flag_created_context.rbi +30 -0
- data/rbi/workos/feature_flags_flag_created_context_actor.rbi +36 -0
- data/rbi/workos/feature_flags_flag_created_data.rbi +90 -0
- data/rbi/workos/feature_flags_flag_created_data_owner.rbi +36 -0
- data/rbi/workos/feature_flags_flag_deleted.rbi +54 -0
- data/rbi/workos/feature_flags_flag_deleted_context.rbi +30 -0
- data/rbi/workos/feature_flags_flag_deleted_context_actor.rbi +36 -0
- data/rbi/workos/feature_flags_flag_deleted_data.rbi +90 -0
- data/rbi/workos/feature_flags_flag_deleted_data_owner.rbi +36 -0
- data/rbi/workos/feature_flags_flag_rule_created.rbi +54 -0
- data/rbi/workos/feature_flags_flag_rule_created_context.rbi +30 -0
- data/rbi/workos/feature_flags_flag_rule_created_context_actor.rbi +36 -0
- data/rbi/workos/feature_flags_flag_rule_deleted.rbi +54 -0
- data/rbi/workos/feature_flags_flag_rule_deleted_context.rbi +30 -0
- data/rbi/workos/feature_flags_flag_rule_deleted_context_actor.rbi +36 -0
- data/rbi/workos/feature_flags_flag_rule_updated.rbi +54 -0
- data/rbi/workos/feature_flags_flag_rule_updated_context.rbi +36 -0
- data/rbi/workos/feature_flags_flag_rule_updated_context_actor.rbi +36 -0
- data/rbi/workos/feature_flags_flag_rule_updated_context_previous_attribute.rbi +24 -0
- data/rbi/workos/feature_flags_flag_rule_updated_context_previous_attribute_data.rbi +24 -0
- data/rbi/workos/feature_flags_flag_target_created.rbi +54 -0
- data/rbi/workos/feature_flags_flag_target_created_context.rbi +30 -0
- data/rbi/workos/feature_flags_flag_target_created_context_actor.rbi +36 -0
- data/rbi/workos/feature_flags_flag_target_deleted.rbi +54 -0
- data/rbi/workos/feature_flags_flag_target_deleted_context.rbi +30 -0
- data/rbi/workos/feature_flags_flag_target_deleted_context_actor.rbi +36 -0
- data/rbi/workos/feature_flags_flag_updated.rbi +54 -0
- data/rbi/workos/feature_flags_flag_updated_context.rbi +36 -0
- data/rbi/workos/feature_flags_flag_updated_context_actor.rbi +36 -0
- data/rbi/workos/feature_flags_flag_updated_context_previous_attribute.rbi +24 -0
- data/rbi/workos/feature_flags_flag_updated_context_previous_attribute_data.rbi +54 -0
- data/rbi/workos/feature_flags_flag_updated_context_previous_attribute_data_owner.rbi +36 -0
- data/rbi/workos/feature_flags_flag_updated_data.rbi +90 -0
- data/rbi/workos/feature_flags_flag_updated_data_owner.rbi +36 -0
- data/rbi/workos/flag_rule.rbi +84 -0
- data/rbi/workos/flag_target.rbi +90 -0
- data/rbi/workos/flag_target_with_rule_id.rbi +78 -0
- data/rbi/workos/flag_target_with_value_type.rbi +84 -0
- data/rbi/workos/flag_updated_context_previous_attribute_data.rbi +6 -0
- data/rbi/workos/flag_updated_context_previous_attribute_data_owner.rbi +36 -0
- data/rbi/workos/generate_link.rbi +6 -0
- data/rbi/workos/group_role_assignment_list.rbi +36 -0
- data/rbi/workos/groups.rbi +19 -8
- data/rbi/workos/idp_metadata_fetch_failed_error_body.rbi +30 -0
- data/rbi/workos/invalid_client_oauth_error_body.rbi +30 -0
- data/rbi/workos/invalid_connection_oauth_error_body.rbi +30 -0
- data/rbi/workos/invalid_credentials_error_body.rbi +30 -0
- data/rbi/workos/invalid_email_error_body.rbi +30 -0
- data/rbi/workos/invalid_grant_oauth_error_body.rbi +30 -0
- data/rbi/workos/invalid_idp_sso_url_error_body.rbi +30 -0
- data/rbi/workos/invalid_link_authorization_code_oauth_error_body.rbi +30 -0
- data/rbi/workos/invalid_locale_error_body.rbi +30 -0
- data/rbi/workos/invalid_metadata_error_body.rbi +30 -0
- data/rbi/workos/invalid_one_time_code_error_body.rbi +30 -0
- data/rbi/workos/invalid_organization_id_error_body.rbi +30 -0
- data/rbi/workos/invalid_password_hash_error_body.rbi +30 -0
- data/rbi/workos/invalid_pending_authentication_token_error_body.rbi +30 -0
- data/rbi/workos/invalid_profile_oauth_error_body.rbi +30 -0
- data/rbi/workos/invalid_refresh_token_error_body.rbi +30 -0
- data/rbi/workos/invalid_request_oauth_error_body.rbi +30 -0
- data/rbi/workos/invalid_request_parameters_error_body.rbi +30 -0
- data/rbi/workos/invalid_request_parameters_error_body_with_errors.rbi +36 -0
- data/rbi/workos/invalid_role_error_body.rbi +30 -0
- data/rbi/workos/invalid_url_error_body.rbi +30 -0
- data/rbi/workos/invitation_cannot_be_used_for_email_oauth_error_body.rbi +30 -0
- data/rbi/workos/invitation_invalid_oauth_error_body.rbi +30 -0
- data/rbi/workos/it_contact_list.rbi +36 -0
- data/rbi/workos/it_contact_list_list_metadata.rbi +30 -0
- data/rbi/workos/list_metadata.rbi +30 -0
- data/rbi/workos/mfa_challenge_error_body.rbi +30 -0
- data/rbi/workos/mfa_enrollment_error_body.rbi +30 -0
- data/rbi/workos/mfa_enrollment_oauth_error_body.rbi +30 -0
- data/rbi/workos/multi_factor_auth.rbi +7 -7
- data/rbi/workos/multiple_roles_not_enabled_error_body.rbi +30 -0
- data/rbi/workos/must_use_sso_for_selected_organization_message_error_body.rbi +24 -0
- data/rbi/workos/oauth_data_integration_vended_credential.rbi +66 -0
- data/rbi/workos/oauth_error_body.rbi +30 -0
- data/rbi/workos/one_time_code_expired_error_body.rbi +30 -0
- data/rbi/workos/one_time_code_previously_used_error_body.rbi +30 -0
- data/rbi/workos/one_time_code_too_many_attempts_error_body.rbi +30 -0
- data/rbi/workos/organization_authentication_methods_required_oauth_error_body.rbi +30 -0
- data/rbi/workos/organization_connected_account.rbi +66 -0
- data/rbi/workos/organization_connected_account_import_error_body.rbi +30 -0
- data/rbi/workos/organization_domains.rbi +4 -4
- data/rbi/workos/organization_membership_not_found_oauth_error_body.rbi +30 -0
- data/rbi/workos/organization_membership_service.rbi +8 -8
- data/rbi/workos/organization_not_found_oauth_error_body.rbi +30 -0
- data/rbi/workos/organization_selection_required_error_body.rbi +30 -0
- data/rbi/workos/organization_selection_required_error_body_with_organization.rbi +30 -0
- data/rbi/workos/organization_selection_required_error_body_with_organizations.rbi +36 -0
- data/rbi/workos/organizations.rbi +13 -13
- data/rbi/workos/passkey_progressive_enrollment_error_body.rbi +30 -0
- data/rbi/workos/password_and_password_hash_provided_error_body.rbi +30 -0
- data/rbi/workos/password_and_password_hash_type_provided_error_body.rbi +30 -0
- data/rbi/workos/password_salt_position_requires_password_hash_error_body.rbi +30 -0
- data/rbi/workos/password_strength_error_error_body_with_errors.rbi +36 -0
- data/rbi/workos/patch_group_memberships.rbi +30 -0
- data/rbi/workos/patch_group_role_assignments.rbi +30 -0
- data/rbi/workos/phone_number_required_error_body.rbi +30 -0
- data/rbi/workos/pipe_connected_account.rbi +12 -0
- data/rbi/workos/pipes.rbi +92 -25
- data/rbi/workos/pipes_provider.rbi +2 -2
- data/rbi/workos/pkce_not_supported_oauth_error_body.rbi +30 -0
- data/rbi/workos/platform_teams.rbi +2 -2
- data/rbi/workos/policy_denied_error_body.rbi +30 -0
- data/rbi/workos/radar.rbi +4 -4
- data/rbi/workos/radar_challenge_error_body.rbi +30 -0
- data/rbi/workos/radar_sign_up_challenge_error_body.rbi +30 -0
- data/rbi/workos/radar_sms_sign_in_challenge_error_body.rbi +30 -0
- data/rbi/workos/rate_limit_exceeded_error_body_with_retry_after.rbi +36 -0
- data/rbi/workos/revoke_link.rbi +30 -0
- data/rbi/workos/send_email_change.rbi +6 -0
- data/rbi/workos/send_verification_email.rbi +24 -0
- data/rbi/workos/sign_up_not_allowed_oauth_error_body.rbi +30 -0
- data/rbi/workos/slow_down_oauth_error_body.rbi +30 -0
- data/rbi/workos/sms_challenge_quota_reached_error_body.rbi +30 -0
- data/rbi/workos/sms_challenge_rate_limited_error_body.rbi +30 -0
- data/rbi/workos/sso.rbi +19 -18
- data/rbi/workos/sso_required_oauth_error_body_with_connection_ids_list_email_pending_authentication_token.rbi +48 -0
- data/rbi/workos/sub_resource_scoped_role_not_allowed_error_body_with_role_slug.rbi +36 -0
- data/rbi/workos/token_query.rbi +6 -0
- data/rbi/workos/token_too_big_oauth_error_body.rbi +30 -0
- data/rbi/workos/too_many_failed_verification_attempts_error_body_with_retry_after.rbi +36 -0
- data/rbi/workos/too_many_requests_oauth_error_body.rbi +30 -0
- data/rbi/workos/unauthorized_client_oauth_error_body.rbi +30 -0
- data/rbi/workos/unauthorized_error_body.rbi +24 -0
- data/rbi/workos/update_audit_logs_retention_with_retention_period.rbi +24 -0
- data/rbi/workos/update_audit_logs_retention_with_retention_period_in_days.rbi +24 -0
- data/rbi/workos/update_oauth_application.rbi +6 -0
- data/rbi/workos/update_user_organization_membership_with_role_slug.rbi +24 -0
- data/rbi/workos/update_user_organization_membership_with_role_slugs.rbi +24 -0
- data/rbi/workos/user_connected_account_import_error_body.rbi +30 -0
- data/rbi/workos/user_consent_options_not_supported_error_body.rbi +30 -0
- data/rbi/workos/user_creation_error_error_body_with_errors.rbi +36 -0
- data/rbi/workos/user_management.rbi +77 -61
- data/rbi/workos/user_mismatch_error_body.rbi +30 -0
- data/rbi/workos/user_role_assignment_source.rbi +6 -0
- data/rbi/workos/user_role_assignment_source_group.rbi +30 -0
- data/rbi/workos/vault.rbi +11 -11
- data/rbi/workos/vault_dek_rekeyed.rbi +54 -0
- data/rbi/workos/vault_dek_rekeyed_data.rbi +48 -0
- data/rbi/workos/verification_id_required_error_body.rbi +30 -0
- data/rbi/workos/version_list_response.rbi +30 -0
- data/rbi/workos/waitlist_list_response.rbi +36 -0
- data/rbi/workos/waitlist_list_response_list_metadata.rbi +30 -0
- data/rbi/workos/webhooks.rbi +4 -4
- data/rbi/workos/widgets.rbi +1 -1
- data/test/workos/test_admin_portal.rb +9 -1
- data/test/workos/test_admin_portal_model_round_trip.rb +14 -0
- data/test/workos/test_agents.rb +8 -0
- data/test/workos/test_agents_model_round_trip.rb +46 -0
- data/test/workos/test_api_keys_model_round_trip.rb +14 -0
- data/test/workos/test_authorization.rb +8 -0
- data/test/workos/test_authorization_model_round_trip.rb +38 -1
- data/test/workos/test_base_client.rb +4 -3
- data/test/workos/test_connect_model_round_trip.rb +3 -1
- data/test/workos/test_directory_sync.rb +8 -0
- data/test/workos/test_directory_sync_model_round_trip.rb +24 -0
- data/test/workos/test_feature_flags_model_round_trip.rb +123 -0
- data/test/workos/test_groups.rb +8 -0
- data/test/workos/test_groups_model_round_trip.rb +11 -0
- data/test/workos/test_organizations_model_round_trip.rb +111 -0
- data/test/workos/test_pipes.rb +28 -4
- data/test/workos/test_pipes_model_round_trip.rb +214 -51
- data/test/workos/test_shared_model_round_trip.rb +2066 -423
- data/test/workos/test_sso_model_round_trip.rb +61 -0
- data/test/workos/test_user_management_model_round_trip.rb +297 -3
- data/test/workos/test_vault_model_round_trip.rb +63 -0
- metadata +423 -3
|
@@ -5,6 +5,113 @@
|
|
|
5
5
|
require "test_helper"
|
|
6
6
|
|
|
7
7
|
class FeatureFlagsModelRoundTripTest < Minitest::Test
|
|
8
|
+
def test_flag_rule_round_trip
|
|
9
|
+
fixture = {
|
|
10
|
+
"object" => "flag_rule",
|
|
11
|
+
"id" => "stub",
|
|
12
|
+
"flag_id" => "stub",
|
|
13
|
+
"flag_slug" => "stub",
|
|
14
|
+
"environment_id" => "stub",
|
|
15
|
+
"target_type" => nil,
|
|
16
|
+
"position" => 1,
|
|
17
|
+
"value_type" => "boolean",
|
|
18
|
+
"value" => true,
|
|
19
|
+
"created_at" => "stub",
|
|
20
|
+
"updated_at" => "stub"
|
|
21
|
+
}
|
|
22
|
+
model = WorkOS::FlagRule.new(fixture.to_json)
|
|
23
|
+
json = model.to_h
|
|
24
|
+
assert_kind_of Hash, json
|
|
25
|
+
assert_equal fixture["id"], json[:id]
|
|
26
|
+
assert_equal fixture["flag_id"], json[:flag_id]
|
|
27
|
+
assert_equal fixture["flag_slug"], json[:flag_slug]
|
|
28
|
+
assert_equal fixture["environment_id"], json[:environment_id]
|
|
29
|
+
assert_nil json[:target_type]
|
|
30
|
+
assert_equal fixture["position"], json[:position]
|
|
31
|
+
assert_equal fixture["value"], json[:value]
|
|
32
|
+
assert_equal fixture["created_at"], json[:created_at]
|
|
33
|
+
assert_equal fixture["updated_at"], json[:updated_at]
|
|
34
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def test_flag_target_round_trip
|
|
38
|
+
fixture = {
|
|
39
|
+
"object" => "flag_target",
|
|
40
|
+
"id" => "stub",
|
|
41
|
+
"flag_id" => "stub",
|
|
42
|
+
"flag_slug" => "stub",
|
|
43
|
+
"environment_id" => "stub",
|
|
44
|
+
"target_type" => "stub",
|
|
45
|
+
"target_id" => "stub",
|
|
46
|
+
"created_at" => "stub",
|
|
47
|
+
"updated_at" => "stub",
|
|
48
|
+
"rule_id" => "stub",
|
|
49
|
+
"value_type" => "boolean",
|
|
50
|
+
"value" => true
|
|
51
|
+
}
|
|
52
|
+
model = WorkOS::FlagTarget.new(fixture.to_json)
|
|
53
|
+
json = model.to_h
|
|
54
|
+
assert_kind_of Hash, json
|
|
55
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def test_flag_target_with_rule_id_round_trip
|
|
59
|
+
fixture = {
|
|
60
|
+
"object" => "flag_target",
|
|
61
|
+
"id" => "stub",
|
|
62
|
+
"flag_id" => "stub",
|
|
63
|
+
"flag_slug" => "stub",
|
|
64
|
+
"environment_id" => "stub",
|
|
65
|
+
"target_type" => "stub",
|
|
66
|
+
"target_id" => "stub",
|
|
67
|
+
"created_at" => "stub",
|
|
68
|
+
"updated_at" => "stub",
|
|
69
|
+
"rule_id" => "stub"
|
|
70
|
+
}
|
|
71
|
+
model = WorkOS::FlagTargetWithRuleId.new(fixture.to_json)
|
|
72
|
+
json = model.to_h
|
|
73
|
+
assert_kind_of Hash, json
|
|
74
|
+
assert_equal fixture["id"], json[:id]
|
|
75
|
+
assert_equal fixture["flag_id"], json[:flag_id]
|
|
76
|
+
assert_equal fixture["flag_slug"], json[:flag_slug]
|
|
77
|
+
assert_equal fixture["environment_id"], json[:environment_id]
|
|
78
|
+
assert_equal fixture["target_type"], json[:target_type]
|
|
79
|
+
assert_equal fixture["target_id"], json[:target_id]
|
|
80
|
+
assert_equal fixture["created_at"], json[:created_at]
|
|
81
|
+
assert_equal fixture["updated_at"], json[:updated_at]
|
|
82
|
+
assert_equal fixture["rule_id"], json[:rule_id]
|
|
83
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def test_flag_target_with_value_type_round_trip
|
|
87
|
+
fixture = {
|
|
88
|
+
"object" => "flag_target",
|
|
89
|
+
"id" => "stub",
|
|
90
|
+
"flag_id" => "stub",
|
|
91
|
+
"flag_slug" => "stub",
|
|
92
|
+
"environment_id" => "stub",
|
|
93
|
+
"target_type" => "stub",
|
|
94
|
+
"target_id" => "stub",
|
|
95
|
+
"value_type" => "boolean",
|
|
96
|
+
"value" => true,
|
|
97
|
+
"created_at" => "stub",
|
|
98
|
+
"updated_at" => "stub"
|
|
99
|
+
}
|
|
100
|
+
model = WorkOS::FlagTargetWithValueType.new(fixture.to_json)
|
|
101
|
+
json = model.to_h
|
|
102
|
+
assert_kind_of Hash, json
|
|
103
|
+
assert_equal fixture["id"], json[:id]
|
|
104
|
+
assert_equal fixture["flag_id"], json[:flag_id]
|
|
105
|
+
assert_equal fixture["flag_slug"], json[:flag_slug]
|
|
106
|
+
assert_equal fixture["environment_id"], json[:environment_id]
|
|
107
|
+
assert_equal fixture["target_type"], json[:target_type]
|
|
108
|
+
assert_equal fixture["target_id"], json[:target_id]
|
|
109
|
+
assert_equal fixture["value"], json[:value]
|
|
110
|
+
assert_equal fixture["created_at"], json[:created_at]
|
|
111
|
+
assert_equal fixture["updated_at"], json[:updated_at]
|
|
112
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
113
|
+
end
|
|
114
|
+
|
|
8
115
|
def test_flag_created_round_trip
|
|
9
116
|
fixture = {
|
|
10
117
|
"object" => "event",
|
|
@@ -483,6 +590,7 @@ class FeatureFlagsModelRoundTripTest < Minitest::Test
|
|
|
483
590
|
"name" => "stub",
|
|
484
591
|
"description" => nil,
|
|
485
592
|
"tags" => [],
|
|
593
|
+
"owner" => nil,
|
|
486
594
|
"enabled" => true,
|
|
487
595
|
"default_value" => true
|
|
488
596
|
}
|
|
@@ -492,6 +600,21 @@ class FeatureFlagsModelRoundTripTest < Minitest::Test
|
|
|
492
600
|
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
493
601
|
end
|
|
494
602
|
|
|
603
|
+
def test_flag_updated_context_previous_attribute_data_owner_round_trip
|
|
604
|
+
fixture = {
|
|
605
|
+
"email" => "stub",
|
|
606
|
+
"first_name" => nil,
|
|
607
|
+
"last_name" => nil
|
|
608
|
+
}
|
|
609
|
+
model = WorkOS::FlagUpdatedContextPreviousAttributeDataOwner.new(fixture.to_json)
|
|
610
|
+
json = model.to_h
|
|
611
|
+
assert_kind_of Hash, json
|
|
612
|
+
assert_equal fixture["email"], json[:email]
|
|
613
|
+
assert_nil json[:first_name]
|
|
614
|
+
assert_nil json[:last_name]
|
|
615
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
616
|
+
end
|
|
617
|
+
|
|
495
618
|
def test_flag_round_trip
|
|
496
619
|
fixture = {
|
|
497
620
|
"object" => "feature_flag",
|
data/test/workos/test_groups.rb
CHANGED
|
@@ -60,6 +60,13 @@ class GroupsTest < Minitest::Test
|
|
|
60
60
|
refute_nil result
|
|
61
61
|
end
|
|
62
62
|
|
|
63
|
+
def test_update_group_organization_memberships_returns_expected_result
|
|
64
|
+
stub_request(:patch, %r{\Ahttps://api\.workos\.com/organizations/stub/groups/stub/organization-memberships(\?|\z)})
|
|
65
|
+
.to_return(body: "{}", status: 200)
|
|
66
|
+
result = @client.groups.update_group_organization_memberships(organization_id: "stub", group_id: "stub")
|
|
67
|
+
assert_nil result
|
|
68
|
+
end
|
|
69
|
+
|
|
63
70
|
def test_delete_group_organization_membership_returns_expected_result
|
|
64
71
|
stub_request(:delete, %r{\Ahttps://api\.workos\.com/organizations/stub/groups/stub/organization-memberships/stub(\?|\z)})
|
|
65
72
|
.to_return(body: "{}", status: 200)
|
|
@@ -76,6 +83,7 @@ class GroupsTest < Minitest::Test
|
|
|
76
83
|
{name: :delete_organization_group, verb: :delete, url: %r{\Ahttps://api\.workos\.com/organizations/stub/groups/stub(\?|\z)}, args: {organization_id: "stub", group_id: "stub"}},
|
|
77
84
|
{name: :list_group_organization_memberships, verb: :get, url: %r{\Ahttps://api\.workos\.com/organizations/stub/groups/stub/organization-memberships(\?|\z)}, args: {organization_id: "stub", group_id: "stub"}},
|
|
78
85
|
{name: :create_group_organization_membership, verb: :post, url: %r{\Ahttps://api\.workos\.com/organizations/stub/groups/stub/organization-memberships(\?|\z)}, args: {organization_id: "stub", group_id: "stub", organization_membership_id: "stub"}},
|
|
86
|
+
{name: :update_group_organization_memberships, verb: :patch, url: %r{\Ahttps://api\.workos\.com/organizations/stub/groups/stub/organization-memberships(\?|\z)}, args: {organization_id: "stub", group_id: "stub"}},
|
|
79
87
|
{name: :delete_group_organization_membership, verb: :delete, url: %r{\Ahttps://api\.workos\.com/organizations/stub/groups/stub/organization-memberships/stub(\?|\z)}, args: {organization_id: "stub", group_id: "stub", om_id: "stub"}}
|
|
80
88
|
].each do |spec|
|
|
81
89
|
define_method("test_#{spec[:name]}_raises_authentication_error_on_401") do
|
|
@@ -16,6 +16,17 @@ class GroupsModelRoundTripTest < Minitest::Test
|
|
|
16
16
|
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
+
def test_patch_group_memberships_round_trip
|
|
20
|
+
fixture = {
|
|
21
|
+
"add" => [],
|
|
22
|
+
"remove" => []
|
|
23
|
+
}
|
|
24
|
+
model = WorkOS::PatchGroupMemberships.new(fixture.to_json)
|
|
25
|
+
json = model.to_h
|
|
26
|
+
assert_kind_of Hash, json
|
|
27
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
28
|
+
end
|
|
29
|
+
|
|
19
30
|
def test_create_group_round_trip
|
|
20
31
|
fixture = {
|
|
21
32
|
"name" => "stub",
|
|
@@ -81,6 +81,92 @@ class OrganizationsModelRoundTripTest < Minitest::Test
|
|
|
81
81
|
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
82
82
|
end
|
|
83
83
|
|
|
84
|
+
def test_organization_selection_required_error_body_with_organizations_round_trip
|
|
85
|
+
fixture = {
|
|
86
|
+
"code" => "organization_selection_required",
|
|
87
|
+
"message" => "stub",
|
|
88
|
+
"organizations" => []
|
|
89
|
+
}
|
|
90
|
+
model = WorkOS::OrganizationSelectionRequiredErrorBodyWithOrganizations.new(fixture.to_json)
|
|
91
|
+
json = model.to_h
|
|
92
|
+
assert_kind_of Hash, json
|
|
93
|
+
assert_equal fixture["message"], json[:message]
|
|
94
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def test_organization_selection_required_error_body_with_organization_round_trip
|
|
98
|
+
fixture = {
|
|
99
|
+
"id" => "stub",
|
|
100
|
+
"name" => "stub"
|
|
101
|
+
}
|
|
102
|
+
model = WorkOS::OrganizationSelectionRequiredErrorBodyWithOrganization.new(fixture.to_json)
|
|
103
|
+
json = model.to_h
|
|
104
|
+
assert_kind_of Hash, json
|
|
105
|
+
assert_equal fixture["id"], json[:id]
|
|
106
|
+
assert_equal fixture["name"], json[:name]
|
|
107
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def test_organization_connected_account_import_error_body_round_trip
|
|
111
|
+
fixture = {
|
|
112
|
+
"code" => "stub",
|
|
113
|
+
"message" => "stub"
|
|
114
|
+
}
|
|
115
|
+
model = WorkOS::OrganizationConnectedAccountImportErrorBody.new(fixture.to_json)
|
|
116
|
+
json = model.to_h
|
|
117
|
+
assert_kind_of Hash, json
|
|
118
|
+
assert_equal fixture["message"], json[:message]
|
|
119
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
def test_organization_authentication_methods_required_oauth_error_body_round_trip
|
|
123
|
+
fixture = {
|
|
124
|
+
"error" => "organization_authentication_methods_required",
|
|
125
|
+
"error_description" => "stub"
|
|
126
|
+
}
|
|
127
|
+
model = WorkOS::OrganizationAuthenticationMethodsRequiredOAuthErrorBody.new(fixture.to_json)
|
|
128
|
+
json = model.to_h
|
|
129
|
+
assert_kind_of Hash, json
|
|
130
|
+
assert_equal fixture["error_description"], json[:error_description]
|
|
131
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
def test_organization_not_found_oauth_error_body_round_trip
|
|
135
|
+
fixture = {
|
|
136
|
+
"error" => "organization_not_found",
|
|
137
|
+
"error_description" => "stub"
|
|
138
|
+
}
|
|
139
|
+
model = WorkOS::OrganizationNotFoundOAuthErrorBody.new(fixture.to_json)
|
|
140
|
+
json = model.to_h
|
|
141
|
+
assert_kind_of Hash, json
|
|
142
|
+
assert_equal fixture["error_description"], json[:error_description]
|
|
143
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
def test_organization_membership_not_found_oauth_error_body_round_trip
|
|
147
|
+
fixture = {
|
|
148
|
+
"error" => "organization_membership_not_found",
|
|
149
|
+
"error_description" => "stub"
|
|
150
|
+
}
|
|
151
|
+
model = WorkOS::OrganizationMembershipNotFoundOAuthErrorBody.new(fixture.to_json)
|
|
152
|
+
json = model.to_h
|
|
153
|
+
assert_kind_of Hash, json
|
|
154
|
+
assert_equal fixture["error_description"], json[:error_description]
|
|
155
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
def test_organization_selection_required_error_body_round_trip
|
|
159
|
+
fixture = {
|
|
160
|
+
"code" => "organization_selection_required",
|
|
161
|
+
"message" => "stub"
|
|
162
|
+
}
|
|
163
|
+
model = WorkOS::OrganizationSelectionRequiredErrorBody.new(fixture.to_json)
|
|
164
|
+
json = model.to_h
|
|
165
|
+
assert_kind_of Hash, json
|
|
166
|
+
assert_equal fixture["message"], json[:message]
|
|
167
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
168
|
+
end
|
|
169
|
+
|
|
84
170
|
def test_audit_logs_retention_round_trip
|
|
85
171
|
fixture = {
|
|
86
172
|
"retention_period_in_days" => nil
|
|
@@ -583,6 +669,18 @@ class OrganizationsModelRoundTripTest < Minitest::Test
|
|
|
583
669
|
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
584
670
|
end
|
|
585
671
|
|
|
672
|
+
def test_it_contact_list_round_trip
|
|
673
|
+
fixture = {
|
|
674
|
+
"object" => "list",
|
|
675
|
+
"data" => [],
|
|
676
|
+
"list_metadata" => {}
|
|
677
|
+
}
|
|
678
|
+
model = WorkOS::ItContactList.new(fixture.to_json)
|
|
679
|
+
json = model.to_h
|
|
680
|
+
assert_kind_of Hash, json
|
|
681
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
682
|
+
end
|
|
683
|
+
|
|
586
684
|
def test_organization_round_trip
|
|
587
685
|
fixture = {
|
|
588
686
|
"object" => "organization",
|
|
@@ -639,6 +737,19 @@ class OrganizationsModelRoundTripTest < Minitest::Test
|
|
|
639
737
|
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
640
738
|
end
|
|
641
739
|
|
|
740
|
+
def test_it_contact_list_list_metadata_round_trip
|
|
741
|
+
fixture = {
|
|
742
|
+
"before" => nil,
|
|
743
|
+
"after" => nil
|
|
744
|
+
}
|
|
745
|
+
model = WorkOS::ItContactListListMetadata.new(fixture.to_json)
|
|
746
|
+
json = model.to_h
|
|
747
|
+
assert_kind_of Hash, json
|
|
748
|
+
assert_nil json[:before]
|
|
749
|
+
assert_nil json[:after]
|
|
750
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
751
|
+
end
|
|
752
|
+
|
|
642
753
|
def test_organization_api_key_owner_round_trip
|
|
643
754
|
fixture = {
|
|
644
755
|
"type" => "organization",
|
data/test/workos/test_pipes.rb
CHANGED
|
@@ -25,6 +25,13 @@ class PipesTest < Minitest::Test
|
|
|
25
25
|
refute_nil result
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
+
def test_finish_connection_returns_expected_result
|
|
29
|
+
stub_request(:post, %r{\Ahttps://api\.workos\.com/data-integrations/finish(\?|\z)})
|
|
30
|
+
.to_return(body: "{}", status: 200)
|
|
31
|
+
result = @client.pipes.finish_connection(connect_code: "stub", code_verifier: "stub")
|
|
32
|
+
refute_nil result
|
|
33
|
+
end
|
|
34
|
+
|
|
28
35
|
def test_get_data_integration_returns_expected_result
|
|
29
36
|
stub_request(:get, %r{\Ahttps://api\.workos\.com/data-integrations/stub(\?|\z)})
|
|
30
37
|
.to_return(body: "{}", status: 200)
|
|
@@ -46,6 +53,13 @@ class PipesTest < Minitest::Test
|
|
|
46
53
|
assert_nil result
|
|
47
54
|
end
|
|
48
55
|
|
|
56
|
+
def test_create_data_integration_api_key_returns_expected_result
|
|
57
|
+
stub_request(:post, %r{\Ahttps://api\.workos\.com/data-integrations/stub/api-key(\?|\z)})
|
|
58
|
+
.to_return(body: "{}", status: 200)
|
|
59
|
+
result = @client.pipes.create_data_integration_api_key(slug: "stub", user_id: "stub", secret: "stub", connection_intent: "add")
|
|
60
|
+
refute_nil result
|
|
61
|
+
end
|
|
62
|
+
|
|
49
63
|
def test_update_data_integration_api_key_returns_expected_result
|
|
50
64
|
stub_request(:put, %r{\Ahttps://api\.workos\.com/data-integrations/stub/api-key(\?|\z)})
|
|
51
65
|
.to_return(body: "{}", status: 200)
|
|
@@ -60,6 +74,13 @@ class PipesTest < Minitest::Test
|
|
|
60
74
|
refute_nil result
|
|
61
75
|
end
|
|
62
76
|
|
|
77
|
+
def test_create_data_integration_client_credential_returns_expected_result
|
|
78
|
+
stub_request(:post, %r{\Ahttps://api\.workos\.com/data-integrations/stub/client-credentials(\?|\z)})
|
|
79
|
+
.to_return(body: "{}", status: 200)
|
|
80
|
+
result = @client.pipes.create_data_integration_client_credential(slug: "stub", user_id: "stub", client_id: "stub", client_secret: "stub", connection_intent: "add")
|
|
81
|
+
refute_nil result
|
|
82
|
+
end
|
|
83
|
+
|
|
63
84
|
def test_update_data_integration_client_credentials_returns_expected_result
|
|
64
85
|
stub_request(:put, %r{\Ahttps://api\.workos\.com/data-integrations/stub/client-credentials(\?|\z)})
|
|
65
86
|
.to_return(body: "{}", status: 200)
|
|
@@ -112,14 +133,14 @@ class PipesTest < Minitest::Test
|
|
|
112
133
|
def test_create_organization_connected_account_returns_expected_result
|
|
113
134
|
stub_request(:post, %r{\Ahttps://api\.workos\.com/organizations/stub/connected_accounts/stub(\?|\z)})
|
|
114
135
|
.to_return(body: "{}", status: 200)
|
|
115
|
-
result = @client.pipes.create_organization_connected_account(organization_id: "stub", slug: "stub")
|
|
136
|
+
result = @client.pipes.create_organization_connected_account(organization_id: "stub", slug: "stub", user_id: "stub")
|
|
116
137
|
refute_nil result
|
|
117
138
|
end
|
|
118
139
|
|
|
119
140
|
def test_update_organization_connected_account_returns_expected_result
|
|
120
141
|
stub_request(:put, %r{\Ahttps://api\.workos\.com/organizations/stub/connected_accounts/stub(\?|\z)})
|
|
121
142
|
.to_return(body: "{}", status: 200)
|
|
122
|
-
result = @client.pipes.update_organization_connected_account(organization_id: "stub", slug: "stub")
|
|
143
|
+
result = @client.pipes.update_organization_connected_account(organization_id: "stub", slug: "stub", user_id: "stub")
|
|
123
144
|
refute_nil result
|
|
124
145
|
end
|
|
125
146
|
|
|
@@ -176,11 +197,14 @@ class PipesTest < Minitest::Test
|
|
|
176
197
|
[
|
|
177
198
|
{name: :list_data_integrations, verb: :get, url: %r{\Ahttps://api\.workos\.com/data-integrations(\?|\z)}},
|
|
178
199
|
{name: :create_data_integration, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations(\?|\z)}, args: {provider: "stub"}},
|
|
200
|
+
{name: :finish_connection, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations/finish(\?|\z)}, args: {connect_code: "stub", code_verifier: "stub"}},
|
|
179
201
|
{name: :get_data_integration, verb: :get, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub(\?|\z)}, args: {slug: "stub"}},
|
|
180
202
|
{name: :update_data_integration, verb: :put, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub(\?|\z)}, args: {slug: "stub"}},
|
|
181
203
|
{name: :delete_data_integration, verb: :delete, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub(\?|\z)}, args: {slug: "stub"}},
|
|
204
|
+
{name: :create_data_integration_api_key, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/api-key(\?|\z)}, args: {slug: "stub", user_id: "stub", secret: "stub", connection_intent: "add"}},
|
|
182
205
|
{name: :update_data_integration_api_key, verb: :put, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/api-key(\?|\z)}, args: {slug: "stub", user_id: "stub", secret: "stub"}},
|
|
183
206
|
{name: :authorize_data_integration, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/authorize(\?|\z)}, args: {slug: "stub", user_id: "stub"}},
|
|
207
|
+
{name: :create_data_integration_client_credential, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/client-credentials(\?|\z)}, args: {slug: "stub", user_id: "stub", client_id: "stub", client_secret: "stub", connection_intent: "add"}},
|
|
184
208
|
{name: :update_data_integration_client_credentials, verb: :put, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/client-credentials(\?|\z)}, args: {slug: "stub", user_id: "stub", client_id: "stub", client_secret: "stub"}},
|
|
185
209
|
{name: :create_data_integration_credential, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/credentials(\?|\z)}, args: {slug: "stub", user_id: "stub"}},
|
|
186
210
|
{name: :list_data_integration_organization, verb: :get, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/organization(\?|\z)}, args: {slug: "stub"}},
|
|
@@ -188,8 +212,8 @@ class PipesTest < Minitest::Test
|
|
|
188
212
|
{name: :delete_data_integration_organization, verb: :delete, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/organization(\?|\z)}, args: {slug: "stub"}},
|
|
189
213
|
{name: :get_access_token, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/token(\?|\z)}, args: {provider: "stub", user_id: "stub"}},
|
|
190
214
|
{name: :get_organization_connected_account, verb: :get, url: %r{\Ahttps://api\.workos\.com/organizations/stub/connected_accounts/stub(\?|\z)}, args: {organization_id: "stub", slug: "stub"}},
|
|
191
|
-
{name: :create_organization_connected_account, verb: :post, url: %r{\Ahttps://api\.workos\.com/organizations/stub/connected_accounts/stub(\?|\z)}, args: {organization_id: "stub", slug: "stub"}},
|
|
192
|
-
{name: :update_organization_connected_account, verb: :put, url: %r{\Ahttps://api\.workos\.com/organizations/stub/connected_accounts/stub(\?|\z)}, args: {organization_id: "stub", slug: "stub"}},
|
|
215
|
+
{name: :create_organization_connected_account, verb: :post, url: %r{\Ahttps://api\.workos\.com/organizations/stub/connected_accounts/stub(\?|\z)}, args: {organization_id: "stub", slug: "stub", user_id: "stub"}},
|
|
216
|
+
{name: :update_organization_connected_account, verb: :put, url: %r{\Ahttps://api\.workos\.com/organizations/stub/connected_accounts/stub(\?|\z)}, args: {organization_id: "stub", slug: "stub", user_id: "stub"}},
|
|
193
217
|
{name: :delete_organization_connected_account, verb: :delete, url: %r{\Ahttps://api\.workos\.com/organizations/stub/connected_accounts/stub(\?|\z)}, args: {organization_id: "stub", slug: "stub"}},
|
|
194
218
|
{name: :list_organization_data_providers, verb: :get, url: %r{\Ahttps://api\.workos\.com/organizations/stub/data_providers(\?|\z)}, args: {organization_id: "stub"}},
|
|
195
219
|
{name: :get_user_connected_account, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/users/stub/connected_accounts/stub(\?|\z)}, args: {user_id: "stub", slug: "stub"}},
|