Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2021-06-29 03:07:32 +00:00
parent 3d7e272e43
commit be8b477154
265 changed files with 345 additions and 400 deletions

View File

@ -336,403 +336,6 @@ Rails/TimeZone:
# WIP: https://gitlab.com/gitlab-org/gitlab/-/issues/325836
RSpec/EmptyLineAfterFinalLetItBe:
Exclude:
- ee/spec/controllers/subscriptions_controller_spec.rb
- ee/spec/features/ci_shared_runner_warnings_spec.rb
- ee/spec/features/integrations/jira/jira_issues_list_spec.rb
- ee/spec/features/markdown/metrics_spec.rb
- ee/spec/features/registrations/group_invites_during_signup_flow_spec.rb
- ee/spec/features/subscriptions_spec.rb
- ee/spec/lib/ee/api/entities/user_with_admin_spec.rb
- ee/spec/lib/ee/api/entities/vulnerability_spec.rb
- ee/spec/lib/ee/event_filter_spec.rb
- ee/spec/lib/ee/gitlab/alert_management/payload/generic_spec.rb
- ee/spec/lib/ee/gitlab/alert_management/payload_spec.rb
- ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/external_spec.rb
- ee/spec/lib/ee/gitlab/ci/pipeline/quota/activity_spec.rb
- ee/spec/lib/ee/gitlab/ci/pipeline/quota/job_activity_spec.rb
- ee/spec/lib/ee/gitlab/ci/pipeline/quota/size_spec.rb
- ee/spec/lib/ee/gitlab/git_access_design_spec.rb
- ee/spec/lib/ee/gitlab/git_access_snippet_spec.rb
- ee/spec/lib/ee/gitlab/hook_data/issue_builder_spec.rb
- ee/spec/lib/ee/gitlab/import_export/project/tree_restorer_spec.rb
- ee/spec/lib/ee/gitlab/snippet_search_results_spec.rb
- ee/spec/lib/elastic/latest/git_class_proxy_spec.rb
- ee/spec/lib/gitlab/alert_management/payload/cilium_spec.rb
- ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_time_summary_spec.rb
- ee/spec/lib/gitlab/checks/diff_check_spec.rb
- ee/spec/lib/gitlab/code_owners/loader_spec.rb
- ee/spec/lib/gitlab/git_access_spec.rb
- ee/spec/lib/gitlab/git_access_wiki_spec.rb
- ee/spec/lib/gitlab/graphql/aggregations/vulnerability_statistics/lazy_aggregate_spec.rb
- ee/spec/lib/gitlab/insights/project_insights_config_spec.rb
- ee/spec/lib/gitlab/sitemaps/url_extractor_spec.rb
- ee/spec/requests/api/analytics/code_review_analytics_spec.rb
- ee/spec/requests/api/audit_events_spec.rb
- ee/spec/requests/api/commits_spec.rb
- ee/spec/requests/api/dora/metrics_spec.rb
- ee/spec/requests/api/epics_spec.rb
- ee/spec/requests/api/geo_spec.rb
- ee/spec/requests/api/graphql/boards/epic_board_list_epics_query_spec.rb
- ee/spec/requests/api/graphql/current_user/todos_query_spec.rb
- ee/spec/requests/api/graphql/group/epic/epic_issues_spec.rb
- ee/spec/requests/api/graphql/group/epics_spec.rb
- ee/spec/requests/api/graphql/mutations/analytics/devops_adoption/segments/create_spec.rb
- ee/spec/requests/api/graphql/mutations/analytics/devops_adoption/segments/delete_spec.rb
- ee/spec/requests/api/graphql/mutations/boards/create_spec.rb
- ee/spec/requests/api/graphql/mutations/boards/epic_boards/create_spec.rb
- ee/spec/requests/api/graphql/mutations/boards/epic_boards/update_spec.rb
- ee/spec/requests/api/graphql/mutations/boards/issues/issue_move_list_spec.rb
- ee/spec/requests/api/graphql/mutations/boards/lists/update_limit_metrics_spec.rb
- ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/destroy_spec.rb
- ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/update_spec.rb
- ee/spec/requests/api/graphql/mutations/dast_scanner_profiles/update_spec.rb
- ee/spec/requests/api/graphql/mutations/environments/canary_ingress/update_spec.rb
- ee/spec/requests/api/graphql/mutations/epics/add_issue_spec.rb
- ee/spec/requests/api/graphql/mutations/epics/set_subscription_spec.rb
- ee/spec/requests/api/graphql/mutations/epics/update_spec.rb
- ee/spec/requests/api/graphql/mutations/gitlab_subscriptions/activate_spec.rb
- ee/spec/requests/api/graphql/mutations/incident_management/oncall_rotation/create_spec.rb
- ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/create_spec.rb
- ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/destroy_spec.rb
- ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/update_spec.rb
- ee/spec/requests/api/graphql/mutations/issues/promote_to_epic_spec.rb
- ee/spec/requests/api/graphql/mutations/issues/update_spec.rb
- ee/spec/requests/api/graphql/mutations/iterations/create_spec.rb
- ee/spec/requests/api/graphql/mutations/notes/create/note_spec.rb
- ee/spec/requests/api/graphql/mutations/quality_management/test_cases/create_spec.rb
- ee/spec/requests/api/graphql/namespace/compliance_frameworks_spec.rb
- ee/spec/requests/api/graphql/project/alert_management/payload_fields_spec.rb
- ee/spec/requests/api/graphql/project/requirements_management/requirements_spec.rb
- ee/spec/requests/api/graphql/projects/compliance_frameworks_spec.rb
- ee/spec/requests/api/groups_spec.rb
- ee/spec/requests/api/internal/base_spec.rb
- ee/spec/requests/api/issues_spec.rb
- ee/spec/requests/api/ldap_spec.rb
- ee/spec/requests/api/merge_request_approval_rules_spec.rb
- ee/spec/requests/api/merge_request_approvals_spec.rb
- ee/spec/requests/api/merge_requests_spec.rb
- ee/spec/requests/api/merge_trains_spec.rb
- ee/spec/requests/api/project_approval_rules_spec.rb
- ee/spec/requests/api/project_approval_settings_spec.rb
- ee/spec/requests/api/projects_spec.rb
- ee/spec/requests/api/todos_spec.rb
- ee/spec/requests/api/vulnerabilities_spec.rb
- ee/spec/requests/api/vulnerability_issue_links_spec.rb
- ee/spec/requests/api/wikis_spec.rb
- ee/spec/requests/callout_spec.rb
- ee/spec/requests/git_http_geo_spec.rb
- ee/spec/requests/repositories/git_http_controller_spec.rb
- ee/spec/services/alert_management/extract_alert_payload_fields_service_spec.rb
- ee/spec/services/alert_management/process_prometheus_alert_service_spec.rb
- ee/spec/services/approval_rules/create_service_spec.rb
- ee/spec/services/audit_event_service_spec.rb
- ee/spec/services/billable_members/destroy_service_spec.rb
- ee/spec/services/boards/epic_boards/destroy_service_spec.rb
- ee/spec/services/clusters/agent_tokens/create_service_spec.rb
- ee/spec/services/compliance_management/frameworks/create_service_spec.rb
- ee/spec/services/compliance_management/frameworks/update_service_spec.rb
- ee/spec/services/dast_scanner_profiles/destroy_service_spec.rb
- ee/spec/services/dast_scanner_profiles/update_service_spec.rb
- ee/spec/services/dast_site_profiles/destroy_service_spec.rb
- ee/spec/services/external_status_checks/create_service_spec.rb
- ee/spec/services/external_status_checks/destroy_service_spec.rb
- ee/spec/services/external_status_checks/update_service_spec.rb
- ee/spec/services/gitlab_subscriptions/activate_service_spec.rb
- ee/spec/services/gitlab_subscriptions/apply_trial_service_spec.rb
- ee/spec/services/incident_management/incidents/upload_metric_service_spec.rb
- ee/spec/services/incident_management/oncall_rotations/edit_service_spec.rb
- ee/spec/services/merge_request_approval_settings/update_service_spec.rb
- ee/spec/services/personal_access_tokens/create_service_audit_log_spec.rb
- ee/spec/services/personal_access_tokens/groups/update_lifetime_service_spec.rb
- ee/spec/services/push_rules/create_or_update_service_spec.rb
- ee/spec/services/quality_management/test_cases/create_service_spec.rb
- ee/spec/services/quick_actions/interpret_service_spec.rb
- ee/spec/services/requirements_management/create_requirement_service_spec.rb
- ee/spec/services/requirements_management/export_csv_service_spec.rb
- ee/spec/services/requirements_management/update_requirement_service_spec.rb
- ee/spec/services/resource_access_tokens/create_service_spec.rb
- ee/spec/services/resource_access_tokens/revoke_service_spec.rb
- spec/controllers/confirmations_controller_spec.rb
- spec/controllers/dashboard/projects_controller_spec.rb
- spec/controllers/invites_controller_spec.rb
- spec/controllers/profiles/emails_controller_spec.rb
- spec/controllers/users/terms_controller_spec.rb
- spec/features/cycle_analytics_spec.rb
- spec/features/dashboard/datetime_on_tooltips_spec.rb
- spec/features/dashboard/merge_requests_spec.rb
- spec/features/file_uploads/group_import_spec.rb
- spec/features/file_uploads/project_import_spec.rb
- spec/features/file_uploads/user_avatar_spec.rb
- spec/features/issues/user_sees_breadcrumb_links_spec.rb
- spec/features/markdown/metrics_spec.rb
- spec/features/operations_sidebar_link_spec.rb
- spec/features/participants_autocomplete_spec.rb
- spec/features/snippets/embedded_snippet_spec.rb
- spec/finders/alert_management/alerts_finder_spec.rb
- spec/finders/ci/commit_statuses_finder_spec.rb
- spec/finders/container_repositories_finder_spec.rb
- spec/finders/deployments_finder_spec.rb
- spec/finders/events_finder_spec.rb
- spec/finders/group_descendants_finder_spec.rb
- spec/finders/groups_finder_spec.rb
- spec/finders/packages/conan/package_file_finder_spec.rb
- spec/finders/packages/go/module_finder_spec.rb
- spec/finders/packages/group_packages_finder_spec.rb
- spec/finders/packages/nuget/package_finder_spec.rb
- spec/finders/packages/package_file_finder_spec.rb
- spec/finders/packages/package_finder_spec.rb
- spec/finders/template_finder_spec.rb
- spec/finders/todos_finder_spec.rb
- spec/finders/user_recent_events_finder_spec.rb
- spec/frontend/fixtures/pipelines.rb
- spec/graphql/features/authorization_spec.rb
- spec/graphql/gitlab_schema_spec.rb
- spec/graphql/mutations/boards/lists/update_spec.rb
- spec/graphql/mutations/custom_emoji/create_spec.rb
- spec/graphql/mutations/discussions/toggle_resolve_spec.rb
- spec/graphql/mutations/environments/canary_ingress/update_spec.rb
- spec/graphql/mutations/issues/set_severity_spec.rb
- spec/graphql/mutations/labels/create_spec.rb
- spec/graphql/mutations/notes/reposition_image_diff_note_spec.rb
- spec/lib/bulk_imports/groups/loaders/group_loader_spec.rb
- spec/lib/extracts_path_spec.rb
- spec/lib/extracts_ref_spec.rb
- spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb
- spec/lib/gitlab/closing_issue_extractor_spec.rb
- spec/lib/gitlab/composer/cache_spec.rb
- spec/lib/gitlab/data_builder/wiki_page_spec.rb
- spec/lib/gitlab/deploy_key_access_spec.rb
- spec/lib/gitlab/email/handler/service_desk_handler_spec.rb
- spec/lib/gitlab/gitaly_client/operation_service_spec.rb
- spec/lib/gitlab/gl_repository/repo_type_spec.rb
- spec/lib/gitlab/group_search_results_spec.rb
- spec/lib/gitlab/json_cache_spec.rb
- spec/lib/gitlab/language_detection_spec.rb
- spec/lib/gitlab/project_search_results_spec.rb
- spec/lib/gitlab/prometheus/query_variables_spec.rb
- spec/lib/gitlab/reactive_cache_set_cache_spec.rb
- spec/lib/gitlab/reference_extractor_spec.rb
- spec/lib/gitlab/search_results_spec.rb
- spec/lib/gitlab/shell_spec.rb
- spec/models/abuse_report_spec.rb
- spec/models/alert_management/alert_spec.rb
- spec/models/audit_event_spec.rb
- spec/models/chat_name_spec.rb
- spec/models/chat_team_spec.rb
- spec/models/clusters/kubernetes_namespace_spec.rb
- spec/models/commit_spec.rb
- spec/models/deploy_token_spec.rb
- spec/models/deployment_spec.rb
- spec/models/diff_viewer/server_side_spec.rb
- spec/models/environment_spec.rb
- spec/models/event_collection_spec.rb
- spec/models/label_note_spec.rb
- spec/models/lfs_file_lock_spec.rb
- spec/models/member_spec.rb
- spec/models/merge_request_diff_spec.rb
- spec/models/namespace/root_storage_statistics_spec.rb
- spec/models/note_spec.rb
- spec/models/notification_setting_spec.rb
- spec/models/operations/feature_flag_spec.rb
- spec/models/plan_limits_spec.rb
- spec/models/prometheus_alert_spec.rb
- spec/models/protected_branch/push_access_level_spec.rb
- spec/models/repository_spec.rb
- spec/models/snippet_repository_spec.rb
- spec/models/snippet_spec.rb
- spec/models/terraform/state_spec.rb
- spec/models/u2f_registration_spec.rb
- spec/models/user_spec.rb
- spec/requests/api/api_spec.rb
- spec/requests/api/award_emoji_spec.rb
- spec/requests/api/branches_spec.rb
- spec/requests/api/ci/pipelines_spec.rb
- spec/requests/api/composer_packages_spec.rb
- spec/requests/api/deploy_tokens_spec.rb
- spec/requests/api/deployments_spec.rb
- spec/requests/api/error_tracking_spec.rb
- spec/requests/api/feature_flags_spec.rb
- spec/requests/api/freeze_periods_spec.rb
- spec/requests/api/generic_packages_spec.rb
- spec/requests/api/graphql/boards/board_lists_query_spec.rb
- spec/requests/api/graphql/ci/pipelines_spec.rb
- spec/requests/api/graphql/current_user_todos_spec.rb
- spec/requests/api/graphql/group/timelogs_spec.rb
- spec/requests/api/graphql/issue_status_counts_spec.rb
- spec/requests/api/graphql/metrics/dashboard_query_spec.rb
- spec/requests/api/graphql/mutations/admin/sidekiq_queues/delete_jobs_spec.rb
- spec/requests/api/graphql/mutations/alert_management/alerts/set_assignees_spec.rb
- spec/requests/api/graphql/mutations/alert_management/alerts/todo/create_spec.rb
- spec/requests/api/graphql/mutations/alert_management/alerts/update_alert_status_spec.rb
- spec/requests/api/graphql/mutations/alert_management/http_integration/create_spec.rb
- spec/requests/api/graphql/mutations/alert_management/prometheus_integration/create_spec.rb
- spec/requests/api/graphql/mutations/award_emojis/add_spec.rb
- spec/requests/api/graphql/mutations/award_emojis/toggle_spec.rb
- spec/requests/api/graphql/mutations/boards/create_spec.rb
- spec/requests/api/graphql/mutations/boards/destroy_spec.rb
- spec/requests/api/graphql/mutations/boards/lists/destroy_spec.rb
- spec/requests/api/graphql/mutations/boards/lists/update_spec.rb
- spec/requests/api/graphql/mutations/branches/create_spec.rb
- spec/requests/api/graphql/mutations/ci/ci_cd_settings_update_spec.rb
- spec/requests/api/graphql/mutations/commits/create_spec.rb
- spec/requests/api/graphql/mutations/container_expiration_policy/update_spec.rb
- spec/requests/api/graphql/mutations/discussions/toggle_resolve_spec.rb
- spec/requests/api/graphql/mutations/environments/canary_ingress/update_spec.rb
- spec/requests/api/graphql/mutations/issues/set_locked_spec.rb
- spec/requests/api/graphql/mutations/issues/set_severity_spec.rb
- spec/requests/api/graphql/mutations/issues/update_spec.rb
- spec/requests/api/graphql/mutations/jira_import/import_users_spec.rb
- spec/requests/api/graphql/mutations/jira_import/start_spec.rb
- spec/requests/api/graphql/mutations/labels/create_spec.rb
- spec/requests/api/graphql/mutations/merge_requests/accept_spec.rb
- spec/requests/api/graphql/mutations/merge_requests/create_spec.rb
- spec/requests/api/graphql/mutations/metrics/dashboard/annotations/create_spec.rb
- spec/requests/api/graphql/mutations/namespace/package_settings/update_spec.rb
- spec/requests/api/graphql/mutations/notes/create/diff_note_spec.rb
- spec/requests/api/graphql/mutations/notes/create/image_diff_note_spec.rb
- spec/requests/api/graphql/mutations/notes/create/note_spec.rb
- spec/requests/api/graphql/mutations/notes/reposition_image_diff_note_spec.rb
- spec/requests/api/graphql/mutations/notes/update/image_diff_note_spec.rb
- spec/requests/api/graphql/mutations/snippets/mark_as_spam_spec.rb
- spec/requests/api/graphql/mutations/snippets/update_spec.rb
- spec/requests/api/graphql/mutations/user_callouts/create_spec.rb
- spec/requests/api/graphql/namespace/package_settings_spec.rb
- spec/requests/api/graphql/project/alert_management/alert/issue_spec.rb
- spec/requests/api/graphql/project/alert_management/alert_status_counts_spec.rb
- spec/requests/api/graphql/project/error_tracking/sentry_detailed_error_request_spec.rb
- spec/requests/api/graphql/project/error_tracking/sentry_errors_request_spec.rb
- spec/requests/api/graphql/project/issue/designs/designs_spec.rb
- spec/requests/api/graphql/project/project_pipeline_statistics_spec.rb
- spec/requests/api/graphql/project_query_spec.rb
- spec/requests/api/graphql/query_spec.rb
- spec/requests/api/graphql/user/starred_projects_query_spec.rb
- spec/requests/api/graphql/user_query_spec.rb
- spec/requests/api/graphql_spec.rb
- spec/requests/api/group_import_spec.rb
- spec/requests/api/group_milestones_spec.rb
- spec/requests/api/group_packages_spec.rb
- spec/requests/api/groups_spec.rb
- spec/requests/api/helpers_spec.rb
- spec/requests/api/import_bitbucket_server_spec.rb
- spec/requests/api/internal/base_spec.rb
- spec/requests/api/lint_spec.rb
- spec/requests/api/markdown_spec.rb
- spec/requests/api/merge_requests_spec.rb
- spec/requests/api/metrics/dashboard/annotations_spec.rb
- spec/requests/api/metrics/user_starred_dashboards_spec.rb
- spec/requests/api/nuget_project_packages_spec.rb
- spec/requests/api/project_clusters_spec.rb
- spec/requests/api/project_container_repositories_spec.rb
- spec/requests/api/project_milestones_spec.rb
- spec/requests/api/project_packages_spec.rb
- spec/requests/api/pypi_packages_spec.rb
- spec/requests/api/rubygem_packages_spec.rb
- spec/requests/api/unleash_spec.rb
- spec/requests/api/users_spec.rb
- spec/requests/groups/email_campaigns_controller_spec.rb
- spec/requests/import/gitlab_groups_controller_spec.rb
- spec/requests/jwt_controller_spec.rb
- spec/requests/lfs_http_spec.rb
- spec/requests/product_analytics/collector_app_spec.rb
- spec/requests/rack_attack_global_spec.rb
- spec/services/admin/propagate_service_template_spec.rb
- spec/services/alert_management/create_alert_issue_service_spec.rb
- spec/services/audit_event_service_spec.rb
- spec/services/auth/dependency_proxy_authentication_service_spec.rb
- spec/services/auto_merge_service_spec.rb
- spec/services/bulk_create_integration_service_spec.rb
- spec/services/clusters/applications/prometheus_health_check_service_spec.rb
- spec/services/container_expiration_policy_service_spec.rb
- spec/services/dependency_proxy/find_or_create_manifest_service_spec.rb
- spec/services/discussions/resolve_service_spec.rb
- spec/services/discussions/unresolve_service_spec.rb
- spec/services/git/branch_push_service_spec.rb
- spec/services/import/bitbucket_server_service_spec.rb
- spec/services/incident_management/incidents/create_service_spec.rb
- spec/services/incident_management/pager_duty/create_incident_issue_service_spec.rb
- spec/services/incident_management/pager_duty/process_webhook_service_spec.rb
- spec/services/integrations/test/project_service_spec.rb
- spec/services/issuable/bulk_update_service_spec.rb
- spec/services/jira_connect/sync_service_spec.rb
- spec/services/jira_import/start_import_service_spec.rb
- spec/services/jira_import/users_importer_spec.rb
- spec/services/markdown_content_rewriter_service_spec.rb
- spec/services/members/create_service_spec.rb
- spec/services/members/invite_service_spec.rb
- spec/services/metrics/dashboard/annotations/create_service_spec.rb
- spec/services/metrics/dashboard/gitlab_alert_embed_service_spec.rb
- spec/services/metrics/users_starred_dashboards/create_service_spec.rb
- spec/services/notes/copy_service_spec.rb
- spec/services/notes/create_service_spec.rb
- spec/services/notes/destroy_service_spec.rb
- spec/services/notes/quick_actions_service_spec.rb
- spec/services/notes/update_service_spec.rb
- spec/services/notification_service_spec.rb
- spec/services/packages/composer/create_package_service_spec.rb
- spec/services/packages/conan/search_service_spec.rb
- spec/services/packages/create_package_file_service_spec.rb
- spec/services/packages/debian/find_or_create_package_service_spec.rb
- spec/services/packages/generic/create_package_file_service_spec.rb
- spec/services/packages/maven/find_or_create_package_service_spec.rb
- spec/services/packages/nuget/search_service_spec.rb
- spec/services/packages/rubygems/dependency_resolver_service_spec.rb
- spec/services/pod_logs/base_service_spec.rb
- spec/services/pod_logs/elasticsearch_service_spec.rb
- spec/services/pod_logs/kubernetes_service_spec.rb
- spec/services/projects/alerting/notify_service_spec.rb
- spec/services/projects/create_service_spec.rb
- spec/services/projects/destroy_rollback_service_spec.rb
- spec/services/projects/destroy_service_spec.rb
- spec/services/projects/gitlab_projects_import_service_spec.rb
- spec/services/projects/group_links/create_service_spec.rb
- spec/services/projects/group_links/destroy_service_spec.rb
- spec/services/projects/group_links/update_service_spec.rb
- spec/services/projects/prometheus/alerts/notify_service_spec.rb
- spec/services/projects/transfer_service_spec.rb
- spec/services/projects/update_pages_service_spec.rb
- spec/services/prometheus/create_default_alerts_service_spec.rb
- spec/services/quick_actions/interpret_service_spec.rb
- spec/services/releases/create_evidence_service_spec.rb
- spec/services/repositories/destroy_rollback_service_spec.rb
- spec/services/repositories/destroy_service_spec.rb
- spec/services/repositories/shell_destroy_service_spec.rb
- spec/services/resource_access_tokens/create_service_spec.rb
- spec/services/resource_access_tokens/revoke_service_spec.rb
- spec/services/resource_events/change_labels_service_spec.rb
- spec/services/resource_events/merge_into_notes_service_spec.rb
- spec/services/security/ci_configuration/sast_create_service_spec.rb
- spec/services/snippets/bulk_destroy_service_spec.rb
- spec/services/snippets/create_service_spec.rb
- spec/services/snippets/update_service_spec.rb
- spec/services/spam/ham_service_spec.rb
- spec/services/spam/spam_action_service_spec.rb
- spec/services/spam/spam_verdict_service_spec.rb
- spec/services/system_note_service_spec.rb
- spec/services/system_notes/issuables_service_spec.rb
- spec/services/test_hooks/project_service_spec.rb
- spec/services/test_hooks/system_service_spec.rb
- spec/services/users/approve_service_spec.rb
- spec/services/users/reject_service_spec.rb
- spec/services/users/validate_otp_service_spec.rb
- spec/services/wiki_pages/event_create_service_spec.rb
- spec/support/shared_examples/graphql/design_fields_shared_examples.rb
- spec/support/shared_examples/graphql/mutations/set_assignees_shared_examples.rb
- spec/support/shared_examples/quick_actions/issuable/issuable_quick_actions_shared_examples.rb
- spec/support/shared_examples/services/container_registry_auth_service_shared_examples.rb
- spec/support/shared_examples/services/packages_shared_examples.rb
- spec/tasks/gitlab/db_rake_spec.rb
- spec/tasks/gitlab/packages/composer_rake_spec.rb
- spec/tasks/gitlab/snippets_rake_spec.rb
- spec/uploaders/content_type_whitelist_spec.rb
- spec/uploaders/dependency_proxy/file_uploader_spec.rb
- spec/views/admin/application_settings/_eks.html.haml_spec.rb
- spec/views/admin/application_settings/_package_registry.html.haml_spec.rb
- spec/views/layouts/nav/sidebar/_project_security_link.html.haml_spec.rb
- spec/views/projects/pipelines/new.html.haml_spec.rb
- spec/views/projects/pipelines/show.html.haml_spec.rb
- spec/views/search/_results.html.haml_spec.rb
- spec/views/shared/_label_row.html.haml_spec.rb
- spec/views/shared/milestones/_top.html.haml_spec.rb
RSpec/TimecopFreeze:
Exclude:

