workos 7.1.2 → 9.5.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 +2 -2
- data/.github/workflows/docs.yml +49 -0
- data/.github/workflows/lint.yml +2 -2
- data/.github/workflows/release-please.yml +164 -10
- data/.github/workflows/release.yml +2 -2
- data/.gitignore +2 -0
- data/.last-synced-sha +1 -1
- data/.oagen-manifest.json +403 -84
- data/.release-please-manifest.json +1 -1
- data/.ruby-version +1 -1
- data/.yardopts +6 -0
- data/CHANGELOG.md +331 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +35 -4
- data/README.md +19 -0
- data/docs/V7_MIGRATION_GUIDE.md +21 -0
- data/lib/workos/actions.rb +1 -1
- data/lib/workos/admin_portal/generate_link.rb +0 -3
- data/lib/workos/admin_portal.rb +0 -3
- data/lib/workos/api_keys/api_key.rb +4 -1
- data/lib/workos/api_keys/api_key_created.rb +5 -5
- data/lib/workos/api_keys/api_key_created_data.rb +4 -1
- data/lib/workos/api_keys/api_key_revoked.rb +5 -5
- data/lib/workos/{audit_logs/audit_log_export_json.rb → api_keys/api_key_updated.rb} +10 -10
- data/lib/workos/api_keys/api_key_updated_data.rb +49 -0
- data/lib/workos/{directory_sync/dsync_deactivated_data_domain.rb → api_keys/api_key_updated_data_owner.rb} +1 -1
- data/lib/workos/api_keys/api_key_updated_data_previous_attribute.rb +18 -0
- data/lib/workos/api_keys/create_organization_api_key.rb +5 -2
- data/lib/workos/api_keys/expire_api_key.rb +18 -0
- data/lib/workos/api_keys/organization_api_key.rb +46 -0
- data/lib/workos/{types/events_order.rb → api_keys/organization_api_key_owner.rb} +1 -3
- data/lib/workos/api_keys/organization_api_key_with_value.rb +49 -0
- data/lib/workos/{types/audit_logs_order.rb → api_keys/organization_api_key_with_value_owner.rb} +1 -3
- data/lib/workos/api_keys.rb +75 -47
- data/lib/workos/audit_logs/audit_log_action.rb +2 -7
- data/lib/workos/audit_logs/audit_log_export.rb +2 -7
- data/lib/workos/audit_logs/audit_log_schema.rb +11 -2
- data/lib/workos/audit_logs/audit_log_schema_actor_input.rb +7 -0
- data/lib/workos/audit_logs/audit_log_schema_input.rb +25 -0
- data/lib/workos/audit_logs/audit_log_schema_target.rb +16 -1
- data/lib/workos/audit_logs/audit_log_schema_target_input.rb +7 -0
- data/lib/workos/audit_logs.rb +20 -20
- data/lib/workos/{audit_logs/audit_log_schema_json_actor.rb → authorization/create_group_role_assignment.rb} +1 -1
- data/lib/workos/authorization/delete_group_role_assignments_by_criteria.rb +7 -0
- data/lib/workos/authorization/{role_assignment.rb → group_role_assignment.rb} +5 -2
- data/lib/workos/authorization/group_role_assignment_list.rb +25 -0
- data/lib/workos/authorization/{role_assignment_resource.rb → group_role_assignment_resource.rb} +1 -1
- data/lib/workos/authorization/permission_created.rb +5 -5
- data/lib/workos/authorization/permission_deleted.rb +5 -5
- data/lib/workos/authorization/permission_updated.rb +5 -5
- data/lib/workos/{api_keys/api_key_with_value_owner.rb → authorization/replace_group_role_assignment_entry.rb} +1 -1
- data/lib/workos/authorization/replace_group_role_assignments.rb +18 -0
- data/lib/workos/authorization/role_created.rb +5 -5
- data/lib/workos/authorization/role_deleted.rb +5 -5
- data/lib/workos/authorization/role_updated.rb +5 -5
- data/lib/workos/authorization/user_role_assignment.rb +40 -0
- data/lib/workos/authorization/user_role_assignment_resource.rb +7 -0
- data/lib/workos/{audit_logs/audit_log_schema_json_target.rb → authorization/user_role_assignment_source.rb} +4 -4
- data/lib/workos/authorization.rb +326 -30
- data/lib/workos/base_client.rb +90 -7
- data/lib/workos/client.rb +18 -10
- data/lib/workos/client_api/client_api_token.rb +22 -0
- data/lib/workos/client_api/client_api_token_response.rb +18 -0
- data/lib/workos/client_api.rb +39 -0
- data/lib/workos/connect/connect_application.rb +12 -0
- data/lib/workos/connect/connect_application_redirect_uri.rb +22 -0
- data/lib/workos/connect/user_object.rb +3 -0
- data/lib/workos/connect.rb +2 -2
- data/lib/workos/directory_sync/directory_user.rb +3 -0
- data/lib/workos/directory_sync/directory_user_with_groups.rb +4 -1
- data/lib/workos/directory_sync/dsync_activated.rb +5 -5
- data/lib/workos/directory_sync/dsync_deleted.rb +5 -5
- data/lib/workos/directory_sync/dsync_group_created.rb +5 -5
- data/lib/workos/directory_sync/dsync_group_deleted.rb +5 -5
- data/lib/workos/directory_sync/dsync_group_updated.rb +5 -5
- data/lib/workos/directory_sync/dsync_group_user_added.rb +5 -5
- data/lib/workos/directory_sync/dsync_group_user_removed.rb +5 -5
- data/lib/workos/directory_sync/dsync_token_created.rb +34 -0
- data/lib/workos/directory_sync/dsync_token_created_data.rb +34 -0
- data/lib/workos/directory_sync/dsync_token_revoked.rb +34 -0
- data/lib/workos/directory_sync/dsync_token_revoked_data.rb +7 -0
- data/lib/workos/directory_sync/dsync_user_created.rb +5 -5
- data/lib/workos/directory_sync/dsync_user_deleted.rb +5 -5
- data/lib/workos/directory_sync/dsync_user_updated.rb +5 -5
- data/lib/workos/directory_sync/dsync_user_updated_data.rb +3 -0
- data/lib/workos/directory_sync.rb +6 -6
- data/lib/workos/encryptors/aes_gcm.rb +19 -5
- data/lib/workos/events.rb +2 -2
- data/lib/workos/feature_flags/flag_created.rb +5 -5
- data/lib/workos/feature_flags/flag_deleted.rb +5 -5
- data/lib/workos/feature_flags/flag_rule_updated.rb +5 -5
- data/lib/workos/feature_flags/flag_rule_updated_context_configured_target_organization.rb +1 -16
- data/lib/workos/feature_flags/flag_rule_updated_context_previous_attribute_context_configured_target_organization.rb +1 -1
- data/lib/workos/feature_flags/flag_updated.rb +5 -5
- data/lib/workos/feature_flags.rb +6 -6
- data/lib/workos/{authorization → groups}/user_organization_membership_base_list_data.rb +5 -2
- data/lib/workos/groups.rb +4 -4
- data/lib/workos/inflections.rb +3 -1
- data/lib/workos/multi_factor_auth.rb +2 -2
- data/lib/workos/organization_domains/organization_domain_created.rb +5 -5
- data/lib/workos/organization_domains/organization_domain_deleted.rb +5 -5
- data/lib/workos/organization_domains/organization_domain_updated.rb +5 -5
- data/lib/workos/organization_domains/organization_domain_verification_failed.rb +5 -5
- data/lib/workos/organization_domains/organization_domain_verified.rb +5 -5
- data/lib/workos/{user_management → organization_membership}/organization_membership.rb +8 -2
- data/lib/workos/{user_management → organization_membership}/user_organization_membership.rb +8 -2
- data/lib/workos/organization_membership_service.rb +273 -0
- data/lib/workos/organizations/audit_logs_retention.rb +2 -7
- data/lib/workos/organizations/organization_created.rb +5 -5
- data/lib/workos/organizations/organization_deleted.rb +5 -5
- data/lib/workos/organizations/organization_membership_created.rb +5 -5
- data/lib/workos/organizations/organization_membership_deleted.rb +5 -5
- data/lib/workos/organizations/organization_membership_updated.rb +5 -5
- data/lib/workos/organizations/organization_role_created.rb +5 -5
- data/lib/workos/organizations/organization_role_deleted.rb +5 -5
- data/lib/workos/organizations/organization_role_updated.rb +5 -5
- data/lib/workos/organizations/organization_updated.rb +5 -5
- data/lib/workos/organizations.rb +2 -2
- data/lib/workos/pipes/connected_account.rb +6 -0
- data/lib/workos/pipes/connected_account_dto.rb +31 -0
- data/lib/workos/pipes/create_data_integration.rb +34 -0
- data/lib/workos/pipes/custom_provider_definition.rb +49 -0
- data/lib/workos/pipes/data_integration.rb +55 -0
- data/lib/workos/pipes/data_integration_credential.rb +25 -0
- data/lib/workos/pipes/data_integration_credentials_dto.rb +25 -0
- data/lib/workos/pipes/data_integration_credentials_response.rb +25 -0
- data/lib/workos/pipes/data_integration_credentials_response_credential.rb +34 -0
- data/lib/workos/pipes/data_integration_custom_provider.rb +49 -0
- data/lib/workos/pipes/data_integrations_list_response_data.rb +3 -0
- data/lib/workos/pipes/data_integrations_list_response_data_connected_account.rb +6 -0
- data/lib/workos/pipes/data_integrations_upsert_api_key_request.rb +25 -0
- data/lib/workos/pipes/data_integrations_vend_credentials_request.rb +22 -0
- data/lib/workos/pipes/update_custom_provider_definition.rb +49 -0
- data/lib/workos/pipes/update_data_integration.rb +31 -0
- data/lib/workos/pipes.rb +309 -5
- data/lib/workos/pipes_provider/configure_data_integration_body.rb +28 -0
- data/lib/workos/pipes_provider/data_integration_configuration_list_response.rb +22 -0
- data/lib/workos/{directory_sync/dsync_deactivated_data.rb → pipes_provider/data_integration_configuration_response.rb} +13 -13
- data/lib/workos/pipes_provider/data_integration_credentials.rb +31 -0
- data/lib/workos/pipes_provider.rb +68 -0
- data/lib/workos/radar/radar_standalone_assess_request.rb +3 -6
- data/lib/workos/radar.rb +7 -10
- data/lib/workos/session.rb +28 -7
- data/lib/workos/session_manager.rb +24 -1
- data/lib/workos/shared/auth_method_mismatch_error.rb +22 -0
- data/lib/workos/shared/connect_application_m2m.rb +46 -0
- data/lib/workos/shared/connect_application_oauth.rb +58 -0
- data/lib/workos/shared/connect_application_oauth_redirect_uris.rb +22 -0
- data/lib/workos/shared/error_response.rb +18 -0
- data/lib/workos/shared/group_created.rb +5 -5
- data/lib/workos/shared/group_deleted.rb +5 -5
- data/lib/workos/shared/group_member_added.rb +5 -5
- data/lib/workos/shared/group_member_removed.rb +5 -5
- data/lib/workos/shared/group_updated.rb +5 -5
- data/lib/workos/shared/pipe_connected_account.rb +46 -0
- data/lib/workos/{directory_sync/dsync_deactivated.rb → shared/pipes_connected_account_connected.rb} +7 -7
- data/lib/workos/shared/pipes_connected_account_disconnected.rb +34 -0
- data/lib/workos/shared/pipes_connected_account_reauthorization_needed.rb +34 -0
- data/lib/workos/shared/waitlist_user_approved.rb +5 -5
- data/lib/workos/shared/waitlist_user_created.rb +5 -5
- data/lib/workos/shared/waitlist_user_denied.rb +5 -5
- data/lib/workos/sso/connection_activated.rb +5 -5
- data/lib/workos/sso/connection_deactivated.rb +5 -5
- data/lib/workos/sso/connection_deleted.rb +5 -5
- data/lib/workos/sso/connection_saml_certificate_renewal_required.rb +5 -5
- data/lib/workos/sso/connection_saml_certificate_renewed.rb +5 -5
- data/lib/workos/sso/profile.rb +3 -0
- data/lib/workos/sso.rb +2 -2
- data/lib/workos/types/audit_log_configuration_log_stream_type.rb +2 -1
- data/lib/workos/types/audit_log_export_state.rb +2 -1
- data/lib/workos/types/connected_account_auth_method.rb +13 -0
- data/lib/workos/types/connected_account_state.rb +1 -2
- data/lib/workos/types/create_webhook_endpoint_events.rb +12 -1
- data/lib/workos/types/custom_provider_definition_authenticate_via.rb +13 -0
- data/lib/workos/types/data_integration_access_token_response_error.rb +2 -2
- data/lib/workos/types/data_integration_credential_type.rb +13 -0
- data/lib/workos/types/data_integration_credentials_credentials_type.rb +14 -0
- data/lib/workos/types/{directories_order.rb → data_integration_credentials_response_error.rb} +1 -1
- data/lib/workos/types/{authorization_order.rb → data_integration_credentials_type.rb} +1 -1
- data/lib/workos/types/data_integration_custom_provider_authenticate_via.rb +9 -0
- data/lib/workos/types/data_integration_state.rb +14 -0
- data/lib/workos/types/{connections_order.rb → data_integrations_list_response_data_auth_methods.rb} +1 -1
- data/lib/workos/types/data_integrations_list_response_data_connected_account_auth_method.rb +9 -0
- data/lib/workos/types/data_integrations_list_response_data_connected_account_state.rb +6 -1
- data/lib/workos/types/event_context_actor_source.rb +2 -1
- data/lib/workos/types/{applications_order.rb → pagination_order.rb} +1 -1
- data/lib/workos/types/pipe_connected_account_state.rb +13 -0
- data/lib/workos/types/{radar_action.rb → radar_list_action.rb} +1 -1
- data/lib/workos/types/radar_list_type.rb +18 -0
- data/lib/workos/types/radar_standalone_assess_request_action.rb +1 -7
- data/lib/workos/types/radar_standalone_response_blocklist_type.rb +1 -10
- data/lib/workos/types/radar_standalone_response_control.rb +1 -4
- data/lib/workos/types/update_custom_provider_definition_authenticate_via.rb +9 -0
- data/lib/workos/types/user_management_authentication_screen_hint.rb +1 -5
- data/lib/workos/types/user_role_assignment_source_type.rb +13 -0
- data/lib/workos/types/{vault_byok_key_verification_completed_data_key_provider.rb → vault_byok_key_provider.rb} +1 -1
- data/{rbi/workos/types/request_options.rbi → lib/workos/types/vault_order.rb} +4 -3
- data/lib/workos/types/webhook_endpoint_status.rb +1 -5
- data/lib/workos/types/widget_session_token_scopes.rb +2 -1
- data/lib/workos/user_management/action_authentication_denied.rb +6 -6
- data/lib/workos/user_management/action_user_registration_denied.rb +6 -6
- data/lib/workos/user_management/authentication_email_verification_failed.rb +5 -5
- data/lib/workos/user_management/authentication_email_verification_succeeded.rb +5 -5
- data/lib/workos/user_management/authentication_magic_auth_failed.rb +5 -5
- data/lib/workos/user_management/authentication_magic_auth_succeeded.rb +5 -5
- data/lib/workos/user_management/authentication_mfa_failed.rb +5 -5
- data/lib/workos/user_management/authentication_mfa_succeeded.rb +5 -5
- data/lib/workos/user_management/authentication_oauth_failed.rb +5 -5
- data/lib/workos/user_management/authentication_oauth_succeeded.rb +5 -5
- data/lib/workos/user_management/authentication_passkey_failed.rb +5 -5
- data/lib/workos/user_management/authentication_passkey_succeeded.rb +5 -5
- data/lib/workos/user_management/authentication_password_failed.rb +5 -5
- data/lib/workos/user_management/authentication_password_succeeded.rb +5 -5
- data/lib/workos/user_management/authentication_radar_risk_detected.rb +5 -5
- data/lib/workos/user_management/authentication_sso_failed.rb +5 -5
- data/lib/workos/user_management/authentication_sso_started.rb +5 -5
- data/lib/workos/user_management/authentication_sso_succeeded.rb +5 -5
- data/lib/workos/user_management/authentication_sso_timed_out.rb +5 -5
- data/lib/workos/user_management/authorization_code_session_authenticate_request.rb +5 -2
- data/lib/workos/user_management/create_magic_code_and_return.rb +14 -2
- data/lib/workos/user_management/create_user.rb +12 -0
- data/lib/workos/user_management/create_user_api_key.rb +28 -0
- data/lib/workos/user_management/email_change_confirmation_user.rb +3 -0
- data/lib/workos/user_management/email_verification_created.rb +5 -5
- data/lib/workos/user_management/invitation_accepted.rb +5 -5
- data/lib/workos/user_management/invitation_created.rb +5 -5
- data/lib/workos/user_management/invitation_resent.rb +5 -5
- data/lib/workos/user_management/invitation_revoked.rb +5 -5
- data/lib/workos/user_management/magic_auth_code_session_authenticate_request.rb +5 -2
- data/lib/workos/user_management/magic_auth_created.rb +5 -5
- data/lib/workos/user_management/magic_auth_send_magic_auth_code_and_return_response.rb +43 -0
- data/lib/workos/user_management/password_reset_created.rb +5 -5
- data/lib/workos/user_management/password_reset_succeeded.rb +5 -5
- data/lib/workos/user_management/password_session_authenticate_request.rb +8 -2
- data/lib/workos/user_management/radar_email_challenge_code_session_authenticate_request.rb +43 -0
- data/lib/workos/user_management/radar_sms_challenge_code_session_authenticate_request.rb +46 -0
- data/lib/workos/user_management/revoke_session.rb +2 -6
- data/lib/workos/user_management/send_radar_sms_challenge.rb +31 -0
- data/lib/workos/user_management/send_radar_sms_challenge_response.rb +22 -0
- data/lib/workos/user_management/session_created.rb +5 -5
- data/lib/workos/user_management/session_revoked.rb +5 -5
- data/lib/workos/user_management/update_user.rb +3 -0
- data/lib/workos/user_management/user_api_key.rb +46 -0
- data/lib/workos/user_management/user_api_key_created_data_owner.rb +25 -0
- data/lib/workos/user_management/user_api_key_owner.rb +7 -0
- data/lib/workos/user_management/user_api_key_revoked_data_owner.rb +7 -0
- data/lib/workos/user_management/user_api_key_updated_data_owner.rb +7 -0
- data/lib/workos/{api_keys/api_key_with_value.rb → user_management/user_api_key_with_value.rb} +5 -2
- data/lib/workos/user_management/user_api_key_with_value_owner.rb +7 -0
- data/lib/workos/user_management/user_create_response.rb +61 -0
- data/lib/workos/user_management/user_created.rb +5 -5
- data/lib/workos/user_management/user_deleted.rb +5 -5
- data/lib/workos/user_management/user_updated.rb +5 -5
- data/lib/workos/user_management.rb +351 -202
- data/lib/workos/vault/actor.rb +22 -0
- data/lib/workos/vault/create_data_key_request.rb +18 -0
- data/lib/workos/vault/create_data_key_response.rb +28 -0
- data/lib/workos/vault/create_object_request.rb +25 -0
- data/lib/workos/vault/decrypt_request.rb +18 -0
- data/lib/workos/vault/decrypt_response.rb +22 -0
- data/lib/workos/vault/delete_object_response.rb +22 -0
- data/lib/workos/vault/object_metadata.rb +37 -0
- data/lib/workos/{audit_logs/audit_log_action_json.rb → vault/object_summary.rb} +4 -10
- data/lib/workos/vault/object_version.rb +31 -0
- data/lib/workos/vault/object_without_value.rb +25 -0
- data/lib/workos/vault/rekey_request.rb +22 -0
- data/lib/workos/vault/update_object_request.rb +22 -0
- data/lib/workos/vault/vault_byok_key_deleted.rb +34 -0
- data/lib/workos/vault/vault_byok_key_deleted_data.rb +22 -0
- data/lib/workos/vault/vault_byok_key_verification_completed.rb +5 -5
- data/lib/workos/vault/vault_data_created.rb +5 -5
- data/lib/workos/vault/vault_data_deleted.rb +5 -5
- data/lib/workos/vault/vault_data_read.rb +5 -5
- data/lib/workos/vault/vault_data_updated.rb +5 -5
- data/lib/workos/vault/vault_dek_decrypted.rb +5 -5
- data/lib/workos/vault/vault_dek_read.rb +5 -5
- data/lib/workos/vault/vault_kek_created.rb +5 -5
- data/lib/workos/vault/vault_metadata_read.rb +5 -5
- data/lib/workos/vault/vault_names_listed.rb +5 -5
- data/lib/workos/vault/vault_object.rb +28 -0
- data/lib/workos/vault/version_list_response.rb +22 -0
- data/lib/workos/vault.rb +273 -139
- data/lib/workos/version.rb +1 -1
- data/lib/workos/webhooks/webhook_endpoint.rb +2 -7
- data/lib/workos/webhooks.rb +10 -11
- data/lib/workos/widgets/widget_session_token_response.rb +1 -12
- data/lib/workos.rb +3 -0
- data/rbi/workos/action_authentication_denied.rbi +10 -10
- data/rbi/workos/action_user_registration_denied.rbi +10 -10
- data/rbi/workos/actor.rbi +30 -0
- data/rbi/workos/admin_portal.rbi +1 -2
- data/rbi/workos/api_key.rbi +8 -2
- data/rbi/workos/api_key_created.rbi +6 -6
- data/rbi/workos/api_key_created_data.rbi +8 -2
- data/rbi/workos/api_key_revoked.rbi +6 -6
- data/rbi/workos/api_key_revoked_data.rbi +8 -2
- data/rbi/workos/{dsync_deactivated.rbi → api_key_updated.rbi} +9 -9
- data/rbi/workos/api_key_updated_data.rbi +84 -0
- data/rbi/workos/{api_key_with_value_owner.rbi → api_key_updated_data_owner.rbi} +1 -1
- data/rbi/workos/{audit_logs_retention_json.rbi → api_key_updated_data_previous_attribute.rbi} +5 -5
- data/rbi/workos/api_keys.rbi +27 -17
- data/rbi/workos/audit_log_action.rbi +1 -0
- data/rbi/workos/audit_log_export.rbi +1 -0
- data/rbi/workos/audit_log_schema.rbi +18 -0
- data/rbi/workos/{audit_log_schema_json_actor.rbi → audit_log_schema_actor_input.rbi} +1 -1
- data/rbi/workos/audit_log_schema_input.rbi +36 -0
- data/rbi/workos/{audit_log_schema_json_target.rbi → audit_log_schema_target_input.rbi} +1 -1
- data/rbi/workos/audit_logs.rbi +9 -9
- data/rbi/workos/audit_logs_retention.rbi +1 -0
- data/rbi/workos/auth_method_mismatch_error.rbi +30 -0
- data/rbi/workos/authentication_email_verification_failed.rbi +6 -6
- data/rbi/workos/authentication_email_verification_succeeded.rbi +6 -6
- data/rbi/workos/authentication_magic_auth_failed.rbi +6 -6
- data/rbi/workos/authentication_magic_auth_succeeded.rbi +6 -6
- data/rbi/workos/authentication_mfa_failed.rbi +6 -6
- data/rbi/workos/authentication_mfa_succeeded.rbi +6 -6
- data/rbi/workos/authentication_oauth_failed.rbi +6 -6
- data/rbi/workos/authentication_oauth_succeeded.rbi +6 -6
- data/rbi/workos/authentication_passkey_failed.rbi +6 -6
- data/rbi/workos/authentication_passkey_succeeded.rbi +6 -6
- data/rbi/workos/authentication_password_failed.rbi +6 -6
- data/rbi/workos/authentication_password_succeeded.rbi +6 -6
- data/rbi/workos/authentication_radar_risk_detected.rbi +6 -6
- data/rbi/workos/authentication_sso_failed.rbi +6 -6
- data/rbi/workos/authentication_sso_started.rbi +6 -6
- data/rbi/workos/authentication_sso_succeeded.rbi +6 -6
- data/rbi/workos/authentication_sso_timed_out.rbi +6 -6
- data/rbi/workos/authorization.rbi +97 -4
- data/rbi/workos/authorization_code_session_authenticate_request.rbi +8 -2
- data/rbi/workos/client.rbi +15 -6
- data/rbi/workos/client_api.rbi +22 -0
- data/rbi/workos/client_api_token.rbi +30 -0
- data/rbi/workos/client_api_token_response.rbi +24 -0
- data/rbi/workos/configure_data_integration_body.rbi +42 -0
- data/rbi/workos/connect_application.rbi +0 -12
- data/rbi/workos/{dsync_deactivated_data.rbi → connect_application_m2m.rbi} +19 -19
- data/rbi/workos/connect_application_oauth.rbi +102 -0
- data/rbi/workos/connect_application_oauth_redirect_uris.rbi +30 -0
- data/rbi/workos/connected_account.rbi +12 -0
- data/rbi/workos/connected_account_dto.rbi +48 -0
- data/rbi/workos/connection_activated.rbi +6 -6
- data/rbi/workos/connection_deactivated.rbi +6 -6
- data/rbi/workos/connection_deleted.rbi +6 -6
- data/rbi/workos/connection_saml_certificate_renewal_required.rbi +6 -6
- data/rbi/workos/connection_saml_certificate_renewed.rbi +6 -6
- data/rbi/workos/create_data_integration.rbi +54 -0
- data/rbi/workos/create_data_key_request.rbi +24 -0
- data/rbi/workos/create_data_key_response.rbi +42 -0
- data/rbi/workos/create_group_role_assignment.rbi +42 -0
- data/rbi/workos/create_magic_code_and_return.rbi +24 -0
- data/rbi/workos/create_object_request.rbi +36 -0
- data/rbi/workos/create_organization_api_key.rbi +6 -0
- data/rbi/workos/create_user.rbi +24 -0
- data/rbi/workos/create_user_api_key.rbi +42 -0
- data/rbi/workos/custom_provider_definition.rbi +84 -0
- data/rbi/workos/data_integration.rbi +96 -0
- data/rbi/workos/data_integration_configuration_list_response.rbi +30 -0
- data/rbi/workos/data_integration_configuration_response.rbi +78 -0
- data/rbi/workos/data_integration_credential.rbi +36 -0
- data/rbi/workos/data_integration_credentials.rbi +48 -0
- data/rbi/workos/data_integration_credentials_dto.rbi +36 -0
- data/rbi/workos/data_integration_credentials_response.rbi +36 -0
- data/rbi/workos/data_integration_credentials_response_credential.rbi +54 -0
- data/rbi/workos/data_integration_custom_provider.rbi +84 -0
- data/rbi/workos/data_integrations_list_response_data.rbi +6 -0
- data/rbi/workos/data_integrations_list_response_data_connected_account.rbi +12 -0
- data/rbi/workos/data_integrations_upsert_api_key_request.rbi +36 -0
- data/rbi/workos/data_integrations_vend_credentials_request.rbi +30 -0
- data/rbi/workos/decrypt_request.rbi +24 -0
- data/rbi/workos/decrypt_response.rbi +30 -0
- data/rbi/workos/delete_group_role_assignments_by_criteria.rbi +42 -0
- data/rbi/workos/delete_object_response.rbi +30 -0
- data/rbi/workos/directory_user.rbi +6 -0
- data/rbi/workos/directory_user_with_groups.rbi +6 -0
- data/rbi/workos/dsync_activated.rbi +6 -6
- data/rbi/workos/dsync_deleted.rbi +6 -6
- data/rbi/workos/dsync_group_created.rbi +6 -6
- data/rbi/workos/dsync_group_deleted.rbi +6 -6
- data/rbi/workos/dsync_group_updated.rbi +6 -6
- data/rbi/workos/dsync_group_user_added.rbi +6 -6
- data/rbi/workos/dsync_group_user_removed.rbi +6 -6
- data/rbi/workos/dsync_token_created.rbi +54 -0
- data/rbi/workos/{audit_log_export_json.rbi → dsync_token_created_data.rbi} +9 -9
- data/rbi/workos/dsync_token_revoked.rbi +54 -0
- data/rbi/workos/{audit_log_action_json.rbi → dsync_token_revoked_data.rbi} +17 -11
- data/rbi/workos/dsync_user_created.rbi +6 -6
- data/rbi/workos/dsync_user_deleted.rbi +6 -6
- data/rbi/workos/dsync_user_updated.rbi +6 -6
- data/rbi/workos/dsync_user_updated_data.rbi +6 -0
- data/rbi/workos/email_change_confirmation_user.rbi +6 -0
- data/rbi/workos/email_verification_created.rbi +6 -6
- data/rbi/workos/error_response.rbi +24 -0
- data/rbi/workos/expire_api_key.rbi +24 -0
- data/rbi/workos/flag_created.rbi +6 -6
- data/rbi/workos/flag_deleted.rbi +6 -6
- data/rbi/workos/flag_rule_updated.rbi +6 -6
- data/rbi/workos/flag_updated.rbi +6 -6
- data/rbi/workos/generate_link.rbi +0 -6
- data/rbi/workos/group_created.rbi +6 -6
- data/rbi/workos/group_deleted.rbi +6 -6
- data/rbi/workos/group_member_added.rbi +6 -6
- data/rbi/workos/group_member_removed.rbi +6 -6
- data/rbi/workos/{role_assignment.rbi → group_role_assignment.rbi} +9 -3
- data/rbi/workos/group_role_assignment_resource.rbi +36 -0
- data/rbi/workos/group_updated.rbi +6 -6
- data/rbi/workos/invitation_accepted.rbi +6 -6
- data/rbi/workos/invitation_created.rbi +6 -6
- data/rbi/workos/invitation_resent.rbi +6 -6
- data/rbi/workos/invitation_revoked.rbi +6 -6
- data/rbi/workos/magic_auth_code_session_authenticate_request.rbi +6 -0
- data/rbi/workos/magic_auth_created.rbi +6 -6
- data/rbi/workos/{webhook_endpoint_json.rbi → magic_auth_send_magic_auth_code_and_return_response.rbi} +19 -13
- data/rbi/workos/object_metadata.rbi +60 -0
- data/rbi/workos/object_summary.rbi +36 -0
- data/rbi/workos/object_version.rbi +48 -0
- data/rbi/workos/object_without_value.rbi +36 -0
- data/rbi/workos/organization_api_key.rbi +78 -0
- data/rbi/workos/organization_api_key_owner.rbi +30 -0
- data/rbi/workos/organization_api_key_with_value.rbi +84 -0
- data/rbi/workos/organization_api_key_with_value_owner.rbi +30 -0
- data/rbi/workos/organization_created.rbi +6 -6
- data/rbi/workos/organization_deleted.rbi +6 -6
- data/rbi/workos/organization_domain_created.rbi +6 -6
- data/rbi/workos/organization_domain_deleted.rbi +6 -6
- data/rbi/workos/organization_domain_updated.rbi +6 -6
- data/rbi/workos/organization_domain_verification_failed.rbi +6 -6
- data/rbi/workos/organization_domain_verified.rbi +6 -6
- data/rbi/workos/organization_membership.rbi +12 -0
- data/rbi/workos/organization_membership_created.rbi +6 -6
- data/rbi/workos/organization_membership_deleted.rbi +6 -6
- data/rbi/workos/organization_membership_service.rbi +114 -0
- data/rbi/workos/organization_membership_updated.rbi +6 -6
- data/rbi/workos/organization_role_created.rbi +6 -6
- data/rbi/workos/organization_role_deleted.rbi +6 -6
- data/rbi/workos/organization_role_updated.rbi +6 -6
- data/rbi/workos/organization_updated.rbi +6 -6
- data/rbi/workos/password_reset_created.rbi +6 -6
- data/rbi/workos/password_reset_succeeded.rbi +6 -6
- data/rbi/workos/password_session_authenticate_request.rbi +12 -0
- data/rbi/workos/permission_created.rbi +6 -6
- data/rbi/workos/permission_deleted.rbi +6 -6
- data/rbi/workos/permission_updated.rbi +6 -6
- data/rbi/workos/pipe_connected_account.rbi +78 -0
- data/rbi/workos/pipes.rbi +105 -1
- data/rbi/workos/pipes_connected_account_connected.rbi +54 -0
- data/rbi/workos/pipes_connected_account_disconnected.rbi +54 -0
- data/rbi/workos/pipes_connected_account_reauthorization_needed.rbi +54 -0
- data/rbi/workos/pipes_provider.rbi +34 -0
- data/rbi/workos/profile.rbi +6 -0
- data/rbi/workos/radar.rbi +2 -3
- data/rbi/workos/radar_email_challenge_code_session_authenticate_request.rbi +72 -0
- data/rbi/workos/radar_sms_challenge_code_session_authenticate_request.rbi +78 -0
- data/rbi/workos/radar_standalone_assess_request.rbi +2 -8
- data/rbi/workos/refresh_token_session_authenticate_request.rbi +2 -2
- data/rbi/workos/rekey_request.rbi +30 -0
- data/rbi/workos/replace_group_role_assignment_entry.rbi +42 -0
- data/rbi/workos/replace_group_role_assignments.rbi +24 -0
- data/rbi/workos/revoke_session.rbi +0 -6
- data/rbi/workos/role_created.rbi +6 -6
- data/rbi/workos/role_deleted.rbi +6 -6
- data/rbi/workos/role_updated.rbi +6 -6
- data/rbi/workos/send_radar_sms_challenge.rbi +48 -0
- data/rbi/workos/send_radar_sms_challenge_response.rbi +30 -0
- data/rbi/workos/session_created.rbi +6 -6
- data/rbi/workos/session_manager.rbi +1 -1
- data/rbi/workos/session_revoked.rbi +6 -6
- data/rbi/workos/update_custom_provider_definition.rbi +84 -0
- data/rbi/workos/update_data_integration.rbi +48 -0
- data/rbi/workos/update_object_request.rbi +30 -0
- data/rbi/workos/update_user.rbi +6 -0
- data/rbi/workos/user.rbi +6 -0
- data/rbi/workos/{api_key_with_value.rbi → user_api_key.rbi} +9 -9
- data/rbi/workos/user_api_key_created_data_owner.rbi +36 -0
- data/rbi/workos/{dsync_deactivated_data_domain.rbi → user_api_key_owner.rbi} +5 -5
- data/rbi/workos/user_api_key_revoked_data_owner.rbi +36 -0
- data/rbi/workos/user_api_key_updated_data_owner.rbi +36 -0
- data/rbi/workos/user_api_key_with_value.rbi +84 -0
- data/rbi/workos/user_api_key_with_value_owner.rbi +36 -0
- data/rbi/workos/user_create_response.rbi +108 -0
- data/rbi/workos/user_created.rbi +6 -6
- data/rbi/workos/user_deleted.rbi +6 -6
- data/rbi/workos/user_management.rbi +72 -86
- data/rbi/workos/user_object.rbi +6 -0
- data/rbi/workos/user_organization_membership.rbi +12 -0
- data/rbi/workos/user_organization_membership_base_list_data.rbi +6 -0
- data/rbi/workos/user_role_assignment.rbi +66 -0
- data/rbi/workos/{role_assignment_resource.rbi → user_role_assignment_resource.rbi} +1 -1
- data/rbi/workos/user_role_assignment_source.rbi +30 -0
- data/rbi/workos/user_updated.rbi +6 -6
- data/rbi/workos/vault.rbi +70 -95
- data/rbi/workos/vault_byok_key_deleted.rbi +54 -0
- data/rbi/workos/vault_byok_key_deleted_data.rbi +30 -0
- data/rbi/workos/vault_byok_key_verification_completed.rbi +6 -6
- data/rbi/workos/vault_data_created.rbi +6 -6
- data/rbi/workos/vault_data_deleted.rbi +6 -6
- data/rbi/workos/vault_data_read.rbi +6 -6
- data/rbi/workos/vault_data_updated.rbi +6 -6
- data/rbi/workos/vault_dek_decrypted.rbi +6 -6
- data/rbi/workos/vault_dek_read.rbi +6 -6
- data/rbi/workos/vault_kek_created.rbi +6 -6
- data/rbi/workos/vault_metadata_read.rbi +6 -6
- data/rbi/workos/vault_names_listed.rbi +6 -6
- data/rbi/workos/vault_object.rbi +42 -0
- data/rbi/workos/waitlist_user_approved.rbi +6 -6
- data/rbi/workos/waitlist_user_created.rbi +6 -6
- data/rbi/workos/waitlist_user_denied.rbi +6 -6
- data/rbi/workos/webhook_endpoint.rbi +1 -0
- data/rbi/workos/webhooks.rbi +2 -2
- data/renovate.json +1 -61
- data/script/docs +16 -0
- data/script/docs-serve +12 -0
- data/script/llms-txt +37 -0
- data/test/workos/test_actions.rb +9 -0
- data/test/workos/test_admin_portal_model_round_trip.rb +33 -0
- data/test/workos/test_api_keys.rb +20 -12
- data/test/workos/test_audit_logs_model_round_trip.rb +218 -0
- data/test/workos/test_authorization.rb +64 -0
- data/test/workos/test_authorization_model_round_trip.rb +456 -0
- data/test/workos/test_base_client.rb +108 -0
- data/test/workos/test_client_api.rb +33 -0
- data/test/workos/test_connect_model_round_trip.rb +30 -0
- data/test/workos/test_encryptors_aes_gcm.rb +16 -1
- data/test/workos/test_groups_model_round_trip.rb +33 -0
- data/test/workos/test_model_round_trip.rb +2 -7138
- data/test/workos/test_organization_membership_service.rb +107 -0
- data/test/workos/test_organizations_model_round_trip.rb +29 -0
- data/test/workos/test_pipes.rb +75 -3
- data/test/workos/test_pipes_model_round_trip.rb +389 -0
- data/test/workos/test_pipes_provider.rb +41 -0
- data/test/workos/test_radar_model_round_trip.rb +85 -0
- data/test/workos/test_session.rb +43 -4
- data/test/workos/test_shared_model_round_trip.rb +92 -0
- data/test/workos/test_user_management.rb +77 -73
- data/test/workos/test_user_management_model_round_trip.rb +1087 -0
- data/test/workos/test_vault.rb +91 -88
- data/test/workos/test_webhook_verify.rb +11 -0
- data/test/workos/test_webhooks_model_round_trip.rb +53 -0
- metadata +220 -85
- data/lib/workos/audit_logs/audit_log_schema_json.rb +0 -34
- data/lib/workos/organizations/audit_logs_retention_json.rb +0 -18
- data/lib/workos/types/audit_log_export_json_state.rb +0 -14
- data/lib/workos/types/directory_groups_order.rb +0 -9
- data/lib/workos/types/directory_users_order.rb +0 -9
- data/lib/workos/types/dsync_deactivated_data_state.rb +0 -9
- data/lib/workos/types/dsync_deactivated_data_type.rb +0 -9
- data/lib/workos/types/feature_flags_order.rb +0 -9
- data/lib/workos/types/groups_order.rb +0 -9
- data/lib/workos/types/organizations_api_keys_order.rb +0 -9
- data/lib/workos/types/organizations_feature_flags_order.rb +0 -9
- data/lib/workos/types/organizations_order.rb +0 -9
- data/lib/workos/types/permissions_order.rb +0 -9
- data/lib/workos/types/radar_type.rb +0 -9
- data/lib/workos/types/user_management_invitations_order.rb +0 -9
- data/lib/workos/types/user_management_multi_factor_authentication_order.rb +0 -9
- data/lib/workos/types/user_management_organization_membership_groups_order.rb +0 -9
- data/lib/workos/types/user_management_organization_membership_order.rb +0 -9
- data/lib/workos/types/user_management_users_authorized_applications_order.rb +0 -9
- data/lib/workos/types/user_management_users_feature_flags_order.rb +0 -9
- data/lib/workos/types/user_management_users_order.rb +0 -9
- data/lib/workos/types/webhook_endpoint_json_status.rb +0 -9
- data/lib/workos/types/webhooks_order.rb +0 -9
- data/lib/workos/user_management_organization_membership_groups.rb +0 -60
- data/lib/workos/webhooks/webhook_endpoint_json.rb +0 -40
- data/rbi/workos/actions.rbi +0 -48
- data/rbi/workos/audit_log_schema_json.rbi +0 -54
- data/rbi/workos/base_client.rbi +0 -132
- data/rbi/workos/configuration.rbi +0 -68
- data/rbi/workos/encryptors/aes_gcm.rbi +0 -19
- data/rbi/workos/errors.rbi +0 -43
- data/rbi/workos/hash_provider.rbi +0 -18
- data/rbi/workos/passwordless.rbi +0 -47
- data/rbi/workos/public_client.rbi +0 -12
- data/rbi/workos/session.rbi +0 -43
- data/rbi/workos/types/api_response.rbi +0 -29
- data/rbi/workos/types/base_model.rbi +0 -22
- data/rbi/workos/types/list_struct.rbi +0 -89
- data/rbi/workos/user_management_organization_membership_groups.rbi +0 -25
- data/rbi/workos/util.rbi +0 -12
- data/test/workos/test_user_management_organization_membership_groups.rb +0 -33
- /data/lib/workos/{user_management → organization_membership}/create_user_organization_membership.rb +0 -0
- /data/lib/workos/{user_management → organization_membership}/update_user_organization_membership.rb +0 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This file is auto-generated by oagen. Do not edit.
|
|
4
|
+
|
|
5
|
+
require "test_helper"
|
|
6
|
+
|
|
7
|
+
class OrganizationMembershipServiceTest < Minitest::Test
|
|
8
|
+
include FixtureHelper
|
|
9
|
+
|
|
10
|
+
def setup
|
|
11
|
+
@client = WorkOS::Client.new(api_key: "sk_test_123")
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_list_organization_memberships_returns_expected_result
|
|
15
|
+
stub_request(:get, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)})
|
|
16
|
+
.to_return(body: '{"data": [], "list_metadata": {}}', status: 200)
|
|
17
|
+
result = @client.organization_membership.list_organization_memberships
|
|
18
|
+
assert_kind_of WorkOS::Types::ListStruct, result
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_create_organization_membership_returns_expected_result
|
|
22
|
+
stub_request(:post, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)})
|
|
23
|
+
.with(body: hash_including("user_id" => "stub", "organization_id" => "stub", "role_slug" => "stub"))
|
|
24
|
+
.to_return(body: "{}", status: 200)
|
|
25
|
+
result = @client.organization_membership.create_organization_membership(user_id: "stub", organization_id: "stub", role: WorkOS::OrganizationMembershipService::RoleSingle.new(role_slug: "stub"))
|
|
26
|
+
refute_nil result
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def test_create_organization_membership_with_role_multiple_returns_expected_result
|
|
30
|
+
stub_request(:post, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)})
|
|
31
|
+
.with(body: hash_including("user_id" => "stub", "organization_id" => "stub", "role_slugs" => ["stub"]))
|
|
32
|
+
.to_return(body: "{}", status: 200)
|
|
33
|
+
result = @client.organization_membership.create_organization_membership(user_id: "stub", organization_id: "stub", role: WorkOS::OrganizationMembershipService::RoleMultiple.new(role_slugs: ["stub"]))
|
|
34
|
+
refute_nil result
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def test_get_organization_membership_returns_expected_result
|
|
38
|
+
stub_request(:get, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)})
|
|
39
|
+
.to_return(body: "{}", status: 200)
|
|
40
|
+
result = @client.organization_membership.get_organization_membership(id: "stub")
|
|
41
|
+
refute_nil result
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def test_update_organization_membership_returns_expected_result
|
|
45
|
+
stub_request(:put, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)})
|
|
46
|
+
.with(body: hash_including("role_slug" => "stub"))
|
|
47
|
+
.to_return(body: "{}", status: 200)
|
|
48
|
+
result = @client.organization_membership.update_organization_membership(id: "stub", role: WorkOS::OrganizationMembershipService::RoleSingle.new(role_slug: "stub"))
|
|
49
|
+
refute_nil result
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def test_update_organization_membership_with_role_multiple_returns_expected_result
|
|
53
|
+
stub_request(:put, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)})
|
|
54
|
+
.with(body: hash_including("role_slugs" => ["stub"]))
|
|
55
|
+
.to_return(body: "{}", status: 200)
|
|
56
|
+
result = @client.organization_membership.update_organization_membership(id: "stub", role: WorkOS::OrganizationMembershipService::RoleMultiple.new(role_slugs: ["stub"]))
|
|
57
|
+
refute_nil result
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def test_delete_organization_membership_returns_expected_result
|
|
61
|
+
stub_request(:delete, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)})
|
|
62
|
+
.to_return(body: "{}", status: 200)
|
|
63
|
+
result = @client.organization_membership.delete_organization_membership(id: "stub")
|
|
64
|
+
assert_nil result
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def test_deactivate_organization_membership_returns_expected_result
|
|
68
|
+
stub_request(:put, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/deactivate(\?|\z)})
|
|
69
|
+
.to_return(body: "{}", status: 200)
|
|
70
|
+
result = @client.organization_membership.deactivate_organization_membership(id: "stub")
|
|
71
|
+
refute_nil result
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def test_reactivate_organization_membership_returns_expected_result
|
|
75
|
+
stub_request(:put, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/reactivate(\?|\z)})
|
|
76
|
+
.to_return(body: "{}", status: 200)
|
|
77
|
+
result = @client.organization_membership.reactivate_organization_membership(id: "stub")
|
|
78
|
+
refute_nil result
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def test_list_organization_membership_groups_returns_expected_result
|
|
82
|
+
stub_request(:get, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/groups(\?|\z)})
|
|
83
|
+
.to_return(body: '{"data": [], "list_metadata": {}}', status: 200)
|
|
84
|
+
result = @client.organization_membership.list_organization_membership_groups(om_id: "stub")
|
|
85
|
+
assert_kind_of WorkOS::Types::ListStruct, result
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# Parameterized authentication error tests (one per endpoint).
|
|
89
|
+
[
|
|
90
|
+
{name: :list_organization_memberships, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)}},
|
|
91
|
+
{name: :create_organization_membership, verb: :post, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)}, args: {user_id: "stub", organization_id: "stub", role: WorkOS::OrganizationMembershipService::RoleSingle.new(role_slug: "stub")}},
|
|
92
|
+
{name: :get_organization_membership, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}, args: {id: "stub"}},
|
|
93
|
+
{name: :update_organization_membership, verb: :put, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}, args: {id: "stub", role: WorkOS::OrganizationMembershipService::RoleSingle.new(role_slug: "stub")}},
|
|
94
|
+
{name: :delete_organization_membership, verb: :delete, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}, args: {id: "stub"}},
|
|
95
|
+
{name: :deactivate_organization_membership, verb: :put, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/deactivate(\?|\z)}, args: {id: "stub"}},
|
|
96
|
+
{name: :reactivate_organization_membership, verb: :put, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/reactivate(\?|\z)}, args: {id: "stub"}},
|
|
97
|
+
{name: :list_organization_membership_groups, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/groups(\?|\z)}, args: {om_id: "stub"}}
|
|
98
|
+
].each do |spec|
|
|
99
|
+
define_method("test_#{spec[:name]}_raises_authentication_error_on_401") do
|
|
100
|
+
stub_request(spec[:verb], spec[:url])
|
|
101
|
+
.to_return(body: '{"message": "Unauthorized"}', status: 401)
|
|
102
|
+
assert_raises(WorkOS::AuthenticationError) do
|
|
103
|
+
@client.organization_membership.send(spec[:name], **(spec[:args] || {}))
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This file is auto-generated by oagen. Do not edit.
|
|
4
|
+
|
|
5
|
+
require "test_helper"
|
|
6
|
+
|
|
7
|
+
class OrganizationsModelRoundTripTest < Minitest::Test
|
|
8
|
+
def test_update_audit_logs_retention_round_trip
|
|
9
|
+
fixture = {
|
|
10
|
+
"retention_period_in_days" => 1
|
|
11
|
+
}
|
|
12
|
+
model = WorkOS::UpdateAuditLogsRetention.new(fixture.to_json)
|
|
13
|
+
json = model.to_h
|
|
14
|
+
assert_kind_of Hash, json
|
|
15
|
+
assert_equal fixture["retention_period_in_days"], json[:retention_period_in_days]
|
|
16
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def test_audit_logs_retention_round_trip
|
|
20
|
+
fixture = {
|
|
21
|
+
"retention_period_in_days" => nil
|
|
22
|
+
}
|
|
23
|
+
model = WorkOS::AuditLogsRetention.new(fixture.to_json)
|
|
24
|
+
json = model.to_h
|
|
25
|
+
assert_kind_of Hash, json
|
|
26
|
+
assert_nil json[:retention_period_in_days]
|
|
27
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
28
|
+
end
|
|
29
|
+
end
|
data/test/workos/test_pipes.rb
CHANGED
|
@@ -11,6 +11,48 @@ class PipesTest < Minitest::Test
|
|
|
11
11
|
@client = WorkOS::Client.new(api_key: "sk_test_123")
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
def test_list_data_integrations_returns_expected_result
|
|
15
|
+
stub_request(:get, %r{\Ahttps://api\.workos\.com/data-integrations(\?|\z)})
|
|
16
|
+
.to_return(body: '{"data": [], "list_metadata": {}}', status: 200)
|
|
17
|
+
result = @client.pipes.list_data_integrations
|
|
18
|
+
assert_kind_of WorkOS::Types::ListStruct, result
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_create_data_integration_returns_expected_result
|
|
22
|
+
stub_request(:post, %r{\Ahttps://api\.workos\.com/data-integrations(\?|\z)})
|
|
23
|
+
.to_return(body: "{}", status: 200)
|
|
24
|
+
result = @client.pipes.create_data_integration(provider: "stub")
|
|
25
|
+
refute_nil result
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_get_data_integration_returns_expected_result
|
|
29
|
+
stub_request(:get, %r{\Ahttps://api\.workos\.com/data-integrations/stub(\?|\z)})
|
|
30
|
+
.to_return(body: "{}", status: 200)
|
|
31
|
+
result = @client.pipes.get_data_integration(slug: "stub")
|
|
32
|
+
refute_nil result
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def test_update_data_integration_returns_expected_result
|
|
36
|
+
stub_request(:put, %r{\Ahttps://api\.workos\.com/data-integrations/stub(\?|\z)})
|
|
37
|
+
.to_return(body: "{}", status: 200)
|
|
38
|
+
result = @client.pipes.update_data_integration(slug: "stub")
|
|
39
|
+
refute_nil result
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_delete_data_integration_returns_expected_result
|
|
43
|
+
stub_request(:delete, %r{\Ahttps://api\.workos\.com/data-integrations/stub(\?|\z)})
|
|
44
|
+
.to_return(body: "{}", status: 200)
|
|
45
|
+
result = @client.pipes.delete_data_integration(slug: "stub")
|
|
46
|
+
assert_nil result
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def test_update_data_integration_api_key_returns_expected_result
|
|
50
|
+
stub_request(:put, %r{\Ahttps://api\.workos\.com/data-integrations/stub/api-key(\?|\z)})
|
|
51
|
+
.to_return(body: "{}", status: 200)
|
|
52
|
+
result = @client.pipes.update_data_integration_api_key(slug: "stub", user_id: "stub", secret: "stub")
|
|
53
|
+
refute_nil result
|
|
54
|
+
end
|
|
55
|
+
|
|
14
56
|
def test_authorize_data_integration_returns_expected_result
|
|
15
57
|
stub_request(:post, %r{\Ahttps://api\.workos\.com/data-integrations/stub/authorize(\?|\z)})
|
|
16
58
|
.to_return(body: "{}", status: 200)
|
|
@@ -18,10 +60,17 @@ class PipesTest < Minitest::Test
|
|
|
18
60
|
refute_nil result
|
|
19
61
|
end
|
|
20
62
|
|
|
21
|
-
def
|
|
63
|
+
def test_create_data_integration_credential_returns_expected_result
|
|
64
|
+
stub_request(:post, %r{\Ahttps://api\.workos\.com/data-integrations/stub/credentials(\?|\z)})
|
|
65
|
+
.to_return(body: "{}", status: 200)
|
|
66
|
+
result = @client.pipes.create_data_integration_credential(slug: "stub", user_id: "stub")
|
|
67
|
+
refute_nil result
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def test_get_access_token_returns_expected_result
|
|
22
71
|
stub_request(:post, %r{\Ahttps://api\.workos\.com/data-integrations/stub/token(\?|\z)})
|
|
23
72
|
.to_return(body: "{}", status: 200)
|
|
24
|
-
result = @client.pipes.
|
|
73
|
+
result = @client.pipes.get_access_token(provider: "stub", user_id: "stub")
|
|
25
74
|
refute_nil result
|
|
26
75
|
end
|
|
27
76
|
|
|
@@ -32,6 +81,20 @@ class PipesTest < Minitest::Test
|
|
|
32
81
|
refute_nil result
|
|
33
82
|
end
|
|
34
83
|
|
|
84
|
+
def test_create_user_connected_account_returns_expected_result
|
|
85
|
+
stub_request(:post, %r{\Ahttps://api\.workos\.com/user_management/users/stub/connected_accounts/stub(\?|\z)})
|
|
86
|
+
.to_return(body: "{}", status: 200)
|
|
87
|
+
result = @client.pipes.create_user_connected_account(user_id: "stub", slug: "stub")
|
|
88
|
+
refute_nil result
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def test_update_user_connected_account_returns_expected_result
|
|
92
|
+
stub_request(:put, %r{\Ahttps://api\.workos\.com/user_management/users/stub/connected_accounts/stub(\?|\z)})
|
|
93
|
+
.to_return(body: "{}", status: 200)
|
|
94
|
+
result = @client.pipes.update_user_connected_account(user_id: "stub", slug: "stub")
|
|
95
|
+
refute_nil result
|
|
96
|
+
end
|
|
97
|
+
|
|
35
98
|
def test_delete_user_connected_account_returns_expected_result
|
|
36
99
|
stub_request(:delete, %r{\Ahttps://api\.workos\.com/user_management/users/stub/connected_accounts/stub(\?|\z)})
|
|
37
100
|
.to_return(body: "{}", status: 200)
|
|
@@ -48,9 +111,18 @@ class PipesTest < Minitest::Test
|
|
|
48
111
|
|
|
49
112
|
# Parameterized authentication error tests (one per endpoint).
|
|
50
113
|
[
|
|
114
|
+
{name: :list_data_integrations, verb: :get, url: %r{\Ahttps://api\.workos\.com/data-integrations(\?|\z)}},
|
|
115
|
+
{name: :create_data_integration, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations(\?|\z)}, args: {provider: "stub"}},
|
|
116
|
+
{name: :get_data_integration, verb: :get, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub(\?|\z)}, args: {slug: "stub"}},
|
|
117
|
+
{name: :update_data_integration, verb: :put, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub(\?|\z)}, args: {slug: "stub"}},
|
|
118
|
+
{name: :delete_data_integration, verb: :delete, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub(\?|\z)}, args: {slug: "stub"}},
|
|
119
|
+
{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"}},
|
|
51
120
|
{name: :authorize_data_integration, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/authorize(\?|\z)}, args: {slug: "stub", user_id: "stub"}},
|
|
52
|
-
{name: :
|
|
121
|
+
{name: :create_data_integration_credential, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/credentials(\?|\z)}, args: {slug: "stub", user_id: "stub"}},
|
|
122
|
+
{name: :get_access_token, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/token(\?|\z)}, args: {provider: "stub", user_id: "stub"}},
|
|
53
123
|
{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"}},
|
|
124
|
+
{name: :create_user_connected_account, verb: :post, url: %r{\Ahttps://api\.workos\.com/user_management/users/stub/connected_accounts/stub(\?|\z)}, args: {user_id: "stub", slug: "stub"}},
|
|
125
|
+
{name: :update_user_connected_account, verb: :put, url: %r{\Ahttps://api\.workos\.com/user_management/users/stub/connected_accounts/stub(\?|\z)}, args: {user_id: "stub", slug: "stub"}},
|
|
54
126
|
{name: :delete_user_connected_account, verb: :delete, url: %r{\Ahttps://api\.workos\.com/user_management/users/stub/connected_accounts/stub(\?|\z)}, args: {user_id: "stub", slug: "stub"}},
|
|
55
127
|
{name: :list_user_data_providers, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/users/stub/data_providers(\?|\z)}, args: {user_id: "stub"}}
|
|
56
128
|
].each do |spec|
|
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This file is auto-generated by oagen. Do not edit.
|
|
4
|
+
|
|
5
|
+
require "test_helper"
|
|
6
|
+
|
|
7
|
+
class PipesModelRoundTripTest < Minitest::Test
|
|
8
|
+
def test_data_integration_credentials_dto_round_trip
|
|
9
|
+
fixture = {
|
|
10
|
+
"type" => "stub",
|
|
11
|
+
"client_id" => "stub",
|
|
12
|
+
"client_secret" => "stub"
|
|
13
|
+
}
|
|
14
|
+
model = WorkOS::DataIntegrationCredentialsDto.new(fixture.to_json)
|
|
15
|
+
json = model.to_h
|
|
16
|
+
assert_kind_of Hash, json
|
|
17
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_custom_provider_definition_round_trip
|
|
21
|
+
fixture = {
|
|
22
|
+
"name" => "stub",
|
|
23
|
+
"authorization_url" => "stub",
|
|
24
|
+
"token_url" => "stub",
|
|
25
|
+
"refresh_token_url" => nil,
|
|
26
|
+
"pkce_enabled" => true,
|
|
27
|
+
"request_scope_separator" => "stub",
|
|
28
|
+
"scopes_required" => true,
|
|
29
|
+
"client_secret_required" => true,
|
|
30
|
+
"additional_authorization_parameters" => {},
|
|
31
|
+
"token_body_content_type" => "stub",
|
|
32
|
+
"authenticate_via" => "stub"
|
|
33
|
+
}
|
|
34
|
+
model = WorkOS::CustomProviderDefinition.new(fixture.to_json)
|
|
35
|
+
json = model.to_h
|
|
36
|
+
assert_kind_of Hash, json
|
|
37
|
+
assert_equal fixture["name"], json[:name]
|
|
38
|
+
assert_equal fixture["authorization_url"], json[:authorization_url]
|
|
39
|
+
assert_equal fixture["token_url"], json[:token_url]
|
|
40
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def test_create_data_integration_round_trip
|
|
44
|
+
fixture = {
|
|
45
|
+
"provider" => "stub",
|
|
46
|
+
"description" => nil,
|
|
47
|
+
"enabled" => true,
|
|
48
|
+
"scopes" => nil,
|
|
49
|
+
"credentials" => {},
|
|
50
|
+
"custom_provider" => {}
|
|
51
|
+
}
|
|
52
|
+
model = WorkOS::CreateDataIntegration.new(fixture.to_json)
|
|
53
|
+
json = model.to_h
|
|
54
|
+
assert_kind_of Hash, json
|
|
55
|
+
assert_equal fixture["provider"], json[:provider]
|
|
56
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def test_update_custom_provider_definition_round_trip
|
|
60
|
+
fixture = {
|
|
61
|
+
"name" => "stub",
|
|
62
|
+
"authorization_url" => "stub",
|
|
63
|
+
"token_url" => "stub",
|
|
64
|
+
"refresh_token_url" => nil,
|
|
65
|
+
"pkce_enabled" => true,
|
|
66
|
+
"request_scope_separator" => "stub",
|
|
67
|
+
"scopes_required" => true,
|
|
68
|
+
"client_secret_required" => true,
|
|
69
|
+
"additional_authorization_parameters" => {},
|
|
70
|
+
"token_body_content_type" => "stub",
|
|
71
|
+
"authenticate_via" => "stub"
|
|
72
|
+
}
|
|
73
|
+
model = WorkOS::UpdateCustomProviderDefinition.new(fixture.to_json)
|
|
74
|
+
json = model.to_h
|
|
75
|
+
assert_kind_of Hash, json
|
|
76
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def test_update_data_integration_round_trip
|
|
80
|
+
fixture = {
|
|
81
|
+
"description" => nil,
|
|
82
|
+
"enabled" => true,
|
|
83
|
+
"scopes" => nil,
|
|
84
|
+
"credentials" => {},
|
|
85
|
+
"custom_provider" => {}
|
|
86
|
+
}
|
|
87
|
+
model = WorkOS::UpdateDataIntegration.new(fixture.to_json)
|
|
88
|
+
json = model.to_h
|
|
89
|
+
assert_kind_of Hash, json
|
|
90
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def test_connected_account_dto_round_trip
|
|
94
|
+
fixture = {
|
|
95
|
+
"access_token" => "stub",
|
|
96
|
+
"refresh_token" => "stub",
|
|
97
|
+
"expires_at" => "stub",
|
|
98
|
+
"scopes" => [],
|
|
99
|
+
"state" => "stub"
|
|
100
|
+
}
|
|
101
|
+
model = WorkOS::ConnectedAccountDto.new(fixture.to_json)
|
|
102
|
+
json = model.to_h
|
|
103
|
+
assert_kind_of Hash, json
|
|
104
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def test_data_integration_round_trip
|
|
108
|
+
fixture = {
|
|
109
|
+
"object" => "data_integration",
|
|
110
|
+
"id" => "stub",
|
|
111
|
+
"slug" => "stub",
|
|
112
|
+
"integration_type" => "stub",
|
|
113
|
+
"description" => nil,
|
|
114
|
+
"enabled" => true,
|
|
115
|
+
"state" => "stub",
|
|
116
|
+
"scopes" => nil,
|
|
117
|
+
"redirect_uri" => "stub",
|
|
118
|
+
"credentials" => {},
|
|
119
|
+
"custom_provider" => nil,
|
|
120
|
+
"created_at" => "stub",
|
|
121
|
+
"updated_at" => "stub"
|
|
122
|
+
}
|
|
123
|
+
model = WorkOS::DataIntegration.new(fixture.to_json)
|
|
124
|
+
json = model.to_h
|
|
125
|
+
assert_kind_of Hash, json
|
|
126
|
+
assert_equal fixture["id"], json[:id]
|
|
127
|
+
assert_equal fixture["slug"], json[:slug]
|
|
128
|
+
assert_equal fixture["integration_type"], json[:integration_type]
|
|
129
|
+
assert_nil json[:description]
|
|
130
|
+
assert_equal fixture["enabled"], json[:enabled]
|
|
131
|
+
assert_equal fixture["redirect_uri"], json[:redirect_uri]
|
|
132
|
+
assert_equal fixture["created_at"], json[:created_at]
|
|
133
|
+
assert_equal fixture["updated_at"], json[:updated_at]
|
|
134
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
def test_data_integration_authorize_url_response_round_trip
|
|
138
|
+
fixture = {
|
|
139
|
+
"url" => "stub"
|
|
140
|
+
}
|
|
141
|
+
model = WorkOS::DataIntegrationAuthorizeUrlResponse.new(fixture.to_json)
|
|
142
|
+
json = model.to_h
|
|
143
|
+
assert_kind_of Hash, json
|
|
144
|
+
assert_equal fixture["url"], json[:url]
|
|
145
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
def test_data_integration_access_token_response_round_trip
|
|
149
|
+
fixture = {
|
|
150
|
+
"active" => true,
|
|
151
|
+
"access_token" => {},
|
|
152
|
+
"error" => "stub"
|
|
153
|
+
}
|
|
154
|
+
model = WorkOS::DataIntegrationAccessTokenResponse.new(fixture.to_json)
|
|
155
|
+
json = model.to_h
|
|
156
|
+
assert_kind_of Hash, json
|
|
157
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
def test_data_integration_credentials_response_round_trip
|
|
161
|
+
fixture = {
|
|
162
|
+
"active" => true,
|
|
163
|
+
"credential" => {},
|
|
164
|
+
"error" => "stub"
|
|
165
|
+
}
|
|
166
|
+
model = WorkOS::DataIntegrationCredentialsResponse.new(fixture.to_json)
|
|
167
|
+
json = model.to_h
|
|
168
|
+
assert_kind_of Hash, json
|
|
169
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
def test_connected_account_round_trip
|
|
173
|
+
fixture = {
|
|
174
|
+
"object" => "connected_account",
|
|
175
|
+
"id" => "stub",
|
|
176
|
+
"user_id" => nil,
|
|
177
|
+
"organization_id" => nil,
|
|
178
|
+
"scopes" => [],
|
|
179
|
+
"auth_method" => "stub",
|
|
180
|
+
"api_key_last_4" => nil,
|
|
181
|
+
"state" => "stub",
|
|
182
|
+
"created_at" => "stub",
|
|
183
|
+
"updated_at" => "stub"
|
|
184
|
+
}
|
|
185
|
+
model = WorkOS::ConnectedAccount.new(fixture.to_json)
|
|
186
|
+
json = model.to_h
|
|
187
|
+
assert_kind_of Hash, json
|
|
188
|
+
assert_equal fixture["id"], json[:id]
|
|
189
|
+
assert_nil json[:user_id]
|
|
190
|
+
assert_nil json[:organization_id]
|
|
191
|
+
assert_equal fixture["created_at"], json[:created_at]
|
|
192
|
+
assert_equal fixture["updated_at"], json[:updated_at]
|
|
193
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
def test_data_integrations_list_response_round_trip
|
|
197
|
+
fixture = {
|
|
198
|
+
"object" => "list",
|
|
199
|
+
"data" => []
|
|
200
|
+
}
|
|
201
|
+
model = WorkOS::DataIntegrationsListResponse.new(fixture.to_json)
|
|
202
|
+
json = model.to_h
|
|
203
|
+
assert_kind_of Hash, json
|
|
204
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
def test_data_integrations_list_response_data_round_trip
|
|
208
|
+
fixture = {
|
|
209
|
+
"object" => "data_provider",
|
|
210
|
+
"id" => "stub",
|
|
211
|
+
"name" => "stub",
|
|
212
|
+
"description" => nil,
|
|
213
|
+
"slug" => "stub",
|
|
214
|
+
"integration_type" => "stub",
|
|
215
|
+
"credentials_type" => "stub",
|
|
216
|
+
"scopes" => nil,
|
|
217
|
+
"auth_methods" => [],
|
|
218
|
+
"ownership" => "stub",
|
|
219
|
+
"created_at" => "stub",
|
|
220
|
+
"updated_at" => "stub",
|
|
221
|
+
"connected_account" => nil
|
|
222
|
+
}
|
|
223
|
+
model = WorkOS::DataIntegrationsListResponseData.new(fixture.to_json)
|
|
224
|
+
json = model.to_h
|
|
225
|
+
assert_kind_of Hash, json
|
|
226
|
+
assert_equal fixture["id"], json[:id]
|
|
227
|
+
assert_equal fixture["name"], json[:name]
|
|
228
|
+
assert_nil json[:description]
|
|
229
|
+
assert_equal fixture["slug"], json[:slug]
|
|
230
|
+
assert_equal fixture["integration_type"], json[:integration_type]
|
|
231
|
+
assert_equal fixture["credentials_type"], json[:credentials_type]
|
|
232
|
+
assert_equal fixture["created_at"], json[:created_at]
|
|
233
|
+
assert_equal fixture["updated_at"], json[:updated_at]
|
|
234
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
def test_data_integration_credentials_response_credential_round_trip
|
|
238
|
+
fixture = {
|
|
239
|
+
"object" => "credential",
|
|
240
|
+
"auth_method" => "oauth",
|
|
241
|
+
"value" => "stub",
|
|
242
|
+
"expires_at" => nil,
|
|
243
|
+
"scopes" => [],
|
|
244
|
+
"missing_scopes" => []
|
|
245
|
+
}
|
|
246
|
+
model = WorkOS::DataIntegrationCredentialsResponseCredential.new(fixture.to_json)
|
|
247
|
+
json = model.to_h
|
|
248
|
+
assert_kind_of Hash, json
|
|
249
|
+
assert_equal fixture["value"], json[:value]
|
|
250
|
+
assert_nil json[:expires_at]
|
|
251
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
252
|
+
end
|
|
253
|
+
|
|
254
|
+
def test_data_integration_access_token_response_access_token_round_trip
|
|
255
|
+
fixture = {
|
|
256
|
+
"object" => "access_token",
|
|
257
|
+
"access_token" => "stub",
|
|
258
|
+
"expires_at" => nil,
|
|
259
|
+
"scopes" => [],
|
|
260
|
+
"missing_scopes" => []
|
|
261
|
+
}
|
|
262
|
+
model = WorkOS::DataIntegrationAccessTokenResponseAccessToken.new(fixture.to_json)
|
|
263
|
+
json = model.to_h
|
|
264
|
+
assert_kind_of Hash, json
|
|
265
|
+
assert_equal fixture["access_token"], json[:access_token]
|
|
266
|
+
assert_nil json[:expires_at]
|
|
267
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
def test_data_integration_credential_round_trip
|
|
271
|
+
fixture = {
|
|
272
|
+
"type" => "stub",
|
|
273
|
+
"client_id" => nil,
|
|
274
|
+
"redacted_client_secret" => nil
|
|
275
|
+
}
|
|
276
|
+
model = WorkOS::DataIntegrationCredential.new(fixture.to_json)
|
|
277
|
+
json = model.to_h
|
|
278
|
+
assert_kind_of Hash, json
|
|
279
|
+
assert_nil json[:client_id]
|
|
280
|
+
assert_nil json[:redacted_client_secret]
|
|
281
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
def test_data_integration_custom_provider_round_trip
|
|
285
|
+
fixture = {
|
|
286
|
+
"name" => "stub",
|
|
287
|
+
"authorization_url" => nil,
|
|
288
|
+
"token_url" => nil,
|
|
289
|
+
"refresh_token_url" => nil,
|
|
290
|
+
"pkce_enabled" => true,
|
|
291
|
+
"request_scope_separator" => "stub",
|
|
292
|
+
"scopes_required" => true,
|
|
293
|
+
"client_secret_required" => true,
|
|
294
|
+
"additional_authorization_parameters" => {},
|
|
295
|
+
"token_body_content_type" => "stub",
|
|
296
|
+
"authenticate_via" => "stub"
|
|
297
|
+
}
|
|
298
|
+
model = WorkOS::DataIntegrationCustomProvider.new(fixture.to_json)
|
|
299
|
+
json = model.to_h
|
|
300
|
+
assert_kind_of Hash, json
|
|
301
|
+
assert_equal fixture["name"], json[:name]
|
|
302
|
+
assert_nil json[:authorization_url]
|
|
303
|
+
assert_nil json[:token_url]
|
|
304
|
+
assert_nil json[:refresh_token_url]
|
|
305
|
+
assert_equal fixture["pkce_enabled"], json[:pkce_enabled]
|
|
306
|
+
assert_equal fixture["request_scope_separator"], json[:request_scope_separator]
|
|
307
|
+
assert_equal fixture["scopes_required"], json[:scopes_required]
|
|
308
|
+
assert_equal fixture["client_secret_required"], json[:client_secret_required]
|
|
309
|
+
assert_equal fixture["token_body_content_type"], json[:token_body_content_type]
|
|
310
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
def test_data_integrations_upsert_api_key_request_round_trip
|
|
314
|
+
fixture = {
|
|
315
|
+
"user_id" => "stub",
|
|
316
|
+
"organization_id" => "stub",
|
|
317
|
+
"secret" => "stub"
|
|
318
|
+
}
|
|
319
|
+
model = WorkOS::DataIntegrationsUpsertApiKeyRequest.new(fixture.to_json)
|
|
320
|
+
json = model.to_h
|
|
321
|
+
assert_kind_of Hash, json
|
|
322
|
+
assert_equal fixture["user_id"], json[:user_id]
|
|
323
|
+
assert_equal fixture["secret"], json[:secret]
|
|
324
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
325
|
+
end
|
|
326
|
+
|
|
327
|
+
def test_data_integrations_get_data_integration_authorize_url_request_round_trip
|
|
328
|
+
fixture = {
|
|
329
|
+
"user_id" => "stub",
|
|
330
|
+
"organization_id" => "stub",
|
|
331
|
+
"return_to" => "stub"
|
|
332
|
+
}
|
|
333
|
+
model = WorkOS::DataIntegrationsGetDataIntegrationAuthorizeUrlRequest.new(fixture.to_json)
|
|
334
|
+
json = model.to_h
|
|
335
|
+
assert_kind_of Hash, json
|
|
336
|
+
assert_equal fixture["user_id"], json[:user_id]
|
|
337
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
338
|
+
end
|
|
339
|
+
|
|
340
|
+
def test_data_integrations_vend_credentials_request_round_trip
|
|
341
|
+
fixture = {
|
|
342
|
+
"user_id" => "stub",
|
|
343
|
+
"organization_id" => "stub"
|
|
344
|
+
}
|
|
345
|
+
model = WorkOS::DataIntegrationsVendCredentialsRequest.new(fixture.to_json)
|
|
346
|
+
json = model.to_h
|
|
347
|
+
assert_kind_of Hash, json
|
|
348
|
+
assert_equal fixture["user_id"], json[:user_id]
|
|
349
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
350
|
+
end
|
|
351
|
+
|
|
352
|
+
def test_data_integrations_get_user_token_request_round_trip
|
|
353
|
+
fixture = {
|
|
354
|
+
"user_id" => "stub",
|
|
355
|
+
"organization_id" => nil
|
|
356
|
+
}
|
|
357
|
+
model = WorkOS::DataIntegrationsGetUserTokenRequest.new(fixture.to_json)
|
|
358
|
+
json = model.to_h
|
|
359
|
+
assert_kind_of Hash, json
|
|
360
|
+
assert_equal fixture["user_id"], json[:user_id]
|
|
361
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
362
|
+
end
|
|
363
|
+
|
|
364
|
+
def test_data_integrations_list_response_data_connected_account_round_trip
|
|
365
|
+
fixture = {
|
|
366
|
+
"object" => "connected_account",
|
|
367
|
+
"id" => "stub",
|
|
368
|
+
"user_id" => nil,
|
|
369
|
+
"organization_id" => nil,
|
|
370
|
+
"scopes" => [],
|
|
371
|
+
"auth_method" => "stub",
|
|
372
|
+
"api_key_last_4" => nil,
|
|
373
|
+
"state" => "stub",
|
|
374
|
+
"created_at" => "stub",
|
|
375
|
+
"updated_at" => "stub",
|
|
376
|
+
"userlandUserId" => nil
|
|
377
|
+
}
|
|
378
|
+
model = WorkOS::DataIntegrationsListResponseDataConnectedAccount.new(fixture.to_json)
|
|
379
|
+
json = model.to_h
|
|
380
|
+
assert_kind_of Hash, json
|
|
381
|
+
assert_equal fixture["id"], json[:id]
|
|
382
|
+
assert_nil json[:user_id]
|
|
383
|
+
assert_nil json[:organization_id]
|
|
384
|
+
assert_equal fixture["created_at"], json[:created_at]
|
|
385
|
+
assert_equal fixture["updated_at"], json[:updated_at]
|
|
386
|
+
assert_nil json[:userlandUserId]
|
|
387
|
+
fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
|
|
388
|
+
end
|
|
389
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This file is auto-generated by oagen. Do not edit.
|
|
4
|
+
|
|
5
|
+
require "test_helper"
|
|
6
|
+
|
|
7
|
+
class PipesProviderTest < Minitest::Test
|
|
8
|
+
include FixtureHelper
|
|
9
|
+
|
|
10
|
+
def setup
|
|
11
|
+
@client = WorkOS::Client.new(api_key: "sk_test_123")
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_list_organization_data_integration_configurations_returns_expected_result
|
|
15
|
+
stub_request(:get, %r{\Ahttps://api\.workos\.com/organizations/stub/data_integration_configurations(\?|\z)})
|
|
16
|
+
.to_return(body: "{}", status: 200)
|
|
17
|
+
result = @client.pipes_provider.list_organization_data_integration_configurations(organization_id: "stub")
|
|
18
|
+
refute_nil result
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_update_organization_data_integration_configuration_returns_expected_result
|
|
22
|
+
stub_request(:put, %r{\Ahttps://api\.workos\.com/organizations/stub/data_integration_configurations/stub(\?|\z)})
|
|
23
|
+
.to_return(body: "{}", status: 200)
|
|
24
|
+
result = @client.pipes_provider.update_organization_data_integration_configuration(organization_id: "stub", slug: "stub")
|
|
25
|
+
refute_nil result
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Parameterized authentication error tests (one per endpoint).
|
|
29
|
+
[
|
|
30
|
+
{name: :list_organization_data_integration_configurations, verb: :get, url: %r{\Ahttps://api\.workos\.com/organizations/stub/data_integration_configurations(\?|\z)}, args: {organization_id: "stub"}},
|
|
31
|
+
{name: :update_organization_data_integration_configuration, verb: :put, url: %r{\Ahttps://api\.workos\.com/organizations/stub/data_integration_configurations/stub(\?|\z)}, args: {organization_id: "stub", slug: "stub"}}
|
|
32
|
+
].each do |spec|
|
|
33
|
+
define_method("test_#{spec[:name]}_raises_authentication_error_on_401") do
|
|
34
|
+
stub_request(spec[:verb], spec[:url])
|
|
35
|
+
.to_return(body: '{"message": "Unauthorized"}', status: 401)
|
|
36
|
+
assert_raises(WorkOS::AuthenticationError) do
|
|
37
|
+
@client.pipes_provider.send(spec[:name], **(spec[:args] || {}))
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|