rspec unit pg13 single-db 25/28
Passed Started
by
@fabiopitino
Fabio Pitino
1Running with gitlab-runner 16.1.0~beta.5.gf131a6a2 (f131a6a2)2 on blue-3.private.runners-manager.gitlab.com/gitlab.com/gitlab-org 6io2xoDD, system ID: s_8f94f77602233 feature flags: FF_NETWORK_PER_BUILD:true, FF_USE_FASTZIP:true, FF_USE_IMPROVED_URL_MASKING:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-18.16-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 ...8Authenticating with credentials from job payload (GitLab Registry)9Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 ...10Using docker image sha256:73740c557807c4bc5d692f263c0e35454270600da4b22bbe952331411426c8b5 for registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:3174001f839c42e299ac06a42f8ded446edfcb33b0eb820874749a3f53eb799c ...11WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.12WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.13Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 ...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 ...16Using docker image sha256:a9a90ece30d9630d694ab1997cd103ea8ec729789451b983a75c7b58b0062d45 for registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:7ef36177d5d0bc554fbb63d8210ae751bcc538bea7905b51d078d9ab90a755fa ...17Starting service redis:6.2-alpine ...18Pulling docker image redis:6.2-alpine ...19Using docker image sha256:85fd7bd884b6493c8eb6f4dffbe5406d97cce56aff84f1580a5eb5b9d841f158 for redis:6.2-alpine with digest redis@sha256:87c44d5d9f472e767c8737f4130c765d77bdc95c7472d6427cfc9d4632f12da6 ...20Waiting for services to be up and running (timeout 30 seconds)...21Authenticating with credentials from job payload (GitLab Registry)22Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-18.16-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...23Using docker image sha256:61b59025d0d646cd177f654d8f81df859675be528f37dcc2ce6f39a49c7a5dd9 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-18.16-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-18.16-postgresql-13@sha256:25367d41b1034f1ecacfc9cb8eebc70cb30c6fdade3781cf295488255bf61614 ...25Running on runner-6io2xodd-project-278964-concurrent-0 via runner-6io2xodd-private-1685682184-12824cff...27Fetching changes with git depth set to 20...28Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/29Created fresh repository.30remote: Enumerating objects: 139970, done. 31remote: Counting objects: 100% (139970/139970), done. 32remote: Compressing objects: 100% (94736/94736), done. 33remote: Total 139970 (delta 61223), reused 92025 (delta 39894), pack-reused 0 34Receiving objects: 100% (139970/139970), 123.36 MiB | 30.89 MiB/s, done.35Resolving deltas: 100% (61223/61223), done.37 * [new ref] refs/pipelines/887306308 -> refs/pipelines/88730630838Checking out 95754c79 as detached HEAD (ref is refs/merge-requests/122015/merge)...39Skipping Git submodules setup40$ git remote set-url origin "${CI_REPOSITORY_URL}"42Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...43Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-debian-bullseye-ruby-3.0-16 44Successfully extracted cache46Downloading artifacts for compile-test-assets (4400964016)...47Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4400964016 responseStatus=200 OK token=64_fbnds48Downloading artifacts for detect-tests (4400964025)...49Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4400964025 responseStatus=200 OK token=64_fbnds50Downloading artifacts for retrieve-tests-metadata (4400964028)...51Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4400964028 responseStatus=200 OK token=64_fbnds52Downloading artifacts for setup-test-env (4400964019)...53Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4400964019 responseStatus=200 OK token=64_fbnds55Using docker image sha256:61b59025d0d646cd177f654d8f81df859675be528f37dcc2ce6f39a49c7a5dd9 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-18.16-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-18.16-postgresql-13@sha256:25367d41b1034f1ecacfc9cb8eebc70cb30c6fdade3781cf295488255bf61614 ...56$ echo $FOSS_ONLY57$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb58$ export GOPATH=$CI_PROJECT_DIR/.go59$ mkdir -p $GOPATH60$ source scripts/utils.sh61$ source scripts/prepare_build.sh716Using decomposed database config (config/database.yml.postgresql)717Disabling ci connection in config/database.yml718Geo DB won't be set up.719Embedding DB won't be set up.731$ source ./scripts/rspec_helpers.sh732$ run_timed_command "gem install knapsack --no-document"733$ gem install knapsack --no-document734Successfully installed knapsack-4.0.07351 gem installed736==> 'gem install knapsack --no-document' succeeded in 0 seconds.737$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"739$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"744$ echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-spawn\r\e[0K"745$ rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"746SKIP_FLAKY_TESTS_AUTOMATICALLY: 747RETRY_FAILED_TESTS_IN_NEW_PROCESS: true748KNAPSACK_GENERATE_REPORT: true749FLAKY_RSPEC_GENERATE_REPORT: true750KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,components,config,contracts,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,lib,metrics_server,models,policies,presenters,rack_servers,replicators,routing,rubocop,scripts,serializers,services,sidekiq,sidekiq_cluster,spam,support_specs,tasks,uploaders,validators,views,workers,tooling}{,/**/}*_spec.rb751KNAPSACK_LOG_LEVEL: debug752KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg13_single-db_25_28_report.json753FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json754FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg13_single-db_25_28_report.json755NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg13_single-db_25_28_report.json756SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests_rspec_unit_pg13_single-db_25_28.txt757CRYSTALBALL: 758RSPEC_TESTS_MAPPING_ENABLED: 759RSPEC_TESTS_FILTER_FILE: 760Running command: bundle exec rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format Support::Formatters::JsonFormatter --out rspec/rspec-4400964302.json --format RspecJunitFormatter --out rspec/rspec-4400964302.xml --tag ~quarantine --tag ~level:background_migration -- spec/services/quick_actions/interpret_service_spec.rb spec/models/concerns/noteable_spec.rb spec/lib/gitlab/middleware/go_spec.rb spec/services/projects/fork_service_spec.rb spec/finders/snippets_finder_spec.rb spec/lib/gitlab/git_access_snippet_spec.rb spec/services/issues/relative_position_rebalancing_service_spec.rb spec/services/merge_requests/merge_to_ref_service_spec.rb spec/services/users/migrate_records_to_ghost_user_service_spec.rb spec/lib/banzai/filter/references/commit_reference_filter_spec.rb spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb spec/models/remote_mirror_spec.rb spec/lib/gitlab/background_migration/encrypt_integration_properties_spec.rb spec/presenters/ci/build_runner_presenter_spec.rb spec/finders/merge_request_target_project_finder_spec.rb spec/lib/gitlab/checks/branch_check_spec.rb spec/models/hooks/service_hook_spec.rb spec/lib/gitlab/background_migration/backfill_admin_mode_scope_for_personal_access_tokens_spec.rb spec/views/projects/merge_requests/edit.html.haml_spec.rb spec/tasks/gitlab/db_rake_spec.rb spec/services/todos/destroy/group_private_service_spec.rb spec/services/submodules/update_service_spec.rb spec/lib/gitlab/ci/status/external/factory_spec.rb spec/services/ci/pipeline_creation/cancel_redundant_pipelines_service_spec.rb spec/lib/gitlab/search/found_blob_spec.rb spec/policies/blob_policy_spec.rb spec/helpers/tab_helper_spec.rb spec/models/integrations/webex_teams_spec.rb spec/services/ci/stuck_builds/drop_running_service_spec.rb spec/models/concerns/routable_spec.rb spec/models/clusters/agents/authorizations/user_access/group_authorization_spec.rb spec/services/packages/conan/search_service_spec.rb spec/services/discussions/update_diff_position_service_spec.rb spec/services/alert_management/alerts/update_service_spec.rb spec/graphql/mutations/dependency_proxy/image_ttl_group_policy/update_spec.rb spec/finders/starred_projects_finder_spec.rb spec/views/notify/pipeline_success_email.text.erb_spec.rb spec/uploaders/terraform/state_uploader_spec.rb spec/lib/gitlab/github_import/importer/releases_importer_spec.rb spec/lib/gitlab/database/load_balancing/connection_proxy_spec.rb spec/lib/gitlab/ci/config/external/file/project_spec.rb spec/lib/gitlab/content_security_policy/config_loader_spec.rb spec/services/deployments/older_deployments_drop_service_spec.rb spec/lib/gitlab/optimistic_locking_spec.rb spec/finders/projects/members/effective_access_level_finder_spec.rb spec/models/user_detail_spec.rb spec/models/ci/build_report_result_spec.rb spec/models/import_export_upload_spec.rb spec/models/instance_configuration_spec.rb spec/services/ci/stuck_builds/drop_scheduled_service_spec.rb spec/finders/projects/groups_finder_spec.rb spec/finders/contributed_projects_finder_spec.rb spec/lib/error_tracking/sentry_client/projects_spec.rb spec/lib/gitlab/data_builder/deployment_spec.rb spec/serializers/issue_sidebar_basic_entity_spec.rb spec/workers/stuck_merge_jobs_worker_spec.rb spec/lib/gitlab/ci/pipeline/chain/ensure_environments_spec.rb spec/workers/container_registry/migration/observer_worker_spec.rb spec/lib/gitlab/pagination_delegate_spec.rb spec/services/work_items/export_csv_service_spec.rb spec/lib/gitlab/ci/config/external/file/remote_spec.rb spec/services/ci/job_token_scope/add_project_service_spec.rb spec/models/customer_relations/issue_contact_spec.rb spec/lib/gitlab/issuable/clone/attributes_rewriter_spec.rb spec/lib/gitlab/ci/templates/themekit_gitlab_ci_yaml_spec.rb spec/lib/mattermost/session_spec.rb spec/services/users/assigned_issues_count_service_spec.rb spec/lib/gitlab/database/async_constraints/migration_helpers_spec.rb spec/lib/gitlab/diff/highlight_cache_spec.rb spec/workers/background_migration/ci_database_worker_spec.rb spec/lib/sidebars/user_profile/menus/contributed_projects_menu_spec.rb spec/serializers/paginated_diff_entity_spec.rb spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb spec/lib/gitlab/ci/config/yaml_spec.rb spec/lib/bitbucket_server/representation/pull_request_spec.rb spec/finders/metrics/users_starred_dashboards_finder_spec.rb spec/lib/gitlab/email/message/in_product_marketing/base_spec.rb spec/policies/personal_access_token_policy_spec.rb spec/lib/gitlab/ci/reports/security/identifier_spec.rb spec/lib/api/helpers/packages/npm_spec.rb spec/presenters/ci/pipeline_artifacts/code_quality_mr_diff_presenter_spec.rb spec/serializers/diff_file_metadata_entity_spec.rb spec/services/wiki_pages/event_create_service_spec.rb spec/workers/remove_unaccepted_member_invites_worker_spec.rb spec/lib/banzai/filter/inline_observability_filter_spec.rb spec/services/members/import_project_team_service_spec.rb spec/services/personal_access_tokens/rotate_service_spec.rb spec/models/web_ide_terminal_spec.rb spec/lib/sidebars/user_profile/menus/groups_menu_spec.rb spec/services/milestones/issues_count_service_spec.rb spec/services/prometheus/proxy_variable_substitution_service_spec.rb spec/tooling/lib/tooling/mappings/partial_to_views_mappings_spec.rb spec/graphql/types/ci/job_type_spec.rb spec/lib/sidebars/admin/menus/system_hooks_menu_spec.rb spec/presenters/dev_ops_report/metric_presenter_spec.rb spec/services/incident_management/link_alerts/destroy_service_spec.rb spec/services/design_management/move_designs_service_spec.rb spec/models/blob_viewer/license_spec.rb spec/workers/concerns/gitlab/github_import/rescheduling_methods_spec.rb spec/views/projects/settings/merge_requests/show.html.haml_spec.rb spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb spec/finders/packages/pypi/packages_finder_spec.rb spec/services/ci/create_pipeline_service/tags_spec.rb spec/models/integrations/chat_message/note_message_spec.rb spec/lib/gitlab/ci/templates/terraform_module_gitlab_ci_yaml_spec.rb spec/models/integrations/assembla_spec.rb spec/lib/gitlab/gitaly_client/call_spec.rb spec/services/work_items/delete_service_spec.rb spec/rubocop/cop/migration/sidekiq_queue_migrate_spec.rb spec/lib/gitlab/git/blame_mode_spec.rb spec/serializers/merge_request_user_entity_spec.rb spec/workers/merge_requests/handle_assignees_change_worker_spec.rb spec/models/ci/pipeline_variable_spec.rb spec/workers/projects/import_export/relation_export_worker_spec.rb spec/lib/gitlab/legacy_github_import/label_formatter_spec.rb spec/lib/gitlab/database_importers/common_metrics/importer_spec.rb spec/lib/gitlab/ci/build/credentials/registry/gitlab_registry_spec.rb spec/lib/gitlab/graphql/pagination/array_connection_spec.rb spec/lib/gitlab/grape_logging/loggers/exception_logger_spec.rb spec/finders/packages/go/module_finder_spec.rb spec/services/packages/debian/extract_changes_metadata_service_spec.rb spec/initializers/sidekiq_spec.rb spec/services/projects/lfs_pointers/lfs_link_service_spec.rb spec/services/discussions/unresolve_service_spec.rb spec/lib/gitlab/ci/reports/reports_comparer_spec.rb spec/lib/gitlab/ci/status/build/manual_spec.rb spec/tooling/lib/tooling/find_tests_spec.rb spec/services/files/base_service_spec.rb spec/models/concerns/subquery_spec.rb spec/finders/incident_management/timeline_events_finder_spec.rb spec/lib/gitlab/ci/build/artifacts/path_spec.rb spec/lib/banzai/reference_parser/mentioned_group_parser_spec.rb spec/lib/gitlab/diff/stats_cache_spec.rb spec/graphql/mutations/issues/set_subscription_spec.rb spec/lib/gitlab/utils/delegator_override/validator_spec.rb spec/rubocop/cop/prefer_class_methods_over_module_spec.rb spec/lib/sidebars/user_settings/menus/preferences_menu_spec.rb spec/lib/atlassian/jira_connect/serializers/pull_request_entity_spec.rb spec/graphql/mutations/alert_management/prometheus_integration/update_spec.rb spec/workers/invalid_gpg_signature_update_worker_spec.rb spec/sidekiq_cluster/sidekiq_cluster_spec.rb spec/lib/gitlab/middleware/speedscope_spec.rb spec/models/packages/debian/project_architecture_spec.rb spec/services/metrics/dashboard/gitlab_alert_embed_service_spec.rb spec/lib/atlassian/jira_connect/serializers/repository_entity_spec.rb spec/graphql/types/base_edge_spec.rb spec/services/clusters/cleanup/service_account_service_spec.rb spec/services/work_items/widgets/notifications_service/update_service_spec.rb spec/lib/bulk_imports/pipeline_spec.rb spec/serializers/clusters/kubernetes_error_entity_spec.rb spec/lib/gitlab/error_tracking/processor/sanitizer_processor_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_ml_candidates_metric_spec.rb spec/graphql/mutations/terraform/state/unlock_spec.rb spec/lib/gitlab/middleware/rack_multipart_tempfile_factory_spec.rb spec/models/concerns/delete_with_limit_spec.rb spec/serializers/import/fogbugz_provider_repo_entity_spec.rb spec/lib/gitlab/database/unidirectional_copy_trigger_spec.rb spec/db/production/create_base_work_item_types_spec.rb spec/lib/gitlab/github_gists_import/representation/gist_spec.rb spec/lib/gitlab/gon_helper_spec.rb spec/lib/gitlab/ci/build/policy_spec.rb spec/workers/ci/retry_pipeline_worker_spec.rb spec/models/integrations/zentao_tracker_data_spec.rb spec/graphql/resolvers/metrics/dashboard_resolver_spec.rb spec/views/shared/projects/_list.html.haml_spec.rb spec/graphql/mutations/environments/canary_ingress/update_spec.rb spec/lib/gitlab/ci/status/build/created_spec.rb spec/graphql/types/snippets/blob_action_enum_spec.rb spec/rubocop/cop/gitlab/feature_available_usage_spec.rb spec/lib/gitlab/gitaly_client/health_check_service_spec.rb spec/finders/uploader_finder_spec.rb spec/services/boards/destroy_service_spec.rb spec/initializers/net_http_patch_spec.rb spec/rubocop/cop/migration/add_columns_to_wide_tables_spec.rb spec/lib/gitlab/build_access_spec.rb spec/lib/gitlab/bitbucket_server_import/importers/lfs_objects_importer_spec.rb spec/services/projects/schedule_bulk_repository_shard_moves_service_spec.rb spec/services/google_cloud/enable_cloudsql_service_spec.rb spec/views/admin/identities/index.html.haml_spec.rb spec/helpers/breadcrumbs_helper_spec.rb spec/lib/api/entities/branch_spec.rb spec/lib/gitlab/ci/artifacts/metrics_spec.rb spec/lib/sidebars/user_settings/menus/emails_menu_spec.rb spec/lib/gitlab/terraform/state_migration_helper_spec.rb spec/lib/gitlab/config/entry/configurable_spec.rb spec/services/users/dismiss_callout_service_spec.rb spec/policies/group_deploy_keys_group_policy_spec.rb spec/db/production/create_work_item_hierarchy_restrictions_spec.rb spec/workers/x509_certificate_revoke_worker_spec.rb spec/helpers/startupjs_helper_spec.rb spec/services/applications/create_service_spec.rb spec/serializers/feature_flag_summary_serializer_spec.rb spec/lib/gitlab/cycle_analytics/summary/value_spec.rb spec/bin/diagnostic_reports_uploader_spec.rb spec/lib/gitlab/event_store/event_spec.rb spec/serializers/build_trace_entity_spec.rb spec/views/shared/milestones/_top.html.haml_spec.rb spec/graphql/types/alert_management/alert_type_spec.rb spec/lib/gitlab/ci/reports/security/finding_signature_spec.rb spec/lib/gitlab/import_export/import_export_spec.rb spec/workers/pages_domain_verification_worker_spec.rb spec/tooling/lib/tooling/test_map_packer_spec.rb spec/lib/bitbucket_server/page_spec.rb spec/lib/bitbucket_server/paginator_spec.rb spec/support_specs/capybara_wait_for_all_requests_spec.rb spec/lib/gitlab/app_text_logger_spec.rb spec/serializers/impersonation_access_token_serializer_spec.rb spec/services/product_analytics/build_activity_graph_service_spec.rb spec/views/import/gitlab_projects/new.html.haml_spec.rb spec/uploaders/packages/npm/metadata_cache_uploader_spec.rb spec/lib/gitlab/cross_project_access/class_methods_spec.rb spec/lib/sidebars/projects/super_sidebar_menus/monitor_menu_spec.rb spec/lib/bitbucket/connection_spec.rb spec/scripts/pipeline/create_test_failure_issues_spec.rb spec/lib/sidebars/groups/super_sidebar_menus/secure_menu_spec.rb spec/graphql/types/notes/discussion_type_spec.rb spec/models/groups/feature_setting_spec.rb spec/lib/gitlab/database/load_balancing/action_cable_callbacks_spec.rb spec/lib/gitlab/webpack/graphql_known_operations_spec.rb spec/lib/sidebars/projects/super_sidebar_menus/manage_menu_spec.rb spec/models/badges/group_badge_spec.rb spec/services/import/gitlab_projects/file_acquisition_strategies/file_upload_spec.rb spec/helpers/ssh_keys_helper_spec.rb spec/rubocop/cop/gemspec/avoid_executing_git_spec.rb spec/lib/gitlab/ci/reports/security/scan_spec.rb spec/services/projects/import_error_filter_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_ci_runners_instance_type_active_online_metric_spec.rb spec/services/ci/change_variables_service_spec.rb spec/lib/gitlab/kubernetes/role_spec.rb spec/workers/ci/schedule_delete_objects_cron_worker_spec.rb spec/workers/todos_destroyer/private_features_worker_spec.rb spec/graphql/types/eventable_type_spec.rb spec/lib/gitlab/memory/watchdog/handlers/null_handler_spec.rb spec/rubocop/cop/gitlab/except_spec.rb spec/graphql/types/ci/runner_countable_connection_type_spec.rb spec/graphql/resolvers/packages_base_resolver_spec.rb spec/graphql/types/ci/job_artifact_file_type_enum_spec.rb spec/tooling/danger/specs/project_factory_suggestion_spec.rb spec/lib/gitlab/gitaly_client/diff_stitcher_spec.rbKnapsack report generator started!761warning: parser/current is loading parser/ruby30, which recognizes 3.0.5-compliant syntax, but you are running 3.0.6.763/builds/gitlab-org/gitlab/lib/gitlab.rb:47: warning: already initialized constant Gitlab::APP_DIRS_PATTERN764/builds/gitlab-org/gitlab/lib/gitlab.rb:47: warning: previous definition of APP_DIRS_PATTERN was here765/builds/gitlab-org/gitlab/lib/gitlab.rb:48: warning: already initialized constant Gitlab::VERSION766/builds/gitlab-org/gitlab/lib/gitlab.rb:48: warning: previous definition of VERSION was here767/builds/gitlab-org/gitlab/lib/gitlab.rb:49: warning: already initialized constant Gitlab::INSTALLATION_TYPE768/builds/gitlab-org/gitlab/lib/gitlab.rb:49: warning: previous definition of INSTALLATION_TYPE was here769/builds/gitlab-org/gitlab/lib/gitlab.rb:50: warning: already initialized constant Gitlab::HTTP_PROXY_ENV_VARS770/builds/gitlab-org/gitlab/lib/gitlab.rb:50: warning: previous definition of HTTP_PROXY_ENV_VARS was here771Run options: exclude {:quarantine=>true, :level=>"background_migration"}772Test environment set up in 0.644155826 seconds773QuickActions::InterpretService774 #execute775 limits to commands passed776 preserves leading whitespace777 tracks MAU for commands778 move issue command779 returns the move issue message780 returns move issue failure message when the referenced issue is not found781 behaves like reopen command782 returns state_event: "reopen" if content contains /reopen783 returns the reopen message784 behaves like reopen command785 returns state_event: "reopen" if content contains /reopen786 returns the reopen message787 behaves like close command788 returns state_event: "close" if content contains /close789 returns the close message790 behaves like close command791 returns state_event: "close" if content contains /close792 returns the close message793 merge command794 behaves like merge immediately command795 runs merge command if content contains /merge796 returns them merge message797 when the head pipeline of merge request is running798 behaves like merge automatically command799 runs merge command if content contains /merge and returns merge message800 can not be merged when logged user does not have permissions801 behaves like failed command802 populates {} if content contains an unsupported command803 returns Could not apply merge command. message804 can not be merged when sha does not match805 behaves like failed command806 populates {} if content contains an unsupported command807 returns Branch has been updated since the merge was requested. message808 when sha is missing809 behaves like failed command810 populates {} if content contains an unsupported command811 returns The `/merge` quick action requires the SHA of the head of the branch. message812 issue can not be merged813 behaves like failed command814 populates {} if content contains an unsupported command815 returns Could not apply merge command. message816 non persisted merge request cant be merged817 behaves like failed command818 populates {} if content contains an unsupported command819 returns Could not apply merge command. message820 not persisted merge request can not be merged821 behaves like failed command822 populates {} if content contains an unsupported command823 returns Could not apply merge command. message824 behaves like title command825 populates title: "A brand new title" if content contains /title A brand new title826 returns the title message827 behaves like title command828 populates title: "A brand new title" if content contains /title A brand new title829 returns the title message830 behaves like failed command831 populates {} if content contains an unsupported command832 returns an empty message833 assign command with one user834 behaves like assign command835 assigns to me836 does not assign to group members837 assigns to users with escaped underscores838 assigns to a single user839 returns the assign message840 when there are too many references841 says what went wrong842 when the user extractor raises an uninticipated error843 tracks the exception in dev, and reports a generic message in production844 when the reference does not match the exact case845 assigns to the user846 when the user has a private profile847 assigns to the user848 behaves like assign command849 assigns to me850 does not assign to group members851 assigns to users with escaped underscores852 assigns to a single user853 returns the assign message854 when there are too many references855 says what went wrong856 when the user extractor raises an uninticipated error857 tracks the exception in dev, and reports a generic message in production858 when the reference does not match the exact case859 assigns to the user860 when the user has a private profile861 assigns to the user862 behaves like assign command863 assigns to me864 does not assign to group members865 assigns to users with escaped underscores866 assigns to a single user867 returns the assign message868 when there are too many references869 says what went wrong870 when the user extractor raises an uninticipated error871 tracks the exception in dev, and reports a generic message in production872 when the reference does not match the exact case873 assigns to the user874 when the user has a private profile875 assigns to the user876 assign command with multiple assignees877 behaves like assigns to one of the two users878 assigns to a single user879 behaves like assigns to one of the two users880 assigns to a single user881 assign command with me alias882 behaves like assign command883 assigns to me884 does not assign to group members885 assigns to users with escaped underscores886 assigns to a single user887 returns the assign message888 when there are too many references889 says what went wrong890 when the user extractor raises an uninticipated error891 tracks the exception in dev, and reports a generic message in production892 when the reference does not match the exact case893 assigns to the user894 when the user has a private profile895 assigns to the user896 behaves like assign command897 assigns to me898 does not assign to group members899 assigns to users with escaped underscores900 assigns to a single user901 returns the assign message902 when there are too many references903 says what went wrong904 when the user extractor raises an uninticipated error905 tracks the exception in dev, and reports a generic message in production906 when the reference does not match the exact case907 assigns to the user908 when the user has a private profile909 assigns to the user910 assign command with me alias and whitespace911 behaves like assign command912 assigns to me913 does not assign to group members914 assigns to users with escaped underscores915 assigns to a single user916 returns the assign message917 when there are too many references918 says what went wrong919 when the user extractor raises an uninticipated error920 tracks the exception in dev, and reports a generic message in production921 when the reference does not match the exact case922 assigns to the user923 when the user has a private profile924 assigns to the user925 behaves like assign command926 assigns to me927 does not assign to group members928 assigns to users with escaped underscores929 assigns to a single user930 returns the assign message931 when there are too many references932 says what went wrong933 when the user extractor raises an uninticipated error934 tracks the exception in dev, and reports a generic message in production935 when the reference does not match the exact case936 assigns to the user937 when the user has a private profile938 assigns to the user939 behaves like failed command940 populates {} if content contains an unsupported command941 returns a parse error message942 behaves like failed command943 populates {} if content contains an unsupported command944 returns Failed to assign a user because no user was found. message945 assign_reviewer command946 with one user947 behaves like assign_reviewer command948 assigns a reviewer to a single user949 with an issue instead of a merge request950 behaves like failed command951 populates {} if content contains an unsupported command952 returns Could not apply assign_reviewer command. message953 assign command with multiple assignees954 assigns to one of the two users955 assigns to a single reviewer956 with "me" alias957 behaves like assign_reviewer command958 assigns a reviewer to a single user959 with an alias and whitespace960 behaves like assign_reviewer command961 assigns a reviewer to a single user962 with @all963 behaves like failed command964 populates {} if content contains an unsupported command965 returns a parse error message966 with an incorrect user967 behaves like failed command968 populates {} if content contains an unsupported command969 returns a parse error message970 with the "reviewer" alias971 behaves like assign_reviewer command972 assigns a reviewer to a single user973 with the "request_review" alias974 behaves like assign_reviewer command975 assigns a reviewer to a single user976 with no user977 behaves like failed command978 populates {} if content contains an unsupported command979 returns Failed to assign a reviewer because no user was specified. message980 with extra text981 behaves like failed command982 populates {} if content contains an unsupported command983 returns a parse error message984 unassign_reviewer command985 with one user986 behaves like unassign_reviewer command987 removes a single reviewer988 with an issue instead of a merge request989 behaves like failed command990 populates {} if content contains an unsupported command991 returns Could not apply unassign_reviewer command. message992 with anything after the command993 behaves like unassign_reviewer command994 removes a single reviewer995 with the "remove_reviewer" alias996 behaves like unassign_reviewer command997 removes a single reviewer998 with no user999 behaves like unassign_reviewer command1000 removes a single reviewer1001 unassign command1002 Issue1003 populates assignee_ids: [] if content contains /unassign1004 returns the unassign message for all the assignee if content contains /unassign1005 Merge Request1006 populates assignee_ids: [] if content contains /unassign1007 returns the unassign message for all the assignee if content contains /unassign1008 project milestones1009 behaves like milestone command1010 fetches milestone and populates milestone_id if content contains /milestone1011 returns the milestone message1012 returns empty milestone message when milestone is wrong1013 behaves like milestone command1014 fetches milestone and populates milestone_id if content contains /milestone1015 returns the milestone message1016 returns empty milestone message when milestone is wrong1017 only group milestones available1018 behaves like milestone command1019 fetches milestone and populates milestone_id if content contains /milestone1020 returns the milestone message1021 returns empty milestone message when milestone is wrong1022 behaves like milestone command1023 fetches milestone and populates milestone_id if content contains /milestone1024 returns the milestone message1025 returns empty milestone message when milestone is wrong1026 behaves like remove_milestone command1027 populates milestone_id: nil if content contains /remove_milestone1028 returns removed milestone message1029 behaves like remove_milestone command1030 populates milestone_id: nil if content contains /remove_milestone1031 returns removed milestone message1032 behaves like label command1033 fetches label ids and populates add_label_ids if content contains /label1034 returns the label message1035 behaves like label command1036 fetches label ids and populates add_label_ids if content contains /label1037 returns the label message1038 with a colon label1039 when quoted1040 behaves like label command1041 fetches label ids and populates add_label_ids if content contains /label1042 returns the label message1043 behaves like label command1044 fetches label ids and populates add_label_ids if content contains /label1045 returns the label message1046 when unquoted1047 behaves like label command1048 fetches label ids and populates add_label_ids if content contains /label1049 returns the label message1050 behaves like label command1051 fetches label ids and populates add_label_ids if content contains /label1052 returns the label message1053 with a scoped label1054 when quoted1055 behaves like label command1056 fetches label ids and populates add_label_ids if content contains /label1057 returns the label message1058 behaves like label command1059 fetches label ids and populates add_label_ids if content contains /label1060 returns the label message1061 when unquoted1062 behaves like label command1063 fetches label ids and populates add_label_ids if content contains /label1064 returns the label message1065 behaves like label command1066 fetches label ids and populates add_label_ids if content contains /label1067 returns the label message1068 behaves like multiple label command1069 fetches label ids and populates add_label_ids if content contains multiple /label1070 behaves like multiple label with same argument1071 prevents duplicate label ids and populates add_label_ids if content contains multiple /label1072 behaves like multiword label name starting without ~1073 fetches label ids and populates add_label_ids if content contains /label1074 behaves like multiword label name starting without ~1075 fetches label ids and populates add_label_ids if content contains /label1076 behaves like label name is included in the middle of another label name1077 ignores the sublabel when the content contains the includer label name1078 behaves like label name is included in the middle of another label name1079 ignores the sublabel when the content contains the includer label name1080 behaves like unlabel command1081 fetches label ids and populates remove_label_ids if content contains /unlabel1082 returns the unlabel message1083 behaves like unlabel command1084 fetches label ids and populates remove_label_ids if content contains /unlabel1085 returns the unlabel message1086 behaves like multiple unlabel command1087 fetches label ids and populates remove_label_ids if content contains mutiple /unlabel1088 behaves like unlabel command with no argument1089 populates label_ids: [] if content contains /unlabel with no arguments1090 behaves like unlabel command with no argument1091 populates label_ids: [] if content contains /unlabel with no arguments1092 behaves like relabel command1093 populates label_ids: [] if content contains /relabel1094 returns the relabel message1095 behaves like relabel command1096 populates label_ids: [] if content contains /relabel1097 returns the relabel message1098 behaves like done command1099 populates todo_event: "done" if content contains /done1100 returns the done message1101 behaves like done command1102 populates todo_event: "done" if content contains /done1103 returns the done message1104 behaves like subscribe command1105 populates subscription_event: "subscribe" if content contains /subscribe1106 returns the subscribe message1107 behaves like subscribe command1108 populates subscription_event: "subscribe" if content contains /subscribe1109 returns the subscribe message1110 behaves like unsubscribe command1111 populates subscription_event: "unsubscribe" if content contains /unsubscribe1112 returns the unsubscribe message1113 behaves like unsubscribe command1114 populates subscription_event: "unsubscribe" if content contains /unsubscribe1115 returns the unsubscribe message1116 behaves like failed command1117 populates {} if content contains an unsupported command1118 returns Could not apply due command. message1119 behaves like remove_due_date command1120 populates due_date: nil if content contains /remove_due_date1121 returns Removed the due date1122 behaves like draft command1123 returns wip_event: "draft"1124 returns the draft message1125 behaves like draft/ready command no action1126 returns the no action message if there is no change to the status1127 behaves like draft/ready command no action1128 returns the no action message if there is no change to the status1129 behaves like ready command1130 returns wip_event: "ready"1131 returns the ready message1132 behaves like failed command1133 populates {} if content contains an unsupported command1134 returns Could not apply remove_due_date command. message1135 behaves like estimate command1136 populates time_estimate: 3600 if content contains /estimate 1h1137 returns the time_estimate formatted message1138 behaves like estimate command1139 populates time_estimate: 3600 if content contains /estimate 1h1140 returns the time_estimate formatted message1141 behaves like failed command1142 populates {} if content contains an unsupported command1143 returns an empty message1144 behaves like failed command1145 populates {} if content contains an unsupported command1146 returns an empty message1147 behaves like spend command1148 populates spend_time: 3600 if content contains /spend 1h1149 behaves like spend command1150 populates spend_time: 3600 if content contains /spend 1h1151 behaves like spend command1152 populates spend_time: 3600 if content contains /spend 1h1153 behaves like spend command with negative time1154 populates spend_time: -7200 if content contains -120m1155 returns the spend_time message including the formatted duration and verb1156 behaves like spend command with negative time1157 populates spend_time: -7200 if content contains -120m1158 returns the spend_time message including the formatted duration and verb1159 behaves like spend command with valid date1160 populates spend time: 1800 with date in date type format1161 behaves like spend command with valid date1162 populates spend time: 1800 with date in date type format1163 behaves like spend command with invalid date1164 will not create any note and timelog1165 behaves like spend command with invalid date1166 will not create any note and timelog1167 behaves like spend command with future date1168 will not create any note and timelog1169 behaves like spend command with future date1170 will not create any note and timelog1171 behaves like failed command1172 populates {} if content contains an unsupported command1173 returns an empty message1174 behaves like failed command1175 populates {} if content contains an unsupported command1176 returns an empty message1177 behaves like failed command1178 populates {} if content contains an unsupported command1179 returns an empty message1180 behaves like failed command1181 populates {} if content contains an unsupported command1182 returns an empty message1183 behaves like remove_estimate command1184 populates time_estimate: 0 if content contains /remove_estimate1185 returns the remove_estimate message1186 behaves like remove_estimate command1187 populates time_estimate: 0 if content contains /remove_estimate1188 returns the remove_estimate message1189 behaves like remove_time_spent command1190 populates spend_time: :reset if content contains /remove_time_spent1191 returns the remove_time_spent message1192 /confidential1193 behaves like confidential command1194 marks issue as confidential if content contains /confidential1195 returns the confidential message1196 when issuable is already confidential1197 returns an error message1198 is not part of the available commands1199 behaves like confidential command1200 marks issue as confidential if content contains /confidential1201 returns the confidential message1202 when issuable is already confidential1203 returns an error message1204 is not part of the available commands1205 when non-member is creating a new issue1206 behaves like confidential command1207 marks issue as confidential if content contains /confidential1208 returns the confidential message1209 when issuable is already confidential1210 returns an error message1211 is not part of the available commands1212 behaves like lock command1213 returns discussion_locked: true if content contains /lock1214 returns the lock discussion message1215 behaves like lock command1216 returns discussion_locked: true if content contains /lock1217 returns the lock discussion message1218 behaves like unlock command1219 returns discussion_locked: true if content contains /unlock1220 returns the unlock discussion message1221 behaves like unlock command1222 returns discussion_locked: true if content contains /unlock1223 returns the unlock discussion message1224 /todo1225 if issuable is an Issue1226 behaves like todo command1227 populates todo_event: "add" if content contains /todo1228 returns the todo message1229 if issuable is a MergeRequest1230 behaves like todo command1231 populates todo_event: "add" if content contains /todo1232 returns the todo message1233 if issuable is a Commit1234 behaves like failed command1235 populates {} if content contains an unsupported command1236 returns Could not apply todo command. message1237 /due command1238 returns invalid date format message when the due date is invalid1239 behaves like due command1240 populates due_date: Date.new(2016, 8, 28) if content contains /due 2016-08-281241 returns due_date message: Date.new(2016, 8, 28) if content contains /due 2016-08-281242 behaves like due command1243 populates due_date: Date.new(2016, 8, 28) if content contains /due 2016-08-281244 returns due_date message: Date.new(2016, 8, 28) if content contains /due 2016-08-281245 behaves like due command1246 populates due_date: Date.new(2016, 8, 28) if content contains /due 2016-08-281247 returns due_date message: Date.new(2016, 8, 28) if content contains /due 2016-08-281248 behaves like due command1249 populates due_date: Date.new(2016, 8, 28) if content contains /due 2016-08-281250 returns due_date message: Date.new(2016, 8, 28) if content contains /due 2016-08-281251 /copy_metadata command1252 is available when the user is a developer1253 when the user does not have permission1254 is not available1255 behaves like failed command1256 populates {} if content contains an unsupported command1257 returns an empty message1258 behaves like copy_metadata command1259 fetches issue or merge request and copies labels and milestone if content contains /copy_metadata reference1260 returns the copy metadata message1261 behaves like copy_metadata command1262 fetches issue or merge request and copies labels and milestone if content contains /copy_metadata reference1263 returns the copy metadata message1264 when the parent issuable has a milestone1265 behaves like copy_metadata command1266 fetches issue or merge request and copies labels and milestone if content contains /copy_metadata reference1267 returns the copy metadata message1268 when more than one issuable is passed1269 behaves like copy_metadata command1270 fetches issue or merge request and copies labels and milestone if content contains /copy_metadata reference1271 returns the copy metadata message1272 cross project references1273 behaves like failed command1274 populates {} if content contains an unsupported command1275 returns an empty message1276 behaves like failed command1277 populates {} if content contains an unsupported command1278 returns an empty message1279 behaves like failed command1280 populates {} if content contains an unsupported command1281 returns an empty message1282 /duplicate command1283 behaves like duplicate command1284 fetches issue and populates canonical_issue_id if content contains /duplicate issue_reference1285 returns the duplicate message1286 includes duplicate reference1287 behaves like failed command1288 populates {} if content contains an unsupported command1289 returns an empty message1290 cross project references1291 behaves like duplicate command1292 fetches issue and populates canonical_issue_id if content contains /duplicate issue_reference1293 returns the duplicate message1294 includes duplicate reference1295 behaves like failed command1296 populates {} if content contains an unsupported command1297 returns Failed to mark this issue as a duplicate because referenced issue was not found. message1298 behaves like failed command1299 populates {} if content contains an unsupported command1300 returns Failed to mark this issue as a duplicate because referenced issue was not found. message1301 when current_user cannot :admin_issue1302 behaves like failed command1303 populates {} if content contains an unsupported command1304 returns Could not apply assign command. message1305 behaves like failed command1306 populates {} if content contains an unsupported command1307 returns Could not apply unassign command. message1308 behaves like failed command1309 populates {} if content contains an unsupported command1310 returns Could not apply milestone command. message1311 behaves like failed command1312 populates {} if content contains an unsupported command1313 returns Could not apply remove_milestone command. message1314 behaves like failed command1315 populates {} if content contains an unsupported command1316 returns Could not apply label command. message1317 behaves like failed command1318 populates {} if content contains an unsupported command1319 returns Could not apply unlabel command. message1320 behaves like failed command1321 populates {} if content contains an unsupported command1322 returns Could not apply relabel command. message1323 behaves like failed command1324 populates {} if content contains an unsupported command1325 returns Could not apply due command. message1326 behaves like failed command1327 populates {} if content contains an unsupported command1328 returns Could not apply remove_due_date command. message1329 behaves like failed command1330 populates {} if content contains an unsupported command1331 returns Could not apply confidential command. message1332 behaves like failed command1333 populates {} if content contains an unsupported command1334 returns Could not apply lock command. message1335 behaves like failed command1336 populates {} if content contains an unsupported command1337 returns Could not apply unlock command. message1338 /award command1339 behaves like award command1340 toggle award 100 emoji if content contains /award :100:1341 returns the award message1342 behaves like award command1343 toggle award 100 emoji if content contains /award :100:1344 returns the award message1345 ignores command with no argument1346 behaves like failed command1347 populates {} if content contains an unsupported command1348 returns an empty message1349 ignores non-existing / invalid emojis1350 behaves like failed command1351 populates {} if content contains an unsupported command1352 returns an empty message1353 behaves like failed command1354 populates {} if content contains an unsupported command1355 returns an empty message1356 if issuable is a Commit1357 behaves like failed command1358 populates {} if content contains an unsupported command1359 returns Could not apply award command. message1360 /shrug command1361 behaves like shrug command1362 appends ¯\_(ツ)_/¯ to the comment1363 behaves like shrug command1364 appends ¯\_(ツ)_/¯ to the comment1365 /tableflip command1366 behaves like tableflip command1367 appends (╯°□°)╯︵ ┻━┻ to the comment1368 behaves like tableflip command1369 appends (╯°□°)╯︵ ┻━┻ to the comment1370 /target_branch command1371 updates target_branch if /target_branch command is executed1372 handles blanks around param1373 returns the target_branch message1374 ignores command with no argument1375 behaves like failed command1376 populates {} if content contains an unsupported command1377 returns Could not apply target_branch command. message1378 ignores non-existing target branch1379 behaves like failed command1380 populates {} if content contains an unsupported command1381 returns Could not apply target_branch command. message1382 /board_move command1383 populates remove_label_ids for all current board columns1384 populates add_label_ids with the id of the given label1385 does not include the given label id in remove_label_ids1386 does not remove label ids that are not lists on the board1387 returns board_move message1388 if the project has multiple boards1389 behaves like failed command1390 populates {} if content contains an unsupported command1391 returns Could not apply board_move command. message1392 if the given label does not exist1393 behaves like failed command1394 populates {} if content contains an unsupported command1395 returns Failed to move this issue because label was not found. message1396 if multiple labels are given1397 behaves like failed command1398 populates {} if content contains an unsupported command1399 returns Failed to move this issue because only a single label can be provided. message1400 if the given label is not a list on the board1401 behaves like failed command1402 populates {} if content contains an unsupported command1403 returns Failed to move this issue because label was not found. message1404 if issuable is not an Issue1405 behaves like failed command1406 populates {} if content contains an unsupported command1407 returns Could not apply board_move command. message1408 /tag command1409 ignores command with no argument1410 behaves like failed command1411 populates {} if content contains an unsupported command1412 returns an empty message1413 tags a commit with a tag name1414 behaves like tag command1415 tags a commit1416 returns the tag message1417 tags a commit with a tag name and message1418 behaves like tag command1419 tags a commit1420 returns the tag message1421 /create_merge_request command1422 populates create_merge_request with branch_name and issue iid1423 returns the create_merge_request message1424 if issuable is not an Issue1425 behaves like failed command1426 populates {} if content contains an unsupported command1427 returns Could not apply create_merge_request command. message1428 when logged user cannot create_merge_requests in the project1429 behaves like failed command1430 populates {} if content contains an unsupported command1431 returns Could not apply create_merge_request command. message1432 when logged user cannot push code to the project1433 behaves like failed command1434 populates {} if content contains an unsupported command1435 returns Could not apply create_merge_request command. message1436 submit_review command1437 note: "I like it"1438 submits the users current review1439 note: "/submit_review"1440 submits the users current review1441 behaves like issues link quick action1442 when user is member of group1443 when linking a single issue1444 behaves like link command1445 links issues1446 when linking multiple issues at once1447 behaves like link command1448 links issues1449 when quick action target is unpersisted1450 links the issues after the issue is persisted1451 with empty link command1452 behaves like link command1453 links issues1454 with already having linked issues1455 behaves like link command1456 links issues1457 with cross project1458 when linking a cross project issue1459 behaves like link command1460 links issues1461 when linking multiple cross projects issues at once1462 behaves like link command1463 links issues1464 when linking a non-existing issue1465 behaves like link command1466 links issues1467 when linking a private issue1468 behaves like link command1469 links issues1470 invite_email command1471 behaves like failed command1472 populates {} if content contains an unsupported command1473/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: already initialized constant Gitlab::QuickActions::IssueActions::MAX_NUMBER_OF_EMAILS1474/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: previous definition of MAX_NUMBER_OF_EMAILS was here1475 returns No email participants were added. Either none were provided, or they already exist. message1476 with existing email participant1477 behaves like failed command1478/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: already initialized constant Gitlab::QuickActions::IssueActions::MAX_NUMBER_OF_EMAILS1479/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: previous definition of MAX_NUMBER_OF_EMAILS was here1480 populates {} if content contains an unsupported command1481/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: already initialized constant Gitlab::QuickActions::IssueActions::MAX_NUMBER_OF_EMAILS1482/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: previous definition of MAX_NUMBER_OF_EMAILS was here1483 returns No email participants were added. Either none were provided, or they already exist. message1484 with new email participants1485/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: already initialized constant Gitlab::QuickActions::IssueActions::MAX_NUMBER_OF_EMAILS1486/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: previous definition of MAX_NUMBER_OF_EMAILS was here1487 returns message1488/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: already initialized constant Gitlab::QuickActions::IssueActions::MAX_NUMBER_OF_EMAILS1489/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: previous definition of MAX_NUMBER_OF_EMAILS was here1490 adds 2 participants1491 with mixed case email1492/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: already initialized constant Gitlab::QuickActions::IssueActions::MAX_NUMBER_OF_EMAILS1493/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: previous definition of MAX_NUMBER_OF_EMAILS was here1494 returns correctly cased message1495 with invalid email1496/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: already initialized constant Gitlab::QuickActions::IssueActions::MAX_NUMBER_OF_EMAILS1497/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: previous definition of MAX_NUMBER_OF_EMAILS was here1498 only adds valid emails1499 with existing email1500/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: already initialized constant Gitlab::QuickActions::IssueActions::MAX_NUMBER_OF_EMAILS1501/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: previous definition of MAX_NUMBER_OF_EMAILS was here1502 only adds new emails1503/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: already initialized constant Gitlab::QuickActions::IssueActions::MAX_NUMBER_OF_EMAILS1504/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: previous definition of MAX_NUMBER_OF_EMAILS was here1505 only adds new (case insensitive) emails1506 with duplicate email1507/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: already initialized constant Gitlab::QuickActions::IssueActions::MAX_NUMBER_OF_EMAILS1508/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: previous definition of MAX_NUMBER_OF_EMAILS was here1509 only adds unique new emails1510 with more than 6 emails1511/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: already initialized constant Gitlab::QuickActions::IssueActions::MAX_NUMBER_OF_EMAILS1512/builds/gitlab-org/gitlab/lib/gitlab/quick_actions/issue_actions.rb:233: warning: previous definition of MAX_NUMBER_OF_EMAILS was here1513 only adds 6 new emails1514 with feature flag disabled1515 does not add any participants1516 severity command1517 behaves like failed command1518 populates {} if content contains an unsupported command1519 returns No severity matches the provided parameter message1520 when quick action is used on creation1521 behaves like updates the severity1522 is expected to change `issuable.severity` from "unknown" to "medium"1523 issuable does not support severity1524 behaves like failed command1525 populates {} if content contains an unsupported command1526 returns message1527 severity given with S format1528 behaves like updates the severity1529 is expected to change `issuable.severity` from "unknown" to "medium"1530 severity given with number format1531 behaves like updates the severity1532 is expected to change `issuable.severity` from "unknown" to "medium"1533 severity given with text format1534 behaves like updates the severity1535 is expected to change `issuable.severity` from "unknown" to "medium"1536 an issuable that does not support severity1537 behaves like failed command1538 populates {} if content contains an unsupported command1539 returns Could not apply severity command. message1540 approve command1541 approves the current merge request1542 when the user can't approve1543 does not approve the MR1544 behaves like approve command unavailable1545 is not part of the available commands1546 unapprove command1547 unapproves the current merge request1548 when the user can't unapprove1549 does not unapprove the MR1550 behaves like unapprove command unavailable1551 is not part of the available commands1552 crm_contact commands1553 add_contacts command adds the contact1554 remove_contacts command removes the contact1555 when using an alias1556 returns the correct execution message1557 type command1558 when user has sufficient permissions to create new type1559 populates :issue_type: and :work_item_type1560 returns error with an invalid type1561 returns error with same type1562 when user has insufficient permissions to create new type1563 returns error1564 #explain1565 close command1566 includes issuable name1567 reopen command1568 includes issuable name1569 title command1570 includes new title1571 assign command1572 when using a reference1573 tells us we will assign the developer1574 when using a bare username1575 tells us we will assign the developer1576 when using me1577 tells us we will assign the developer1578 when there are unparseable arguments1579 tells us why we cannot do that1580 unassign command1581 includes current assignee reference1582 unassign_reviewer command1583 includes current assignee reference1584 assign_reviewer command1585 includes only the user reference1586 milestone command1587 is empty when milestone reference is wrong1588 remove milestone command1589 includes current milestone name1590 label command1591 is empty when there are no correct labels1592 unlabel command1593 says all labels if no parameter provided1594 relabel command1595 includes label name1596 subscribe command1597 includes issuable name1598 unsubscribe command1599 includes issuable name1600 due command1601 includes the date1602 draft command set1603 includes the new status1604 includes the no change message when status unchanged1605 ready command1606 includes the new status1607 includes the no change message when status unchanged1608 award command1609 includes the emoji1610 estimate command1611 includes the formatted duration1612 spend command1613 includes the formatted duration and proper verb when using /spend1614 includes the formatted duration and proper verb when using /spent1615 target branch command1616 includes the branch name1617 board move command1618 includes the label name1619 move issue to another project command1620 includes the project name1621 tag a commit1622 with a tag name1623 without a message1624 includes the tag name only1625 with an empty message1626 includes the tag name only1627 with a tag name and message1628 includes the tag name and message1629 create a merge request1630 with no branch name1631 uses the default branch name1632 returns the execution message using the default branch name1633 with a branch name1634 uses the given branch name1635 returns the execution message using the given branch name1636 #commands_executed_count1637 counts commands executed1638 crm commands1639 when group has no contacts1640 /add_contacts is not available1641 when group has contacts1642 /add_contacts is available1643 when issue has no contacts1644 /remove_contacts is not available1645 when issue has contacts1646 /remove_contacts is available1647 with keep_actions1648 keeps quick actions1649 removes the quick action1650 type command1651 has command available1652 relate command1653 includes explain message1654 #available_commands1655 when Guest is creating a new issue1656 includes commands to set metadata1657Noteable1658 #discussions1659 includes discussions for diff notes, commit diff notes, commit notes, and regular notes1660 #commenters1661 when noteable is an issue1662 behaves like commenters1663 does not automatically include the noteable author1664 with no user1665 contains a distinct list of non-internal note authors1666 with non project member1667 contains a distinct list of non-internal note authors1668 does not include a commenter from another noteable1669 with reporter1670 contains a distinct list of non-internal note authors1671 with noteable author1672 contains a distinct list of non-internal note authors1673 when noteable is a merge request1674 behaves like commenters1675 does not automatically include the noteable author1676 with no user1677 contains a distinct list of non-internal note authors1678 with non project member1679 contains a distinct list of non-internal note authors1680 does not include a commenter from another noteable1681 #discussion_ids_relation1682 returns ordered discussion_ids1683 #discussion_root_note_ids1684 returns ordered discussion_ids and synthetic note ids1685 filters by comments only1686 filters by system notes only1687 #grouped_diff_discussions1688 includes active discussions1689 does not include outdated discussions1690 groups the discussions by line code1691 discussion status1692 #discussions_resolvable?1693 when all discussions are unresolvable1694 returns false1695 when some discussions are unresolvable and some discussions are resolvable1696 returns true1697 when all discussions are resolvable1698 returns true1699 #discussions_resolved?1700 when discussions are not resolvable1701 returns false1702 when discussions are resolvable1703 when all resolvable discussions are resolved1704 returns true1705 when some resolvable discussions are not resolved1706 returns false1707 #discussions_to_be_resolved1708 includes only discussions that need to be resolved1709 #discussions_can_be_resolved_by?1710 all discussions can be resolved by the user1711 allows a user to resolve the discussions1712 one discussion cannot be resolved by the user1713 allows a user to resolve the discussions1714 .replyable_types1715 exposes the replyable types1716 .resolvable_types1717 exposes the replyable types1718 .email_creatable_types1719 exposes the email creatable types1720 #capped_notes_count1721 notes number < 101722 the number of notes is returned1723 notes number > 101724 10 is returned1725 #has_any_diff_note_positions?1726 returns true when it has diff note positions1727 returns false when it has notes but no diff note positions1728 returns false when it has no notes1729 #creatable_note_email_address1730 incoming email enabled1731 returns the address to create a note1732 returns nil for unsupported types1733 incoming email disabled1734 returns nil1735Gitlab::Middleware::Go1736 #call1737 when go-get=01738 skips go-import generation1739 when go-get=11740 with SSH disabled1741 with simple 2-segment project path1742 with subpackages1743 returns the full project path1744 without subpackages1745 returns the full project path1746 with a nested project path1747 with subpackages1748 behaves like a nested project1749 when the project is public1750 returns the full project path1751 when the project is private1752 when not authenticated1753 behaves like unauthorized1754 returns the 2-segment group path1755 when authenticated1756 using basic auth1757 using a personal access token1758 with api scope1759 behaves like authenticated1760 with access to the project1761 returns the full project path1762 with an empty ssh_user1763 returns the full project path1764 without access to the project1765 behaves like unauthorized1766 returns the 2-segment group path1767 with user is blocked1768 behaves like unauthorized1769 returns the 2-segment group path1770 with read_user scope1771 behaves like unauthorized1772 returns the 2-segment group path1773 with a blacklisted ip1774 returns forbidden1775 when a personal access token is missing1776 returns unauthorized1777 with a subpackage that is not a valid project path1778 behaves like a nested project1779 when the project is public1780 returns the full project path1781 when the project is private1782 when not authenticated1783 behaves like unauthorized1784 returns the 2-segment group path1785 when authenticated1786 using basic auth1787 using a personal access token1788 with api scope1789 behaves like authenticated1790 with access to the project1791 returns the full project path1792 with an empty ssh_user1793 returns the full project path1794 without access to the project1795 behaves like unauthorized1796 returns the 2-segment group path1797 with user is blocked1798 behaves like unauthorized1799 returns the 2-segment group path1800 with read_user scope1801 behaves like unauthorized1802 returns the 2-segment group path1803 with a blacklisted ip1804 returns forbidden1805 when a personal access token is missing1806 returns unauthorized1807 without subpackages1808 behaves like a nested project1809 when the project is public1810 returns the full project path1811 when the project is private1812 when not authenticated1813 behaves like unauthorized1814 returns the 2-segment group path1815 when authenticated1816 using basic auth1817 using a personal access token1818 with api scope1819 behaves like authenticated1820 with access to the project1821 returns the full project path1822 with an empty ssh_user1823 returns the full project path1824 without access to the project1825 behaves like unauthorized1826 returns the 2-segment group path1827 with user is blocked1828 behaves like unauthorized1829 returns the 2-segment group path1830 with read_user scope1831 behaves like unauthorized1832 returns the 2-segment group path1833 with a blacklisted ip1834 returns forbidden1835 when a personal access token is missing1836 returns unauthorized1837 with a bogus path1838 skips go-import generation1839 with a public project without a repository1840 returns 4041841 with a non-standard head1842 returns the full project path1843 with HTTP disabled1844 with simple 2-segment project path1845 with subpackages1846 returns the full project path1847 without subpackages1848 returns the full project path1849 with a nested project path1850 with subpackages1851 behaves like a nested project1852 when the project is public1853 returns the full project path1854 when the project is private1855 when not authenticated1856 behaves like unauthorized1857 returns the 2-segment group path1858 when authenticated1859 using basic auth1860 using a personal access token1861 with api scope1862 behaves like authenticated1863 with access to the project1864 returns the full project path1865 with an empty ssh_user1866 returns the full project path1867 without access to the project1868 behaves like unauthorized1869 returns the 2-segment group path1870 with user is blocked1871 behaves like unauthorized1872 returns the 2-segment group path1873 with read_user scope1874 behaves like unauthorized1875 returns the 2-segment group path1876 with a blacklisted ip1877 returns forbidden1878 when a personal access token is missing1879 returns unauthorized1880 with a subpackage that is not a valid project path1881 behaves like a nested project1882 when the project is public1883 returns the full project path1884 when the project is private1885 when not authenticated1886 behaves like unauthorized1887 returns the 2-segment group path1888 when authenticated1889 using basic auth1890 using a personal access token1891 with api scope1892 behaves like authenticated1893 with access to the project1894 returns the full project path1895 with an empty ssh_user1896 returns the full project path1897 without access to the project1898 behaves like unauthorized1899 returns the 2-segment group path1900 with user is blocked1901 behaves like unauthorized1902 returns the 2-segment group path1903 with read_user scope1904 behaves like unauthorized1905 returns the 2-segment group path1906 with a blacklisted ip1907 returns forbidden1908 when a personal access token is missing1909 returns unauthorized1910 without subpackages1911 behaves like a nested project1912 when the project is public1913 returns the full project path1914 when the project is private1915 when not authenticated1916 behaves like unauthorized1917 returns the 2-segment group path1918 when authenticated1919 using basic auth1920 using a personal access token1921 with api scope1922 behaves like authenticated1923 with access to the project1924 returns the full project path1925 with an empty ssh_user1926 returns the full project path1927 without access to the project1928 behaves like unauthorized1929 returns the 2-segment group path1930 with user is blocked1931 behaves like unauthorized1932 returns the 2-segment group path1933 with read_user scope1934 behaves like unauthorized1935 returns the 2-segment group path1936 with a blacklisted ip1937 returns forbidden1938 when a personal access token is missing1939 returns unauthorized1940 with a bogus path1941 skips go-import generation1942 with a public project without a repository1943 returns 4041944 with a non-standard head1945 returns the full project path1946 with nothing disabled1947 with simple 2-segment project path1948 with subpackages1949 returns the full project path1950 without subpackages1951 returns the full project path1952 with a nested project path1953 with subpackages1954 behaves like a nested project1955 when the project is public1956 returns the full project path1957 when the project is private1958 when not authenticated1959 behaves like unauthorized1960 returns the 2-segment group path1961 when authenticated1962 using basic auth1963 using a personal access token1964 with api scope1965 behaves like authenticated1966 with access to the project1967 returns the full project path1968 with an empty ssh_user1969 returns the full project path1970 without access to the project1971 behaves like unauthorized1972 returns the 2-segment group path1973 with user is blocked1974 behaves like unauthorized1975 returns the 2-segment group path1976 with read_user scope1977 behaves like unauthorized1978 returns the 2-segment group path1979 with a blacklisted ip1980 returns forbidden1981 when a personal access token is missing1982 returns unauthorized1983 with a subpackage that is not a valid project path1984 behaves like a nested project1985 when the project is public1986 returns the full project path1987 when the project is private1988 when not authenticated1989 behaves like unauthorized1990 returns the 2-segment group path1991 when authenticated1992 using basic auth1993 using a personal access token1994 with api scope1995 behaves like authenticated1996 with access to the project1997 returns the full project path1998 with an empty ssh_user1999 returns the full project path2000 without access to the project2001 behaves like unauthorized2002 returns the 2-segment group path2003 with user is blocked2004 behaves like unauthorized2005 returns the 2-segment group path2006 with read_user scope2007 behaves like unauthorized2008 returns the 2-segment group path2009 with a blacklisted ip2010 returns forbidden2011 when a personal access token is missing2012 returns unauthorized2013 without subpackages2014 behaves like a nested project2015 when the project is public2016 returns the full project path2017 when the project is private2018 when not authenticated2019 behaves like unauthorized2020 returns the 2-segment group path2021 when authenticated2022 using basic auth2023 using a personal access token2024 with api scope2025 behaves like authenticated2026 with access to the project2027 returns the full project path2028 with an empty ssh_user2029 returns the full project path2030 without access to the project2031 behaves like unauthorized2032 returns the 2-segment group path2033 with user is blocked2034 behaves like unauthorized2035 returns the 2-segment group path2036 with read_user scope2037 behaves like unauthorized2038 returns the 2-segment group path2039 with a blacklisted ip2040 returns forbidden2041 when a personal access token is missing2042 returns unauthorized2043 with a bogus path2044 skips go-import generation2045 with a public project without a repository2046 returns 4042047 with a non-standard head2048 returns the full project path2049 with nothing disabled (blank string)2050 with simple 2-segment project path2051 with subpackages2052 returns the full project path2053 without subpackages2054 returns the full project path2055 with a nested project path2056 with subpackages2057 behaves like a nested project2058 when the project is public2059 returns the full project path2060 when the project is private2061 when not authenticated2062 behaves like unauthorized2063 returns the 2-segment group path2064 when authenticated2065 using basic auth2066 using a personal access token2067 with api scope2068 behaves like authenticated2069 with access to the project2070 returns the full project path2071 with an empty ssh_user2072 returns the full project path2073 without access to the project2074 behaves like unauthorized2075 returns the 2-segment group path2076 with user is blocked2077 behaves like unauthorized2078 returns the 2-segment group path2079 with read_user scope2080 behaves like unauthorized2081 returns the 2-segment group path2082 with a blacklisted ip2083 returns forbidden2084 when a personal access token is missing2085 returns unauthorized2086 with a subpackage that is not a valid project path2087 behaves like a nested project2088 when the project is public2089 returns the full project path2090 when the project is private2091 when not authenticated2092 behaves like unauthorized2093 returns the 2-segment group path2094 when authenticated2095 using basic auth2096 using a personal access token2097 with api scope2098 behaves like authenticated2099 with access to the project2100 returns the full project path2101 with an empty ssh_user2102 returns the full project path2103 without access to the project2104 behaves like unauthorized2105 returns the 2-segment group path2106 with user is blocked2107 behaves like unauthorized2108 returns the 2-segment group path2109 with read_user scope2110 behaves like unauthorized2111 returns the 2-segment group path2112 with a blacklisted ip2113 returns forbidden2114 when a personal access token is missing2115 returns unauthorized2116 without subpackages2117 behaves like a nested project2118 when the project is public2119 returns the full project path2120 when the project is private2121 when not authenticated2122 behaves like unauthorized2123 returns the 2-segment group path2124 when authenticated2125 using basic auth2126 using a personal access token2127 with api scope2128 behaves like authenticated2129 with access to the project2130 returns the full project path2131 with an empty ssh_user2132 returns the full project path2133 without access to the project2134 behaves like unauthorized2135 returns the 2-segment group path2136 with user is blocked2137 behaves like unauthorized2138 returns the 2-segment group path2139 with read_user scope2140 behaves like unauthorized2141 returns the 2-segment group path2142 with a blacklisted ip2143 returns forbidden2144 when a personal access token is missing2145 returns unauthorized2146 with a bogus path2147 skips go-import generation2148 with a public project without a repository2149 returns 4042150 with a non-standard head2151 returns the full project path2152Projects::ForkService2153 when forking a new project2154 fork by user2155 fork project2156 when forker is a guest2157 is expected not to be persisted2158 is expected to eq ["is forbidden"]2159 does not create a fork network2160 behaves like forks count cache refresh2161 flushes the forks count cache of the source project2162 successfully creates project in the user namespace2163 is expected to be persisted2164 is expected to be empty2165 is expected to eq #<User id:386 @user219>2166 is expected to eq #<Namespaces::UserNamespace id:923 @user221>2167 is expected to be zero2168 is expected to eq "wow such project"2169 is expected to be exists2170 is expected to eq nil2171 is expected to eq "classification-label"2172 is expected to eq nil2173 is expected to eq nil2174 is expected to eq nil2175 after forking the from-project still has its avatar2176 creates a fork network with the new project and the root project set2177 imports the repository of the forked project2178 behaves like forks count cache refresh2179 flushes the forks count cache of the source project2180 creating a fork of a fork2181 sets the root of the network to the root project2182 sets the forked_from_project on the membership2183 when the forked project has higher visibility than the root project2184 successfully creates a fork of the fork with correct visibility2185 behaves like forks count cache refresh2186 flushes the forks count cache of the source project2187 project already exists2188 fails due to validation, not transaction failure2189 repository in legacy storage already exists2190 does not allow creation2191 when repository disk validation is explicitly skipped2192 allows fork project creation2193 CI/CD settings2194 when origin has git depth specified2195 inherits default_git_depth from the origin project2196 when origin does not define git depth2197 the fork has git depth set to 02198 when project has restricted visibility level2199 and only one visibility level is restricted2200 creates fork with lowest level2201 and all visibility levels are restricted2202 creates fork with private visibility levels2203 when forking is disabled2204 fails2205 fork to namespace2206 fork project for group2207 group owner successfully forks project into the group2208 fork project for group when user not owner2209 group developer fails to fork project into the group2210 project already exists in group2211 fails due to validation, not transaction failure2212 when the namespace has a lower visibility level than the project2213 creates the project with the lower visibility level2214 fork with optional attributes2215 sets optional attributes to specified values2216 sets visibility level to private if an unknown visibility is requested2217 sets visibility level to project visibility level if requested visibility is greater2218 sets visibility level to target namespace visibility level if requested visibility is greater2219 copies project features visibility settings to the fork2220 when a project is already forked2221 creates a new poolresository after the project is moved to a new shard2222 when forking with object pools2223 when no pool exists2224 creates a new object pool2225 when a pool already exists2226 joins the object pool2227 when linking fork to an existing project2228 if project is already forked2229 does not create fork relation2230 if project is not forked2231 creates fork relation2232 flushes the forks count cache of the source project2233 if the fork is not allowed2234 does not delete the LFS objects2235 #valid_fork_targets2236 returns whatever finder returns2237 #valid_fork_target?2238 when target is not passed2239 when current user is an admin2240 is expected to be truthy2241 when current_user is not an admin2242 when target namespace is in valid fork targets2243 is expected to be truthy2244 when target namespace is not in valid fork targets2245 is expected to be falsey2246 when target is passed2247 when current user is an admin2248 is expected to be truthy2249 when current user is not an admin2250 when target namespace is in valid fork targets2251 is expected to be truthy2252 when target namespace is not in valid fork targets2253 is expected to be falsey2254SnippetsFinder2255 #initialize2256 raises ArgumentError when a project and author are given2257 #execute2258 filter by scope2259 returns all snippets for 'all' scope2260 returns all snippets for 'are_private' scope2261 returns all snippets for 'are_internal' scope2262 returns all snippets for 'are_public' scope2263 filter by author2264 returns internal snippets2265 returns private snippets2266 returns public snippets2267 returns all snippets2268 returns only public snippets if unauthenticated user2269 returns all snippets for an admin in admin mode2270 returns all public and internal snippets for an admin without admin mode2271 when the author is a User object2272 returns all public and internal snippets2273 when the author is the User id2274 returns all public and internal snippets2275 when author is not valid2276 returns quickly2277 filter by project2278 returns public and internal snippets for non project members2279 returns public snippets for non project members2280 returns internal snippets for non project members2281 does not return private snippets for non project members2282 returns all snippets for project members2283 returns private snippets for project members2284 returns all snippets for an admin in admin mode2285 returns public and internal snippets for an admin without admin mode2286 when project is a Project object2287 returns public personal and project snippets for unauthorized user2288 when project is a Project id2289 returns public personal and project snippets for unauthorized user2290 filter by author2291 returns all snippets for project members2292 when project is not valid2293 returns quickly2294 filter by snippet type2295 when filtering by only_personal snippet2296 returns all personal snippets for the admin2297 returns only personal snippets visible by user2298 returns only internal or public personal snippets for user without snippets2299 filtering by ids2300 returns only personal snippet2301 explore snippets2302 returns only public personal snippets for unauthenticated users2303 also returns internal personal snippets for authenticated users2304 returns all personal snippets for admins when in admin mode2305 also returns internal personal snippets for admins without admin mode2306 when the user cannot read cross project2307 returns only personal snippets when the user cannot read cross project2308 when only project snippets are required2309 returns no records2310 when project snippets are disabled2311 returns quickly2312 no sort param is provided2313 returns snippets sorted by id2314 sort param is provided2315 returns snippets sorted by sort param2316 behaves like snippet visibility2317 For project snippets2318 project_visibility: :public, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: true2319 For project and unauthenticated users2320 returns proper outcome2321 Without a given project and unauthenticated users2322 returns proper outcome2323 project_visibility: :public, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2324 For project and unauthenticated users2325 returns proper outcome2326 Without a given project and unauthenticated users2327 returns proper outcome2328 project_visibility: :public, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2329 For project and unauthenticated users2330 returns proper outcome2331 Without a given project and unauthenticated users2332 returns proper outcome2333 project_visibility: :public, feature_visibility: :enabled, user_type: :external, snippet_visibility: :public, outcome: true2334 For project and external users2335 returns proper outcome2336 Without a given project and external users2337 returns proper outcome2338 project_visibility: :public, feature_visibility: :enabled, user_type: :external, snippet_visibility: :internal, outcome: false2339 For project and external users2340 returns proper outcome2341 Without a given project and external users2342 returns proper outcome2343 project_visibility: :public, feature_visibility: :enabled, user_type: :external, snippet_visibility: :private, outcome: false2344 For project and external users2345 returns proper outcome2346 Without a given project and external users2347 returns proper outcome2348 project_visibility: :public, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :public, outcome: true2349 For project and non_member users2350 returns proper outcome2351 Without a given project and non_member users2352 returns proper outcome2353 project_visibility: :public, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :internal, outcome: true2354 For project and non_member users2355 returns proper outcome2356 Without a given project and non_member users2357 returns proper outcome2358 project_visibility: :public, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :private, outcome: false2359 For project and non_member users2360 returns proper outcome2361 Without a given project and non_member users2362 returns proper outcome2363 project_visibility: :public, feature_visibility: :enabled, user_type: :member, snippet_visibility: :public, outcome: true2364 For project and member users2365 returns proper outcome2366 Without a given project and member users2367 returns proper outcome2368 project_visibility: :public, feature_visibility: :enabled, user_type: :member, snippet_visibility: :internal, outcome: true2369 For project and member users2370 returns proper outcome2371 Without a given project and member users2372 returns proper outcome2373 project_visibility: :public, feature_visibility: :enabled, user_type: :member, snippet_visibility: :private, outcome: true2374 For project and member users2375 returns proper outcome2376 Without a given project and member users2377 returns proper outcome2378 project_visibility: :public, feature_visibility: :enabled, user_type: :author, snippet_visibility: :public, outcome: true2379 For project and author users2380 returns proper outcome2381 Without a given project and author users2382 returns proper outcome2383 project_visibility: :public, feature_visibility: :enabled, user_type: :author, snippet_visibility: :internal, outcome: true2384 For project and author users2385 returns proper outcome2386 Without a given project and author users2387 returns proper outcome2388 project_visibility: :public, feature_visibility: :enabled, user_type: :author, snippet_visibility: :private, outcome: true2389 For project and author users2390 returns proper outcome2391 Without a given project and author users2392 returns proper outcome2393 project_visibility: :public, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2394 For project and unauthenticated users2395 returns proper outcome2396 Without a given project and unauthenticated users2397 returns proper outcome2398 project_visibility: :public, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2399 For project and unauthenticated users2400 returns proper outcome2401 Without a given project and unauthenticated users2402 returns proper outcome2403 project_visibility: :public, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2404 For project and unauthenticated users2405 returns proper outcome2406 Without a given project and unauthenticated users2407 returns proper outcome2408 project_visibility: :public, feature_visibility: :private, user_type: :external, snippet_visibility: :public, outcome: false2409 For project and external users2410 returns proper outcome2411 Without a given project and external users2412 returns proper outcome2413 project_visibility: :public, feature_visibility: :private, user_type: :external, snippet_visibility: :internal, outcome: false2414 For project and external users2415 returns proper outcome2416 Without a given project and external users2417 returns proper outcome2418 project_visibility: :public, feature_visibility: :private, user_type: :external, snippet_visibility: :private, outcome: false2419 For project and external users2420 returns proper outcome2421 Without a given project and external users2422 returns proper outcome2423 project_visibility: :public, feature_visibility: :private, user_type: :non_member, snippet_visibility: :public, outcome: false2424 For project and non_member users2425 returns proper outcome2426 Without a given project and non_member users2427 returns proper outcome2428 project_visibility: :public, feature_visibility: :private, user_type: :non_member, snippet_visibility: :internal, outcome: false2429 For project and non_member users2430 returns proper outcome2431 Without a given project and non_member users2432 returns proper outcome2433 project_visibility: :public, feature_visibility: :private, user_type: :non_member, snippet_visibility: :private, outcome: false2434 For project and non_member users2435 returns proper outcome2436 Without a given project and non_member users2437 returns proper outcome2438 project_visibility: :public, feature_visibility: :private, user_type: :member, snippet_visibility: :public, outcome: true2439 For project and member users2440 returns proper outcome2441 Without a given project and member users2442 returns proper outcome2443 project_visibility: :public, feature_visibility: :private, user_type: :member, snippet_visibility: :internal, outcome: true2444 For project and member users2445 returns proper outcome2446 Without a given project and member users2447 returns proper outcome2448 project_visibility: :public, feature_visibility: :private, user_type: :member, snippet_visibility: :private, outcome: true2449 For project and member users2450 returns proper outcome2451 Without a given project and member users2452 returns proper outcome2453 project_visibility: :public, feature_visibility: :private, user_type: :author, snippet_visibility: :public, outcome: true2454 For project and author users2455 returns proper outcome2456 Without a given project and author users2457 returns proper outcome2458 project_visibility: :public, feature_visibility: :private, user_type: :author, snippet_visibility: :internal, outcome: true2459 For project and author users2460 returns proper outcome2461 Without a given project and author users2462 returns proper outcome2463 project_visibility: :public, feature_visibility: :private, user_type: :author, snippet_visibility: :private, outcome: true2464 For project and author users2465 returns proper outcome2466 Without a given project and author users2467 returns proper outcome2468 project_visibility: :public, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2469 For project and unauthenticated users2470 returns proper outcome2471 Without a given project and unauthenticated users2472 returns proper outcome2473 project_visibility: :public, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2474 For project and unauthenticated users2475 returns proper outcome2476 Without a given project and unauthenticated users2477 returns proper outcome2478 project_visibility: :public, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2479 For project and unauthenticated users2480 returns proper outcome2481 Without a given project and unauthenticated users2482 returns proper outcome2483 project_visibility: :public, feature_visibility: :disabled, user_type: :external, snippet_visibility: :public, outcome: false2484 For project and external users2485 returns proper outcome2486 Without a given project and external users2487 returns proper outcome2488 project_visibility: :public, feature_visibility: :disabled, user_type: :external, snippet_visibility: :internal, outcome: false2489 For project and external users2490 returns proper outcome2491 Without a given project and external users2492 returns proper outcome2493 project_visibility: :public, feature_visibility: :disabled, user_type: :external, snippet_visibility: :private, outcome: false2494 For project and external users2495 returns proper outcome2496 Without a given project and external users2497 returns proper outcome2498 project_visibility: :public, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :public, outcome: false2499 For project and non_member users2500 returns proper outcome2501 Without a given project and non_member users2502 returns proper outcome2503 project_visibility: :public, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :internal, outcome: false2504 For project and non_member users2505 returns proper outcome2506 Without a given project and non_member users2507 returns proper outcome2508 project_visibility: :public, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :private, outcome: false2509 For project and non_member users2510 returns proper outcome2511 Without a given project and non_member users2512 returns proper outcome2513 project_visibility: :public, feature_visibility: :disabled, user_type: :member, snippet_visibility: :public, outcome: false2514 For project and member users2515 returns proper outcome2516 Without a given project and member users2517 returns proper outcome2518 project_visibility: :public, feature_visibility: :disabled, user_type: :member, snippet_visibility: :internal, outcome: false2519 For project and member users2520 returns proper outcome2521 Without a given project and member users2522 returns proper outcome2523 project_visibility: :public, feature_visibility: :disabled, user_type: :member, snippet_visibility: :private, outcome: false2524 For project and member users2525 returns proper outcome2526 Without a given project and member users2527 returns proper outcome2528 project_visibility: :public, feature_visibility: :disabled, user_type: :author, snippet_visibility: :public, outcome: false2529 For project and author users2530 returns proper outcome2531 Without a given project and author users2532 returns proper outcome2533 project_visibility: :public, feature_visibility: :disabled, user_type: :author, snippet_visibility: :internal, outcome: false2534 For project and author users2535 returns proper outcome2536 Without a given project and author users2537 returns proper outcome2538 project_visibility: :public, feature_visibility: :disabled, user_type: :author, snippet_visibility: :private, outcome: false2539 For project and author users2540 returns proper outcome2541 Without a given project and author users2542 returns proper outcome2543 project_visibility: :internal, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2544 For project and unauthenticated users2545 returns proper outcome2546 Without a given project and unauthenticated users2547 returns proper outcome2548 project_visibility: :internal, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2549 For project and unauthenticated users2550 returns proper outcome2551 Without a given project and unauthenticated users2552 returns proper outcome2553 project_visibility: :internal, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2554 For project and unauthenticated users2555 returns proper outcome2556 Without a given project and unauthenticated users2557 returns proper outcome2558 project_visibility: :internal, feature_visibility: :enabled, user_type: :external, snippet_visibility: :public, outcome: false2559 For project and external users2560 returns proper outcome2561 Without a given project and external users2562 returns proper outcome2563 project_visibility: :internal, feature_visibility: :enabled, user_type: :external, snippet_visibility: :internal, outcome: false2564 For project and external users2565 returns proper outcome2566 Without a given project and external users2567 returns proper outcome2568 project_visibility: :internal, feature_visibility: :enabled, user_type: :external, snippet_visibility: :private, outcome: false2569 For project and external users2570 returns proper outcome2571 Without a given project and external users2572 returns proper outcome2573 project_visibility: :internal, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :public, outcome: true2574 For project and non_member users2575 returns proper outcome2576 Without a given project and non_member users2577 returns proper outcome2578 project_visibility: :internal, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :internal, outcome: true2579 For project and non_member users2580 returns proper outcome2581 Without a given project and non_member users2582 returns proper outcome2583 project_visibility: :internal, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :private, outcome: false2584 For project and non_member users2585 returns proper outcome2586 Without a given project and non_member users2587 returns proper outcome2588 project_visibility: :internal, feature_visibility: :enabled, user_type: :member, snippet_visibility: :public, outcome: true2589 For project and member users2590 returns proper outcome2591 Without a given project and member users2592 returns proper outcome2593 project_visibility: :internal, feature_visibility: :enabled, user_type: :member, snippet_visibility: :internal, outcome: true2594 For project and member users2595 returns proper outcome2596 Without a given project and member users2597 returns proper outcome2598 project_visibility: :internal, feature_visibility: :enabled, user_type: :member, snippet_visibility: :private, outcome: true2599 For project and member users2600 returns proper outcome2601 Without a given project and member users2602 returns proper outcome2603 project_visibility: :internal, feature_visibility: :enabled, user_type: :author, snippet_visibility: :public, outcome: true2604 For project and author users2605 returns proper outcome2606 Without a given project and author users2607 returns proper outcome2608 project_visibility: :internal, feature_visibility: :enabled, user_type: :author, snippet_visibility: :internal, outcome: true2609 For project and author users2610 returns proper outcome2611 Without a given project and author users2612 returns proper outcome2613 project_visibility: :internal, feature_visibility: :enabled, user_type: :author, snippet_visibility: :private, outcome: true2614 For project and author users2615 returns proper outcome2616 Without a given project and author users2617 returns proper outcome2618 project_visibility: :internal, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2619 For project and unauthenticated users2620 returns proper outcome2621 Without a given project and unauthenticated users2622 returns proper outcome2623 project_visibility: :internal, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2624 For project and unauthenticated users2625 returns proper outcome2626 Without a given project and unauthenticated users2627 returns proper outcome2628 project_visibility: :internal, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2629 For project and unauthenticated users2630 returns proper outcome2631 Without a given project and unauthenticated users2632 returns proper outcome2633 project_visibility: :internal, feature_visibility: :private, user_type: :external, snippet_visibility: :public, outcome: false2634 For project and external users2635 returns proper outcome2636 Without a given project and external users2637 returns proper outcome2638 project_visibility: :internal, feature_visibility: :private, user_type: :external, snippet_visibility: :internal, outcome: false2639 For project and external users2640 returns proper outcome2641 Without a given project and external users2642 returns proper outcome2643 project_visibility: :internal, feature_visibility: :private, user_type: :external, snippet_visibility: :private, outcome: false2644 For project and external users2645 returns proper outcome2646 Without a given project and external users2647 returns proper outcome2648 project_visibility: :internal, feature_visibility: :private, user_type: :non_member, snippet_visibility: :public, outcome: false2649 For project and non_member users2650 returns proper outcome2651 Without a given project and non_member users2652 returns proper outcome2653 project_visibility: :internal, feature_visibility: :private, user_type: :non_member, snippet_visibility: :internal, outcome: false2654 For project and non_member users2655 returns proper outcome2656 Without a given project and non_member users2657 returns proper outcome2658 project_visibility: :internal, feature_visibility: :private, user_type: :non_member, snippet_visibility: :private, outcome: false2659 For project and non_member users2660 returns proper outcome2661 Without a given project and non_member users2662 returns proper outcome2663 project_visibility: :internal, feature_visibility: :private, user_type: :member, snippet_visibility: :public, outcome: true2664 For project and member users2665 returns proper outcome2666 Without a given project and member users2667 returns proper outcome2668 project_visibility: :internal, feature_visibility: :private, user_type: :member, snippet_visibility: :internal, outcome: true2669 For project and member users2670 returns proper outcome2671 Without a given project and member users2672 returns proper outcome2673 project_visibility: :internal, feature_visibility: :private, user_type: :member, snippet_visibility: :private, outcome: true2674 For project and member users2675 returns proper outcome2676 Without a given project and member users2677 returns proper outcome2678 project_visibility: :internal, feature_visibility: :private, user_type: :author, snippet_visibility: :public, outcome: true2679 For project and author users2680 returns proper outcome2681 Without a given project and author users2682 returns proper outcome2683 project_visibility: :internal, feature_visibility: :private, user_type: :author, snippet_visibility: :internal, outcome: true2684 For project and author users2685 returns proper outcome2686 Without a given project and author users2687 returns proper outcome2688 project_visibility: :internal, feature_visibility: :private, user_type: :author, snippet_visibility: :private, outcome: true2689 For project and author users2690 returns proper outcome2691 Without a given project and author users2692 returns proper outcome2693 project_visibility: :internal, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2694 For project and unauthenticated users2695 returns proper outcome2696 Without a given project and unauthenticated users2697 returns proper outcome2698 project_visibility: :internal, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2699 For project and unauthenticated users2700 returns proper outcome2701 Without a given project and unauthenticated users2702 returns proper outcome2703 project_visibility: :internal, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2704 For project and unauthenticated users2705 returns proper outcome2706 Without a given project and unauthenticated users2707 returns proper outcome2708 project_visibility: :internal, feature_visibility: :disabled, user_type: :external, snippet_visibility: :public, outcome: false2709 For project and external users2710 returns proper outcome2711 Without a given project and external users2712 returns proper outcome2713 project_visibility: :internal, feature_visibility: :disabled, user_type: :external, snippet_visibility: :internal, outcome: false2714 For project and external users2715 returns proper outcome2716 Without a given project and external users2717 returns proper outcome2718 project_visibility: :internal, feature_visibility: :disabled, user_type: :external, snippet_visibility: :private, outcome: false2719 For project and external users2720 returns proper outcome2721 Without a given project and external users2722 returns proper outcome2723 project_visibility: :internal, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :public, outcome: false2724 For project and non_member users2725 returns proper outcome2726 Without a given project and non_member users2727 returns proper outcome2728 project_visibility: :internal, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :internal, outcome: false2729 For project and non_member users2730 returns proper outcome2731 Without a given project and non_member users2732 returns proper outcome2733 project_visibility: :internal, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :private, outcome: false2734 For project and non_member users2735 returns proper outcome2736 Without a given project and non_member users2737 returns proper outcome2738 project_visibility: :internal, feature_visibility: :disabled, user_type: :member, snippet_visibility: :public, outcome: false2739 For project and member users2740 returns proper outcome2741 Without a given project and member users2742 returns proper outcome2743 project_visibility: :internal, feature_visibility: :disabled, user_type: :member, snippet_visibility: :internal, outcome: false2744 For project and member users2745 returns proper outcome2746 Without a given project and member users2747 returns proper outcome2748 project_visibility: :internal, feature_visibility: :disabled, user_type: :member, snippet_visibility: :private, outcome: false2749 For project and member users2750 returns proper outcome2751 Without a given project and member users2752 returns proper outcome2753 project_visibility: :internal, feature_visibility: :disabled, user_type: :author, snippet_visibility: :public, outcome: false2754 For project and author users2755 returns proper outcome2756 Without a given project and author users2757 returns proper outcome2758 project_visibility: :internal, feature_visibility: :disabled, user_type: :author, snippet_visibility: :internal, outcome: false2759 For project and author users2760 returns proper outcome2761 Without a given project and author users2762 returns proper outcome2763 project_visibility: :internal, feature_visibility: :disabled, user_type: :author, snippet_visibility: :private, outcome: false2764 For project and author users2765 returns proper outcome2766 Without a given project and author users2767 returns proper outcome2768 project_visibility: :private, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2769 For project and unauthenticated users2770 returns proper outcome2771 Without a given project and unauthenticated users2772 returns proper outcome2773 project_visibility: :private, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2774 For project and unauthenticated users2775 returns proper outcome2776 Without a given project and unauthenticated users2777 returns proper outcome2778 project_visibility: :private, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2779 For project and unauthenticated users2780 returns proper outcome2781 Without a given project and unauthenticated users2782 returns proper outcome2783 project_visibility: :private, feature_visibility: :enabled, user_type: :external, snippet_visibility: :public, outcome: true2784 For project and external users2785 returns proper outcome2786 Without a given project and external users2787 returns proper outcome2788 project_visibility: :private, feature_visibility: :enabled, user_type: :external, snippet_visibility: :internal, outcome: true2789 For project and external users2790 returns proper outcome2791 Without a given project and external users2792 returns proper outcome2793 project_visibility: :private, feature_visibility: :enabled, user_type: :external, snippet_visibility: :private, outcome: true2794 For project and external users2795 returns proper outcome2796 Without a given project and external users2797 returns proper outcome2798 project_visibility: :private, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :public, outcome: false2799 For project and non_member users2800 returns proper outcome2801 Without a given project and non_member users2802 returns proper outcome2803 project_visibility: :private, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :internal, outcome: false2804 For project and non_member users2805 returns proper outcome2806 Without a given project and non_member users2807 returns proper outcome2808 project_visibility: :private, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :private, outcome: false2809 For project and non_member users2810 returns proper outcome2811 Without a given project and non_member users2812 returns proper outcome2813 project_visibility: :private, feature_visibility: :enabled, user_type: :member, snippet_visibility: :public, outcome: true2814 For project and member users2815 returns proper outcome2816 Without a given project and member users2817 returns proper outcome2818 project_visibility: :private, feature_visibility: :enabled, user_type: :member, snippet_visibility: :internal, outcome: true2819 For project and member users2820 returns proper outcome2821 Without a given project and member users2822 returns proper outcome2823 project_visibility: :private, feature_visibility: :enabled, user_type: :member, snippet_visibility: :private, outcome: true2824 For project and member users2825 returns proper outcome2826 Without a given project and member users2827 returns proper outcome2828 project_visibility: :private, feature_visibility: :enabled, user_type: :author, snippet_visibility: :public, outcome: true2829 For project and author users2830 returns proper outcome2831 Without a given project and author users2832 returns proper outcome2833 project_visibility: :private, feature_visibility: :enabled, user_type: :author, snippet_visibility: :internal, outcome: true2834 For project and author users2835 returns proper outcome2836 Without a given project and author users2837 returns proper outcome2838 project_visibility: :private, feature_visibility: :enabled, user_type: :author, snippet_visibility: :private, outcome: true2839 For project and author users2840 returns proper outcome2841 Without a given project and author users2842 returns proper outcome2843 project_visibility: :private, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2844 For project and unauthenticated users2845 returns proper outcome2846 Without a given project and unauthenticated users2847 returns proper outcome2848 project_visibility: :private, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2849 For project and unauthenticated users2850 returns proper outcome2851 Without a given project and unauthenticated users2852 returns proper outcome2853 project_visibility: :private, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2854 For project and unauthenticated users2855 returns proper outcome2856 Without a given project and unauthenticated users2857 returns proper outcome2858 project_visibility: :private, feature_visibility: :private, user_type: :external, snippet_visibility: :public, outcome: true2859 For project and external users2860 returns proper outcome2861 Without a given project and external users2862 returns proper outcome2863 project_visibility: :private, feature_visibility: :private, user_type: :external, snippet_visibility: :internal, outcome: true2864 For project and external users2865 returns proper outcome2866 Without a given project and external users2867 returns proper outcome2868 project_visibility: :private, feature_visibility: :private, user_type: :external, snippet_visibility: :private, outcome: true2869 For project and external users2870 returns proper outcome2871 Without a given project and external users2872 returns proper outcome2873 project_visibility: :private, feature_visibility: :private, user_type: :non_member, snippet_visibility: :public, outcome: false2874 For project and non_member users2875 returns proper outcome2876 Without a given project and non_member users2877 returns proper outcome2878 project_visibility: :private, feature_visibility: :private, user_type: :non_member, snippet_visibility: :internal, outcome: false2879 For project and non_member users2880 returns proper outcome2881 Without a given project and non_member users2882 returns proper outcome2883 project_visibility: :private, feature_visibility: :private, user_type: :non_member, snippet_visibility: :private, outcome: false2884 For project and non_member users2885 returns proper outcome2886 Without a given project and non_member users2887 returns proper outcome2888 project_visibility: :private, feature_visibility: :private, user_type: :member, snippet_visibility: :public, outcome: true2889 For project and member users2890 returns proper outcome2891 Without a given project and member users2892 returns proper outcome2893 project_visibility: :private, feature_visibility: :private, user_type: :member, snippet_visibility: :internal, outcome: true2894 For project and member users2895 returns proper outcome2896 Without a given project and member users2897 returns proper outcome2898 project_visibility: :private, feature_visibility: :private, user_type: :member, snippet_visibility: :private, outcome: true2899 For project and member users2900 returns proper outcome2901 Without a given project and member users2902 returns proper outcome2903 project_visibility: :private, feature_visibility: :private, user_type: :author, snippet_visibility: :public, outcome: true2904 For project and author users2905 returns proper outcome2906 Without a given project and author users2907 returns proper outcome2908 project_visibility: :private, feature_visibility: :private, user_type: :author, snippet_visibility: :internal, outcome: true2909 For project and author users2910 returns proper outcome2911 Without a given project and author users2912 returns proper outcome2913 project_visibility: :private, feature_visibility: :private, user_type: :author, snippet_visibility: :private, outcome: true2914 For project and author users2915 returns proper outcome2916 Without a given project and author users2917 returns proper outcome2918 project_visibility: :private, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2919 For project and unauthenticated users2920 returns proper outcome2921 Without a given project and unauthenticated users2922 returns proper outcome2923 project_visibility: :private, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2924 For project and unauthenticated users2925 returns proper outcome2926 Without a given project and unauthenticated users2927 returns proper outcome2928 project_visibility: :private, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2929 For project and unauthenticated users2930 returns proper outcome2931 Without a given project and unauthenticated users2932 returns proper outcome2933 project_visibility: :private, feature_visibility: :disabled, user_type: :external, snippet_visibility: :public, outcome: false2934 For project and external users2935 returns proper outcome2936 Without a given project and external users2937 returns proper outcome2938 project_visibility: :private, feature_visibility: :disabled, user_type: :external, snippet_visibility: :internal, outcome: false2939 For project and external users2940 returns proper outcome2941 Without a given project and external users2942 returns proper outcome2943 project_visibility: :private, feature_visibility: :disabled, user_type: :external, snippet_visibility: :private, outcome: false2944 For project and external users2945 returns proper outcome2946 Without a given project and external users2947 returns proper outcome2948 project_visibility: :private, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :public, outcome: false2949 For project and non_member users2950 returns proper outcome2951 Without a given project and non_member users2952 returns proper outcome2953 project_visibility: :private, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :internal, outcome: false2954 For project and non_member users2955 returns proper outcome2956 Without a given project and non_member users2957 returns proper outcome2958 project_visibility: :private, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :private, outcome: false2959 For project and non_member users2960 returns proper outcome2961 Without a given project and non_member users2962 returns proper outcome2963 project_visibility: :private, feature_visibility: :disabled, user_type: :member, snippet_visibility: :public, outcome: false2964 For project and member users2965 returns proper outcome2966 Without a given project and member users2967 returns proper outcome2968 project_visibility: :private, feature_visibility: :disabled, user_type: :member, snippet_visibility: :internal, outcome: false2969 For project and member users2970 returns proper outcome2971 Without a given project and member users2972 returns proper outcome2973 project_visibility: :private, feature_visibility: :disabled, user_type: :member, snippet_visibility: :private, outcome: false2974 For project and member users2975 returns proper outcome2976 Without a given project and member users2977 returns proper outcome2978 project_visibility: :private, feature_visibility: :disabled, user_type: :author, snippet_visibility: :public, outcome: false2979 For project and author users2980 returns proper outcome2981 Without a given project and author users2982 returns proper outcome2983 project_visibility: :private, feature_visibility: :disabled, user_type: :author, snippet_visibility: :internal, outcome: false2984 For project and author users2985 returns proper outcome2986 Without a given project and author users2987 returns proper outcome2988 project_visibility: :private, feature_visibility: :disabled, user_type: :author, snippet_visibility: :private, outcome: false2989 For project and author users2990 returns proper outcome2991 Without a given project and author users2992 returns proper outcome2993 For personal snippets2994 snippet_visibility: :public, user_type: :unauthenticated, outcome: true2995 For personal and public snippets with unauthenticated user2996 returns proper outcome2997 snippet_visibility: :public, user_type: :external, outcome: true2998 For personal and public snippets with external user2999 returns proper outcome3000 snippet_visibility: :public, user_type: :non_member, outcome: true3001 For personal and public snippets with non_member user3002 returns proper outcome3003 snippet_visibility: :public, user_type: :author, outcome: true3004 For personal and public snippets with author user3005 returns proper outcome3006 snippet_visibility: :internal, user_type: :unauthenticated, outcome: false3007 For personal and internal snippets with unauthenticated user3008 returns proper outcome3009 snippet_visibility: :internal, user_type: :external, outcome: false3010 For personal and internal snippets with external user3011 returns proper outcome3012 snippet_visibility: :internal, user_type: :non_member, outcome: true3013 For personal and internal snippets with non_member user3014 returns proper outcome3015 snippet_visibility: :internal, user_type: :author, outcome: true3016 For personal and internal snippets with author user3017 returns proper outcome3018 snippet_visibility: :private, user_type: :unauthenticated, outcome: false3019 For personal and private snippets with unauthenticated user3020 returns proper outcome3021 snippet_visibility: :private, user_type: :external, outcome: false3022 For personal and private snippets with external user3023 returns proper outcome3024 snippet_visibility: :private, user_type: :non_member, outcome: false3025 For personal and private snippets with non_member user3026 returns proper outcome3027 snippet_visibility: :private, user_type: :author, outcome: true3028 For personal and private snippets with author user3029 returns proper outcome3030 when the user cannot read cross project3031 returns only personal snippets3032 external authorization3033 includes the result if the external service allows access3034 does not include any results if the external service denies access3035 behaves like a finder with external authorization service3036 finds the subject3037 with an external authorization service3038 does not include the subject when no project was given3039 includes the subject when a project id was given3040Gitlab::GitAccessSnippet3041 when actor is a DeployKey3042 does not allow push and pull access3043 when snippet repository is read-only3044 does not allow push and allows pull access3045 #check_snippet_accessibility!3046 when the snippet exists3047 allows access3048 when the snippet is nil3049 blocks access with "not found"3050 when the snippet does not have a repository3051 blocks access with "not found"3052 terms are enforced3053 blocks access when the user did not accept terms3054 allows access when the user accepted the terms3055 behaves like actor is migration bot3056 when user is the migration bot3057 can perform git operations3058 project snippet accessibility3059 when project is public3060 behaves like checks accessibility3061 anonymous3062 respects accessibility3063 non_member3064 respects accessibility3065 guest3066 respects accessibility3067 reporter3068 respects accessibility3069 maintainer3070 respects accessibility3071 admin3072 respects accessibility3073 author3074 respects accessibility3075 behaves like actor is migration bot3076 when user is the migration bot3077 can perform git operations3078 when project is public but snippet feature is private3079 behaves like checks accessibility3080 anonymous3081 respects accessibility3082 non_member3083 respects accessibility3084 guest3085 respects accessibility3086 reporter3087 respects accessibility3088 maintainer3089 respects accessibility3090 admin3091 respects accessibility3092 author3093 respects accessibility3094 behaves like actor is migration bot3095 when user is the migration bot3096 can perform git operations3097 when project is not accessible3098 anonymous3099 respects accessibility3100 non_member3101 respects accessibility3102 behaves like actor is migration bot3103 when user is the migration bot3104 can perform git operations3105 when project is archived3106 anonymous3107 cannot perform git operations3108 non_member3109 cannot perform git operations3110 guest3111 cannot perform git pushes3112 reporter3113 cannot perform git pushes3114 maintainer3115 cannot perform git pushes3116 author3117 cannot perform git pushes3118 admin3119 when admin mode is enabled3120 cannot perform git pushes3121 when admin mode is disabled3122 cannot perform git operations3123 behaves like actor is migration bot3124 when user is the migration bot3125 can perform git operations3126 when snippet feature is disabled3127 anonymous3128 cannot perform git operations3129 non_member3130 cannot perform git operations3131 author3132 cannot perform git operations3133 admin3134 cannot perform git operations3135 behaves like actor is migration bot3136 when user is the migration bot3137 can perform git operations3138 personal snippet accessibility3139 snippet_level: :public, membership: :admin, admin_mode: true, _expected_count: 13140 respects accessibility3141 behaves like actor is migration bot3142 when user is the migration bot3143 can perform git operations3144 snippet_level: :public, membership: :admin, admin_mode: false, _expected_count: 13145 respects accessibility3146 behaves like actor is migration bot3147 when user is the migration bot3148 can perform git operations3149 snippet_level: :public, membership: :author, admin_mode: nil, _expected_count: 13150 respects accessibility3151 behaves like actor is migration bot3152 when user is the migration bot3153 can perform git operations3154 snippet_level: :public, membership: :non_member, admin_mode: nil, _expected_count: 13155 respects accessibility3156 behaves like actor is migration bot3157 when user is the migration bot3158 can perform git operations3159 snippet_level: :public, membership: :anonymous, admin_mode: nil, _expected_count: 13160 respects accessibility3161 behaves like actor is migration bot3162 when user is the migration bot3163 can perform git operations3164 snippet_level: :internal, membership: :admin, admin_mode: true, _expected_count: 13165 respects accessibility3166 behaves like actor is migration bot3167 when user is the migration bot3168 can perform git operations3169 snippet_level: :internal, membership: :admin, admin_mode: false, _expected_count: 13170 respects accessibility3171 behaves like actor is migration bot3172 when user is the migration bot3173 can perform git operations3174 snippet_level: :internal, membership: :author, admin_mode: nil, _expected_count: 13175 respects accessibility3176 behaves like actor is migration bot3177 when user is the migration bot3178 can perform git operations3179 snippet_level: :internal, membership: :non_member, admin_mode: nil, _expected_count: 13180 respects accessibility3181 behaves like actor is migration bot3182 when user is the migration bot3183 can perform git operations3184 snippet_level: :internal, membership: :anonymous, admin_mode: nil, _expected_count: 03185 respects accessibility3186 behaves like actor is migration bot3187 when user is the migration bot3188 can perform git operations3189 snippet_level: :private, membership: :admin, admin_mode: true, _expected_count: 13190 respects accessibility3191 behaves like actor is migration bot3192 when user is the migration bot3193 can perform git operations3194 snippet_level: :private, membership: :admin, admin_mode: false, _expected_count: 03195 respects accessibility3196 behaves like actor is migration bot3197 when user is the migration bot3198 can perform git operations3199 snippet_level: :private, membership: :author, admin_mode: nil, _expected_count: 13200 respects accessibility3201 behaves like actor is migration bot3202 when user is the migration bot3203 can perform git operations3204 snippet_level: :private, membership: :non_member, admin_mode: nil, _expected_count: 03205 respects accessibility3206 behaves like actor is migration bot3207 when user is the migration bot3208 can perform git operations3209 snippet_level: :private, membership: :anonymous, admin_mode: nil, _expected_count: 03210 respects accessibility3211 behaves like actor is migration bot3212 when user is the migration bot3213 can perform git operations3214 when changes are specific3215 behaves like snippet checks3216 does not raise error if SnippetCheck does not raise error3217 raises error if SnippetCheck raises error3218 sets the file count limit from Snippet class3219 when user is migration bot3220 behaves like snippet checks3221 does not raise error if SnippetCheck does not raise error3222 raises error if SnippetCheck raises error3223 sets the file count limit from Snippet class3224 repository size restrictions3225 when GIT_OBJECT_DIRECTORY_RELATIVE env var is set3226 behaves like a push to repository already over the limit3227 errs3228 behaves like migration bot does not err3229 does not err3230 behaves like a push to repository below the limit3231 does not err3232 behaves like migration bot does not err3233 does not err3234 behaves like a push to repository to make it over the limit3235 errs3236 behaves like migration bot does not err3237 does not err3238 a change with GIT_OBJECT_DIRECTORY_RELATIVE env var unset3239 behaves like a push to repository already over the limit3240 errs3241 behaves like migration bot does not err3242 does not err3243 behaves like a push to repository below the limit3244 does not err3245 behaves like migration bot does not err3246 does not err3247 behaves like a push to repository to make it over the limit3248 errs3249 behaves like migration bot does not err3250 does not err3251Issues::RelativePositionRebalancingService3252 execute3253 re-balances a set of issues with clumps at the end and start3254 is idempotent3255 acts if the flag is enabled for the root namespace3256 acts if the flag is enabled for the group3257 aborts if there are too many rebalances running3258 resumes a started rebalance even if there are already too many rebalances running3259 re-balancing is retried on statement timeout exceptions3260 retries update statement3261 when resuming a stopped rebalance3262 rebalances the other half of issues3263MergeRequests::MergeToRefService3264 #execute3265 returns an error when Gitlab::Git::CommandError is raised during merge3266 behaves like successfully merges to ref with merge method3267 writes commit to merge ref3268 cache_merge_to_ref_calls parameter3269 when true3270 caches the response3271 when false3272 does not cache the response3273 behaves like successfully evaluates pre-condition checks3274 returns an error when the failing to process the merge3275 does not send any mail3276 does not change the MR state3277 does not create notes3278 does not delete the source branch3279 commit history comparison with regular MergeService3280 when merge commit3281 behaves like MergeService for target ref3282 target_ref has the same state of target branch3283 when merge commit with squash3284 does not squash before merging3285 behaves like successfully merges to ref with merge method3286 writes commit to merge ref3287 cache_merge_to_ref_calls parameter3288 when true3289 caches the response3290 when false3291 does not cache the response3292 merge pre-condition checks3293 when semi-linear merge method3294 behaves like successfully merges to ref with merge method3295 writes commit to merge ref3296 cache_merge_to_ref_calls parameter3297 when true3298 caches the response3299 when false3300 does not cache the response3301 behaves like successfully evaluates pre-condition checks3302 returns an error when the failing to process the merge3303 does not send any mail3304 does not change the MR state3305 does not create notes3306 does not delete the source branch3307 when fast-forward merge method3308 behaves like successfully merges to ref with merge method3309 writes commit to merge ref3310 cache_merge_to_ref_calls parameter3311 when true3312 caches the response3313 when false3314 does not cache the response3315 behaves like successfully evaluates pre-condition checks3316 returns an error when the failing to process the merge3317 does not send any mail3318 does not change the MR state3319 does not create notes3320 does not delete the source branch3321 when MR is not mergeable to ref3322 returns error3323 does not close related todos3324 is expected not to be done3325 when source is missing3326 returns error3327 when target ref is passed as a parameter3328 behaves like successfully merges to ref with merge method3329 writes commit to merge ref3330 cache_merge_to_ref_calls parameter3331 when true3332 caches the response3333 when false3334 does not cache the response3335 cascading merge refs3336 when first merge happens3337 behaves like successfully merges to ref with merge method3338 writes commit to merge ref3339 cache_merge_to_ref_calls parameter3340 when true3341 caches the response3342 when false3343 does not cache the response3344 when second merge happens3345 behaves like successfully merges to ref with merge method3346 writes commit to merge ref3347 cache_merge_to_ref_calls parameter3348 when true3349 caches the response3350 when false3351 does not cache the response3352 allow conflicts to be merged in diff3353WARNING: You're overriding a previous stub implementation of `merge_to_ref`. Called from /builds/gitlab-org/gitlab/spec/services/merge_requests/merge_to_ref_service_spec.rb:298:in `block (4 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/services/merge_requests/merge_to_ref_service_spec.rb:298:in `block (4 levels) in <top (required)>'.3354 calls merge_to_ref with allow_conflicts param3355Users::MigrateRecordsToGhostUserService3356 # order random3357 on post-migrate cleanups3358 destroys the user and personal namespace3359 deletes user associations in batches3360 for batched nullify3361 nullifies related associations in batches3362 nullifies associations marked as `dependent: :nullify` anddestroys the associations marked as `dependent: :destroy`, in batches3363 nullifies merge request associations3364 for snippets3365 does not include snippets when deleting in batches3366 calls the bulk snippet destroy service for the user personal snippets3367 calls the bulk snippet destroy service with hard delete option if it is present3368 does not delete project snippets that the user is the author of3369 when an error is raised deleting snippets3370 does not delete user3371 when hard_delete option is given3372 will not ghost certain records3373 when migrating a user's associated records to the ghost user3374 for issues3375 when deleted user is present as both author and edited_user3376 for a issue the user has created3377 does not delete the issue3378 migrates all associated fields to the "Ghost user"3379 when deleted user is present only as edited_user3380 for a issue the user has created3381 does not delete the issue3382 migrates all associated fields to the "Ghost user"3383 when deleted user is the assignee3384 migrates the issue so that it is "Unassigned"3385 for merge requests3386 when deleted user is present as both author and merge_user3387 for a merge request the user has created3388 does not delete the merge request3389 migrates all associated fields to the "Ghost user"3390 when deleted user is present only as both merge_user3391 for a merge request the user has created3392 does not delete the merge request3393 migrates all associated fields to the "Ghost user"3394 when deleted user is the assignee3395 migrates the merge request so that it is "Unassigned"3396 for notes3397 for a note the user has created3398 does not delete the note3399 migrates all associated fields to the "Ghost user"3400 for abuse reports3401 for a abuse report the user has created3402 does not delete the abuse report3403 migrates all associated fields to the "Ghost user"3404 for award emoji3405 for a award emoji the user has created3406 does not delete the award emoji3407 migrates all associated fields to the "Ghost user"3408 when the awardable already has an award emoji of the same name assigned to the ghost user3409 migrates the award emoji regardless3410 does not leave the migrated award emoji in an invalid state3411 for snippets3412 for a snippet the user has created3413 does not delete the snippet3414 migrates all associated fields to the "Ghost user"3415 for reviews3416 for a review the user has created3417 does not delete the review3418 migrates all associated fields to the "Ghost user"3419 for releases3420 for a release the user has created3421 does not delete the release3422 migrates all associated fields to the "Ghost user"3423Banzai::Filter::References::CommitReferenceFilter3424 requires project context3425 ignores valid references contained inside 'pre' element3426 ignores valid references contained inside 'code' element3427 ignores valid references contained inside 'a' element3428 ignores valid references contained inside 'style' element3429 internal reference3430 links to a valid reference of 7 characters3431 links to a valid reference of 8 characters3432 links to a valid reference of 12 characters3433 links to a valid reference of 18 characters3434 links to a valid reference of 20 characters3435 links to a valid reference of 32 characters3436 links to a valid reference of 40 characters3437 always uses the short ID as the link text3438 links with adjacent text3439 ignores invalid commit IDs3440 includes a title attribute3441 escapes the title attribute3442 includes default classes3443 includes a data-project attribute3444 includes a data-commit attribute3445 supports an :only_path context3446 in merge request context3447 handles merge request contextual commit references3448 a doc with many (29) strings that could be SHAs3449 makes only a single request to Gitaly3450 cross-project / cross-namespace complete reference3451 link has valid text3452 has valid text3453 ignores invalid commit IDs on the referenced project3454 cross-project / same-namespace complete reference3455 link has valid text3456 has valid text3457 ignores invalid commit IDs on the referenced project3458 cross-project shorthand reference3459 link has valid text3460 has valid text3461 ignores invalid commit IDs on the referenced project3462 cross-project URL reference3463 links to a valid reference3464 links with adjacent text3465 ignores invalid commit IDs on the referenced project3466 URL reference for a commit patch3467 links to a valid reference3468 has valid text3469 does not link to patch when extension match is after the path3470 group context3471 ignores internal references3472 links to a valid reference3473 checking N+13474 does not have N+1 per multiple references per project3475Gitlab::Database::MigrationHelpers::RestrictGitlabSchema3476 #restrict_gitlab_migration3477 invalid schema raises exception3478 does configure allowed_gitlab_schema3479 when executing migrations3480 does create table in gitlab_main and gitlab_ci3481 for db_config_name=main3482 while restrict_gitlab_migration=no_gitlab_schema3483 does run migrate :up and :down3484 while restrict_gitlab_migration=gitlab_schema_gitlab_main3485 does run migrate :up and :down3486 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3487 does run migrate :up and :down3488 does add column to projects in gitlab_main and gitlab_ci3489 for db_config_name=main3490 while restrict_gitlab_migration=no_gitlab_schema3491 does run migrate :up and :down3492 while restrict_gitlab_migration=gitlab_schema_gitlab_main3493 does run migrate :up and :down3494 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3495 does run migrate :up and :down3496 does add column to ci_builds in gitlab_main and gitlab_ci3497 for db_config_name=main3498 while restrict_gitlab_migration=no_gitlab_schema3499 does run migrate :up and :down3500 while restrict_gitlab_migration=gitlab_schema_gitlab_main3501 does run migrate :up and :down3502 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3503 does run migrate :up and :down3504 does add index to projects in gitlab_main and gitlab_ci3505 for db_config_name=main3506 while restrict_gitlab_migration=no_gitlab_schema3507 does run migrate :up and :down3508 while restrict_gitlab_migration=gitlab_schema_gitlab_main3509 does run migrate :up and :down3510 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3511 does run migrate :up and :down3512 does add index to ci_builds in gitlab_main and gitlab_ci3513 for db_config_name=main3514 while restrict_gitlab_migration=no_gitlab_schema3515 does run migrate :up and :down3516 while restrict_gitlab_migration=gitlab_schema_gitlab_main3517 does run migrate :up and :down3518 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3519 does run migrate :up and :down3520 does create trigger in gitlab_main and gitlab_ci3521 for db_config_name=main3522 while restrict_gitlab_migration=no_gitlab_schema3523 does run migrate :up and :down3524 while restrict_gitlab_migration=gitlab_schema_gitlab_main3525 does run migrate :up and :down3526 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3527 does run migrate :up and :down3528 does create schema in gitlab_main and gitlab_ci3529 for db_config_name=main3530 while restrict_gitlab_migration=no_gitlab_schema3531 does run migrate :up and :down3532 while restrict_gitlab_migration=gitlab_schema_gitlab_main3533 does run migrate :up and :down3534 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3535 does run migrate :up and :down3536 does attach loose foreign key trigger in gitlab_main and gitlab_ci3537 for db_config_name=main3538 while restrict_gitlab_migration=no_gitlab_schema3539 does run migrate :up and :down3540 while restrict_gitlab_migration=gitlab_schema_gitlab_main3541 does run migrate :up and :down3542 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3543 does run migrate :up and :down3544 does insert into software_licenses3545 for db_config_name=main3546 while restrict_gitlab_migration=no_gitlab_schema3547 does run migrate :up and :down3548 while restrict_gitlab_migration=gitlab_schema_gitlab_main3549 does run migrate :up and :down3550 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3551 does run migrate :up and :down3552 does raise exception when accessing tables outside of gitlab_main3553 for db_config_name=main3554 while restrict_gitlab_migration=no_gitlab_schema3555 does run migrate :up and :down3556 while restrict_gitlab_migration=gitlab_schema_gitlab_main3557 does run migrate :up and :down3558 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3559 does run migrate :up and :down3560 does allow modifying gitlab_shared3561 for db_config_name=main3562 while restrict_gitlab_migration=no_gitlab_schema3563 does run migrate :up and :down3564 while restrict_gitlab_migration=gitlab_schema_gitlab_main3565 does run migrate :up and :down3566 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3567 does run migrate :up and :down3568 does update data in batches of gitlab_main, but skips gitlab_ci3569 for db_config_name=main3570 while restrict_gitlab_migration=no_gitlab_schema3571 does run migrate :up and :down3572 while restrict_gitlab_migration=gitlab_schema_gitlab_main3573 does run migrate :up and :down3574 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3575 does run migrate :up and :down3576 does not allow executing mixed DDL and DML migrations3577 for db_config_name=main3578 while restrict_gitlab_migration=no_gitlab_schema3579 does run migrate :up and :down3580 while restrict_gitlab_migration=gitlab_schema_gitlab_main3581 does run migrate :up and :down3582 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3583 does run migrate :up and :down3584 does schedule background migrations on gitlab_main3585 for db_config_name=main3586 while restrict_gitlab_migration=no_gitlab_schema3587 does run migrate :up and :down3588 while restrict_gitlab_migration=gitlab_schema_gitlab_main3589 does run migrate :up and :down3590 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3591 does run migrate :up and :down3592 does support prepare_async_index3593 for db_config_name=main3594 while restrict_gitlab_migration=no_gitlab_schema3595 does run migrate :up and :down3596 while restrict_gitlab_migration=gitlab_schema_gitlab_main3597 does run migrate :up and :down3598 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3599 does run migrate :up and :down3600 does raise exception when accessing current settings3601 for db_config_name=main3602 while restrict_gitlab_migration=no_gitlab_schema3603 does run migrate :up and :down3604 while restrict_gitlab_migration=gitlab_schema_gitlab_main3605 does run migrate :up and :down3606 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3607 does run migrate :up and :down3608 does raise exception when accessing feature flags3609 for db_config_name=main3610 while restrict_gitlab_migration=no_gitlab_schema3611 does run migrate :up and :down3612 while restrict_gitlab_migration=gitlab_schema_gitlab_main3613 does run migrate :up and :down3614 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3615 does run migrate :up and :down3616 does raise exception about cross schema access when suppressing restriction to ensure3617 for db_config_name=main3618 while restrict_gitlab_migration=no_gitlab_schema3619 does run migrate :up and :down (PENDING: Skipping because ci is shared or doesn't not exist)3620 while restrict_gitlab_migration=gitlab_schema_gitlab_main3621 does run migrate :up and :down (PENDING: Skipping because ci is shared or doesn't not exist)3622 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3623 does run migrate :up and :down (PENDING: Skipping because ci is shared or doesn't not exist)3624RemoteMirror3625 URL validation3626 with a valid URL3627 is valid3628 with an invalid URL3629 is not valid3630 does not allow url with an invalid user3631 does not allow url pointing to localhost3632 does not allow url pointing to the local network3633 returns a nil safe_url3634 encrypting credentials3635 when setting URL for a first time3636 stores the URL without credentials3637 stores the credentials on a separate field3638 handles credentials with large content3639 when updating the URL3640 allows a new URL without credentials3641 allows a new URL with credentials3642 #bare_url3643 returns the URL without any credentials3644 returns an empty string when the URL is nil3645 #update_repository3646 performs update including options3647 #options_for_update3648 includes the `keep_divergent_refs` option3649 includes the `only_branches_matching` option3650 includes the `ssh_key` option3651 includes the `known_hosts` option3652 #safe_url3653 when URL contains credentials3654 masks the credentials3655 when URL does not contain credentials3656 shows the full URL3657 #mark_as_failed!3658 sets the update_status to failed3659 saves the sanitized error3660 notifications3661 notifies the project maintainers3662 #hard_retry!3663 transitions an invalid mirror to the to_retry state3664 #hard_fail!3665 transitions an invalid mirror to the failed state3666 when remote mirror gets destroyed3667 does not remove the remote3668 stuck mirrors3669 includes mirrors that were started over an hour ago3670 includes mirrors started over 3 hours ago for their first sync3671 #sync3672 with remote mirroring disabled3673 returns nil3674 with remote mirroring enabled3675 defaults to disabling only protected branches3676 with only protected branches enabled3677 when it did not update in the last minute3678 schedules a RepositoryUpdateRemoteMirrorWorker to run now3679 when it did update in the last minute3680 schedules a RepositoryUpdateRemoteMirrorWorker to run in the next minute3681 with only protected branches disabled3682 when it did not update in the last 5 minutes3683 schedules a RepositoryUpdateRemoteMirrorWorker to run now3684 when it did update within the last 5 minutes3685 schedules a RepositoryUpdateRemoteMirrorWorker to run in the next 5 minutes3686 when remote_mirror_no_delay is enabled3687 schedules a RepositoryUpdateRemoteMirrorWorker to run now3688 #url=3689 resets all the columns when URL changes3690 #updated_since?3691 when remote mirror does not have status failed3692 returns true when last update started after the timestamp3693 returns false when last update started before the timestamp3694 when remote mirror has status failed3695 returns false when last update started after the timestamp3696 no project3697 includes mirror with a project in pending_delete3698 #disabled?3699 when disabled3700 is expected to be truthy3701 when enabled3702 is expected to be falsy3703Ci::BuildRunnerPresenter3704 #artifacts3705 when option contains archive-type artifacts3706 presents correct hash3707 when untracked is specified3708 presents correct hash3709 when untracked and paths are missing3710 does not present hash3711 when artifacts exclude is defined3712 includes the list of excluded paths3713 when artifacts exclude is not defined3714 does not include an empty list of excluded paths3715 with reports3716 archive3717 presents correct hash3718 metadata3719 presents correct hash3720 trace3721 presents correct hash3722 metrics_referee3723 presents correct hash3724 network_referee3725 presents correct hash3726 junit3727 presents correct hash3728 accessibility3729 presents correct hash3730 codequality3731 presents correct hash3732 sast3733 presents correct hash3734 secret_detection3735 presents correct hash3736 dependency_scanning3737 presents correct hash3738 container_scanning3739 presents correct hash3740 cluster_image_scanning3741 presents correct hash3742 dast3743 presents correct hash3744 license_scanning3745 presents correct hash3746 performance3747 presents correct hash3748 browser_performance3749 presents correct hash3750 load_performance3751 presents correct hash3752 metrics3753 presents correct hash3754 lsif3755 presents correct hash3756 dotenv3757 presents correct hash3758 cobertura3759 presents correct hash3760 terraform3761 presents correct hash3762 cluster_applications3763 presents correct hash3764 requirements3765 presents correct hash3766 requirements_v23767 presents correct hash3768 coverage_fuzzing3769 presents correct hash3770 api_fuzzing3771 presents correct hash3772 cyclonedx3773 presents correct hash3774 when a specific coverage_report type is given3775 presents the coverage report hash with the coverage format3776 when a specific coverage_report type is given with another report type3777 presents both reports3778 when option has both archive and reports specification3779 presents correct hash3780 when archive specifies 'expire_in' keyword3781 inherits expire_in from archive3782 when option has no artifact keywords3783 does not present hash3784 #ref_type3785 returns the correct ref type3786 when tag is false3787 returns the correct ref type3788 #git_depth3789 defaults to git depth setting for the project3790 when GIT_DEPTH variable is specified3791 returns its value3792 #refspecs3793 returns the correct refspecs3794 when ref is tag3795 returns the correct refspecs3796 when GIT_DEPTH is zero3797 returns the correct refspecs3798 when pipeline is detached merge request pipeline3799 returns the correct refspecs3800 when GIT_DEPTH is zero3801 returns the correct refspecs3802 when pipeline is legacy detached merge request pipeline3803 returns the correct refspecs3804 when persistent pipeline ref exists3805 exposes the persistent pipeline ref3806 #runner_variables3807 returns an array3808 returns the expected variables3809 when there is a file variable to expand3810 returns variables with expanded3811 when there is a raw variable to expand3812 returns expanded variables without expanding raws3813 #runner_variables subset3814 with references in pipeline variables3815 returns expanded and sorted variables3816MergeRequestTargetProjectFinder3817 public projects3818 behaves like finding related projects3819 finds sibling projects and base project3820 does not include projects that have merge requests turned off by default3821 includes projects that have merge requests turned off by default with a more-permissive project feature3822 does not contain archived projects3823 does not include routes by default3824 includes routes when requested3825 private projects3826 only finds the projects the user is a member of3827 when the user is a member of all projects3828 behaves like finding related projects3829 finds sibling projects and base project3830 does not include projects that have merge requests turned off by default3831 includes projects that have merge requests turned off by default with a more-permissive project feature3832 does not contain archived projects3833 does not include routes by default3834 includes routes when requested3835 searching3836 returns all projects with empty search3837 returns forked project with search string3838 returns no projects with search for project that does no exist3839Gitlab::Checks::BranchCheck3840 #validate!3841 does not raise any error3842 trying to delete the default branch3843 raises an error3844 prohibited branches check3845 prohibits 40-character hexadecimal branch names3846 prohibits 40-character hexadecimal branch names as the start of a path3847 doesn't prohibit a nested hexadecimal in a branch name3848 deleting a hexadecimal branch3849 doesn't prohibit the deletion of a hexadecimal branch name3850 when branch name is invalid3851 prohibits branches with an invalid name3852 deleting an invalid branch3853 doesn't prohibit the deletion of an invalid branch name3854 protected branches check3855 raises an error if the user is not allowed to do forced pushes to protected branches3856 raises an error if the user is not allowed to merge to protected branches3857 raises an error if the user is not allowed to push to protected branches3858 when user has push access3859 if protected branches is allowed to force push3860 allows force push3861 if protected branches is not allowed to force push3862 prevents force push3863 when user does not have push access3864 if protected branches is allowed to force push3865 prevents force push3866 if protected branches is not allowed to force push3867 prevents force push3868 when project repository is empty3869 user is not allowed to push to protected branches3870 raises an error3871 user is allowed to push to protected branches3872 allows branch creation3873 branch creation3874 user can push to branch3875 does not raise an error3876 user cannot push to branch3877 user cannot merge to branch3878 raises an error3879 user can merge to branch3880 newrev isn't in any protected branches3881 raises an error3882 newrev is included in a protected branch3883 via web interface3884 allows branch creation3885 via SSH3886 raises an error3887 branch deletion3888 if the user is not allowed to delete protected branches3889 raises an error3890 if the user is allowed to delete protected branches3891 through the web interface3892 allows branch deletion3893 over SSH or HTTP3894 raises an error3895ServiceHook3896 behaves like a hook that does not get automatically disabled on failure3897 .executable/.disabled3898 finds the correct set of project hooks3899 #executable?3900 recent_failures: 0, not_until: :not_set3901 has the correct state3902 recent_failures: 0, not_until: :past3903 has the correct state3904 recent_failures: 0, not_until: :future3905 has the correct state3906 recent_failures: 0, not_until: :now3907 has the correct state3908 recent_failures: 1, not_until: :not_set3909 has the correct state3910 recent_failures: 1, not_until: :past3911 has the correct state3912 recent_failures: 1, not_until: :future3913 has the correct state3914 recent_failures: 3, not_until: :not_set3915 has the correct state3916 recent_failures: 3, not_until: :past3917 has the correct state3918 recent_failures: 3, not_until: :future3919 has the correct state3920 recent_failures: 4, not_until: :not_set3921 has the correct state3922 recent_failures: 4, not_until: :past3923 has the correct state3924 recent_failures: 4, not_until: :now3925 has the correct state3926 recent_failures: 4, not_until: :future3927 has the correct state3928 #enable!3929 makes a hook executable if it was marked as failed3930 makes a hook executable if it is currently backed off3931 does not update hooks unless necessary3932 #backoff!3933 when we have not backed off before3934 does not disable the hook3935 when we have exhausted the grace period3936 does not disable the hook3937 #disable!3938 does not disable a group hook3939 #temporarily_disabled?3940 is false3941 #permanently_disabled?3942 is false3943 #alert_status3944 is expected to eq :executable3945 when hook has been disabled3946 is expected to eq :executable3947 when hook has been backed off3948 is expected to eq :executable3949 associations3950 is expected to belong to integration required: false3951 validations3952 is expected to validate that :integration cannot be empty/falsy3953 execute3954 #execute3955 #parent3956 with a project-level integration3957 returns the associated project3958 with a group-level integration3959 returns the associated group3960 with an instance-level integration3961 returns nil3962 #application_context3963 includes the type3964projects/merge_requests/edit.html.haml3965 with the visible_label_selection_on_metadata feature flag enabled3966 when a merge request without fork3967 shows editable fields3968 behaves like merge request shows editable fields3969 shows editable fields3970 when a merge request with an existing source project is closed3971 shows editable fields3972 behaves like merge request shows editable fields3973 shows editable fields3974 with the visible_label_selection_on_metadata feature flag disabled3975 when a merge request without fork3976 shows editable fields3977 behaves like merge request shows editable fields3978 shows editable fields3979 when a merge request with an existing source project is closed3980 shows editable fields3981 behaves like merge request shows editable fields3982 shows editable fields3983gitlab:db namespace rake task3984 mark_migration_complete3985 with a single database3986 marks the migration complete on the given database3987 with multiple databases3988 marks the migration complete on each database (PENDING: Skipping because ci is shared or doesn't not exist)3989 when the single database task is used3990 marks the migration complete for the given database (PENDING: Skipping because ci is shared or doesn't not exist)3991 with geo configured3992 does not create a task for the geo database (PENDING: Skipping because ci is shared or doesn't not exist)3993 when the migration is already marked complete3994 prints a warning message3995 when an invalid version is given3996 prints an error and exits3997 configure3998 with a single database3999 when geo is not configured4000 when the schema is already loaded4001 migrates the database4002 when the schema is not loaded4003 loads the schema and seeds the database4004 when only a single table is present4005 loads the schema and seeds the database4006 when loading the schema fails4007 does not seed the database4008 SKIP_POST_DEPLOYMENT_MIGRATIONS environment variable set4009 when the schema is not loaded4010 adds the post deployment migration path before schema load4011 when the schema is loaded4012 ignores post deployment migrations4013 when geo is configured4014 when the main database is also configured4015 only configures the main database (PENDING: Skipping because the geo database is not configured)4016 with multiple databases4017 when geo is not configured4018 when no database has the schema loaded4019 loads the schema and seeds all the databases (PENDING: Skipping because ci is shared or doesn't not exist)4020 when both databases have the schema loaded4021 migrates the databases without seeding them (PENDING: Skipping because ci is shared or doesn't not exist)4022 when only one database has the schema loaded4023 migrates and loads the schema correctly, without seeding the databases (PENDING: Skipping because ci is shared or doesn't not exist)4024 when geo is configured4025 does not run tasks against geo (PENDING: Skipping because ci is shared or doesn't not exist)4026 schema inconsistencies4027 prints the inconsistency message4028 dictionary generate4029 when the dictionary files do not exist4030 generate the dictionary files4031 do not generate the dictionary files for test tables4032 when a new model class is added to the codebase4033 appends new classes to the dictionary4034 when a model class is removed from the codebase4035 keeps the dictionary classes4036 unattended4037 schema_migration_table_exists: false, needs_migrations: false, rake_output: "unattended_migrations_completed"4038 outputs changed message for automation after operations happen4039 schema_migration_table_exists: false, needs_migrations: true, rake_output: "unattended_migrations_completed"4040 outputs changed message for automation after operations happen4041 schema_migration_table_exists: true, needs_migrations: false, rake_output: "unattended_migrations_static"4042 outputs changed message for automation after operations happen4043 schema_migration_table_exists: true, needs_migrations: true, rake_output: "unattended_migrations_completed"4044 outputs changed message for automation after operations happen4045 clean_structure_sql4046 can be executed multiple times within another rake task4047 drop_tables4048 with a single database4049 drops all objects for the database4050 with multiple databases4051 drops all objects for all databases (PENDING: Skipping because ci is shared or doesn't not exist)4052 when the single database task is used4053 drops all objects for the given database (PENDING: Skipping because ci is shared or doesn't not exist)4054 with geo configured4055 does not create a task for the geo database (PENDING: Skipping because ci is shared or doesn't not exist)4056 create_dynamic_partitions4057 with a single database4058 delegates syncing of partitions without limiting databases4059 with multiple databases4060 when running the multi-database variant4061 delegates syncing of partitions without limiting databases (PENDING: Skipping because ci is shared or doesn't not exist)4062 when running a single-database variant4063 delegates syncing of partitions for the chosen database (PENDING: Skipping because ci is shared or doesn't not exist)4064 with geo configured4065 does not create a task for the geo database (PENDING: Skipping because the geo database is not configured)4066 reindex4067 with a single database4068 delegates to Gitlab::Database::Reindexing (PENDING: Skipping because ci is shared or doesn't not exist)4069 when reindexing is not enabled4070 is a no-op (PENDING: Skipping because ci is shared or doesn't not exist)4071 with multiple databases4072 delegates to Gitlab::Database::Reindexing without a specific database (PENDING: Skipping because none of the extra databases [:ci] are setup)4073 when the single database task is used4074 delegates to Gitlab::Database::Reindexing with a specific database (PENDING: Skipping because none of the extra databases [:ci] are setup)4075 when reindexing is not enabled4076 is a no-op (PENDING: Skipping because none of the extra databases [:ci] are setup)4077 with geo configured4078 does not create a task for the geo database (PENDING: Skipping because none of the extra databases [:ci] are setup)4079 enqueue_reindexing_action4080 creates an entry in the queue4081 defaults to main database4082 execute_async_index_operations4083 delegates ci task to Gitlab::Database::AsyncIndexes (PENDING: Skipping because ci is shared or doesn't not exist)4084 delegates ci task to Gitlab::Database::AsyncIndexes with specified argument (PENDING: Skipping because ci is shared or doesn't not exist)4085 delegates main task to Gitlab::Database::AsyncIndexes (PENDING: Skipping because ci is shared or doesn't not exist)4086 delegates main task to Gitlab::Database::AsyncIndexes with specified argument (PENDING: Skipping because ci is shared or doesn't not exist)4087 delegates all task to every database with higher default for dev (PENDING: Skipping because ci is shared or doesn't not exist)4088 delegates all task to every database with lower default for prod (PENDING: Skipping because ci is shared or doesn't not exist)4089 delegates all task to every database with specified argument (PENDING: Skipping because ci is shared or doesn't not exist)4090 when feature is not enabled4091 is a no-op (PENDING: Skipping because ci is shared or doesn't not exist)4092 with geo configured4093 does not create a task for the geo database (PENDING: Skipping because ci is shared or doesn't not exist)4094 validate_async_constraints4095 delegates ci task to Gitlab::Database::AsyncConstraints (PENDING: Skipping because ci is shared or doesn't not exist)4096 delegates ci task to Gitlab::Database::AsyncConstraints with specified argument (PENDING: Skipping because ci is shared or doesn't not exist)4097 delegates main task to Gitlab::Database::AsyncConstraints (PENDING: Skipping because ci is shared or doesn't not exist)4098 delegates main task to Gitlab::Database::AsyncConstraints with specified argument (PENDING: Skipping because ci is shared or doesn't not exist)4099 delegates all task to every database with higher default for dev (PENDING: Skipping because ci is shared or doesn't not exist)4100 delegates all task to every database with lower default for prod (PENDING: Skipping because ci is shared or doesn't not exist)4101 delegates all task to every database with specified argument (PENDING: Skipping because ci is shared or doesn't not exist)4102 when feature is not enabled4103 is a no-op (PENDING: Skipping because ci is shared or doesn't not exist)4104 with geo configured4105 does not create a task for the geo database (PENDING: Skipping because ci is shared or doesn't not exist)4106 active4107 needs_migration: true, project_count: nil, exit_status: 1, exit_code: false4108 exits 0 or 1 depending on user modifications to the database4109 needs_migration: false, project_count: 1, exit_status: 0, exit_code: true4110 exits 0 or 1 depending on user modifications to the database4111 needs_migration: false, project_count: 0, exit_status: 1, exit_code: false4112 exits 0 or 1 depending on user modifications to the database4113 needs_migration: false, project_count: 2, exit_status: 0, exit_code: true4114 exits 0 or 1 depending on user modifications to the database4115 #migrate_with_instrumentation4116 #up (legacy mode)4117 delegates to the migration runner in legacy mode4118 #sample_background_migrations4119 delegates to the migration runner with a default sample duration4120 delegates to the migration runner with a configured sample duration4121 db: :main4122 #up4123 delegates to the migration runner4124 #down4125 delegates to the migration runner4126 #sample_batched_background_migrations4127 delegates to the migration runner for a specified database with a default sample duration4128 delegates to the migration runner for a specified database and sample duration4129 #execute_batched_migrations4130 executes all migrations4131 with multiple databases4132 db:schema:dump against a single database4133 invokes gitlab:db:clean_structure_sql (PENDING: Skipping because ci is shared or doesn't not exist)4134 db:migrate against a single database4135 invokes gitlab:db:create_dynamic_partitions for the same database (PENDING: Skipping because ci is shared or doesn't not exist)4136 db:migrate:geo4137 does not invoke gitlab:db:create_dynamic_partitions (PENDING: Skipping because ci is shared or doesn't not exist)4138 gitlab:db:reset_as_non_superuser4139 migrate as nonsuperuser check with default username4140 migrate as nonsuperuser check with specified username4141Todos::Destroy::GroupPrivateService4142 #execute4143 when a group set to private4144 removes todos only for users who are not group users4145 with nested groups4146 removes todos only for users who are not group users4147 when group is not private4148 does not remove any todos4149Submodules::UpdateService4150 #execute4151 when the user is not authorized4152 behaves like returns error result4153 is expected to eq "You are not allowed to push into this branch"4154 when the user is authorized4155 updates the submodule reference4156 when the branch is protected4157 behaves like returns error result4158 is expected to eq "You are not allowed to push into this branch"4159 validations4160 when submodule4161 is empty4162 behaves like returns error result4163 is expected to eq "Invalid parameters"4164 is not present4165 behaves like returns error result4166 is expected to eq "Invalid parameters"4167 is invalid4168 behaves like returns error result4169 is expected to eq "Invalid submodule path"4170 does not exist4171 behaves like returns error result4172 is expected to eq "Invalid submodule path"4173 has traversal path4174 behaves like returns error result4175 is expected to eq "Invalid submodule path"4176 commit_sha4177 is empty4178 behaves like returns error result4179 is expected to eq "Invalid parameters"4180 is not present4181 behaves like returns error result4182 is expected to eq "Invalid parameters"4183 is invalid4184 behaves like returns error result4185 is expected to eq "Invalid parameters"4186 is the same as the current ref4187 behaves like returns error result4188 is expected to eq "The submodule six is already at 409f37c4f05865e4fb208c771485f211a22c4c2d"4189 branch_name4190 is empty4191 behaves like returns error result4192 is expected to eq "You can only create or edit files when you are on a branch"4193 is not present4194 behaves like returns error result4195 is expected to eq "Invalid parameters"4196 does not exist4197 behaves like returns error result4198 is expected to eq "You can only create or edit files when you are on a branch"4199 when commit message is empty4200 a default commit message is set4201 when there is an unexpected error4202 behaves like returns error result4203 is expected to eq "error message"4204 when submodule is inside a directory4205 updates the submodule reference4206 when repository is empty4207 behaves like returns error result4208 is expected to eq "The repository is empty"4209Gitlab::Ci::Status::External::Factory4210 when external status has a simple core status4211 when core status is created4212 fabricates a core status created4213 extends core status with common methods4214 when core status is waiting_for_resource4215 fabricates a core status waiting_for_resource4216 extends core status with common methods4217 when core status is preparing4218 fabricates a core status preparing4219 extends core status with common methods4220 when core status is pending4221 fabricates a core status pending4222 extends core status with common methods4223 when core status is running4224 fabricates a core status running4225 extends core status with common methods4226 when core status is success4227 fabricates a core status success4228 extends core status with common methods4229 when core status is failed4230 fabricates a core status failed4231 extends core status with common methods4232 when core status is canceled4233 fabricates a core status canceled4234 extends core status with common methods4235 when core status is skipped4236 fabricates a core status skipped4237 extends core status with common methods4238 when core status is manual4239 fabricates a core status manual4240 extends core status with common methods4241 when core status is scheduled4242 fabricates a core status scheduled4243 extends core status with common methods4244Ci::PipelineCreation::CancelRedundantPipelinesService4245 # order random4246 #execute!4247 when build statuses are set up correctly4248 has builds of all statuses4249 when auto-cancel is enabled4250 cancels only previous interruptible builds4251 logs canceled pipelines4252 cancels the builds with 2 queries to avoid query timeout4253 does not cancel future pipelines4254 when the previous pipeline has a child pipeline4255 with another nested child pipeline4256 cancels all nested child pipeline builds4257 when started after pipeline was finished4258 cancels child pipeline builds4259 when the child pipeline has interruptible running jobs4260 cancels all child pipeline builds4261 when the child pipeline includes completed interruptible jobs4262 cancels all child pipeline builds with a cancelable_status4263 when the child pipeline has started non-interruptible job4264 does not cancel any child pipeline builds4265 when the child pipeline has non-interruptible non-started job4266 when the jobs are cancelable4267 cancels all child pipeline builds when build status waiting_for_resource included4268 cancels all child pipeline builds when build status preparing included4269 cancels all child pipeline builds when build status pending included4270 cancels all child pipeline builds when build status created included4271 cancels all child pipeline builds when build status scheduled included4272 when the jobs are not cancelable4273 does not cancel child pipeline builds when build status canceled included4274 does not cancel child pipeline builds when build status skipped included4275 does not cancel child pipeline builds when build status manual included4276 when the pipeline is a child pipeline4277 does not cancel any builds4278 when the previous pipeline source is webide4279 does not cancel builds of the previous pipeline4280 when auto-cancel is disabled4281 does not cancel any build4282Gitlab::Search::FoundBlob4283 parsing content results4284 returns a valid FoundBlob4285 does not parse content if not needed4286 parses content only once when needed4287 when the matching filename contains a colon4288 returns a valid FoundBlob4289 when the matching content contains a number surrounded by colons4290 returns a valid FoundBlob4291 when the matching content contains multiple null bytes4292 returns a valid FoundBlob4293 when the search result ends with an empty line4294 returns a valid FoundBlob that ends with an empty line4295 when the search returns non-ASCII data4296 with UTF-84297 returns results as UTF-84298 with UTF-8 in the filename4299 returns results as UTF-84300 with ISO-8859-14301 returns results as UTF-84302 when filename has extension4303 is expected to eq "CONTRIBUTE.md"4304 is expected to eq "CONTRIBUTE"4305 when file is under directory4306 is expected to eq "a/b/c.md"4307 is expected to eq "a/b/c"4308 parsing title results4309 when file is under directory4310 is expected to eq "a/b/c.md"4311 is expected to eq "a/b/c"4312 when filename has multiple extensions4313 is expected to eq "a/b/c.whatever"4314 policy4315 works with policy4316BlobPolicy4317 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 14318 grants permission4319 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 14320 grants permission4321 project_level: :public, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 14322 grants permission4323 project_level: :public, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 14324 grants permission4325 project_level: :public, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 14326 grants permission4327 project_level: :public, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 14328 grants permission4329 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 14330 grants permission4331 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 04332 grants permission4333 project_level: :public, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 14334 grants permission4335 project_level: :public, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 14336 grants permission4337 project_level: :public, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 04338 grants permission4339 project_level: :public, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 04340 grants permission4341 project_level: :public, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 04342 grants permission4343 project_level: :public, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 04344 grants permission4345 project_level: :public, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 04346 grants permission4347 project_level: :public, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 04348 grants permission4349 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 14350 grants permission4351 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 14352 grants permission4353 project_level: :internal, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 14354 grants permission4355 project_level: :internal, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 14356 grants permission4357 project_level: :internal, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 14358 grants permission4359 project_level: :internal, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 04360 grants permission4361 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 14362 grants permission4363 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 04364 grants permission4365 project_level: :internal, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 14366 grants permission4367 project_level: :internal, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 14368 grants permission4369 project_level: :internal, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 04370 grants permission4371 project_level: :internal, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 04372 grants permission4373 project_level: :internal, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 04374 grants permission4375 project_level: :internal, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 04376 grants permission4377 project_level: :internal, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 04378 grants permission4379 project_level: :internal, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 04380 grants permission4381 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 14382 grants permission4383 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 04384 grants permission4385 project_level: :private, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 14386 grants permission4387 project_level: :private, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 04388 grants permission4389 project_level: :private, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 04390 grants permission4391 project_level: :private, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 04392 grants permission4393 project_level: :private, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 04394 grants permission4395 project_level: :private, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 04396 grants permission4397 project_level: :private, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 04398 grants permission4399 project_level: :private, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 04400 grants permission4401TabHelper4402 gl_tabs_nav4403 creates a tabs navigation4404 captures block output4405 adds custom class4406 gl_tab_link_to4407 creates a tab4408 creates a tab with block output4409 creates a tab with custom classes for enclosing list item without content block provided4410 creates a tab with custom classes for enclosing list item with content block provided4411 creates a tab with custom classes for anchor element4412 creates an active tab with item_active = true4413 when on the active page4414 creates an active tab4415 creates an inactive tab with item_active = false4416 nav_link4417 passes extra html options to the list element4418 with the content of the li4419 captures block output4420 controller_param: nil, action_param: nil, path_param: nil, active: false4421 is expected to eq false4422 controller_param: :foo, action_param: nil, path_param: nil, active: true4423 is expected to eq true4424 controller_param: :bar, action_param: nil, path_param: nil, active: false4425 is expected to eq false4426 controller_param: :bar, action_param: :foo, path_param: nil, active: false4427 is expected to eq false4428 controller_param: :foo, action_param: :bar, path_param: nil, active: false4429 is expected to eq false4430 controller_param: :foo, action_param: :foo, path_param: nil, active: true4431 is expected to eq true4432 controller_param: :bar, action_param: nil, path_param: "foo#foo", active: true4433 is expected to eq true4434 controller_param: :bar, action_param: nil, path_param: ["foo#foo", "bar#bar"], active: true4435 is expected to eq true4436 controller_param: :bar, action_param: :bar, path_param: ["foo#foo", "bar#bar"], active: true4437 is expected to eq true4438 controller_param: :foo, action_param: nil, path_param: "bar#foo", active: true4439 is expected to eq true4440 controller_param: :bar, action_param: nil, path_param: "bar#foo", active: false4441 is expected to eq false4442 controller_param: :foo, action_param: [:foo, :bar], path_param: "bar#foo", active: true4443 is expected to eq true4444 controller_param: :bar, action_param: :bar, path_param: "foo#foo", active: true4445 is expected to eq true4446 controller_param: :foo, action_param: :foo, path_param: "bar#foo", active: true4447 is expected to eq true4448 controller_param: :bar, action_param: :foo, path_param: "bar#foo", active: false4449 is expected to eq false4450 controller_param: :foo, action_param: :bar, path_param: "bar#foo", active: false4451 is expected to eq false4452 controller_param: [:foo, :bar], action_param: nil, path_param: nil, active: true4453 is expected to eq true4454 controller_param: [:foo, :bar], action_param: nil, path_param: "bar#foo", active: true4455 is expected to eq true4456 controller_param: [:foo, :bar], action_param: :foo, path_param: "bar#foo", active: true4457 is expected to eq true4458 controller_param: nil, action_param: :foo, path_param: nil, active: true4459 is expected to eq true4460 controller_param: nil, action_param: :bar, path_param: nil, active: false4461 is expected to eq false4462 controller_param: nil, action_param: nil, path_param: "foo#bar", active: false4463 is expected to eq false4464 controller_param: nil, action_param: nil, path_param: "foo#foo", active: true4465 is expected to eq true4466 controller_param: nil, action_param: :bar, path_param: ["foo#foo", "bar#bar"], active: true4467 is expected to eq true4468 controller_param: nil, action_param: :bar, path_param: "foo#foo", active: true4469 is expected to eq true4470 controller_param: nil, action_param: :foo, path_param: "bar#foo", active: true4471 is expected to eq true4472 controller_param: nil, action_param: [:foo, :bar], path_param: nil, active: true4473 is expected to eq true4474 controller_param: nil, action_param: [:foo, :bar], path_param: "bar#foo", active: true4475 is expected to eq true4476 controller_param: nil, action_param: :bar, path_param: "bar#foo", active: false4477 is expected to eq false4478 page: nil, excluded_page: nil, active: false4479 is expected to eq false4480 page: "_some_page_", excluded_page: nil, active: true4481 is expected to eq true4482 page: "_some_page_", excluded_page: "_excluded_page_", active: true4483 is expected to eq true4484 page: "_some_page_", excluded_page: "_some_page_", active: false4485 is expected to eq false4486 with namespace in path notation4487 controller_param: "foo/foo", action_param: nil, path_param: nil, active: false4488 is expected to eq false4489 controller_param: "bar/foo", action_param: nil, path_param: nil, active: true4490 is expected to eq true4491 controller_param: "foo/foo", action_param: :foo, path_param: nil, active: false4492 is expected to eq false4493 controller_param: "bar/foo", action_param: :bar, path_param: nil, active: false4494 is expected to eq false4495 controller_param: "bar/foo", action_param: :foo, path_param: nil, active: true4496 is expected to eq true4497 controller_param: nil, action_param: nil, path_param: "foo/foo#foo", active: false4498 is expected to eq false4499 controller_param: nil, action_param: nil, path_param: "bar/foo#foo", active: true4500 is expected to eq true4501 gl_tab_counter_badge4502 creates a tab counter badge4503 with extra classes4504 creates a tab counter badge with the correct class attribute4505 with data attributes4506 creates a tab counter badge with the data attributes4507Integrations::WebexTeams4508 behaves like chat integration4509 Associations4510 is expected to belong to project required: false4511 Validations4512 when integration is active4513 is expected to validate that :webhook cannot be empty/falsy4514 behaves like issue tracker integration URL attribute4515 is expected to allow :webhook to be ‹"https://example.com"›4516 is expected not to allow :webhook to be ‹"example.com"›4517 is expected not to allow :webhook to be ‹"ftp://example.com"›4518 is expected not to allow :webhook to be ‹"herp-and-derp"›4519 when integration is inactive4520 is expected not to validate that :webhook cannot be empty/falsy4521 .supported_events4522 does not support deployment_events4523 #execute4524 with push events4525 behaves like triggered Webex Teams integration4526 calls Webex Teams API4527 with default branch4528 when only default branch are to be notified4529 behaves like triggered Webex Teams integration4530 calls Webex Teams API4531 when only protected branches are to be notified4532 behaves like untriggered Webex Teams integration4533 does not call Webex Teams API4534 when default and protected branches are to be notified4535 behaves like triggered Webex Teams integration4536 calls Webex Teams API4537 when all branches are to be notified4538 behaves like triggered Webex Teams integration4539 calls Webex Teams API4540 with protected branch4541 when only default branch are to be notified4542 behaves like untriggered Webex Teams integration4543 does not call Webex Teams API4544 when only protected branches are to be notified4545 behaves like triggered Webex Teams integration4546 calls Webex Teams API4547 when default and protected branches are to be notified4548 behaves like triggered Webex Teams integration4549 calls Webex Teams API4550 when all branches are to be notified4551 behaves like triggered Webex Teams integration4552 calls Webex Teams API4553 with neither default nor protected branch4554 when only default branch are to be notified4555 behaves like untriggered Webex Teams integration4556 does not call Webex Teams API4557 when only protected branches are to be notified4558 behaves like untriggered Webex Teams integration4559 does not call Webex Teams API4560 when default and protected branches are to be notified4561 behaves like untriggered Webex Teams integration4562 does not call Webex Teams API4563 when all branches are to be notified4564 behaves like triggered Webex Teams integration4565 calls Webex Teams API4566 with issue events4567 behaves like triggered Webex Teams integration4568 calls Webex Teams API4569 with merge events4570 behaves like triggered Webex Teams integration4571 calls Webex Teams API4572 with wiki page events4573 behaves like triggered Webex Teams integration4574 calls Webex Teams API4575 with note events4576 with commit comment4577 behaves like triggered Webex Teams integration4578 calls Webex Teams API4579 with merge request comment4580 behaves like triggered Webex Teams integration4581 calls Webex Teams API4582 with issue comment4583 behaves like triggered Webex Teams integration4584 calls Webex Teams API4585 with snippet comment4586 behaves like triggered Webex Teams integration4587 calls Webex Teams API4588 with pipeline events4589 with failed pipeline4590 behaves like triggered Webex Teams integration4591 calls Webex Teams API4592 with succeeded pipeline4593 with default notify_only_broken_pipelines4594 does not call Webex Teams API4595 when notify_only_broken_pipelines is false4596 behaves like triggered Webex Teams integration4597 calls Webex Teams API4598 with default branch4599 when only default branch are to be notified4600 behaves like triggered Webex Teams integration4601 calls Webex Teams API4602 when only protected branches are to be notified4603 behaves like untriggered Webex Teams integration4604 does not call Webex Teams API4605 when default and protected branches are to be notified4606 behaves like triggered Webex Teams integration4607 calls Webex Teams API4608 when all branches are to be notified4609 behaves like triggered Webex Teams integration4610 calls Webex Teams API4611 with protected branch4612 when only default branch are to be notified4613 behaves like untriggered Webex Teams integration4614 does not call Webex Teams API4615 when only protected branches are to be notified4616 behaves like triggered Webex Teams integration4617 calls Webex Teams API4618 when default and protected branches are to be notified4619 behaves like triggered Webex Teams integration4620 calls Webex Teams API4621 when all branches are to be notified4622 behaves like triggered Webex Teams integration4623 calls Webex Teams API4624 with neither default nor protected branch4625 when only default branch are to be notified4626 behaves like untriggered Webex Teams integration4627 does not call Webex Teams API4628 when only protected branches are to be notified4629 behaves like untriggered Webex Teams integration4630 does not call Webex Teams API4631 when default and protected branches are to be notified4632 behaves like untriggered Webex Teams integration4633 does not call Webex Teams API4634 when all branches are to be notified4635 behaves like triggered Webex Teams integration4636 calls Webex Teams API4637 deployment events4638 behaves like untriggered Webex Teams integration4639 does not call Webex Teams API4640Ci::StuckBuilds::DropRunningService4641 when job is running4642 when job is outdated4643 behaves like job is dropped with failure reason4644 changes status4645 when job has data integrity problem4646 drops the job and logs the reason4647 when job is fresh4648 behaves like job is unchanged4649 does not change status4650 when job freshly updated4651 behaves like job is unchanged4652 does not change status4653 when new query flag is disabled4654 when job is running4655 when job is outdated4656 behaves like job is dropped with failure reason4657 changes status4658 when job has data integrity problem4659 drops the job and logs the reason4660 when job is fresh4661 behaves like job is unchanged4662 does not change status4663 when job freshly updated4664 behaves like job is unchanged4665 does not change status4666 when job is success4667 when created_at is the same as updated_at4668 behaves like job is unchanged4669 does not change status4670 when created_at is before updated_at4671 behaves like job is unchanged4672 does not change status4673 when job is skipped4674 when created_at is the same as updated_at4675 behaves like job is unchanged4676 does not change status4677 when created_at is before updated_at4678 behaves like job is unchanged4679 does not change status4680 when job is failed4681 when created_at is the same as updated_at4682 behaves like job is unchanged4683 does not change status4684 when created_at is before updated_at4685 behaves like job is unchanged4686 does not change status4687 when job is canceled4688 when created_at is the same as updated_at4689 behaves like job is unchanged4690 does not change status4691 when created_at is before updated_at4692 behaves like job is unchanged4693 does not change status4694 when job is scheduled4695 when created_at is the same as updated_at4696 behaves like job is unchanged4697 does not change status4698 when created_at is before updated_at4699 behaves like job is unchanged4700 does not change status4701 when job is pending4702 when created_at is the same as updated_at4703 behaves like job is unchanged4704 does not change status4705 when created_at is before updated_at4706 behaves like job is unchanged4707 does not change status4708Group Routable4709 creates route with namespace referencing group4710 behaves like routable resource4711 .find_by_full_path4712 finds records by their full path4713 returns nil for unknown paths4714 includes route information when loading a record4715 when path is a negative number4716 returns nil4717 with redirect routes4718 without follow_redirects option4719 does not find records by their redirected path4720 with follow_redirects option set to true4721 finds records by their canonical path4722 finds records by their redirected path4723 returns nil for unknown paths4724 behaves like routable resource with parent4725 behaves like routable resource4726 .find_by_full_path4727 finds records by their full path4728 returns nil for unknown paths4729 includes route information when loading a record4730 when path is a negative number4731 returns nil4732 with redirect routes4733 without follow_redirects option4734 does not find records by their redirected path4735 with follow_redirects option set to true4736 finds records by their canonical path4737 finds records by their redirected path4738 returns nil for unknown paths4739 #full_path4740 is expected to eq "foo/group313"4741 hits the cache when not preloaded4742 #full_name4743 is expected to eq "foo / group313"4744 hits the cache when not preloaded4745 without route name4746 builds full name4747 Validations4748 is expected to validate that :route cannot be empty/falsy4749 Associations4750 is expected to have one route dependent => destroy4751 is expected to have many redirect_routes dependent => destroy4752 Callbacks4753 for a group4754 creates route record on create4755 updates route record on path change4756 ensure route path uniqueness across different objects4757 for a user4758 creates the route for a record on create4759 updates routes and nested routes on name change4760 .where_full_path_in4761 without any paths4762 returns an empty relation4763 without any valid paths4764 returns an empty relation4765 with valid paths4766 returns the projects matching the paths4767 returns projects regardless of the casing of paths4768 #parent_loaded?4769 is false when the parent is not loaded4770 is true when the parent is loaded4771 #route_loaded?4772 is false when the route is not loaded4773 is true when the route is loaded4774Project Routable4775 creates route with namespace referencing project namespace4776 behaves like routable resource with parent4777 behaves like routable resource4778 .find_by_full_path4779 finds records by their full path4780 returns nil for unknown paths4781 includes route information when loading a record4782 when path is a negative number4783 returns nil4784 with redirect routes4785 without follow_redirects option4786 does not find records by their redirected path4787 with follow_redirects option set to true4788 finds records by their canonical path4789 finds records by their redirected path4790 returns nil for unknown paths4791 #full_path4792 is expected to eq "namespace666/project-835"4793 hits the cache when not preloaded4794 #full_name4795 is expected to eq "Sidney Jones1238 / Project-835 Name"4796 hits the cache when not preloaded4797 without route name4798 builds full name4799Namespaces::ProjectNamespace Routable4800 skips route creation for the resource4801Clusters::Agents::Authorizations::UserAccess::GroupAuthorization4802 # order random4803 is expected to validate jsonb schema "config"4804 is expected to belong to agent class_name => Clusters::Agent required: true4805 is expected to belong to group class_name => ::Group required: true4806 .for_user4807 user_role: :guest, expected_access_level: nil4808 returns the expected result4809 when authorization belongs to sub-group4810 respects the role inheritance4811 respects the role override4812 user_role: :reporter, expected_access_level: nil4813 returns the expected result4814 when authorization belongs to sub-group4815 respects the role inheritance4816 respects the role override4817 user_role: :developer, expected_access_level: 304818 returns the expected result4819 when authorization belongs to sub-group4820 respects the role inheritance4821 respects the role override4822 user_role: :maintainer, expected_access_level: 404823 returns the expected result4824 when authorization belongs to sub-group4825 respects the role inheritance4826 respects the role override4827 user_role: :owner, expected_access_level: 504828 returns the expected result4829 when authorization belongs to sub-group4830 respects the role inheritance4831 respects the role override4832 #config_project4833 is expected to eq #<Project id:890 namespace682/project-851>>4834Packages::Conan::SearchService4835 #execute4836 with wildcard4837 makes a wildcard query4838 with only wildcard4839 returns empty4840 with no wildcard4841 makes a search using the beginning of the recipe4842 with full recipe match4843 makes an exact search4844 with malicious query4845 returns empty4846 for project4847 when passing a project4848 returns only packages of the given project4849 when passing a project with nil4850 returns all packages4851Discussions::UpdateDiffPositionService4852 #execute4853 when the diff line is the same4854 updates the position4855 when the resolve_outdated_diff_discussions setting is set4856 does not resolve the discussion4857 when the diff line has changed4858 doesn't update the position4859 sets the change position4860 creates a system discussion4861 when the resolve_outdated_diff_discussions setting is set4862 sets resolves the discussion and sets resolved_by_push4863 doesn't update the position4864 sets the change position4865 creates a system discussion4866AlertManagement::Alerts::UpdateService4867 #execute4868 when the current_user is nil4869 behaves like error response4870 has an informative message4871 behaves like does not add a todo4872 is expected not to change `Todo.count`4873 behaves like does not add a system note4874 is expected not to change `Note.count`4875 when current_user does not have permission to update alerts4876 behaves like error response4877 has an informative message4878 behaves like does not add a todo4879 is expected not to change `Todo.count`4880 behaves like does not add a system note4881 is expected not to change `Note.count`4882 when no parameters are included4883 behaves like error response4884 has an informative message4885 behaves like does not add a todo4886 is expected not to change `Todo.count`4887 behaves like does not add a system note4888 is expected not to change `Note.count`4889 when an error occurs during update4890 behaves like error response4891 has an informative message4892 behaves like does not add a todo4893 is expected not to change `Todo.count`4894 behaves like does not add a system note4895 is expected not to change `Note.count`4896 when a model attribute is included without assignees4897 behaves like title update4898 updates the attribute4899 behaves like does not add a todo4900 is expected not to change `Todo.count`4901 behaves like does not add a system note4902 is expected not to change `Note.count`4903 when alert is resolved and another existing unresolved alert4904 behaves like title update4905 updates the attribute4906 behaves like does not add a todo4907 is expected not to change `Todo.count`4908 behaves like does not add a system note4909 is expected not to change `Note.count`4910 when assignees are included4911 when the assignee is the current user4912 behaves like successful assignment4913 is expected to be success4914 behaves like adds a system note4915 is expected to change `alert.reload.notes.count` by 14916 behaves like adds a todo4917 is expected to eq #<User id:1317 @user629>4918 when the assignee has read permissions4919 behaves like successful assignment4920 is expected to be success4921 behaves like adds a system note4922 is expected to change `alert.reload.notes.count` by 14923 behaves like adds a todo4924 is expected to eq #<User id:1317 @user629>4925 when the assignee does not have read permissions4926 behaves like error response4927 has an informative message4928 behaves like does not add a todo4929 is expected not to change `Todo.count`4930 behaves like does not add a system note4931 is expected not to change `Note.count`4932 when user is already assigned4933 behaves like does not add a system note4934 is expected not to change `Note.count`4935 behaves like does not add a todo4936 is expected not to change `Todo.count`4937 with multiple users included4938 behaves like successful assignment4939 is expected to be success4940 behaves like adds a system note4941 is expected to change `alert.reload.notes.count` by 14942 behaves like adds a todo4943 is expected to eq #<User id:1317 @user629>4944 when a status is included4945 successfully changes the status4946 behaves like adds a system note4947 is expected to change `alert.reload.notes.count` by 14948 with unknown status4949 behaves like error response4950 has an informative message4951 behaves like does not add a todo4952 is expected not to change `Todo.count`4953 behaves like does not add a system note4954 is expected not to change `Note.count`4955 with resolving status4956 changes the status4957 resolves the current user's related todos4958 with existing unresolved alert4959 with fingerprints4960 does not query for existing alerts4961 when status was resolved4962 has an informative message4963 behaves like does not add a todo4964 is expected not to change `Todo.count`4965 behaves like does not add a system note4966 is expected not to change `Note.count`4967 without fingerprints4968 successfully changes the status4969 behaves like adds a system note4970 is expected to change `alert.reload.notes.count` by 14971 two existing closed alerts4972 successfully changes the status4973 behaves like adds a system note4974 is expected to change `alert.reload.notes.count` by 14975Mutations::DependencyProxy::ImageTtlGroupPolicy::Update4976 is expected to require graphql authorizations :admin_dependency_proxy4977 #resolve4978 with existing dependency proxy image ttl policy4979 user_role: :owner, shared_examples_name: "updating the dependency proxy image ttl policy"4980 behaves like updating the dependency proxy image ttl policy4981 behaves like updating the dependency proxy image ttl policy attributes4982 updates the dependency proxy image ttl policy4983 behaves like not creating the dependency proxy image ttl policy4984 doesn't create the dependency proxy image ttl policy4985 behaves like returning a success4986 returns the dependency proxy image ttl group policy with no errors4987 with invalid params4988 doesn't create the dependency proxy image ttl policy4989 does not update4990 returns an error4991 user_role: :maintainer, shared_examples_name: "denying access to dependency proxy image ttl policy"4992 behaves like denying access to dependency proxy image ttl policy4993 raises Gitlab::Graphql::Errors::ResourceNotAvailable4994 behaves like disabling admin_package feature flag4995 behaves like updating the dependency proxy image ttl policy4996 behaves like updating the dependency proxy image ttl policy attributes4997 updates the dependency proxy image ttl policy4998 behaves like not creating the dependency proxy image ttl policy4999 doesn't create the dependency proxy image ttl policy5000 behaves like returning a success5001 returns the dependency proxy image ttl group policy with no errors5002 with invalid params5003 doesn't create the dependency proxy image ttl policy5004 does not update5005 returns an error5006 user_role: :developer, shared_examples_name: "denying access to dependency proxy image ttl policy"5007 behaves like denying access to dependency proxy image ttl policy5008 raises Gitlab::Graphql::Errors::ResourceNotAvailable5009 user_role: :reporter, shared_examples_name: "denying access to dependency proxy image ttl policy"5010 behaves like denying access to dependency proxy image ttl policy5011 raises Gitlab::Graphql::Errors::ResourceNotAvailable5012 user_role: :guest, shared_examples_name: "denying access to dependency proxy image ttl policy"5013 behaves like denying access to dependency proxy image ttl policy5014 raises Gitlab::Graphql::Errors::ResourceNotAvailable5015 user_role: :anonymous, shared_examples_name: "denying access to dependency proxy image ttl policy"5016 behaves like denying access to dependency proxy image ttl policy5017 raises Gitlab::Graphql::Errors::ResourceNotAvailable5018 without existing dependency proxy image ttl policy5019 user_role: :owner, shared_examples_name: "creating the dependency proxy image ttl policy"5020 behaves like creating the dependency proxy image ttl policy5021 creates a new package setting5022 saves the settings5023 behaves like returning a success5024 returns the dependency proxy image ttl group policy with no errors5025 user_role: :maintainer, shared_examples_name: "denying access to dependency proxy image ttl policy"5026 behaves like denying access to dependency proxy image ttl policy5027 raises Gitlab::Graphql::Errors::ResourceNotAvailable5028 behaves like disabling admin_package feature flag5029 behaves like creating the dependency proxy image ttl policy5030 creates a new package setting5031 saves the settings5032 behaves like returning a success5033 returns the dependency proxy image ttl group policy with no errors5034 user_role: :developer, shared_examples_name: "denying access to dependency proxy image ttl policy"5035 behaves like denying access to dependency proxy image ttl policy5036 raises Gitlab::Graphql::Errors::ResourceNotAvailable5037 user_role: :reporter, shared_examples_name: "denying access to dependency proxy image ttl policy"5038 behaves like denying access to dependency proxy image ttl policy5039 raises Gitlab::Graphql::Errors::ResourceNotAvailable5040 user_role: :guest, shared_examples_name: "denying access to dependency proxy image ttl policy"5041 behaves like denying access to dependency proxy image ttl policy5042 raises Gitlab::Graphql::Errors::ResourceNotAvailable5043 user_role: :anonymous, shared_examples_name: "denying access to dependency proxy image ttl policy"5044 behaves like denying access to dependency proxy image ttl policy5045 raises Gitlab::Graphql::Errors::ResourceNotAvailable5046StarredProjectsFinder5047 #execute5048 user has a public profile5049 as same user5050 is expected to contain exactly #<Project id:919 namespace711/project-880>>, #<Project id:920 namespace712/project-881>>, and #<Project id:921 namespace713/project-882>>5051 as other user5052 is expected to contain exactly #<Project id:922 namespace714/project-883>> and #<Project id:923 namespace715/project-884>>5053 as no user5054 is expected to contain exactly #<Project id:925 namespace717/project-886>> and #<Project id:926 namespace718/project-887>>5055 user has a private profile5056 as same user5057 is expected to contain exactly #<Project id:928 namespace720/project-889>>, #<Project id:929 namespace721/project-890>>, and #<Project id:930 namespace722/project-891>>5058 as other user5059 user does not have access to view the private profile5060 is expected to be empty5061 user has access to view the private profile5062 is expected to contain exactly #<Project id:934 namespace726/project-895>>, #<Project id:935 namespace727/project-896>>, and #<Project id:936 namespace728/project-897>>5063 as no user5064 is expected to be empty5065notify/pipeline_success_email.text.erb5066 behaves like pipeline status changes email5067 when the pipeline contains a failed job5068 behaves like renders the pipeline status changes email correctly5069 pipeline with user5070 renders the email correctly5071 behaves like correct pipeline information for pipelines for merge requests5072 when pipeline for merge request5073 renders a source ref of the pipeline5074 pipeline without user5075 renders the email correctly5076 when the latest failed job is a bridge job5077 behaves like renders the pipeline status changes email correctly5078 pipeline with user5079 renders the email correctly5080 behaves like correct pipeline information for pipelines for merge requests5081 when pipeline for merge request5082 renders a source ref of the pipeline5083 pipeline without user5084 renders the email correctly5085Terraform::StateUploader5086 #filename5087 contains the version of the terraform state record5088 legacy state with versioning disabled5089 contains the UUID of the terraform state record5090 #store_dir5091 hashes the project ID and UUID5092 legacy state with versioning disabled5093 contains the ID of the project5094 #key5095 creates a digest with a secret key and the project id5096 encryption5097 encrypts the stored file5098 decrypts the file when reading5099 .direct_upload_enabled?5100 returns false5101 .proxy_download_enabled?5102 returns true5103 .default_store5104 when object storage is enabled5105 returns REMOTE5106 when object storage is disabled5107 returns LOCAL5108Gitlab::GithubImport::Importer::ReleasesImporter5109 #execute5110 imports the releases in bulk5111 imports draft releases5112 is idempotent5113 #build_releases5114 returns an Array containing release rows5115 does not create releases that already exist5116 uses a default release description if none is provided5117 does not create releases that have a NULL tag5118 does not create duplicate release tags5119 does not create invalid release5120 #build_attributes5121 the returned Hash5122 returns the attributes of the release as a Hash5123 includes the tag name5124 includes the release description5125 includes the project ID5126 includes the created timestamp5127 includes the updated timestamp5128 includes the release name5129 author_id attribute5130 returns the Gitlab user_id when Github release author is found5131 returns ghost user when author is empty in Github release5132 when Github author is not found in Gitlab5133 returns project creator as author5134 #each_release5135 returns an Enumerator5136 yields every release to the Enumerator5137 #description_for5138 returns the description when present5139 returns a generated description when one is not present5140Gitlab::Database::LoadBalancing::ConnectionProxy5141 #select5142 performs a read5143 #select_all5144 method signatures match5145 using a SELECT query5146 runs the query on a secondary5147 using a SELECT FOR UPDATE query5148 runs the query on the primary and sticks to it5149 sanitize_limit5150 runs the query on the replica5151 select5152 runs the query on the replica5153 select_one5154 runs the query on the replica5155 select_rows5156 runs the query on the replica5157 quote_column_name5158 runs the query on the replica5159 delete5160 runs the query on the primary and sticks to it5161 delete_all5162 runs the query on the primary and sticks to it5163 insert5164 runs the query on the primary and sticks to it5165 update5166 runs the query on the primary and sticks to it5167 update_all5168 runs the query on the primary and sticks to it5169 exec_insert_all5170 runs the query on the primary and sticks to it5171 methods using exec_insert_all on the connection5172 #upsert5173-- create_table(:_test_connection_proxy_insert_all, {:force=>true})5174 -> 0.0080s5175-- drop_table(:_test_connection_proxy_insert_all, {:force=>true})5176 -> 0.0028s5177 upserts a record and marks the session to stick to the primary5178 #insert_all!5179-- create_table(:_test_connection_proxy_insert_all, {:force=>true})5180 -> 0.0070s5181-- drop_table(:_test_connection_proxy_insert_all, {:force=>true})5182 -> 0.0027s5183 inserts multiple records and marks the session to stick to the primary5184 #insert5185-- create_table(:_test_connection_proxy_insert_all, {:force=>true})5186 -> 0.0066s5187-- drop_table(:_test_connection_proxy_insert_all, {:force=>true})5188 -> 0.0036s5189 inserts a single record and marks the session to stick to the primary5190 #transaction5191 session fallbacks ambiguous queries to replicas5192 with a read query5193 runs the transaction and any nested queries on the replica5194 with a write query5195 raises an exception5196 session does not fallback to replicas for ambiguous queries5197 with a read query5198 runs the transaction and any nested queries on the primary and stick to it5199 with a write query5200 runs the transaction and any nested queries on the primary and stick to it5201 #method_missing5202 runs the query on the primary without sticking to it5203 properly forwards keyword arguments5204 current session prefers to fallback ambiguous queries to replicas5205 runs the query on the replica5206 properly forwards keyword arguments5207 #read_using_load_balancer5208 with a regular session5209 uses a secondary5210 with a regular session and forcing all reads to replicas5211 uses a secondary5212 with a session using the primary but forcing all reads to replicas5213 uses a secondary5214 with a session using the primary5215 uses the primary5216 #write_using_load_balancer5217 uses but does not stick to the primary5218Gitlab::Ci::Config::External::File::Project5219 #matching?5220 when a file and project is specified5221 returns true5222 with only file is specified5223 returns false5224 with only project is specified5225 returns false5226 with a missing local key5227 returns false5228 #valid?5229 when a valid path is used5230 is expected to be truthy5231 when user does not have permission to access file5232 returns false5233 when a valid path is used in uppercase5234 is expected to be truthy5235 when a valid different case path is used5236 is expected to be truthy5237 when a valid path with custom ref is used5238 is expected to be truthy5239 when an empty file is used5240 returns false5241 when non-existing ref is used5242 returns false5243 when non-existing file is requested5244 returns false5245 when file is not a yaml file5246 returns false5247 when non-existing project is used with a masked variable5248 returns false with masked project name5249 when a project contained in an array is used with a masked variable5250 does not raise an error5251 #expand_context5252 inherits user, and target project and sha5253 #metadata5254 is expected to eq {:blob=>"http://localhost/namespace776/project-945/-/blob/c964669886e82d6f512640b217ebd28e32ebad92/fi...ost/namespace776/project-945/-/raw/c964669886e82d6f512640b217ebd28e32ebad92/file.yml", :type=>:file}5255 when project name and ref include masked variables5256 is expected to eq {:blob=>"http://localhost/namespace778/xxxxxxxxxxxxxxx/-/blob/646ece5cfed840eca0a4feb21bcd6a81bb19bda...namespace778/xxxxxxxxxxxxxxx/-/raw/646ece5cfed840eca0a4feb21bcd6a81bb19bda3/file.yml", :type=>:file}5257 #to_hash5258 when interpolation is being used5259 correctly interpolates the content5260Gitlab::ContentSecurityPolicy::ConfigLoader5261 .default_enabled5262 is enabled5263 when in production5264 is disabled5265 .default_directives5266 returns default directives5267 the images-src directive5268 can be loaded from anywhere5269 the media-src directive5270 can be loaded from anywhere5271 adds all websocket origins to support Safari5272 with insecure domain5273 with secure domain5274 with custom port5275 with custom port and secure domain5276 when CDN host is defined5277 adds CDN host to CSP5278 Zuora directives5279 when on SaaS5280 adds Zuora host to CSP5281 when is not Gitlab.com?5282 does not add Zuora host to CSP5283 when sentry is configured5284 when legacy sentry is configured5285 adds legacy sentry path to CSP5286 when sentry is configured5287 adds new sentry path to CSP5288 when sentry settings are from older schemas and sentry setting are missing5289 config is backwards compatible, does not add sentry path to CSP5290 when legacy sentry and sentry are both configured5291 adds both sentry paths to CSP5292 when CUSTOMER_PORTAL_URL is set5293 adds CUSTOMER_PORTAL_URL to CSP5294 letter_opener application URL5295 when in production5296 does not add letter_opener to CSP5297 when in development5298 adds letter_opener to CSP5299 Snowplow Micro event collector5300 when in production5301 does not add Snowplow Micro URL to connect-src5302 when in development5303 adds Snowplow Micro URL with trailing slash to connect-src5304 when not enabled using config5305 does not add Snowplow Micro URL to connect-src5306 when REVIEW_APPS_ENABLED is set5307 adds gitlab-org/gitlab merge requests API endpoint to CSP5308 #load5309 sets the policy properly5310 ignores malformed policy statements5311 returns default values for directives not defined by the user or with <default_value> and disables directives set to false5312Deployments::OlderDeploymentsDropService5313 #execute5314 when deployment is nil5315 behaves like it does not drop any build5316 is expected to not change `Ci::Build::ActiveRecord_Relation#count`5317 when a deployment is passed in5318 and there is no active deployment for the related environment5319 behaves like it does not drop any build5320 is expected to not change `Ci::Build::ActiveRecord_Relation#count`5321 and there are active deployment for the related environment5322 and there is no older deployment than "deployment"5323 behaves like it does not drop any build5324 is expected to not change `Ci::Build::ActiveRecord_Relation#count`5325 and there is an older deployment than "deployment"5326 drops that older deployment5327 when older deployable is a manual job5328 does not drop any builds nor track the exception5329 when deployable.drop raises RuntimeError5330 does not drop an older deployment and tracks the exception5331 when ActiveRecord::StaleObjectError is raised5332 resets the object via Gitlab::OptimisticLocking5333 and there is no deployable for that older deployment5334 behaves like it does not drop any build5335 is expected to not change `Ci::Build::ActiveRecord_Relation#count`5336Gitlab::OptimisticLocking5337 #retry_lock5338 does not change current_scope5339 when state changed successfully without retries5340 does not reload object5341 does not create log record5342 adds number of retries to histogram5343 when at least one retry happened, the change succeeded5344 completes the action5345 creates a single log record5346 adds number of retries to histogram5347 when MAX_RETRIES attempts exceeded5348 raises an exception5349 creates a single log record5350 adds number of retries to histogram5351 #retry_optimistic_lock5352 when locking module is mixed in5353 is an alias for retry_lock5354Projects::Members::EffectiveAccessLevelFinder#execute5355 for a personal project5356 when the project owner is a member of the project5357 behaves like includes access level of the owner of the project5358 includes access level of the owner of the project as Owner5359 when the project owner is not explicitly a member of the project5360 behaves like includes access level of the owner of the project5361 includes access level of the owner of the project as Owner5362 direct members of the project5363 includes access levels of the direct members of the project5364 does not include access levels of users who have requested access to the project5365 includes access levels of users who are in non-active state5366 for a project within a group5367 project in a root group5368 includes access levels of users who are direct members of the parent group5369 when access level is developer5370 when access level is owner5371 project in a subgroup5372 includes access levels of users who are members of the ancestors of the parent group5373 user is both a member of the project and a member of the parent group5374 includes the maximum access level among project and group membership5375 members from group share5376 includes the user from the group share with the right access level5377 when the project also has the same user as a member, but with a different access level5378 includes the maximum access level among project and group membership5379 when the project's ancestor also has the same user as a member, but with a different access level5380 includes the maximum access level among project and group membership5381 for a project that is shared with other group(s)5382 includes the least among the specified access levels5383 even when the `lock_memberships_to_ldap` setting has been turned ON5384 includes the least among the specified access levels5385 when the group containing the project has forbidden group shares for any of its projects5386 does not include the users from any group shares5387 a combination of all possible avenues of membership5388 includes the highest access level from all avenues of memberships5389UserDetail5390 is expected to belong to user required: false5391 is expected to define :registration_objective as an enum backed by an integer with values ‹[:basics, :move_repository, :code_storage, :exploring, :ci, :other, :joining_team]›, suffix: true5392 validations5393 #job_title5394 is expected not to validate that :job_title cannot be empty/falsy5395 is expected to validate that the length of :job_title is at most 2005396 #pronouns5397 is expected not to validate that :pronouns cannot be empty/falsy5398 is expected to validate that the length of :pronouns is at most 505399 #pronunciation5400 is expected not to validate that :pronunciation cannot be empty/falsy5401 is expected to validate that the length of :pronunciation is at most 2555402 #bio5403 is expected to validate that the length of :bio is at most 2555404 #linkedin5405 is expected to validate that the length of :linkedin is at most 5005406 #twitter5407 is expected to validate that the length of :twitter is at most 5005408 #skype5409 is expected to validate that the length of :skype is at most 5005410 #discord5411 is expected to validate that the length of :discord is at most 5005412 when discord is set5413 accepts a valid discord user id5414 throws an error when other url format is wrong5415 #location5416 is expected to validate that the length of :location is at most 5005417 #organization5418 is expected to validate that the length of :organization is at most 5005419 #website_url5420 is expected to validate that the length of :website_url is at most 5005421 only validates the website_url if it is changed5422 #save5423 behaves like prevents `nil` value5424 converts `nil` to the empty string5425 behaves like prevents `nil` value5426 converts `nil` to the empty string5427 behaves like prevents `nil` value5428 converts `nil` to the empty string5429 behaves like prevents `nil` value5430 converts `nil` to the empty string5431 behaves like prevents `nil` value5432 converts `nil` to the empty string5433 behaves like prevents `nil` value5434 converts `nil` to the empty string5435 behaves like prevents `nil` value5436 converts `nil` to the empty string5437 behaves like prevents `nil` value5438 converts `nil` to the empty string5439 #sanitize_attrs5440 encodes HTML entities5441 encodes HTML entities5442 encodes HTML entities5443 encodes HTML entities5444 does not encode HTML entities5445 does not encode HTML entities5446 sanitizes on validation5447 behaves like sanitizes html5448 sanitizes html tags5449 sanitizes iframe scripts5450 sanitizes js scripts5451 behaves like sanitizes html5452 sanitizes html tags5453 sanitizes iframe scripts5454 sanitizes js scripts5455 behaves like sanitizes html5456 sanitizes html tags5457 sanitizes iframe scripts5458 sanitizes js scripts5459 behaves like sanitizes html5460 sanitizes html tags5461 sanitizes iframe scripts5462 sanitizes js scripts5463 behaves like sanitizes html5464 sanitizes html tags5465 sanitizes iframe scripts5466 sanitizes js scripts5467 behaves like sanitizes html5468 sanitizes html tags5469 sanitizes iframe scripts5470 sanitizes js scripts5471Ci::BuildReportResult5472 behaves like cleanup by a loose foreign key5473 cleans up (delete or nullify) the model5474 associations5475 is expected to belong to build required: false5476 is expected to belong to project required: false5477 validations5478 is expected to validate that :project cannot be empty/falsy5479 is expected to validate that :build cannot be empty/falsy5480 when attributes are valid5481 returns no errors5482 when data is invalid5483 returns errors5484 when data tests is invalid5485 returns errors5486 #tests_name5487 returns the suite name5488 #tests_duration5489 returns the suite duration5490 #tests_success5491 returns the success count5492 #tests_failed5493 returns the failed count5494 #tests_errored5495 returns the errored count5496 #tests_skipped5497 returns the skipped count5498 partitioning5499 with build5500 copies the partition_id from build5501 when it is already set5502 does not change the partition_id value5503 without build5504 is expected to validate that :partition_id cannot be empty/falsy5505 does not change the partition_id value5506ImportExportUpload5507 import5508 behaves like stores the Import/Export file5509 stores the import file5510 export5511 behaves like stores the Import/Export file5512 stores the import file5513 scopes5514 .with_export_file5515 returns uploads with export file5516 .updated_before5517 returns uploads for a specified date5518 ActiveRecord callbacks5519 export file is stored in after_commit callback5520 import file is stored in after_save callback5521 export file5522 #export_file_exists? returns false5523 #export_archive_exists? returns false5524 with export5525 #export_file_exists? returns true5526 #export_archive_exists? returns false5527 when object file does not exist5528 #export_file_exists? returns true5529 #export_archive_exists? returns false5530 when checking object existence raises a error5531 #export_file_exists? returns true5532 #export_archive_exists? returns false5533InstanceConfiguration5534 without cache5535 #settings5536 #ssh_algorithms_hashes5537 does not return anything if file does not exist5538 does not return anything if file is empty5539 returns the md5 and sha256 if file valid and exists5540 includes all algorithms5541 does not include disabled algorithm5542 #host5543 returns current instance host5544 #gitlab_pages5545 returns Settings.pages5546 returns the GitLab's pages host ip address5547 returns the ip address as nil if the domain is invalid5548 returns the ip address of the domain5549 #size_limits5550 returns size limits from application settings5551 returns nil if receive_max_input_size not set5552 returns nil if set to 0 (unlimited)5553 #package_file_size_limits5554 returns package file size limits5555 #ci_cd_limits5556 returns CI/CD limits5557 #rate_limits5558 returns rate limits from application settings5559 with cache5560 caches settings content5561 cached settings5562 expires after EXPIRATION_TIME5563Ci::StuckBuilds::DropScheduledService5564 when job is scheduled5565 for more than an hour ago5566 behaves like job is dropped with failure reason5567 changes status5568 when job has data integrity problem5569 drops the job and logs the reason5570 for less than 1 hour ago5571 behaves like job is unchanged5572 does not change status5573 when job is success5574 and scheduled for more than an hour ago5575 behaves like job is unchanged5576 does not change status5577 and scheduled for less than 1 hour ago5578 behaves like job is unchanged5579 does not change status5580 when job is skipped5581 and scheduled for more than an hour ago5582 behaves like job is unchanged5583 does not change status5584 and scheduled for less than 1 hour ago5585 behaves like job is unchanged5586 does not change status5587 when job is failed5588 and scheduled for more than an hour ago5589 behaves like job is unchanged5590 does not change status5591 and scheduled for less than 1 hour ago5592 behaves like job is unchanged5593 does not change status5594 when job is canceled5595 and scheduled for more than an hour ago5596 behaves like job is unchanged5597 does not change status5598 and scheduled for less than 1 hour ago5599 behaves like job is unchanged5600 does not change status5601 when job is running5602 and scheduled for more than an hour ago5603 behaves like job is unchanged5604 does not change status5605 and scheduled for less than 1 hour ago5606 behaves like job is unchanged5607 does not change status5608 when job is pending5609 and scheduled for more than an hour ago5610 behaves like job is unchanged5611 does not change status5612 and scheduled for less than 1 hour ago5613 behaves like job is unchanged5614 does not change status5615 when there are no stale scheduled builds5616 does not drop the stale scheduled build yet5617Projects::GroupsFinder5618 #execute5619 Public project5620 behaves like finding related groups5621 returns ancestor groups for this project5622 when the project does not belong to any group5623 is expected to eq []5624 when shared groups option is on5625 returns ancestor and all shared groups5626 when shared_min_access_level is developer5627 returns ancestor and shared groups with at least developer access5628 when shared_visible_only is on5629 returns ancestor and public shared groups5630 when user has access to the private shared group5631 returns ancestor and shared groups user has access to5632 when skip group option is on5633 excludes provided groups5634 when user is not authorized5635 returns ancestor groups for this project5636 when visible shared groups are requested5637 returns ancestor groups and public shared groups for this project5638 Private project5639 behaves like finding related groups5640 returns ancestor groups for this project5641 when the project does not belong to any group5642 is expected to eq []5643 when shared groups option is on5644 returns ancestor and all shared groups5645 when shared_min_access_level is developer5646 returns ancestor and shared groups with at least developer access5647 when shared_visible_only is on5648 returns ancestor and public shared groups5649 when user has access to the private shared group5650 returns ancestor and shared groups user has access to5651 when skip group option is on5652 excludes provided groups5653 when user is not authorized5654 is expected to eq []5655 Missing project5656 is expected to eq []5657ContributedProjectsFinder5658 activity without a current user5659 does only return public projects5660 does return all projects when visibility gets ignored5661 activity with a current user5662 is expected to contain exactly #<Project id:1054 namespace850/project-1017>>, #<Project id:1055 namespace851/project-1018>>, and #<Project id:1053 namespace849/project-1016>>5663 user with private profile5664 does not return contributed projects5665ErrorTracking::SentryClient::Projects5666 # order random5667 #projects5668 behaves like calls sentry api5669 calls sentry api5670 behaves like has correct return type5671 returns objects of type Gitlab::ErrorTracking::Project5672 behaves like has correct length5673 is expected to eq 25674 behaves like Sentry API response size limit5675 raises an exception when response is too large5676 essential keys missing in API response5677 raises exception5678 optional keys missing in sentry response5679 behaves like calls sentry api5680 calls sentry api5681 behaves like has correct return type5682 returns objects of type Gitlab::ErrorTracking::Project5683 behaves like has correct length5684 is expected to eq 15685 error object created from sentry response5686 sentry_project_object: :id, sentry_response: :id5687 is expected to eq "2"5688 sentry_project_object: :name, sentry_response: :name5689 is expected to eq "sentry-example"5690 sentry_project_object: :status, sentry_response: :status5691 is expected to eq "active"5692 sentry_project_object: :slug, sentry_response: :slug5693 is expected to eq "sentry-example"5694 sentry_project_object: :organization_name, sentry_response: [:organization, :name]5695 is expected to eq "Sentry"5696 sentry_project_object: :organization_id, sentry_response: [:organization, :id]5697 is expected to eq "1"5698 sentry_project_object: :organization_slug, sentry_response: [:organization, :slug]5699 is expected to eq "sentry"5700 redirects5701 behaves like no Sentry redirects5702 does not follow redirects5703 when exception is raised5704 behaves like maps Sentry exceptions5705 HTTParty::Error5706 is expected to raise ErrorTracking::SentryClient::Error with "Error when connecting to Sentry"5707 Net::OpenTimeout5708 is expected to raise ErrorTracking::SentryClient::Error with "Connection to Sentry timed out"5709 SocketError5710 is expected to raise ErrorTracking::SentryClient::Error with "Received SocketError when trying to connect to Sentry"5711 OpenSSL::SSL::SSLError5712 is expected to raise ErrorTracking::SentryClient::Error with "Sentry returned invalid SSL data"5713 Errno::ECONNREFUSED5714 is expected to raise ErrorTracking::SentryClient::Error with "Connection refused"5715 StandardError5716 is expected to raise ErrorTracking::SentryClient::Error with "Sentry request failed due to StandardError"5717Gitlab::DataBuilder::Deployment5718 .build5719 returns the object kind for a deployment5720 returns data for the given build5721 does not include the deployable URL when there is no deployable5722 when commit does not exist in the repository5723 returns nil for commit_url5724 returns nil for commit_title5725 when deployed_by is nil5726 returns nil for user5727 returns nil for user_url5728IssueSidebarBasicEntity5729 contains keys related to issuables5730 contains attributes related to the issue5731 current_user5732 contains attributes related to the current user5733 can_update_escalation_status5734 for a standard issue5735 is not present5736 for an incident issue5737 is present and true5738 without permissions5739 is present and false5740 show_crm_contacts5741 is_reporter: false, contacts_exist_for_group: false, expected: false5742 sets proper boolean value for show_crm_contacts5743 is_reporter: false, contacts_exist_for_group: true, expected: false5744 sets proper boolean value for show_crm_contacts5745 is_reporter: true, contacts_exist_for_group: false, expected: false5746 sets proper boolean value for show_crm_contacts5747 is_reporter: true, contacts_exist_for_group: true, expected: true5748 sets proper boolean value for show_crm_contacts5749 in subgroup5750 with crm enabled5751 is true5752 with crm disabled5753 is false5754StuckMergeJobsWorker5755 perform5756 merge job identified as completed5757 updates merge request to merged when locked but has merge_commit_sha5758 updates merge request to opened when locked but has not been merged5759 logs updated stuck merge job ids5760 merge job not identified as completed5761 does not change merge request state when job is not completed yet5762Gitlab::Ci::Pipeline::Chain::EnsureEnvironments5763 #perform!5764 when a pipeline contains a deployment job5765 and the environment does not exist5766 creates the environment specified by the job5767 and the pipeline is for a merge request5768 associates the environment with the merge request5769 when an environment has already been existed5770 ensures environment existence for the job5771 and the pipeline is for a merge request5772 does not associate the environment with the merge request5773 when an environment name contains an invalid character5774 sets the failure status5775 when a pipeline contains a teardown job5776 ensures environment existence for the job5777 when a pipeline does not contain a deployment job5778 does not create any environments5779ContainerRegistry::Migration::ObserverWorker5780 #perform5781 when the migration feature flag is disabled5782 does nothing5783 when the migration is enabled5784 logs all the counts5785 with load balancing enabled5786 uses the replica5787Gitlab::PaginationDelegate5788 # order random5789 when there is no data5790 shows the correct total count5791 shows the correct total pages5792 shows the correct next page5793 shows the correct previous page5794 shows the correct current page5795 shows the correct limit value5796 shows the correct first page5797 shows the correct last page5798 shows the correct offset5799 with limits and defaults5800 has a maximum limit per page5801 has a default per page5802 has a maximum page5803 with data5804 shows the correct total count5805 shows the correct total pages5806 shows the correct next page5807 shows the correct previous page5808 shows the correct current page5809 shows the correct limit value5810 shows the correct first page5811 shows the correct last page5812 shows the correct offset5813 for last page5814 shows the correct total count5815 shows the correct total pages5816 shows the correct next page5817 shows the correct previous page5818 shows the correct current page5819 shows the correct limit value5820 shows the correct first page5821 shows the correct last page5822 shows the correct offset5823WorkItems::ExportCsvService5824 # order random5825 type5826 renders csv to string5827 preloads fields to avoid N+1 queries5828 author name5829 title5830 created_at5831 iid5832 author username5833 description5834 returns two work items5835 #email5836 emails csv5837 behaves like a service that returns invalid fields from selection5838 #invalid_fields5839 returns invalid fields from selection5840 when import_export_work_items_csv flag is not enabled5841 renders an error5842 when importing an exported file5843 for work item of type issue5844 behaves like a exported file that can be imported5845 imports work item with correct attributes5846Gitlab::Ci::Config::External::File::Remote5847 #matching?5848 when a remote is specified5849 returns true5850 with a missing remote5851 returns false5852 with a missing remote key5853 returns false5854 #valid?5855 when is a valid remote url5856 is expected to be truthy5857 with an irregular url5858 is expected to be falsy5859 with a timeout5860 is expected to be falsy5861 when is not a yaml file5862 is expected to be falsy5863 with an internal url5864 is expected to be falsy5865 #content5866 with a valid remote file5867 returns the content of the file5868 with a timeout5869 is falsy5870 with an invalid remote url5871 is nil5872 with an internal url5873 is nil5874 #error_message5875 when remote file location is not valid5876 returns an error message describing invalid address5877 when timeout error has been raised5878 returns error message about a timeout5879 when HTTP error has been raised5880 returns error message about a HTTP error5881 when response has 404 status5882 returns error message about a timeout5883 when the URL is blocked5884 includes details about blocked URL5885 when connection refused error has been raised5886 returns details about connection failure5887 #expand_context5888 drops all parameters5889 #metadata5890 is expected to eq {:blob=>nil, :context_project=>nil, :context_sha=>"12345", :extra=>{}, :location=>"https://gitlab.com....yml", :raw=>"https://gitlab.com/gitlab-org/gitlab-foss/blob/1234/.xxxxxxxxxxx.yml", :type=>:remote}5891 #to_hash5892 with a valid remote file5893 returns the content as a hash5894 when it has `include` with rules:exists5895 returns the content as a hash5896 when interpolation has been used5897 returns the content as a hash5898Ci::JobTokenScope::AddProjectService5899 #execute5900 behaves like editable job token scope5901 when user does not have permissions to edit the job token scope5902 behaves like returns error5903 returns an error response5904 when user has permissions to edit the job token scope5905 when target project is not provided5906 behaves like returns error5907 returns an error response5908 when target project is provided5909 when user does not have permissions to read the target project5910 behaves like returns error5911 returns an error response5912 when user has permissions on source and target projects5913 behaves like adds project5914 adds the project to the scope5915 when token scope is disabled5916 creates an inbound link by default5917 behaves like adds project5918 adds the project to the scope5919 when direction is specified5920 when the direction is outbound5921 is expected to eq "outbound"5922 when the direction is inbound5923 is expected to eq "inbound"5924 when target project is same as the source project5925 behaves like returns error5926 returns an error response5927CustomerRelations::IssueContact5928 is expected to be valid5929 associations5930 is expected to belong to issue required: true5931 is expected to belong to contact required: true5932 factory5933 for root groups5934 uses objects from the same group5935 for subgroups5936 builds using the root ancestor5937 validation5938 fails when the contact group is unrelated to the issue group5939 succeeds when the contact belongs to a root group and is the same as the issue group5940 succeeds when the contact belongs to a root group and it is an ancestor of the issue group5941 #self.find_contact_ids_by_emails5942 returns ids of contacts from issue5943 does not return ids of contacts from other issues5944 raises ArgumentError when called with too many emails5945 .delete_for_project5946 destroys all issue_contacts for project5947 .delete_for_group5948 destroys all issue_contacts for projects in group and subgroups5949Gitlab::Issuable::Clone::AttributesRewriter5950 with missing target parent5951 raises an ArgumentError5952 setting labels5953 sets labels present in the new project and group labels5954 does not set any labels when not used on the original issue5955 setting milestones5956 sets milestone to nil when old issue milestone is not in the new project5957 copies the milestone when old issue milestone title is in the new project5958 copies the milestone when old issue milestone is a group milestone5959 when include_milestone is false5960 does not return any milestone5961 when target parent is a group5962 setting labels5963 keeps group labels and merges project labels where possible5964ThemeKit.gitlab-ci.yml5965 the created pipeline5966 on the default branch5967 only creates staging deploy5968 on a tag5969 only creates a production deploy5970 outside of the default branch5971 has no jobs5972Mattermost::Session5973 is expected to respond to #current_resource_owner5974 is expected to respond to #request5975 is expected to respond to #authorization5976 is expected to respond to #strategy5977 #with session5978 without oauth uri5979 makes a request to the oauth uri5980 returns nill on calling a non exisitng method on request5981 with oauth_uri5982 without token_uri5983 can not create a session5984 with token_uri5985 can set up a session5986 returns the value of the block5987 exclusive lease5988 tries to obtain a lease5989 returns a NoSessionError error without lease5990Users::AssignedIssuesCountService5991 # order random5992 when the number of assigned open issues exceeds max_limit5993 when user is admin5994 returns the max_limit count5995 when user is non-admin5996 returns the max_limit count5997 when user has assigned open issues from archived and closed projects5998 count all assigned open issues excluding those from closed or archived projects5999 behaves like a counter caching service6000 #count6001 caches the count6002 #refresh_cache6003 refreshes the cache6004 #delete_cache6005 removes the cache6006 #uncached_count6007 does not cache the count6008Gitlab::Database::AsyncConstraints::MigrationHelpers6009 # order random6010 with async FK validation on regular tables6011 #prepare_async_foreign_key_validation6012 creates the record for the async FK validation6013 when an explicit name is given6014 creates the record with the given name6015 when the FK does not exist6016 returns an error6017 when the record already exists6018 does attempt to create the record6019 when the async FK validation table does not exist6020 does not raise an error6021 #unprepare_async_foreign_key_validation6022 with foreign keys6023 destroys the record6024 when an explicit name is given6025 destroys the record6026 when the async fk validation table does not exist6027 does not raise an error6028 with other types of constraints6029 does not destroy the record6030 with partitioned tables6031 #prepare_partitioned_async_foreign_key_validation6032 delegates to prepare_async_foreign_key_validation for each partition6033 #unprepare_partitioned_async_foreign_key_validation6034 delegates to unprepare_async_foreign_key_validation for each partition6035 with async check constraint validations6036 #prepare_async_check_constraint_validation6037 creates the record for async validation6038 when the check constraint does not exist6039 returns an error6040 when the record already exists6041 does attempt to create the record6042 when the async validation table does not exist6043 does not raise an error6044 #unprepare_async_check_constraint_validation6045 with check constraints6046 destroys the record6047 when the async validation table does not exist6048 does not raise an error6049 with other types of constraints6050 does not destroy the record6051Gitlab::Diff::HighlightCache6052 #decorate6053 does not calculate highlighting when reading from cache6054 assigns highlighted diff lines to the DiffFile6055 assigns highlighted diff lines which rich_text are HTML-safe6056 when diff_file is uncached due to default_max_patch_bytes change6057 manually writes highlighted lines to the cache6058 assigns highlighted diff lines to the DiffFile6059 #write_if_empty6060 updates memory usage metrics if Redis version >= 46061 does not update memory usage metrics if Redis version < 46062 behaves like caches missing entries6063 filters the key/value list of entries to be caches for each invocation6064 reads from cache once6065 refreshes TTL of the key on read6066 different diff_collections for the same diffable6067 writes an uncached files in the collection to the same redis hash6068 when cache initialized with MergeRequestDiffBatch6069 behaves like caches missing entries6070 filters the key/value list of entries to be caches for each invocation6071 reads from cache once6072 refreshes TTL of the key on read6073 #write_to_redis_hash6074 creates or updates a Redis hash6075 when diff contains unsupported characters6076 does not update the cache6077 #clear6078 clears cache6079 GZip usage6080 uses ActiveSupport::Gzip when reading from the cache6081 uses ActiveSupport::Gzip to compress data when writing to cache6082 metrics6083 observes :gitlab_redis_diff_caching_memory_usage_bytes6084 records hit ratio metrics6085 #key6086 returns cache key6087 when the `diff_line_syntax_highlighting` feature flag is disabled6088 returns the original version of the cache6089BackgroundMigration::CiDatabaseWorker6090 behaves like it runs background migration jobs6091 defining the job attributes6092 defines the data_consistency as always (PENDING: Skipping because ci is shared or doesn't not exist)6093 defines the retry count in sidekiq_options (PENDING: Skipping because ci is shared or doesn't not exist)6094 defines the feature_category as database (PENDING: Skipping because ci is shared or doesn't not exist)6095 defines the urgency as throttled (PENDING: Skipping because ci is shared or doesn't not exist)6096 defines the loggable_arguments (PENDING: Skipping because ci is shared or doesn't not exist)6097 .tracking_database6098 does not raise an error (PENDING: Skipping because ci is shared or doesn't not exist)6099 overrides the method to return the tracking database (PENDING: Skipping because ci is shared or doesn't not exist)6100 .minimum_interval6101 returns 2 minutes (PENDING: Skipping because ci is shared or doesn't not exist)6102 #perform6103 when execute_background_migrations feature flag is disabled6104 does not perform the job, reschedules it in the future, and logs a message (PENDING: Skipping because ci is shared or doesn't not exist)6105 when execute_background_migrations feature flag is enabled6106 performs jobs using the coordinator for the worker (PENDING: Skipping because ci is shared or doesn't not exist)6107 when lease can be obtained6108 sets up the shared connection before checking replication (PENDING: Skipping because ci is shared or doesn't not exist)6109 performs a background migration (PENDING: Skipping because ci is shared or doesn't not exist)6110 can run scheduled job and retried job concurrently (PENDING: Skipping because ci is shared or doesn't not exist)6111 sets the class that will be executed as the caller_id (PENDING: Skipping because ci is shared or doesn't not exist)6112 when lease_attempts is 16113 performs a background migration (PENDING: Skipping because ci is shared or doesn't not exist)6114 when lease not obtained (migration of same class was performed recently)6115 reschedules the migration and decrements the lease_attempts (PENDING: Skipping because ci is shared or doesn't not exist)6116 when lease_attempts is 16117 reschedules the migration and decrements the lease_attempts (PENDING: Skipping because ci is shared or doesn't not exist)6118 when lease_attempts is 06119 gives up performing the migration (PENDING: Skipping because ci is shared or doesn't not exist)6120 when database is not healthy6121 reschedules a migration if the database is not healthy (PENDING: Skipping because ci is shared or doesn't not exist)6122 increments the unhealthy counter (PENDING: Skipping because ci is shared or doesn't not exist)6123 when lease_attempts is 06124 gives up performing the migration (PENDING: Skipping because ci is shared or doesn't not exist)6125Sidebars::UserProfile::Menus::ContributedProjectsMenu6126 # order random6127 behaves like User profile menu6128 does not contain any sub menu6129 renders the correct link6130 renders the correct title6131 renders the correct icon6132 defines correct active route6133 renders if user is logged in6134 when viewed user is blocked6135 when user is not logged in6136 is not allowed to view the menu item6137 when current user has permission6138 is allowed to view the menu item6139 when current user does not have permission6140 is not allowed to view the menu item6141 when viewed user is banned6142 when user is not logged in6143 is not allowed to view the menu item6144 when current user has permission6145 is allowed to view the menu item6146 when current user does not have permission6147 is not allowed to view the menu item6148PaginatedDiffEntity6149 exposes diff_files6150 exposes pagination data6151 diff_files6152 serializes diff files using DiffFileEntity6153 when there are conflicts6154 serializes diff files with conflicts6155Verify/Load-Performance-Testing.gitlab-ci.yml6156 the created pipeline6157 has no errors6158 on master6159 behaves like load_performance job on tag or branch6160 by default6161 on another branch6162 behaves like load_performance job on tag or branch6163 by default6164 on tag6165 behaves like load_performance job on tag or branch6166 by default6167 on merge request6168 has no jobs6169Gitlab::Ci::Config::Yaml6170 # order random6171 .load_result!6172 when syntax is invalid6173 returns an invalid result object6174 when the first document is a header6175 with explicit document start marker6176 considers the first document as header and the second as content6177 when first document is empty6178 considers the first document as header and the second as content6179 when first document is an empty hash6180 returns second document as a content6181 when first an array6182 considers the first document as header and the second as content6183 when the first document is not a header6184 considers the first document as content for backwards compatibility6185 with explicit document start marker6186 considers the first document as content for backwards compatibility6187 when the first document is not a header and second document is empty6188 considers the first document as content6189 with explicit document start marker6190 considers the first document as content6191 .load!6192 loads a single-doc YAML file6193 loads the first document from a multi-doc YAML file6194 when YAML is invalid6195 raises an error6196 when ci_multi_doc_yaml is disabled6197 loads a single-doc YAML file6198 loads the first document from a multi-doc YAML file6199BitbucketServer::Representation::PullRequest6200 #author6201 is expected to eq "root"6202 #author_email6203 is expected to eq "joe.montana@49ers.com"6204 #author_username6205 returns username6206 when username is absent6207 returns slug6208 when slug and username are absent6209 returns displayName6210 #description6211 is expected to eq "Test"6212 #iid6213 is expected to eq 76214 #state6215 is expected to eq "merged"6216 declined pull requests6217 returns closed6218 open pull requests6219 returns open6220 #merged?6221 is expected to be truthy6222 #created_at6223 is expected to eq 15306006356224 #updated_at6225 is expected to eq 15306006486226 #title6227 is expected to eq "Added a new line"6228 #source_branch_name6229 is expected to eq "refs/heads/root/CODE_OF_CONDUCTmd-1530600625006"6230 #source_branch_sha6231 is expected to eq "074e2b4dddc5b99df1bf9d4a3f66cfc15481fdc8"6232 #target_branch_name6233 is expected to eq "refs/heads/master"6234 #target_branch_sha6235 is expected to eq "839fa9a2d434eb697815b8fcafaecc51accfdbbc"6236 #to_hash6237 is expected to match (a hash including {:author_email => "joe.montana@49ers.com", :author_username => "username", :author => "root", :description => "Test", :source_branch_name => "refs/heads/root/CODE_OF_CONDUCTmd-1530600625006", :source_branch_sha => "074e2b4dddc5b99df1bf9d4a3f66cfc15481fdc8", :target_branch_name => "refs/heads/master", :target_branch_sha => "839fa9a2d434eb697815b8fcafaecc51accfdbbc", :title => "Added a new line"})6238Metrics::UsersStarredDashboardsFinder6239 #execute6240 there are no starred dashboard records6241 returns empty array6242 with annotation records6243 user without read access to project6244 returns empty relation6245 user with read access to project6246 loads starred dashboards6247 when the dashboard_path filter is present6248 loads filtered starred dashboards6249Gitlab::Email::Message::InProductMarketing::Base6250 initialize6251 when series does not exist6252 raises error6253 when series exists6254 does not raise error6255 #logo_path6256 is expected to eq "mailers/in_product_marketing/create-0.png"6257 #unsubscribe6258 on gitlab.com6259 is expected to include "%tag_unsubscribe_url%"6260 not on gitlab.com6261 is expected to include "http://localhost/-/profile/notifications"6262 #cta_link6263 renders link6264 #progress6265 on gitlab.com6266 is expected to include "This is email 1 of 3 in the Create series"6267 not on gitlab.com6268 is expected to include "This is email 1 of 3 in the Create series" and "http://localhost/-/profile/notifications"6269 #series?6270 track: :create, result: true6271 is expected to eq true6272 track: :team_short, result: true6273 is expected to eq true6274 track: :trial_short, result: true6275 is expected to eq true6276 track: :admin_verify, result: true6277 is expected to eq true6278 track: :verify, result: true6279 is expected to eq true6280 track: :trial, result: true6281 is expected to eq true6282 track: :team, result: true6283 is expected to eq true6284PersonalAccessTokenPolicy6285 current_user is an administrator6286 not the owner of the token6287 is expected to be allowed :read_token6288 is expected to be allowed :revoke_token6289 owner of the token6290 is expected to be allowed :read_token6291 is expected to be allowed :revoke_token6292 current_user is not an administrator6293 not the owner of the token6294 is expected to be disallowed :read_token6295 is expected to be disallowed :revoke_token6296 owner of the token6297 is expected to be allowed :read_token6298 is expected to be allowed :revoke_token6299 subject of the impersonated token6300 is expected to be disallowed :read_token6301 is expected to be disallowed :revoke_token6302 current_user is a blocked administrator6303 owner of the token6304 is expected to be disallowed :read_token6305 is expected to be disallowed :revoke_token6306 not the owner of the token6307 is expected to be disallowed :read_token6308 is expected to be disallowed :revoke_token6309Gitlab::Ci::Reports::Security::Identifier6310 #initialize6311 when all params are given6312 initializes an instance6313 when attribute external_type is missing6314 raises an error6315 when attribute external_id is missing6316 raises an error6317 when attribute name is missing6318 raises an error6319 #key6320 returns fingerprint6321 #type_identifier?6322 external_type: "cve", expected_result: false6323 is expected to equal false6324 external_type: "foo", expected_result: false6325 is expected to equal false6326 external_type: "cwe", expected_result: true6327 is expected to equal true6328 external_type: "wasc", expected_result: true6329 is expected to equal true6330 external type check methods6331 external_type: "Foo", is_cve?: false, is_cwe?: false, is_wasc?: false6332 returns correct result for the type check method6333 external_type: "Cve", is_cve?: true, is_cwe?: false, is_wasc?: false6334 returns correct result for the type check method6335 external_type: "Cwe", is_cve?: false, is_cwe?: true, is_wasc?: false6336 returns correct result for the type check method6337 external_type: "Wasc", is_cve?: false, is_cwe?: false, is_wasc?: true6338 returns correct result for the type check method6339 #to_hash6340 returns expected hash6341 #==6342 when external_type and external_id are equal6343 returns true6344 when external_type is different6345 returns false6346 when external_id is different6347 returns false6348API::Helpers::Packages::Npm6349 # order random6350 #project_id_or_nil6351 when called with project scope6352 is expected to eq 11536353 when called with group scope6354 is expected to eq 11536355 when called with instance scope6356 when given an unscoped name6357 is expected to eq nil6358 when given a scope that does not match a group name6359 is expected to eq nil6360 when given a scope that matches a group name6361 is expected to eq 11536362 with another package with the same name, in another project in the namespace6363 returns the project id for the newest matching package within the scope6364 with npm_allow_packages_in_multiple_projects disabled6365 when given an unscoped name6366 is expected to eq nil6367 when given a scope that does not match a group name6368 is expected to eq nil6369 when given a scope that matches a group name6370 is expected to eq 11536371 with another package with the same name, in another project in the namespace6372 returns the project id for the newest matching package within the scope6373 #finder_for_endpoint_scope6374 when called with project scope6375 returns a PackageFinder for project scope6376 when called with instance scope6377 returns a PackageFinder for namespace scope6378 when called with group scope6379 returns a PackageFinder for group scope6380Ci::PipelineArtifacts::CodeQualityMrDiffPresenter6381 #for_files6382 when code quality has data6383 when filenames is empty6384 returns hash without quality6385 when filenames do not match code quality data6386 returns hash without quality6387 when filenames matches code quality data6388 when asking for one filename6389 returns quality for the given filename6390 when asking for multiple filenames6391 returns quality for the given filenames6392DiffFileMetadataEntity6393 as json6394 exposes the expected fields6395 behaves like diff file with conflict_type6396 #conflict_type6397 returns nil by default6398 when there is matching conflict file6399 returns false6400WikiPages::EventCreateService6401 #execute6402 returns a successful response6403 creates a wiki page event6404 returns an event in the payload6405 records the slug for the page6406 the user is nil6407 raises an error on construction6408 the action is illegal6409 returns an error6410 does not create an event6411 the action is a deletion6412 does not synchronize the wiki metadata timestamps with the git commit6413RemoveUnacceptedMemberInvitesWorker6414 #perform6415 unaccepted members6416 removes unaccepted members6417 invited members still within expiration threshold6418 leaves invited members6419 accepted members6420 leaves accepted members6421Banzai::Filter::InlineObservabilityFilter6422 # order random6423 #filter?6424 when the document contains a valid observability link6425 leaves the original link unchanged6426 appends an observability charts placeholder6427 with duplicate URLs6428 embeddable_url: "not-nil"6429 calls Gitlab::Observability.embeddable_url only once6430 embeddable_url: nil6431 calls Gitlab::Observability.embeddable_url only once6432 when the embeddable url is nil6433 behaves like does not embed observabilty6434 leaves the original link unchanged6435 does not append an observability charts placeholder6436 when the document has an unrecognised link6437 does not build the embeddable url6438 behaves like does not embed observabilty6439 leaves the original link unchanged6440 does not append an observability charts placeholder6441 when feature flag is disabled6442 does not build the embeddable url6443 behaves like does not embed observabilty6444 leaves the original link unchanged6445 does not append an observability charts placeholder6446Members::ImportProjectTeamService6447 #execute6448 when project team members are imported successfully6449 returns true6450 when the project team import fails6451 when the target project cannot be found6452 returns false6453 when the source project cannot be found6454 returns false6455 when the user doing the import does not exist6456 returns false6457 when the user does not have permission to read the source project members6458 returns false6459 when the user does not have permission to admin the target project6460 returns false6461 when the source and target project are valid but the ProjectTeam#import command fails6462 returns false6463PersonalAccessTokens::RotateService6464 # order random6465 #execute6466 rotates user's own token6467 revokes the previous token6468 when user tries to rotate already revoked token6469 returns an error6470 when revoking previous token fails6471 returns an error6472 when creating the new token fails6473 returns an error6474 reverts the changes6475WebIdeTerminal6476 returns the show_path of the build6477 returns the retry_path of the build6478 returns the cancel_path of the build6479 returns the terminal_path of the build6480 returns the proxy_websocket_path of the build6481 services6482 when image does not have an alias6483 returns services aliases6484 when both image and services have aliases6485 returns all aliases6486 when image and services does not have any alias6487 returns an empty array6488 when no image nor services6489 returns an empty array6490Sidebars::UserProfile::Menus::GroupsMenu6491 # order random6492 behaves like User profile menu6493 does not contain any sub menu6494 renders the correct link6495 renders the correct title6496 renders the correct icon6497 defines correct active route6498 renders if user is logged in6499 when viewed user is blocked6500 when user is not logged in6501 is not allowed to view the menu item6502 when current user has permission6503 is allowed to view the menu item6504 when current user does not have permission6505 is not allowed to view the menu item6506 when viewed user is banned6507 when user is not logged in6508 is not allowed to view the menu item6509 when current user has permission6510 is allowed to view the menu item6511 when current user does not have permission6512 is not allowed to view the menu item6513Milestones::IssuesCountService6514 counts all issues including confidential6515 behaves like a counter caching service6516 #count6517 caches the count6518 #refresh_cache6519 refreshes the cache6520 #delete_cache6521 removes the cache6522 #uncached_count6523 does not cache the count6524Prometheus::ProxyVariableSubstitutionService6525 #execute6526 does not alter params passed to the service6527 is expected to eq #<ActionController::Parameters {"query"=>"up{environment=\"{{ci_environment_slug}}\"}"} permitted: true>6528 with predefined variables6529 with nil query6530 behaves like success6531 replaces variables with values6532 with liquid format6533 behaves like success6534 replaces variables with values6535 with custom variables6536 behaves like success6537 replaces variables with values6538 with predefined variables in variables parameter6539 behaves like success6540 replaces variables with values6541 with invalid variables parameter6542 behaves like error6543 returns error6544 with nil variables6545 behaves like success6546 replaces variables with values6547 gsub variable substitution tolerance for weirdness6548 with whitespace around variable6549 behaves like success6550 replaces variables with values6551 with empty variables6552 behaves like success6553 replaces variables with values6554 with multiple occurrences of variable in string6555 behaves like success6556 replaces variables with values6557 with multiple variables in string6558 behaves like success6559 replaces variables with values6560 with unknown variables in string6561 behaves like success6562 replaces variables with values6563 with unknown and known variables in string6564 behaves like success6565 replaces variables with values6566 __range6567 behaves like success6568 replaces variables with values6569Tooling::Mappings::PartialToViewsMappings6570 # order random6571 #reconstruct_partial_filename6572 when the partial does not contain a path6573 returns the correct filename6574 when the partial contains a path6575 returns the correct filename6576 #find_pattern_in_file6577 when the file contains the pattern6578 returns the pattern once6579 when the file does not contain the pattern6580 returns an empty array6581 #view_includes_modified_partial?6582 when the included partial name is relative to the view file6583 when the partial is not part of the changed files6584 returns false6585 when the partial is part of the changed files6586 returns true6587 when the included partial name is relative to the base views folder6588 when the partial is not part of the changed files6589 returns false6590 when the partial is part of the changed files6591 returns true6592 #extract_partial_keyword6593 returns the correct partial keyword6594 #execute6595 does not modify the content of the input file6596 when no partials were modified6597 does not change the output file6598 when some partials were modified6599 when the partials are not included in any views6600 does not change the output file6601 when the partials are included in views6602 writes the view including the partial to the output6603 #filter_files6604 when the file does not exist on disk6605 returns an empty array6606 when the file exists on disk6607 when the file is not in the view base folders6608 returns an empty array6609 when the filename does not start with an underscore6610 returns an empty array6611 when the filename does not have the correct extension6612 returns an empty array6613 when the file is a partial6614 returns the file6615Types::Ci::JobType6616 is expected to eq "CiJob"6617 is expected to expose permissions using Types::PermissionTypes::Ci::Job6618 exposes the expected fields6619 #web_path6620 returns the web path of the job6621 #browse_artifacts_path6622 returns the path to browse the artifacts of the job6623Sidebars::Admin::Menus::SystemHooksMenu6624 # order random6625 behaves like Admin menu without sub menus6626 does not contain any sub menu(s)6627 defines correct active route6628 behaves like Admin menu6629 renders the correct link6630 renders the correct title6631 renders the correct icon6632 renders the separator if needed6633 #render?6634 when user is admin6635 renders6636 when user is not admin6637 does not render6638 when user is not logged in6639 does not render6640DevOpsReport::MetricPresenter6641 #cards6642 includes instance score, leader score and percentage score6643 #idea_to_production_steps6644 returns percentage score when it depends on a single feature6645 returns percentage score when it depends on two features6646 #average_percentage_score6647 calculates an average value across all the features6648IncidentManagement::LinkAlerts::DestroyService6649 # order random6650 #execute6651 when current user is a guest6652 responds with error6653 does not unlink alert from the incident6654 when current user is a developer6655 responds with success6656 when unlinking internal alert6657 unlinks the alert6658 when unlinking external alert6659 unlinks the alert6660 when unlinking an alert not related to the incident6661 does not change the incident's alerts6662 does not change another incident's alerts6663 does not change the alert's incident6664DesignManagement::MoveDesignsService6665 #execute6666 the user cannot move designs6667 raises cannot_move6668 the designs are not distinct6669 raises not_distinct6670 the designs are not on the same issue6671 raises not_same_issue6672 no focus is passed6673 raises no_focus6674 no neighbours are passed6675 raises no_neighbors6676 moving a design with neighbours6677 repositions existing designs and correctly places the given design6678BlobViewer::License6679 #license6680 returns the blob project repository license6681 #render_error6682 when there is no license6683 returns :unknown_license6684 when there is a license6685 returns nil6686Gitlab::GithubImport::ReschedulingMethods6687 #perform6688 with a non-existing project6689 does not perform any work6690 notifies any waiters so they do not wait forever6691 with an existing project6692 notifies any waiters upon successfully importing the data6693 reschedules itself if the data could not be imported6694 #try_import6695 returns true when the import succeeds6696 returns false when the import fails due to hitting the GitHub API rate limit6697 #notify_waiter6698 notifies the waiter if a waiter key is specified6699 does not notify any waiters if no waiter key is specified6700projects/settings/merge_requests/show6701 # order random6702 squash template6703 displays default template if none is set6704 displays the user entered value6705 merge commit template6706 displays default template if none is set6707 displays the user entered value6708 merge suggestions settings6709 displays a placeholder if none is set6710 displays the user entered value6711Sidebars::Groups::Menus::PackagesRegistriesMenu6712 behaves like not serializable as super_sidebar_menu_args6713 returns nil6714 #render?6715 when menu has menu items to show6716 returns true6717 when menu does not have any menu item to show6718 returns false6719 #link6720 when Packages Registry is visible6721 menu link points to Packages Registry page6722 when Packages Registry is not visible6723 menu link points to Container Registry page6724 when Container Registry is not visible6725 menu link points to Harbor Registry page6726 when Harbor Registry is not visible6727 menu link points to Dependency Proxy page6728 Menu items6729 Packages Registry6730 when user can read packages6731 when config package setting is disabled6732 behaves like the menu entry is not available6733 the menu item is not added to list of menu items6734 when config package setting is enabled6735 behaves like the menu entry is available6736 the menu item is added to list of menu items6737 Container Registry6738 when user can read container images6739 when config registry setting is disabled6740 behaves like the menu entry is not available6741 the menu item is not added to list of menu items6742 when config registry setting is enabled6743 behaves like the menu entry is available6744 the menu item is added to list of menu items6745 when user cannot read container images6746 behaves like the menu entry is not available6747 the menu item is not added to list of menu items6748 Dependency Proxy6749 when user can read dependency proxy6750 when config dependency_proxy is enabled6751 behaves like the menu entry is available6752 the menu item is added to list of menu items6753 when the group settings exist6754 behaves like the menu entry is available6755 the menu item is added to list of menu items6756 when the proxy is disabled at the group level6757 behaves like the menu entry is not available6758 the menu item is not added to list of menu items6759 when config dependency_proxy is not enabled6760 behaves like the menu entry is not available6761 the menu item is not added to list of menu items6762 when user cannot read dependency proxy6763 behaves like the menu entry is not available6764 the menu item is not added to list of menu items6765 Harbor Registry6766 when config harbor registry setting is disabled6767 behaves like the menu entry is not available6768 the menu item is not added to list of menu items6769 when config harbor registry setting is enabled6770 behaves like the menu entry is available6771 the menu item is added to list of menu items6772 when config harbor registry setting is not activated6773 behaves like the menu entry is not available6774 the menu item is not added to list of menu items6775Packages::Pypi::PackagesFinder6776 #execute6777 with package name param6778 within a project6779 is expected to contain exactly #<Packages::Package id: 37, project_id: 1205, created_at: "2023-06-02 06:46:08.569104004 +0000", upda...ersion: "1.0.2", package_type: "pypi", creator_id: 1745, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 38, project_id: 1205, created_at: "2023-06-02 06:46:08.590162102 +0000", upda...ersion: "1.0.3", package_type: "pypi", creator_id: 1745, status: "default", last_downloaded_at: nil>6780 behaves like when no package is found6781 non-existing package6782 is expected to be empty6783 behaves like when package_name param is a non-normalized name6784 non-existing package6785 is expected to be empty6786 within a group6787 is expected to be empty6788 user with access to only one project6789 is expected to contain exactly #<Packages::Package id: 39, project_id: 1206, created_at: "2023-06-02 06:46:08.611520491 +0000", upda...ersion: "1.0.4", package_type: "pypi", creator_id: 1747, status: "default", last_downloaded_at: nil>6790 behaves like when no package is found6791 non-existing package6792 is expected to be empty6793 behaves like when package_name param is a non-normalized name6794 non-existing package6795 is expected to be empty6796 user with access to multiple projects6797 is expected to contain exactly #<Packages::Package id: 37, project_id: 1205, created_at: "2023-06-02 06:46:08.569104004 +0000", upda...ersion: "1.0.2", package_type: "pypi", creator_id: 1745, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 38, project_id: 1205, created_at: "2023-06-02 06:46:08.590162102 +0000", upda...ersion: "1.0.3", package_type: "pypi", creator_id: 1745, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 39, project_id: 1206, created_at: "2023-06-02 06:46:08.611520491 +0000", upda...ersion: "1.0.4", package_type: "pypi", creator_id: 1747, status: "default", last_downloaded_at: nil>6798 without package_name param6799 within a group6800 user with access to only one project6801 is expected to contain exactly #<Packages::Package id: 39, project_id: 1206, created_at: "2023-06-02 06:46:08.611520491 +0000", upda...ersion: "1.0.4", package_type: "pypi", creator_id: 1747, status: "default", last_downloaded_at: nil>6802 user with access to multiple projects6803 is expected to contain exactly #<Packages::Package id: 36, project_id: 1205, created_at: "2023-06-02 06:46:08.543105395 +0000", upda...ersion: "1.0.1", package_type: "pypi", creator_id: 1745, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 37, project_id: 1205, created_at: "2023-06-02 06:46:08.569104004 +0000", upda...ersion: "1.0.2", package_type: "pypi", creator_id: 1745, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 38, project_id: 1205, created_at: "2023-06-02 06:46:08.590162102 +0000", upda...ersion: "1.0.3", package_type: "pypi", creator_id: 1745, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 39, project_id: 1206, created_at: "2023-06-02 06:46:08.611520491 +0000", upda...ersion: "1.0.4", package_type: "pypi", creator_id: 1747, status: "default", last_downloaded_at: nil>6804 within a project6805 is expected to contain exactly #<Packages::Package id: 36, project_id: 1205, created_at: "2023-06-02 06:46:08.543105395 +0000", upda...ersion: "1.0.1", package_type: "pypi", creator_id: 1745, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 37, project_id: 1205, created_at: "2023-06-02 06:46:08.569104004 +0000", upda...ersion: "1.0.2", package_type: "pypi", creator_id: 1745, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 38, project_id: 1205, created_at: "2023-06-02 06:46:08.590162102 +0000", upda...ersion: "1.0.3", package_type: "pypi", creator_id: 1745, status: "default", last_downloaded_at: nil>6806Ci::CreatePipelineService6807 tags:6808 with valid config6809 creates a pipeline6810 with too many tags6811 creates a pipeline without builds6812 tags persistence6813 with multiple tags6814 when the tags do not exist6815 does not execute N+1 queries6816 when tags are already persisted6817 does not execute N+1 queries6818 with bridge jobs6819 is expected to be empty6820Integrations::ChatMessage::NoteMessage6821 behaves like Integrations::ChatMessage6822 when input contains link markup6823 strips all link markup characters6824 commit notes6825 without markdown6826 returns a message regarding notes on commits6827 with markdown6828 returns a message regarding notes on commits6829 merge request notes6830 without markdown6831 returns a message regarding notes on a merge request6832 with markdown6833 returns a message regarding notes on a merge request6834 issue notes6835 without markdown6836 returns a message regarding notes on an issue6837 with markdown6838 returns a message regarding notes on an issue6839 project snippet notes6840 without markdown6841 returns a message regarding notes on a project snippet6842 with markdown6843 returns a message regarding notes on a project snippet6844Terraform-Module.gitlab-ci.yml6845 # order random6846 the created pipeline6847 when on default branch6848 behaves like on any branch6849 creates fmt and kics job6850 does not create a deploy job6851 when outside the default branch6852 behaves like on any branch6853 creates fmt and kics job6854 does not create a deploy job6855 when on tag6856 creates fmt and deploy job6857Integrations::Assembla6858 behaves like Integrations::ResetSecretFields6859 #exposing_secrets_fields6860 returns an array of strings6861 #reset_secret_fields?6862 returns false if no exposing field has changed6863 returns true if any exposing field has changed6864 validation callback6865 when an exposing field has changed6866 clears all secret fields6867 when a secret field has been updated6868 does not clear this secret field6869 when a secret field has been updated with the same value6870 does not clear this secret field6871 when no exposing field has changed6872 does not clear any secret fields6873 Execute6874 calls Assembla API6875Gitlab::GitalyClient::Call6876 #call6877 when the response is not an enumerator6878 returns the response6879 stores timings and call details6880 when err6881 stores timings and call details6882 when the response is an enumerator6883 returns a consumable enumerator6884 time measurements6885 records full rpc stream consumption6886 records partial rpc stream consumption6887 when err6888 records partial rpc stream consumption6889WorkItems::DeleteService6890 #execute6891 when user can delete the work item6892 is expected to be success6893 when there are errors preventing to delete the work item6894 is expected to be error6895 returns error messages6896 when user cannot delete the work item6897 is expected to be error6898 returns error messages6899RuboCop::Cop::Migration::SidekiqQueueMigrate6900 # order random6901 when in a post-deployment migration6902 registers no offense6903 when in a regular migration6904 registers an offense when sidekiq_queue_migrate is used in #up6905 registers an offense when sidekiq_queue_migrate is used in #down6906 registers an offense when sidekiq_queue_migrate is used in #change6907 registers an offense when sidekiq_queue_migrate is used in #any_other_method6908 when outside of a migration6909 registers no offense6910Gitlab::Git::BlameMode6911 # order random6912 #pagination?6913 is expected to be truthy6914 when `streaming` params is enabled6915 is expected to be falsey6916 when `no_pagination` param is provided6917 is expected to be falsey6918 when `blame_page_pagination` is disabled6919 is expected to be falsey6920 #streaming?6921 is expected to be falsey6922 when streaming param is provided6923 is expected to be truthy6924 #full?6925 is expected to be falsey6926 when `blame_page_pagination` is disabled6927 is expected to be truthy6928MergeRequestUserEntity6929 #as_json6930 exposes needed attributes6931 when `status` is not preloaded6932 does not expose the availability attribute6933 when the user has not approved the merge-request6934 exposes that the user has not approved the MR6935 when the user has approved the merge-request6936 exposes that the user has approved the MR6937 when `status` is preloaded6938 exposes the availibility attribute6939 performance6940 is linear in the number of merge requests (PENDING: See: https://gitlab.com/gitlab-org/gitlab/-/issues/322549)6941MergeRequests::HandleAssigneesChangeWorker6942 behaves like an idempotent worker6943 is labeled as idempotent6944 performs multiple times sequentially without raising an exception6945 #perform6946 calls MergeRequests::HandleAssigneesChangeService#execute to handle the changes6947 when there are no changes6948 still calls MergeRequests::HandleAssigneesChangeService#execute6949 when the old assignees cannot be found6950 still calls MergeRequests::HandleAssigneesChangeService#execute6951 with a non-existing merge request6952 does nothing6953 with a non-existing user6954 does nothing6955Ci::PipelineVariable6956 is expected to validate that :key cannot be empty/falsy6957 behaves like CI variable6958 is expected to includes the Ci::HasVariable module6959 strips whitespaces when assigning key6960 can convert to runner variable6961 variable type6962 defines variable types6963 defaults variable type to env_var6964 supports variable type file6965 #hook_attrs6966 is expected to be a kind of Hash6967 is expected to eq {:key=>"foo", :value=>"bar"}6968 partitioning6969 with pipeline6970 copies the partition_id from pipeline6971 without pipeline6972 is expected to validate that :partition_id cannot be empty/falsy6973 does not change the partition_id value6974Projects::ImportExport::RelationExportWorker6975 behaves like an idempotent worker6976 is labeled as idempotent6977 performs multiple times sequentially without raising an exception6978 #perform6979 when relation export has initial status `queued`6980 exports the relation6981 when relation export has status `started`6982 retries the export of the relation6983 when relation export does not have status `queued` or `started`6984 does not export the relation6985 .sidekiq_retries_exhausted6986 sets relation export status to `failed`6987 logs the error message6988Gitlab::LegacyGithubImport::LabelFormatter6989 #attributes6990 returns formatted attributes6991 #create!6992 when label does not exist6993 creates a new label6994 when label exists6995 does not create a new label6996Gitlab::DatabaseImporters::CommonMetrics::Importer6997 does import common_metrics.yml6998 has the same amount of groups6999 has the same amount of panels7000 has the same amount of metrics7001 does not have duplicate IDs7002 imports all IDs7003 does import common_metrics.yml7004 when executed from outside of the Rails.root7005 does import properly all fields7006 if ID is missing7007 raises exception7008 for existing common metric with different ID7009 behaves like stores metric7010 with all data7011 and existing metric is not changed7012 when metric with ID exists7013 behaves like stores metric7014 with all data7015 and existing metric is changed7016Gitlab::Ci::Build::Credentials::Registry::GitlabRegistry7017 contains valid DockerRegistry credentials7018 .valid?7019 when registry is enabled7020 is expected to be truthy7021 when registry is disabled7022 is expected to be falsey7023Gitlab::Graphql::Pagination::ArrayConnection7024 behaves like a connection with collection methods7025 responds to to_a7026 responds to size7027 responds to map7028 responds to include?7029 responds to empty?7030 behaves like a redactable connection7031 no redactor set7032 contains the unwanted item7033 does not redact more than once7034 redactor is set7035 does not contain the unwanted item7036 does not redact more than once7037Gitlab::GrapeLogging::Loggers::ExceptionLogger7038 .parameters7039 when no exception is available7040 returns an empty hash7041 with a response7042 with a String response7043 logs the response body7044 with an Array response7045 casts all elements to strings7046 with a Rack BodyProxy response7047 logs the response body7048 unauthorized error7049 does not log an api_error field7050 HTTP success7051 does not log an api_error field7052 when an exception is available7053 returns the correct fields7054 with backtrace7055 includes the backtrace7056Packages::Go::ModuleFinder7057 #execute7058 with module name equal to project name7059 returns a module with empty path7060 with module name starting with project name and slash7061 returns a module with non-empty path7062 with a module name not equal to and not starting with project name7063 returns nil7064 with relative path component7065 behaves like an invalid path7066 #module_name7067 returns the expected name7068 #execute7069 returns nil7070 with many relative path components7071 behaves like an invalid path7072 #module_name7073 returns the expected name7074 #execute7075 returns nil7076Packages::Debian::ExtractChangesMetadataService7077 #execute7078 with valid package file7079 extract metadata7080 with invalid package file7081 raise ArgumentError7082 with invalid metadata7083 without Files field7084 raise ArgumentError7085 without Checksums-Sha1 field7086 raise ArgumentError7087 without Checksums-Sha256 field7088 raise ArgumentError7089 with file in Checksums-Sha1 but not in Files7090 raise ArgumentError7091 with different size in Checksums-Sha17092 raise ArgumentError7093 with file in Checksums-Sha256 but not in Files7094 raise ArgumentError7095 with different size in Checksums-Sha2567096 raise ArgumentError7097 with file in Files but not in Checksums-Sha17098 raise ArgumentError7099 with file in Files but not in Checksums-Sha2567100 raise ArgumentError7101 with invalid MD57102 raise ArgumentError7103 with invalid SHA17104 raise ArgumentError7105 with invalid SHA2567106 raise ArgumentError7107 with missing package file7108 raise ArgumentError7109sidekiq7110 enable_reliable_fetch?7111 when gitlab_sidekiq_reliable_fetcher is enabled7112 is expected to be truthy7113 when gitlab_sidekiq_reliable_fetcher is disabled7114 is expected to be falsey7115 enable_semi_reliable_fetch_mode?7116 when gitlab_sidekiq_enable_semi_reliable_fetcher is enabled7117 is expected to be truthy7118 when gitlab_sidekiq_enable_semi_reliable_fetcher is disabled7119 is expected to be falsey7120 load_cron_jobs!7121 loads the cron jobs into sidekiq-cron7122Projects::LfsPointers::LfsLinkService7123 #execute7124 raises an error when trying to link too many objects at once7125 executes a block after validation and before execution7126 links existing lfs objects to the project7127 returns linked oids7128 links in batches7129 only queries for the batch that will be processed7130 only queries 3 times7131Discussions::UnresolveService7132 #execute7133 unresolves the discussion7134 counts the unresolve event7135 sends GraphQL triggers7136 when there are existing unresolved discussions7137 does not send a GraphQL triggers7138 when the noteable is not a merge request7139 does not send a GraphQL triggers7140Gitlab::Ci::Reports::ReportsComparer7141 #initialize7142 sets getter for the report comparer7143 return base report7144 return head report7145 #status7146 returns not implemented error7147 when success? is true7148 returns status success7149 when success? is false7150 returns status failed7151 when base_report is nil7152 returns status not_found7153 when head_report is nil7154 returns status not_found7155 #success?7156 returns not implemented error7157 #existing_errors7158 returns not implemented error7159 #resolved_errors7160 returns not implemented error7161 #errors_count7162 returns not implemented error7163 #resolved_count7164 returns not implemented error7165 #total_count7166 returns not implemented error7167 #not_found?7168 when base report is nil7169 is expected to be truthy7170 when base report exists7171 is expected to be falsey7172Gitlab::Ci::Status::Build::Manual7173 #illustration7174 is expected to include :image, :size, :title, and :content7175 when the user can trigger the job7176 when the job has not been played7177 instructs the user about possible actions7178 when the job is retryable7179 instructs the user about possible actions7180 when the user can not trigger the job because of outdated deployment7181 is expected to match /This deployment job does not run automatically and must be started manually, but it's older than the latest deployment, and therefore can't run/7182 when the user can not trigger the job due to another reason7183 informs the user7184 .matches?7185 when build is manual7186 is a correct match7187 when build is not manual7188 does not match7189Tooling::FindTests7190 # order random7191 #execute7192 does not modify the content of the input file7193 does not overwrite the output file7194 loads the tests.yml file with a pattern matching mapping7195 when the predictive_tests_pathname file does not exist7196 creates the file7197 when the predictive_tests_pathname file already exists7198 does not create an empty file7199 when RSPEC_TESTS_MAPPING_ENABLED env variable is set7200 loads the direct matching pattern file7201 when RSPEC_TESTS_MAPPING_ENABLED env variable is not set7202 when RSPEC_TESTS_MAPPING_PATH is set7203 does not load the direct matching pattern file7204 when RSPEC_TESTS_MAPPING_PATH is not set7205 does not load the direct matching pattern file7206 when the same spec is matching multiple times7207 writes uniquely matching specs to the output7208Files::BaseService7209 # order random7210 with an author_email in params and namespace_commit_email7211 gives precedence to the parameter value for @author_email7212 with no namespace_commit_emails7213 sets @author_email to user default email7214 with a group namespace_commit_email7215 sets @author_email to the group namespace_commit_email7216 with a project namespace_commit_email7217 sets @author_email to the project namespace_commit_email7218 with a project and group namespace_commit_email7219 sets @author_email to the project namespace_commit_email7220Subquery7221 # order random7222 when relation is loaded7223 behaves like subquery as array values7224 is expected to contain exactly 1241, 1242, and 12437225 is expected not to make queries7226 when array size exceeds max_limit7227 behaves like subquery as relation7228 is expected to be a kind of ActiveRecord::Relation7229 is expected to make queries7230 with a select7231 behaves like subquery as array values7232 is expected to contain exactly 1241, 1242, and 12437233 is expected not to make queries7234 and querying with an unloaded column7235 is expected to raise ActiveModel::MissingAttributeError7236 when relation is not loaded7237 behaves like subquery as relation7238 is expected to be a kind of ActiveRecord::Relation7239 is expected to make queries7240 when array size exceeds max_limit7241 behaves like subquery as relation7242 is expected to be a kind of ActiveRecord::Relation7243 is expected to make queries7244IncidentManagement::TimelineEventsFinder7245 # order random7246 #execute7247 when user has permissions7248 returns timeline events7249 when filtering by ID7250 returns only matched timeline event7251 when incident is nil7252 is expected to eq #<ActiveRecord::Relation []>7253 when user has no permissions7254 is expected to eq #<ActiveRecord::Relation []>7255Gitlab::Ci::Build::Artifacts::Path7256 #valid?7257 when path contains a zero character7258 is not valid7259 when path is not utf8 string7260 is not valid7261 when path is valid7262 is valid7263 #directory?7264 when path ends with a directory indicator7265 is a directory7266 when path does not end with a directory indicator7267 is not a directory7268 #name7269 returns a base name7270 #nodes7271 returns number of path nodes7272 #to_s7273 when path is valid7274 returns a string representation of a path7275 when path is invalid7276 raises an error7277Banzai::ReferenceParser::MentionedGroupParser7278 #gather_references7279 when the link has a data-group attribute7280 using an existing group ID where user does not have access7281 returns empty array7282 using an existing group ID7283 returns groups7284 using a non-existing group ID7285 returns an empty Array7286Gitlab::Diff::StatsCache7287 VERSION is set7288 #read7289 returns the expected stats7290 #write_if_empty7291 when the cache already exists7292 does not write the stats7293 when the cache does not exist7294 writes the stats7295 when given non utf-8 characters7296 writes the stats7297 when given empty stats7298 does not write the stats7299 #clear7300 clears cache7301 with multiple cache versions7302 does not read from a stale cache7303Mutations::Issues::SetSubscription7304 is expected to require graphql authorizations :update_subscription7305 when user does not have access to the project7306 behaves like a subscribeable not accessible graphql resource7307 raises an error if the resource is not accessible to the user7308 when user is developer member of the project7309 behaves like a subscribeable graphql resource7310 subscribes to the resource7311 when passing subscribe as false7312 unsubscribes from the discussion7313 when the project is public7314 behaves like a subscribeable graphql resource7315 subscribes to the resource7316 when passing subscribe as false7317 unsubscribes from the discussion7318 when the project is public but the issue is confidential7319 behaves like a subscribeable not accessible graphql resource7320 raises an error if the resource is not accessible to the user7321Gitlab::Utils::DelegatorOverride::Validator7322 # order random7323 #expand_on_ancestors7324 adds the allowlist in the ancestors7325 #validate_overrides!7326 does not raise an error when the overrides are allowed7327 raises an error when there is an override7328 #add_allowlist7329 adds a method name to the allowlist7330 #add_target7331 adds the target class7332 adds all descendants of the target7333RuboCop::Cop::PreferClassMethodsOverModule7334 # order random7335 doesn't flag violation when using class_methods7336 doesn't flag violation when not using either class_methods or ClassMethods7337 doesn't flag violation when module is not extending ActiveSupport::Concern7338 flags violation when using module ClassMethods and corrects7339 doesn't flag violation when ClassMethods is used inside a class7340Sidebars::UserSettings::Menus::PreferencesMenu7341 # order random7342 behaves like User settings menu #render? method7343 #render?7344 when user is logged in7345 renders7346 when user is not logged in7347 does not render7348 behaves like User settings menu7349 does not contain any sub menu7350 renders the correct link7351 renders the correct title7352 renders the correct icon7353 defines correct active route7354Atlassian::JiraConnect::Serializers::PullRequestEntity7355 exposes commentCount7356 with user_notes_count option7357 avoids N+1 database queries7358 uses counts from user_notes_count7359 when count is missing for some MRs7360 uses 0 as default when count for the MR is not available7361Mutations::AlertManagement::PrometheusIntegration::Update7362 is expected to require graphql authorizations :admin_project7363 #resolve7364 user has sufficient access to project7365 when ::Projects::Operations::UpdateService responds with success7366 returns the integration with no errors7367 when ::Projects::Operations::UpdateService responds with an error7368 returns errors7369 when resource is not accessible to the user7370 raises an error if the resource is not accessible to the user7371InvalidGpgSignatureUpdateWorker7372 when GpgKey is found7373 calls NotificationService.new.run7374 when GpgKey is not found7375 does not raise errors7376 does not call NotificationService.new.run7377Gitlab::SidekiqCluster7378 .start7379 starts Sidekiq with the given queues, environment and options7380 starts Sidekiq with the given queues and sensible default options7381 .start_sidekiq7382 starts a Sidekiq process7383 handles duplicate queue names7384 runs the sidekiq process in a new process group7385 .count_by_queue7386 tallies the queue counts7387 .concurrency7388 queue_count: 2, min: 0, max: 0, expected: 37389 is expected to eq 37390 queue_count: 2, min: 0, max: 9, expected: 37391 is expected to eq 37392 queue_count: 2, min: 1, max: 4, expected: 37393 is expected to eq 37394 queue_count: 2, min: 4, max: 5, expected: 47395 is expected to eq 47396 queue_count: 5, min: 2, max: 3, expected: 37397 is expected to eq 37398 queue_count: 2, min: 1, max: 1, expected: 17399 is expected to eq 17400 queue_count: 0, min: 3, max: 3, expected: 37401 is expected to eq 37402 queue_count: 1, min: 4, max: 3, expected: 37403 is expected to eq 37404Gitlab::Middleware::Speedscope7405 #call7406 when flamegraph is not requested7407 behaves like returns original response7408 returns original response7409 when flamegraph requested7410 when user is not allowed7411 behaves like returns original response7412 returns original response7413 when user is allowed7414 returns a flamegraph7415 when the stackprof_mode parameter is set and valid7416 runs StackProf in the mode specified in the stackprof_mode parameter7417 when the stackprof_mode parameter is not set7418 runs StackProf in wall mode7419 when the stackprof_mode parameter is invalid7420 runs StackProf in wall mode7421 when the stackprof_mode parameter is set to object mode7422 runs StackProf with an interval of 1007423 when the stackprof_mode parameter is not set to object mode7424 runs StackProf with an interval of 10_1007425Packages::Debian::ProjectArchitecture7426 behaves like Debian Distribution Architecture7427 relationships7428 is expected to belong to distribution class_name => Packages::Debian::ProjectDistribution required: false inverse_of => architectures7429 is expected to have many files class_name => Packages::Debian::ProjectComponentFile inverse_of => architecture7430 validations7431 #distribution7432 is expected to validate that :distribution cannot be empty/falsy7433 #name7434 is expected to validate that :name cannot be empty/falsy7435 is expected to allow :name to be ‹"amd64"›7436 is expected to allow :name to be ‹"kfreebsd-i386"›7437 is expected not to allow :name to be ‹"-a"›7438 is expected not to allow :name to be ‹"AMD64"›7439 scopes7440 .ordered_by_name7441 is expected to contain exactly #<Packages::Debian::ProjectArchitecture id: 1, created_at: "2023-06-02 06:47:07.141524000 +0000", updated_at: "2023-06-02 06:47:07.141524000 +0000", distribution_id: 2, name: "name1"> and #<Packages::Debian::ProjectArchitecture id: 2, created_at: "2023-06-02 06:47:07.147616774 +0000", updated_at: "2023-06-02 06:47:07.147616774 +0000", distribution_id: 2, name: "name2">7442 .with_distribution7443 is expected to contain exactly #<Packages::Debian::ProjectArchitecture id: 1, created_at: "2023-06-02 06:47:07.141524000 +0000", updated_at: "2023-06-02 06:47:07.141524000 +0000", distribution_id: 2, name: "name1"> and #<Packages::Debian::ProjectArchitecture id: 2, created_at: "2023-06-02 06:47:07.147616774 +0000", updated_at: "2023-06-02 06:47:07.147616774 +0000", distribution_id: 2, name: "name2">7444 .with_name7445 is expected to contain exactly #<Packages::Debian::ProjectArchitecture id: 1, created_at: "2023-06-02 06:47:07.141524000 +0000", updated_at: "2023-06-02 06:47:07.141524000 +0000", distribution_id: 2, name: "name1"> and #<Packages::Debian::ProjectArchitecture id: 3, created_at: "2023-06-02 06:47:07.506950581 +0000", updated_at: "2023-06-02 06:47:07.506950581 +0000", distribution_id: 3, name: "name1">7446Metrics::Dashboard::GitlabAlertEmbedService7447 .valid_params?7448 is expected to be truthy7449 missing embedded7450 is expected to be falsey7451 not embedded7452 is expected to be falsey7453 missing alert id7454 is expected to be falsey7455 missing alert id7456 is expected to be falsey7457 #get_dashboard7458 when alerting is available7459 generates an panel based on the alert7460 does not cache the unprocessed dashboard7461 behaves like valid embedded dashboard service response7462 behaves like valid dashboard service response for schema7463 returns a json representation of the dashboard7464 behaves like raises error for users with insufficient permissions7465 when the user does not have sufficient access7466 behaves like misconfigured dashboard service response7467 returns an appropriate message and status code7468 when the user is anonymous7469 behaves like misconfigured dashboard service response7470 returns an appropriate message and status code7471 when the metric does not exist7472 behaves like misconfigured dashboard service response7473 returns an appropriate message and status code7474Atlassian::JiraConnect::Serializers::RepositoryEntity7475 is expected to match schema "jira_connect/repository"7476 with custom update_sequence_id7477 passes the update_sequence_id on to the nested entities7478Types::BaseEdge7479 supports field authorization on edge fields7480Clusters::Cleanup::ServiceAccountService7481 #execute7482 deletes gitlab service account7483 logs all events7484 deletes cluster7485 when cluster.kubeclient is nil7486 deletes cluster7487 when there is a Kubeclient::HttpError7488 with error:Unauthorized7489 destroys cluster7490 with error:forbidden7491 destroys cluster7492 with error:Certificate verify Failed7493 destroys cluster7494WorkItems::Widgets::NotificationsService::UpdateService7495 # order random7496 #before_update_in_transaction7497 when update fails7498 when user lack update_subscription permissions7499 behaves like failing to update subscription7500 when user is subscribed with a subscription record7501 does not update the work item's subscription7502 when user is subscribed by being a participant7503 does not create subscription record or change subscription state7504 when notifications params are not present7505 behaves like failing to update subscription7506 when user is subscribed with a subscription record7507 does not update the work item's subscription7508 when user is subscribed by being a participant7509 does not create subscription record or change subscription state7510 when update is successful7511 when subscribing7512 behaves like updating notifications subscription successfully7513 updates existing subscription record7514 when unsubscribing7515 when user is subscribed with a subscription record7516 behaves like updating notifications subscription successfully7517 updates existing subscription record7518 when user is subscribed by being a participant7519 creates a subscription with expected value7520BulkImports::Pipeline7521 pipeline attributes7522 getters7523 retrieves class attributes7524 when extractor and loader are defined within the pipeline7525 returns itself when retrieving extractor & loader7526 setters7527 sets class attributes7528 #instantiate7529 when options are present7530 instantiates new object with options7531 when options are missing7532 instantiates new object without options7533 #transformers7534 has instance transform method first to run7535Clusters::KubernetesErrorEntity7536 #as_json7537 when connection_error is present7538 is expected to eq {:connection_error=>:connection_error, :metrics_connection_error=>nil, :node_connection_error=>nil}7539 when metrics_connection_error is present7540 is expected to eq {:connection_error=>nil, :metrics_connection_error=>:http_error, :node_connection_error=>nil}7541 when node_connection_error is present7542 is expected to eq {:connection_error=>nil, :metrics_connection_error=>nil, :node_connection_error=>:unknown_error}7543Gitlab::ErrorTracking::Processor::SanitizerProcessor7544 .call7545 when event attributes contains sensitive information7546 filters sensitive attributes7547 when request contains sensitive information7548 filters sensitive headers7549 filters query string parameters7550 removes cookies7551 removes data7552Gitlab::Usage::Metrics::Instrumentations::CountProjectsWithMlCandidatesMetric7553 # order random7554 behaves like a correct instrumented metric value and query7555 behaves like a correct instrumented metric value7556 has correct value7557 behaves like a correct instrumented metric query7558 has correct generate query7559Mutations::Terraform::State::Unlock7560 is expected to eq "TerraformStateUnlock"7561 is expected to require graphql authorizations :admin_terraform_state7562 #resolve7563 user does not have permission7564 raises an error7565 user has permission7566 unlocks the state7567 state is already unlocked7568 does not modify the state7569 with invalid params7570 raises an error7571Gitlab::Middleware::RackMultipartTempfileFactory7572 for a multipart request7573 immediately unlinks the temporary file7574 processes the request as normal7575 for a regular request7576 does nothing7577DeleteWithLimit7578 .delete_with_limit7579 deletes a limited amount of rows7580Import::FogbugzProviderRepoEntity7581 behaves like exposes required fields for import entity7582 exposes required fields7583 correctly exposes id7584 correctly exposes full name7585 correctly exposes sanitized name7586 correctly exposes provider link7587Gitlab::Database::UnidirectionalCopyTrigger7588 #name7589 when a single column name is given7590 returns the trigger name7591 when multiple column names are given7592 returns the trigger name7593 when a different number of new and old column names are given7594 raises an error7595 #create7596 when a single column name is given7597 creates the trigger and function7598 properly copies the column data using the trigger function7599 when multiple column names are given7600 creates the trigger and function to set all the columns7601 properly copies the columns using the trigger function7602 when a custom trigger name is given7603 creates the trigger and function with the custom name7604 when the trigger function already exists7605 does not raise an error7606 when a different number of new and old column names are given7607 raises an error7608 #drop7609 drops the trigger and function for the given arguments7610 when the trigger does not exist7611 does not raise an error7612Create base work item types in production7613 behaves like work item base types importer7614OK7615 creates all base work item types if they don't exist7616OK7617 creates all default widget definitions7618OK7619 upserts base work item types if they already exist7620OK7621 upserts default widget definitions if they already exist and type changes7622OK7623 does not change default widget definitions if they already exist with changed disabled status7624OK7625 executes single INSERT query per types and widget definitions7626 when some base types exist7627OK7628 inserts all types and does nothing if some already existed7629 when some widget definitions exist7630OK7631 inserts all widget definitions and does nothing if some already existed7632Gitlab::GithubGistsImport::Representation::Gist7633 # order random7634 #first_file7635 returns a hash with needed identifiers7636 #github_identifiers7637 returns a hash with needed identifiers7638 .from_api_response7639 behaves like a Gist7640 returns an instance of Gist7641 with Gist7642 includes gist attributes7643 #truncated_title7644 truncates the title to 255 characters7645 does not truncate the title if it is shorter than 255 characters7646 .from_json_hash7647 behaves like a Gist7648 returns an instance of Gist7649 with Gist7650 includes gist attributes7651 #visibility_level7652 returns 20 when public7653 returns 0 when private7654Gitlab::GonHelper7655 #add_gon_variables7656 when HTTPS is enabled7657 sets the secure flag to true7658 when HTTP is enabled7659 sets the secure flag to false7660 when sentry is configured7661 with legacy sentry configuration7662 sets sentry dsn and environment from config7663 with sentry settings7664 when enable_new_sentry_clientside_integration is disabled7665 does not set sentry dsn and environment from config7666 when enable_new_sentry_clientside_integration is enabled7667 sets sentry dsn and environment from config7668 #push_frontend_feature_flag7669DEPRECATION WARNING: Invalid Feature Flag my_feature_flag stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)7670 pushes a feature flag to the frontend7671 #push_force_frontend_feature_flag7672 pushes a feature flag to the frontend with the provided value7673 pushes a disabled feature flag if provided value is nil7674 #default_avatar_url7675 returns an absolute URL7676Gitlab::Ci::Build::Policy7677 .fabricate7678 when policy exists7679 fabricates and initializes relevant policy7680 when some policies are not defined7681 gracefully skips unknown policies7682 when passing a nil value as specs7683 returns an empty array7684Ci::RetryPipelineWorker7685 #perform7686 when pipeline exists7687 when user exists7688 retries the pipeline7689 when user does not exist7690 does not retry the pipeline7691 when pipeline does not exist7692 returns nil7693Integrations::ZentaoTrackerData7694 behaves like Integrations::BaseDataFields7695 associations7696 is expected to belong to integration required: false7697 #activated?7698 with integration7699 with value set to false7700 is expected to eq false7701 with value set to true7702 is expected to eq true7703 without integration7704 is expected to eq false7705 #to_database_hash7706 does not include certain attributes7707 factory available7708 is expected to eq true7709 encrypted attributes7710 is expected to contain exactly :url, :api_url, :zentao_product_xid, and :api_token7711Resolvers::Metrics::DashboardResolver7712 #resolve7713 for environment7714 use ActiveModel class to find matching dashboard7715 without parent object7716 returns nil7717 when metrics dashboard feature is unavailable7718 returns nil7719shared/projects/_list7720 with projects7721 renders the list of projects7722 will not show elements a user shouldn't be able to see7723 without projects7724 when @contributed_projects is set7725 and is empty7726 renders a no-content message7727 when @starred_projects is set7728 and is empty7729 renders a no-content message7730 and without a special instance variable7731 for an explore_page7732 renders a no-content message7733 for a non-explore page7734 renders a no-content message7735Mutations::Environments::CanaryIngress::Update7736 #resolve7737 when service execution succeeded7738 returns no errors7739 with certificate_based_clusters disabled7740 returns notice about feature removal7741 when service encounters a problem7742 returns an error7743 when user is reporter who does not have permission to access the environment7744 raises an error7745Gitlab::Ci::Status::Build::Created7746 #illustration7747 is expected to include :image, :size, :title, and :content7748 .matches?7749 when build is created7750 is a correct match7751 when build is not created7752 does not match7753Types::Snippets::BlobActionEnum7754 is expected to eq "SnippetBlobActionEnum"7755 exposes all file input action types7756RuboCop::Cop::Gitlab::FeatureAvailableUsage7757 # order random7758 two arguments given7759 does not flag the use with an OSS project feature7760 does not flag the use with an EE project feature7761 flags the use with a dynamic feature as a method call with two args7762 one argument given7763 does not flag the use of License.feature_available?7764 flags the use with a dynamic feature as nil7765 flags the use with an OSS project feature7766 flags the use with a feature that is not a project feature7767 no arguments given7768 does not flag the use of Gitlab::Sourcegraph.feature_available? with no arguments7769Gitlab::GitalyClient::HealthCheckService7770 #check7771 successfully sends a health check request7772 receives an unsuccessful health check request7773 gracefully handles gRPC error7774UploaderFinder7775 #execute7776 when successful7777 gets the file-like uploader7778 when path traversal in file name7779 returns nil7780 when unexpected failure7781 returns nil when unexpected error is raised7782Boards::DestroyService7783 with project board7784 behaves like board destroy service7785 #execute7786 when there is more than one board7787 destroys the board7788 when there is only one board7789 does remove board7790 with group board7791 behaves like board destroy service7792 #execute7793 when there is more than one board7794 destroys the board7795 when there is only one board7796 does remove board7797Net::HTTP patch proxy user and password encoding7798 #proxy_user7799 is expected to eq nil7800 with http_proxy env7801 is expected to eq nil7802 and user:password authentication7803 when on multiuser safe platform7804 is expected to eq "Y\\X"7805 when not on multiuser safe platform7806 is expected to be nil7807 #proxy_pass7808 is expected to eq nil7809 with http_proxy env7810 is expected to eq nil7811 and user:password authentication7812 when on multiuser safe platform7813 is expected to eq "R%S] ?X"7814 when not on multiuser safe platform7815 is expected to be nil7816RuboCop::Cop::Migration::AddColumnsToWideTables7817 # order random7818 when in a migration7819 with wide tables7820 registers an offense when adding a column to a wide table7821 registers an offense when adding a column with default to a wide table7822 registers an offense when adding a reference7823 registers an offense when adding timestamps7824 register no offense when using other method7825 with a regular table7826 registers no offense for notes7827 when outside of a migration7828 does not register any offenses7829Gitlab::BuildAccess7830 #can_do_action7831 when the user can do an action on the project but cannot access git7832 is expected to equal true7833 when the user cannot do an action on the project7834 is expected to equal false7835Gitlab::BitbucketServerImport::Importers::LfsObjectsImporter7836 # order random7837 #execute7838 when lfs is enabled7839 imports each lfs object in parallel7840 logs its progress7841 when LFS list download fails7842 rescues and logs the exception7843 when LFS is not enabled7844 logs progress but does nothing7845Projects::ScheduleBulkRepositoryShardMovesService7846 behaves like moves repository shard in bulk7847 #execute7848 schedules container repository storage moves7849 read-only repository7850 does not get scheduled7851 .enqueue7852 defers to the worker7853GoogleCloud::EnableCloudsqlService7854 when a project does not have any GCP_PROJECT_IDs configured7855 creates GCP_PROJECT_ID project var7856 when a project has GCP_PROJECT_IDs configured7857 enables cloudsql, compute and service networking Google APIs7858 when Google APIs raise an error7859 returns error result7860admin/identities/index.html.haml7861 without identities7862 shows table headers7863 shows information text7864 with LDAP identities7865 shows exactly 5 columns7866 shows identity without provider ID or group7867 shows edit and delete identity buttons7868BreadcrumbsHelper7869 #push_to_schema_breadcrumb7870 enqueue element name, link and position7871 when link is relative7872 converts the url into absolute7873 when link is invalid7874 returns the current url7875 when link is nil7876 returns the current url7877 #schema_breadcrumb_json7878 returns the breadcrumb schema in json format7879 when extra breadcrumb element is added7880 include the extra elements before the last element7881API::Entities::Branch7882 #as_json7883 includes basic fields7884Gitlab::Ci::Artifacts::Metrics7885 .build_completed_report_type_counter7886 when incrementing by more than one7887 increments a single counter7888 #increment_destroyed_artifacts7889 when incrementing by more than one7890 increments a single counter7891Sidebars::UserSettings::Menus::EmailsMenu7892 # order random7893 behaves like User settings menu7894 does not contain any sub menu7895 renders the correct link7896 renders the correct title7897 renders the correct icon7898 defines correct active route7899 behaves like User settings menu #render? method7900 #render?7901 when user is logged in7902 renders7903 when user is not logged in7904 does not render7905Gitlab::Terraform::StateMigrationHelper7906 .migrate_to_remote_storage7907 migrates remote files to remote storage7908Gitlab::Config::Entry::Configurable7909 validations7910 when entry is a hash7911 correctly validates an instance7912 when entry is not a hash7913 invalidates the instance7914 configured entries7915 .nodes7916 has valid nodes7917 creates a node factory7918 returns a duplicated factory object7919 .reserved_node_names7920 returns all nodes with reserved: true7921Users::DismissCalloutService7922 #execute7923 behaves like dismissing user callout7924 creates a new user callout7925 returns a user callout7926 sets the dismissed_at attribute to current time7927 updates an existing callout dismissed_at time7928 does not update an invalid record with dismissed_at time7929GroupDeployKeysGroupPolicy7930 edit a group deploy key for a given group7931 is allowed when the user is an owner of this group7932 is not allowed when the user is not an owner of this group7933Create work item hierarchy restrictions in production7934 # order random7935 behaves like work item hierarchy restrictions importer7936 when restrictions are missing7937 behaves like adds restrictions7938OK7939 adds all restrictions if they don't exist7940 when base types are missing7941 behaves like adds restrictions7942OK7943 adds all restrictions if they don't exist7944 when restrictions already exist7945OK7946 upserts restrictions7947 when some restrictions are missing7948OK7949 inserts missing restrictions and does nothing if some already existed7950X509CertificateRevokeWorker7951 #perform7952 with a revoked certificate7953 is labeled as idempotent7954 performs multiple times sequentially without raising an exception7955 executes the revoke service7956 executes the revoke service7957StartupjsHelper7958 #page_startup_graphql_calls7959 returns an array containing GraphQL Page Startup Calls7960 #page_startup_graphql_headers7961 csrf_token: "abc", feature_category: "web_ide", expected: {"X-CSRF-Token"=>"abc", "x-gitlab-feature-category"=>"web_ide"}7962 returns hash of headers for GraphQL requests7963 csrf_token: "", feature_category: "", expected: {"X-CSRF-Token"=>"", "x-gitlab-feature-category"=>""}7964 returns hash of headers for GraphQL requests7965 csrf_token: "abc", feature_category: nil, expected: {"X-CSRF-Token"=>"abc", "x-gitlab-feature-category"=>""}7966 returns hash of headers for GraphQL requests7967 csrf_token: "something", feature_category: " ", expected: {"X-CSRF-Token"=>"something", "x-gitlab-feature-category"=>""}7968 returns hash of headers for GraphQL requests7969Applications::CreateService7970 when scopes are present7971 is expected to change `Doorkeeper::Application.count` by 17972 when scopes are missing7973 is expected not to change `Doorkeeper::Application.count`7974 includes blank scopes error message7975FeatureFlagSummarySerializer7976 #represent7977 has summary information7978Gitlab::CycleAnalytics::Summary::Value7979 Gitlab::CycleAnalytics::Summary::Value::None7980 returns `-`7981 Gitlab::CycleAnalytics::Summary::Value::Numeric7982 returns the string representation of the number7983 Gitlab::CycleAnalytics::Summary::Value::PrettyNumeric7984 #to_s7985 returns `-` when the number is 07986 returns `-` when the number is nil7987 returns the string representation of the number7988bin/diagnostic-reports-uploader7989 # order random7990 when GITLAB_DIAGNOSTIC_REPORTS_PATH is missing7991 raises RuntimeError7992 when GITLAB_DIAGNOSTIC_REPORTS_PROJECT is missing7993 raises RuntimeError7994 when GITLAB_GCP_KEY_PATH is missing7995 raises RuntimeError7996 when GITLAB_DIAGNOSTIC_REPORTS_BUCKET is missing7997 raises RuntimeError7998 when necessary ENV vars are set7999 runs successfully8000Gitlab::EventStore::Event8001 when schema is not defined8002 raises an error on initialization8003 when schema is defined8004 schema validation8005 when data matches the schema8006 initializes the event correctly8007 when required properties are present as well as unknown properties8008 initializes the event correctly8009 when some properties are missing8010 expects all properties to be present8011 when data is not a Hash8012 raises an error8013BuildTraceEntity8014 includes build attributes8015 includes trace metadata8016 includes the trace content in json8017shared/milestones/_top.html.haml8018 does not render a deprecation message for a non-legacy and non-dashboard milestone8019Types::AlertManagement::AlertType8020 is expected to eq "AlertManagementAlert"8021 is expected to require graphql authorizations :read_alert_management_alert8022 is expected to include Types::TodoableInterface8023 exposes the expected fields8024Gitlab::Ci::Reports::Security::FindingSignature8025 #initialize8026 when a supported algorithm type is given8027 allows itself to be created8028 #valid?8029 returns true8030 #valid?8031 when supported algorithm_type is given8032 is valid8033 when an unsupported algorithm_type is given8034 is not valid8035 #to_hash8036 returns a hash representation of the signature8037Gitlab::ImportExport8038 export filename8039 contains the project path8040 contains the namespace path8041 does not go over a certain length8042 #snippet_repo_bundle_filename_for8043 generates the snippet bundle name8044PagesDomainVerificationWorker8045 #perform8046 does nothing if the database is read-only8047 does nothing for a non-existent domain8048 delegates to VerifyPagesDomainService8049Tooling::TestMapPacker8050 #pack8051 compacts list of test files into a prefix tree8052 does nothing to empty hash8053 #unpack8054 unpack prefix tree into list of test files8055 does nothing to empty hash8056BitbucketServer::Page8057 #items8058 returns collection of needed objects8059 #attrs8060 returns attributes8061 #next?8062 returns true8063 returns false8064 #next8065 returns next attribute8066BitbucketServer::Paginator8067 #items8068 returns items and raises StopIteration in the end8069 obeys limits8070 does not stop if limit is unspecified8071 calls the connection with different offsets8072capybara_wait_for_all_requests8073 # order random8074 for Capybara::Session::WaitForAllRequestsAfterVisitPage8075 waits for all requests after a page visit8076 for Capybara::Node::Actions::WaitForAllRequestsAfterClickLink8077 waits for all requests after a click link8078 for Capybara::Node::Actions::WaitForAllRequestsAfterClickButton8079 waits for all requests after a click button8080Gitlab::AppTextLogger8081 logs a hash as string8082 logs a string unchanged8083 logs time in UTC with ISO8601.3 standard8084ImpersonationAccessTokenSerializer8085 # order random8086 #represent8087 can render a single token8088 can render a collection of tokens8089ProductAnalytics::BuildActivityGraphService8090 returns a valid graph hash8091import/gitlab_projects/new.html.haml8092 when the user has no other namespaces8093 adds a namespace_id hidden field tag with the namespace id as value8094 when the user can select other namespaces8095 shows a namespace_id select8096Packages::Npm::MetadataCacheUploader8097 # order random8098 #store_dir8099 uses the object_storage_key8100 without the object_storage_key8101 raises the error8102 #filename8103 returns metadata.json8104Gitlab::CrossProjectAccess::ClassMethods8105 #requires_cross_project_access8106 creates a correct check when a hash is passed8107 creates a correct check when an array is passed8108 creates a correct check when an array and a hash is passed8109Sidebars::Projects::SuperSidebarMenus::MonitorMenu8110 # order random8111 has title and sprite_icon8112 defines list of NilMenuItem placeholders8113Bitbucket::Connection8114 #get8115 calls OAuth2::AccessToken::get8116 #expired?8117 calls connection.expired?8118 #refresh!8119 calls connection.refresh!8120CreateTestFailureIssues8121 # order random8122 CreateTestFailureIssue8123 #upsert8124 when no issues are found8125 calls CreateIssue#execute(payload)8126 when issues are found8127 when issue already has the latest format8128 behaves like existing issue update8129 calls UpdateIssue#execute(payload)8130Sidebars::Groups::SuperSidebarMenus::SecureMenu8131 # order random8132 has title and sprite_icon8133 defines list of NilMenuItem placeholders8134Types::Notes::DiscussionType8135 exposes the expected fields8136 is expected to require graphql authorizations :read_note8137Groups::FeatureSetting8138 associations8139 is expected to belong to group required: false8140 validations8141 is expected to validate that :group cannot be empty/falsy8142Gitlab::Database::LoadBalancing::ActionCableCallbacks8143 .wrapper8144 releases the connection and clears the session8145 with an exception8146 releases the connection and clears the session8147Gitlab::Webpack::GraphqlKnownOperations8148 .load8149 when file loader returns8150 returns memoized value8151 when file loader errors8152 returns empty array8153Sidebars::Projects::SuperSidebarMenus::ManageMenu8154 # order random8155 defines list of NilMenuItem placeholders8156 has title and sprite_icon8157GroupBadge8158 associations8159 is expected to belong to group required: false8160 validations8161 is expected to validate that :group cannot be empty/falsy8162Import::GitlabProjects::FileAcquisitionStrategies::FileUpload8163 validation8164 validates presence of file8165 #project_params8166 returns the file to upload in the params8167SshKeysHelper8168 #ssh_key_allowed_algorithms8169 returns string with the names of allowed algorithms that are quoted and joined by commas8170 returns only allowed algorithms8171RuboCop::Cop::Gemspec::AvoidExecutingGit8172 # order random8173 flags violation for executing git8174 does not flag violation for using a glob8175Gitlab::Ci::Reports::Security::Scan8176 #initialize8177 when all params are given8178 initializes an instance8179 #to_hash8180 returns expected hash8181Projects::ImportErrorFilter8182 filters any full paths8183 filters any relative paths ignoring single slash ones8184Gitlab::Usage::Metrics::Instrumentations::CountCiRunnersInstanceTypeActiveOnlineMetric8185 # order random8186 behaves like a correct instrumented metric value8187 has correct value8188Ci::ChangeVariablesService8189 #execute8190 delegates to ActiveRecord update8191Gitlab::Kubernetes::Role8192 #generate8193 is expected to eq #<Kubeclient::Resource metadata={:name=>"example-name", :namespace=>"example-namespace"}, rules=[{:ap...>["hello.world"], :resources=>["oil", "diamonds", "coffee"], :verbs=>["say", "do", "walk", "run"]}]>8194Ci::ScheduleDeleteObjectsCronWorker8195 #perform8196 enqueues DeleteObjectsWorker jobs8197TodosDestroyer::PrivateFeaturesWorker8198 calls the Todos::Destroy::PrivateFeaturesService with the params it was given8199Types::EventableType8200 exposes events field8201Gitlab::Memory::Watchdog::Handlers::NullHandler8202 # order random8203 #call8204 does nothing8205RuboCop::Cop::Gitlab::Except8206 # order random8207 flags the use of Gitlab::SQL::Except.new8208Types::Ci::RunnerCountableConnectionType8209 # order random8210 contains attributes related to a runner connection8211Resolvers::PackagesBaseResolver8212 #resolve8213 throws an error8214Types::Ci::JobArtifactFileTypeEnum8215 exposes all job artifact file types8216Tooling::Danger::Specs::ProjectFactorySuggestion8217 # order random8218 adds suggestions at the correct lines8219Gitlab::GitalyClient::DiffStitcher8220 enumeration8221 combines segregated diff messages together8222Knapsack report was generated. Preview:8223{8224 "spec/services/quick_actions/interpret_service_spec.rb": 106.15809085300043,8225 "spec/models/concerns/noteable_spec.rb": 159.61048066900003,8226 "spec/lib/gitlab/middleware/go_spec.rb": 124.30947937000019,8227 "spec/services/projects/fork_service_spec.rb": 76.49165210199953,8228 "spec/finders/snippets_finder_spec.rb": 42.62027672699969,8229 "spec/lib/gitlab/git_access_snippet_spec.rb": 44.194042371999785,8230 "spec/services/issues/relative_position_rebalancing_service_spec.rb": 53.725149332,8231 "spec/services/merge_requests/merge_to_ref_service_spec.rb": 40.019413846000134,8232 "spec/services/users/migrate_records_to_ghost_user_service_spec.rb": 39.31055183399985,8233 "spec/lib/banzai/filter/references/commit_reference_filter_spec.rb": 38.289844208999966,8234 "spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb": 4.6443050609996135,8235 "spec/models/remote_mirror_spec.rb": 24.72303145600017,8236 "spec/presenters/ci/build_runner_presenter_spec.rb": 24.655593048999435,8237 "spec/finders/merge_request_target_project_finder_spec.rb": 24.695551916999648,8238 "spec/lib/gitlab/checks/branch_check_spec.rb": 22.943947301000662,8239 "spec/models/hooks/service_hook_spec.rb": 16.427198049999788,8240 "spec/views/projects/merge_requests/edit.html.haml_spec.rb": 17.13122923299943,8241 "spec/tasks/gitlab/db_rake_spec.rb": 4.096888840000247,8242 "spec/services/todos/destroy/group_private_service_spec.rb": 16.03243476100033,8243 "spec/services/submodules/update_service_spec.rb": 18.100177690000237,8244 "spec/lib/gitlab/ci/status/external/factory_spec.rb": 15.168739396000092,8245 "spec/services/ci/pipeline_creation/cancel_redundant_pipelines_service_spec.rb": 13.129811414999494,8246 "spec/lib/gitlab/search/found_blob_spec.rb": 12.535763022000538,8247 "spec/policies/blob_policy_spec.rb": 12.387108721999539,8248 "spec/helpers/tab_helper_spec.rb": 3.4955847979999817,8249 "spec/models/integrations/webex_teams_spec.rb": 7.5208284109994565,8250 "spec/services/ci/stuck_builds/drop_running_service_spec.rb": 10.665466170999935,8251 "spec/models/concerns/routable_spec.rb": 6.7140322519999245,8252 "spec/models/clusters/agents/authorizations/user_access/group_authorization_spec.rb": 12.404878950999773,8253 "spec/services/packages/conan/search_service_spec.rb": 8.48388161999992,8254 "spec/services/discussions/update_diff_position_service_spec.rb": 11.411915372999829,8255 "spec/services/alert_management/alerts/update_service_spec.rb": 7.455998925000131,8256 "spec/graphql/mutations/dependency_proxy/image_ttl_group_policy/update_spec.rb": 7.122279137000078,8257 "spec/finders/starred_projects_finder_spec.rb": 9.220242733000305,8258 "spec/views/notify/pipeline_success_email.text.erb_spec.rb": 7.448117480000292,8259 "spec/uploaders/terraform/state_uploader_spec.rb": 6.2422374329999,8260 "spec/lib/gitlab/github_import/importer/releases_importer_spec.rb": 8.950079629999891,8261 "spec/lib/gitlab/database/load_balancing/connection_proxy_spec.rb": 2.2183404190000147,8262 "spec/lib/gitlab/ci/config/external/file/project_spec.rb": 6.2159652039999855,8263 "spec/lib/gitlab/content_security_policy/config_loader_spec.rb": 1.6424277950000032,8264 "spec/services/deployments/older_deployments_drop_service_spec.rb": 7.337950772999648,8265 "spec/lib/gitlab/optimistic_locking_spec.rb": 6.653698087000521,8266 "spec/finders/projects/members/effective_access_level_finder_spec.rb": 6.247017782000512,8267 "spec/models/user_detail_spec.rb": 4.787688315000196,8268 "spec/models/ci/build_report_result_spec.rb": 4.317251904999466,8269 "spec/models/import_export_upload_spec.rb": 7.097896907999711,8270 "spec/models/instance_configuration_spec.rb": 3.2172122049996688,8271 "spec/services/ci/stuck_builds/drop_scheduled_service_spec.rb": 7.166396294000151,8272 "spec/finders/projects/groups_finder_spec.rb": 4.0709006309998585,8273 "spec/finders/contributed_projects_finder_spec.rb": 5.990663227999903,8274 "spec/lib/error_tracking/sentry_client/projects_spec.rb": 2.2473407370007408,8275 "spec/lib/gitlab/data_builder/deployment_spec.rb": 5.730951624999761,8276 "spec/serializers/issue_sidebar_basic_entity_spec.rb": 5.419098964999648,8277 "spec/workers/stuck_merge_jobs_worker_spec.rb": 5.829691419000483,8278 "spec/lib/gitlab/ci/pipeline/chain/ensure_environments_spec.rb": 7.0589890310002374,8279 "spec/workers/container_registry/migration/observer_worker_spec.rb": 5.468209192999893,8280 "spec/lib/gitlab/pagination_delegate_spec.rb": 1.152533026999663,8281 "spec/services/work_items/export_csv_service_spec.rb": 2.748620454999582,8282 "spec/lib/gitlab/ci/config/external/file/remote_spec.rb": 1.6711230239998258,8283 "spec/services/ci/job_token_scope/add_project_service_spec.rb": 2.369841028999872,8284 "spec/models/customer_relations/issue_contact_spec.rb": 4.869439919000797,8285 "spec/lib/gitlab/issuable/clone/attributes_rewriter_spec.rb": 1.8375529329996425,8286 "spec/lib/gitlab/ci/templates/themekit_gitlab_ci_yaml_spec.rb": 2.5182151489998432,8287 "spec/lib/mattermost/session_spec.rb": 2.5123371199997564,8288 "spec/services/users/assigned_issues_count_service_spec.rb": 3.8346284859999287,8289 "spec/lib/gitlab/database/async_constraints/migration_helpers_spec.rb": 1.6403976359997614,8290 "spec/lib/gitlab/diff/highlight_cache_spec.rb": 2.915469614000358,8291 "spec/workers/background_migration/ci_database_worker_spec.rb": 0.8269916879999073,8292 "spec/lib/sidebars/user_profile/menus/contributed_projects_menu_spec.rb": 0.7521509629996217,8293 "spec/serializers/paginated_diff_entity_spec.rb": 5.111947305000285,8294 "spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb": 5.455248482999195,8295 "spec/lib/gitlab/ci/config/yaml_spec.rb": 0.8609153249999508,8296 "spec/lib/bitbucket_server/representation/pull_request_spec.rb": 0.884303424000791,8297 "spec/finders/metrics/users_starred_dashboards_finder_spec.rb": 2.844634808999217,8298 "spec/lib/gitlab/email/message/in_product_marketing/base_spec.rb": 0.6437051790007899,8299 "spec/policies/personal_access_token_policy_spec.rb": 0.8988741329994809,8300 "spec/lib/gitlab/ci/reports/security/identifier_spec.rb": 0.7650457310001002,8301 "spec/lib/api/helpers/packages/npm_spec.rb": 1.410821880000185,8302 "spec/presenters/ci/pipeline_artifacts/code_quality_mr_diff_presenter_spec.rb": 1.6728058740000051,8303 "spec/serializers/diff_file_metadata_entity_spec.rb": 2.96460222099995,8304 "spec/services/wiki_pages/event_create_service_spec.rb": 1.2851306379998277,8305 "spec/workers/remove_unaccepted_member_invites_worker_spec.rb": 1.8772019699999873,8306 "spec/lib/banzai/filter/inline_observability_filter_spec.rb": 0.6014291009996668,8307 "spec/services/members/import_project_team_service_spec.rb": 1.9132488790000934,8308 "spec/services/personal_access_tokens/rotate_service_spec.rb": 0.6610975779994988,8309 "spec/models/web_ide_terminal_spec.rb": 3.8628137740006423,8310 "spec/lib/sidebars/user_profile/menus/groups_menu_spec.rb": 0.8276217080001516,8311 "spec/services/milestones/issues_count_service_spec.rb": 3.464888219000386,8312 "spec/services/prometheus/proxy_variable_substitution_service_spec.rb": 1.3197645259997444,8313 "spec/tooling/lib/tooling/mappings/partial_to_views_mappings_spec.rb": 0.8530890450001607,8314 "spec/graphql/types/ci/job_type_spec.rb": 2.0423565510000117,8315 "spec/lib/sidebars/admin/menus/system_hooks_menu_spec.rb": 0.511544947999937,8316 "spec/presenters/dev_ops_report/metric_presenter_spec.rb": 0.3884097150003072,8317 "spec/services/incident_management/link_alerts/destroy_service_spec.rb": 1.6022095680000348,8318 "spec/services/design_management/move_designs_service_spec.rb": 1.4390509180002482,8319 "spec/models/blob_viewer/license_spec.rb": 2.271528526000111,8320 "spec/workers/concerns/gitlab/github_import/rescheduling_methods_spec.rb": 1.2720537999994121,8321 "spec/views/projects/settings/merge_requests/show.html.haml_spec.rb": 3.021257567000248,8322 "spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb": 1.6681931140001325,8323 "spec/finders/packages/pypi/packages_finder_spec.rb": 2.2048819190003996,8324 "spec/services/ci/create_pipeline_service/tags_spec.rb": 3.068420524999965,8325 "spec/models/integrations/chat_message/note_message_spec.rb": 0.4944340390002253,8326 "spec/lib/gitlab/ci/templates/terraform_module_gitlab_ci_yaml_spec.rb": 2.520884348999971,8327 "spec/models/integrations/assembla_spec.rb": 1.3148646669997106,8328 "spec/lib/gitlab/gitaly_client/call_spec.rb": 1.101314438999907,8329 "spec/services/work_items/delete_service_spec.rb": 1.583509950000007,8330 "spec/rubocop/cop/migration/sidekiq_queue_migrate_spec.rb": 0.527682167000421,8331 "spec/lib/gitlab/git/blame_mode_spec.rb": 0.45356413099943893,8332 "spec/serializers/merge_request_user_entity_spec.rb": 2.9030146750001222,8333 "spec/workers/merge_requests/handle_assignees_change_worker_spec.rb": 2.0179423109993877,8334 "spec/models/ci/pipeline_variable_spec.rb": 2.4862075720002395,8335 "spec/workers/projects/import_export/relation_export_worker_spec.rb": 2.5574975469999117,8336 "spec/lib/gitlab/legacy_github_import/label_formatter_spec.rb": 0.6359258299999055,8337 "spec/lib/gitlab/database_importers/common_metrics/importer_spec.rb": 1.6167235270004312,8338 "spec/lib/gitlab/ci/build/credentials/registry/gitlab_registry_spec.rb": 1.586108998999407,8339 "spec/lib/gitlab/graphql/pagination/array_connection_spec.rb": 0.5320818560003318,8340 "spec/lib/gitlab/grape_logging/loggers/exception_logger_spec.rb": 0.4860136489996876,8341 "spec/finders/packages/go/module_finder_spec.rb": 0.9078746919994956,8342 "spec/services/packages/debian/extract_changes_metadata_service_spec.rb": 1.4487266080004702,8343 "spec/initializers/sidekiq_spec.rb": 0.444944972000485,8344 "spec/services/projects/lfs_pointers/lfs_link_service_spec.rb": 0.9031227329996909,8345 "spec/services/discussions/unresolve_service_spec.rb": 2.1761361909993866,8346 "spec/lib/gitlab/ci/reports/reports_comparer_spec.rb": 0.6979196660004163,8347 "spec/lib/gitlab/ci/status/build/manual_spec.rb": 2.053329718999521,8348 "spec/tooling/lib/tooling/find_tests_spec.rb": 0.5357862460004981,8349 "spec/services/files/base_service_spec.rb": 3.577610641999854,8350 "spec/models/concerns/subquery_spec.rb": 1.3257726359997832,8351 "spec/finders/incident_management/timeline_events_finder_spec.rb": 2.25663419600005,8352 "spec/lib/gitlab/ci/build/artifacts/path_spec.rb": 0.5784553829998913,8353 "spec/lib/banzai/reference_parser/mentioned_group_parser_spec.rb": 2.0120719719998306,8354 "spec/lib/gitlab/diff/stats_cache_spec.rb": 0.4931179989998782,8355 "spec/graphql/mutations/issues/set_subscription_spec.rb": 1.6786618520000047,8356 "spec/lib/gitlab/utils/delegator_override/validator_spec.rb": 1.97127137499956,8357 "spec/rubocop/cop/prefer_class_methods_over_module_spec.rb": 0.4124338439996791,8358 "spec/lib/sidebars/user_settings/menus/preferences_menu_spec.rb": 0.5309887659996093,8359 "spec/lib/atlassian/jira_connect/serializers/pull_request_entity_spec.rb": 2.169180401999256,8360 "spec/graphql/mutations/alert_management/prometheus_integration/update_spec.rb": 1.004215146000206,8361 "spec/workers/invalid_gpg_signature_update_worker_spec.rb": 1.8546394610002608,8362 "spec/sidekiq_cluster/sidekiq_cluster_spec.rb": 0.7127359039996009,8363 "spec/lib/gitlab/middleware/speedscope_spec.rb": 1.1053966800000126,8364 "spec/models/packages/debian/project_architecture_spec.rb": 1.3581066430006103,8365 "spec/services/metrics/dashboard/gitlab_alert_embed_service_spec.rb": 1.0523917330001495,8366 "spec/lib/atlassian/jira_connect/serializers/repository_entity_spec.rb": 2.238147187999857,8367 "spec/graphql/types/base_edge_spec.rb": 3.408684073000586,8368 "spec/services/clusters/cleanup/service_account_service_spec.rb": 1.1559006570005295,8369 "spec/services/work_items/widgets/notifications_service/update_service_spec.rb": 1.4987183640005242,8370 "spec/lib/bulk_imports/pipeline_spec.rb": 1.266805530000056,8371 "spec/serializers/clusters/kubernetes_error_entity_spec.rb": 2.3448614810004074,8372 "spec/lib/gitlab/error_tracking/processor/sanitizer_processor_spec.rb": 0.41086889400048676,8373 "spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_ml_candidates_metric_spec.rb": 1.7500925590002225,8374 "spec/graphql/mutations/terraform/state/unlock_spec.rb": 1.4232464899996558,8375 "spec/lib/gitlab/middleware/rack_multipart_tempfile_factory_spec.rb": 0.36765043700052047,8376 "spec/models/concerns/delete_with_limit_spec.rb": 1.7155627709998953,8377 "spec/serializers/import/fogbugz_provider_repo_entity_spec.rb": 0.3562220880003224,8378 "spec/lib/gitlab/database/unidirectional_copy_trigger_spec.rb": 0.7827090300006603,8379 "spec/db/production/create_base_work_item_types_spec.rb": 0.8996992630000022,8380 "spec/lib/gitlab/github_gists_import/representation/gist_spec.rb": 0.6170736100002614,8381 "spec/lib/gitlab/gon_helper_spec.rb": 0.662059047999719,8382 "spec/lib/gitlab/ci/build/policy_spec.rb": 0.31769432999954006,8383 "spec/workers/ci/retry_pipeline_worker_spec.rb": 1.0909812299996702,8384 "spec/models/integrations/zentao_tracker_data_spec.rb": 0.8831860139998753,8385 "spec/graphql/resolvers/metrics/dashboard_resolver_spec.rb": 1.4201106589998744,8386 "spec/views/shared/projects/_list.html.haml_spec.rb": 0.7470096830002149,8387 "spec/graphql/mutations/environments/canary_ingress/update_spec.rb": 0.9388294099999257,8388 "spec/lib/gitlab/ci/status/build/created_spec.rb": 1.391161242000635,8389 "spec/graphql/types/snippets/blob_action_enum_spec.rb": 0.3014944500000638,8390 "spec/rubocop/cop/gitlab/feature_available_usage_spec.rb": 0.6187987409994093,8391 "spec/lib/gitlab/gitaly_client/health_check_service_spec.rb": 1.244829401000061,8392 "spec/finders/uploader_finder_spec.rb": 1.4348988980000286,8393 "spec/services/boards/destroy_service_spec.rb": 0.8272470869997051,8394 "spec/initializers/net_http_patch_spec.rb": 0.5630894839996472,8395 "spec/rubocop/cop/migration/add_columns_to_wide_tables_spec.rb": 0.5020501979997789,8396 "spec/lib/gitlab/build_access_spec.rb": 1.1689224960000502,8397 "spec/lib/gitlab/bitbucket_server_import/importers/lfs_objects_importer_spec.rb": 0.648345708999841,8398 "spec/services/projects/schedule_bulk_repository_shard_moves_service_spec.rb": 0.968453958000282,8399 "spec/services/google_cloud/enable_cloudsql_service_spec.rb": 0.8278308670005572,8400 "spec/views/admin/identities/index.html.haml_spec.rb": 0.6675216579997141,8401 "spec/helpers/breadcrumbs_helper_spec.rb": 0.4272365830001945,8402 "spec/lib/api/entities/branch_spec.rb": 0.9452368709999064,8403 "spec/lib/gitlab/ci/artifacts/metrics_spec.rb": 1.217977823000183,8404 "spec/lib/sidebars/user_settings/menus/emails_menu_spec.rb": 0.47042321000026277,8405 "spec/lib/gitlab/terraform/state_migration_helper_spec.rb": 1.0965492300001642,8406 "spec/lib/gitlab/config/entry/configurable_spec.rb": 0.3923957050001263,8407 "spec/services/users/dismiss_callout_service_spec.rb": 0.4814738490003947,8408 "spec/policies/group_deploy_keys_group_policy_spec.rb": 0.6868084259995157,8409 "spec/db/production/create_work_item_hierarchy_restrictions_spec.rb": 0.46226737100005266,8410 "spec/workers/x509_certificate_revoke_worker_spec.rb": 0.5527636050001092,8411 "spec/helpers/startupjs_helper_spec.rb": 0.37233750599989435,8412 "spec/services/applications/create_service_spec.rb": 0.6619194680006331,8413 "spec/serializers/feature_flag_summary_serializer_spec.rb": 0.6938562549994458,8414 "spec/lib/gitlab/cycle_analytics/summary/value_spec.rb": 0.34978344699993613,8415 "spec/bin/diagnostic_reports_uploader_spec.rb": 0.43082693300038954,8416 "spec/lib/gitlab/event_store/event_spec.rb": 0.3618786570004886,8417 "spec/serializers/build_trace_entity_spec.rb": 0.4775329700005386,8418 "spec/views/shared/milestones/_top.html.haml_spec.rb": 0.723492264000015,8419 "spec/graphql/types/alert_management/alert_type_spec.rb": 0.3304296889991747,8420 "spec/lib/gitlab/ci/reports/security/finding_signature_spec.rb": 0.38286799599973165,8421 "spec/lib/gitlab/import_export/import_export_spec.rb": 0.377231466000012,8422 "spec/workers/pages_domain_verification_worker_spec.rb": 0.44651556099961454,8423 "spec/tooling/lib/tooling/test_map_packer_spec.rb": 0.3618352669991509,8424 "spec/lib/bitbucket_server/page_spec.rb": 0.3473048280002331,8425 "spec/lib/bitbucket_server/paginator_spec.rb": 0.3465475980001429,8426 "spec/support_specs/capybara_wait_for_all_requests_spec.rb": 0.28870216100040125,8427 "spec/lib/gitlab/app_text_logger_spec.rb": 0.30848814100045274,8428 "spec/serializers/impersonation_access_token_serializer_spec.rb": 0.5800133129996539,8429 "spec/services/product_analytics/build_activity_graph_service_spec.rb": 0.5643096539997714,8430 "spec/views/import/gitlab_projects/new.html.haml_spec.rb": 0.3689184370005023,8431 "spec/uploaders/packages/npm/metadata_cache_uploader_spec.rb": 0.37610780599970894,8432 "spec/lib/gitlab/cross_project_access/class_methods_spec.rb": 0.404993375000231,8433 "spec/lib/sidebars/projects/super_sidebar_menus/monitor_menu_spec.rb": 0.27566844200009655,8434 "spec/lib/bitbucket/connection_spec.rb": 0.3075293000001693,8435 "spec/scripts/pipeline/create_test_failure_issues_spec.rb": 0.2817477120006515,8436 "spec/lib/sidebars/groups/super_sidebar_menus/secure_menu_spec.rb": 0.27772013199955836,8437 "spec/graphql/types/notes/discussion_type_spec.rb": 0.28391658199961967,8438 "spec/models/groups/feature_setting_spec.rb": 0.30578186999991885,8439 "spec/lib/gitlab/database/load_balancing/action_cable_callbacks_spec.rb": 0.2948479809992932,8440 "spec/lib/gitlab/webpack/graphql_known_operations_spec.rb": 0.30049675999998726,8441 "spec/lib/sidebars/projects/super_sidebar_menus/manage_menu_spec.rb": 0.2747906029999285,8442 "spec/models/badges/group_badge_spec.rb": 0.2951921210005821,8443 "spec/services/import/gitlab_projects/file_acquisition_strategies/file_upload_spec.rb": 0.2808345620005639,8444 "spec/helpers/ssh_keys_helper_spec.rb": 0.2921736019998207,8445 "spec/rubocop/cop/gemspec/avoid_executing_git_spec.rb": 0.2828650709998328,8446 "spec/lib/gitlab/ci/reports/security/scan_spec.rb": 0.35389171699989674,8447 "spec/services/projects/import_error_filter_spec.rb": 0.2977598510005919,8448 "spec/lib/gitlab/usage/metrics/instrumentations/count_ci_runners_instance_type_active_online_metric_spec.rb": 0.2970804810001937,8449 "spec/services/ci/change_variables_service_spec.rb": 0.3264348289994814,8450 "spec/lib/gitlab/kubernetes/role_spec.rb": 0.25746804299978976,8451 "spec/workers/ci/schedule_delete_objects_cron_worker_spec.rb": 0.24626878399976704,8452 "spec/workers/todos_destroyer/private_features_worker_spec.rb": 0.24126311500003794,8453 "spec/graphql/types/eventable_type_spec.rb": 0.2670318230002522,8454 "spec/lib/gitlab/memory/watchdog/handlers/null_handler_spec.rb": 0.2519530930003384,8455 "spec/rubocop/cop/gitlab/except_spec.rb": 0.25593018399922585,8456 "spec/graphql/types/ci/runner_countable_connection_type_spec.rb": 0.26697425299971655,8457 "spec/graphql/resolvers/packages_base_resolver_spec.rb": 0.25450121399990167,8458 "spec/graphql/types/ci/job_artifact_file_type_enum_spec.rb": 0.2554753439999331,8459 "spec/tooling/danger/specs/project_factory_suggestion_spec.rb": 0.2741441919997669,8460 "spec/lib/gitlab/gitaly_client/diff_stitcher_spec.rb": 0.263402733000475568461}8462Knapsack global time execution for tests: 22m 44s8463Pending: (Failures listed here are expected and do not affect your suite's status)8464 1) Gitlab::Database::MigrationHelpers::RestrictGitlabSchema when executing migrations does raise exception about cross schema access when suppressing restriction to ensure for db_config_name=main while restrict_gitlab_migration=no_gitlab_schema does run migrate :up and :down8465 # Skipping because ci is shared or doesn't not exist8466 # ./spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb:5548467 2) Gitlab::Database::MigrationHelpers::RestrictGitlabSchema when executing migrations does raise exception about cross schema access when suppressing restriction to ensure for db_config_name=main while restrict_gitlab_migration=gitlab_schema_gitlab_main does run migrate :up and :down8468 # Skipping because ci is shared or doesn't not exist8469 # ./spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb:5548470 3) Gitlab::Database::MigrationHelpers::RestrictGitlabSchema when executing migrations does raise exception about cross schema access when suppressing restriction to ensure for db_config_name=main while restrict_gitlab_migration=gitlab_schema_gitlab_shared does run migrate :up and :down8471 # Skipping because ci is shared or doesn't not exist8472 # ./spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb:5548473 4) gitlab:db namespace rake task mark_migration_complete with multiple databases marks the migration complete on each database8474 # Skipping because ci is shared or doesn't not exist8475 # ./spec/tasks/gitlab/db_rake_spec.rb:518476 5) gitlab:db namespace rake task mark_migration_complete with multiple databases when the single database task is used marks the migration complete for the given database8477 # Skipping because ci is shared or doesn't not exist8478 # ./spec/tasks/gitlab/db_rake_spec.rb:648479 6) gitlab:db namespace rake task mark_migration_complete with multiple databases with geo configured does not create a task for the geo database8480 # Skipping because ci is shared or doesn't not exist8481 # ./spec/tasks/gitlab/db_rake_spec.rb:818482 7) gitlab:db namespace rake task configure with a single database when geo is configured when the main database is also configured only configures the main database8483 # Skipping because the geo database is not configured8484 # ./spec/tasks/gitlab/db_rake_spec.rb:2398485 8) gitlab:db namespace rake task configure with multiple databases when geo is not configured when no database has the schema loaded loads the schema and seeds all the databases8486 # Skipping because ci is shared or doesn't not exist8487 # ./spec/tasks/gitlab/db_rake_spec.rb:2798488 9) gitlab:db namespace rake task configure with multiple databases when geo is not configured when both databases have the schema loaded migrates the databases without seeding them8489 # Skipping because ci is shared or doesn't not exist8490 # ./spec/tasks/gitlab/db_rake_spec.rb:2988491 10) gitlab:db namespace rake task configure with multiple databases when geo is not configured when only one database has the schema loaded migrates and loads the schema correctly, without seeding the databases8492 # Skipping because ci is shared or doesn't not exist8493 # ./spec/tasks/gitlab/db_rake_spec.rb:3178494 11) gitlab:db namespace rake task configure with multiple databases when geo is configured does not run tasks against geo8495 # Skipping because ci is shared or doesn't not exist8496 # ./spec/tasks/gitlab/db_rake_spec.rb:3418497 12) gitlab:db namespace rake task drop_tables with multiple databases drops all objects for all databases8498 # Skipping because ci is shared or doesn't not exist8499 # ./spec/tasks/gitlab/db_rake_spec.rb:6358500 13) gitlab:db namespace rake task drop_tables with multiple databases when the single database task is used drops all objects for the given database8501 # Skipping because ci is shared or doesn't not exist8502 # ./spec/tasks/gitlab/db_rake_spec.rb:6438503 14) gitlab:db namespace rake task drop_tables with multiple databases with geo configured does not create a task for the geo database8504 # Skipping because ci is shared or doesn't not exist8505 # ./spec/tasks/gitlab/db_rake_spec.rb:6578506 15) gitlab:db namespace rake task create_dynamic_partitions with multiple databases when running the multi-database variant delegates syncing of partitions without limiting databases8507 # Skipping because ci is shared or doesn't not exist8508 # ./spec/tasks/gitlab/db_rake_spec.rb:7008509 16) gitlab:db namespace rake task create_dynamic_partitions with multiple databases when running a single-database variant delegates syncing of partitions for the chosen database8510 # Skipping because ci is shared or doesn't not exist8511 # ./spec/tasks/gitlab/db_rake_spec.rb:7088512 17) gitlab:db namespace rake task create_dynamic_partitions with geo configured does not create a task for the geo database8513 # Skipping because the geo database is not configured8514 # ./spec/tasks/gitlab/db_rake_spec.rb:7218515 18) gitlab:db namespace rake task reindex with a single database delegates to Gitlab::Database::Reindexing8516 # Skipping because ci is shared or doesn't not exist8517 # ./spec/tasks/gitlab/db_rake_spec.rb:7348518 19) gitlab:db namespace rake task reindex with a single database when reindexing is not enabled is a no-op8519 # Skipping because ci is shared or doesn't not exist8520 # ./spec/tasks/gitlab/db_rake_spec.rb:7418521 20) gitlab:db namespace rake task reindex with multiple databases delegates to Gitlab::Database::Reindexing without a specific database8522 # Skipping because none of the extra databases [:ci] are setup8523 # ./spec/tasks/gitlab/db_rake_spec.rb:7598524 21) gitlab:db namespace rake task reindex with multiple databases when the single database task is used delegates to Gitlab::Database::Reindexing with a specific database8525 # Skipping because none of the extra databases [:ci] are setup8526 # ./spec/tasks/gitlab/db_rake_spec.rb:7708527 22) gitlab:db namespace rake task reindex with multiple databases when the single database task is used when reindexing is not enabled is a no-op8528 # Skipping because none of the extra databases [:ci] are setup8529 # ./spec/tasks/gitlab/db_rake_spec.rb:7778530 23) gitlab:db namespace rake task reindex with multiple databases with geo configured does not create a task for the geo database8531 # Skipping because none of the extra databases [:ci] are setup8532 # ./spec/tasks/gitlab/db_rake_spec.rb:7918533 24) gitlab:db namespace rake task execute_async_index_operations delegates ci task to Gitlab::Database::AsyncIndexes8534 # Skipping because ci is shared or doesn't not exist8535 # ./spec/tasks/gitlab/db_rake_spec.rb:8228536 25) gitlab:db namespace rake task execute_async_index_operations delegates ci task to Gitlab::Database::AsyncIndexes with specified argument8537 # Skipping because ci is shared or doesn't not exist8538 # ./spec/tasks/gitlab/db_rake_spec.rb:8288539 26) gitlab:db namespace rake task execute_async_index_operations delegates main task to Gitlab::Database::AsyncIndexes8540 # Skipping because ci is shared or doesn't not exist8541 # ./spec/tasks/gitlab/db_rake_spec.rb:8348542 27) gitlab:db namespace rake task execute_async_index_operations delegates main task to Gitlab::Database::AsyncIndexes with specified argument8543 # Skipping because ci is shared or doesn't not exist8544 # ./spec/tasks/gitlab/db_rake_spec.rb:8408545 28) gitlab:db namespace rake task execute_async_index_operations delegates all task to every database with higher default for dev8546 # Skipping because ci is shared or doesn't not exist8547 # ./spec/tasks/gitlab/db_rake_spec.rb:8468548 29) gitlab:db namespace rake task execute_async_index_operations delegates all task to every database with lower default for prod8549 # Skipping because ci is shared or doesn't not exist8550 # ./spec/tasks/gitlab/db_rake_spec.rb:8538551 30) gitlab:db namespace rake task execute_async_index_operations delegates all task to every database with specified argument8552 # Skipping because ci is shared or doesn't not exist8553 # ./spec/tasks/gitlab/db_rake_spec.rb:8628554 31) gitlab:db namespace rake task execute_async_index_operations when feature is not enabled is a no-op8555 # Skipping because ci is shared or doesn't not exist8556 # ./spec/tasks/gitlab/db_rake_spec.rb:8708557 32) gitlab:db namespace rake task execute_async_index_operations with geo configured does not create a task for the geo database8558 # Skipping because ci is shared or doesn't not exist8559 # ./spec/tasks/gitlab/db_rake_spec.rb:8848560 33) gitlab:db namespace rake task validate_async_constraints delegates ci task to Gitlab::Database::AsyncConstraints8561 # Skipping because ci is shared or doesn't not exist8562 # ./spec/tasks/gitlab/db_rake_spec.rb:8968563 34) gitlab:db namespace rake task validate_async_constraints delegates ci task to Gitlab::Database::AsyncConstraints with specified argument8564 # Skipping because ci is shared or doesn't not exist8565 # ./spec/tasks/gitlab/db_rake_spec.rb:9028566 35) gitlab:db namespace rake task validate_async_constraints delegates main task to Gitlab::Database::AsyncConstraints8567 # Skipping because ci is shared or doesn't not exist8568 # ./spec/tasks/gitlab/db_rake_spec.rb:9088569 36) gitlab:db namespace rake task validate_async_constraints delegates main task to Gitlab::Database::AsyncConstraints with specified argument8570 # Skipping because ci is shared or doesn't not exist8571 # ./spec/tasks/gitlab/db_rake_spec.rb:9148572 37) gitlab:db namespace rake task validate_async_constraints delegates all task to every database with higher default for dev8573 # Skipping because ci is shared or doesn't not exist8574 # ./spec/tasks/gitlab/db_rake_spec.rb:9208575 38) gitlab:db namespace rake task validate_async_constraints delegates all task to every database with lower default for prod8576 # Skipping because ci is shared or doesn't not exist8577 # ./spec/tasks/gitlab/db_rake_spec.rb:9278578 39) gitlab:db namespace rake task validate_async_constraints delegates all task to every database with specified argument8579 # Skipping because ci is shared or doesn't not exist8580 # ./spec/tasks/gitlab/db_rake_spec.rb:9368581 40) gitlab:db namespace rake task validate_async_constraints when feature is not enabled is a no-op8582 # Skipping because ci is shared or doesn't not exist8583 # ./spec/tasks/gitlab/db_rake_spec.rb:9448584 41) gitlab:db namespace rake task validate_async_constraints with geo configured does not create a task for the geo database8585 # Skipping because ci is shared or doesn't not exist8586 # ./spec/tasks/gitlab/db_rake_spec.rb:9588587 42) gitlab:db namespace rake task with multiple databases db:schema:dump against a single database invokes gitlab:db:clean_structure_sql8588 # Skipping because ci is shared or doesn't not exist8589 # ./spec/tasks/gitlab/db_rake_spec.rb:11348590 43) gitlab:db namespace rake task with multiple databases db:migrate against a single database invokes gitlab:db:create_dynamic_partitions for the same database8591 # Skipping because ci is shared or doesn't not exist8592 # ./spec/tasks/gitlab/db_rake_spec.rb:11428593 44) gitlab:db namespace rake task with multiple databases db:migrate:geo does not invoke gitlab:db:create_dynamic_partitions8594 # Skipping because ci is shared or doesn't not exist8595 # ./spec/tasks/gitlab/db_rake_spec.rb:11548596 45) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs defining the job attributes defines the data_consistency as always8597 # Skipping because ci is shared or doesn't not exist8598 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:58599 46) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs defining the job attributes defines the retry count in sidekiq_options8600 # Skipping because ci is shared or doesn't not exist8601 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:98602 47) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs defining the job attributes defines the feature_category as database8603 # Skipping because ci is shared or doesn't not exist8604 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:138605 48) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs defining the job attributes defines the urgency as throttled8606 # Skipping because ci is shared or doesn't not exist8607 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:178608 49) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs defining the job attributes defines the loggable_arguments8609 # Skipping because ci is shared or doesn't not exist8610 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:218611 50) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs .tracking_database does not raise an error8612 # Skipping because ci is shared or doesn't not exist8613 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:278614 51) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs .tracking_database overrides the method to return the tracking database8615 # Skipping because ci is shared or doesn't not exist8616 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:318617 52) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs .minimum_interval returns 2 minutes8618 # Skipping because ci is shared or doesn't not exist8619 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:378620 53) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs #perform when execute_background_migrations feature flag is disabled does not perform the job, reschedules it in the future, and logs a message8621 # Skipping because ci is shared or doesn't not exist8622 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:508623 54) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs #perform when execute_background_migrations feature flag is enabled performs jobs using the coordinator for the worker8624 # Skipping because ci is shared or doesn't not exist8625 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:878626 55) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs #perform when execute_background_migrations feature flag is enabled when lease can be obtained sets up the shared connection before checking replication8627 # Skipping because ci is shared or doesn't not exist8628 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:1098629 56) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs #perform when execute_background_migrations feature flag is enabled when lease can be obtained performs a background migration8630 # Skipping because ci is shared or doesn't not exist8631 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:1188632 57) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs #perform when execute_background_migrations feature flag is enabled when lease can be obtained can run scheduled job and retried job concurrently8633 # Skipping because ci is shared or doesn't not exist8634 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:1328635 58) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs #perform when execute_background_migrations feature flag is enabled when lease can be obtained sets the class that will be executed as the caller_id8636 # Skipping because ci is shared or doesn't not exist8637 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:1428638 59) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs #perform when execute_background_migrations feature flag is enabled when lease can be obtained when lease_attempts is 1 performs a background migration8639 # Skipping because ci is shared or doesn't not exist8640 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:1258641 60) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs #perform when execute_background_migrations feature flag is enabled when lease not obtained (migration of same class was performed recently) reschedules the migration and decrements the lease_attempts8642 # Skipping because ci is shared or doesn't not exist8643 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:1688644 61) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs #perform when execute_background_migrations feature flag is enabled when lease not obtained (migration of same class was performed recently) when lease_attempts is 1 reschedules the migration and decrements the lease_attempts8645 # Skipping because ci is shared or doesn't not exist8646 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:1798647 62) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs #perform when execute_background_migrations feature flag is enabled when lease not obtained (migration of same class was performed recently) when lease_attempts is 0 gives up performing the migration8648 # Skipping because ci is shared or doesn't not exist8649 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:1918650 63) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs #perform when execute_background_migrations feature flag is enabled when database is not healthy reschedules a migration if the database is not healthy8651 # Skipping because ci is shared or doesn't not exist8652 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:2088653 64) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs #perform when execute_background_migrations feature flag is enabled when database is not healthy increments the unhealthy counter8654 # Skipping because ci is shared or doesn't not exist8655 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:2168656 65) BackgroundMigration::CiDatabaseWorker behaves like it runs background migration jobs #perform when execute_background_migrations feature flag is enabled when database is not healthy when lease_attempts is 0 gives up performing the migration8657 # Skipping because ci is shared or doesn't not exist8658 # ./spec/support/shared_examples/workers/background_migration_worker_shared_examples.rb:2258659 66) MergeRequestUserEntity#as_json performance is linear in the number of merge requests8661 Failure/Error:8662 expect do8663 a = described_class.new(user_a, request: request, merge_request: merge_request_b)8664 b = described_class.new(user_b, request: request, merge_request: merge_request_b)8666 a.as_json8667 b.as_json8668 end.not_to exceed_query_limit(baseline)8669 Expected a maximum of 10 queries, got 20:8670 Query Diff:8671 -----------8672 SELECT "users".* FROM "users"...8673 -- (expected: 1, got: 0)8674 WHERE "users"."id" = 1756 LIMIT 18675 SELECT MAX("project_authorizations"."access_level") AS maximum_access_level, "project_authorizations"."user_id" AS project_authorizations_user_id FROM "project_authorizations"...8676 -- (expected: 4, got: 0)8677 WHERE "project_authorizations"."project_id" = 1211 AND "project_authorizations"."user_id" = 1758 GROUP BY "project_authorizations"."user_id"8678 -- (expected: 3, got: 0)8679 WHERE "project_authorizations"."project_id" = 1211 AND "project_authorizations"."user_id" = 1756 GROUP BY "project_authorizations"."user_id"8680 -- (expected: 0, got: 4)8681 WHERE "project_authorizations"."project_id" = 1212 AND "project_authorizations"."user_id" = 1758 GROUP BY "project_authorizations"."user_id"8682 -- (expected: 0, got: 6)8683 WHERE "project_authorizations"."project_id" = 1212 AND "project_authorizations"."user_id" = 1756 GROUP BY "project_authorizations"."user_id"8684 -- (expected: 0, got: 4)8685 WHERE "project_authorizations"."project_id" = 1212 AND "project_authorizations"."user_id" = 1759 GROUP BY "project_authorizations"."user_id"8686 SELECT "merge_requests".* FROM "merge_requests"...8687 -- (expected: 1, got: 0)8688 WHERE "merge_requests"."source_project_id" = 1211 AND ("merge_requests"."state_id" IN (1)) AND "merge_requests"."allow_maintainer_to_push" = TRUE AND "merge_requests"."source_branch" = 'feature'8689 -- (expected: 0, got: 2)8690 WHERE "merge_requests"."source_project_id" = 1212 AND ("merge_requests"."state_id" IN (1)) AND "merge_requests"."allow_maintainer_to_push" = TRUE AND "merge_requests"."source_branch" = 'feature'8691 SELECT "merge_request_reviewers".* FROM "merge_request_reviewers"...8692 -- (expected: 1, got: 0)8693 WHERE "merge_request_reviewers"."merge_request_id" = 338 AND "merge_request_reviewers"."user_id" = 1758 LIMIT 18694 -- (expected: 0, got: 1)8695 WHERE "merge_request_reviewers"."merge_request_id" = 339 AND "merge_request_reviewers"."user_id" = 1758 LIMIT 18696 -- (expected: 0, got: 1)8697 WHERE "merge_request_reviewers"."merge_request_id" = 339 AND "merge_request_reviewers"."user_id" = 1759 LIMIT 18698 SELECT "protected_branches".* FROM ((SELECT "protected_branches".* FROM "protected_branches"...8699 -- (expected: 0, got: 1)8700 WHERE "protected_branches"."project_id" = 1212)) protected_branches8701 SELECT "approvals".* FROM "approvals"...8702 -- (expected: 0, got: 1)8703 WHERE "approvals"."merge_request_id" = 3398704 # ./spec/serializers/merge_request_user_entity_spec.rb:71:in `block (4 levels) in <top (required)>'8705 # ./spec/spec_helper.rb:415:in `block (3 levels) in <top (required)>'8706 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'8707 # ./spec/spec_helper.rb:406:in `block (2 levels) in <top (required)>'8708 # ./spec/spec_helper.rb:402:in `block (3 levels) in <top (required)>'8709 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'8710 # ./spec/spec_helper.rb:402:in `block (2 levels) in <top (required)>'8711 # ./spec/spec_helper.rb:243:in `block (2 levels) in <top (required)>'8712 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'8713 # ./spec/support/fast_quarantine.rb:23:in `block (2 levels) in <top (required)>'8714 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'8715 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'8716 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'8717Finished in 22 minutes 46 seconds (files took 44.43 seconds to load)87183426 examples, 0 failures, 66 pending8719Randomized with seed 437658720[TEST PROF INFO] Time spent in factories: 15:04.197 (65.88% of total time)8721RSpec exited with 0.8722No examples to retry, congrats!8724Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy8726Uploading artifacts...8727coverage/: found 5 matching artifact files and directories 8728crystalball/: found 2 matching artifact files and directories 8729deprecations/: found 4 matching artifact files and directories 8730knapsack/: found 4 matching artifact files and directories 8731WARNING: query_recorder/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8732rspec/: found 16 matching artifact files and directories 8733WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8734log/*.log: found 20 matching artifact files and directories 8735WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4400964302/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com8736WARNING: Retrying... context=artifacts-uploader error=request redirected8737Uploading artifacts as "archive" to coordinator... 201 Created id=4400964302 responseStatus=201 Created token=64_fbnds8738Uploading artifacts...8739rspec/rspec-*.xml: found 1 matching artifact files and directories 8740WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4400964302/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com8741WARNING: Retrying... context=artifacts-uploader error=request redirected8742Uploading artifacts as "junit" to coordinator... 201 Created id=4400964302 responseStatus=201 Created token=64_fbnds8744Job succeeded