View File

@ -19,7 +19,7 @@ export default {
variant: {
type: String,
required: false,
default: 'success',
default: 'confirm',
},
category: {
type: String,

View File

@ -65,6 +65,8 @@
min-width: 0;
}
// .gl-font-size-inherit will be moved to @gitlab/ui by https://gitlab.com/gitlab-org/gitlab-ui/-/issues/1466
.gl-font-size-inherit,
.font-size-inherit { font-size: inherit; }
.gl-w-8 { width: px-to-rem($grid-size); }
.gl-w-16 { width: px-to-rem($grid-size * 2); }
@ -228,3 +230,13 @@ $gl-line-height-42: px-to-rem(42px);
.gl-max-h-none\! {
max-height: none !important;
}
// Will be moved to @gitlab/ui by https://gitlab.com/gitlab-org/gitlab-ui/-/issues/1465
.gl-popover {
.popover-header {
.gl-button.close {
margin-top: -$gl-spacing-scale-3;
margin-right: -$gl-spacing-scale-4;
}
}
}

View File

@ -16,7 +16,7 @@ module Integrations
def compose_service_hook
hook = service_hook || build_service_hook
# If using a service template, project may not be available
hook.url = [drone_url, "/api/hook", "?owner=#{project.namespace.full_path}", "&name=#{project.path}", "&access_token=#{token}"].join if project
hook.url = [drone_url, "/hook", "?owner=#{project.namespace.full_path}", "&name=#{project.path}", "&access_token=#{token}"].join if project
hook.enable_ssl_verification = !!enable_ssl_verification
hook.save
end

View File

@ -1509,7 +1509,7 @@ After creating and configuring Gitaly Cluster:
1. Ensure all storages are accessible to the GitLab instance. In this example, these are
`<original_storage_name>` and `<cluster_storage_name>`.
1. [Configure repository storage weights](../repository_storage_paths.md#configure-where-new-repositories-are-stored)
so that the Gitaly Cluster receives all new projects. This stops new projects being created
so that the Gitaly Cluster receives all new projects. This stops new projects from being created
on existing Gitaly nodes while the migration is in progress.
1. Schedule repository moves for:
- [Projects](#bulk-schedule-project-moves).

View File

@ -18,6 +18,7 @@ RSpec.describe ConfirmationsController do
context 'user is already confirmed' do
let_it_be_with_reload(:user) { create(:user, :unconfirmed) }
let(:confirmation_token) { user.confirmation_token }
before do
@ -57,6 +58,7 @@ RSpec.describe ConfirmationsController do
context 'user accesses the link after the expiry of confirmation token has passed' do
let_it_be_with_reload(:user) { create(:user, :unconfirmed) }
let(:confirmation_token) { user.confirmation_token }
before do

View File

@ -15,6 +15,7 @@ RSpec.describe Dashboard::ProjectsController, :aggregate_failures do
context 'user logged in' do
let_it_be(:project) { create(:project, name: 'Project 1') }
let_it_be(:project2) { create(:project, name: 'Project Two') }
let(:projects) { [project, project2] }
before_all do

View File

@ -5,6 +5,7 @@ require 'spec_helper'
RSpec.describe InvitesController do
let_it_be(:user) { create(:user) }
let_it_be(:member, reload: true) { create(:project_member, :invited, invite_email: user.email) }
let(:raw_invite_token) { member.raw_invite_token }
let(:project_members) { member.source.users }
let(:md5_member_global_id) { Digest::MD5.hexdigest(member.to_global_id.to_s) }

View File

@ -63,6 +63,7 @@ RSpec.describe Profiles::EmailsController do
describe '#resend_confirmation_instructions' do
let_it_be(:email) { create(:email, user: user) }
let(:params) { { id: email.id } }
subject { put(:resend_confirmation_instructions, params: params) }

View File

@ -6,6 +6,7 @@ RSpec.describe Users::TermsController do
include TermsHelper
let_it_be(:user) { create(:user) }
let(:term) { create(:term) }
before do

View File

@ -6,6 +6,7 @@ RSpec.describe 'Value Stream Analytics', :js do
let_it_be(:user) { create(:user) }
let_it_be(:guest) { create(:user) }
let_it_be(:project) { create(:project, :repository) }
let(:issue) { create(:issue, project: project, created_at: 2.days.ago) }
let(:milestone) { create(:milestone, project: project) }
let(:mr) { create_merge_request_closing_issue(user, project, issue, commit_message: "References #{issue.to_reference}") }

View File

@ -5,6 +5,7 @@ require 'spec_helper'
RSpec.describe 'Tooltips on .timeago dates', :js do
let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project, name: 'test', namespace: user.namespace) }
let(:created_date) { 1.day.ago.beginning_of_minute - 1.hour }
before_all do

View File

@ -53,6 +53,7 @@ RSpec.describe 'Dashboard Merge Requests' do
context 'merge requests exist' do
let_it_be(:author_user) { create(:user) }
let(:label) { create(:label) }
let!(:assigned_merge_request) do
@ -181,6 +182,7 @@ RSpec.describe 'Dashboard Merge Requests' do
context 'merge request review', :js do
let_it_be(:author_user) { create(:user) }
let!(:review_requested_merge_request) do
create(:merge_request,
reviewers: [current_user],

View File

@ -7,6 +7,7 @@ RSpec.describe 'Upload a group export archive', :api, :js do
let_it_be(:user) { create(:user, :admin) }
let_it_be(:personal_access_token) { create(:personal_access_token, user: user) }
let(:api_path) { '/groups/import' }
let(:url) { capybara_url(api(api_path, personal_access_token: personal_access_token)) }
let(:file) { fixture_file_upload('spec/fixtures/group_export.tar.gz') }

View File

@ -7,6 +7,7 @@ RSpec.describe 'Upload a project export archive', :api, :js do
let_it_be(:user) { create(:user, :admin) }
let_it_be(:personal_access_token) { create(:personal_access_token, user: user) }
let(:api_path) { '/projects/import' }
let(:url) { capybara_url(api(api_path, personal_access_token: personal_access_token)) }
let(:file) { fixture_file_upload('spec/features/projects/import_export/test_project_export.tar.gz') }

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe 'Upload a user avatar', :js do
let_it_be(:user, reload: true) { create(:user) }
let(:file) { fixture_file_upload('spec/fixtures/banana_sample.gif') }
before do

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe 'New issue breadcrumb' do
let_it_be(:project, reload: true) { create(:project) }
let(:user) { project.creator }
before do

View File

@ -180,6 +180,7 @@ RSpec.describe 'Metrics rendering', :js, :kubeclient, :use_clean_rails_memory_st
end
let_it_be(:cluster) { create(:cluster, :provided_by_gcp, :project, projects: [project], user: user) }
let(:params) { [project.namespace.path, project.path, cluster.id] }
let(:query_params) { { group: 'Cluster Health', title: 'CPU Usage', y_label: 'CPU (cores)' } }
let(:metrics_url) { urls.namespace_project_cluster_url(*params, **query_params) }

View File

@ -6,6 +6,7 @@ RSpec.describe 'Member autocomplete', :js do
let_it_be(:project) { create(:project, :public, :repository) }
let_it_be(:user) { create(:user) }
let_it_be(:author) { create(:user) }
let(:note) { create(:note, noteable: noteable, project: noteable.project) }
before do

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe 'Embedded Snippets' do
let_it_be(:snippet) { create(:personal_snippet, :public, :repository) }
let(:blobs) { snippet.blobs.first(3) }
it 'loads snippet', :js do

View File

@ -266,6 +266,7 @@ RSpec.describe AlertManagement::AlertsFinder, '#execute' do
context 'assignee username given' do
let_it_be(:assignee) { create(:user) }
let_it_be(:alert) { create(:alert_management_alert, project: project, assignees: [assignee]) }
let(:params) { { assignee_username: username } }
context 'with valid assignee_username' do

View File

@ -9,6 +9,7 @@ RSpec.describe Ci::CommitStatusesFinder, '#execute' do
context 'tag refs' do
let_it_be(:tags) { TagsFinder.new(project.repository, {}).execute }
let(:subject) { described_class.new(project, project.repository, user, tags).execute }
context 'no pipelines' do
@ -131,6 +132,7 @@ RSpec.describe Ci::CommitStatusesFinder, '#execute' do
context 'CI pipelines visible to' do
let_it_be(:tags) { TagsFinder.new(project.repository, {}).execute }
let(:subject) { described_class.new(project, project.repository, user, tags).execute }
before do

View File

@ -9,6 +9,7 @@ RSpec.describe ContainerRepositoriesFinder do
let_it_be(:group) { create(:group) }
let_it_be(:project) { create(:project, group: group) }
let_it_be(:project_repository) { create(:container_repository, name: 'my_image', project: project) }
let(:params) { {} }
before do

View File

@ -68,6 +68,7 @@ RSpec.describe DeploymentsFinder do
context 'at project scope' do
let_it_be(:project) { create(:project, :public, :test_repo) }
let(:base_params) { { project: project } }
describe 'filtering' do
@ -76,6 +77,7 @@ RSpec.describe DeploymentsFinder do
let_it_be(:deployment_2) { create(:deployment, :success, project: project, updated_at: 47.hours.ago) }
let_it_be(:deployment_3) { create(:deployment, :success, project: project, updated_at: 4.days.ago) }
let_it_be(:deployment_4) { create(:deployment, :success, project: project, updated_at: 1.hour.ago) }
let(:params) { { **base_params, updated_before: 1.day.ago, updated_after: 3.days.ago, order_by: :updated_at } }
it 'returns deployments with matched updated_at' do
@ -268,6 +270,7 @@ RSpec.describe DeploymentsFinder do
let_it_be(:group_project_1) { create(:project, :public, :test_repo, group: group) }
let_it_be(:group_project_2) { create(:project, :public, :test_repo, group: group) }
let_it_be(:subgroup_project_1) { create(:project, :public, :test_repo, group: subgroup) }
let(:base_params) { { group: group } }
describe 'ordering' do

View File

@ -22,6 +22,7 @@ RSpec.describe EventsFinder do
let!(:other_developer_event) { create(:event, :created, project: project1, author: other_user, target: opened_merge_request3 ) }
let_it_be(:public_project) { create(:project, :public, creator_id: user.id, namespace: user.namespace) }
let(:confidential_issue) { create(:closed_issue, confidential: true, project: public_project, author: user) }
let!(:confidential_event) { create(:event, :closed, project: public_project, author: user, target: confidential_issue) }

View File

@ -5,6 +5,7 @@ require 'spec_helper'
RSpec.describe GroupDescendantsFinder do
let_it_be(:user) { create(:user) }
let_it_be(:group) { create(:group) }
let(:params) { {} }
subject(:finder) do

View File

@ -180,6 +180,7 @@ RSpec.describe GroupsFinder do
let_it_be(:internal_sub_subgroup) { create(:group, :internal, parent: public_subgroup) }
let_it_be(:private_sub_subgroup) { create(:group, :private, parent: public_subgroup) }
let_it_be(:public_sub_subgroup) { create(:group, :public, parent: public_subgroup) }
let(:params) { { include_parent_descendants: true, parent: parent_group } }
context 'with nil parent' do

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe ::Packages::Conan::PackageFileFinder do
let_it_be(:package) { create(:conan_package) }
let_it_be(:package_file) { package.package_files.first }
let(:package_file_name) { package_file.file_name }
let(:params) { {} }

View File

@ -5,6 +5,7 @@ require 'spec_helper'
RSpec.describe Packages::Go::ModuleFinder do
let_it_be(:project) { create :project }
let_it_be(:other_project) { create :project }
let(:finder) { described_class.new project, module_name }
shared_examples 'an invalid path' do

View File

@ -129,6 +129,7 @@ RSpec.describe Packages::GroupPackagesFinder do
context 'with package_name' do
let_it_be(:named_package) { create(:maven_package, project: project, name: 'maven') }
let(:params) { { package_name: package_name } }
context 'as complete name' do

View File

@ -11,6 +11,7 @@ RSpec.describe Packages::Nuget::PackageFinder do
let_it_be(:package3) { create(:nuget_package, name: 'Another.Dummy.Package', project: project) }
let_it_be(:other_package_1) { create(:nuget_package, name: package1.name, version: package1.version) }
let_it_be(:other_package_2) { create(:nuget_package, name: package1.name, version: package2.version) }
let(:package_name) { package1.name }
let(:package_version) { nil }
let(:limit) { 50 }
@ -57,6 +58,7 @@ RSpec.describe Packages::Nuget::PackageFinder do
let_it_be(:package4) { create(:nuget_package, name: package1.name, project: project) }
let_it_be(:package5) { create(:nuget_package, name: package1.name, project: project) }
let_it_be(:package6) { create(:nuget_package, name: package1.name, project: project) }
let(:limit) { 2 }
it { is_expected.to match_array([package5, package6]) }

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe Packages::PackageFileFinder do
let_it_be(:package) { create(:maven_package) }
let_it_be(:package_file) { package.package_files.first }
let(:package_file_name) { package_file.file_name }
let(:params) { {} }

View File

@ -25,6 +25,7 @@ RSpec.describe ::Packages::PackageFinder do
context 'processing packages' do
let_it_be(:nuget_package) { create(:nuget_package, :processing, project: project) }
let(:package_id) { nuget_package.id }
it 'are not returned' do

View File

@ -123,6 +123,7 @@ RSpec.describe TemplateFinder do
describe '#execute' do
let_it_be(:project) { nil }
let(:params) { {} }
subject(:result) { described_class.new(type, project, params).execute }
@ -149,6 +150,7 @@ RSpec.describe TemplateFinder do
describe '#template_names' do
let_it_be(:project) { nil }
let(:params) { {} }
subject(:result) { described_class.new(type, project, params).template_names.values.flatten.map { |el| OpenStruct.new(el) } }

View File

@ -9,6 +9,7 @@ RSpec.describe TodosFinder do
let_it_be(:project) { create(:project, :repository, namespace: group) }
let_it_be(:issue) { create(:issue, project: project) }
let_it_be(:merge_request) { create(:merge_request, source_project: project) }
let(:finder) { described_class }
before_all do
@ -153,6 +154,7 @@ RSpec.describe TodosFinder do
context 'by groups' do
context 'with subgroups' do
let_it_be(:subgroup) { create(:group, parent: group) }
let!(:todo3) { create(:todo, user: user, group: subgroup, target: issue) }
it 'returns todos from subgroups when filtered by a group' do

View File

@ -12,6 +12,7 @@ RSpec.describe UserRecentEventsFinder do
let!(:internal_event) { create(:event, project: internal_project, author: project_owner) }
let!(:public_event) { create(:event, project: public_project, author: project_owner) }
let_it_be(:issue) { create(:issue, project: public_project) }
let(:limit) { nil }
let(:params) { { limit: limit } }
@ -43,6 +44,7 @@ RSpec.describe UserRecentEventsFinder do
context 'events from multiple users' do
let_it_be(:second_user, reload: true) { create(:user) }
let_it_be(:private_project_second_user) { create(:project, :private, creator: second_user) }
let(:internal_project_second_user) { create(:project, :internal, creator: second_user) }
let(:public_project_second_user) { create(:project, :public, creator: second_user) }
let!(:private_event_second_user) { create(:event, project: private_project_second_user, author: second_user) }

View File

@ -13,6 +13,7 @@ RSpec.describe Projects::PipelinesController, '(JavaScript fixtures)', type: :co
let!(:build_pipeline_without_author) { create(:ci_build, pipeline: pipeline_without_author, stage: 'test') }
let_it_be(:pipeline_without_commit) { create(:ci_pipeline, status: :success, project: project, sha: '0000') }
let!(:build_pipeline_without_commit) { create(:ci_build, pipeline: pipeline_without_commit, stage: 'test') }
let(:commit) { create(:commit, project: project) }

View File

@ -7,6 +7,7 @@ RSpec.describe 'DeclarativePolicy authorization in GraphQL ' do
include Graphql::ResolverFactories
let_it_be(:user) { create(:user) }
let(:permission_single) { :foo }
let(:permission_collection) { [:foo, :bar] }
let(:test_object) { double(name: 'My name') }

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe GitlabSchema do
let_it_be(:connections) { GitlabSchema.connections.all_wrappers }
let(:user) { build :user }
it 'uses batch loading' do

View File

@ -5,6 +5,7 @@ require 'spec_helper'
RSpec.describe Mutations::CustomEmoji::Create do
let_it_be(:group) { create(:group) }
let_it_be(:user) { create(:user) }
let(:args) { { group_path: group.full_path, name: 'tanuki', url: 'https://about.gitlab.com/images/press/logo/png/gitlab-icon-rgb.png' } }
before do

View File

@ -140,6 +140,7 @@ RSpec.describe Mutations::Discussions::ToggleResolve do
context 'when discussion is on a merge request' do
let_it_be(:noteable) { create(:merge_request, source_project: project) }
let(:discussion) { create(:diff_note_on_merge_request, noteable: noteable, project: project).to_discussion }
it_behaves_like 'a working resolve method'
@ -147,6 +148,7 @@ RSpec.describe Mutations::Discussions::ToggleResolve do
context 'when discussion is on a design' do
let_it_be(:noteable) { create(:design, :with_file, issue: create(:issue, project: project)) }
let(:discussion) { create(:diff_note_on_design, noteable: noteable, project: project).to_discussion }
it_behaves_like 'a working resolve method'

View File

@ -7,6 +7,7 @@ RSpec.describe Mutations::Environments::CanaryIngress::Update do
let_it_be(:environment) { create(:environment, project: project) }
let_it_be(:maintainer) { create(:user) }
let_it_be(:reporter) { create(:user) }
let(:user) { maintainer }
subject(:mutation) { described_class.new(object: nil, context: { current_user: user }, field: nil) }

View File

@ -5,6 +5,7 @@ require 'spec_helper'
RSpec.describe Mutations::Issues::SetSeverity do
let_it_be(:user) { create(:user) }
let_it_be(:issue) { create(:incident) }
let(:mutation) { described_class.new(object: nil, context: { current_user: user }, field: nil) }
specify { expect(described_class).to require_graphql_authorizations(:update_issue) }

View File

@ -45,6 +45,7 @@ RSpec.describe Mutations::Labels::Create do
context 'when creating a project label' do
let_it_be(:parent) { create(:project) }
let(:extra_params) { { project_path: parent.full_path } }
it_behaves_like 'create labels mutation'
@ -52,6 +53,7 @@ RSpec.describe Mutations::Labels::Create do
context 'when creating a group label' do
let_it_be(:parent) { create(:group) }
let(:extra_params) { { group_path: parent.full_path } }
it_behaves_like 'create labels mutation'

View File

@ -12,6 +12,7 @@ RSpec.describe Mutations::Notes::RepositionImageDiffNote do
let_it_be(:noteable) { create(:merge_request) }
let_it_be(:project) { noteable.project }
let(:note) { create(:image_diff_note_on_merge_request, noteable: noteable, project: project) }
let(:mutation) do

View File

@ -9,6 +9,7 @@ RSpec.describe BulkImports::Groups::Loaders::GroupLoader do
let_it_be(:entity) { create(:bulk_import_entity, bulk_import: bulk_import) }
let_it_be(:tracker) { create(:bulk_import_tracker, entity: entity) }
let_it_be(:context) { BulkImports::Pipeline::Context.new(tracker) }
let(:service_double) { instance_double(::Groups::CreateService) }
let(:data) { { foo: :bar } }

View File

@ -9,6 +9,7 @@ RSpec.describe ExtractsPath do
let_it_be(:owner) { create(:user) }
let_it_be(:container) { create(:project, :repository, creator: owner) }
let(:request) { double('request') }
before do

View File

@ -8,6 +8,7 @@ RSpec.describe ExtractsRef do
let_it_be(:owner) { create(:user) }
let_it_be(:container) { create(:snippet, :repository, author: owner) }
let(:ref) { sample_commit[:id] }
let(:params) { { path: sample_commit[:line_code_path], ref: ref } }

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe Gitlab::Cache::Ci::ProjectPipelineStatus, :clean_gitlab_redis_cache do
let_it_be(:project) { create(:project, :repository) }
let(:pipeline_status) { described_class.new(project) }
let(:cache_key) { pipeline_status.cache_key }

View File

@ -7,6 +7,7 @@ RSpec.describe Gitlab::ClosingIssueExtractor do
let_it_be(:project2) { create(:project) }
let_it_be(:issue) { create(:issue, project: project) }
let_it_be(:issue2) { create(:issue, project: project2) }
let(:reference) { issue.to_reference }
let(:cross_reference) { issue2.to_reference(project) }
@ -351,6 +352,7 @@ RSpec.describe Gitlab::ClosingIssueExtractor do
context 'with multiple references' do
let_it_be(:other_issue) { create(:issue, project: project) }
let_it_be(:third_issue) { create(:issue, project: project) }
let(:reference2) { other_issue.to_reference }
let(:reference3) { third_issue.to_reference }

View File

@ -7,6 +7,7 @@ RSpec.describe Gitlab::Composer::Cache do
let_it_be(:json) { { 'name' => package_name } }
let_it_be(:group) { create(:group) }
let_it_be(:project) { create(:project, :custom_repo, files: { 'composer.json' => json.to_json }, group: group) }
let(:branch) { project.repository.find_branch('master') }
let(:sha_regex) { /^[A-Fa-f0-9]{64}$/ }

View File

@ -5,6 +5,7 @@ require 'spec_helper'
RSpec.describe Gitlab::DeployKeyAccess do
let_it_be(:user) { create(:user) }
let_it_be(:deploy_key) { create(:deploy_key, user: user) }
let(:project) { create(:project, :repository) }
let(:protected_branch) { create(:protected_branch, :no_one_can_push, project: project) }

View File

@ -12,6 +12,7 @@ RSpec.describe Gitlab::Email::Handler::ServiceDeskHandler do
let(:email_raw) { email_fixture('emails/service_desk.eml') }
let_it_be(:group) { create(:group, :private, name: "email") }
let(:expected_description) do
"Service desk stuff!\n\n```\na = b\n```\n\n`/label ~label1`\n`/assign @user1`\n`/close`\n![image](uploads/image.png)"
end
@ -178,6 +179,7 @@ RSpec.describe Gitlab::Email::Handler::ServiceDeskHandler do
context 'when using service desk key' do
let_it_be(:service_desk_key) { 'mykey' }
let(:email_raw) { service_desk_fixture('emails/service_desk_custom_address.eml') }
let(:receiver) { Gitlab::Email::ServiceDeskReceiver.new(email_raw) }
@ -209,6 +211,7 @@ RSpec.describe Gitlab::Email::Handler::ServiceDeskHandler do
context 'when there are multiple projects with same key' do
let_it_be(:project_with_same_key) { create(:project, group: group, service_desk_enabled: true) }
let(:email_raw) { service_desk_fixture('emails/service_desk_custom_address.eml', slug: project_with_same_key.full_path_slug.to_s) }
before do

View File

@ -5,6 +5,7 @@ require 'spec_helper'
RSpec.describe Gitlab::GitalyClient::OperationService do
let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project, :repository) }
let(:repository) { project.repository.raw }
let(:client) { described_class.new(repository) }
let(:gitaly_user) { Gitlab::Git::User.from_gitlab(user).to_gitaly }

View File

@ -5,6 +5,7 @@ RSpec.describe Gitlab::GlRepository::RepoType do
let_it_be(:project) { create(:project) }
let_it_be(:personal_snippet) { create(:personal_snippet, author: project.owner) }
let_it_be(:project_snippet) { create(:project_snippet, project: project, author: project.owner) }
let(:project_path) { project.repository.full_path }
let(:wiki_path) { project.wiki.repository.full_path }
let(:design_path) { project.design_repository.full_path }

View File

@ -8,6 +8,7 @@ RSpec.describe Gitlab::GroupSearchResults do
let_it_be(:group) { create(:group) }
let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project, :public, group: group) }
let(:filters) { {} }
let(:limit_projects) { Project.all }
let(:query) { 'gob' }

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe Gitlab::JsonCache do
let_it_be(:broadcast_message) { create(:broadcast_message) }
let(:backend) { double('backend').as_null_object }
let(:namespace) { 'geo' }
let(:key) { 'foo' }

View File

@ -6,6 +6,7 @@ RSpec.describe Gitlab::LanguageDetection do
let_it_be(:project) { create(:project, :repository) }
let_it_be(:ruby) { create(:programming_language, name: 'Ruby') }
let_it_be(:haskell) { create(:programming_language, name: 'Haskell') }
let(:repository) { project.repository }
let(:detection) do
[{ value: 66.63, label: "Ruby", color: "#701516", highlight: "#701516" },

View File

@ -7,6 +7,7 @@ RSpec.describe Gitlab::ProjectSearchResults do
let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project) }
let(:query) { 'hello world' }
let(:repository_ref) { nil }
let(:filters) { {} }
@ -266,6 +267,7 @@ RSpec.describe Gitlab::ProjectSearchResults do
let_it_be(:closed_result) { create(:issue, :closed, project: project, title: 'foo closed') }
let_it_be(:opened_result) { create(:issue, :opened, project: project, title: 'foo opened') }
let_it_be(:confidential_result) { create(:issue, :confidential, project: project, title: 'foo confidential') }
let(:query) { 'foo' }
before do

View File

@ -5,6 +5,7 @@ require 'spec_helper'
RSpec.describe Gitlab::Prometheus::QueryVariables do
describe '.call' do
let_it_be_with_refind(:environment) { create(:environment) }
let(:project) { environment.project }
let(:slug) { environment.slug }
let(:params) { {} }

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe Gitlab::ReactiveCacheSetCache, :clean_gitlab_redis_cache do
let_it_be(:project) { create(:project) }
let(:cache_prefix) { 'cache_prefix' }
let(:expires_in) { 10.minutes }
let(:cache) { described_class.new(expires_in: expires_in) }

View File

@ -315,6 +315,7 @@ RSpec.describe Gitlab::ReferenceExtractor do
describe '#references' do
let_it_be(:user) { create(:user) }
let_it_be(:issue) { create(:issue, project: project) }
let(:text) { "Ref. #{issue.to_reference}" }
subject { described_class.new(project, user) }

View File

@ -11,6 +11,7 @@ RSpec.describe Gitlab::SearchResults do
let_it_be(:project) { create(:project, name: 'foo') }
let_it_be(:issue) { create(:issue, project: project, title: 'foo') }
let_it_be(:milestone) { create(:milestone, project: project, title: 'foo') }
let(:merge_request) { create(:merge_request, source_project: project, title: 'foo') }
let(:query) { 'foo' }
let(:filters) { {} }

View File

@ -5,6 +5,7 @@ require 'stringio'
RSpec.describe Gitlab::Shell do
let_it_be(:project) { create(:project, :repository) }
let(:repository) { project.repository }
let(:gitlab_shell) { described_class.new }

View File

@ -5,6 +5,7 @@ require 'spec_helper'
RSpec.describe AbuseReport do
let_it_be(:report, reload: true) { create(:abuse_report) }
let_it_be(:user, reload: true) { create(:admin) }
subject { report }
it { expect(subject).to be_valid }

View File

@ -100,6 +100,7 @@ RSpec.describe AlertManagement::Alert do
describe 'fingerprint' do
let_it_be(:fingerprint) { 'fingerprint' }
let_it_be(:project3, refind: true) { create(:project) }
let(:new_alert) { build(:alert_management_alert, fingerprint: fingerprint, project: project3) }
subject { new_alert }

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe ChatName do
let_it_be(:chat_name) { create(:chat_name) }
subject { chat_name }
it { is_expected.to belong_to(:integration) }

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe ChatTeam do
let_it_be(:chat_team) { create(:chat_team) }
subject { chat_team }
# Associations

View File

@ -62,6 +62,7 @@ RSpec.describe Clusters::KubernetesNamespace, type: :model do
describe 'namespace uniqueness validation' do
let_it_be(:cluster) { create(:cluster, :project, :provided_by_gcp) }
let(:kubernetes_namespace) { build(:cluster_kubernetes_namespace, cluster: cluster, namespace: 'my-namespace') }
subject { kubernetes_namespace }

View File

@ -6,6 +6,7 @@ RSpec.describe Commit do
let_it_be(:project) { create(:project, :public, :repository) }
let_it_be(:personal_snippet) { create(:personal_snippet, :repository) }
let_it_be(:project_snippet) { create(:project_snippet, :repository) }
let(:commit) { project.commit }
describe 'modules' do

View File

@ -242,6 +242,7 @@ RSpec.describe DeployToken do
context 'and when the token is of group type' do
let_it_be(:group) { create(:group) }
let(:deploy_token) { create(:deploy_token, :group) }
before do

View File

@ -80,6 +80,7 @@ RSpec.describe Deployment do
let_it_be(:staging) { create(:environment, :staging, project: project) }
let_it_be(:other_project) { create(:project, :repository) }
let_it_be(:other_production) { create(:environment, :production, project: other_project) }
let(:environment_name) { production.name }
context 'when deployment belongs to the environment' do
@ -488,6 +489,7 @@ RSpec.describe Deployment do
let_it_be(:project) { create(:project, :repository) }
let_it_be(:commits) { project.repository.commits('master', limit: 2) }
let_it_be(:deployments) { commits.reverse.map { |commit| create(:deployment, project: project, sha: commit.id) } }
let(:sha) { commits.map(&:id) }
it 'finds the latest deployment with sha' do
@ -823,6 +825,7 @@ RSpec.describe Deployment do
describe '#update_merge_request_metrics!' do
let_it_be(:project) { create(:project, :repository) }
let(:environment) { build(:environment, environment_tier, project: project) }
let!(:deployment) { create(:deployment, :success, project: project, environment: environment) }
let!(:merge_request) { create(:merge_request, :simple, :merged_last_month, project: project) }

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe DiffViewer::ServerSide do
let_it_be(:project) { create(:project, :repository) }
let(:commit) { project.commit_by(oid: '570e7b2abdd848b95f2f578043fc23bd6f6fd24d') }
let!(:diff_file) { commit.diffs.diff_file_with_new_path('files/ruby/popen.rb') }

View File

@ -219,6 +219,7 @@ RSpec.describe Environment, :use_clean_rails_memory_store_caching do
let_it_be(:project) { create(:project, :repository) }
let_it_be(:user) { create(:user) }
let(:environments) { Environment.all }
before_all do
@ -760,6 +761,7 @@ RSpec.describe Environment, :use_clean_rails_memory_store_caching do
describe '#last_visible_pipeline' do
let(:user) { create(:user) }
let_it_be(:project) { create(:project, :repository) }
let(:environment) { create(:environment, project: project) }
let(:commit) { project.commit }
@ -1462,6 +1464,7 @@ RSpec.describe Environment, :use_clean_rails_memory_store_caching do
let_it_be(:project) { create(:project, :repository) }
let_it_be(:environment, reload: true) { create(:environment, project: project) }
let!(:deployment) { create(:deployment, project: project, environment: environment, deployable: build) }
let!(:build) { create(:ci_build, :running, project: project, environment: environment) }

View File

@ -28,6 +28,7 @@ RSpec.describe EventCollection do
let_it_be(:closed_issue_event) { create(:closed_issue_event, project: project, author: user) }
let_it_be(:wiki_page_event) { create(:wiki_page_event, project: project) }
let_it_be(:design_event) { create(:design_event, project: project) }
let(:push_events) { push_event_payloads.map(&:event) }
it 'returns an Array of events', :aggregate_failures do

View File

@ -7,6 +7,7 @@ RSpec.describe LabelNote do
let_it_be(:user) { create(:user) }
let_it_be(:label) { create(:label, project: project) }
let_it_be(:label2) { create(:label, project: project) }
let(:resource_parent) { project }
context 'when resource is issue' do

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe LfsFileLock do
let_it_be(:lfs_file_lock, reload: true) { create(:lfs_file_lock) }
subject { lfs_file_lock }
it { is_expected.to belong_to(:project) }

View File

@ -30,6 +30,7 @@ RSpec.describe Member do
context "when an invite email is provided" do
let_it_be(:project) { create(:project) }
let(:member) { build(:project_member, source: project, invite_email: "user@example.com", user: nil) }
it "doesn't require a user" do
@ -98,6 +99,7 @@ RSpec.describe Member do
context 'project bots' do
let_it_be(:project_bot) { create(:user, :project_bot) }
let(:new_member) { build(:project_member, user_id: project_bot.id) }
context 'not a member of any group or project' do

View File

@ -111,6 +111,7 @@ RSpec.describe MergeRequestDiff do
let(:closed_recently) { recently_closed_mr.merge_request_diff }
let_it_be(:recently_merged_mr) { create(:merge_request, :merged) }
let(:merged_recently) { recently_merged_mr.merge_request_diff }
before do

View File

@ -99,6 +99,7 @@ RSpec.describe Namespace::RootStorageStatistics, type: :model do
context 'with a personal namespace' do
let_it_be(:user) { create(:user) }
let(:namespace) { user.namespace }
it_behaves_like 'data refresh'

View File

@ -455,6 +455,7 @@ RSpec.describe Note do
describe "#system_note_viewable_by?(user)" do
let_it_be(:note) { create(:note) }
let_it_be(:user) { create(:user) }
let!(:metadata) { create(:system_note_metadata, note: note, action: "branch") }
context "when system_note_metadata is not present" do
@ -536,6 +537,7 @@ RSpec.describe Note do
context "when there is a reference to a label" do
let_it_be(:private_label) { create(:label, project: private_project) }
let(:note) do
create :note,
noteable: ext_issue, project: ext_proj,
@ -550,6 +552,7 @@ RSpec.describe Note do
context "when there are two references in note" do
let_it_be(:ext_issue2) { create(:issue, project: ext_proj) }
let(:note) do
create :note,
noteable: ext_issue2, project: ext_proj,
@ -1239,6 +1242,7 @@ RSpec.describe Note do
describe 'expiring ETag cache' do
let_it_be(:issue) { create(:issue) }
let(:note) { build(:note, project: issue.project, noteable: issue) }
def expect_expiration(noteable)

View File

@ -51,6 +51,7 @@ RSpec.describe NotificationSetting do
context 'notification_email' do
let_it_be(:user) { create(:user) }
subject { described_class.new(source_id: 1, source_type: 'Project', user_id: user.id) }
it 'allows to change email to verified one' do

View File

@ -251,6 +251,7 @@ RSpec.describe Operations::FeatureFlag do
describe '.for_unleash_client' do
let_it_be(:project) { create(:project) }
let!(:feature_flag) do
create(:operations_feature_flag, project: project,
name: 'feature1', active: true, version: 2)

View File

@ -5,6 +5,7 @@ require 'spec_helper'
RSpec.describe PlanLimits do
let_it_be(:project) { create(:project) }
let_it_be(:plan_limits) { create(:plan_limits) }
let(:project_hooks_count) { 2 }
before do

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe PrometheusAlert do
let_it_be(:project) { build(:project) }
let(:metric) { build(:prometheus_metric) }
describe '.distinct_projects' do

View File

@ -40,6 +40,7 @@ RSpec.describe ProtectedBranch::PushAccessLevel do
let_it_be(:protected_branch) { create(:protected_branch, :no_one_can_push, project: project) }
let_it_be(:user) { create(:user) }
let_it_be(:deploy_key) { create(:deploy_key, user: user) }
let!(:deploy_keys_project) { create(:deploy_keys_project, project: project, deploy_key: deploy_key, can_push: can_push) }
let(:can_push) { true }

View File

@ -41,6 +41,7 @@ RSpec.describe Repository do
describe '#branch_names_contains' do
let_it_be(:project) { create(:project, :repository) }
let(:repository) { project.repository }
subject { repository.branch_names_contains(sample_commit.id) }
@ -398,6 +399,7 @@ RSpec.describe Repository do
describe '#new_commits' do
let_it_be(:project) { create(:project, :repository) }
let(:repository) { project.repository }
subject { repository.new_commits(rev) }
@ -426,6 +428,7 @@ RSpec.describe Repository do
describe '#commits_by' do
let_it_be(:project) { create(:project, :repository) }
let(:oids) { TestEnv::BRANCH_SHA.values }
subject { project.repository.commits_by(oids: oids) }
@ -2984,6 +2987,7 @@ RSpec.describe Repository do
describe '#merge_base' do
let_it_be(:project) { create(:project, :repository) }
subject(:repository) { project.repository }
it 'only makes one gitaly call' do
@ -3082,6 +3086,7 @@ RSpec.describe Repository do
describe "#blobs_metadata" do
let_it_be(:project) { create(:project, :repository) }
let(:repository) { project.repository }
def expect_metadata_blob(thing)

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe SnippetRepository do
let_it_be(:user) { create(:user) }
let(:snippet) { create(:personal_snippet, :repository, author: user) }
let(:snippet_repository) { snippet.snippet_repository }
let(:commit_opts) { { branch_name: 'master', message: 'whatever' } }

View File

@ -722,6 +722,7 @@ RSpec.describe Snippet do
describe '#list_files' do
let_it_be(:snippet) { create(:snippet, :repository) }
let(:ref) { 'test-ref' }
subject { snippet.list_files(ref) }

View File

@ -16,6 +16,7 @@ RSpec.describe Terraform::State do
describe 'scopes' do
describe '.ordered_by_name' do
let_it_be(:project) { create(:project) }
let(:names) { %w(state_d state_b state_a state_c) }
subject { described_class.ordered_by_name }

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe U2fRegistration do
let_it_be(:user) { create(:user) }
let(:u2f_registration) do
device = U2F::FakeU2F.new(FFaker::BaconIpsum.characters(5))
create(:u2f_registration, name: 'u2f_device',

View File

@ -991,6 +991,7 @@ RSpec.describe User do
let_it_be(:valid_token_and_notified) { create(:personal_access_token, user: user2, expires_at: 2.days.from_now, expire_notification_delivered: true) }
let_it_be(:valid_token1) { create(:personal_access_token, user: user2, expires_at: 2.days.from_now) }
let_it_be(:valid_token2) { create(:personal_access_token, user: user2, expires_at: 2.days.from_now) }
let(:users) { described_class.with_expiring_and_not_notified_personal_access_tokens(from) }
context 'in one day' do
@ -4208,6 +4209,7 @@ RSpec.describe User do
describe '#source_groups_of_two_factor_authentication_requirement' do
let_it_be(:group_not_requiring_2FA) { create :group }
let(:user) { create :user }
before do

View File

@ -81,6 +81,7 @@ RSpec.describe API::API do
let_it_be(:maven_metadatum) { package.maven_metadatum }
let_it_be(:package_file) { package.package_files.first }
let_it_be(:deploy_token) { create(:deploy_token) }
let(:headers_with_deploy_token) do
{
Gitlab::Auth::AuthFinders::DEPLOY_TOKEN_HEADER => deploy_token.token
@ -138,6 +139,7 @@ RSpec.describe API::API do
describe 'Marginalia comments' do
context 'GET /user/:id' do
let_it_be(:user) { create(:user) }
let(:component_map) do
{
"application" => "test",

View File

@ -8,6 +8,7 @@ RSpec.describe API::AwardEmoji do
let_it_be(:issue) { create(:issue, project: project) }
let_it_be(:award_emoji) { create(:award_emoji, awardable: issue, user: user) }
let_it_be(:note) { create(:note, project: project, noteable: issue) }
let!(:merge_request) { create(:merge_request, source_project: project, target_project: project) }
let!(:downvote) { create(:award_emoji, :downvote, awardable: merge_request, user: user) }

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe API::Branches do
let_it_be(:user) { create(:user) }
let(:project) { create(:project, :repository, creator: user, path: 'my.project') }
let(:guest) { create(:user).tap { |u| project.add_guest(u) } }
let(:branch_name) { 'feature' }

View File

@ -491,6 +491,7 @@ RSpec.describe API::Ci::Pipelines do
describe 'GET /projects/:id/pipelines/:pipeline_id/bridges' do
let_it_be(:bridge) { create(:ci_bridge, pipeline: pipeline) }
let(:downstream_pipeline) { create(:ci_pipeline) }
let!(:pipeline_source) do

View File

@ -9,6 +9,7 @@ RSpec.describe API::ComposerPackages do
let_it_be(:personal_access_token) { create(:personal_access_token, user: user) }
let_it_be(:package_name) { 'package-name' }
let_it_be(:project, reload: true) { create(:project, :custom_repo, files: { 'composer.json' => { name: package_name }.to_json }, group: group) }
let(:snowplow_gitlab_standard_context) { { project: project, namespace: project.namespace, user: user } }
let(:headers) { {} }

View File

@ -7,6 +7,7 @@ RSpec.describe API::DeployTokens do
let_it_be(:creator) { create(:user) }
let_it_be(:project) { create(:project, creator_id: creator.id) }
let_it_be(:group) { create(:group) }
let!(:deploy_token) { create(:deploy_token, projects: [project]) }
let!(:revoked_deploy_token) { create(:deploy_token, projects: [project], revoked: true) }
let!(:expired_deploy_token) { create(:deploy_token, projects: [project], expires_at: '1988-01-11T04:33:04-0600') }

View File

@ -456,6 +456,7 @@ RSpec.describe API::Deployments do
context 'when a user member of the deployment project' do
let_it_be(:project2) { create(:project) }
let!(:merge_request1) { create(:merge_request, source_project: project, target_project: project) }
let!(:merge_request2) { create(:merge_request, source_project: project, target_project: project, state: 'closed') }
let!(:merge_request3) { create(:merge_request, source_project: project2, target_project: project2) }

View File

@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe API::ErrorTracking do
let_it_be(:user) { create(:user) }
let(:setting) { create(:project_error_tracking_setting) }
let(:project) { setting.project }

Some files were not shown because too many files have changed in this diff Show More