rspec unit pg13 2/28
Passed Started
by
@fabiopitino
Fabio Pitino
1Running with gitlab-runner 16.1.0~beta.5.gf131a6a2 (f131a6a2)2 on blue-4.shared-gitlab-org.runners-manager.gitlab.com/default 8cwZ3F43, system ID: s_df0f7e24ca8b3 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-8cwz3f43-project-278964-concurrent-0 via runner-8cwz3f43-shared-gitlab-org-1685686879-21655bed...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 92035 (delta 39894), pack-reused 0 34Receiving objects: 100% (139970/139970), 123.36 MiB | 29.47 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_W-ZUz48Downloading artifacts for detect-tests (4400964025)...49Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4400964025 responseStatus=200 OK token=64_W-ZUz50Downloading artifacts for retrieve-tests-metadata (4400964028)...51Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4400964028 responseStatus=200 OK token=64_W-ZUz52Downloading artifacts for setup-test-env (4400964019)...53Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4400964019 responseStatus=200 OK token=64_W-ZUz55Using 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.decomposed-postgresql)717Geo DB won't be set up.718Embedding DB won't be set up.734$ source ./scripts/rspec_helpers.sh735$ run_timed_command "gem install knapsack --no-document"736$ gem install knapsack --no-document737Successfully installed knapsack-4.0.07381 gem installed739==> 'gem install knapsack --no-document' succeeded in 1 seconds.740$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"742$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"747$ echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-spawn\r\e[0K"748$ rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"749SKIP_FLAKY_TESTS_AUTOMATICALLY: 750RETRY_FAILED_TESTS_IN_NEW_PROCESS: true751KNAPSACK_GENERATE_REPORT: true752FLAKY_RSPEC_GENERATE_REPORT: true753KNAPSACK_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.rb754KNAPSACK_LOG_LEVEL: debug755KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg13_2_28_report.json756FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json757FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg13_2_28_report.json758NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg13_2_28_report.json759SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests_rspec_unit_pg13_2_28.txt760CRYSTALBALL: 761RSPEC_TESTS_MAPPING_ENABLED: 762RSPEC_TESTS_FILTER_FILE: 763Running 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-4400964198.json --format RspecJunitFormatter --out rspec/rspec-4400964198.xml --tag ~quarantine --tag ~level:background_migration -- spec/models/project_spec.rb spec/uploaders/design_management/design_v432x230_uploader_spec.rb spec/lib/gitlab/asciidoc_spec.rb spec/lib/gitlab/auth/o_auth/user_spec.rb spec/models/broadcast_message_spec.rb spec/lib/gitlab/background_migration/backfill_integrations_enable_ssl_verification_spec.rb spec/lib/gitlab/ssh_public_key_spec.rb spec/lib/gitlab/background_migration/migrate_shimo_confluence_integration_category_spec.rb spec/lib/gitlab/background_migration/destroy_invalid_project_members_spec.rb spec/lib/gitlab/background_migration/set_legacy_open_source_license_available_for_non_public_projects_spec.rb spec/models/resource_milestone_event_spec.rb spec/lib/gitlab/background_migration/disable_legacy_open_source_license_for_projects_less_than_one_mb_spec.rb spec/lib/gitlab/auth/auth_finders_spec.rb spec/models/compare_spec.rb spec/policies/project_snippet_policy_spec.rb spec/services/ci/job_artifacts/destroy_batch_service_spec.rb spec/lib/gitlab/background_migration/backfill_project_wiki_repositories_spec.rb spec/finders/environments/environment_names_finder_spec.rb spec/helpers/users_helper_spec.rb spec/views/layouts/nav/sidebar/_group.html.haml_spec.rb spec/lib/gitlab/auth/ldap/dn_spec.rb spec/tooling/lib/tooling/predictive_tests_spec.rb spec/services/pages/migrate_from_legacy_storage_service_spec.rb spec/lib/banzai/reference_parser/merge_request_parser_spec.rb spec/lib/gitlab/pagination/keyset/in_operator_optimization/query_builder_spec.rb spec/models/project_snippet_spec.rb spec/services/post_receive_service_spec.rb spec/lib/gitlab/metrics_spec.rb spec/graphql/types/ci/job_token_scope_type_spec.rb spec/presenters/clusterable_presenter_spec.rb spec/lib/gitlab/legacy_github_import/importer_spec.rb spec/lib/gitlab/changelog/config_spec.rb spec/lib/gitlab/group_search_results_spec.rb spec/services/projects/container_repository/gitlab/cleanup_tags_service_spec.rb spec/lib/gitlab/ci/charts_spec.rb spec/models/commit_signatures/gpg_signature_spec.rb spec/lib/gitlab/cache/helpers_spec.rb spec/services/discussions/resolve_service_spec.rb spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb spec/lib/gitlab/middleware/multipart_spec.rb spec/lib/gitlab/metrics/methods_spec.rb spec/models/concerns/reactive_caching_spec.rb spec/services/projects/protect_default_branch_service_spec.rb spec/views/ci/status/_icon.html.haml_spec.rb spec/services/ci/list_config_variables_service_spec.rb spec/lib/gitlab/github_import/importer/labels_importer_spec.rb spec/lib/gitlab/verify/job_artifacts_spec.rb spec/lib/gitlab/background_migration/encrypt_static_object_token_spec.rb spec/services/metrics/dashboard/custom_metric_embed_service_spec.rb spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb spec/lib/gitlab/email/reply_parser_spec.rb spec/lib/gitlab/database/partitioning/list/convert_table_spec.rb spec/lib/gitlab/kubernetes/default_namespace_spec.rb spec/lib/gitlab/manifest_import/project_creator_spec.rb spec/serializers/web_ide_terminal_entity_spec.rb spec/lib/gitlab/import_export/base/relation_factory_spec.rb spec/presenters/group_member_presenter_spec.rb spec/views/projects/issues/service_desk/_issue.html.haml_spec.rb spec/lib/sidebars/projects/menus/packages_registries_menu_spec.rb spec/finders/crm/contacts_finder_spec.rb spec/models/error_tracking/error_spec.rb spec/helpers/ci/pipelines_helper_spec.rb spec/services/bulk_imports/create_pipeline_trackers_service_spec.rb spec/services/packages/create_dependency_service_spec.rb spec/services/projects/refresh_build_artifacts_size_statistics_service_spec.rb spec/models/milestone_note_spec.rb spec/graphql/resolvers/board_lists_resolver_spec.rb spec/helpers/snippets_helper_spec.rb spec/lib/gitlab/github_import/importer/single_endpoint_diff_notes_importer_spec.rb spec/helpers/button_helper_spec.rb spec/graphql/mutations/incident_management/timeline_event/destroy_spec.rb spec/initializers/rest-client-hostname_override_spec.rb spec/lib/gitlab/harbor/client_spec.rb spec/graphql/resolvers/design_management/versions_resolver_spec.rb spec/services/clusters/destroy_service_spec.rb spec/views/shared/runners/_runner_details.html.haml_spec.rb spec/lib/gitlab/import_export/repo_restorer_spec.rb spec/lib/gitlab/github_import/importer/pull_requests/reviews_importer_spec.rb spec/lib/gitlab/omniauth_initializer_spec.rb spec/services/packages/npm/create_metadata_cache_service_spec.rb spec/uploaders/lfs_object_uploader_spec.rb spec/lib/banzai/filter/emoji_filter_spec.rb spec/lib/gitlab/merge_requests/mergeability/check_result_spec.rb spec/lib/gitlab/metrics/samplers/action_cable_sampler_spec.rb spec/services/personal_access_tokens/create_service_spec.rb spec/lib/gitlab/rack_attack/user_allowlist_spec.rb spec/services/packages/terraform_module/create_package_service_spec.rb spec/workers/integrations/create_external_cross_reference_worker_spec.rb spec/lib/sidebars/user_profile/menus/personal_projects_menu_spec.rb spec/graphql/types/work_items/widget_interface_spec.rb spec/lib/gitlab/internal_post_receive/response_spec.rb spec/helpers/issuables_description_templates_helper_spec.rb spec/workers/background_migration_worker_spec.rb spec/models/concerns/where_composite_spec.rb spec/helpers/profiles_helper_spec.rb spec/lib/gitlab/ci/parsers/test/junit_spec.rb spec/lib/gitlab/database/migrations/runner_backoff/migration_helpers_spec.rb spec/lib/bulk_imports/common/transformers/member_attributes_transformer_spec.rb spec/services/draft_notes/destroy_service_spec.rb spec/lib/gitlab/ci/trace/remote_checksum_spec.rb spec/lib/banzai/filter/wiki_link_filter_spec.rb spec/finders/clusters_finder_spec.rb spec/tooling/lib/tooling/find_files_using_feature_flags_spec.rb spec/rubocop/cop/gitlab/event_store_subscriber_spec.rb spec/services/users/block_service_spec.rb spec/workers/repository_import_worker_spec.rb spec/models/ci/job_variable_spec.rb spec/tooling/lib/tooling/mappings/view_to_js_mappings_spec.rb spec/lib/gitlab/dependency_linker/package_json_linker_spec.rb spec/graphql/resolvers/incident_management/timeline_events_resolver_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_ci_internal_pipelines_metric_spec.rb spec/graphql/mutations/container_repositories/destroy_tags_spec.rb spec/finders/projects/export_job_finder_spec.rb spec/presenters/tree_entry_presenter_spec.rb spec/services/packages/generic/find_or_create_package_service_spec.rb spec/lib/gitlab/issuables_count_for_state_spec.rb spec/lib/gitlab/error_tracking/processor/sanitize_error_message_processor_spec.rb spec/tasks/gitlab/x509/update_rake_spec.rb spec/lib/gitlab/webpack/file_loader_spec.rb spec/workers/group_import_worker_spec.rb spec/lib/gitlab/ci/templates/terraform_gitlab_ci_yaml_spec.rb spec/lib/gitlab/background_migration/delete_orphaned_operational_vulnerabilities_spec.rb spec/services/alert_management/http_integrations/create_service_spec.rb spec/graphql/types/environment_type_spec.rb spec/helpers/invite_members_helper_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_monitor_enabled_metric_spec.rb spec/lib/gitlab/pagination/keyset/pager_spec.rb spec/lib/gitlab/checks/lfs_check_spec.rb spec/lib/gitlab/ci/config/entry/coverage_spec.rb spec/lib/gitlab/ci/config/normalizer/matrix_strategy_spec.rb spec/services/spam/ham_service_spec.rb spec/views/projects/jobs/_generic_commit_status.html.haml_spec.rb spec/lib/gitlab/usage_data_counters/container_registry_event_counter_spec.rb spec/graphql/mutations/todos/mark_done_spec.rb spec/services/google_cloud/create_cloudsql_instance_service_spec.rb spec/lib/api/entities/wiki_page_spec.rb spec/services/clusters/agents/authorizations/ci_access/filter_service_spec.rb spec/services/events/destroy_service_spec.rb spec/services/environments/destroy_service_spec.rb spec/graphql/resolvers/error_tracking/sentry_error_collection_resolver_spec.rb spec/services/ci/runners/reset_registration_token_service_spec.rb spec/models/error_tracking/client_key_spec.rb spec/tooling/danger/datateam_spec.rb spec/lib/banzai/filter/html_entity_filter_spec.rb spec/lib/gitlab/work_items/work_item_hierarchy_spec.rb spec/lib/gitlab/file_finder_spec.rb spec/lib/api/entities/group_detail_spec.rb spec/helpers/cookies_helper_spec.rb spec/lib/gitlab/database/postgres_autovacuum_activity_spec.rb spec/graphql/types/commit_type_spec.rb spec/lib/sidebars/projects/super_sidebar_menus/secure_menu_spec.rb spec/rubocop/cop/safe_params_spec.rb spec/views/shared/projects/_project.html.haml_spec.rb spec/services/ci/create_pipeline_service/variables_spec.rb spec/helpers/components_helper_spec.rb spec/services/award_emojis/base_service_spec.rb spec/lib/gitlab/email/message/in_product_marketing/team_short_spec.rb spec/policies/release_policy_spec.rb spec/workers/packages/helm/extraction_worker_spec.rb spec/graphql/types/merge_request_connection_type_spec.rb spec/services/milestones/merge_requests_count_service_spec.rb spec/lib/gitlab/bitbucket_server_import/user_finder_spec.rb spec/lib/bulk_imports/network_error_spec.rb spec/graphql/types/packages/helm/maintainer_type_spec.rb spec/services/bulk_imports/file_export_service_spec.rb spec/views/projects/blob/_viewer.html.haml_spec.rb spec/lib/gitlab/prometheus/adapter_spec.rb spec/lib/gitlab/utils/mime_type_spec.rb spec/workers/remote_mirror_notification_worker_spec.rb spec/support_specs/database/prevent_cross_joins_spec.rb spec/services/users/respond_to_terms_service_spec.rb spec/lib/gitlab/github_import/object_counter_spec.rb spec/views/admin/groups/_form.html.haml_spec.rb spec/finders/groups/accepting_project_transfers_finder_spec.rb spec/lib/gitlab/ci/pipeline/expression/lexeme/variable_spec.rb spec/lib/gitlab/database/migration_helpers/convert_to_bigint_spec.rb spec/lib/gitlab/legacy_github_import/release_formatter_spec.rb spec/rubocop/cop/destroy_all_spec.rb spec/services/import/prepare_service_spec.rb spec/lib/slack/block_kit/app_home_opened_spec.rb spec/models/packages/npm_spec.rb spec/models/integrations/issue_tracker_data_spec.rb spec/models/snippet_input_action_collection_spec.rb spec/workers/jira_connect/sync_feature_flags_worker_spec.rb spec/lib/gitlab/gitaly_client/conflict_files_stitcher_spec.rb spec/initializers/google_cloud_profiler_spec.rb spec/models/concerns/as_cte_spec.rb spec/services/projects/forks_count_service_spec.rb spec/lib/gitlab/metrics/subscribers/ldap_spec.rb spec/lib/api/helpers/internal_helpers_spec.rb spec/workers/issues/reschedule_stuck_issue_rebalances_worker_spec.rb spec/lib/gitlab/database/migrations/lock_retries_helpers_spec.rb spec/graphql/types/issuable_type_spec.rb spec/workers/jira_connect/forward_event_worker_spec.rb spec/services/chat_names/authorize_user_service_spec.rb spec/lib/gitlab/search/abuse_validators/no_abusive_term_length_validator_spec.rb spec/graphql/resolvers/clusters/agents/authorizations/ci_access_resolver_spec.rb spec/scripts/database/schema_validator_spec.rb spec/lib/gitlab/memory/instrumentation_spec.rb spec/services/user_preferences/update_service_spec.rb spec/lib/gitlab/incident_management/pager_duty/incident_issue_description_spec.rb spec/services/users/repair_ldap_blocked_service_spec.rb spec/lib/gitlab/console_spec.rb spec/lib/gitlab/cluster/rack_timeout_observer_spec.rb spec/services/projects/apple_target_platform_detector_service_spec.rb spec/lib/banzai/render_context_spec.rb spec/lib/bulk_imports/clients/graphql_spec.rb spec/workers/approve_blocked_pending_approval_users_worker_spec.rb spec/serializers/import/github_realtime_repo_serializer_spec.rb spec/views/explore/projects/page_out_of_bounds.html.haml_spec.rb spec/scripts/lib/glfm/parse_examples_spec.rb spec/initializers/100_patch_omniauth_oauth2_spec.rb spec/graphql/types/issuable_severity_enum_spec.rb spec/lib/gitlab/graphql/tracers/application_context_tracer_spec.rb spec/lib/gitlab/import_export/duration_measuring_spec.rb spec/rubocop/cop/scalability/idempotent_worker_spec.rb spec/lib/gitlab/ci/secure_files/x509_name_spec.rb spec/graphql/types/ci/runner_platform_type_spec.rb spec/graphql/types/issuable_searchable_field_enum_spec.rb spec/initializers/hashie_mash_permitted_patch_spec.rb spec/lib/api/entities/bulk_import_spec.rb spec/lib/gitlab/github_import/logger_spec.rb spec/models/blob_viewer/podspec_json_spec.rb spec/lib/gitlab/grape_logging/loggers/perf_logger_spec.rb spec/lib/api/validations/validators/untrusted_regexp_spec.rb spec/lib/gitlab/graphql/timeout_spec.rb spec/models/ml/candidate_param_spec.rb spec/graphql/types/ci/variable_sort_enum_spec.rb spec/lib/gitlab/kubernetes/tls_secret_spec.rb spec/lib/gitlab/kubernetes/kubeconfig/entry/user_spec.rb spec/tooling/danger/specs/feature_category_suggestion_spec.rb spec/lib/gitlab/search/found_wiki_page_spec.rb spec/lib/peek/views/active_record_spec.rb spec/lib/gitlab/kubernetes/generic_secret_spec.rb spec/lib/gitlab/insecure_key_fingerprint_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/edition_metric_spec.rb spec/lib/gitlab/database/pg_depend_spec.rbKnapsack report generator started!764warning: parser/current is loading parser/ruby30, which recognizes 3.0.5-compliant syntax, but you are running 3.0.6.766/builds/gitlab-org/gitlab/lib/gitlab.rb:47: warning: already initialized constant Gitlab::APP_DIRS_PATTERN767/builds/gitlab-org/gitlab/lib/gitlab.rb:47: warning: previous definition of APP_DIRS_PATTERN was here768/builds/gitlab-org/gitlab/lib/gitlab.rb:48: warning: already initialized constant Gitlab::VERSION769/builds/gitlab-org/gitlab/lib/gitlab.rb:48: warning: previous definition of VERSION was here770/builds/gitlab-org/gitlab/lib/gitlab.rb:49: warning: already initialized constant Gitlab::INSTALLATION_TYPE771/builds/gitlab-org/gitlab/lib/gitlab.rb:49: warning: previous definition of INSTALLATION_TYPE was here772/builds/gitlab-org/gitlab/lib/gitlab.rb:50: warning: already initialized constant Gitlab::HTTP_PROXY_ENV_VARS773/builds/gitlab-org/gitlab/lib/gitlab.rb:50: warning: previous definition of HTTP_PROXY_ENV_VARS was here774Run options: exclude {:quarantine=>true, :level=>"background_migration"}775Test environment set up in 0.870260054 seconds776Project777 returns valid url to repo778 behaves like having unique enum values779 has unique values in "auto_cancel_pending_pipelines"780 behaves like ensures runners_token is prefixed781 #runners_token782 generates runners_token which starts with runner prefix783 when record has an invalid token784 generates runners_token which starts with runner prefix785 associations786 is expected to belong to group required: false787 is expected to belong to namespace required: false788 is expected to belong to project_namespace class_name => Namespaces::ProjectNamespace required: false789 is expected to belong to creator class_name => User required: false790 is expected to belong to pool_repository required: false791 is expected to have many users792 is expected to have many events793 is expected to have many merge_requests794 is expected to have many merge_request_metrics class_name => MergeRequest::Metrics795 is expected to have many issues796 is expected to have many work_items797 is expected to have many incident_management_issuable_escalation_statuses class_name => IncidentManagement::IssuableEscalationStatus through issues inverse_of => project798 is expected to have many milestones799 is expected to have many project_members dependent => delete_all800 is expected to have many namespace_members801 is expected to have many users through project_members802 is expected to have many requesters dependent => delete_all803 is expected to have many namespace_requesters804 is expected to have many notes dependent => destroy805 is expected to have many snippets class_name => ProjectSnippet806 is expected to have many deploy_keys_projects807 is expected to have many deploy_keys808 is expected to have many hooks809 is expected to have many protected_branches810 is expected to have many exported_protected_branches811 is expected to have one wiki_repository class_name => Projects::WikiRepository inverse_of => project812 is expected to have one design_management_repository class_name => DesignManagement::Repository inverse_of => project813 is expected to have one slack_integration814 is expected to have one catalog_resource815 is expected to have one microsoft_teams_integration816 is expected to have one mattermost_integration817 is expected to have one hangouts_chat_integration818 is expected to have one unify_circuit_integration819 is expected to have one pumble_integration820 is expected to have one webex_teams_integration821 is expected to have one packagist_integration822 is expected to have one pushover_integration823 is expected to have one apple_app_store_integration824 is expected to have one google_play_integration825 is expected to have one asana_integration826 is expected to have many boards827 is expected to have one campfire_integration828 is expected to have one datadog_integration829 is expected to have one discord_integration830 is expected to have one drone_ci_integration831 is expected to have one emails_on_push_integration832 is expected to have one pipelines_email_integration833 is expected to have one irker_integration834 is expected to have one pivotaltracker_integration835 is expected to have one assembla_integration836 is expected to have one slack_slash_commands_integration837 is expected to have one mattermost_slash_commands_integration838 is expected to have one buildkite_integration839 is expected to have one bamboo_integration840 is expected to have one teamcity_integration841 is expected to have one jira_integration842 is expected to have one harbor_integration843 is expected to have one redmine_integration844 is expected to have one youtrack_integration845 is expected to have one clickup_integration846 is expected to have one custom_issue_tracker_integration847 is expected to have one bugzilla_integration848 is expected to have one ewm_integration849 is expected to have one external_wiki_integration850 is expected to have one confluence_integration851 is expected to have one project_feature852 is expected to have one project_repository853 is expected to have one container_expiration_policy854 is expected to have one statistics class_name => ProjectStatistics855 is expected to have one import_data class_name => ProjectImportData856 is expected to have one last_event class_name => Event857 is expected to have one forked_from_project through fork_network_member858 is expected to have one auto_devops class_name => ProjectAutoDevops859 is expected to have one error_tracking_setting class_name => ErrorTracking::ProjectErrorTrackingSetting860 is expected to have one project_setting861 is expected to have one alerting_setting class_name => Alerting::ProjectAlertingSetting862 is expected to have one mock_ci_integration863 is expected to have one mock_monitoring_integration864 is expected to have one service_desk_custom_email_verification class_name => ServiceDesk::CustomEmailVerification865 is expected to have one container_registry_data_repair_detail class_name => ContainerRegistry::DataRepairDetail866 is expected to have many commit_statuses867 is expected to have many ci_pipelines868 is expected to have many ci_refs869 is expected to have many builds870 is expected to have many build_report_results871 is expected to have many runner_projects872 is expected to have many runners873 is expected to have many variables874 is expected to have many triggers875 is expected to have many labels class_name => ProjectLabel876 is expected to have many users_star_projects877 is expected to have many repository_languages878 is expected to have many environments879 is expected to have many deployments880 is expected to have many todos881 is expected to have many releases882 is expected to have many lfs_objects_projects883 is expected to have many project_group_links884 is expected to have many notification_settings dependent => delete_all885 is expected to have many forked_to_members class_name => ForkNetworkMember886 is expected to have many forks through forked_to_members887 is expected to have many uploads888 is expected to have many pipeline_schedules889 is expected to have many members_and_requesters890 is expected to have many namespace_members_and_requesters891 is expected to have many clusters892 is expected to have many management_clusters class_name => Clusters::Cluster893 is expected to have many kubernetes_namespaces894 is expected to have many cluster_agents class_name => Clusters::Agent895 is expected to have many custom_attributes class_name => ProjectCustomAttribute896 is expected to have many project_badges class_name => ProjectBadge897 is expected to have many lfs_file_locks898 is expected to have many project_deploy_tokens899 is expected to have many deploy_tokens through project_deploy_tokens900 is expected to have many external_pull_requests901 is expected to have many sourced_pipelines902 is expected to have many source_pipelines903 is expected to have many prometheus_alert_events904 is expected to have many self_managed_prometheus_alert_events905 is expected to have many alert_management_alerts906 is expected to have many alert_management_http_integrations907 is expected to have many jira_imports908 is expected to have many metrics_users_starred_dashboards inverse_of => project909 is expected to have many repository_storage_moves910 is expected to have many reviews inverse_of => project911 is expected to have many packages class_name => Packages::Package912 is expected to have many package_files class_name => Packages::PackageFile913 is expected to have many rpm_repository_files class_name => Packages::Rpm::RepositoryFile inverse_of => project dependent => destroy914 is expected to have many debian_distributions class_name => Packages::Debian::ProjectDistribution dependent => destroy915 is expected to have many npm_metadata_caches class_name => Packages::Npm::MetadataCache916 is expected to have one packages_cleanup_policy class_name => Packages::Cleanup::Policy inverse_of => project917 is expected to have many pipeline_artifacts dependent => restrict_with_error918 is expected to have many terraform_states class_name => Terraform::State inverse_of => project919 is expected to have many timelogs920 is expected to have many error_tracking_client_keys class_name => ErrorTracking::ClientKey921 is expected to have many pending_builds class_name => Ci::PendingBuild922 is expected to have many ci_feature_usages class_name => Projects::CiFeatureUsage923 is expected to have many bulk_import_exports class_name => BulkImports::Export924 is expected to have many job_artifacts dependent => restrict_with_error925 is expected to have many build_trace_chunks through builds dependent => restrict_with_error926 is expected to have many secure_files class_name => Ci::SecureFile dependent => restrict_with_error927 is expected to have one build_artifacts_size_refresh class_name => Projects::BuildArtifactsSizeRefresh928 is expected to have many project_callouts class_name => Users::ProjectCallout929 is expected to have many pipeline_metadata class_name => Ci::PipelineMetadata930 is expected to have many incident_management_timeline_event_tags class_name => IncidentManagement::TimelineEventTag931 is expected to have many integrations932 is expected to have many push_hooks_integrations class_name => Integration933 is expected to have many tag_push_hooks_integrations class_name => Integration934 is expected to have many issue_hooks_integrations class_name => Integration935 is expected to have many confidential_issue_hooks_integrations class_name => Integration936 is expected to have many merge_request_hooks_integrations class_name => Integration937 is expected to have many note_hooks_integrations class_name => Integration938 is expected to have many confidential_note_hooks_integrations class_name => Integration939 is expected to have many job_hooks_integrations class_name => Integration940 is expected to have many archive_trace_hooks_integrations class_name => Integration941 is expected to have many pipeline_hooks_integrations class_name => Integration942 is expected to have many wiki_page_hooks_integrations class_name => Integration943 is expected to have many deployment_hooks_integrations class_name => Integration944 is expected to have many alert_hooks_integrations class_name => Integration945 is expected to have many incident_hooks_integrations class_name => Integration946 is expected to have many pages_domains947 is expected to have one pages_metadatum948 is expected to have many pages_deployments949 has an inverse relationship with merge requests950 has a distinct has_many :lfs_objects relation through lfs_objects_projects951 behaves like model with repository952 container class includes HasRepository953 #commits_by954 retrieves several commits from the repository by oid955 #web_url956 when given the only_path option957 when only_path is false958 returns the full web URL for this repo959 when only_path is true960 returns the relative web URL for this repo961 when only_path is nil962 returns the full web URL for this repo963 when not given the only_path option964 returns the full web URL for this repo965 #url_to_repo966 returns the SSH URL to the repository967 #ssh_url_to_repo968 returns the SSH URL to the repository969 #http_url_to_repo970 returns the HTTP URL to the repository971 #repository972 returns valid repo973 uses the same container974 #storage975 returns valid storage976 #full_path977 returns valid full_path978 #lfs_enabled?979 returns the expected value980 #empty_repo?981 when the repo does not exist982 returns true983 when the repo exists984 returns the empty state of the repository985 #valid_repo?986 is expected to equal false987 is expected to equal true988 #repository_exists?989 is expected to equal false990 is expected to equal true991 #repo_exists?992 is expected to equal false993 is expected to equal true994 #root_ref995 is expected to equal true996 is expected to equal false997 is expected to equal false998 Respond to999 is expected to respond to #base_dir1000 is expected to respond to #disk_path1001 is expected to respond to #gitlab_shell1002 #change_head1003 delegates #change_head to repository1004 #after_repository_change_head1005 calls #reload_default_branch1006 behaves like model with wiki1007 #create_wiki1008 returns true if the wiki repository already exists1009 returns true if the wiki repository was created1010 when the repository cannot be created1011 returns false and adds a validation error1012 #wiki_repository_exists?1013 returns true when the wiki repository exists1014 returns false when the wiki repository does not exist1015 wiki path conflict1016 when the new path has been used by the wiki of other Project1017 has an error on the name attribute1018 when the new wiki path has been used by the path of other Project1019 has an error on the name attribute1020 when the new path has been used by the wiki of other Group1021 has an error on the name attribute1022 when the new wiki path has been used by the path of other Group1023 has an error on the name attribute1024 behaves like can move repository storage1025 #set_repository_read_only!1026 makes the repository read-only1027 raises an error if the project is already read-only1028 raises an error when there is an existing git transfer in progress1029 skip_git_transfer_check is true1030 makes the project read-only when git transfers are in progress1031 #set_repository_writable!1032 sets repository_read_only to false1033 #reference_counter1034 returns a Gitlab::ReferenceCounter object1035 after initialized1036 has a project_feature1037 when deleting project1038 also deletes the associated ProjectNamespace1039 when project has object storage attached to it1040 when associated object storage object is not deleted before the project1041 adds an error to project1042 when associated object storage object is deleted before the project1043 deletes the project1044 when creating a new project1045 automatically creates a CI/CD settings row1046 automatically creates a container expiration policy row1047 does not create another container expiration policy if there is already one1048 automatically creates a Pages metadata row1049 automatically builds a project setting row1050 with project namespaces1051 behaves like creates project namespace1052 automatically creates a project namespace1053 updating a project1054 when project has an associated project namespace1055 project is INVALID when trying to remove project namespace1056 when same project is being updated in 2 instances1057 syncs only changed attributes1058 updating cd_cd_settings1059 does not raise an error1060 #namespace_members1061 includes the correct users1062 is equivalent to #project_members1063 behaves like query without source filters1064 is expected not to include "source_id" and "source_type"1065 #namespace_requesters1066 includes the correct users1067 is equivalent to #project_members1068 behaves like query without source filters1069 is expected not to include "source_id" and "source_type"1070 #namespace_members_and_requesters1071 includes the correct users1072 is equivalent to #project_members1073 behaves like query without source filters1074 is expected not to include "source_id" and "source_type"1075 #namespace_members setters1076 is expected to be an instance of ProjectMember1077 is expected to eq #<User id:12 @user11>1078 is expected to eq #<Project id:24 namespace1/project-27>>1079 is expected to be nil1080 behaves like polymorphic membership relationship1081 is expected to include {"source_type" => "Project", "source_id" => 24}1082 behaves like member_namespace membership relationship1083 is expected to include {"member_namespace_id" => 38}1084 #namespace_requesters setters1085 is expected to be an instance of ProjectMember1086 is expected to eq #<User id:13 @user12>1087 is expected to eq #<Project id:25 namespace1/project-28>>1088 is expected to eq 2023-06-02 06:27:05.696468559 +00001089 behaves like polymorphic membership relationship1090 is expected to include {"source_type" => "Project", "source_id" => 25}1091 behaves like member_namespace membership relationship1092 is expected to include {"member_namespace_id" => 40}1093 #namespace_members_and_requesters setters1094 is expected to be an instance of ProjectMember1095 is expected to eq #<User id:14 @user13>1096 is expected to eq #<Project id:26 namespace1/project-29>>1097 is expected to eq 2023-06-02 06:27:06.214945590 +00001098 behaves like polymorphic membership relationship1099 is expected to include {"source_type" => "Project", "source_id" => 26}1100 behaves like member_namespace membership relationship1101 is expected to include {"member_namespace_id" => 42}1102 #members & #requesters1103 behaves like members and requesters associations1104 #members_and_requesters1105 includes members and requesters1106 #members1107 includes members and exclude requesters1108 #requesters1109 does not include requesters1110 ci_pipelines association1111 returns only pipelines from ci_sources1112 order of the `has_many :notes` association1113 has `has_many :notes` as the first association among all the other associations thatincludes the `Issuable` module1114 modules1115 is expected to includes the Gitlab::ConfigHelper module1116 is expected to includes the Gitlab::ShellAdapter module1117 is expected to includes the Gitlab::VisibilityLevel module1118 is expected to includes the Referable module1119 is expected to includes the Sortable module1120 before_validation1121 with removal of leading spaces1122 removes the leading space1123 when name is nil1124 falls through to the presence validation1125 validation1126 is expected to validate that :name cannot be empty/falsy1127 is expected to validate that :name is case-sensitively unique within the scope of :namespace_id1128 is expected to validate that the length of :name is at most 2551129 is expected to allow :name to be ‹"space last "›1130 is expected not to allow :path to be ‹"colon:in:path"›1131 is expected to validate that :path cannot be empty/falsy1132 is expected to validate that the length of :path is at most 2551133 is expected to validate that the length of :description is at most 20001134 is expected to validate that the length of :ci_config_path is at most 2551135 is expected to allow :ci_config_path to be ‹""›1136 is expected not to allow :ci_config_path to be ‹"test/../foo"›1137 is expected not to allow :ci_config_path to be ‹"/test/foo"›1138 is expected to validate that :creator cannot be empty/falsy1139 is expected to validate that :namespace cannot be empty/falsy1140 is expected to validate that :repository_storage cannot be empty/falsy1141 is expected to validate that :max_artifacts_size looks like an integer greater than 01142 is expected to validate that the length of :suggestion_commit_message is at most 2551143 validates build timeout constraints1144 does not allow new projects beyond user limits1145 validates the visibility1146 validates presence of project_feature1147 validates project namespace creation1148 does not create project namespace if project is not created1149 repository storages inclusion1150 does not allow repository storages that don't match a label in the configuration1151 import_url1152 does not allow an invalid URI as import_url1153 does allow a SSH URI as import_url for persisted projects1154 does not allow a SSH URI as import_url for new projects1155 does allow a valid URI as import_url1156 allows an empty URI1157 does not produce import data on an empty URI1158 does not produce import data on an invalid URI1159 does not allow import_url pointing to localhost1160 does not allow import_url pointing to the local network1161 does not allow import_url with invalid ports for new projects1162 does not allow import_url with invalid ports for persisted projects1163 does not allow import_url with invalid user1164 does not allow URLs with unencoded CR or LF characters1165 allow URLs with CR or LF characters1166 project pending deletion1167 contains errors related to the project being deleted1168 path validation1169 allows paths reserved on the root namespace1170 rejects paths reserved on another level1171 rejects nested paths1172 allows a reserved group name1173 rejects a path ending in '.'1174 rejects a path starting with '.'1175 rejects a path ending in '-'1176 rejects a path starting with '-'1177 rejects a path ending in '_'1178 rejects a path starting with '_'1179 path is unchanged1180 does not raise validation error for path for existing project1181 behaves like a BulkUsersByEmailLoad model1182 #users_by_emails1183 when nothing is loaded1184 preforms the yielded query and supplies the data with only emails desired1185 when store is preloaded1186 passes back loaded data and does not update the items that already exist1187 #all_pipelines1188 has all pipelines1189 when builds are disabled1190 returns .external pipelines1191 #ci_pipelines1192 excludes dangling pipelines such as :webide1193 when builds are disabled1194 returns .external pipelines1195 #commit_notes1196 returns project's commit notes1197 #personal_namespace_holder?1198 project: personal_project, user: namespace_user, result: true1199 is expected to eq true1200 project: personal_project, user: admin_user, result: false1201 is expected to eq false1202 project: personal_project, user: another_user, result: false1203 is expected to eq false1204 project: personal_project, user: nil, result: false1205 is expected to eq false1206 project: group_project, user: namespace_user, result: false1207 is expected to eq false1208 project: group_project, user: group_owner_user, result: false1209 is expected to eq false1210 project: group_project, user: another_user, result: false1211 is expected to eq false1212 project: group_project, user: nil, result: false1213 is expected to eq false1214 project: group_project, user: nil, result: false1215 is expected to eq false1216 project: group_project, user: admin_user, result: false1217 is expected to eq false1218 #invalidate_personal_projects_count_of_owner1219 for personal projects1220 invalidates personal_project_count cache of the the owner of the personal namespace1221 for projects in groups1222 does not invalidates any cache1223 #default_pipeline_lock1224 keep_latest_artifact_enabled: false, result_pipeline_locked: :unlocked1225 is expected to eq :unlocked1226 keep_latest_artifact_enabled: true, result_pipeline_locked: :artifacts_locked1227 is expected to eq :artifacts_locked1228 #membership_locked?1229 returns false1230 #autoclose_referenced_issues1231 when DB entry is nil1232 returns true1233 when DB entry is true1234 returns true1235 when DB entry is false1236 returns false1237 project token1238 sets an random token if none provided1239 does not set an random token if one provided1240 Respond to1241 is expected to respond to #url_to_repo1242 is expected to respond to #execute_hooks1243 is expected to respond to #owner1244 is expected to respond to #path_with_namespace1245 is expected to respond to #full_path1246 delegation1247 is expected to delegate #add_guest to the #team object1248 is expected to delegate #add_reporter to the #team object1249 is expected to delegate #add_developer to the #team object1250 is expected to delegate #add_maintainer to the #team object1251 is expected to delegate #add_member to the #team object1252 is expected to delegate #add_members to the #team object1253 is expected to delegate #team_members to the #team object as #members1254 is expected to delegate #owner_name to the #owner object as #name, allowing #owner to return nil1255 is expected to delegate #root_ancestor to the #namespace object, allowing #namespace to return nil1256 is expected to delegate #certificate_based_clusters_enabled? to the #namespace object, allowing #namespace to return nil1257 is expected to delegate #last_pipeline to the #commit object, allowing #commit to return nil1258 is expected to delegate #container_registry_enabled? to the #project_feature object1259 is expected to delegate #container_registry_access_level to the #project_feature object1260 is expected to delegate #environments_access_level to the #project_feature object1261 is expected to delegate #model_experiments_access_level to the #project_feature object1262 is expected to delegate #feature_flags_access_level to the #project_feature object1263 is expected to delegate #releases_access_level to the #project_feature object1264 is expected to delegate #infrastructure_access_level to the #project_feature object1265 is expected to delegate #maven_package_requests_forwarding to the #namespace object1266 is expected to delegate #pypi_package_requests_forwarding to the #namespace object1267 is expected to delegate #npm_package_requests_forwarding to the #namespace object1268 read project settings1269 is expected to delegate #show_default_award_emojis to the #project_setting object, allowing #project_setting to return nil1270 is expected to delegate #show_default_award_emojis? to the #project_setting object, allowing #project_setting to return nil1271 is expected to delegate #warn_about_potentially_unwanted_characters to the #project_setting object, allowing #project_setting to return nil1272 is expected to delegate #warn_about_potentially_unwanted_characters? to the #project_setting object, allowing #project_setting to return nil1273 is expected to delegate #enforce_auth_checks_on_uploads to the #project_setting object, allowing #project_setting to return nil1274 is expected to delegate #enforce_auth_checks_on_uploads? to the #project_setting object, allowing #project_setting to return nil1275 write project settings1276 is expected to delegate #show_default_award_emojis= to the #project_setting object passing arguments [:args], allowing #project_setting to return nil1277 is expected to delegate #warn_about_potentially_unwanted_characters= to the #project_setting object passing arguments [:args], allowing #project_setting to return nil1278 is expected to delegate #enforce_auth_checks_on_uploads= to the #project_setting object passing arguments [:args], allowing #project_setting to return nil1279 when ci_cd_settings is destroyed but project is not1280 allows methods delegated to ci_cd_settings to be nil1281 #ci_forward_deployment_enabled?1282 behaves like a ci_cd_settings predicate method1283 when ci_cd_settings is nil1284 returns false1285 when ci_cd_settings is not nil1286 delegated_method_return: true, subject_return: true1287 returns the expected boolean value1288 delegated_method_return: false, subject_return: false1289 returns the expected boolean value1290 #ci_allow_fork_pipelines_to_run_in_parent_project?1291 behaves like a ci_cd_settings predicate method1292 when ci_cd_settings is nil1293 returns false1294 when ci_cd_settings is not nil1295 delegated_method_return: true, subject_return: true1296 returns the expected boolean value1297 delegated_method_return: false, subject_return: false1298 returns the expected boolean value1299 #ci_outbound_job_token_scope_enabled?1300 behaves like a ci_cd_settings predicate method1301 when ci_cd_settings is nil1302 returns false1303 when ci_cd_settings is not nil1304 delegated_method_return: true, subject_return: true1305 returns the expected boolean value1306 delegated_method_return: false, subject_return: false1307 returns the expected boolean value1308 #ci_inbound_job_token_scope_enabled?1309 behaves like a ci_cd_settings predicate method1310 when ci_cd_settings is nil1311 returns false1312 when ci_cd_settings is not nil1313 delegated_method_return: true, subject_return: true1314 returns the expected boolean value1315 delegated_method_return: false, subject_return: false1316 returns the expected boolean value1317 #restrict_user_defined_variables?1318 behaves like a ci_cd_settings predicate method1319 when ci_cd_settings is nil1320 returns false1321 when ci_cd_settings is not nil1322 delegated_method_return: true, subject_return: true1323 returns the expected boolean value1324 delegated_method_return: false, subject_return: false1325 returns the expected boolean value1326 #keep_latest_artifacts_available?1327 behaves like a ci_cd_settings predicate method1328 when ci_cd_settings is nil1329 returns false1330 when ci_cd_settings is not nil1331 delegated_method_return: true, subject_return: true1332 returns the expected boolean value1333 delegated_method_return: false, subject_return: false1334 returns the expected boolean value1335 #keep_latest_artifact?1336 behaves like a ci_cd_settings predicate method1337 when ci_cd_settings is nil1338 returns false1339 when ci_cd_settings is not nil1340 delegated_method_return: true, subject_return: true1341 returns the expected boolean value1342 delegated_method_return: false, subject_return: false1343 returns the expected boolean value1344 #group_runners_enabled?1345 behaves like a ci_cd_settings predicate method1346 when ci_cd_settings is nil1347 returns false1348 when ci_cd_settings is not nil1349 delegated_method_return: true, subject_return: true1350 returns the expected boolean value1351 delegated_method_return: false, subject_return: false1352 returns the expected boolean value1353 #merge_commit_template_or_default1354 returns default merge commit template1355 when merge commit template is set and not nil1356 returns current value1357 #merge_commit_template_or_default=1358 sets template to nil when set to default value1359 sets template to nil when set to default value but with CRLF line endings1360 allows changing template1361 allows setting template to nil1362 #squash_commit_template_or_default1363 returns default squash commit template1364 when squash commit template is set and not nil1365 returns current value1366 #squash_commit_template_or_default=1367 sets template to nil when set to default value1368 allows changing template1369 allows setting template to nil1370 reference methods1371 #to_reference1372 returns the path with reference_postfix1373 returns the path with reference_postfix when arg is self1374 returns the full_path with reference_postfix when full1375 returns the full_path with reference_postfix when cross-project1376 #to_reference_base1377 when nil argument1378 returns nil1379 when full is true1380 returns complete path to the project1381 when same project argument1382 returns nil1383 when cross namespace project argument1384 returns complete path to the project1385 when same namespace / cross-project argument1386 returns path to the project1387 when different namespace / cross-project argument with same owner1388 returns full path to the project1389 when argument is a namespace1390 with same project path1391 returns path to the project1392 with different project path1393 returns full path to the project1394 when argument is a user1395 returns full path to the project1396 #to_human_reference1397 when nil argument1398 returns nil1399 when same project argument1400 returns nil1401 when cross namespace project argument1402 returns complete name with namespace of the project1403 when same namespace / cross-project argument1404 returns name of the project1405 #to_reference_base1406 project: project1, full: false, from: nil, result: nil1407 returns correct path1408 project: project1, full: true, from: nil, result: lazy { project.full_path }1409 returns correct path1410 project: project1, full: false, from: group, result: lazy { project.path }1411 returns correct path1412 project: project1, full: true, from: group, result: lazy { project.full_path }1413 returns correct path1414 project: project1, full: false, from: parent, result: lazy { project.full_path }1415 returns correct path1416 project: project1, full: true, from: parent, result: lazy { project.full_path }1417 returns correct path1418 project: project1, full: false, from: project1, result: nil1419 returns correct path1420 project: project1, full: true, from: project1, result: lazy { project.full_path }1421 returns correct path1422 project: project1, full: false, from: project_namespace, result: nil1423 returns correct path1424 project: project1, full: true, from: project_namespace, result: lazy { project.full_path }1425 returns correct path1426 project: project1, full: false, from: project2, result: lazy { project.path }1427 returns correct path1428 project: project1, full: true, from: project2, result: lazy { project.full_path }1429 returns correct path1430 project: project1, full: false, from: project_namespace2, result: lazy { project.path }1431 returns correct path1432 project: project1, full: true, from: project_namespace2, result: lazy { project.full_path }1433 returns correct path1434 project: project1, full: false, from: another_group, result: lazy { project.full_path }1435 returns correct path1436 project: project1, full: true, from: another_group, result: lazy { project.full_path }1437 returns correct path1438 project: project1, full: false, from: project3, result: lazy { project.full_path }1439 returns correct path1440 project: project1, full: true, from: project3, result: lazy { project.full_path }1441 returns correct path1442 project: project1, full: false, from: project_namespace3, result: lazy { project.full_path }1443 returns correct path1444 project: project1, full: true, from: project_namespace3, result: lazy { project.full_path }1445 returns correct path1446 project: project1, full: false, from: user_namespace, result: lazy { project.full_path }1447 returns correct path1448 project: project1, full: true, from: user_namespace, result: lazy { project.full_path }1449 returns correct path1450 #merge_method1451 ff: true, rebase: true, method: :ff1452 is expected to eq :ff1453 ff: true, rebase: false, method: :ff1454 is expected to eq :ff1455 ff: false, rebase: true, method: :rebase_merge1456 is expected to eq :rebase_merge1457 ff: false, rebase: false, method: :merge1458 is expected to eq :merge1459 #readme_url1460 with a non-existing repository1461 returns nil1462 with an existing repository1463 when no README exists1464 returns nil1465 when a README exists1466 returns the README1467 #new_issuable_address1468 incoming email enabled1469 returns the address to create a new issue1470 returns the address to create a new merge request1471 returns nil with invalid address type1472 incoming email disabled1473 returns nil1474 returns nil1475 last_activity methods1476 last_activity1477 alias last_activity to last_event1478 last_activity_date1479 returns the project's last update date1480 #get_issue1481 with default issues tracker1482 returns an issue1483 returns count of open issues1484 returns nil when no issue found1485 returns nil when user doesn't have access1486 with external issues tracker1487 when internal issues are enabled1488 returns interlan issue1489 returns an ExternalIssue when internal issue does not exists1490 when internal issues are disabled1491 returns always an External issues1492 returns an ExternalIssue when internal issue does not exists1493 #open_issues_count1494 provides the issue count1495 invokes the count service with current_user1496 invokes the batch count service with no current_user1497 #open_merge_requests_count1498 provides the merge request count1499 #issue_exists?1500 is truthy when issue exists1501 is falsey when issue does not exist1502 #to_param1503 with namespace1504 is expected to eq "gitlabhq"1505 with invalid path1506 returns previous path to keep project suitable for use in URLs when persisted1507 returns current path when new record1508 #default_issues_tracker?1509 is true if used internal tracker1510 is false if used other tracker1511 #has_wiki?1512 returns true if project is wiki enabled or has external wiki1513 #first_owner1514 the project does not have a group1515 is the namespace owner1516 the project is in a group1517 is the group owner1518 #external_issue_tracker1519 sets Project#has_external_issue_tracker when it is nil1520 returns nil and does not query services when there is no external issue tracker1521 retrieves external_issue_tracker querying services and cache it when there is external issue tracker1522 #has_external_issue_tracker1523 is false when external issue tracker integration is not active1524 is false when other integration is active1525 when there is an active external issue tracker integration1526 is expected to eq true1527 becomes false when external issue tracker integration is destroyed1528 becomes false when external issue tracker integration becomes inactive1529 when there are two active external issue tracker integrations1530 does not become false when external issue tracker integration is destroyed1531 does not become false when external issue tracker integration becomes inactive1532 #external_wiki1533 returns an active external wiki1534 does not return an inactive external wiki1535 sets Project#has_external_wiki when it is nil1536 #has_external_wiki1537 is expected to eq false1538 when there is an active external wiki integration1539 is expected to eq true1540 becomes false if the external wiki integration is destroyed1541 becomes false if the external wiki integration becomes inactive1542 when created as inactive1543 is false1544 #star_count1545 counts stars from multiple users1546 does not count stars from blocked users1547 counts stars on the right project1548 #avatar_type1549 is true if avatar is image1550 is false if avatar is html page1551 #avatar_url1552 when avatar file is uploaded1553 shows correct url1554 when avatar file in git1555 is expected to eq "http://localhost/namespace1/project-165/-/avatar"1556 when git repo is empty1557 is expected to eq nil1558 #builds_enabled1559 is expected to be truthy1560 .sort_by_attribute1561 reorders the input relation by start count desc1562 reorders the input relation by last activity desc1563 reorders the input relation by last activity asc1564 sorting by name1565 when using .sort_by_name_desc1566 reorders the projects by descending name order1567 when using .sort_by_name_asc1568 reorders the projects by ascending name order1569 .with_shared_runners_enabled1570 when shared runners are enabled for project1571 returns a project1572 when shared runners are disabled for project1573 returns an empty array1574 .with_remote_mirrors1575 when some remote mirrors are enabled for the project1576 returns a project1577 when some remote mirrors exists but disabled for the project1578 returns a project1579 when no remote mirrors exist for the project1580 returns an empty list1581 .with_jira_dvcs_cloud1582 returns the correct project1583 .with_jira_dvcs_server1584 returns the correct project1585 .cached_count1586 returns total project count1587 .trending1588 sorts projects by the amount of notes in descending order1589 does not take system notes into account1590 .starred_by1591 returns only projects starred by the given user1592 .with_limit1593 limits the number of projects returned1594 .visible_to_user1595 when a user has access to a project1596 is expected to eq [#<Project id:162 namespace1/project-193>>]1597 when a user does not have access to any projects1598 is expected to eq []1599 .with_integration1600 returns the correct projects1601 .with_active_integration1602 returns the correct projects1603 .include_integration1604 avoids n + 11605 .service_desk_enabled1606 returns the correct project1607 #service_desk_enabled?1608 is enabled1609 #service_desk_address1610 when service_desk_email is disabled1611 behaves like with incoming email address1612 when incoming email is enabled1613 uses project full path as service desk address key1614 when incoming email is disabled1615 uses project full path as service desk address key1616 when service_desk_email is enabled1617 when project_key is set1618 returns custom address including the project_key1619 when project_key is not set1620 returns custom address including the project full path1621 .with_service_desk_key1622 returns projects with given key1623 returns empty if there is no project with the key1624 .find_by_url1625 url is internal1626 path is recognised as a project path1627 is expected to eq #<Project id:179 namespace1/project-211>>1628 returns nil if the path detection throws an error1629 path is not a project path1630 is expected to be nil1631 url is external1632 is expected to be nil1633 .without_integration1634 returns projects without the integration1635 repository storage by default1636 picks storage from ApplicationSetting1637 shared runners by default1638 are enabled1639 is expected to be truthy1640 are disabled1641 is expected to be falsey1642 #any_online_runners?1643 shared runners1644 for shared runners disabled1645 has no runners available1646 has a project runner1647 has a shared runner, but they are prohibited to use1648 checks the presence of project runner1649 returns false if match cannot be found1650 returns false if runner is offline1651 for shared runners enabled1652 has a shared runner1653 checks the presence of shared runner1654 returns false if match cannot be found1655 group runners1656 for group runners disabled1657 has no runners available1658 has a group runner, but they are prohibited to use1659 for group runners enabled1660 has a group runner1661 has an offline group runner1662 checks the presence of group runner1663 returns false if match cannot be found1664 #shared_runners1665 behaves like shared_runners1666 when shared runners are enabled for project1667 returns a list of shared runners1668 when shared runners are disabled for project1669 returns a empty list1670 #available_shared_runners1671 behaves like shared_runners1672 when shared runners are enabled for project1673 returns a list of shared runners1674 when shared runners are disabled for project1675 returns a empty list1676 #visibility_level1677 by default1678 is expected to eq 01679 when set to INTERNAL in application settings1680 is expected to eq 101681 attribute_name: :visibility, value: "public"1682 sets the visibility level1683 attribute_name: :visibility_level, value: 201684 sets the visibility level1685 attribute_name: "visibility", value: "public"1686 sets the visibility level1687 attribute_name: "visibility_level", value: 201688 sets the visibility level1689 #visibility_level_allowed?1690 when checking on non-forked project1691 is expected to be truthy1692 is expected to be truthy1693 is expected to be truthy1694 when checking on forked project1695 is expected to be truthy1696 is expected to be truthy1697 is expected to be falsey1698 #pages_show_onboarding?1699 if there is no metadata1700 is expected to be truthy1701 if onboarding is complete1702 is expected to be falsey1703 if there is metadata, but onboarding is not complete1704 is expected to be truthy1705 will return false if pages is deployed even if onboarding_complete is false1706 is expected to be falsey1707 #pages_deployed?1708 if pages are deployed1709 is expected to be truthy1710 if public folder doesn't exist1711 is expected to be falsey1712 #default_branch_protected?1713 default_branch_protection_level: 0, result: false1714 is expected to eq false1715 default_branch_protection_level: 1, result: false1716 is expected to eq false1717 default_branch_protection_level: 3, result: true1718 is expected to eq true1719 default_branch_protection_level: 2, result: true1720 is expected to eq true1721 default_branch_protection_level: 4, result: true1722 is expected to eq true1723 initial_push_to_default_branch_allowed_for_developer?1724 default_branch_protection_level: 0, result: true1725 is expected to eq true1726 default_branch_protection_level: 1, result: true1727 is expected to eq true1728 default_branch_protection_level: 3, result: false1729 is expected to eq false1730 default_branch_protection_level: 2, result: false1731 is expected to eq false1732 default_branch_protection_level: 4, result: true1733 is expected to eq true1734 #pages_url1735 when not using pages_unique_domain1736 when pages_unique_domain feature flag is disabled1737 is expected to eq "http://group.example.com/project"1738 when pages_unique_domain feature flag is enabled1739 when pages_unique_domain_enabled is false1740 is expected to eq "http://group.example.com/project"1741 when pages_unique_domain_enabled is true1742 is expected to eq "http://group.example.com/project"1743 when using pages_unique_domain1744 when pages_unique_domain feature flag is disabled1745 is expected to eq "http://group.example.com/project"1746 when pages_unique_domain feature flag is enabled1747 when pages_unique_domain_enabled is false1748 is expected to eq "http://group.example.com/project"1749 when pages_unique_domain_enabled is true1750 is expected to eq "http://unique-domain.example.com"1751 with nested group1752 group page1753 is expected to eq "http://group.example.com/group30/project-252"1754 project page1755 is expected to eq "http://group.example.com/group31/project-253"1756 when the project matches its namespace url1757 is expected to eq "http://group.example.com"1758 with different group name capitalization1759 is expected to eq "http://group.example.com"1760 with different project path capitalization1761 is expected to eq "http://group.example.com"1762 with different project name capitalization1763 is expected to eq "http://group.example.com/project"1764 when there is an explicit port1765 when not in dev mode1766 is expected to eq "http://group.example.com:3000/group.example.com"1767 when in dev mode1768 is expected to eq "http://group.example.com:3000"1769 #pages_unique_url1770 returns the pages unique url1771 #pages_unique_host1772 returns the pages unique url1773 #pages_namespace_url1774 group page1775 is expected to eq "http://group.example.com:1234"1776 project page1777 is expected to eq "http://group.example.com:1234"1778 .search1779 returns projects with a matching name1780 returns projects with a partially matching name1781 returns projects with a matching name regardless of the casing1782 returns projects with a matching description1783 returns projects with a partially matching description1784 returns projects with a matching description regardless of the casing1785 returns projects with a matching path1786 returns projects with a partially matching path1787 returns projects with a matching path regardless of the casing1788 defaults use_minimum_char_limit to true1789 passes use_minimum_char_limit if it is set1790 when include_namespace is true1791 returns projects that match the group path1792 returns projects that match the full path1793 with pending_delete project1794 shows pending deletion project1795 .optionally_search1796 searches for projects matching the query if one is given1797 returns the current relation if no search query is given1798 .eager_load_namespace_and_owner1799 eager loads the namespace and namespace owner1800 #expire_caches_before_rename1801 expires the caches of the repository and wiki1802 .search_by_title1803 returns projects with a matching name1804 returns projects with a partially matching name1805 returns projects with a matching name regardless of the casing1806 when checking projects from groups1807 when group is private project can not be internal1808 is expected to be falsey1809 when group is internal project can not be public1810 is expected to be falsey1811 #track_project_repository1812 with projects on legacy storage1813 behaves like tracks storage location1814 when a project repository entry does not exist1815 creates a new entry1816 tracks the project storage location1817 when a tracking entry exists1818 does not create a new entry in the database1819 updates the project storage location1820 with projects on hashed storage1821 behaves like tracks storage location1822 when a project repository entry does not exist1823 creates a new entry1824 tracks the project storage location1825 when a tracking entry exists1826 does not create a new entry in the database1827 updates the project storage location1828 #create_repository1829 using a regular repository1830 creates the repository1831 adds an error if the repository could not be created1832 passes through default branch1833 using a forked repository1834 does nothing1835 #ensure_repository1836 creates the repository if it not exist1837 does not create the repository if it exists1838 creates the repository if it is a fork1839 handling import URL1840 returns the sanitized URL1841 saves the url credentials percent decoded1842 saves url with no credentials1843 #container_registry_url1844 for enabled registry1845 is expected not to be nil1846 for disabled registry1847 is expected to be nil1848 #container_repositories_size1849 on gitlab.com1850 no_container_repositories: true, all_migrated: nil, gitlab_api_supported: nil, returned_size: nil, expected_result: 01851 is expected to eq 01852 no_container_repositories: false, all_migrated: false, gitlab_api_supported: nil, returned_size: nil, expected_result: nil1853 is expected to eq nil1854 no_container_repositories: false, all_migrated: true, gitlab_api_supported: false, returned_size: nil, expected_result: nil1855 is expected to eq nil1856 no_container_repositories: false, all_migrated: true, gitlab_api_supported: true, returned_size: 555, expected_result: 5551857 is expected to eq 5551858 no_container_repositories: false, all_migrated: true, gitlab_api_supported: true, returned_size: nil, expected_result: nil1859 is expected to eq nil1860 not on gitlab.com1861 is expected to eq nil1862 #container_registry_enabled=1863 updates project_feature1864 #container_registry_enabled1865 delegates to project_feature1866 #has_container_registry_tags?1867 when container registry is enabled1868 when tags are present for multi-level registries1869 has image tags1870 when tags are present for root repository1871 has image tags1872 when there are no tags at all1873 does not have image tags1874 when container registry is disabled1875 does not have image tags1876 does not check root repository tags1877 iterates through container repositories1878 #ci_config_path=1879 default_ci_config_path: nil, project_ci_config_path: :notset, expected_ci_config_path: :default1880 returns the correct path1881 default_ci_config_path: nil, project_ci_config_path: nil, expected_ci_config_path: :default1882 returns the correct path1883 default_ci_config_path: nil, project_ci_config_path: "", expected_ci_config_path: :default1884 returns the correct path1885 default_ci_config_path: nil, project_ci_config_path: "cust\u0000om/\u0000/path", expected_ci_config_path: "custom//path"1886 returns the correct path1887 default_ci_config_path: "", project_ci_config_path: :notset, expected_ci_config_path: :default1888 returns the correct path1889 default_ci_config_path: "", project_ci_config_path: nil, expected_ci_config_path: :default1890 returns the correct path1891 default_ci_config_path: "", project_ci_config_path: "", expected_ci_config_path: :default1892 returns the correct path1893 default_ci_config_path: "", project_ci_config_path: "cust\u0000om/\u0000/path", expected_ci_config_path: "custom//path"1894 returns the correct path1895 default_ci_config_path: "global/path", project_ci_config_path: :notset, expected_ci_config_path: "global/path"1896 returns the correct path1897 default_ci_config_path: "global/path", project_ci_config_path: nil, expected_ci_config_path: :default1898 returns the correct path1899 default_ci_config_path: "global/path", project_ci_config_path: "", expected_ci_config_path: :default1900 returns the correct path1901 default_ci_config_path: "global/path", project_ci_config_path: "cust\u0000om/\u0000/path", expected_ci_config_path: "custom//path"1902 returns the correct path1903 #uses_default_ci_config?1904 has a custom ci config path1905 has a blank ci config path1906 does not have a custom ci config path1907 #latest_successful_build_for_ref1908 behaves like latest successful build for sha or ref1909 with many builds1910 gives the latest builds from latest pipeline1911 with succeeded pipeline1912 standalone pipeline1913 returns builds for ref for default_branch1914 with nonexistent build1915 returns empty relation if the build cannot be found1916 with some pending pipeline1917 gives the latest build from latest pipeline1918 with pending pipeline1919 returns empty relation1920 with build belonging to a child pipeline1921 returns the child build1922 with a specified ref1923 is expected to eq #<Ci::Build status: "pending", finished_at: "2023-06-02 08:53:29.000000000 +0000", created_at: "2023-... processed: false, scheduling_type: "stage", id: 14, stage_id: 13, partition_id: 100, tag_list: nil>1924 #latest_pipeline1925 default repository branch1926 when explicitly provided1927 is expected to eq #<Ci::Pipeline id: 14, ref: "master", sha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", before_sha: ni...ha: nil, external_pull_request_id: nil, ci_ref_id: 6, locked: "artifacts_locked", partition_id: 100>1928 when not provided1929 is expected to eq #<Ci::Pipeline id: 17, ref: "master", sha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", before_sha: ni...ha: nil, external_pull_request_id: nil, ci_ref_id: 8, locked: "artifacts_locked", partition_id: 100>1930 with provided sha1931 is expected to eq #<Ci::Pipeline id: 22, ref: "master", sha: "1b12f15a11fc6e62177bef08f47bc7b5ce50b141", before_sha: ni...a: nil, external_pull_request_id: nil, ci_ref_id: 10, locked: "artifacts_locked", partition_id: 100>1932 provided ref1933 is expected to eq #<Ci::Pipeline id: 24, ref: "add-ipython-files", sha: "4963fefc990451a8ad34289ce266b757456fc88c", bef...a: nil, external_pull_request_id: nil, ci_ref_id: 13, locked: "artifacts_locked", partition_id: 100>1934 with provided sha1935 is expected to eq #<Ci::Pipeline id: 29, ref: "add-ipython-files", sha: "4963fefc990451a8ad34289ce266b757456fc88c", bef...a: nil, external_pull_request_id: nil, ci_ref_id: 15, locked: "artifacts_locked", partition_id: 100>1936 bad ref1937 is expected to be nil1938 on deleted ref1939 always returns nil despite a pipeline exists1940 #latest_successful_build_for_sha1941 behaves like latest successful build for sha or ref1942 with many builds1943 gives the latest builds from latest pipeline1944 with succeeded pipeline1945 standalone pipeline1946 returns builds for ref for default_branch1947 with nonexistent build1948 returns empty relation if the build cannot be found1949 with some pending pipeline1950 gives the latest build from latest pipeline1951 with pending pipeline1952 returns empty relation1953 with build belonging to a child pipeline1954 returns the child build1955 #latest_successful_build_for_ref!1956 with many builds1957 gives the latest builds from latest pipeline1958 with succeeded pipeline1959 standalone pipeline1960 returns builds for ref for default_branch1961 returns exception if the build cannot be found1962 with some pending pipeline1963 gives the latest build from latest pipeline1964 with pending pipeline1965 returns empty relation1966 #import_status1967 with import_state1968 returns the right status1969 without import_state1970 returns none1971 #import_checksums1972 with import_checksums1973 returns the right checksums1974 without import_state1975 returns empty hash1976 #jira_import_status1977 when no jira imports1978 returns none1979 when there are jira imports1980 when latest import status is initial or jira imports are mising1981 returns initial1982 when latest import status is scheduled1983 returns scheduled1984 #human_import_status_name1985 with import_state1986 returns the right human import status1987 without import_state1988 returns none1989 #beautified_import_status_name1990 when import not finished1991 returns the right beautified import status1992 when import is finished1993 when import is partially completed1994 returns partially completed1995 when import is fully completed1996 returns completed1997 #add_import_job1998 forked1999 schedules a RepositoryForkWorker job2000 without repository2001 schedules RepositoryImportWorker2002 not forked2003 schedules a RepositoryImportWorker job2004 jira import2005 schedules a jira import job2006 #jira_import?2007 is expected to equal true2008 is expected to equal true2009 #github_import?2010 is expected to equal true2011 #github_enterprise_import?2012 is expected to equal true2013 is expected to equal false2014 is expected to equal true2015 is expected to equal true2016 #remove_import_data2017 when jira import2018 does remove import data2019 when neither a mirror nor a jira import2020 removes import data2021 #gitlab_project_import?2022 is expected to equal true2023 #gitea_import?2024 is expected to equal true2025 #has_remote_mirror?2026 returns true when a remote mirror is enabled2027 returns false when remote mirror is disabled2028 #update_remote_mirrors2029 syncs enabled remote mirror2030 does nothing when remote mirror is disabled globally and not overridden2031 does not sync disabled remote mirrors2032 #remote_mirror_available?2033 when remote mirror global setting is enabled2034 returns true2035 when remote mirror global setting is disabled2036 returns true when overridden2037 returns false when not overridden2038 #mark_primary_write_location2039 marks the location with project ID2040 #mark_stuck_remote_mirrors_as_failed!2041 fails stuck remote mirrors2042 #ancestors2043 group ancestory2044 behaves like project with group ancestors2045 returns all ancestors2046 behaves like project with ordered group ancestors2047 returns ancestors ordered by descending hierarchy2048 namespace ancestry2049 is expected to be empty2050 #ancestors_upto2051 group ancestry2052 includes ancestors upto but excluding the given ancestor2053 behaves like project with group ancestors2054 returns all ancestors2055 behaves like project with ordered group ancestors2056 returns ancestors ordered by descending hierarchy2057 with hierarchy_order2058 can be used with upto option2059 namespace ancestry2060 is expected to be empty2061 #root_ancestor2062 is expected to eq #<Namespaces::UserNamespace id:1 @namespace1>2063 in a group2064 is expected to eq #<Group id:444 @group55>2065 in a nested group2066 is expected to eq #<Group id:447 @group56>2067 #emails_disabled?2068 emails disabled in group2069 returns true2070 emails enabled in group2071 returns false2072 returns true2073 #emails_enabled?2074 without a persisted project_setting object2075 is the opposite of emails_disabled2076 with a persisted project_setting object2077 is the opposite of emails_disabled2078 #lfs_enabled?2079 LFS disabled in group2080 behaves like project overrides group2081 returns true when enabled in project2082 returns false when disabled in project2083 returns the value from the namespace, when no value is set in project2084 LFS enabled in group2085 behaves like project overrides group2086 returns true when enabled in project2087 returns false when disabled in project2088 returns the value from the namespace, when no value is set in project2089 LFS disabled globally2090 when no values are set2091 behaves like it always returns false2092 is expected to be falsey2093 when all values are set to true2094 behaves like it always returns false2095 is expected to be falsey2096 #after_repository_change_head2097 updates commit count2098 reloads the default branch2099 #after_change_head_branch_does_not_exist2100 adds an error to container if branch does not exist2101 #lfs_objects_for_repository_types2102 returns LFS objects of the specified type only2103 forks2104 #fork_network2105 includes a fork of the project2106 includes a fork of a fork2107 includes sibling forks2108 includes the base project2109 #in_fork_network_of?2110 is true for a real fork2111 is true for a fork of a fork2112 is true for sibling forks2113 is false when another project is given2114 #fork_source2115 returns the direct source if it exists2116 returns the root of the fork network when the directs source was deleted2117 returns nil if it is the root of the fork network2118 #forks2119 includes direct forks of the project2120 #lfs_object_oids_from_fork_source2121 when fork has one of two LFS objects2122 returns OIDs of owned LFS objects2123 returns empty when project is not a fork2124 behaves like can housekeep repository2125 with a clean redis state2126 #pushes_since_gc2127 without any pushes2128 returns 02129 with a number of pushes2130 returns the number of pushes2131 #increment_pushes_since_gc2132 increments the number of pushes since the last GC2133 #reset_pushes_since_gc2134 resets the number of pushes since the last GC2135 #pushes_since_gc_redis_shared_state_key2136 returns the proper redis key format2137 #git_garbage_collect_worker_klass2138 defines a git gargabe collect worker2139 #deployment_variables2140 when the deployment platform is stubbed2141 when project has a deployment platform2142 is expected to eq ["platform", "variables"]2143 when project has no deployment platform2144 is expected to eq []2145 when project has a deployment platforms2146 when environment name is review/name2147 returns variables from this service2148 when environment name is other2149 returns variables from this service2150 #default_environment2151 returns production environment when it exists2152 returns first environment when no production environment exists2153 returns nil when no available environment exists2154 #any_lfs_file_locks?2155 returns false when there are no LFS file locks2156 returns a cached true when there are LFS file locks2157 #protected_for?2158 when ref is nil2159 returns false2160 when ref is ref name2161 when ref is ambiguous2162 raises an error2163 when the ref is not protected2164 behaves like ref is not protected2165 returns false2166 when the ref is a protected branch2167 behaves like ref is protected branch2168 returns true2169 when the ref is a protected tag2170 behaves like ref is protected tag2171 returns true2172 when ref does not exist2173 returns false2174 when ref is full ref2175 when the ref is not protected2176 behaves like ref is not protected2177 returns false2178 when the ref is a protected branch2179 behaves like ref is protected branch2180 returns true2181 when the ref is a protected tag2182 behaves like ref is protected tag2183 returns true2184 when branch ref name is a full tag ref2185 when ref is not protected2186 returns false2187 when ref is a protected branch2188 returns true2189 when ref does not exist2190 returns false2191 #update_project_statistics2192 is called after creation2193 copies the namespace_id2194 updates the namespace_id when changed2195 inside_path2196 returns correct project2197 #route_map_for2198 when there is a .gitlab/route-map.yml at the commit2199 when the route map is valid2200 returns a route map2201 when the route map is invalid2202 returns nil2203 when there is no .gitlab/route-map.yml at the commit2204 returns nil2205 #public_path_for_source_path2206 when there is a route map2207 returns a public path with a leading slash unmodified2208 when the source path is mapped2209 returns the public path2210 when the source path is not mapped2211 returns nil2212 when there is no route map2213 returns nil2214 #parent2215 is expected to eq #<Namespaces::UserNamespace id:1 @namespace1>2216 #parent_id2217 is expected to eq 12218 #parent_changed?2219 is expected to be truthy2220 #default_merge_request_target2221 when mr_default_target_self is set to true2222 returns the current project2223 when merge request can not target upstream2224 returns the current project2225 when merge request can target upstream2226 returns the source project2227 #mr_can_target_upstream?2228 when forked from a more visible project2229 can not target the upstream project2230 when forked from a project with disabled merge requests2231 can not target the upstream project2232 when forked from a project with enabled merge requests2233 can target the upstream project2234 when not forked2235 can not target the upstream project2236 #lfs_http_url_to_repo2237 when a custom HTTP clone URL root is not set2238 returns the url to the repo without a username2239 when a custom HTTP clone URL root is set2240 returns the url to the repo, with the root replaced with the custom one2241 #pipeline_status2242 builds a pipeline status2243 hase a loaded pipeline status2244 #update2245 validates the visibility2246 does not validate the visibility2247 #last_repository_updated_at2248 sets to created_at upon creation2249 .public_or_visible_to_user2250 with a user2251 includes projects the user has access to2252 includes projects the user can see2253 without a user2254 only includes public projects2255 min_access_level2256 excludes projects when user does not have required minimum access level2257 with deploy token users2258 deploy token user without project2259 is expected to eq []2260 deploy token user with projects2261 is expected to contain exactly #<Project id:396 namespace1/project-486>>, #<Project id:397 namespace1/project-487>>, and #<Project id:398 namespace1/project-488>>2262 with chained filter2263 is expected to contain exactly #<Project id:396 namespace1/project-486>> and #<Project id:397 namespace1/project-487>>2264 .ids_with_issuables_available_for2265 returns project ids with milestones available for user2266 .with_feature_available_for_user2267 with user2268 behaves like feature disabled2269 does not return projects with the project feature disabled2270 behaves like feature public2271 returns projects with the project feature public2272 behaves like feature enabled2273 returns projects with the project feature enabled2274 behaves like feature access level is nil2275 returns projects with the project feature access level nil2276 when feature is private2277 when user does not have access to the feature2278 does not return projects with the project feature private2279 when user has access to the feature2280 returns projects with the project feature private2281 user is an admin2282 behaves like feature disabled2283 does not return projects with the project feature disabled2284 behaves like feature public2285 returns projects with the project feature public2286 behaves like feature enabled2287 returns projects with the project feature enabled2288 behaves like feature access level is nil2289 returns projects with the project feature access level nil2290 when feature is private2291 when admin mode is enabled2292 returns projects with the project feature private2293 when admin mode is disabled2294 does not return projects with the project feature private2295 without user2296 behaves like feature disabled2297 does not return projects with the project feature disabled2298 behaves like feature public2299 returns projects with the project feature public2300 behaves like feature enabled2301 returns projects with the project feature enabled2302 behaves like feature access level is nil2303 returns projects with the project feature access level nil2304 when feature is private2305 does not return projects with the project feature private2306 .filter_by_feature_visibility2307 with reporter level access2308 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 12309 behaves like filter respects visibility2310 respects visibility2311 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 12312 behaves like filter respects visibility2313 respects visibility2314 project_level: :public, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 12315 behaves like filter respects visibility2316 respects visibility2317 project_level: :public, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 12318 behaves like filter respects visibility2319 respects visibility2320 project_level: :public, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 12321 behaves like filter respects visibility2322 respects visibility2323 project_level: :public, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 12324 behaves like filter respects visibility2325 respects visibility2326 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 12327 behaves like filter respects visibility2328 respects visibility2329 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 02330 behaves like filter respects visibility2331 respects visibility2332 project_level: :public, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 12333 behaves like filter respects visibility2334 respects visibility2335 project_level: :public, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 02336 behaves like filter respects visibility2337 respects visibility2338 project_level: :public, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 02339 behaves like filter respects visibility2340 respects visibility2341 project_level: :public, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 02342 behaves like filter respects visibility2343 respects visibility2344 project_level: :public, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 02345 behaves like filter respects visibility2346 respects visibility2347 project_level: :public, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 02348 behaves like filter respects visibility2349 respects visibility2350 project_level: :public, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 02351 behaves like filter respects visibility2352 respects visibility2353 project_level: :public, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 02354 behaves like filter respects visibility2355 respects visibility2356 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 12357 behaves like filter respects visibility2358 respects visibility2359 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 12360 behaves like filter respects visibility2361 respects visibility2362 project_level: :internal, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 12363 behaves like filter respects visibility2364 respects visibility2365 project_level: :internal, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 12366 behaves like filter respects visibility2367 respects visibility2368 project_level: :internal, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 12369 behaves like filter respects visibility2370 respects visibility2371 project_level: :internal, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 02372 behaves like filter respects visibility2373 respects visibility2374 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 12375 behaves like filter respects visibility2376 respects visibility2377 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 02378 behaves like filter respects visibility2379 respects visibility2380 project_level: :internal, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 12381 behaves like filter respects visibility2382 respects visibility2383 project_level: :internal, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 02384 behaves like filter respects visibility2385 respects visibility2386 project_level: :internal, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 02387 behaves like filter respects visibility2388 respects visibility2389 project_level: :internal, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 02390 behaves like filter respects visibility2391 respects visibility2392 project_level: :internal, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 02393 behaves like filter respects visibility2394 respects visibility2395 project_level: :internal, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 02396 behaves like filter respects visibility2397 respects visibility2398 project_level: :internal, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 02399 behaves like filter respects visibility2400 respects visibility2401 project_level: :internal, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 02402 behaves like filter respects visibility2403 respects visibility2404 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 12405 behaves like filter respects visibility2406 respects visibility2407 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 02408 behaves like filter respects visibility2409 respects visibility2410 project_level: :private, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 12411 behaves like filter respects visibility2412 respects visibility2413 project_level: :private, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 02414 behaves like filter respects visibility2415 respects visibility2416 project_level: :private, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 02417 behaves like filter respects visibility2418 respects visibility2419 project_level: :private, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 02420 behaves like filter respects visibility2421 respects visibility2422 project_level: :private, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 02423 behaves like filter respects visibility2424 respects visibility2425 project_level: :private, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 02426 behaves like filter respects visibility2427 respects visibility2428 project_level: :private, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 02429 behaves like filter respects visibility2430 respects visibility2431 project_level: :private, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 02432 behaves like filter respects visibility2433 respects visibility2434 with feature issues2435 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 12436 behaves like filter respects visibility2437 respects visibility2438 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 12439 behaves like filter respects visibility2440 respects visibility2441 project_level: :public, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 12442 behaves like filter respects visibility2443 respects visibility2444 project_level: :public, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 12445 behaves like filter respects visibility2446 respects visibility2447 project_level: :public, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 12448 behaves like filter respects visibility2449 respects visibility2450 project_level: :public, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 12451 behaves like filter respects visibility2452 respects visibility2453 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 12454 behaves like filter respects visibility2455 respects visibility2456 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 02457 behaves like filter respects visibility2458 respects visibility2459 project_level: :public, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 12460 behaves like filter respects visibility2461 respects visibility2462 project_level: :public, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 12463 behaves like filter respects visibility2464 respects visibility2465 project_level: :public, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 02466 behaves like filter respects visibility2467 respects visibility2468 project_level: :public, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 02469 behaves like filter respects visibility2470 respects visibility2471 project_level: :public, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 02472 behaves like filter respects visibility2473 respects visibility2474 project_level: :public, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 02475 behaves like filter respects visibility2476 respects visibility2477 project_level: :public, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 02478 behaves like filter respects visibility2479 respects visibility2480 project_level: :public, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 02481 behaves like filter respects visibility2482 respects visibility2483 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 12484 behaves like filter respects visibility2485 respects visibility2486 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 12487 behaves like filter respects visibility2488 respects visibility2489 project_level: :internal, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 12490 behaves like filter respects visibility2491 respects visibility2492 project_level: :internal, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 12493 behaves like filter respects visibility2494 respects visibility2495 project_level: :internal, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 12496 behaves like filter respects visibility2497 respects visibility2498 project_level: :internal, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 02499 behaves like filter respects visibility2500 respects visibility2501 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 12502 behaves like filter respects visibility2503 respects visibility2504 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 02505 behaves like filter respects visibility2506 respects visibility2507 project_level: :internal, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 12508 behaves like filter respects visibility2509 respects visibility2510 project_level: :internal, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 12511 behaves like filter respects visibility2512 respects visibility2513 project_level: :internal, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 02514 behaves like filter respects visibility2515 respects visibility2516 project_level: :internal, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 02517 behaves like filter respects visibility2518 respects visibility2519 project_level: :internal, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 02520 behaves like filter respects visibility2521 respects visibility2522 project_level: :internal, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 02523 behaves like filter respects visibility2524 respects visibility2525 project_level: :internal, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 02526 behaves like filter respects visibility2527 respects visibility2528 project_level: :internal, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 02529 behaves like filter respects visibility2530 respects visibility2531 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 12532 behaves like filter respects visibility2533 respects visibility2534 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 02535 behaves like filter respects visibility2536 respects visibility2537 project_level: :private, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 12538 behaves like filter respects visibility2539 respects visibility2540 project_level: :private, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 12541 behaves like filter respects visibility2542 respects visibility2543 project_level: :private, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 02544 behaves like filter respects visibility2545 respects visibility2546 project_level: :private, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 02547 behaves like filter respects visibility2548 respects visibility2549 project_level: :private, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 02550 behaves like filter respects visibility2551 respects visibility2552 project_level: :private, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 02553 behaves like filter respects visibility2554 respects visibility2555 project_level: :private, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 02556 behaves like filter respects visibility2557 respects visibility2558 project_level: :private, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 02559 behaves like filter respects visibility2560 respects visibility2561 with feature wiki2562 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 12563 behaves like filter respects visibility2564 respects visibility2565 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 12566 behaves like filter respects visibility2567 respects visibility2568 project_level: :public, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 12569 behaves like filter respects visibility2570 respects visibility2571 project_level: :public, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 12572 behaves like filter respects visibility2573 respects visibility2574 project_level: :public, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 12575 behaves like filter respects visibility2576 respects visibility2577 project_level: :public, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 12578 behaves like filter respects visibility2579 respects visibility2580 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 12581 behaves like filter respects visibility2582 respects visibility2583 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 02584 behaves like filter respects visibility2585 respects visibility2586 project_level: :public, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 12587 behaves like filter respects visibility2588 respects visibility2589 project_level: :public, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 12590 behaves like filter respects visibility2591 respects visibility2592 project_level: :public, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 02593 behaves like filter respects visibility2594 respects visibility2595 project_level: :public, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 02596 behaves like filter respects visibility2597 respects visibility2598 project_level: :public, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 02599 behaves like filter respects visibility2600 respects visibility2601 project_level: :public, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 02602 behaves like filter respects visibility2603 respects visibility2604 project_level: :public, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 02605 behaves like filter respects visibility2606 respects visibility2607 project_level: :public, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 02608 behaves like filter respects visibility2609 respects visibility2610 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 12611 behaves like filter respects visibility2612 respects visibility2613 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 12614 behaves like filter respects visibility2615 respects visibility2616 project_level: :internal, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 12617 behaves like filter respects visibility2618 respects visibility2619 project_level: :internal, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 12620 behaves like filter respects visibility2621 respects visibility2622 project_level: :internal, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 12623 behaves like filter respects visibility2624 respects visibility2625 project_level: :internal, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 02626 behaves like filter respects visibility2627 respects visibility2628 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 12629 behaves like filter respects visibility2630 respects visibility2631 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 02632 behaves like filter respects visibility2633 respects visibility2634 project_level: :internal, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 12635 behaves like filter respects visibility2636 respects visibility2637 project_level: :internal, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 12638 behaves like filter respects visibility2639 respects visibility2640 project_level: :internal, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 02641 behaves like filter respects visibility2642 respects visibility2643 project_level: :internal, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 02644 behaves like filter respects visibility2645 respects visibility2646 project_level: :internal, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 02647 behaves like filter respects visibility2648 respects visibility2649 project_level: :internal, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 02650 behaves like filter respects visibility2651 respects visibility2652 project_level: :internal, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 02653 behaves like filter respects visibility2654 respects visibility2655 project_level: :internal, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 02656 behaves like filter respects visibility2657 respects visibility2658 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 12659 behaves like filter respects visibility2660 respects visibility2661 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 02662 behaves like filter respects visibility2663 respects visibility2664 project_level: :private, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 12665 behaves like filter respects visibility2666 respects visibility2667 project_level: :private, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 12668 behaves like filter respects visibility2669 respects visibility2670 project_level: :private, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 02671 behaves like filter respects visibility2672 respects visibility2673 project_level: :private, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 02674 behaves like filter respects visibility2675 respects visibility2676 project_level: :private, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 02677 behaves like filter respects visibility2678 respects visibility2679 project_level: :private, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 02680 behaves like filter respects visibility2681 respects visibility2682 project_level: :private, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 02683 behaves like filter respects visibility2684 respects visibility2685 project_level: :private, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 02686 behaves like filter respects visibility2687 respects visibility2688 with feature code2689 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 12690 behaves like filter respects visibility2691 respects visibility2692 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 12693 behaves like filter respects visibility2694 respects visibility2695 project_level: :public, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 12696 behaves like filter respects visibility2697 respects visibility2698 project_level: :public, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 12699 behaves like filter respects visibility2700 respects visibility2701 project_level: :public, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 12702 behaves like filter respects visibility2703 respects visibility2704 project_level: :public, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 12705 behaves like filter respects visibility2706 respects visibility2707 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 12708 behaves like filter respects visibility2709 respects visibility2710 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 02711 behaves like filter respects visibility2712 respects visibility2713 project_level: :public, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 12714 behaves like filter respects visibility2715 respects visibility2716 project_level: :public, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 12717 behaves like filter respects visibility2718 respects visibility2719 project_level: :public, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 02720 behaves like filter respects visibility2721 respects visibility2722 project_level: :public, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 02723 behaves like filter respects visibility2724 respects visibility2725 project_level: :public, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 02726 behaves like filter respects visibility2727 respects visibility2728 project_level: :public, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 02729 behaves like filter respects visibility2730 respects visibility2731 project_level: :public, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 02732 behaves like filter respects visibility2733 respects visibility2734 project_level: :public, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 02735 behaves like filter respects visibility2736 respects visibility2737 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 12738 behaves like filter respects visibility2739 respects visibility2740 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 12741 behaves like filter respects visibility2742 respects visibility2743 project_level: :internal, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 12744 behaves like filter respects visibility2745 respects visibility2746 project_level: :internal, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 12747 behaves like filter respects visibility2748 respects visibility2749 project_level: :internal, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 12750 behaves like filter respects visibility2751 respects visibility2752 project_level: :internal, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 02753 behaves like filter respects visibility2754 respects visibility2755 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 12756 behaves like filter respects visibility2757 respects visibility2758 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 02759 behaves like filter respects visibility2760 respects visibility2761 project_level: :internal, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 12762 behaves like filter respects visibility2763 respects visibility2764 project_level: :internal, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 12765 behaves like filter respects visibility2766 respects visibility2767 project_level: :internal, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 02768 behaves like filter respects visibility2769 respects visibility2770 project_level: :internal, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 02771 behaves like filter respects visibility2772 respects visibility2773 project_level: :internal, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 02774 behaves like filter respects visibility2775 respects visibility2776 project_level: :internal, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 02777 behaves like filter respects visibility2778 respects visibility2779 project_level: :internal, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 02780 behaves like filter respects visibility2781 respects visibility2782 project_level: :internal, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 02783 behaves like filter respects visibility2784 respects visibility2785 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 12786 behaves like filter respects visibility2787 respects visibility2788 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 02789 behaves like filter respects visibility2790 respects visibility2791 project_level: :private, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 12792 behaves like filter respects visibility2793 respects visibility2794 project_level: :private, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 02795 behaves like filter respects visibility2796 respects visibility2797 project_level: :private, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 02798 behaves like filter respects visibility2799 respects visibility2800 project_level: :private, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 02801 behaves like filter respects visibility2802 respects visibility2803 project_level: :private, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 02804 behaves like filter respects visibility2805 respects visibility2806 project_level: :private, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 02807 behaves like filter respects visibility2808 respects visibility2809 project_level: :private, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 02810 behaves like filter respects visibility2811 respects visibility2812 project_level: :private, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 02813 behaves like filter respects visibility2814 respects visibility2815 .wrap_with_cte2816 wrapped query matches original2817 #pages_available?2818 when the project is in a top level namespace2819 is expected to equal true2820 when the project is in a subgroup2821 is expected to equal true2822 #remove_private_deploy_keys2823 for a private deploy key2824 when the key is not linked to another project2825 removes the key2826 when the key is linked to another project2827 does not remove the key2828 for a public deploy key2829 does not remove the key2830 #remove_export2831 removes the export2832 with export2833 #export_file_exists? returns true2834 #export_archive_exists? returns false2835 #forks_count2836 returns the number of forks2837 #git_transfer_in_progress?2838 project_reference_counter: 0, wiki_reference_counter: 0, design_reference_counter: 0, result: false2839 is expected to equal false2840 project_reference_counter: 2, wiki_reference_counter: 0, design_reference_counter: 0, result: true2841 is expected to equal true2842 project_reference_counter: 0, wiki_reference_counter: 2, design_reference_counter: 0, result: true2843 is expected to equal true2844 project_reference_counter: 0, wiki_reference_counter: 0, design_reference_counter: 2, result: true2845 is expected to equal true2846 legacy storage2847 #base_dir2848 returns base_dir based on namespace only2849 #disk_path2850 returns disk_path based on namespace and project path2851 #legacy_storage?2852 returns true when storage_version is nil2853 returns true when the storage_version is 02854 #hashed_storage?2855 returns false2856 #pages_path2857 returns a path where pages are stored2858 #migrate_to_hashed_storage!2859 returns true2860 does not run validation2861 schedules HashedStorage::ProjectMigrateWorker with delayed start when the project repo is in use2862 schedules HashedStorage::ProjectMigrateWorker with delayed start when the wiki repo is in use2863 schedules HashedStorage::ProjectMigrateWorker2864 #rollback_to_legacy_storage!2865 returns nil2866 does not run validations2867 hashed storage2868 #legacy_storage?2869 returns false2870 #hashed_storage?2871 returns true if rolled out2872 returns false when not rolled out yet2873 #base_dir2874 returns base_dir based on hash of project id2875 #disk_path2876 returns disk_path based on hash of project id2877 #pages_path2878 returns a path where pages are stored2879 #migrate_to_hashed_storage!2880 returns nil2881 does not flag as read-only2882 when partially migrated2883 enqueues a job2884 #rollback_to_legacy_storage!2885 returns true2886 does not run validations2887 does not flag as read-only2888 enqueues a job2889 #has_ci?2890 when has .gitlab-ci.yml2891 CI is available2892 when there is no .gitlab-ci.yml2893 CI is available2894 when auto devops is disabled2895 CI is not available2896 #predefined_project_variables2897 is expected to include nil2898 when ci config path is overridden2899 is expected to include nil2900 #dependency_proxy_variables2901 when dependency_proxy is enabled2902 contains the downcased name2903 when dependency_proxy is disabled2904 is expected to be empty2905 #auto_devops_enabled?2906 when explicitly enabled2907 is expected to be truthy2908 when explicitly disabled2909 is expected to be falsey2910 when enabled in settings2911 is expected to be truthy2912 when disabled in settings2913 is expected to be falsey2914 when explicitly enabled2915 is expected to be truthy2916 when explicitly disabled2917 is expected to be falsey2918 when force_autodevops_on_by_default is enabled for the project2919 is expected to be truthy2920 with group parents2921 when enabled on parent2922 when auto devops instance enabled2923 is expected to be truthy2924 when auto devops instance disabled2925 is expected to be truthy2926 when disabled on parent2927 when auto devops instance enabled2928 is expected to be falsy2929 when auto devops instance disabled2930 is expected to be falsy2931 when enabled on root parent2932 when auto devops instance enabled2933 is expected to be truthy2934 when auto devops instance disabled2935 is expected to be truthy2936 when explicitly disabled on parent2937 is expected to be falsy2938 when disabled on root parent2939 when auto devops instance enabled2940 is expected to be falsy2941 when auto devops instance disabled2942 is expected to be falsy2943 when explicitly disabled on parent2944 is expected to be falsy2945 #has_auto_devops_implicitly_enabled?2946 when disabled in settings2947 does not have auto devops implicitly disabled2948 when enabled in settings2949 auto devops is implicitly disabled2950 when explicitly disabled2951 does not have auto devops implicitly disabled2952 when explicitly enabled2953 does not have auto devops implicitly disabled2954 when enabled on group2955 has auto devops implicitly enabled2956 when enabled on parent group2957 has auto devops implicitly enabled2958 #has_auto_devops_implicitly_disabled?2959 when explicitly disabled2960 does not have auto devops implicitly disabled2961 when explicitly enabled2962 does not have auto devops implicitly disabled2963 when enabled in settings2964 does not have auto devops implicitly disabled2965 when disabled in settings2966 auto devops is implicitly disabled2967 when force_autodevops_on_by_default is enabled for the project2968 does not have auto devops implicitly disabled2969 when disabled on group2970 has auto devops implicitly disabled2971 when disabled on parent group2972 has auto devops implicitly disabled2973 #api_variables2974 exposes API v4 URL2975 exposes API GraphQL URL2976 contains a URL variable for every supported API version2977 #latest_successful_builds_for2978 without a ref2979 returns a pipeline for the default branch2980 with the ref set to the default branch2981 returns a pipeline for the default branch2982 with a ref that is not the default branch2983 returns the latest successful pipeline for the given ref2984 #check_repository_path_availability2985 when the repository already exists2986 returns false when repository already exists2987 when the repository does not exist2988 returns false when repository already exists2989 skips gitlab-shell exists?2990 #latest_successful_pipeline_for_default_branch2991 memoizes and returns the latest successful pipeline for the default branch2992 #after_import2993 runs the correct hooks2994 project authorizations refresh2995 updates user authorizations2996 branch protection2997 does not protect when branch protection is disabled2998 gives developer access to push when branch protection is set to 'developers can push'2999 gives developer access to merge when branch protection is set to 'developers can merge'3000 protects default branch3001 project target platforms detection3002 calls enqueue_record_project_target_platforms3003 #update_project_counter_caches3004 updates all project counter caches3005 #set_full_path3006 writes full path in .git/config when key is missing3007 updates full path in .git/config when key is present3008 does not raise an error with an empty repository3009 #default_branch3010 with default_branch_name3011 instance_branch: "", root_group_branch: nil, project_group_branch: nil, project_branch: nil3012 is expected to eq nil3013 instance_branch: nil, root_group_branch: nil, project_group_branch: nil, project_branch: nil3014 is expected to eq nil3015 instance_branch: "main", root_group_branch: nil, project_group_branch: nil, project_branch: "main"3016 is expected to eq "main"3017 instance_branch: "main", root_group_branch: "root_branch", project_group_branch: nil, project_branch: "root_branch"3018 is expected to eq "root_branch"3019 instance_branch: "main", root_group_branch: "root_branch", project_group_branch: "group_branch", project_branch: "group_branch"3020 is expected to eq "group_branch"3021 #to_ability_name3022 returns project3023 #execute_hooks3024 executes active projects hooks with the specified scope3025 does not execute project hooks that dont match the specified scope3026 does not execute project hooks which are not active3027 executes hooks which were backed off and are no longer backed off3028 executes the system hooks with the specified scope3029 executes the system hooks when inside a transaction3030 #execute_integrations3031 executes integrations with the specified scope3032 does not execute integration that don't match the specified scope3033 does not trigger extra queries when called multiple times3034 #has_active_hooks?3035 is expected to eq false3036 returns true when a matching push hook exists3037 returns true when a matching system hook exists3038 returns true when a plugin exists3039 #has_active_integrations?3040 is expected to eq false3041 returns true when a matching service exists3042 caches matching integrations3043 #badges3044 returns the project and the project group badges3045 with nested_groups3046 returns the project and the project nested groups badges3047 with cross internal project merge requests3048 does not endlessly loop for internal projects with MRs to each other3049 #branch_allows_collaboration?3050 when there are open merge requests that have their source/target branches point to each other3051 when user is a developer3052 behaves like successful check3053 does not go into an infinite loop3054 when user is a reporter3055 behaves like successful check3056 does not go into an infinite loop3057 when user is a guest3058 behaves like successful check3059 does not go into an infinite loop3060 with cross project merge requests3061 #merge_requests_allowing_push_to_user3062 returns open merge requests for which the user has developer access to the target project3063 does not include closed merge requests3064 does not include merge requests for guest users3065 does not include the merge request for other users3066 is empty when no user is passed3067 #any_branch_allows_collaboration?3068 allows access when there are merge requests open allowing collaboration3069 does not allow access when there are no merge requests open allowing collaboration3070 #branch_allows_collaboration?3071 allows access if the user can merge the merge request3072 does not allow guest users access3073 does not allow access to branches for which the merge request was closed3074 does not allow access if the user cannot merge the merge request3075 when the requeststore is active3076 only queries per project across instances3077 #external_authorization_classification_label3078 falls back to the default when none is configured3079 returns the classification label if it was configured on the project3080 #pages_https_only?3081 when HTTPS pages are disabled3082 is expected not to be pages https only3083 when HTTPS pages are enabled3084 is expected to be pages https only3085 #pages_https_only? validation3086 when no domains are associated3087 is expected to be valid3088 when domains including keys and certificates are associated3089 is expected to be valid3090 when domains including no keys or certificates are associated3091 is expected not to be valid3092 #toggle_ci_cd_settings!3093 toggles the value on #settings3094 #gitlab_deploy_token3095 when there is a gitlab deploy token associated3096 is expected to eq #<DeployToken id: 7, revoked: false, read_repository: true, read_registry: true, expires_at: "2023-06...write_registry: false, read_package_registry: false, write_package_registry: false, creator_id: nil>3097 when there is no a gitlab deploy token associated3098 is expected to be nil3099 when there is a gitlab deploy token associated but is has been revoked3100 is expected to be nil3101 when there is a gitlab deploy token associated but it is expired3102 is expected to be nil3103 when there is a deploy token associated with a different name3104 is expected to be nil3105 when there is a deploy token associated to a different project3106 is expected to be nil3107 when the project group has a gitlab deploy token associated3108 is expected to eq #<DeployToken id: 12, revoked: false, read_repository: true, read_registry: true, expires_at: "2023-0...write_registry: false, read_package_registry: false, write_package_registry: false, creator_id: nil>3109 when the project and its group has a gitlab deploy token associated3110 is expected to eq #<DeployToken id: 13, revoked: false, read_repository: true, read_registry: true, expires_at: "2023-0...write_registry: false, read_package_registry: false, write_package_registry: false, creator_id: nil>3111 with uploads3112 behaves like model with uploads3113 .destroy3114 with mounted uploader3115 deletes remote uploads3116 with not mounted uploads3117 with local files3118 deletes any FileUploader uploads which are not mounted3119 deletes local files3120 with remote files3121 deletes any FileUploader uploads which are not mounted3122 deletes remote files3123 #members_among3124 when users is an Array3125 returns project members among the users3126 maintains input order3127 returns empty array if users is empty3128 when users is a relation3129 returns project members among the users3130 returns empty relation if users is empty3131 #find_or_initialize_integrations3132 avoids N+1 database queries3133 avoids N+1 database queries with more available integrations3134 with disabled integrations3135 returns only enabled integrations sorted3136 #find_or_initialize_integration3137 avoids N+1 database queries3138 returns nil if integration is disabled3139 returns nil if integration does not exist3140 with an existing integration3141 retrieves the integration3142 with an instance-level integration3143 builds the integration from the instance integration3144 without an existing integration or instance-level3145 builds the integration3146 .for_group3147 returns the projects for a given group3148 .for_group_and_its_ancestor_groups3149 returns projects for group and its ancestors3150 .pending_data_repair_analysis3151 returns projects that are not in ContainerRegistry::DataRepairDetail3152 .deployments3153 when there is a deployment record with created status3154 does not return the record3155 when there is a deployment record with running status3156 does not return the record3157 when there is a deployment record with success status3158 returns the record3159 #snippets_visible?3160 returns true when a logged in user can read snippets3161 returns true when an anonymous user can read snippets3162 returns false when a user can not read snippets3163 #all_clusters3164 returns project level cluster3165 project belongs to a group3166 returns clusters for groups of this project3167 project is hosted on instance with integrated cluster3168 returns all available clusters for this project3169 #object_pool_params3170 when the objects cannot be pooled3171 is expected to be empty3172 when a pool is created3173 returns that pool repository3174 #git_objects_poolable?3175 when not using hashed storage3176 is expected not to be git objects poolable3177 when the project is private3178 is expected not to be git objects poolable3179 when the project is public3180 is expected to be git objects poolable3181 when the project is internal3182 is expected to be git objects poolable3183 when objects are poolable3184 is expected to be git objects poolable3185 #leave_pool_repository3186 removes the membership and disconnects alternates3187 when the project is pending delete3188 removes the membership and does not disconnect alternates3189 #check_personal_projects_limit3190 when creating a project for a group3191 does nothing3192 when the user is not allowed to create a personal project3193 when the project limit is zero3194 adds a validation error3195 when the project limit is greater than zero3196 adds a validation error3197 when the user is allowed to create personal projects3198 does nothing3199 validation #changing_shared_runners_enabled_is_allowed3200 shared_runners_setting: :shared_runners_enabled, project_shared_runners_enabled: true, valid_record: true3201 validates the configuration3202 shared_runners_setting: :shared_runners_enabled, project_shared_runners_enabled: false, valid_record: true3203 validates the configuration3204 shared_runners_setting: :disabled_and_overridable, project_shared_runners_enabled: true, valid_record: true3205 validates the configuration3206 shared_runners_setting: :disabled_and_overridable, project_shared_runners_enabled: false, valid_record: true3207 validates the configuration3208 shared_runners_setting: :disabled_and_unoverridable, project_shared_runners_enabled: true, valid_record: false3209 validates the configuration3210 shared_runners_setting: :disabled_and_unoverridable, project_shared_runners_enabled: false, valid_record: true3211 validates the configuration3212 #mark_pages_onboarding_complete3213 creates new record and sets onboarding_complete to true if none exists yet3214 overrides an existing setting3215 #mark_pages_as_deployed3216 works when artifacts_archive is missing3217 creates new record and sets deployed to true if none exists yet3218 updates the existing record and sets deployed to true and records artifact archive3219 #mark_pages_as_not_deployed3220 creates new record and sets deployed to false if none exists yet3221 updates the existing record and sets deployed to false and clears artifacts_archive3222 #update_pages_deployment!3223 creates new metadata record if none exists yet and sets deployment3224 updates the existing metadara record with deployment3225 #set_first_pages_deployment!3226 creates new metadata record if none exists yet and sets deployment3227 updates the existing metadara record with deployment3228 only updates metadata for this project3229 does nothing if metadata already references some deployment3230 marks project as not deployed if deployment is nil3231 #has_pool_repsitory?3232 returns false when it does not have a pool repository3233 returns true when it has a pool repository3234 #access_request_approvers_to_be_notified3235 for a personal project3236 behaves like returns active, non_invited, non_requested owners/maintainers of the project3237 is expected to contain exactly #<ProjectMember id: 669, access_level: 40, source_id: 578, source_type: "Project", user_id: 367, noti...erride: false, state: 0, invite_email_success: true, member_namespace_id: 1103, member_role_id: nil> and #<ProjectMember id: 668, access_level: 50, source_id: 578, source_type: "Project", user_id: 1, notifi...erride: false, state: 0, invite_email_success: true, member_namespace_id: 1103, member_role_id: nil>3238 for a project in a group3239 returns a maximum of ten maintainers/owners of the project in recent_sign_in descending order3240 behaves like returns active, non_invited, non_requested owners/maintainers of the project3241 is expected to contain exactly #<ProjectMember id: 703, access_level: 40, source_id: 584, source_type: "Project", user_id: 386, noti...erride: false, state: 0, invite_email_success: true, member_namespace_id: 1117, member_role_id: nil> and #<ProjectMember id: 680, access_level: 50, source_id: 584, source_type: "Project", user_id: 374, noti...erride: false, state: 0, invite_email_success: true, member_namespace_id: 1117, member_role_id: nil>3242 #pages_lookup_path3243 returns instance of Pages::LookupPath3244 .with_pages_deployed3245 returns only projects that have pages deployed3246 .pages_metadata_not_migrated3247 returns only projects that have pages deployed3248 #closest_setting3249 when setting is of non-boolean type3250 global_setting: 100, group_setting: 200, project_setting: 300, result: 3003251 behaves like fetching closest setting3252 returns closest non-nil value3253 global_setting: 100, group_setting: 200, project_setting: nil, result: 2003254 behaves like fetching closest setting3255 returns closest non-nil value3256 global_setting: 100, group_setting: nil, project_setting: nil, result: 1003257 behaves like fetching closest setting3258 returns closest non-nil value3259 global_setting: nil, group_setting: nil, project_setting: nil, result: nil3260 behaves like fetching closest setting3261 returns closest non-nil value3262 when setting is of boolean type3263 global_setting: true, group_setting: true, project_setting: false, result: false3264 behaves like fetching closest setting3265 returns closest non-nil value3266 global_setting: true, group_setting: false, project_setting: nil, result: false3267 behaves like fetching closest setting3268 returns closest non-nil value3269 global_setting: true, group_setting: nil, project_setting: nil, result: true3270 behaves like fetching closest setting3271 returns closest non-nil value3272 #drop_visibility_level!3273 when has a group3274 when the group `visibility_level` is more strict3275 sets `visibility_level` value from the group3276 when the group `visibility_level` is less strict3277 does not change the value of the `visibility_level` field3278 when `restricted_visibility_levels` of the GitLab instance exist3279 when `visibility_level` is included into `restricted_visibility_levels`3280 sets `visibility_level` value to `PRIVATE`3281 when `restricted_visibility_levels` does not include `visibility_level`3282 does not change the value of the `visibility_level` field3283 #jira_subscription_exists?3284 jira connect subscription exists3285 is expected to eq true3286 with_issues_or_mrs_available_for_user3287 returns correct projects3288 #limited_protected_branches3289 returns limited number of protected branches based on specified limit3290 #group_protected_branches3291 returns protected branches of the group3292 when project belongs to namespace3293 returns empty relation3294 #all_protected_branches3295 when feature flag `group_protected_branches` enabled3296 return all protected branches3297 when feature flag `group_protected_branches` disabled3298 return only project-level protected branches3299 #lfs_objects_oids3300 when project has associated LFS objects3301 returns OIDs of LFS objects3302 lfs_objects_projects associations are deleted along with project3303 lfs_objects associations are unchanged when the assicated project is removed3304 and there are specified oids3305 returns OIDs of LFS objects that match specified oids3306 when project has no associated LFS objects3307 returns empty array3308 #prometheus_integration_active?3309 when project has an activated prometheus integration3310 is expected to be truthy3311 when project has an inactive prometheus integration3312 the integration is marked as inactive3313 #add_export_job3314 when project storage_size does not exceed the application setting max_export_size3315 starts project export worker3316 when project storage_size exceeds the application setting max_export_size3317 raises Project::ExportLimitExceeded3318 when application setting max_export_size is not set3319 starts project export worker3320 #export_in_progress?3321 when project export is enqueued3322 is expected to equal false3323 when project export is in progress3324 is expected to equal true3325 when project export is completed3326 is expected to equal false3327 #export_status3328 when project export is enqueued3329 is expected to eq :queued3330 when project export is in progress3331 is expected to eq :started3332 when project export is completed3333 is expected to eq :finished3334 when project export is being regenerated3335 is expected to eq :regeneration_in_progress3336 with Debian Distributions3337 behaves like model with Debian distributions3338 removes distribution files on removal3339 #environments_for_scope3340 retrieves all project environments when using the * wildcard3341 retrieves a specific project environment when using the name of that environment3342 #latest_jira_import3343 when no jira imports3344 returns nil3345 when single jira import3346 returns the jira import3347 when multiple jira imports3348 returns latest jira import by created_at3349 #packages_enabled3350 is expected to equal true3351 when packages_enabled is enabled3352 project_visibility: 0, expected_result: 103353 set package_registry_access_level to correct value3354 project_visibility: 10, expected_result: 203355 set package_registry_access_level to correct value3356 project_visibility: 20, expected_result: 303357 set package_registry_access_level to correct value3358 when packages_enabled is disabled3359 set package_registry_access_level to DISABLED3360 set package_registry_access_level to DISABLED3361 set package_registry_access_level to DISABLED3362 #related_group_ids3363 when associated with a namespace3364 only includes linked groups3365 when associated with a group3366 includes self, ancestors and linked groups3367 #has_namespaced_npm_packages?3368 with scope of the namespace path3369 is expected to equal true3370 without scope of the namespace path3371 is expected to equal false3372 without packages3373 is expected to equal false3374 #package_already_taken?3375 within the package project3376 package_name: "@test/bar", package_version: "1.2.3", expected_result: false3377 is expected to eq false3378 package_name: "@test/bar", package_version: "5.5.5", expected_result: false3379 is expected to eq false3380 package_name: "@test/foo", package_version: "1.2.3", expected_result: false3381 is expected to eq false3382 package_name: "@test/foo", package_version: "5.5.5", expected_result: false3383 is expected to eq false3384 within a different project3385 package_name: "@test/bar", package_version: "1.2.3", expected_result: false3386 is expected to eq false3387 package_name: "@test/bar", package_version: "5.5.5", expected_result: false3388 is expected to eq false3389 package_name: "@test/foo", package_version: "1.2.3", expected_result: true3390 is expected to eq true3391 package_name: "@test/foo", package_version: "5.5.5", expected_result: false3392 is expected to eq false3393 for a different package type3394 returns false3395 with a pending_destruction package3396 package_name: "@test/bar", package_version: "1.2.3", expected_result: false3397 is expected to eq false3398 package_name: "@test/bar", package_version: "5.5.5", expected_result: false3399 is expected to eq false3400 package_name: "@test/foo", package_version: "1.2.3", expected_result: false3401 is expected to eq false3402 package_name: "@test/foo", package_version: "5.5.5", expected_result: false3403 is expected to eq false3404 #design_management_enabled?3405 lfs_enabled: false, hashed_storage_enabled: false, expectation: false3406 is expected to equal false3407 lfs_enabled: true, hashed_storage_enabled: false, expectation: false3408 is expected to equal false3409 lfs_enabled: false, hashed_storage_enabled: true, expectation: false3410 is expected to equal false3411 lfs_enabled: true, hashed_storage_enabled: true, expectation: true3412 is expected to equal true3413 #parent_loaded?3414 is false when the parent is not loaded3415 is true when the parent is loaded3416 #bots3417 is expected to contain exactly #<User id:410 @user393>3418 is expected not to include #<User id:411 @user394>3419 #metrics_setting3420 creates setting if it does not exist3421 #enabled_group_deploy_keys3422 when a project does not have a group3423 is expected to be empty3424 when a project has a parent group3425 and this group has a group deploy key enabled3426 is expected to contain exactly #<GroupDeployKey id: 1, user_id: 412, created_at: "2023-06-02 06:32:48.672409441 +0000", updated_at: ...2e:77:46:c3:69", fingerprint_sha256: "Gt0G3xsPU0kChiM3SID+salCZRXyOWSv+FR8GqRkDWI", usage_type: nil>3427 and this group has parent group which also has a group deploy key enabled3428 returns both group deploy keys3429 and another group has a group deploy key enabled3430 does not return this group deploy key3431 #activity_path3432 returns the project activity_path3433 #default_branch_or_main3434 returns default branch3435 when default branch is nil3436 returns Gitlab::DefaultBranch.value3437 topics3438 topic_list returns correct string array3439 topics returns correct topic records3440 topic_list=3441 set topics if only the order is changed3442 does not persist topics before project is saved3443 does not update topics if project is not valid3444 does not add new topic if name is not unique (case insensitive)3445 topic_list: ["topicA", "topicB"], expected_result: ["topicA", "topicB"]3446 set topics3447 topic_list: ["topicB", "topicA"], expected_result: ["topicB", "topicA"]3448 set topics3449 topic_list: [" topicC ", " topicD "], expected_result: ["topicC", "topicD"]3450 set topics3451 topic_list: ["topicE", "topicF", "topicE"], expected_result: ["topicE", "topicF"]3452 set topics3453 topic_list: ["topicE ", "topicF", " topicE"], expected_result: ["topicE", "topicF"]3454 set topics3455 topic_list: "topicA, topicB", expected_result: ["topicA", "topicB"]3456 set topics3457 topic_list: "topicB, topicA", expected_result: ["topicB", "topicA"]3458 set topics3459 topic_list: " topicC , topicD ", expected_result: ["topicC", "topicD"]3460 set topics3461 topic_list: "topicE, topicF, topicE", expected_result: ["topicE", "topicF"]3462 set topics3463 topic_list: "topicE , topicF, topicE", expected_result: ["topicE", "topicF"]3464 set topics3465 public topics counter3466 initial_visibility: private, new_visibility: nil, new_topic_list: "t2, t3", expected_count_changes: [0, 0, 0]3467 increments or decrements counters of topics3468 initial_visibility: internal, new_visibility: nil, new_topic_list: "t2, t3", expected_count_changes: [-1, 0, 1]3469 increments or decrements counters of topics3470 initial_visibility: public, new_visibility: nil, new_topic_list: "t2, t3", expected_count_changes: [-1, 0, 1]3471 increments or decrements counters of topics3472 initial_visibility: private, new_visibility: public, new_topic_list: nil, expected_count_changes: [1, 1, 0]3473 increments or decrements counters of topics3474 initial_visibility: private, new_visibility: internal, new_topic_list: nil, expected_count_changes: [1, 1, 0]3475 increments or decrements counters of topics3476 initial_visibility: private, new_visibility: private, new_topic_list: nil, expected_count_changes: [0, 0, 0]3477 increments or decrements counters of topics3478 initial_visibility: internal, new_visibility: public, new_topic_list: nil, expected_count_changes: [0, 0, 0]3479 increments or decrements counters of topics3480 initial_visibility: internal, new_visibility: internal, new_topic_list: nil, expected_count_changes: [0, 0, 0]3481 increments or decrements counters of topics3482 initial_visibility: internal, new_visibility: private, new_topic_list: nil, expected_count_changes: [-1, -1, 0]3483 increments or decrements counters of topics3484 initial_visibility: public, new_visibility: public, new_topic_list: nil, expected_count_changes: [0, 0, 0]3485 increments or decrements counters of topics3486 initial_visibility: public, new_visibility: internal, new_topic_list: nil, expected_count_changes: [0, 0, 0]3487 increments or decrements counters of topics3488 initial_visibility: public, new_visibility: private, new_topic_list: nil, expected_count_changes: [-1, -1, 0]3489 increments or decrements counters of topics3490 initial_visibility: private, new_visibility: public, new_topic_list: "t2, t3", expected_count_changes: [0, 1, 1]3491 increments or decrements counters of topics3492 initial_visibility: private, new_visibility: internal, new_topic_list: "t2, t3", expected_count_changes: [0, 1, 1]3493 increments or decrements counters of topics3494 initial_visibility: private, new_visibility: private, new_topic_list: "t2, t3", expected_count_changes: [0, 0, 0]3495 increments or decrements counters of topics3496 initial_visibility: internal, new_visibility: public, new_topic_list: "t2, t3", expected_count_changes: [-1, 0, 1]3497 increments or decrements counters of topics3498 initial_visibility: internal, new_visibility: internal, new_topic_list: "t2, t3", expected_count_changes: [-1, 0, 1]3499 increments or decrements counters of topics3500 initial_visibility: internal, new_visibility: private, new_topic_list: "t2, t3", expected_count_changes: [-1, -1, 0]3501 increments or decrements counters of topics3502 initial_visibility: public, new_visibility: public, new_topic_list: "t2, t3", expected_count_changes: [-1, 0, 1]3503 increments or decrements counters of topics3504 initial_visibility: public, new_visibility: internal, new_topic_list: "t2, t3", expected_count_changes: [-1, 0, 1]3505 increments or decrements counters of topics3506 initial_visibility: public, new_visibility: private, new_topic_list: "t2, t3", expected_count_changes: [-1, -1, 0]3507 increments or decrements counters of topics3508 #all_runners3509 behaves like all_runners3510 when shared runners are enabled for project3511 returns a list with all runners3512 when shared runners are disabled for project3513 returns a list without shared runners3514 when group runners are enabled for project3515 returns a list with all runners3516 when group runners are disabled for project3517 returns a list without group runners3518 #all_available_runners3519 behaves like all_runners3520 when shared runners are enabled for project3521 returns a list with all runners3522 when shared runners are disabled for project3523 returns a list without shared runners3524 when group runners are enabled for project3525 returns a list with all runners3526 when group runners are disabled for project3527 returns a list without group runners3528 #enforced_runner_token_expiration_interval and #effective_runner_token_expiration_interval3529 when there is no interval3530 behaves like no enforced expiration interval3531 is expected to be nil3532 behaves like no effective expiration interval3533 is expected to be nil3534 when there is a project interval3535 behaves like no enforced expiration interval3536 is expected to be nil3537 behaves like effective expiration interval3538 is expected to eq 3 days3539 when there is a site-wide enforced shared interval3540 behaves like no enforced expiration interval3541 is expected to be nil3542 behaves like no effective expiration interval3543 is expected to be nil3544 when there is a site-wide enforced group interval3545 behaves like no enforced expiration interval3546 is expected to be nil3547 behaves like no effective expiration interval3548 is expected to be nil3549 when there is a site-wide enforced project interval3550 behaves like enforced expiration interval3551 is expected to eq 5 days3552 behaves like effective expiration interval3553 is expected to eq 5 days3554 when there is a group-enforced group interval3555 behaves like no enforced expiration interval3556 is expected to be nil3557 behaves like no effective expiration interval3558 is expected to be nil3559 when there is a group-enforced subgroup interval3560 behaves like no enforced expiration interval3561 is expected to be nil3562 behaves like no effective expiration interval3563 is expected to be nil3564 when there is an owner group-enforced project interval3565 behaves like enforced expiration interval3566 is expected to eq 4 days3567 behaves like effective expiration interval3568 is expected to eq 4 days3569 when there is a grandparent group-enforced interval3570 behaves like enforced expiration interval3571 is expected to eq 3 days3572 behaves like effective expiration interval3573 is expected to eq 3 days3574 when there is a parent group-enforced interval overridden by group-enforced interval3575 behaves like enforced expiration interval3576 is expected to eq 4 days3577 behaves like effective expiration interval3578 is expected to eq 4 days3579 when site-wide enforced interval overrides project interval3580 behaves like enforced expiration interval3581 is expected to eq 3 days3582 behaves like effective expiration interval3583 is expected to eq 3 days3584 when project interval overrides site-wide enforced interval3585 has human-readable expiration intervals3586 behaves like enforced expiration interval3587 is expected to eq 5 days3588 behaves like effective expiration interval3589 is expected to eq 4 days3590 when site-wide enforced interval overrides group-enforced interval3591 behaves like enforced expiration interval3592 is expected to eq 3 days3593 behaves like effective expiration interval3594 is expected to eq 3 days3595 when group-enforced interval overrides site-wide enforced interval3596 behaves like enforced expiration interval3597 is expected to eq 4 days3598 behaves like effective expiration interval3599 is expected to eq 4 days3600 when group-enforced interval overrides project interval3601 behaves like enforced expiration interval3602 is expected to eq 3 days3603 behaves like effective expiration interval3604 is expected to eq 3 days3605 when project interval overrides group-enforced interval3606 behaves like enforced expiration interval3607 is expected to eq 5 days3608 behaves like effective expiration interval3609 is expected to eq 4 days3610 when there is an enforced project interval in an unrelated group3611 behaves like no enforced expiration interval3612 is expected to be nil3613 behaves like no effective expiration interval3614 is expected to be nil3615 when there is an enforced project interval in a subgroup3616 behaves like no enforced expiration interval3617 is expected to be nil3618 behaves like no effective expiration interval3619 is expected to be nil3620 behaves like it has loose foreign keys3621 has at least one loose foreign key definition3622 has the deletion trigger present3623 records record deletions3624 cleans up record deletions3625 Projects::SyncEvent3626 when creating the project3627 creates a projects_sync_event record3628 enqueues ProcessProjectSyncEventsWorker3629 when updating project namespace_id3630 creates a projects_sync_event record3631 enqueues ProcessProjectSyncEventsWorker3632 when updating project other attribute3633 creates a projects_sync_event record3634 in the same transaction3635 when updating different namespace_id3636 creates two projects_sync_event records3637 when updating the same namespace_id3638 creates one projects_sync_event record3639 .not_hidden3640 lists projects that are not hidden3641 #pending_delete_or_hidden?3642 pending_delete: true, hidden: false, expected_result: true3643 returns true if project is pending delete or hidden3644 pending_delete: true, hidden: true, expected_result: true3645 returns true if project is pending delete or hidden3646 pending_delete: false, hidden: true, expected_result: true3647 returns true if project is pending delete or hidden3648 pending_delete: false, hidden: false, expected_result: false3649 returns true if project is pending delete or hidden3650 #work_items_feature_flag_enabled?3651 behaves like checks parent group feature flag3652 when feature flag is disabled globally3653 is expected to be falsey3654 when feature flag is enabled globally3655 is expected to be truthy3656 when feature flag is enabled for the root group3657 is expected to be truthy3658 when feature flag is enabled for the group3659 is expected to be truthy3660 when feature flag is enabled for the project3661 when project belongs to a group3662 is expected to be truthy3663 when project does not belong to a group3664 is expected to be truthy3665 #content_editor_on_issues_feature_flag_enabled?3666 behaves like checks parent group feature flag3667 when feature flag is disabled globally3668 is expected to be falsey3669 when feature flag is enabled globally3670 is expected to be truthy3671 when feature flag is enabled for the root group3672 is expected to be truthy3673 when feature flag is enabled for the group3674 is expected to be truthy3675 #work_items_mvc_feature_flag_enabled?3676 behaves like checks parent group feature flag3677 when feature flag is disabled globally3678 is expected to be falsey3679 when feature flag is enabled globally3680 is expected to be truthy3681 when feature flag is enabled for the root group3682 is expected to be truthy3683 when feature flag is enabled for the group3684 is expected to be truthy3685 #work_items_mvc_2_feature_flag_enabled?3686 behaves like checks parent group feature flag3687 when feature flag is disabled globally3688 is expected to be falsey3689 when feature flag is enabled globally3690 is expected to be truthy3691 when feature flag is enabled for the root group3692 is expected to be truthy3693 when feature flag is enabled for the group3694 is expected to be truthy3695 serialization3696 behaves like blocks unsafe serialization3697 blocks as_json3698 blocks to_json3699 #enqueue_record_project_target_platforms3700 enqueues a Projects::RecordTargetPlatformsWorker3701 when not in gitlab.com3702 behaves like does not enqueue a Projects::RecordTargetPlatformsWorker3703 does not enqueue a Projects::RecordTargetPlatformsWorker3704 #inactive?3705 behaves like returns true if project is inactive3706 storage_size: 1048576, last_activity_at: Tue, 02 May 2023 06:26:37.373101963 UTC +00:00, expected_result: false3707 returns expected result3708 storage_size: 1048576, last_activity_at: Tue, 02 Jun 2020 06:26:37.373519274 UTC +00:00, expected_result: false3709 returns expected result3710 storage_size: 8388608, last_activity_at: Tue, 02 May 2023 06:26:37.373697004 UTC +00:00, expected_result: false3711 returns expected result3712 storage_size: 8388608, last_activity_at: Tue, 02 Jun 2020 06:26:37.373823453 UTC +00:00, expected_result: true3713 returns expected result3714 .inactive3715 returns projects that are inactive3716 #refreshing_build_artifacts_size?3717 when project has no existing refresh record3718 is expected to be falsey3719 when project has existing refresh record3720 and refresh has not yet started3721 is expected to eq false3722 and refresh has started3723 is expected to eq true3724 #group_group_links3725 with group project3726 returns group links of group3727 with personal project3728 returns none3729 #security_training_available?3730 returns false3731 #packages_policy_subject3732 returns wrapper3733 #destroy_deployment_by_id3734 will call fast_destroy_all on a specific deployment by id3735 #can_create_custom_domains?3736 when max custom domain setting is set to 03737 is expected to equal true3738 when max custom domain setting is not set to 03739 is expected to equal false3740 #can_suggest_reviewers?3741 is expected to equal false3742 #suggested_reviewers_available?3743 is expected to equal false3744 .cascading_with_parent_namespace3745 behaves like cascading settings3746 return self value when no parent3747 return self value when unlocked3748 still return self value when locked subgroup3749 still return unlocked value when locked group3750 behaves like cascading settings3751 return self value when no parent3752 return self value when unlocked3753 still return self value when locked subgroup3754 still return unlocked value when locked group3755 behaves like cascading settings3756 return self value when no parent3757 return self value when unlocked3758 still return self value when locked subgroup3759 still return unlocked value when locked group3760 #archived3761 is expected to be falsey3762 is expected to be truthy3763 #resolve_outdated_diff_discussions3764 is expected to be falsey3765 when set explicitly3766 is expected to be truthy3767 #only_allow_merge_if_all_discussions_are_resolved3768 is expected to be falsey3769 when set explicitly3770 is expected to be truthy3771 #remove_source_branch_after_merge3772 is expected to be truthy3773 when set explicitly3774 is expected to be falsey3775 .is_importing3776 returns projects that have import in progress3777 behaves like something that has web-hooks3778 #any_hook_failed?3779 when there are no hooks3780 is expected to eq false3781 when there are hooks3782 is expected to eq false3783 when there is a failed hook3784 is expected to eq true3785 #cache_web_hook_failure3786 when no value is passed3787 stores the return value of #any_hook_failed? and passes it back3788 when a value is passed3789 stores the value and passes it back3790 #get_web_hook_failure3791 when no value is stored3792 is expected to be nil3793 when stored as true3794 is expected to eq true3795 when stored as false3796 is expected to eq false3797 #fetch_web_hook_failure3798 when a value has not been stored3799 calls #any_hook_failed?3800 when a value has been stored3801 does not call #any_hook_failed?3802 deprecated project attributes3803 project_attr: :wiki_enabled, project_method: :wiki_enabled?, project_feature_attr: :wiki_access_level3804 delegates the attributes to project feature3805 sets the default value3806 project_attr: :builds_enabled, project_method: :builds_enabled?, project_feature_attr: :builds_access_level3807 delegates the attributes to project feature3808 sets the default value3809 project_attr: :merge_requests_enabled, project_method: :merge_requests_enabled?, project_feature_attr: :merge_requests_access_level3810 delegates the attributes to project feature3811 sets the default value3812 project_attr: :issues_enabled, project_method: :issues_enabled?, project_feature_attr: :issues_access_level3813 delegates the attributes to project feature3814 sets the default value3815 project_attr: :snippets_enabled, project_method: :snippets_enabled?, project_feature_attr: :snippets_access_level3816 delegates the attributes to project feature3817 sets the default value3818DesignManagement::DesignV432x230Uploader3819 resizes images3820 behaves like builds correct paths3821 #store_dir3822 behaves like matches the method pattern3823 is expected to match /uploads\/-\/system\/design_management\/action\/image_v432x230\//3824 #cache_dir3825 behaves like matches the method pattern3826 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3827 #work_dir3828 behaves like matches the method pattern3829 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3830 #upload_path3831 behaves like matches the method pattern3832 is expected to match /uploads\/-\/system\/design_management\/action\/image_v432x230\//3833 #relative_path3834 is relative (PENDING: Path not set, skipping.)3835 .absolute_path3836 behaves like matches the method pattern3837 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/public\/uploads\/-\/system\/design_management\/action\/image_v432x230\//3838 .base_dir3839 behaves like matches the method pattern3840 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3841 path traversal exploits3842 throws an exception3843 object_store is REMOTE3844 behaves like builds correct paths3845 #store_dir3846 behaves like matches the method pattern3847 is expected to match /design_management\/action\/image_v432x230\//3848 #cache_dir3849 behaves like matches the method pattern3850 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3851 #work_dir3852 behaves like matches the method pattern3853 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3854 #upload_path3855 behaves like matches the method pattern3856 is expected to match /design_management\/action\/image_v432x230\//3857 #relative_path3858 is relative (PENDING: Path not set, skipping.)3859 .absolute_path3860 behaves like matches the method pattern3861 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3862 .base_dir3863 behaves like matches the method pattern3864 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3865 path traversal exploits3866 throws an exception3867 #migrate!3868 behaves like migrates3869 returns corresponding file type3870 does nothing when migrating to the current store3871 migrate to the specified store3872 removes the original file after the migration3873 can access to the original file during migration3874 when migrate! is not occupied by another process3875 executes migrate!3876 executes use_file3877 when migrate! is occupied by another process3878 does not execute migrate!3879 does not execute use_file3880 migration is unsuccessful3881 when the store is not supported3882 does not update the object_store3883 does not delete the original file3884 upon a fog failure3885 does not update the object_store3886 does not delete the original file3887 upon a database failure3888 does not update the object_store3889 does not delete the original file3890 behaves like migrates3891 returns corresponding file type3892 does nothing when migrating to the current store3893 migrate to the specified store3894 removes the original file after the migration3895 can access to the original file during migration3896 when migrate! is not occupied by another process3897 executes migrate!3898 executes use_file3899 when migrate! is occupied by another process3900 does not execute migrate!3901 does not execute use_file3902 migration is unsuccessful3903 when the store is not supported3904 does not update the object_store3905 does not delete the original file3906 upon a fog failure3907 does not update the object_store3908 does not delete the original file3909 upon a database failure3910 does not update the object_store3911 does not delete the original file3912 accept whitelist file content type3913 mime_type: "image/png"3914 behaves like accepted carrierwave upload3915 will accept upload3916 will cache uploaded file3917 mime_type: "image/jpeg"3918 behaves like accepted carrierwave upload3919 will accept upload3920 will cache uploaded file3921 mime_type: "image/bmp"3922 behaves like accepted carrierwave upload3923 will accept upload3924 will cache uploaded file3925 mime_type: "image/gif"3926 behaves like accepted carrierwave upload3927 will accept upload3928 will cache uploaded file3929 upload non-whitelisted file content type3930 behaves like denied carrierwave upload3931 will deny upload3932 upload misnamed non-whitelisted file content type3933 behaves like denied carrierwave upload3934 will deny upload3935Gitlab::Asciidoc3936 without project3937 converts the input using Asciidoctor and default options3938 with asciidoc_opts3939 merges the options with default ones3940 with requested path3941 ignores {docname} when not available3942 sets {docname} for root3943 sets {docname} for just a filename3944 sets {docname} for a directory3945 sets {docname} for a complete path3946 XSS3947 does not convert dangerous link with extra attribute into HTML3948 does not convert dangerous link with unsafe scheme into HTML3949 does not convert dangerous image with onerror into HTML3950asciidoctor: WARNING: <stdin>: line 1: unterminated listing block3951 does not convert dangerous fenced code with inline script into HTML3952 does not allow locked attributes to be overridden3953 images3954 does lazy load and link image3955 does not automatically link image if link is explicitly defined3956 with admonition3957 preserves classes3958 with passthrough3959 removes non heading ids3960 removes non footnote def ids3961 removes non footnote ref ids3962 with footnotes3963 preserves ids and links3964 with section anchors3965 preserves ids and links3966 with xrefs3967 preserves ids3968 with checklist3969 preserves classes3970 with marks3971 preserves classes3972 with fenced block3973 highlights syntax3974 with listing block3975 highlights syntax3976 with stem block3977 does not apply syntax highlighting3978 external links3979 adds the `rel` attribute to the link3980 LaTex code3981 adds class js-render-math to the output3982 outfilesuffix3983 defaults to adoc3984 with mermaid diagrams3985 adds class js-render-mermaid to the output3986 applies subs in diagram block3987 with Kroki enabled3988 converts a graphviz diagram to image3989 does not convert a blockdiag diagram to image3990 does not allow kroki-plantuml-include to be overridden3991 does not allow kroki-server-url to be overridden3992 with Kroki and BlockDiag (additional format) enabled3993 converts a blockdiag diagram to image3994 with project3995 include directive3996 cyclic imports3997 completes successfully3998 with path to non-existing file3999 renders Unresolved directive placeholder4000 with path to a binary file4001 does not read the blob4002 renders Unresolved directive placeholder4003 with path to file in external storage4004 does not read the blob4005 renders Unresolved directive placeholder4006 with a URI that returns 4044007 renders Unresolved directive placeholder4008 with path to a textual file4009 when requested path is a file in the repo4010 the file is specified by absolute path4011 includes content of the file4012 the file is specified by relative path4013 includes content of the file4014 the file is specified by relative path with leading ./4015 includes content of the file4016 the file is specified by relative path to a file up one directory4017 includes content of the file4018 the file is specified by relative path for a file up multiple directories4019 includes content of the file4020 without a commit (only ref)4021 the file is specified by absolute path4022 includes content of the file4023 the file is specified by relative path4024 includes content of the file4025 the file is specified by relative path with leading ./4026 includes content of the file4027 the file is specified by relative path to a file up one directory4028 includes content of the file4029 the file is specified by relative path for a file up multiple directories4030 includes content of the file4031 when requested path is a directory in the repo4032 the file is specified by absolute path4033 includes content of the file4034 the file is specified by relative path4035 includes content of the file4036 the file is specified by relative path with leading ./4037 includes content of the file4038 the file is specified by relative path to a file up one directory4039 includes content of the file4040 the file is specified by relative path for a file up multiple directories4041 includes content of the file4042 without a commit (only ref)4043 the file is specified by absolute path4044 includes content of the file4045 the file is specified by relative path4046 includes content of the file4047 the file is specified by relative path with leading ./4048 includes content of the file4049 the file is specified by relative path to a file up one directory4050 includes content of the file4051 the file is specified by relative path for a file up multiple directories4052 includes content of the file4053 when repository is passed into the context4054 when the file exists4055 is expected to include "<p>Content from wiki</p>"4056 when the file does not exist4057 is expected to include "[ERROR: include::wiki_file.adoc[] - unresolved directive]"4058 the effect of max-includes4059 includes the content of all sources4060 when the document includes more than MAX_INCLUDES4061 includes only the content of the first 2 sources4062 recursive includes with relative paths4063 includes content of the included files recursively4064Gitlab::Auth::OAuth::User4065 .find_by_uid_and_provider4066 retrieves the correct user4067 #persisted?4068 finds an existing user based on uid and provider (facebook)4069 returns false if user is not found in database4070 #save4071 when account exists on server4072 does not mark the user as external4073 signup4074 marks user as having password_automatically_set4075 when signup is disabled4076 creates the user4077 does not repeat the default user password4078 has the password length within specified range4079 when user confirmation email is enabled4080 creates and confirms the user anyway4081 when the current minimum password length is different from the default minimum password length4082 creates the user4083 with auto_link_user disabled (default)4084 provider is marked as external4085 marks user as external4086 provider was external, now has been removed4087 does not mark external user as internal4088 provider is not external4089 when adding a new OAuth identity4090 does not promote an external user to internal4091 with new allow_single_sign_on enabled syntax4092 creates a user from Omniauth4093 with old allow_single_sign_on enabled syntax4094 creates a user from Omniauth4095 with new allow_single_sign_on disabled syntax4096 throws an error4097 with old allow_single_sign_on disabled (Default)4098 throws an error4099 with auto_link_user enabled for a different provider4100 and a current GitLab user with a matching email4101 adds the OmniAuth identity to the GitLab user account4102 and no current GitLab user with a matching email4103 provider is marked as external4104 marks user as external4105 provider was external, now has been removed4106 does not mark external user as internal4107 provider is not external4108 when adding a new OAuth identity4109 does not promote an external user to internal4110 with new allow_single_sign_on enabled syntax4111 creates a user from Omniauth4112 with old allow_single_sign_on enabled syntax4113 creates a user from Omniauth4114 with new allow_single_sign_on disabled syntax4115 throws an error4116 with old allow_single_sign_on disabled (Default)4117 throws an error4118 with auto_link_user enabled for the correct provider4119 and a current GitLab user with a matching email4120 adds the OmniAuth identity to the GitLab user account4121 and no current GitLab user with a matching email4122 provider is marked as external4123 marks user as external4124 provider was external, now has been removed4125 does not mark external user as internal4126 provider is not external4127 when adding a new OAuth identity4128 does not promote an external user to internal4129 with new allow_single_sign_on enabled syntax4130 creates a user from Omniauth4131 with old allow_single_sign_on enabled syntax4132 creates a user from Omniauth4133 with new allow_single_sign_on disabled syntax4134 throws an error4135 with old allow_single_sign_on disabled (Default)4136 throws an error4137 with auto_link_user enabled for all providers4138 and a current GitLab user with a matching email4139 adds the OmniAuth identity to the GitLab user account4140 and no current GitLab user with a matching email4141 provider is marked as external4142 marks user as external4143 provider was external, now has been removed4144 does not mark external user as internal4145 provider is not external4146 when adding a new OAuth identity4147 does not promote an external user to internal4148 with new allow_single_sign_on enabled syntax4149 creates a user from Omniauth4150 with old allow_single_sign_on enabled syntax4151 creates a user from Omniauth4152 with new allow_single_sign_on disabled syntax4153 throws an error4154 with old allow_single_sign_on disabled (Default)4155 throws an error4156 with auto_link_ldap_user disabled (default)4157 provider is marked as external4158 marks user as external4159 provider was external, now has been removed4160 does not mark external user as internal4161 provider is not external4162 when adding a new OAuth identity4163 does not promote an external user to internal4164 with new allow_single_sign_on enabled syntax4165 creates a user from Omniauth4166 with old allow_single_sign_on enabled syntax4167 creates a user from Omniauth4168 with new allow_single_sign_on disabled syntax4169 throws an error4170 with old allow_single_sign_on disabled (Default)4171 throws an error4172 and other providers4173 when sync_name is disabled4174 updates the gl_user name4175 when sync_name is enabled4176 updates the gl_user name4177 with auto_link_ldap_user enabled4178 and no LDAP provider defined4179 provider is marked as external4180 marks user as external4181 provider was external, now has been removed4182 does not mark external user as internal4183 provider is not external4184 when adding a new OAuth identity4185 does not promote an external user to internal4186 with new allow_single_sign_on enabled syntax4187 creates a user from Omniauth4188 with old allow_single_sign_on enabled syntax4189 creates a user from Omniauth4190 with new allow_single_sign_on disabled syntax4191 throws an error4192 with old allow_single_sign_on disabled (Default)4193 throws an error4194 and at least one LDAP provider is defined4195 and a corresponding LDAP person4196 and no account for the LDAP user4197 when the LDAP user is found by UID4198 does not repeat the default user password4199 creates a user with dual LDAP and omniauth identities4200 has name and email set as synced4201 has name and email set as read-only4202 has synced attributes provider set to ldapmain4203 when the LDAP user is found by email address4204 creates the LDAP identity4205 and LDAP user has an account already4206 when sync_name is disabled4207 does not update the user name4208 when sync_name is enabled4209 updates the user name4210 when an LDAP person is not found by uid4211 tries to find an LDAP person by email and adds the omniauth identity to the user4212 when also not found by email4213 tries to find an LDAP person by DN and adds the omniauth identity to the user4214 when there is an LDAP connection error4215 does not save the identity4216 and a corresponding LDAP person with a non-default username4217 and no account for the LDAP user4218 creates a user favoring the LDAP username and strips email domain4219 and no corresponding LDAP person4220 provider is marked as external4221 marks user as external4222 provider was external, now has been removed4223 does not mark external user as internal4224 provider is not external4225 when adding a new OAuth identity4226 does not promote an external user to internal4227 with new allow_single_sign_on enabled syntax4228 creates a user from Omniauth4229 with old allow_single_sign_on enabled syntax4230 creates a user from Omniauth4231 with new allow_single_sign_on disabled syntax4232 throws an error4233 with old allow_single_sign_on disabled (Default)4234 throws an error4235 with both auto_link_user and auto_link_ldap_user enabled4236 and at least one LDAP provider is defined4237 and a corresponding LDAP person4238 and no account for the LDAP user4239 creates a user with dual LDAP and omniauth identities4240 has name and email set as synced4241 has name and email set as read-only4242 has synced attributes provider set to ldapmain4243 and LDAP user has an account already4244 adds the omniauth identity to the LDAP account4245 blocking4246 signup with SAML4247 does not repeat the default user password4248 behaves like being blocked on creation4249 when blocking on creation4250 creates a blocked user4251 when a sign up user cap has been set up but has not been reached yet4252 still creates a blocked user4253 behaves like not being blocked on creation4254 when not blocking on creation4255 creates a non-blocked user4256 signup with omniauth only4257 behaves like being blocked on creation4258 when blocking on creation4259 creates a blocked user4260 when a sign up user cap has been set up but has not been reached yet4261 still creates a blocked user4262 behaves like not being blocked on creation4263 when not blocking on creation4264 creates a non-blocked user4265 signup with linked omniauth and LDAP account4266 and no account for the LDAP user4267 behaves like being blocked on creation4268 when blocking on creation4269 creates a blocked user4270 when a sign up user cap has been set up but has not been reached yet4271 still creates a blocked user4272 behaves like not being blocked on creation4273 when not blocking on creation4274 creates a non-blocked user4275 and LDAP user has an account already4276 behaves like not being blocked on creation4277 when not blocking on creation4278 creates a non-blocked user4279 behaves like not being blocked on creation4280 when not blocking on creation4281 creates a non-blocked user4282 sign-in4283 behaves like not being blocked on creation4284 when not blocking on creation4285 creates a non-blocked user4286 behaves like not being blocked on creation4287 when not blocking on creation4288 creates a non-blocked user4289 behaves like not being blocked on creation4290 when not blocking on creation4291 creates a non-blocked user4292 behaves like not being blocked on creation4293 when not blocking on creation4294 creates a non-blocked user4295 ensure backwards compatibility with sync email from provider option4296 when provider sets an email4297 updates the user email4298 has email set as synced4299 has email set as read-only4300 has synced attributes provider set to my-provider4301 when provider doesn't set an email4302 does not update the user email4303 has email set as not synced4304 does not have email set as read-only4305 generating username4306 when no collision with existing user4307 generates the username with no counter4308 when collision with existing user4309 generates the username with a counter4310 when username is a reserved word4311 generates the username with a counter4312 updating email with sync profile4313 when provider sets an email4314 updates the user email4315 has email set as synced4316 has email set as read-only4317 has synced attributes provider set to my-provider4318 when provider doesn't set an email4319 does not update the user email4320 has email set as not synced4321 does not have email set as read-only4322 updating name4323 when provider sets a name4324 updates the user name4325 when provider doesn't set a name4326 does not update the user name4327 updating location4328 when provider sets a location4329 updates the user location4330 when provider doesn't set a location4331 does not update the user location4332 updating user info4333 update all info4334 updates the user email4335 updates the user name4336 updates the user location4337 sets my-provider as the attributes provider4338 update only requested info4339 updates the user name4340 updates the user location4341 does not update the user email4342 update default_scope4343 updates the user email4344 update no info when profile sync is nil4345 does not have sync_attribute4346 does not update the user email4347 does not update the user name4348 does not update the user location4349 does not create associated user synced attributes metadata4350 when gl_user is nil4351 does not raise NoMethodError4352 ._uid_and_provider4353 normalizes extern_uid4354 #find_ldap_person4355 when LDAP connection fails4356 returns nil4357 #bypass_two_factor?4358 when with allow_bypass_two_factor disabled (Default)4359 when with allow_bypass_two_factor enabled4360 when provider in allow_bypass_two_factor array4361 when provider not in allow_bypass_two_factor array4362 #protocol_name4363 is OAuth4364BroadcastMessage4365 # order random4366 is expected to be valid4367 .current_banner_messages4368 only returns banners4369 behaves like time constrainted4370 returns message if time match4371 returns multiple messages if time match4372 returns empty list if time not come4373 returns empty list if time has passed4374 behaves like message cache4375 caches the output of the query for two weeks4376 expires the value if a broadcast message has ended4377 does not create new records4378 includes messages that need to be displayed in the future4379 does not clear the cache if only a future message should be displayed4380 behaves like matches with current path4381 returns message if it matches the target path4382 returns message if part of the target path matches4383 returns message if provided a path without a preceding slash4384 returns the message for empty target path4385 returns the message if target path is nil4386 does not return message if target path does not match4387 does not return message if target path does not match when using wildcard4388 does not return message if target path has no wild card at the end4389 does not return message if target path has wild card at the end4390 does return message if target path has wild card at the beginning and the end4391 does not return message if the target path is set but no current path is provided4392 behaves like matches with user access level4393 when target_access_levels is empty4394 returns the message if user access level is not nil4395 returns the message if user access level is nil4396 when target_access_levels is not empty4397 does not return the message if user access level is nil4398 returns the message if user access level is in target_access_levels4399 does not return the message if user access level is not in target_access_levels4400 behaves like handles stale cache data gracefully4401 when cache returns stale data (e.g. nil target_access_levels)4402 does not raise error (e.g. NoMethodError from nil.empty?)4403 when message is from cache4404 behaves like matches with current path4405 returns message if it matches the target path4406 returns message if part of the target path matches4407 returns message if provided a path without a preceding slash4408 returns the message for empty target path4409 returns the message if target path is nil4410 does not return message if target path does not match4411 does not return message if target path does not match when using wildcard4412 does not return message if target path has no wild card at the end4413 does not return message if target path has wild card at the end4414 does return message if target path has wild card at the beginning and the end4415 does not return message if the target path is set but no current path is provided4416 behaves like matches with user access level4417 when target_access_levels is empty4418 returns the message if user access level is not nil4419 returns the message if user access level is nil4420 when target_access_levels is not empty4421 does not return the message if user access level is nil4422 returns the message if user access level is in target_access_levels4423 does not return the message if user access level is not in target_access_levels4424 #flush_redis_cache4425 flushes the Redis cache4426 #ended?4427 is truthy when ends_at has passed4428 is falsey when ends_at is in the future4429 #attributes4430 includes message_html field4431 .current_notification_messages4432 only returns notifications4433 behaves like time constrainted4434 returns message if time match4435 returns multiple messages if time match4436 returns empty list if time not come4437 returns empty list if time has passed4438 behaves like message cache4439 caches the output of the query for two weeks4440 expires the value if a broadcast message has ended4441 does not create new records4442 includes messages that need to be displayed in the future4443 does not clear the cache if only a future message should be displayed4444 behaves like matches with current path4445 returns message if it matches the target path4446 returns message if part of the target path matches4447 returns message if provided a path without a preceding slash4448 returns the message for empty target path4449 returns the message if target path is nil4450 does not return message if target path does not match4451 does not return message if target path does not match when using wildcard4452 does not return message if target path has no wild card at the end4453 does not return message if target path has wild card at the end4454 does return message if target path has wild card at the beginning and the end4455 does not return message if the target path is set but no current path is provided4456 behaves like matches with user access level4457 when target_access_levels is empty4458 returns the message if user access level is not nil4459 returns the message if user access level is nil4460 when target_access_levels is not empty4461 does not return the message if user access level is nil4462 returns the message if user access level is in target_access_levels4463 does not return the message if user access level is not in target_access_levels4464 behaves like handles stale cache data gracefully4465 when cache returns stale data (e.g. nil target_access_levels)4466 does not raise error (e.g. NoMethodError from nil.empty?)4467 when message is from cache4468 behaves like matches with current path4469 returns message if it matches the target path4470 returns message if part of the target path matches4471 returns message if provided a path without a preceding slash4472 returns the message for empty target path4473 returns the message if target path is nil4474 does not return message if target path does not match4475 does not return message if target path does not match when using wildcard4476 does not return message if target path has no wild card at the end4477 does not return message if target path has wild card at the end4478 does return message if target path has wild card at the beginning and the end4479 does not return message if the target path is set but no current path is provided4480 behaves like matches with user access level4481 when target_access_levels is empty4482 returns the message if user access level is not nil4483 returns the message if user access level is nil4484 when target_access_levels is not empty4485 does not return the message if user access level is nil4486 returns the message if user access level is in target_access_levels4487 does not return the message if user access level is not in target_access_levels4488 #started?4489 is truthy when starts_at has passed4490 is falsey when starts_at is in the future4491 .current4492 returns both types4493 behaves like time constrainted4494 returns message if time match4495 returns multiple messages if time match4496 returns empty list if time not come4497 returns empty list if time has passed4498 behaves like message cache4499 caches the output of the query for two weeks4500 expires the value if a broadcast message has ended4501 does not create new records4502 includes messages that need to be displayed in the future4503 does not clear the cache if only a future message should be displayed4504 behaves like matches with current path4505 returns message if it matches the target path4506 returns message if part of the target path matches4507 returns message if provided a path without a preceding slash4508 returns the message for empty target path4509 returns the message if target path is nil4510 does not return message if target path does not match4511 does not return message if target path does not match when using wildcard4512 does not return message if target path has no wild card at the end4513 does not return message if target path has wild card at the end4514 does return message if target path has wild card at the beginning and the end4515 does not return message if the target path is set but no current path is provided4516 behaves like matches with user access level4517 when target_access_levels is empty4518 returns the message if user access level is not nil4519 returns the message if user access level is nil4520 when target_access_levels is not empty4521 does not return the message if user access level is nil4522 returns the message if user access level is in target_access_levels4523 does not return the message if user access level is not in target_access_levels4524 behaves like handles stale cache data gracefully4525 when cache returns stale data (e.g. nil target_access_levels)4526 does not raise error (e.g. NoMethodError from nil.empty?)4527 when message is from cache4528 behaves like matches with current path4529 returns message if it matches the target path4530 returns message if part of the target path matches4531 returns message if provided a path without a preceding slash4532 returns the message for empty target path4533 returns the message if target path is nil4534 does not return message if target path does not match4535 does not return message if target path does not match when using wildcard4536 does not return message if target path has no wild card at the end4537 does not return message if target path has wild card at the end4538 does return message if target path has wild card at the beginning and the end4539 does not return message if the target path is set but no current path is provided4540 behaves like matches with user access level4541 when target_access_levels is empty4542 returns the message if user access level is not nil4543 returns the message if user access level is nil4544 when target_access_levels is not empty4545 does not return the message if user access level is nil4546 returns the message if user access level is in target_access_levels4547 does not return the message if user access level is not in target_access_levels4548 behaves like matches with current path4549 returns message if it matches the target path4550 returns message if part of the target path matches4551 returns message if provided a path without a preceding slash4552 returns the message for empty target path4553 returns the message if target path is nil4554 does not return message if target path does not match4555 does not return message if target path does not match when using wildcard4556 does not return message if target path has no wild card at the end4557 does not return message if target path has wild card at the end4558 does return message if target path has wild card at the beginning and the end4559 does not return message if the target path is set but no current path is provided4560 behaves like matches with user access level4561 when target_access_levels is empty4562 returns the message if user access level is not nil4563 returns the message if user access level is nil4564 when target_access_levels is not empty4565 does not return the message if user access level is nil4566 returns the message if user access level is in target_access_levels4567 does not return the message if user access level is not in target_access_levels4568 default values4569 is expected to eq "#E75E40"4570 is expected to eq "#FFFFFF"4571 validations4572 is expected to allow :color to be ‹nil›4573 is expected to allow :color to be ‹"#000"›4574 is expected to allow :color to be ‹"#AABBCC"›4575 is expected not to allow :color to be ‹"000"›4576 is expected to allow :font to be ‹nil›4577 is expected to allow :font to be ‹"#000"›4578 is expected to allow :font to be ‹"#AABBCC"›4579 is expected not to allow :font to be ‹"000"›4580 is expected to allow :broadcast_type to be ‹1›4581 is expected not to allow :broadcast_type to be ‹nil›4582 is expected not to allow :target_access_levels to be ‹nil›4583 is expected to validate that :target_access_levels is either ‹10›, ‹20›, ‹30›, ‹40›, or ‹50›4584 #active?4585 is truthy when started and not ended4586 is falsey when ended4587 is falsey when not started4588Gitlab::SSHPublicKey4589 .technology(name)4590 returns nil for an unrecognised name4591 name: :rsa4592 is expected to eq :rsa4593 is expected to eq :rsa4594 name: :dsa4595 is expected to eq :dsa4596 is expected to eq :dsa4597 name: :ecdsa4598 is expected to eq :ecdsa4599 is expected to eq :ecdsa4600 name: :ed255194601 is expected to eq :ed255194602 is expected to eq :ed255194603 name: :ecdsa_sk4604 is expected to eq :ecdsa_sk4605 is expected to eq :ecdsa_sk4606 name: :ed25519_sk4607 is expected to eq :ed25519_sk4608 is expected to eq :ed25519_sk4609 FIPS mode4610 name: :rsa4611 is expected to eq :rsa4612 is expected to eq :rsa4613 name: :ecdsa4614 is expected to eq :ecdsa4615 is expected to eq :ecdsa4616 name: :ed255194617 is expected to eq :ed255194618 is expected to eq :ed255194619 name: :ecdsa_sk4620 is expected to eq :ecdsa_sk4621 is expected to eq :ecdsa_sk4622 name: :ed25519_sk4623 is expected to eq :ed25519_sk4624 is expected to eq :ed25519_sk4625 .supported_types4626 returns array with the names of supported technologies4627 FIPS mode4628 returns array with the names of supported technologies4629 .supported_sizes(name)4630 name: :rsa, sizes: [1024, 2048, 3072, 4096]4631 is expected to eq [1024, 2048, 3072, 4096]4632 is expected to eq [1024, 2048, 3072, 4096]4633 name: :dsa, sizes: [1024, 2048, 3072]4634 is expected to eq [1024, 2048, 3072]4635 is expected to eq [1024, 2048, 3072]4636 name: :ecdsa, sizes: [256, 384, 521]4637 is expected to eq [256, 384, 521]4638 is expected to eq [256, 384, 521]4639 name: :ed25519, sizes: [256]4640 is expected to eq [256]4641 is expected to eq [256]4642 name: :ecdsa_sk, sizes: [256]4643 is expected to eq [256]4644 is expected to eq [256]4645 name: :ed25519_sk, sizes: [256]4646 is expected to eq [256]4647 is expected to eq [256]4648 FIPS mode4649 name: :rsa, sizes: [3072, 4096]4650 is expected to eq [3072, 4096]4651 is expected to eq [3072, 4096]4652 name: :dsa, sizes: []4653 is expected to eq []4654 is expected to eq []4655 name: :ecdsa, sizes: [256, 384, 521]4656 is expected to eq [256, 384, 521]4657 is expected to eq [256, 384, 521]4658 name: :ed25519, sizes: [256]4659 is expected to eq [256]4660 is expected to eq [256]4661 name: :ecdsa_sk, sizes: [256]4662 is expected to eq [256]4663 is expected to eq [256]4664 name: :ed25519_sk, sizes: [256]4665 is expected to eq [256]4666 is expected to eq [256]4667 .supported_algorithms4668 returns all supported algorithms4669 FIPS mode4670 returns all supported algorithms4671 .supported_algorithms_for_name4672 name: :rsa, algorithms: ["ssh-rsa"]4673 returns all supported algorithms for rsa4674 name: :dsa, algorithms: ["ssh-dss"]4675 returns all supported algorithms for dsa4676 name: :ecdsa, algorithms: ["ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521"]4677 returns all supported algorithms for ecdsa4678 name: :ed25519, algorithms: ["ssh-ed25519"]4679 returns all supported algorithms for ed255194680 name: :ecdsa_sk, algorithms: ["sk-ecdsa-sha2-nistp256@openssh.com"]4681 returns all supported algorithms for ecdsa_sk4682 name: :ed25519_sk, algorithms: ["sk-ssh-ed25519@openssh.com"]4683 returns all supported algorithms for ed25519_sk4684 FIPS mode4685 name: :rsa, algorithms: ["ssh-rsa"]4686 returns all supported algorithms for rsa4687 name: :dsa, algorithms: ["ssh-dss"]4688 returns all supported algorithms for dsa4689 name: :ecdsa, algorithms: ["ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521"]4690 returns all supported algorithms for ecdsa4691 name: :ed25519, algorithms: ["ssh-ed25519"]4692 returns all supported algorithms for ed255194693 name: :ecdsa_sk, algorithms: ["sk-ecdsa-sha2-nistp256@openssh.com"]4694 returns all supported algorithms for ecdsa_sk4695 name: :ed25519_sk, algorithms: ["sk-ssh-ed25519@openssh.com"]4696 returns all supported algorithms for ed25519_sk4697 .sanitize(key_content)4698 when key has blank space characters4699 removes the extra blank space characters4700 when key doesn't have blank space characters4701 doesn't modify the content4702 when key is invalid4703 returns the original content4704 #valid?4705 with a valid SSH key4706 factory: :rsa_key_20484707 is expected to be valid4708 when key begins with options4709 is expected to be valid4710 when key is in known_hosts format4711 when key begins with 'example.com'4712 is expected to be valid4713 when key begins with '@revoked other.example.com'4714 is expected to be valid4715 factory: :rsa_key_40964716 is expected to be valid4717 when key begins with options4718 is expected to be valid4719 when key is in known_hosts format4720 when key begins with 'example.com'4721 is expected to be valid4722 when key begins with '@revoked other.example.com'4723 is expected to be valid4724 factory: :rsa_key_51204725 is expected to be valid4726 when key begins with options4727 is expected to be valid4728 when key is in known_hosts format4729 when key begins with 'example.com'4730 is expected to be valid4731 when key begins with '@revoked other.example.com'4732 is expected to be valid4733 factory: :rsa_key_81924734 is expected to be valid4735 when key begins with options4736 is expected to be valid4737 when key is in known_hosts format4738 when key begins with 'example.com'4739 is expected to be valid4740 when key begins with '@revoked other.example.com'4741 is expected to be valid4742 factory: :dsa_key_20484743 is expected to be valid4744 when key begins with options4745 is expected to be valid4746 when key is in known_hosts format4747 when key begins with 'example.com'4748 is expected to be valid4749 when key begins with '@revoked other.example.com'4750 is expected to be valid4751 factory: :ecdsa_key_2564752 is expected to be valid4753 when key begins with options4754 is expected to be valid4755 when key is in known_hosts format4756 when key begins with 'example.com'4757 is expected to be valid4758 when key begins with '@revoked other.example.com'4759 is expected to be valid4760 factory: :ed25519_key_2564761 is expected to be valid4762 when key begins with options4763 is expected to be valid4764 when key is in known_hosts format4765 when key begins with 'example.com'4766 is expected to be valid4767 when key begins with '@revoked other.example.com'4768 is expected to be valid4769 factory: :ecdsa_sk_key_2564770 is expected to be valid4771 when key begins with options4772 is expected to be valid4773 when key is in known_hosts format4774 when key begins with 'example.com'4775 is expected to be valid4776 when key begins with '@revoked other.example.com'4777 is expected to be valid4778 factory: :ed25519_sk_key_2564779 is expected to be valid4780 when key begins with options4781 is expected to be valid4782 when key is in known_hosts format4783 when key begins with 'example.com'4784 is expected to be valid4785 when key begins with '@revoked other.example.com'4786 is expected to be valid4787 with an invalid SSH key4788 is expected not to be valid4789 when an unsupported SSH key algorithm4790 is expected not to be valid4791 #type4792 factory: :rsa_key_2048, type: :rsa4793 is expected to eq :rsa4794 factory: :dsa_key_2048, type: :dsa4795 is expected to eq :dsa4796 factory: :ecdsa_key_256, type: :ecdsa4797 is expected to eq :ecdsa4798 factory: :ed25519_key_256, type: :ed255194799 is expected to eq :ed255194800 factory: :ecdsa_sk_key_256, type: :ecdsa_sk4801 is expected to eq :ecdsa_sk4802 factory: :ed25519_sk_key_256, type: :ed25519_sk4803 is expected to eq :ed25519_sk4804 with an invalid SSH key4805 is expected to be nil4806 when the key is represented by a class that is not in the list of supported technologies4807 raises error4808 when the key is represented by a subclass of the class that is in the list of supported technologies4809 raises error4810 #bits4811 factory: :rsa_key_2048, bits: 20484812 is expected to eq 20484813 factory: :rsa_key_4096, bits: 40964814 is expected to eq 40964815 factory: :rsa_key_5120, bits: 51204816 is expected to eq 51204817 factory: :rsa_key_8192, bits: 81924818 is expected to eq 81924819 factory: :dsa_key_2048, bits: 20484820 is expected to eq 20484821 factory: :ecdsa_key_256, bits: 2564822 is expected to eq 2564823 factory: :ed25519_key_256, bits: 2564824 is expected to eq 2564825 factory: :ecdsa_sk_key_256, bits: 2564826 is expected to eq 2564827 factory: :ed25519_sk_key_256, bits: 2564828 is expected to eq 2564829 with an invalid SSH key4830 is expected to be nil4831 when the key is represented by a class that is not in the list of supported technologies4832 raises error4833 when the key is represented by a subclass of the class that is in the list of supported technologies4834 raises error4835 #banned?4836 key: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAwRIdDlHaIqZXND/l1vFT7ue3rc/DvXh2yx5EFtuxGQRHVxGMazDhV4vj5ANGXDQwUYI0iZh6aOVrDy8I/y9/y+YDGCvsnqrDbuPDjW26s2bBXWgUPiC93T3TA6L2KOxhVcl7mljEOIYACRHPpJNYVGhinCxDUH9LxMrdNXgP5Ok= mateidu@localhost"4837 is expected to equal true4838 key: "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBnZQ+6nhlPX/JnX5i5hXpljJ89bSnnrsSs51hSPuoJGmoKowBddISK7s10AIpO0xAWGcr8PUr2FOjEBbDHqlRxoXF0Ocms9xv3ql9EYUQ5+U+M6BymWhNTFPOs6gFHUl8Bw3t6c+SRKBpfRFB0yzBj9d093gSdfTAFoz+yLo4vRw=="4839 is expected to equal true4840 key: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAvIhC5skTzxyHif/7iy3yhxuK6/OB13hjPqrskogkYFrcW8OK4VJT+5+Fx7wd4sQCnVn8rNqahw/x6sfcOMDI/Xvn4yKU4t8TnYf2MpUVr4ndz39L5Ds1n7Si1m2suUNxWbKv58I8+NMhlt2ITraSuTU0NGymWOc8+LNi+MHXdLk= SCCP Superuser"4841 is expected to equal true4842 key: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key"4843 is expected to equal true4844 key: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAwRIdDlHaIqZXND/l1vFT7ue3rc/DvXh2yx5EFtuxGQRHVxGMazDhV4vj5ANGXDQwUYI0iZh6aOVrDy8I/y9/y+YDGCvsnqrDbuPDjW26s2bBXWgUPiC93T3TA6L2KOxhVcl7mljEOIYACRHPpJNYVGhinCxDUH9LxMrdNXgP5Ok= mateidu@localhost"4845 is expected to equal true4846 key: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAn8LoId2N5i28cNKuEWWea3yt0I/LdT/NROrF44WZewtxch+DIwteQhM1qL6EKUSqz3Q2geX1crpOsNnyh67xy5lNo086u/QewOCSRAUGrQCXqFQ4JU8ny/qugWALQHjbIaPHj/3zMK09r4cpTSeAU7CW5nQyTKGmh7v9CAfWfcs= adam@localhost.localdomain"4847 is expected to equal true4848 key: "ssh-dss AAAAB3NzaC1kc3MAAACBAJTDsX+8olPZeyr58g9XE0L8PKT5030NZBPlE7np4hBqx36HoWarWq1Csn8M57dWN9StKbs03k2ggY6sYJK5AW2EWar70um3pYjKQHiZq7mITmitsozFN/K7wu2e2iKRgquUwH5SuYoOJ29n7uhaILXiKZP4/H/dDudqPRSY6tJPAAAAFQDtuWH90mDbU2L/Ms2lfl/cja/wHwAAAIAMBwSHZt2ysOHCFe1WLUvdwVDHUqk3QHTskuuAnMlwMtSvCaUxSatdHahsMZ9VCHjoQUx6j+TcgRLDbMlRLnwUlb6wpniehLBFk+qakGcREqks5NxYzFTJXwROzP72jPvVgQyOZHWq81gCild/ljL7hmrduCqYwxDIz4o7U92UKQAAAIBmhSl9CVPgVMv1xO8DAHVhM1huIIK8mNFrzMJz+JXzBx81ms1kWSeQOC/nraaXFTBlqiQsvB8tzr4xZdbaI/QzVLKNAF5C8BJ4ScNlTIx1aZJwyMil8Nzb+0YAsw5Ja+bEZZvEVlAYnd10qRWrPeEY1txLMmX3wDa+JvJL7fmuBg=="4849 is expected to equal true4850 key: "ssh-dss AAAAB3NzaC1kc3MAAACBAMq5EcIFdfCjJakyQnP/BBp9oc6mpaZVguf0Znp5C40twiG1lASQJZlM1qOB/hkBWYeBCHUkcOLEnVXSZzB62L+W/LGKodqnsiQPRr57AA6jPc6mNBnejHai8cSdAl9n/0s2IQjdcrxM8CPq2uEyfm0J3AV6Lrbbxr5NgE5xxM+DAAAAFQCmFk/M7Rx2jexsJ9COpHkHwUjcNQAAAIAdg18oByp/tjjDKhWhmmv+HbVIROkRqSxBvuEZEmcWlg38mLIT1bydfpSou/V4rI5ctxwCfJ1rRr66pw6GwCrz4fXmyVlhrj7TrktyQ9+zRXhynF4wdNPWErhNHb8tGlSOFiOBcUTlouX3V/ka6Dkd6ZQrZLQFaH+gjfyTZZ82HQAAAIEArsJgp7RLPOsCeLqoia/eljseBFVDazO5Q0ysUotTw9wgXGGVWREwm8wNggFNb9eCiBAAUfVZVfhVAtFT0pBf/eIVLPXyaMw3prBt7LqeBrbagODc3WAAdMTPIdYYcOKgv+YvTXa51zG64v6pQOfS8WXgKCzDl44puXfYeDk5lVQ="4851 is expected to equal true4852 key: "ssh-dss AAAAB3NzaC1kc3MAAACBAKwKBw7D4OA1H/uD4htdh04TBIHdbSjeXUSnWJsce8C0tvoB01Yarjv9TFj+tfeDYVWtUK1DA1JkyqSuoAtDANJzF4I6Isyd0KPrW3dHFTcg6Xlz8d3KEaHokY93NOmB/xWEkhme8b7Q0U2iZie2pgWbTLXV0FA+lhskTtPHW3+VAAAAFQDRyayUlVZKXEweF3bUe03zt9e8VQAAAIAEPK1k3Y6ErAbIl96dnUCnZjuWQ7xXy062pf63QuRWI6LYSscm3f1pEknWUNFr/erQ02pkfi2eP9uHl1TI1ql+UmJX3g3frfssLNZwWXAW0m8PbY3HZSs+f5hevM3ua32pnKDmbQ2WpvKNyycKHi81hSI14xMcdblJolhN5iY8/wAAAIAjEe5+0m/TlBtVkqQbUit+s/g+eB+PFQ+raaQdL1uztW3etntXAPH1MjxsAC/vthWYSTYXORkDFMhrO5ssE2rfg9io0NDyTIZt+VRQMGdi++dH8ptU+ldl2ZejLFdTJFwFgcfXz+iQ1mx6h9TPX1crE1KoMAVOj3yKVfKpLB1EkA== root@lbslave"4853 is expected to equal true4854 key: "ssh-dss AAAAB3NzaC1kc3MAAACBAN3AITryJMQyOKZjAky+mQ/8pOHIlu4q8pzmR0qotKaLm2yye5a0PY2rOaQRAzi7EPheBXbqTb8a8TrHhGXI5P7GUHaJho5HhEnw+5TwAvP72L7LcPwxMxj/rLcR/jV+uLMsVeJVWjwJcUv83yzPXoVjK0hrIm+RLLeuTM+gTylHAAAAFQD5gBdXsXAiTz1atzMg3xDFF1zlowAAAIAlLy6TCMlOBM0IcPsvP/9bEjDj0M8YZazdqt4amO2IaNUPYt9/sIsLOQfxIj8myDK1TOp8NyRJep7V5aICG4f3Q+XktlmLzdWn3sjvbWuIAXe1opjG2T69YhxfHZr8Wn7P4tpCgyqM4uHmUKrfnBzQQ9vkUUWsZoUXM2Z7vUXVfQAAAIAU6eNlphQWDwx0KOBiiYhF9BM6kDbQlyw8333rAG3G4CcjI2G8eYGtpBNliaD185UjCEsjPiudhGil/j4Zt/+VY3aGOLoi8kqXBBc8ZAML9bbkXpyhQhMgwiywx3ciFmvSn2UAin8yurStYPQxtXauZN5PYbdwCHPS7ApIStdpMA== wood@endec1"4855 is expected to equal true4856 key: "ssh-dss AAAAB3NzaC1kc3MAAACBAISAE3CAX4hsxTw0dRc0gx8nQ41r3Vkj9OmG6LGeKWRmpy7C6vaExuupjxid76fd4aS56lCUEEoRlJ3zE93qoK9acI6EGqGQFLuDZ0fqMyRSX+ilf+1HDo/TRyuraggxp9Hj9LMpZVbpFATMm0+d9Xs7eLmaJjuMsowNlOf8NFdHAAAAFQCwdvqOAkR6QhuiAapQ/9iVuR0UAQAAAIBpLMo4dhSeWkChfv659WLPftxRrX/HR8YMD/jqa3R4PsVM2g6dQ1191nHugtdV7uaMeOqOJ/QRWeYM+UYwT0Zgx2LqvgVSjNDfdjk+ZRY8x3SmExFi62mKFoTGSOCXfcAfuanjaoF+sepnaiLUd+SoJShGYHoqR2QWiysTRqknlwAAAIBLEgYmr9XCSqjENFDVQPFELYKT7Zs9J87PjPS1AP0qF1OoRGZ5mefK6X/6VivPAUWmmmev/BuAs8M1HtfGeGGzMzDIiU/WZQ3bScLB1Ykrcjk7TOFD6xrnk/inYAp5l29hjidoAONcXoHmUAMYOKqn63Q2AsDpExVcmfj99/BlpQ=="4857 is expected to equal true4858 with a valid SSH key4859 is expected to equal false4860 with an invalid SSH key4861 is expected to equal false4862 #fingerprint4863 factory: :rsa_key_2048, fingerprint: "58:a8:9d:cd:1f:70:f8:5a:d9:e4:24:8e:da:89:e4:fc"4864 is expected to eq "58:a8:9d:cd:1f:70:f8:5a:d9:e4:24:8e:da:89:e4:fc"4865 factory: :rsa_key_4096, fingerprint: "df:73:db:29:3c:a5:32:cf:09:17:7e:8e:9d:de:d7:f7"4866 is expected to eq "df:73:db:29:3c:a5:32:cf:09:17:7e:8e:9d:de:d7:f7"4867 factory: :rsa_key_5120, fingerprint: "fe:fa:3a:4d:7d:51:ec:bf:c7:64:0c:96:d0:17:8a:d0"4868 is expected to eq "fe:fa:3a:4d:7d:51:ec:bf:c7:64:0c:96:d0:17:8a:d0"4869 factory: :rsa_key_8192, fingerprint: "fb:53:7f:e9:2f:f7:17:aa:c8:32:52:06:8e:05:e2:82"4870 is expected to eq "fb:53:7f:e9:2f:f7:17:aa:c8:32:52:06:8e:05:e2:82"4871 factory: :dsa_key_2048, fingerprint: "c8:85:1e:df:44:0f:20:00:3c:66:57:2b:21:10:5a:27"4872 is expected to eq "c8:85:1e:df:44:0f:20:00:3c:66:57:2b:21:10:5a:27"4873 factory: :ecdsa_key_256, fingerprint: "67:a3:a9:7d:b8:e1:15:d4:80:40:21:34:bb:ed:97:38"4874 is expected to eq "67:a3:a9:7d:b8:e1:15:d4:80:40:21:34:bb:ed:97:38"4875 factory: :ed25519_key_256, fingerprint: "e6:eb:45:8a:3c:59:35:5f:e9:5b:80:12:be:7e:22:73"4876 is expected to eq "e6:eb:45:8a:3c:59:35:5f:e9:5b:80:12:be:7e:22:73"4877 factory: :ecdsa_sk_key_256, fingerprint: "56:b9:bc:99:3d:2f:cf:63:6b:70:d8:f9:40:7e:09:4c"4878 is expected to eq "56:b9:bc:99:3d:2f:cf:63:6b:70:d8:f9:40:7e:09:4c"4879 factory: :ed25519_sk_key_256, fingerprint: "f9:a0:64:0b:4b:72:72:0e:62:92:d7:04:14:74:1c:c9"4880 is expected to eq "f9:a0:64:0b:4b:72:72:0e:62:92:d7:04:14:74:1c:c9"4881 with an invalid SSH key4882 is expected to be nil4883 #fingerprint_sha2564884 factory: :rsa_key_2048, fingerprint_sha256: "SHA256:GdtgO0eHbwLB+mK47zblkoXujkqKRZjgMQrHH6Kks3E"4885 is expected to eq "SHA256:GdtgO0eHbwLB+mK47zblkoXujkqKRZjgMQrHH6Kks3E"4886 factory: :rsa_key_4096, fingerprint_sha256: "SHA256:ByDU7hQ1JB95l6p53rHrffc4eXvEtqGUtQhS+Dhyy7g"4887 is expected to eq "SHA256:ByDU7hQ1JB95l6p53rHrffc4eXvEtqGUtQhS+Dhyy7g"4888 factory: :rsa_key_5120, fingerprint_sha256: "SHA256:PCCupLbFHScm4AbEufbGDvhBU27IM0MVAor715qKQK8"4889 is expected to eq "SHA256:PCCupLbFHScm4AbEufbGDvhBU27IM0MVAor715qKQK8"4890 factory: :rsa_key_8192, fingerprint_sha256: "SHA256:CtHFQAS+9Hb8z4vrv4gVQPsHjNN0WIZhWODaB1mQLs4"4891 is expected to eq "SHA256:CtHFQAS+9Hb8z4vrv4gVQPsHjNN0WIZhWODaB1mQLs4"4892 factory: :dsa_key_2048, fingerprint_sha256: "SHA256:+a3DQ7cU5GM+gaYOfmc0VWNnykHQSuth3VRcCpWuYNI"4893 is expected to eq "SHA256:+a3DQ7cU5GM+gaYOfmc0VWNnykHQSuth3VRcCpWuYNI"4894 factory: :ecdsa_key_256, fingerprint_sha256: "SHA256:C+I5k3D+IGeM6k5iBR1ZsphqTKV+7uvL/XZ5hcrTr7g"4895 is expected to eq "SHA256:C+I5k3D+IGeM6k5iBR1ZsphqTKV+7uvL/XZ5hcrTr7g"4896 factory: :ed25519_key_256, fingerprint_sha256: "SHA256:DCKAjzxWrdOTjaGKBBjtCW8qY5++GaiAJflrHPmp6W0"4897 is expected to eq "SHA256:DCKAjzxWrdOTjaGKBBjtCW8qY5++GaiAJflrHPmp6W0"4898 factory: :ecdsa_sk_key_256, fingerprint_sha256: "SHA256:N0sNKBgWKK8usPuPegtgzHQQA9vQ/dRhAEhwFDAnLA4"4899 is expected to eq "SHA256:N0sNKBgWKK8usPuPegtgzHQQA9vQ/dRhAEhwFDAnLA4"4900 factory: :ed25519_sk_key_256, fingerprint_sha256: "SHA256:U8IKRkIHed6vFMTflwweA3HhIf2DWgZ8EFTm9fgwOUk"4901 is expected to eq "SHA256:U8IKRkIHed6vFMTflwweA3HhIf2DWgZ8EFTm9fgwOUk"4902 with an invalid SSH key4903 is expected to be nil4904 #key_text4905 key_value: "this is not a key"4906 carries the unmodified key data4907 key_value: nil4908 carries the unmodified key data4909ResourceMilestoneEvent4910 behaves like a resource event4911 importable4912 is expected to respond to #importing?4913 is expected to respond to #imported?4914 validations4915 is expected not to allow :user to be ‹nil›4916 when importing4917 is expected to allow :user to be ‹nil›4918 associations4919 is expected to belong to user required: false4920 .created_after4921 returns the expected events4922 returns no events if time is after last record time4923 behaves like a resource event for issues4924 associations4925 is expected to belong to issue required: false4926 .by_issue4927 returns the expected records for an issue with events4928 returns the expected records for an issue with no events4929 .by_issue_ids4930 returns the expected events4931 .by_created_at_earlier_or_equal_to4932 returns the expected events4933 returns the expected events4934 #issuable4935 returns the expected issuable4936 behaves like a resource event for merge requests4937 associations4938 is expected to belong to merge_request required: false4939 .by_merge_request4940 returns the expected records for an issue with events4941 returns the expected records for an issue with no events4942 #issuable4943 returns the expected issuable4944 on callbacks4945 does not trigger note created subscription4946 behaves like a note for work item resource event4947 builds synthetic note with correct synthetic_note_class4948 on callbacks4949 triggers note created subscription4950 behaves like having unique enum values4951 has unique values in "action"4952 has unique values in "state"4953 behaves like timebox resource event validations4954 validations4955 when issue and merge_request are both nil4956 is expected not to be valid4957 when issue and merge_request are both set4958 is expected not to be valid4959 when issue is set4960 is expected to be valid4961 when merge_request is set4962 is expected to be valid4963 behaves like timebox resource event states4964 states4965 supports state opened for issue4966 supports state closed for issue4967 supports state opened for merge_request4968 supports state closed for merge_request4969 supports state merged for merge_request4970 supports state locked for merge_request4971 behaves like timebox resource event actions4972 #added?4973 behaves like queryable timebox action resource event4974 is true for action add on issue4975 is false for action remove on issue4976 is true for action add on merge_request4977 is false for action remove on merge_request4978 #removed?4979 behaves like queryable timebox action resource event4980 is false for action add on issue4981 is true for action remove on issue4982 is false for action add on merge_request4983 is true for action remove on merge_request4984 behaves like timebox resource tracks issue metrics4985 #issue_usage_metrics4986 tracks usage for issues4987 does not track usage for merge requests4988 associations4989 is expected to belong to milestone required: false4990 #milestone_title4991 returns the expected title4992 when milestone is nil4993 returns nil4994 #milestone_parent4995 when milestone parent is project4996 returns the expected parent4997 when milestone parent is group4998 returns the expected parent4999 when milestone is nil5000 returns nil5001Gitlab::Auth::AuthFinders5002 #find_user_from_bearer_token5003 when the token is passed as an oauth token5004 behaves like find user from job token5005 when route is allowed to be authenticated5006 for an invalid token5007 returns an Unauthorized exception5008 with a running job5009 return user5010 with a job that is not running5011 returns an Unauthorized exception5012 when route is not allowed to be authenticated5013 with a running job5014 returns an Unauthorized exception5015 with oauth token5016 is expected to eq #<User id:776 @user475>5017 with a personal access token5018 is expected to eq #<User id:776 @user475>5019 #find_user_from_warden5020 with CSRF token5021 with invalid credentials5022 returns nil5023 with valid credentials5024 returns the user5025 without CSRF token5026 returns nil5027 #find_user_from_feed_token5028 when the request format is atom5029 when feed_token param is provided5030 returns user if valid feed_token5031 returns nil if valid feed_token and disabled5032 returns nil if feed_token is blank5033 returns exception if invalid feed_token5034 when rss_token param is provided5035 returns user if valid rss_token5036 returns nil if rss_token is blank5037 returns exception if invalid rss_token5038 when the request format is not atom5039 returns nil5040 when the request format is empty5041 the method call does not modify the original value5042 #find_user_from_static_object_token5043 when request format is archive5044 behaves like static object request5045 when token header param is present5046 when token is correct5047 returns the user5048 when token is incorrect5049 returns the user5050 when token query param is present5051 when token is correct5052 returns the user5053 when token is incorrect5054 returns the user5055 when request format is blob5056 behaves like static object request5057 when token header param is present5058 when token is correct5059 returns the user5060 when token is incorrect5061 returns the user5062 when token query param is present5063 when token is correct5064 returns the user5065 when token is incorrect5066 returns the user5067 when request format is not archive nor blob5068 returns nil5069 #deploy_token_from_request5070 is expected to be nil5071 with deploy token headers5072 with valid deploy token5073 is expected to eq #<DeployToken id: 15, revoked: false, read_repository: true, read_registry: true, expires_at: "2023-0...write_registry: false, read_package_registry: false, write_package_registry: false, creator_id: nil>5074 behaves like an unauthenticated route5075 when route is not allowed to use deploy_tokens5076 is expected to be nil5077 with incorrect token5078 is expected to be nil5079 with oauth headers5080 with valid token5081 is expected to eq #<DeployToken id: 15, revoked: false, read_repository: true, read_registry: true, expires_at: "2023-0...write_registry: false, read_package_registry: false, write_package_registry: false, creator_id: nil>5082 behaves like an unauthenticated route5083 when route is not allowed to use deploy_tokens5084 is expected to be nil5085 with invalid token5086 is expected to be nil5087 with basic auth headers5088 is expected to eq #<DeployToken id: 15, revoked: false, read_repository: true, read_registry: true, expires_at: "2023-0...write_registry: false, read_package_registry: false, write_package_registry: false, creator_id: nil>5089 behaves like an unauthenticated route5090 when route is not allowed to use deploy_tokens5091 is expected to be nil5092 with incorrect token5093 is expected to be nil5094 when the the deploy token is restricted with external_authorization5095 is expected to be nil5096 #find_user_from_access_token5097 returns nil if no access_token present5098 when run for kubernetes internal API endpoint5099 returns nil5100 when validate_access_token! returns valid5101 returns user5102 returns exception if token has no user5103 with OAuth headers5104 with valid personal access token5105 returns user5106 with invalid personal_access_token5107 returns exception5108 when using a non-prefixed access token5109 returns user5110 #find_user_from_web_access_token5111 returns exception if token has no user5112 returns the user for RSS requests5113 returns the user for ICS requests5114 returns the user for ARCHIVE requests5115 returns the user for DOWNLOAD requests5116 no feed, API, archive or download requests5117 returns nil if the request is not RSS5118 returns nil if the request is not ICS5119 returns nil if the request is not API5120 returns nil if the request is not ARCHIVE5121 returns nil if the request is not DOWNLOAD5122 for API requests5123 returns the user5124 returns nil if URL does not start with /api/5125 when the token has read_api scope5126 raises InsufficientScopeError by default5127 finds the user when the read_api scope is passed5128 when relative_url_root is set5129 returns the user5130 #find_personal_access_token5131 returns nil if no personal_access_token5132 returns exception if invalid personal_access_token5133 passed as header5134 returns token if valid personal_access_token5135 passed as param5136 returns token if valid personal_access_token5137 #find_oauth_access_token5138 returns nil if no oauth_access_token5139 passed as header5140 returns token if valid oauth_access_token5141 passed as param5142 returns user if valid oauth_access_token5143 with invalid token5144 returns exception if invalid oauth_access_token5145 #find_personal_access_token_from_http_basic_auth5146 access token is valid5147 finds the token from basic auth5148 access token is not valid5149 returns nil5150 route_setting is not set5151 returns nil5152 route_setting is not correct5153 returns nil5154 #find_user_from_basic_auth_job5155 when the request does not have AUTHORIZATION header5156 is expected to be nil5157 with wrong credentials5158 returns nil without user and password5159 returns nil without password5160 returns nil without user5161 returns nil without CI username5162 with CI username5163 behaves like find user from job token5164 when route is allowed to be authenticated5165 for an invalid token5166 returns an Unauthorized exception5167 with a running job5168 return user5169 with a job that is not running5170 returns an Unauthorized exception5171 when route is not allowed to be authenticated5172 with a running job5173 returns the user5174 #find_user_from_basic_auth_password5175 returns nil without user and password5176 returns nil without password5177 returns nil without user5178 returns nil with CI username5179 returns nil with wrong password5180 returns user with correct credentials5181 when the request does not have AUTHORIZATION header5182 is expected to be nil5183 #find_user_from_lfs_token5184 returns nil without user and token5185 returns nil without token5186 returns nil without user5187 returns nil with wrong token5188 returns user with correct user and correct token5189 returns nil with wrong user and correct token5190 when the request does not have AUTHORIZATION header5191 is expected to be nil5192 #find_user_from_personal_access_token5193 returns nil without access token5194 returns user with correct access token5195 returns exception if access token has no user5196 #validate_access_token!5197 returns nil if no access_token present5198 with a job token5199 does not raise an error5200 token is not valid5201 returns Gitlab::Auth::ExpiredError if token expired5202 returns Gitlab::Auth::RevokedError if token revoked5203 returns Gitlab::Auth::InsufficientScopeError if invalid token scope5204 with impersonation token5205 when impersonation is disabled5206 returns Gitlab::Auth::ImpersonationDisabled5207 #find_user_from_job_token5208 when route setting allows job_token5209 when the token is in the headers5210 behaves like find user from job token5211 when route is allowed to be authenticated5212 for an invalid token5213 returns an Unauthorized exception5214 with a running job5215 return user5216 with a job that is not running5217 returns an Unauthorized exception5218 when route is not allowed to be authenticated5219 with a running job5220 returns nil5221 when the token is in the job_token param5222 behaves like find user from job token5223 when route is allowed to be authenticated5224 for an invalid token5225 returns an Unauthorized exception5226 with a running job5227 return user5228 with a job that is not running5229 returns an Unauthorized exception5230 when route is not allowed to be authenticated5231 with a running job5232 returns nil5233 when the token is in the token param5234 behaves like find user from job token5235 when route is allowed to be authenticated5236 for an invalid token5237 returns an Unauthorized exception5238 with a running job5239 return user5240 with a job that is not running5241 returns an Unauthorized exception5242 when route is not allowed to be authenticated5243 with a running job5244 returns nil5245 when route setting is basic auth5246 when the token is provided via basic auth5247 is expected to eq #<User id:776 @user475>5248 when the token is in the headers5249 behaves like find user from job token5250 when route is allowed to be authenticated5251 for an invalid token5252 returns an Unauthorized exception5253 with a running job5254 return user5255 with a job that is not running5256 returns an Unauthorized exception5257 when route is not allowed to be authenticated5258 with a running job5259 returns nil5260 when the token is in the job_token param5261 behaves like find user from job token5262 when route is allowed to be authenticated5263 for an invalid token5264 returns an Unauthorized exception5265 with a running job5266 return user5267 with a job that is not running5268 returns an Unauthorized exception5269 when route is not allowed to be authenticated5270 with a running job5271 returns nil5272 when the token is in the token param5273 behaves like find user from job token5274 when route is allowed to be authenticated5275 for an invalid token5276 returns an Unauthorized exception5277 with a running job5278 return user5279 with a job that is not running5280 returns an Unauthorized exception5281 when route is not allowed to be authenticated5282 with a running job5283 returns nil5284 when route setting job_token_allowed is invalid5285 when the token is provided5286 is expected to be nil5287 #cluster_agent_token_from_authorization_token5288 when route_setting is empty5289 is expected to be nil5290 when route_setting allows cluster agent token5291 Authorization header is empty5292 is expected to be nil5293 Authorization header is incorrect5294 is expected to be nil5295 Authorization header is malformed5296 is expected to be nil5297 Authorization header matches agent token5298 is expected to eq #<Clusters::AgentToken id: 1, created_at: "2023-06-02 06:36:55.528124307 +0000", updated_at: "2023-06...eated_by_user_id: 782, description: nil, name: "agent-token-1", last_used_at: nil, status: "active">5299 agent token has been revoked5300 is expected to be nil5301 #find_runner_from_token5302 with API requests5303 returns the runner if token is valid5304 returns nil if token is not present5305 returns nil if token is blank5306 returns exception if invalid token5307 without API requests5308 returns nil if token is valid5309 returns nil if token is blank5310 returns nil if invalid token5311Compare5312 #cache_key5313 is expected to include #<Project id:940 namespace264/project-1081>>5314 is expected to include :compare5315 is expected to include 13799386924200986155316 #start_commit5317 returns raw compare base commit5318 returns nil if compare base commit is nil5319 #commits5320 returns a CommitCollection5321 returns a list of commits5322 #commit5323 returns raw compare head commit5324 returns nil if compare head commit is nil5325 #base_commit_sha5326 returns @base_sha if it is present5327 fetches merge base SHA from repo when @base_sha is nil5328 is memoized on first call5329 returns nil if there is no start_commit5330 returns nil if there is no head commit5331 #diff_refs5332 uses base_commit_sha sha as base_sha5333 uses start_commit sha as start_sha5334 uses commit sha as head sha5335 #modified_paths5336 changes are present5337 returns affected file paths, without duplication5338 changes are absent5339 returns empty array5340 #to_param5341 returns the range between base and head commits5342 when straight mode is on5343 returns the range between start and head commits5344 when there are no merge base between commits5345 returns the range between start and head commits5346ProjectSnippetPolicy5347 when project is public5348 with public snippet5349 no user5350 is expected not to be allowed :admin_snippet5351 regular user5352 when user is not a member5353 and is not the snippet author5354 is expected not to be allowed :admin_snippet5355 and is the snippet author5356 behaves like regular user non-member author permissions5357 is expected not to be allowed :admin_snippet5358 when user is a member5359 behaves like regular user member permissions5360 not snippet author5361 member (guest)5362 is expected not to be allowed :admin_snippet5363 member (reporter)5364 is expected not to be allowed :admin_snippet5365 member (developer)5366 is expected not to be allowed :admin_snippet5367 member (maintainer)5368 is expected to be allowed :admin_snippet5369 snippet author5370 member (guest)5371 is expected not to be allowed :admin_snippet5372 member (reporter)5373 is expected to be allowed :admin_snippet5374 member (developer)5375 is expected to be allowed :admin_snippet5376 member (maintainer)5377 is expected to be allowed :admin_snippet5378 external user5379 is expected not to be allowed :admin_snippet5380 when user is a member5381 is expected not to be allowed :admin_snippet5382 with internal snippet5383 no user5384 is expected not to be allowed :admin_snippet5385 regular user5386 when user is not a member5387 and is not the snippet author5388 is expected not to be allowed :admin_snippet5389 and is the snippet author5390 behaves like regular user non-member author permissions5391 is expected not to be allowed :admin_snippet5392 when user is a member5393 behaves like regular user member permissions5394 not snippet author5395 member (guest)5396 is expected not to be allowed :admin_snippet5397 member (reporter)5398 is expected not to be allowed :admin_snippet5399 member (developer)5400 is expected not to be allowed :admin_snippet5401 member (maintainer)5402 is expected to be allowed :admin_snippet5403 snippet author5404 member (guest)5405 is expected not to be allowed :admin_snippet5406 member (reporter)5407 is expected to be allowed :admin_snippet5408 member (developer)5409 is expected to be allowed :admin_snippet5410 member (maintainer)5411 is expected to be allowed :admin_snippet5412 external user5413 is expected not to be allowed :admin_snippet5414 when user is a member5415 is expected not to be allowed :admin_snippet5416 with private snippet5417 no user5418 is expected not to be allowed :admin_snippet5419 regular user5420 when user is not a member5421 and is not the snippet author5422 is expected not to be allowed :admin_snippet5423 and is the snippet author5424 behaves like regular user non-member author permissions5425 is expected not to be allowed :admin_snippet5426 when user is a member5427 behaves like regular user member permissions5428 not snippet author5429 member (guest)5430 is expected not to be allowed :admin_snippet5431 member (reporter)5432 is expected not to be allowed :admin_snippet5433 member (developer)5434 is expected not to be allowed :admin_snippet5435 member (maintainer)5436 is expected to be allowed :admin_snippet5437 snippet author5438 member (guest)5439 is expected not to be allowed :admin_snippet5440 member (reporter)5441 is expected to be allowed :admin_snippet5442 member (developer)5443 is expected to be allowed :admin_snippet5444 member (maintainer)5445 is expected to be allowed :admin_snippet5446 inherited user5447 behaves like regular user member permissions5448 not snippet author5449 member (guest)5450 is expected not to be allowed :admin_snippet5451 member (reporter)5452 is expected not to be allowed :admin_snippet5453 member (developer)5454 is expected not to be allowed :admin_snippet5455 member (maintainer)5456 is expected to be allowed :admin_snippet5457 snippet author5458 member (guest)5459 is expected not to be allowed :admin_snippet5460 member (reporter)5461 is expected to be allowed :admin_snippet5462 member (developer)5463 is expected to be allowed :admin_snippet5464 member (maintainer)5465 is expected to be allowed :admin_snippet5466 external user5467 is expected not to be allowed :admin_snippet5468 when user is a member5469 is expected not to be allowed :admin_snippet5470 admin user5471 when admin mode is enabled5472 is expected to be allowed :admin_snippet5473 when admin mode is disabled5474 is expected not to be allowed :admin_snippet5475 when project is private5476 inherited user5477 behaves like regular user member permissions5478 not snippet author5479 member (guest)5480 is expected not to be allowed :admin_snippet5481 member (reporter)5482 is expected not to be allowed :admin_snippet5483 member (developer)5484 is expected not to be allowed :admin_snippet5485 member (maintainer)5486 is expected to be allowed :admin_snippet5487 snippet author5488 member (guest)5489 is expected not to be allowed :admin_snippet5490 member (reporter)5491 is expected to be allowed :admin_snippet5492 member (developer)5493 is expected to be allowed :admin_snippet5494 member (maintainer)5495 is expected to be allowed :admin_snippet5496Ci::JobArtifacts::DestroyBatchService5497 #execute5498 creates a deleted object for artifact with attached file5499 does not remove the attached file5500 deletes the artifact records and logs them5501 reports metrics for destroyed artifacts5502 when artifact belongs to a project that is undergoing stats refresh5503 and skip_projects_on_refresh is set to false (default)5504 logs the projects undergoing refresh and continues with the delete5505 behaves like avoiding N+1 queries5506 does not make multiple queries when fetching multiple project refresh records5507 and skip_projects_on_refresh is set to true5508 logs the projects undergoing refresh and excludes the artifacts from deletion5509 behaves like avoiding N+1 queries5510 does not make multiple queries when fetching multiple project refresh records5511 when artifact belongs to a project not undergoing refresh5512 and skip_projects_on_refresh is set to false (default)5513 does not log any warnings5514 and skip_projects_on_refresh is set to true5515 does not log any warnings5516 ProjectStatistics5517 updates project statistics by the relevant amount5518 increments project statistics with artifact size as amount and job artifact id as ref5519 with update_stats: false5520 does not update project statistics5521 returns statistic updates per project5522 when failed to destroy artifact5523 when the import fails5524 raises an exception and stop destroying5525 when there are no artifacts5526 does not raise error5527 reports the number of destroyed artifacts5528Environments::EnvironmentNamesFinder5529 #execute5530 using a group5531 with a group developer5532 returns environment names for all projects5533 with a group reporter5534 returns environment names for all projects5535 with a public project reporter5536 returns environment names for all public projects5537 with a private project reporter5538 returns environment names for all public projects5539 with a public project reporter which has private environments5540 returns environment names for public projects5541 with a group guest5542 returns environment names for public projects5543 with a non-member5544 returns environment names for only public projects with public environments5545 without a user5546 returns environment names for only public projects with public environments5547 using a public project5548 with a project developer5549 returns all the unique environment names5550 with a project reporter5551 returns all the unique environment names5552 with a project guest5553 returns all the unique environment names5554 with a non-member5555 returns all the unique environment names5556 without a user5557 returns all the unique environment names5558 using a private project5559 with a project developer5560 returns all the unique environment names5561 with a project reporter5562 returns all the unique environment names5563 with a project guest5564 does not return any environment names5565 with a non-member5566 does not return any environment names5567 without a user5568 does not return any environment names5569UsersHelper5570 display_public_email?5571 is expected to equal true5572 when user public email is blank5573 is expected to equal false5574 #user_link5575 links to the user's profile5576 has the user's email as title5577 #user_clear_status_at5578 when status exists5579 with clear_status_at set5580 has the correct iso formatted date5581 without clear_status_at set5582 returns nil5583 without status5584 returns nil5585 #profile_tabs5586 with public profile5587 includes all the expected tabs5588 with private profile5589 is empty5590 #user_internal_regex_data5591 user_default_external: false, user_default_internal_regex: nil, result: {:user_internal_regex_pattern=>nil, :user_internal_regex_options=>nil}5592 is expected to eq {:user_internal_regex_options=>nil, :user_internal_regex_pattern=>nil}5593 user_default_external: false, user_default_internal_regex: "", result: {:user_internal_regex_pattern=>nil, :user_internal_regex_options=>nil}5594 is expected to eq {:user_internal_regex_options=>nil, :user_internal_regex_pattern=>nil}5595 user_default_external: false, user_default_internal_regex: "mockRegexPattern", result: {:user_internal_regex_pattern=>nil, :user_internal_regex_options=>nil}5596 is expected to eq {:user_internal_regex_options=>nil, :user_internal_regex_pattern=>nil}5597 user_default_external: true, user_default_internal_regex: nil, result: {:user_internal_regex_pattern=>nil, :user_internal_regex_options=>nil}5598 is expected to eq {:user_internal_regex_options=>nil, :user_internal_regex_pattern=>nil}5599 user_default_external: true, user_default_internal_regex: "", result: {:user_internal_regex_pattern=>nil, :user_internal_regex_options=>nil}5600 is expected to eq {:user_internal_regex_options=>nil, :user_internal_regex_pattern=>nil}5601 user_default_external: true, user_default_internal_regex: "mockRegexPattern", result: {:user_internal_regex_pattern=>"mockRegexPattern", :user_internal_regex_options=>"i"}5602 is expected to eq {:user_internal_regex_options=>"i", :user_internal_regex_pattern=>"mockRegexPattern"}5603 #current_user_menu_items5604 includes all default items5605 includes the profile tab if the user can read themself5606 includes the settings tab if the user can update themself5607 when terms are enforced5608 hides the profile and the settings tab5609 #user_badges_in_admin_section5610 with a blocked user5611 returns the blocked badge5612 with a pending approval user5613 returns the pending approval badge5614 with a banned user5615 returns the banned badge5616 with an admin user5617 returns the admin badge5618 with a bot5619 returns the bot badge5620 with an external user5621 returns the external badge5622 with the current user5623 returns the "It's You" badge5624 with an external blocked admin5625 returns the blocked, admin and external badges5626 with a locked user5627 returns the "Locked" badge5628 get badges for normal user5629 returns no badges5630 #can_force_email_confirmation?5631 for a user that is already confirmed5632 is expected to eq false5633 for a user that is not confirmed5634 is expected to eq true5635 #work_information5636 when neither organization nor job_title are present5637 is expected to be nil5638 when user parameter is nil5639 is expected to be nil5640 without schema markup5641 when both job_title and organization are present5642 returns job title concatenated with organization5643 when only organization is present5644 returns organization5645 when only job_title is present5646 returns job title5647 with schema markup5648 when both job_title and organization are present5649 returns job title concatenated with organization5650 when only organization is present5651 returns organization5652 when only job_title is present5653 returns job title5654 #user_display_name5655 for a confirmed user5656 is expected to eq "Sidney Jones785"5657 for an unconfirmed user5658 is expected to eq "Unconfirmed user"5659 when current user is an admin5660 is expected to eq "Sidney Jones787"5661 when the current user is self5662 is expected to eq "Sidney Jones789"5663 for a blocked user5664 is expected to eq "Blocked user"5665 #admin_users_data_attributes5666 users matches the serialized json5667 paths matches the schema5668 #confirm_user_data5669 sets `path` key correctly5670 sets `modal_attributes` key to valid json5671 when `user.unconfirmed_email` is set5672 sets `modal_attributes.messageHtml` correctly5673 when `user.unconfirmed_email` is not set5674 sets `modal_attributes.messageHtml` correctly5675 #user_email_help_text5676 when `user.unconfirmed_email` is not set5677 contains avatar detection text5678 when `user.unconfirmed_email` is set5679 contains resend confirmation e-mail text5680 #admin_user_actions_data_attributes5681 user matches the serialized json5682 paths matches the schema5683 #user_profile_tabs_app_data5684 returns expected hash5685 #load_max_project_member_accesses5686 without current_user5687 executes no queries5688 when current_user is present5689 preloads ProjectPolicy#lookup_access_level! and UsersHelper#max_member_project_member_access for current_user in two queries5690 #moderation_status5691 when user is nil5692 is expected to be nil5693 when a user is banned5694 is expected to eq "Banned"5695 when a user is blocked5696 is expected to eq "Blocked"5697 when a user is active5698 is expected to eq "Active"5699layouts/nav/sidebar/_group5700 behaves like has nav sidebar5701 has collapsed nav sidebar on mobile5702 behaves like sidebar includes snowplow attributes5703 is expected to have visible css ".nav-sidebar[data-track-action=\"render\"][data-track-label=\"groups_side_navigation\"][data-track-property=\"groups_side_navigation\"]"5704 Group context menu5705 has a link to the group path5706 Group information5707 has a link to the group activity path5708 has a link to the group labels path5709 has a link to the members page5710 Issues5711 has a default link to the issue list path5712 has a link to the issue list page5713 has a link to the boards page5714 has a link to the milestones page5715 Merge Requests5716 has a link to the merge request list path5717 shows pill with the number of merge requests5718 CI/CD5719 has a default link to the runners list path5720 has a link to the runners list page5721 Kubernetes menu5722 has a link to the group cluster list path5723 Packages and registries5724 has a link to the package registry page5725 has a link to the container registry page5726 has a link to the dependency proxy page5727 Settings5728 default link points to edit group page5729 has a link to the General settings page5730 has a link to the Integrations settings page5731 has a link to the group Projects settings page5732 has a link to the Repository settings page5733 has a link to the CI/CD settings page5734 has a link to the Applications settings page5735 has a link to the Package and registry settings page5736Gitlab::Auth::Ldap::DN5737 #normalize_value5738 behaves like normalizes a DN attribute value5739 test_description: "strips extraneous whitespace", given: " John Smith ", expected: "john smith"5740 normalizes the DN attribute value5741 test_description: "unescapes non-reserved, non-special Unicode characters", given: "Sebasti\\c3\\a1n\\ C.\\20Smith", expected: "sebastián c. smith"5742 normalizes the DN attribute value5743 test_description: "downcases the whole string", given: "JoHn C. Smith", expected: "john c. smith"5744 normalizes the DN attribute value5745 test_description: "does not strip an escaped leading space in an attribute value", given: "\\ John Smith", expected: "\\ john smith"5746 normalizes the DN attribute value5747 test_description: "does not strip an escaped trailing space in an attribute value", given: "John Smith\\ ", expected: "john smith\\ "5748 normalizes the DN attribute value5749 test_description: "hex-escapes an escaped leading newline in an attribute value", given: "\\\nJohn Smith", expected: "\\0ajohn smith"5750 normalizes the DN attribute value5751 test_description: "hex-escapes and does not strip an escaped trailing newline in an attribute value", given: "John Smith\\\n", expected: "john smith\\0a"5752 normalizes the DN attribute value5753 test_description: "hex-escapes an unescaped leading newline (actually an invalid DN value?)", given: "\nJohn Smith", expected: "\\0ajohn smith"5754 normalizes the DN attribute value5755 test_description: "strips an unescaped trailing newline (actually an invalid DN value?)", given: "John Smith\n", expected: "john smith"5756 normalizes the DN attribute value5757 test_description: "does not strip if no extraneous whitespace", given: "John Smith", expected: "john smith"5758 normalizes the DN attribute value5759 test_description: "does not modify an escaped equal sign in an attribute value", given: " foo \\= bar", expected: "foo \\= bar"5760 normalizes the DN attribute value5761 test_description: "converts an escaped hex equal sign to an escaped equal sign in an attribute value", given: " foo \\3D bar", expected: "foo \\= bar"5762 normalizes the DN attribute value5763 test_description: "does not modify an escaped comma in an attribute value", given: "San Francisco\\, CA", expected: "san francisco\\, ca"5764 normalizes the DN attribute value5765 test_description: "converts an escaped hex comma to an escaped comma in an attribute value", given: "San Francisco\\2C CA", expected: "san francisco\\, ca"5766 normalizes the DN attribute value5767 test_description: "does not modify an escaped hex carriage return character in an attribute value", given: "San Francisco\\,\\0DCA", expected: "san francisco\\,\\0dca"5768 normalizes the DN attribute value5769 test_description: "does not modify an escaped hex line feed character in an attribute value", given: "San Francisco\\,\\0ACA", expected: "san francisco\\,\\0aca"5770 normalizes the DN attribute value5771 test_description: "does not modify an escaped hex CRLF in an attribute value", given: "San Francisco\\,\\0D\\0ACA", expected: "san francisco\\,\\0d\\0aca"5772 normalizes the DN attribute value5773 when the given DN is malformed5774 when ending with a comma5775 raises MalformedError5776 when given a BER encoded attribute value with a space in it5777 raises MalformedError5778 when given a BER encoded attribute value with a non-hex character in it5779 raises MalformedError5780 when given a BER encoded attribute value with a non-hex character in it5781 raises MalformedError5782 when given a hex pair with a non-hex character in it, inside double quotes5783 raises MalformedError5784 with an open (as opposed to closed) double quote5785 raises MalformedError5786 with an invalid escaped hex code5787 raises MalformedError5788 with a value ending with the escape character5789 raises MalformedError5790 #to_normalized_s5791 behaves like normalizes a DN5792 test_description: "strips extraneous whitespace", given: "uid =John Smith , ou = People, dc= example,dc =com", expected: "uid=john smith,ou=people,dc=example,dc=com"5793 normalizes the DN5794 test_description: "strips extraneous whitespace for a DN with a single RDN", given: "uid = John Smith", expected: "uid=john smith"5795 normalizes the DN5796 test_description: "unescapes non-reserved, non-special Unicode characters", given: "uid = Sebasti\\c3\\a1n\\ C.\\20Smith, ou=People (aka. \\22humans\\\") ,dc=example, dc=com", expected: "uid=sebastián c. smith,ou=people (aka. \\\"humans\\\"),dc=example,dc=com"5797 normalizes the DN5798 test_description: "downcases the whole string", given: "UID=John Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"5799 normalizes the DN5800 test_description: "for a null DN (empty string), returns empty string and does not error", given: "", expected: ""5801 normalizes the DN5802 test_description: "does not strip an escaped leading space in an attribute value", given: "uid=\\ John Smith,ou=People,dc=example,dc=com", expected: "uid=\\ john smith,ou=people,dc=example,dc=com"5803 normalizes the DN5804 test_description: "does not strip an escaped leading space in the last attribute value", given: "uid=\\ John Smith", expected: "uid=\\ john smith"5805 normalizes the DN5806 test_description: "does not strip an escaped trailing space in an attribute value", given: "uid=John Smith\\ ,ou=People,dc=example,dc=com", expected: "uid=john smith\\ ,ou=people,dc=example,dc=com"5807 normalizes the DN5808 test_description: "strips extraneous spaces after an escaped trailing space", given: "uid=John Smith\\ ,ou=People,dc=example,dc=com", expected: "uid=john smith\\ ,ou=people,dc=example,dc=com"5809 normalizes the DN5810 test_description: "strips extraneous spaces after an escaped trailing space at the end of the DN", given: "uid=John Smith,ou=People,dc=example,dc=com\\ ", expected: "uid=john smith,ou=people,dc=example,dc=com\\ "5811 normalizes the DN5812 test_description: "properly preserves escaped trailing space after unescaped trailing spaces", given: "uid=John Smith \\ ,ou=People,dc=example,dc=com", expected: "uid=john smith \\ ,ou=people,dc=example,dc=com"5813 normalizes the DN5814 test_description: "preserves multiple inner spaces in an attribute value", given: "uid=John Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"5815 normalizes the DN5816 test_description: "preserves inner spaces after an escaped space", given: "uid=John\\ Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"5817 normalizes the DN5818 test_description: "hex-escapes an escaped leading newline in an attribute value", given: "uid=\\\nJohn Smith,ou=People,dc=example,dc=com", expected: "uid=\\0ajohn smith,ou=people,dc=example,dc=com"5819 normalizes the DN5820 test_description: "hex-escapes and does not strip an escaped trailing newline in an attribute value", given: "uid=John Smith\\\n,ou=People,dc=example,dc=com", expected: "uid=john smith\\0a,ou=people,dc=example,dc=com"5821 normalizes the DN5822 test_description: "hex-escapes an unescaped leading newline (actually an invalid DN?)", given: "uid=\nJohn Smith,ou=People,dc=example,dc=com", expected: "uid=\\0ajohn smith,ou=people,dc=example,dc=com"5823 normalizes the DN5824 test_description: "strips an unescaped trailing newline (actually an invalid DN?)", given: "uid=John Smith\n,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"5825 normalizes the DN5826 test_description: "does not strip if no extraneous whitespace", given: "uid=John Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"5827 normalizes the DN5828 test_description: "does not modify an escaped equal sign in an attribute value", given: "uid= foo \\= bar", expected: "uid=foo \\= bar"5829 normalizes the DN5830 test_description: "converts an escaped hex equal sign to an escaped equal sign in an attribute value", given: "uid= foo \\3D bar", expected: "uid=foo \\= bar"5831 normalizes the DN5832 test_description: "does not modify an escaped comma in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\, CA", expected: "uid=john c. smith,ou=san francisco\\, ca"5833 normalizes the DN5834 test_description: "converts an escaped hex comma to an escaped comma in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\2C CA", expected: "uid=john c. smith,ou=san francisco\\, ca"5835 normalizes the DN5836 test_description: "does not modify an escaped hex carriage return character in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0DCA", expected: "uid=john c. smith,ou=san francisco\\,\\0dca"5837 normalizes the DN5838 test_description: "does not modify an escaped hex line feed character in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0ACA", expected: "uid=john c. smith,ou=san francisco\\,\\0aca"5839 normalizes the DN5840 test_description: "does not modify an escaped hex CRLF in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0D\\0ACA", expected: "uid=john c. smith,ou=san francisco\\,\\0d\\0aca"5841 normalizes the DN5842 test_description: "allows attribute type name OIDs", given: "0.9.2342.19200300.100.1.25=Example,0.9.2342.19200300.100.1.25=Com", expected: "0.9.2342.19200300.100.1.25=example,0.9.2342.19200300.100.1.25=com"5843 normalizes the DN5844 test_description: "strips extraneous whitespace from attribute type name OIDs", given: "0.9.2342.19200300.100.1.25 = Example, 0.9.2342.19200300.100.1.25 = Com", expected: "0.9.2342.19200300.100.1.25=example,0.9.2342.19200300.100.1.25=com"5845 normalizes the DN5846 when we do not support the given DN format5847 multivalued RDNs5848 without extraneous whitespace5849 raises UnsupportedError5850 with extraneous whitespace5851 around the phone number plus sign5852 raises UnsupportedError5853 not around the phone number plus sign5854 raises UnsupportedError5855 when the given DN is malformed5856 when ending with a comma5857 raises MalformedError5858 when given a BER encoded attribute value with a space in it5859 raises MalformedError5860 when given a BER encoded attribute value with a non-hex character in it5861 raises MalformedError5862 when given a BER encoded attribute value with a non-hex character in it5863 raises MalformedError5864 when given a hex pair with a non-hex character in it, inside double quotes5865 raises MalformedError5866 without a name value pair5867 raises MalformedError5868 with an open (as opposed to closed) double quote5869 raises MalformedError5870 with an invalid escaped hex code5871 raises MalformedError5872 with a value ending with the escape character5873 raises MalformedError5874 with an invalid OID attribute type name5875 raises MalformedError5876 with a period in a non-OID attribute type name5877 raises MalformedError5878 when starting with non-space, non-alphanumeric character5879 raises MalformedError5880 when given a UID with an escaped equal sign5881 raises MalformedError5882Tooling::PredictiveTests5883 # order random5884 #execute5885 when ENV variables are missing5886 raises an error5887 when all ENV variables are provided5888 when no files were changed5889 does not change files other than RSPEC_CHANGED_FILES_PATH5890 when some files used for frontend fixtures were changed5891 writes to RSPEC_CHANGED_FILES_PATH with API contents and appends with matching fixtures5892 appends the spec file to RSPEC_MATCHING_TESTS_PATH5893 does not change files other than RSPEC_CHANGED_FILES_PATH nor RSPEC_MATCHING_TESTS_PATH5894Pages::MigrateFromLegacyStorageService5895 #execute_with_threads5896 does not try to migrate pages if pages are not deployed5897 when pages are marked as deployed5898 when pages directory does not exist5899 counts project as errored5900 when mark_projects_as_not_deployed is set5901 counts project as migrated5902 when pages directory exists on disk5903 migrates pages projects without deployments5904 when deployed already exists for the project5905 does not try to migrate project5906 when there is work for multiple threads5907 uses multiple threads5908 #execute_for_batch5909 does not try to migrate pages if pages are not deployed5910 only tries to migrate projects with passed ids5911 when pages are marked as deployed5912 when pages directory does not exist5913 counts project as errored5914 when mark_projects_as_not_deployed is set5915 counts project as migrated5916 when pages directory exists on disk5917 migrates pages projects without deployments5918 when deployed already exists for the project5919 does not try to migrate project5920Banzai::ReferenceParser::MergeRequestParser5921 #nodes_visible_to_user5922 when the link has a data-issue attribute5923 behaves like referenced feature visibility5924 when feature is disabled5925 does not create reference5926 when feature is enabled only for team members5927 does not create reference for non member5928 creates reference for member5929 when feature is enabled5930 creates reference5931 #referenced_by5932 when the link has a data-merge-request attribute5933 using an existing merge request ID5934 returns an Array of merge requests5935 using a non-existing merge request ID5936 returns an empty Array5937 when checking multiple merge requests on another project5938 behaves like no N+1 queries5939 avoids N+1 queries in #records_for_nodes5940 behaves like no project N+1 queries5941 avoids N+1 queries in #nodes_visible_to_user5942 #can_read_reference?5943 is expected to be truthy5944 when merge request belongs to the private project5945 prevents user from reading merge request references5946 when user has access to the project5947 is expected to be truthy5948 with memoization5949 when project is the same5950 calls #can? only once5951 when merge requests belong to different projects5952 calls #can? for each project5953Gitlab::Pagination::Keyset::InOperatorOptimization::QueryBuilder5954 raises error when unsupported scope is passed5955 when ordering by issues.id DESC5956 when iterating records one by one5957 behaves like correct ordering examples5958 returns records in correct order5959 when not passing the finder query5960 returns records in correct order5961 loads only the order by column5962 when iterating records with LIMIT 35963 behaves like correct ordering examples5964 returns records in correct order5965 when not passing the finder query5966 returns records in correct order5967 loads only the order by column5968 when loading records at once5969 behaves like correct ordering examples5970 returns records in correct order5971 when not passing the finder query5972 returns records in correct order5973 loads only the order by column5974 when ordering by issues.relative_position DESC NULLS LAST, id DESC5975 when iterating records one by one5976 behaves like correct ordering examples5977 returns records in correct order5978 when not passing the finder query5979 returns records in correct order5980 loads only the order by column5981 when iterating records with LIMIT 35982 behaves like correct ordering examples5983 returns records in correct order5984 when not passing the finder query5985 returns records in correct order5986 loads only the order by column5987 with condition "relative_position IS NULL"5988 when iterating records one by one5989 behaves like correct ordering examples5990 returns records in correct order5991 when not passing the finder query5992 returns records in correct order5993 loads only the order by column5994 when iterating records with LIMIT 35995 behaves like correct ordering examples5996 returns records in correct order5997 when not passing the finder query5998 returns records in correct order5999 loads only the order by column6000 when ordering by issues.created_at DESC, issues.id ASC6001 when iterating records one by one6002 behaves like correct ordering examples6003 returns records in correct order6004 when not passing the finder query6005 returns records in correct order6006 loads only the order by column6007 when iterating records with LIMIT 36008 behaves like correct ordering examples6009 returns records in correct order6010 when not passing the finder query6011 returns records in correct order6012 loads only the order by column6013 when loading records at once6014 behaves like correct ordering examples6015 returns records in correct order6016 when not passing the finder query6017 returns records in correct order6018 loads only the order by column6019 pagination support6020 offset pagination6021 paginates the scopes6022 keyset pagination6023 paginates correctly6024 when ordering by SQL expression6025 when iterating records one by one6026 behaves like correct ordering examples6027 when not passing the finder query6028 returns records in correct order6029 loads only the order by column6030 when iterating records with LIMIT 36031 behaves like correct ordering examples6032 when not passing the finder query6033 returns records in correct order6034 loads only the order by column6035 when passing finder query6036 raises error, loading complete rows are not supported with SQL expressions6037 when ordering by JOIN-ed columns6038 when directions are project.id DESC, issues.id ASC6039 when iterating records one by one6040 behaves like correct ordering examples6041 when not passing the finder query6042 returns records in correct order6043 loads only the order by column6044 when iterating records with LIMIT 26045 behaves like correct ordering examples6046 when not passing the finder query6047 returns records in correct order6048 loads only the order by column6049 when directions are projects.id DESC, issues.id ASC6050 when iterating records one by one6051 behaves like correct ordering examples6052 when not passing the finder query6053 returns records in correct order6054 loads only the order by column6055 when iterating records with LIMIT 26056 behaves like correct ordering examples6057 when not passing the finder query6058 returns records in correct order6059 loads only the order by column6060 when directions are projects.name ASC, projects.id ASC, issues.id ASC6061 when iterating records with LIMIT 26062 behaves like correct ordering examples6063 when not passing the finder query6064 returns records in correct order6065 loads only the order by column6066 when directions are projects.name ASC (nullable), issues.id ASC6067 when iterating records with LIMIT 26068 behaves like correct ordering examples6069 when not passing the finder query6070 returns records in correct order6071 loads only the order by column6072ProjectSnippet6073 Associations6074 is expected to belong to project required: false6075 Validation6076 is expected to validate that :project cannot be empty/falsy6077 is expected to validate that :secret is ‹false›6078 #embeddable?6079 only returns true when both project and snippet are public6080 only returns true when both project and snippet are public6081 only returns true when both project and snippet are public6082 only returns true when both project and snippet are public6083 only returns true when both project and snippet are public6084 only returns true when both project and snippet are public6085 only returns true when both project and snippet are public6086 only returns true when both project and snippet are public6087 only returns true when both project and snippet are public6088 behaves like model with repository6089 container class includes HasRepository6090 #commits_by6091 retrieves several commits from the repository by oid6092 #web_url6093 when given the only_path option6094 when only_path is false6095 returns the full web URL for this repo6096 when only_path is true6097 returns the relative web URL for this repo6098 when only_path is nil6099 returns the full web URL for this repo6100 when not given the only_path option6101 returns the full web URL for this repo6102 #url_to_repo6103 returns the SSH URL to the repository6104 #ssh_url_to_repo6105 returns the SSH URL to the repository6106 #http_url_to_repo6107 returns the HTTP URL to the repository6108 #repository6109 returns valid repo6110 uses the same container6111 #storage6112 returns valid storage6113 #full_path6114 returns valid full_path6115 #lfs_enabled?6116 returns the expected value6117 #empty_repo?6118 when the repo does not exist6119 returns true6120 when the repo exists6121 returns the empty state of the repository6122 #valid_repo?6123 is expected to equal false6124 is expected to equal true6125 #repository_exists?6126 is expected to equal false6127 is expected to equal true6128 #repo_exists?6129 is expected to equal false6130 is expected to equal true6131 #root_ref6132 is expected to equal true6133 is expected to equal false6134 is expected to equal false6135 Respond to6136 is expected to respond to #base_dir6137 is expected to respond to #disk_path6138 is expected to respond to #gitlab_shell6139 #change_head6140 delegates #change_head to repository6141 #after_repository_change_head6142 calls #reload_default_branch6143PostReceiveService6144 when project is nil6145 does not return error6146 behaves like does not record an onboarding progress action6147 is expected not to receive new(*(any args)) 0 times6148 when repository is nil6149 does not return error6150 when both repository and project are nil6151 does not return error6152 with Project6153 returns link to create new merge request6154 returns the link to an existing merge request when it exists6155 does not invoke MergeRequests::PushOptionsHandlerService6156 behaves like post_receive_service actions6157 enqueues a PostReceive worker job6158 decreases the reference counter and returns the result6159 behaves like records an onboarding progress action6160 is expected to receive execute({:action=>:git_write}) 1 time6161 when printing_merge_request_link_enabled is false6162 returns no merge request messages6163 when there are merge_request push options6164 invalidates the branch name cache6165 invokes MergeRequests::PushOptionsHandlerService6166 creates a new merge request6167 links to the newly created merge request6168 adds errors on the service instance to warnings6169 adds ActiveRecord errors on invalid MergeRequest records to warnings6170 with PersonalSnippet6171 does not return link to create new merge request6172 does not return the link to an existing merge request when it exists6173 behaves like post_receive_service actions6174 enqueues a PostReceive worker job6175 decreases the reference counter and returns the result6176 behaves like records an onboarding progress action6177 is expected to receive execute({:action=>:git_write}) 1 time6178 with ProjectSnippet6179 does not return link to create new merge request6180 does not return the link to an existing merge request when it exists6181 behaves like post_receive_service actions6182 enqueues a PostReceive worker job6183 decreases the reference counter and returns the result6184 behaves like records an onboarding progress action6185 is expected to receive execute({:action=>:git_write}) 1 time6186 broadcast message banner exists6187 outputs a broadcast message6188 broadcast message notification exists6189 does not output a broadcast message6190 broadcast message does not exist6191 does not output a broadcast message6192 nil broadcast message6193 does not output a broadcast message6194 broadcast message has a target_path6195 no project path matches6196 does not output the scoped broadcast messages6197 does output another message that doesn't have a target_path6198 project path matches6199 does output the latest scoped broadcast message6200 does not output the older scoped broadcast message6201 does not output another message that doesn't have a target_path6202 with a redirected data6203 returns redirected message on the response6204 with new project data6205 returns new project message on the response6206 #process_mr_push_options6207 when repository belongs to a snippet6208 with PersonalSnippet6209 returns an error message6210 with ProjectSnippet6211 returns an error message6212 #merge_request_urls6213 when repository belongs to a snippet6214 with PersonalSnippet6215 returns an empty array6216 with ProjectSnippet6217 returns an empty array6218Gitlab::Metrics6219 .settings6220 returns a Hash6221 .enabled?6222 returns a boolean6223 .prometheus_metrics_enabled_unmemoized6224 prometheus metrics enabled in config6225 when metrics folder is present6226 metrics are enabled6227 when metrics folder is missing6228 metrics are disabled6229 .prometheus_metrics_enabled?6230 returns a boolean6231 .measure6232 without a transaction6233 returns the return value of the block6234 with a transaction6235 adds a metric to the current transaction6236 returns the return value of the block6237 #series_prefix6238 returns a String6239 .record_status_for_duration?6240 status: 100, should_record: false6241 is expected to equal false6242 is expected to equal false6243 status: 200, should_record: true6244 is expected to equal true6245 is expected to equal true6246 status: 401, should_record: true6247 is expected to equal true6248 is expected to equal true6249 status: nil, should_record: false6250 is expected to equal false6251 is expected to equal false6252 status: 500, should_record: false6253 is expected to equal false6254 is expected to equal false6255 status: 503, should_record: false6256 is expected to equal false6257 is expected to equal false6258 status: "nothing", should_record: false6259 is expected to equal false6260 is expected to equal false6261 .server_error?6262 status: 100, should_record: false6263 is expected to equal false6264 is expected to equal false6265 status: 200, should_record: false6266 is expected to equal false6267 is expected to equal false6268 status: 401, should_record: false6269 is expected to equal false6270 is expected to equal false6271 status: 500, should_record: true6272 is expected to equal true6273 is expected to equal true6274 status: 503, should_record: true6275 is expected to equal true6276 is expected to equal true6277 status: nil, should_record: false6278 is expected to equal false6279 is expected to equal false6280 status: "nothing", should_record: false6281 is expected to equal false6282 is expected to equal false6283 .add_event6284 without a transaction6285 does nothing6286 with a transaction6287 adds an event6288 prometheus metrics disabled6289 behaves like prometheus metrics API6290 #counter6291 #increment6292 successfully calls #increment without arguments6293 successfully calls #increment with 1 argument6294 successfully calls #increment with 2 arguments6295 #summary6296 #observe6297 successfully calls #observe with 2 arguments6298 #gauge6299 #set6300 successfully calls #set with 2 arguments6301 #histogram6302 #observe6303 successfully calls #observe with 2 arguments6304 #null_metric6305 is expected to be a kind of Gitlab::Metrics::NullMetric6306 #counter6307 is expected to be a kind of Gitlab::Metrics::NullMetric6308 #summary6309 is expected to be a kind of Gitlab::Metrics::NullMetric6310 #gauge6311 is expected to be a kind of Gitlab::Metrics::NullMetric6312 #histogram6313 is expected to be a kind of Gitlab::Metrics::NullMetric6314 prometheus metrics enabled6315 behaves like prometheus metrics API6316 #counter6317 #increment6318 successfully calls #increment without arguments6319 successfully calls #increment with 1 argument6320 successfully calls #increment with 2 arguments6321 #summary6322 #observe6323 successfully calls #observe with 2 arguments6324 #gauge6325 #set6326 successfully calls #set with 2 arguments6327 #histogram6328 #observe6329 successfully calls #observe with 2 arguments6330 #null_metric6331 is expected to be nil6332 #counter6333 is expected not to be a kind of Gitlab::Metrics::NullMetric6334 #summary6335 is expected not to be a kind of Gitlab::Metrics::NullMetric6336 #gauge6337 is expected not to be a kind of Gitlab::Metrics::NullMetric6338 #histogram6339 is expected not to be a kind of Gitlab::Metrics::NullMetric6340Types::Ci::JobTokenScopeType6341 is expected to eq "CiJobTokenScopeType"6342 has the correct fields6343 query6344 without access to scope6345 returns no projects6346 with access to scope6347 when multiple projects in the allow lists6348 when linked projects are readable6349 behaves like returns projects6350 returns readable projects in scope6351 when job token scope is disabled6352 behaves like returns projects6353 returns readable projects in scope6354 when linked projects are not readable6355 returns readable projects in scope6356 when job token scope is disabled6357 does not return an error6358 returns readable projects in scope6359ClusterablePresenter6360 .fabricate6361 creates an object from a descendant presenter6362 #can_create_cluster?6363 when clusterable is a group6364 behaves like appropriate member permissions6365 with a developer6366 is expected to be falsy6367 with a maintainer6368 is expected to be truthy6369 when clusterable is a project6370 behaves like appropriate member permissions6371 with a developer6372 is expected to be falsy6373 with a maintainer6374 is expected to be truthy6375 #can_add_cluster?6376 when clusterable is a group6377 behaves like appropriate member permissions6378 with a developer6379 is expected to be falsy6380 with a maintainer6381 is expected to be truthy6382 when clusterable is a project6383 behaves like appropriate member permissions6384 with a developer6385 is expected to be falsy6386 with a maintainer6387 is expected to be truthy6388 #can_admin_cluster?6389 when clusterable is a group6390 behaves like appropriate member permissions6391 with a developer6392 is expected to be falsy6393 with a maintainer6394 is expected to be truthy6395 when clusterable is a project6396 behaves like appropriate member permissions6397 with a developer6398 is expected to be falsy6399 with a maintainer6400 is expected to be truthy6401 #environments_cluster_path6402 is expected to be nil6403 #index_path6404 without options6405 is expected to eq "/groups/group240/-/clusters"6406 with options6407 is expected to eq "/groups/group241/-/clusters.json"6408Gitlab::LegacyGithubImport::Importer6409 when importing a Gitea project6410 behaves like Gitlab::LegacyGithubImport::Importer#execute6411 calls import methods6412 behaves like Gitlab::LegacyGithubImport::Importer#execute an error occurs6413 returns true6414 does not raise an error6415 stores error messages6416 behaves like Gitlab::LegacyGithubImport unit-testing6417 #clean_up_restored_branches6418 when pull request stills open6419 does not remove branches6420 when pull request is closed6421 does remove branches6422 #client6423 instantiates a Client6424Gitlab::Changelog::Config6425 .from_git6426 retrieves the configuration from Git6427 retrieves the specified configuration from git6428 returns the default configuration when no YAML file exists in Git6429 when changelog is empty6430 returns the default configuration6431 .from_hash6432 sets the configuration according to a Hash6433 raises Error when the categories are not a Hash6434 raises a Gitlab::Changelog::Error when the template is invalid6435 #contributor?6436 when user is a member of project6437 is expected to eq false6438 when user has at least one merge request merged into default_branch6439 is expected to eq true6440 is expected to eq false6441 #category6442 returns the name of a category6443 returns the raw category name when no alternative name is configured6444 #format_date6445 formats a date according to the configured date format6446 #always_credit_author?6447 when include_groups is defined6448 when user generating changelog has access to group6449 returns whether author should always be credited6450 when user generating changelog has no access to group6451 always returns false6452 when include_groups is not defined6453 always returns false6454Gitlab::GroupSearchResults6455 issues search6456 state not provided6457 returns opened and closed results6458 all state6459 returns opened and closed results6460 closed state6461 returns only closed results6462 opened state6463 returns only opened results6464 unsupported state6465 returns only opened results6466 filter not provided (all behavior)6467 returns confidential and not confidential results6468 confidential filter6469 returns only confidential results6470 not confidential filter6471 returns not confidential results6472 merge_requests search6473 state not provided6474 returns opened and closed results6475 all state6476 returns opened and closed results6477 closed state6478 returns only closed results6479 opened state6480 returns only opened results6481 unsupported state6482 returns only opened results6483 #projects6484 filtering6485 behaves like search results filtered by archived6486 when filter not provided (all behavior)6487 returns unarchived results only6488 when include_archived is true6489 returns archived and unarchived results6490 when include_archived filter is false6491 returns unarchived results only6492 user search6493 returns the users belonging to the group matching the search query6494 returns the user belonging to the subgroup matching the search query6495 returns the user belonging to the parent group matching the search query6496 does not return the user belonging to the private subgroup6497 does not return the user belonging to an unrelated group6498 does not return the user invited to the group6499 calls GroupFinder during execution6500 #issuable_params6501 sets include_subgroups flag by default6502Projects::ContainerRepository::Gitlab::CleanupTagsService6503 # order random6504 #execute6505 with several tags pages6506 behaves like when regex matching everything is specified6507 behaves like removing the expected tags6508 removes the expected tags6509 with deprecated name_regex param6510 behaves like removing the expected tags6511 removes the expected tags6512 behaves like when regex matching everything is specified and latest is not kept6513 behaves like removing the expected tags6514 removes the expected tags6515 behaves like when delete regex matching specific tags is used6516 behaves like removing the expected tags6517 removes the expected tags6518 behaves like when delete regex matching specific tags is used with overriding allow regex6519 behaves like removing the expected tags6520 removes the expected tags6521 with name_regex_delete overriding deprecated name_regex6522 behaves like removing the expected tags6523 removes the expected tags6524 behaves like with allow regex value6525 behaves like removing the expected tags6526 removes the expected tags6527 behaves like when keeping only N tags6528 sorts tags by date6529 behaves like when not keeping N tags6530 does not sort tags by date6531 when removing keeping only 36532 behaves like not removing anything6533 does not remove anything6534 behaves like when removing older than 1 day6535 behaves like removing the expected tags6536 removes the expected tags6537 behaves like when combining all parameters6538 behaves like removing the expected tags6539 removes the expected tags6540 behaves like when running a container_expiration_policy6541 with valid container_expiration_policy param6542 removes the expected tags6543 with a timeout6544 removes the first few pages6545 when disable_timeout is set to true6546 does not check if it timed out6547 behaves like when regex matching everything is specified6548 behaves like removing the expected tags6549 removes the expected tags6550 with deprecated name_regex param6551 behaves like removing the expected tags6552 removes the expected tags6553 with a single tags page6554 behaves like when regex matching everything is specified6555 behaves like removing the expected tags6556 removes the expected tags6557 with deprecated name_regex param6558 behaves like removing the expected tags6559 removes the expected tags6560 behaves like when delete regex matching specific tags is used6561 behaves like removing the expected tags6562 removes the expected tags6563 behaves like when delete regex matching specific tags is used with overriding allow regex6564 behaves like removing the expected tags6565 removes the expected tags6566 with name_regex_delete overriding deprecated name_regex6567 behaves like removing the expected tags6568 removes the expected tags6569 behaves like with allow regex value6570 behaves like removing the expected tags6571 removes the expected tags6572 behaves like when keeping only N tags6573 sorts tags by date6574 behaves like when not keeping N tags6575 does not sort tags by date6576 behaves like when removing keeping only 36577 behaves like removing the expected tags6578 removes the expected tags6579 behaves like when removing older than 1 day6580 behaves like removing the expected tags6581 removes the expected tags6582 behaves like when combining all parameters6583 behaves like removing the expected tags6584 removes the expected tags6585 behaves like when running a container_expiration_policy6586 with valid container_expiration_policy param6587 removes the expected tags6588 with no tags page6589 is expected to eq {:before_delete_size=>0, :deleted=>[], :deleted_size=>0, :original_size=>0, :status=>:success}6590Gitlab::Ci::Charts6591 yearchart6592 goes until the end of the current month (including the whole last day of the month)6593 starts at the beginning of the current year6594 uses %B %Y as labels format6595 returns count of pipelines run each day in the current year6596 monthchart6597 includes the whole current day6598 starts one month ago6599 uses %d %B as labels format6600 returns count of pipelines run each day in the current month6601 weekchart6602 includes the whole current day6603 starts one week ago6604 uses %d %B as labels format6605 returns count of pipelines run each day in the current week6606 weekchart_utc6607 uses a utc time zone for range times6608 returns count of pipelines run each day in the current week6609 weekchart_non_utc6610 uses a non-utc time zone for range times6611 returns count of pipelines run each day in the current week6612 pipeline_times6613 returns pipeline times in minutes6614 handles nil pipeline times6615CommitSignatures::GpgSignature6616 behaves like having unique enum values6617 has unique values in "verification_status"6618 behaves like commit signature6619 associations6620 is expected to belong to project required: true6621 validation6622 is expected to validate that :commit_sha cannot be empty/falsy6623 is expected to validate that :project_id cannot be empty/falsy6624 .safe_create!6625 finds a signature by commit sha if it existed6626 creates a new signature if it was not found6627 assigns the correct attributes when creating6628 does not raise an error in case of a race condition6629 #commit6630 fetches the commit through the project6631 behaves like signature with type checking6632 signature type checkers6633 method: :gpg?, expected: true6634 is expected to eq true6635 method: :ssh?, expected: false6636 is expected to eq false6637 method: :x509?, expected: false6638 is expected to eq false6639 associations6640 is expected to belong to gpg_key required: false6641 is expected to belong to gpg_key_subkey required: false6642 validation6643 is expected to validate that :commit_sha cannot be empty/falsy6644 is expected to validate that :gpg_key_primary_keyid cannot be empty/falsy6645 .by_commit_sha scope6646 returns all gpg signatures by sha6647 #gpg_key=6648 supports the assignment of a GpgKey6649 supports the assignment of a GpgKeySubkey6650 clears gpg_key and gpg_key_subkey_id when passing nil6651 #gpg_commit6652 when commit does not exist6653 returns nil6654 when commit exists6655 returns an instance of Gitlab::Gpg::Commit6656 #signed_by_user6657 retrieves the gpg_key user6658Gitlab::Cache::Helpers6659 #render_cached6660 single object6661 when presenter is a serializer6662 behaves like object cache helper6663 is expected to be a kind of Gitlab::Json::PrecompiledJson6664 uses the presenter6665 is valid JSON6666 fetches from the cache6667 when a cache context is supplied6668 uses the context to augment the cache key6669 when expires_in is supplied6670 sets the expiry when accessing the cache6671 when a caller id is present6672 increments the counter6673 when presenter is a Grape::Entity6674 behaves like object cache helper6675 is expected to be a kind of Gitlab::Json::PrecompiledJson6676 uses the presenter6677 is valid JSON6678 fetches from the cache6679 when a cache context is supplied6680 uses the context to augment the cache key6681 when expires_in is supplied6682 sets the expiry when accessing the cache6683 when a caller id is present6684 increments the counter6685 collection of objects6686 behaves like collection cache helper6687 is expected to be a kind of Gitlab::Json::PrecompiledJson6688 uses the presenter6689 is valid JSON6690 fetches from the cache6691 when a cache context is supplied6692 uses the context to augment the cache key6693 expires_in is supplied6694 sets the expiry when accessing the cache6695 when a caller id is present6696 when presentable has a group by clause6697 returns the presentables6698 when the presentables all miss6699 increments the counters6700 when the presents hit6701 increments the counters6702 when passed presenter is not a serializer or an entity6703 throws an exception6704Discussions::ResolveService6705 #execute6706 doesn't resolve discussions the user can't resolve6707 resolves the discussion6708 tracks thread resolve usage data6709 executes the notification service6710 schedules an auto-merge6711 sends GraphQL triggers6712 adds a system note to the discussion6713 can resolve multiple discussions at once6714 raises an argument error if discussions do not belong to the same noteable6715 with a project that requires all discussion to be resolved6716 does not schedule an auto-merge6717 schedules an auto-merge6718 when discussion is not for a merge request6719 does not execute the notification service6720 does not track thread resolve usage data6721 does not schedule an auto-merge6722 does not send GraphQL triggers6723 when resolving a discussion6724 in a design6725 when user resolving discussion has open todos6726 marks user todos for given discussion as done6727 in a merge request6728 does not mark user todo as done6729Gitlab::GithubImport::Importer::MilestonesImporter6730 #execute6731 imports the milestones in bulk6732 #build_milestones6733 returns an Array containing milestone rows6734 does not build milestones that already exist6735 does not build milestones that are invalid6736 #build_milestones_cache6737 builds the milestones cache6738 #build_attributes6739 returns the attributes of the milestone as a Hash6740 the returned Hash6741 includes the milestone number6742 includes the milestone title6743 includes the milestone description6744 includes the project ID6745 includes the milestone state6746 includes the due date6747 responds correctly to no due date value6748 includes the created timestamp6749 includes the updated timestamp6750 #each_milestone6751 returns the milestones6752Gitlab::Middleware::Multipart6753 #call6754 remote file mode6755 behaves like handling all upload parameters conditions6756 one root parameter6757 builds an UploadedFile6758 two root parameters6759 builds UploadedFiles6760 one nested parameter6761 builds an UploadedFile6762 two nested parameters6763 builds UploadedFiles6764 one deeply nested parameter6765 builds an UploadedFile6766 two deeply nested parameters6767 builds UploadedFiles6768 three parameters nested at different levels6769 builds UploadedFiles6770 and a path set6771 builds an UploadedFile6772 local file mode6773 behaves like handling all upload parameters conditions6774 one root parameter6775 builds an UploadedFile6776 two root parameters6777 builds UploadedFiles6778 one nested parameter6779 builds an UploadedFile6780 two nested parameters6781 builds UploadedFiles6782 one deeply nested parameter6783 builds an UploadedFile6784 two deeply nested parameters6785 builds UploadedFiles6786 three parameters nested at different levels6787 builds UploadedFiles6788 when file is6789 in allowed paths6790 builds an UploadedFile6791 not in allowed paths6792 returns an error6793 with dummy params in remote mode6794 with an invalid secret6795 is expected to raise JWT::VerificationError6796 with an invalid issuer6797 is expected to raise JWT::InvalidIssuerError6798 with invalid rewritten field key6799 [file]6800 is expected to raise RuntimeError with "invalid field: \"[file]\""6801 ;file6802 is expected to raise RuntimeError with "invalid field: \";file\""6803 file]6804 is expected to raise RuntimeError with "invalid field: \"file]\""6805 ;file]6806 is expected to raise RuntimeError with "invalid field: \";file]\""6807 file]]6808 is expected to raise RuntimeError with "invalid field: \"file]]\""6809 file;;6810 is expected to raise RuntimeError with "invalid field: \"file;;\""6811 with an invalid upload key6812 behaves like rejecting the invalid key6813 raises an error6814 behaves like rejecting the invalid key6815 raises an error6816 behaves like rejecting the invalid key6817 raises an error6818 behaves like rejecting the invalid key6819 raises an error6820 behaves like rejecting the invalid key6821 raises an error6822 behaves like rejecting the invalid key6823 raises an error6824 behaves like rejecting the invalid key6825 raises an error6826 with a modified JWT payload6827 raises an error6828 with a modified JWT sig6829 raises an error6830Gitlab::Metrics::Methods6831 #define_metrics6832 metrics access method not defined6833 defines metrics accessing method6834 metrics access method defined6835 raises error when trying to redefine method6836 metric is not cached6837 calls fetch_metric6838 metric is cached6839 returns cached metric6840 #fetch_metric6841 when counter is not cached6842 initializes counter metric6843 when counter is cached6844 uses class metric cache6845 when metric is reloaded6846 initializes counter metric6847 when metric is configured with feature6848 when feature is enabled6849DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)6850 initializes counter metric6851 when feature is disabled6852DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)6853 returns NullMetric6854 #define_metrics6855 metrics access method not defined6856 defines metrics accessing method6857 metrics access method defined6858 raises error when trying to redefine method6859 metric is not cached6860 calls fetch_metric6861 metric is cached6862 returns cached metric6863 #fetch_metric6864 when gauge is not cached6865 initializes counter metric6866 when gauge is cached6867 uses class metric cache6868 when metric is reloaded6869 initializes gauge metric6870 when metric is configured with feature6871 when feature is enabled6872DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)6873 initializes gauge metric6874 when feature is disabled6875DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)6876 returns NullMetric6877 #define_metrics6878 metrics access method not defined6879 defines metrics accessing method6880 metrics access method defined6881 raises error when trying to redefine method6882 metric is not cached6883 calls fetch_metric6884 metric is cached6885 returns cached metric6886 #fetch_metric6887 when histogram is not cached6888 initializes counter metric6889 when histogram is cached6890 uses class metric cache6891 when metric is reloaded6892 initializes histogram metric6893 when metric is configured with feature6894 when feature is enabled6895DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)6896 initializes histogram metric6897 when feature is disabled6898DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)6899 returns NullMetric6900ReactiveCaching6901 #with_reactive_cache6902 when cache is empty6903 is expected to be nil6904 updates the cache lifespan6905 behaves like reactive worker call6906 performs caching with correct worker6907 behaves like reactive worker call6908 performs caching with correct worker6909 when the cache is full6910 behaves like a cacheable value6911 is expected to eq 46912 does not enqueue a background worker6913 updates the cache lifespan6914 and expired6915 is expected to be nil6916 behaves like reactive worker call6917 performs caching with correct worker6918 behaves like reactive worker call6919 performs caching with correct worker6920 when the cache contains non-nil but blank value6921 behaves like a cacheable value6922 is expected to eq false6923 does not enqueue a background worker6924 updates the cache lifespan6925 and expired6926 is expected to be nil6927 behaves like reactive worker call6928 performs caching with correct worker6929 behaves like reactive worker call6930 performs caching with correct worker6931 when the cache contains nil value6932 behaves like a cacheable value6933 is expected to eq nil6934 does not enqueue a background worker6935 updates the cache lifespan6936 and expired6937 is expected to be nil6938 behaves like reactive worker call6939 performs caching with correct worker6940 behaves like reactive worker call6941 performs caching with correct worker6942 #with_reactive_cache_set6943 calls with_reactive_cache6944 data returned6945 saves keys in set6946 returns the data6947 .reactive_cache_worker_finder6948 with default reactive_cache_worker_finder6949 calls the activerecord find_by method6950 with custom reactive_cache_worker_finder6951 overrides the default reactive_cache_worker_finder6952 #clear_reactive_cache!6953 is expected to be nil6954 is expected to be falsy6955 #exclusively_update_reactive_cache!6956 when the lease is free and lifetime is not exceeded6957 takes and releases the lease6958 enqueues a repeat worker6959 calls a reactive_cache_updated only once if content did not change on subsequent update6960 does not delete the value key6961 behaves like successful cache6962 caches the result of #calculate_reactive_cache6963 does not raise the exception6964 when :external_dependency cache6965 enqueues a repeat worker6966 when reactive_cache_hard_limit is set6967 when cache size is over the overridden limit6968 raises ExceededReactiveCacheLimit exception and does not cache new data6969 when reactive_cache_limit_enabled? is overridden to return false6970 behaves like successful cache6971 caches the result of #calculate_reactive_cache6972 does not raise the exception6973 when cache size is within the overridden limit6974 behaves like successful cache6975 caches the result of #calculate_reactive_cache6976 does not raise the exception6977 and #calculate_reactive_cache raises an exception6978 leaves the cache untouched6979 does not enqueue a repeat worker6980 when lifetime is exceeded6981 skips the calculation6982 deletes the value key6983 when the lease is already taken6984 skips the calculation6985 default options6986 is expected to be a kind of ActiveSupport::Duration6987 is expected to be a kind of ActiveSupport::Duration6988 is expected to be a kind of ActiveSupport::Duration6989 is expected to respond to #call6990 is expected to be nil6991 is expected to respond to #call6992 classes including this concern6993 sets reactive_cache_work_type6994Projects::ProtectDefaultBranchService6995 #execute6996 without a default branch6997 does nothing6998 with a default branch6999 protects the default branch7000 #protect_default_branch7001 when branch protection is needed7002 changes the HEAD of the project7003 protects the default branch7004 when branch protection is not needed7005 changes the HEAD of the project7006 does not protect the default branch7007 when protected branch does not exist7008 changes the HEAD of the project7009 protects the default branch7010 when protected branch already exists7011 changes the HEAD of the project7012 does not protect the default branch7013 #create_protected_branch7014 creates the protected branch7015 #protect_branch?7016 when default branch protection is disabled7017 returns false7018 when default branch protection is enabled7019 returns false if the branch is already protected7020 returns true if the branch is not yet protected7021 #protected_branch_exists?7022 when feature flag `group_protected_branches` disabled7023 return false7024 when feature flag `group_protected_branches` enabled7025 return true7026 #default_branch7027 returns the default branch of the project7028 #push_access_level7029 when developers can push7030 returns the DEVELOPER access level7031 when developers can not push7032 returns the MAINTAINER access level7033 #merge_access_level7034 when developers can merge7035 returns the DEVELOPER access level7036 when developers can not merge7037 returns the MAINTAINER access level7038ci/status/_icon7039 when rendering status for build7040 when user has ability to see details7041 has link to build details page7042 when user do not have ability to see build details7043 contains build status text7044 does not contain links7045 when rendering status for external job7046 when user has ability to see commit status details7047 status has external target url7048 contains valid commit status text7049 has link to external status page7050 status do not have external target url7051 contains valid commit status text7052 has link to external status page7053Ci::ListConfigVariablesService7054 when sending a valid ref7055 returns variable list7056 when config has includes7057 returns variable list7058 when project CI config is external7059 when the user has access to the external project7060 returns variable list7061 when the user has no access to the external project7062 returns empty json7063 when sending an invalid ref7064 returns empty json7065 when sending an invalid config7066 returns empty result7067 when reading from cache7068 returns variable list7069 when the cache is empty7070 returns nil and enquques the worker to fill cache7071Gitlab::GithubImport::Importer::LabelsImporter7072 #execute7073 imports the labels in bulk7074 #build_labels7075 returns an Array containing label rows7076 does not build labels that already exist7077 does not build labels that are invalid7078 #build_labels_cache7079 builds the labels cache7080 #build_attributes7081 returns the attributes of the label as a Hash7082 the returned Hash7083 includes the label title7084 includes the label color7085 includes the project ID7086 includes the label type7087 includes the created timestamp7088 includes the updated timestamp7089 #each_label7090 returns the labels7091Gitlab::Verify::JobArtifacts7092 behaves like Gitlab::Verify::BatchVerifier subclass7093 batching7094 iterates through objects in batches7095 allows the starting ID to be specified7096 allows the finishing ID to be specified7097 #run_batches7098 passes artifacts with the correct file7099 fails artifacts with a missing file7100 fails artifacts with a mismatched checksum7101 with remote files7102 passes artifacts in object storage that exist7103 fails artifacts in object storage that do not exist7104Metrics::Dashboard::CustomMetricEmbedService7105 .valid_params?7106 is expected to be truthy7107 missing embedded7108 is expected to be falsey7109 not embedded7110 is expected to be falsey7111 non-system dashboard7112 is expected to be falsey7113 undefined dashboard7114 is expected to be truthy7115 non-custom metric group7116 is expected to be falsey7117 missing group7118 is expected to be falsey7119 missing title7120 is expected to be falsey7121 undefined y-axis label7122 is expected to be falsey7123 #get_dashboard7124 behaves like misconfigured dashboard service response7125 returns an appropriate message and status code7126 behaves like raises error for users with insufficient permissions7127 when the user does not have sufficient access7128 behaves like misconfigured dashboard service response7129 returns an appropriate message and status code7130 when the user is anonymous7131 behaves like misconfigured dashboard service response7132 returns an appropriate message and status code7133 the custom metric exists7134 does not cache the unprocessed dashboard7135 behaves like valid embedded dashboard service response7136 behaves like valid dashboard service response for schema7137 returns a json representation of the dashboard7138 multiple metrics meet criteria7139 includes both metrics in a single panel7140 behaves like valid embedded dashboard service response7141 behaves like valid dashboard service response for schema7142 returns a json representation of the dashboard7143 when the metric exists in another project7144 behaves like misconfigured dashboard service response7145 returns an appropriate message and status code7146Gitlab::MarkdownCache::ActiveRecord::Extension7147 an unchanged markdown field7148 is expected to eq "`Foo`"7149 is expected to eq "<p data-sourcepos=\"1:1-1:5\" dir=\"auto\"><code>Foo</code></p>"7150 is expected not to be truthy7151 is expected to eq 20971527152 a changed markdown field7153 is expected to eq "<p data-sourcepos=\"1:1-1:5\" dir=\"auto\"><code>Bar</code></p>"7154 is expected to eq 20971527155 when a markdown field is set repeatedly to an empty string7156 is expected to receive refresh_markdown_cache(*(any args)) 1 time7157 when a markdown field is set repeatedly to a string which renders as empty html7158 is expected to receive refresh_markdown_cache(*(any args)) 1 time7159 a non-markdown field changed7160 is expected to eq 27161 is expected to eq "`Foo`"7162 is expected to eq "<p data-sourcepos=\"1:1-1:5\" dir=\"auto\"><code>Foo</code></p>"7163 is expected to eq 20971527164 version is out of date7165 is expected to eq "<p data-sourcepos=\"1:1-1:5\" dir=\"auto\"><code>Bar</code></p>"7166 is expected to eq 20971527167 when an invalidating field is changed7168 invalidates the cache when project changes7169 invalidates the cache when author changes7170 .attributes7171 excludes cache attributes that is blacklisted by default7172 #cached_html_up_to_date?7173 returns false if markdown has been changed but html has not7174 returns true if markdown has not been changed but html has7175 returns true if markdown and html have both been changed7176 returns false if the markdown field is set but the html is not7177 #refresh_markdown_cache!7178 skips saving if not persisted7179 saves the changes7180 with note7181 calls store_mentions!7182 during import7183 does not call store_mentions!7184 when persisted cache is newer than current version7185 does not save the generated HTML7186 when persisted cache is nil7187 does not save the generated HTML7188Gitlab::Email::ReplyParser7189 #execute7190 returns an empty string if the message is blank7191 returns an empty string if the message is not an email7192 returns an empty string if there is no reply content7193 properly renders plaintext-only email7194 properly renders html-only email with table and blockquote7195 supports a Dutch reply7196 removes an 'on date wrote' quoting line7197 handles multiple paragraphs7198 handles multiple paragraphs when parsing html7199 handles newlines7200 handles inline reply7201 properly renders email reply from gmail web client7202 properly renders email reply from iOS default mail client7203 properly renders email reply from Android 5 gmail client7204 properly renders email reply from Windows 8.1 Metro default mail client7205 properly renders email reply from MS Outlook client7206 properly renders html-only email from MS Outlook7207 does not wrap links with no href in unnecessary brackets7208 does not trim reply if trim_reply option is false7209 appends trimmed reply when when append_reply option is true7210 when allow_only_quotes is true7211 returns quoted text from email7212 properly renders email reply from gmail web client7213 is expected to eq "### This is a reply from standard GMail in Google Chrome.\n\nThe quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.\n\nHere's some **bold** text, **strong** text and *italic* in Markdown.\n\nHere's a link http://example.com\n\nHere's an img <details>\n<summary>\nOne</summary>\nSome details</details>\n\n<details>\n<summary>\nTwo</summary>\nSome details</details>\n\nTest reply.\n\nFirst paragraph.\n\nSecond paragraph."7214 non-UTF-8 content7215 parses body under UTF-8 encoding7216 charset is absent and reply trimming is disabled7217 parses body under UTF-8 encoding7218 multipart email7219 parses body under UTF-8 encoding7220Gitlab::Database::Partitioning::List::ConvertTable7221 # order random7222 #revert_preparation_for_partitioning7223 removes a check constraint7224 #prepare_for_partitioning7225 adds a check constraint7226 when it fails to add constraint7227 raises UnableToPartition error7228 when async7229 adds a NOT VALID check constraint7230 adds a PostgresAsyncConstraintValidation record7231 when constraint exists but is not valid7232 validates the check constraint7233 when it fails to validate constraint7234 raises UnableToPartition error7235 when constraint exists and is valid7236 raises UnableToPartition error7237 #partition7238WARNING: Active Record does not support composite primary key.7239_test_table_to_partition_parent has composite primary key. Composite primary key is ignored.7240 migrates the table to a partitioned table7241 when the primary key is incorrect7242 throws a reasonable error message7243 when there is not a supporting check constraint7244 throws a reasonable error message7245 when supporting check constraint is not valid7246 throws a reasonable error message7247 when the existing table is owned by a different user7248 partitions without error7249 with locking tables7250 locks the table7251 when an error occurs during the conversion7252 when partitioning fails the first time7253 creating parent table7254 recovers from a fault7255 adding the first foreign key7256 recovers from a fault7257 adding the second foreign key7258 recovers from a fault7259 attaching table7260 recovers from a fault7261 when table has LFK triggers7262 moves the trigger on the parent table7263 with locking tables7264 locks the table before dropping the triggers7265 #revert_partitioning7266 detaches the partition7267 does not drop the child partition7268 removes the parent table7269 re-adds the check constraint7270 moves sequences back to the original table7271 when table has LFK triggers7272 restores the trigger on the partition7273Gitlab::Kubernetes::DefaultNamespace7274 #from_environment_name7275 generates a slug and passes it to #from_environment_slug7276 #from_environment_slug7277 namespace per environment is enabled7278 platform namespace is specified7279 is expected to eq "platform-namespace-environment10"7280 cluster is unmanaged7281 is expected to eq "platform-namespace"7282 platform namespace is blank7283 constructs a namespace from the project and environment slug7284 behaves like handles very long project paths7285 is expected to satisfy expression `s.length <= 63`7286 namespace per environment is disabled7287 platform namespace is specified7288 is expected to eq "platform-namespace"7289 platform namespace is blank7290 constructs a namespace from just the project7291 behaves like handles very long project paths7292 is expected to satisfy expression `s.length <= 63`7293Gitlab::ManifestImport::ProjectCreator7294 #execute7295 is expected to be a kind of Project(id: integer, name: string, path: string, description: text, created_at: datetime, updated_at: datetime, creator_id: integer, namespace_id: integer, last_activity_at: datetime, import_url: string, visibility_level: integer, archived: boolean, avatar: string, merge_requests_template: text, star_count: integer, merge_requests_rebase_enabled: boolean, import_type: string, import_source: string, approvals_before_merge: integer, reset_approvals_on_push: boolean, merge_requests_ff_only_enabled: boolean, issues_template: text, mirror: boolean, mirror_last_update_at: datetime, mirror_last_successful_update_at: datetime, mirror_user_id: integer, shared_runners_enabled: boolean, runners_token: string, build_allow_git_fetch: boolean, build_timeout: integer, mirror_trigger_builds: boolean, pending_delete: boolean, public_builds: boolean, last_repository_check_failed: boolean, last_repository_check_at: datetime, only_allow_merge_if_pipeline_succeeds: boolean, has_external_issue_tracker: boolean, repository_storage: string, repository_read_only: boolean, request_access_enabled: boolean, has_external_wiki: boolean, ci_config_path: string, lfs_enabled: boolean, description_html: text, only_allow_merge_if_all_discussions_are_resolved: boolean, repository_size_limit: integer, printing_merge_request_link_enabled: boolean, auto_cancel_pending_pipelines: integer, service_desk_enabled: boolean, cached_markdown_version: integer, delete_error: text, last_repository_updated_at: datetime, disable_overriding_approvers_per_merge_request: boolean, storage_version: integer, resolve_outdated_diff_discussions: boolean, remote_mirror_available_overridden: boolean, only_mirror_protected_branches: boolean, pull_mirror_available_overridden: boolean, jobs_cache_index: integer, external_authorization_classification_label: string, mirror_overwrites_diverged_branches: boolean, pages_https_only: boolean, external_webhook_token: string, packages_enabled: boolean, merge_requests_author_approval: boolean, pool_repository_id: integer, runners_token_encrypted: string, bfg_object_map: string, detected_repository_languages: boolean, merge_requests_disable_committers_approval: boolean, require_password_to_approve: boolean, emails_disabled: boolean, max_pages_size: integer, max_artifacts_size: integer, pull_mirror_branch_prefix: string, remove_source_branch_after_merge: boolean, marked_for_deletion_at: date, marked_for_deletion_by_user_id: integer, autoclose_referenced_issues: boolean, suggestion_commit_message: string, project_namespace_id: integer, hidden: boolean)7296 is expected to change `Project.count` by 17297 is expected to change `Group.count` by 17298 creates project with valid full path, import url and import source7299WebIdeTerminalEntity7300 is expected to have key :id7301 is expected to have key :status7302 is expected to have key :show_path7303 is expected to have key :cancel_path7304 is expected to have key :retry_path7305 is expected to have key :terminal_path7306 is expected to have key :services7307 is expected to have key :proxy_websocket_path7308 when feature flag build_service_proxy is disabled7309 is expected not to have key :proxy_websocket_path7310Gitlab::ImportExport::Base::RelationFactory7311 #create7312 when relation is invalid7313 returns without creating new relations7314 when the relation is predefined7315 returns without creating a new relation7316 when author relation7317 returns author hash unchanged7318 when #setup_models is not implemented7319 raises NotImplementedError7320 when #setup_models is implemented7321 creates imported object7322 when relation contains user references7323 maps the right author to the imported note7324 when relation contains token attributes7325 removes token attributes7326 when relation contains encrypted attributes7327 removes encrypted attributes7328 with duplicate assignees7329 when duplicate assignees are present7330 removes duplicate assignees7331 .relation_class7332 when relation name is pluralized7333 returns constantized class7334 when relation name is singularized7335 returns constantized class7336GroupMemberPresenter7337 #can_resend_invite?7338 when group_member is invited7339 and user can admin_group_member7340 is expected to eq true7341 and user cannot admin_group_member7342 is expected to eq false7343 when group_member is not invited7344 and user can admin_group_member7345 is expected to eq false7346 and user cannot admin_group_member7347 is expected to eq false7348 #last_owner?7349 when member is the last owner of the group7350 is expected to eq true7351 when member is not the last owner of the group7352 is expected to eq false7353 #can_update?7354 when user can update_group_member7355 is expected to eq true7356 when user cannot update_group_member7357 is expected to eq false7358 #can_remove?7359 when user can destroy_group_member7360 is expected to eq true7361 when user cannot destroy_group_member7362 is expected to eq false7363 #can_approve?7364 when group_member has request an invite7365 when user can update_group_member7366 is expected to eq true7367 when user cannot update_group_member7368 is expected to eq false7369 when group_member did not request an invite7370 when user can update_group_member7371 is expected to eq false7372 when user cannot update_group_member7373 is expected to eq false7374 behaves like #valid_level_roles7375 when no parent member is present7376 returns all permissible roles7377 when parent member is present7378 returns higher roles when a parent member is present7379projects/issues/service_desk/_issue.html.haml7380 # order random7381 timestamp7382 when issue is open7383 shows last updated date7384 when issue is closed7385 shows closed date7386 when issue is closed but closed_at is empty7387 shows last updated date7388 when issue is service desk issue7389 with anonymous user7390 obfuscates service_desk_reply_to email for anonymous user7391 with signed in user7392 when user has no role in project7393 obfuscates service_desk_reply_to email7394 when user has guest role in project7395 obfuscates service_desk_reply_to email7396 when user has (at least) reporter role in project7397 shows full service_desk_reply_to email7398Sidebars::Projects::Menus::PackagesRegistriesMenu7399 behaves like not serializable as super_sidebar_menu_args7400 returns nil7401 #render?7402 when menu does not have any menu item to show7403 returns false7404 when menu has menu items to show7405 returns true7406 #link7407 when Packages Registry is visible7408 menu link points to Packages Registry page7409 when Packages Registry is not visible7410 menu link points to Container Registry page7411 when Container Registry is not visible7412 does not display menu link7413 Menu items7414 Packages Registry7415 when user can read packages7416 when config package setting is disabled7417 the menu item is not added to list of menu items7418 when config package setting is enabled7419 the menu item is added to list of menu items7420 when user cannot read packages7421 the menu item is not added to list of menu items7422 Container Registry7423 when user can read container images7424 when config registry setting is disabled7425 the menu item is not added to list of menu items7426 when config registry setting is enabled7427 the menu item is added to list of menu items7428 when user cannot read container images7429 the menu item is not added to list of menu items7430 Infrastructure Registry7431 the menu item is added to list of menu items7432 when config package setting is disabled7433 does not add the menu item to the list7434 when user cannot read packages7435 does not add the menu item to the list7436 Harbor Registry7437 when config harbor registry setting is disabled7438 does not add the menu item to the list7439 when config harbor registry setting is enabled7440 the menu item is added to list of menu items7441 when config harbor registry setting is not activated7442 does not add the menu item to the list7443 Model experiments7444 when :ml_experiment_tracking is enabled7445 shows the menu item7446 when :ml_experiment_tracking is disabled7447 does not show the menu item7448Crm::ContactsFinder7449 #execute7450 when customer relations feature is enabled for the group7451 when user does not have permissions to see contacts in the group7452 returns an empty array7453 when user is member of the root group7454 when feature flag is enabled7455 returns all group contacts7456 when user is member of the sub group7457 returns an empty array7458 when customer relations feature is disabled for the group7459 returns an empty array7460 with search informations7461 when search term is empty7462 returns all group contacts alphabetically ordered7463 when search term is not empty7464 searches for first name ignoring casing7465 searches for last name ignoring casing7466 searches for email7467 searches for description ignoring casing7468 fuzzy searches for email and last name7469 when searching for contacts state7470 returns only inactive contacts7471 returns only active contacts7472 when searching for contacts ids7473 returns the expected contacts7474 when sorting7475 returns the contacts sorted by email in ascending order7476 returns the contacts sorted by description in ascending order7477 returns the contacts sorted by organization in ascending order7478 .counts_by_state7479 returns correct counts7480ErrorTracking::Error7481 relationships7482 is expected to belong to project required: false7483 is expected to have many events7484 validations7485 is expected to validate that :name cannot be empty/falsy7486 is expected to validate that the length of :name is at most 2557487 is expected to validate that :description cannot be empty/falsy7488 is expected to validate that the length of :description is at most 10247489 is expected to validate that :actor cannot be empty/falsy7490 is expected to validate that the length of :actor is at most 2557491 is expected to validate that the length of :platform is at most 2557492 .report_error7493 updates existing record with a new timestamp7494 .sort_by_attribute7495 id desc by default7496 is expected to eq [#<ErrorTracking::Error id: 3, project_id: 1317, name: "ActionView::MissingTemplate", description: [FILTERED], actor: "PostsController#edit", first_seen_at: "2023-05-12 06:42:06.872037829 +0000", last_seen_at: "2023-06-01 06:42:06.872161359 +0000", platform: "ruby", created_at: "2023-06-02 06:42:07.157150898 +0000", updated_at: "2023-06-02 06:42:07.157150898 +0000", events_count: 0, status: "unresolved">, #<ErrorTracking::Error id: 2, project_id: 1316, name: "ActionView::MissingTemplate", description: [FILTERED], actor: "PostsController#edit", first_seen_at: "2023-05-19 06:42:06.569410583 +0000", last_seen_at: "2023-05-26 06:42:06.569585373 +0000", platform: "ruby", created_at: "2023-06-02 06:42:06.867411760 +0000", updated_at: "2023-06-02 06:42:06.867411760 +0000", events_count: 0, status: "unresolved">, #<ErrorTracking::Error id: 1, project_id: 1315, name: "ActionView::MissingTemplate", description: [FILTERED], actor: "PostsController#edit", first_seen_at: "2023-06-02 06:42:06.000000000 +0000", last_seen_at: "2023-06-02 06:42:06.000000000 +0000", platform: "ruby", created_at: "2023-06-02 06:42:06.120532808 +0000", updated_at: "2023-06-02 06:42:06.120532808 +0000", events_count: 0, status: "unresolved">]7497 first_seen7498 is expected to eq [#<ErrorTracking::Error id: 1, project_id: 1315, name: "ActionView::MissingTemplate", description: [FILTERED], actor: "PostsController#edit", first_seen_at: "2023-06-02 06:42:06.000000000 +0000", last_seen_at: "2023-06-02 06:42:06.000000000 +0000", platform: "ruby", created_at: "2023-06-02 06:42:06.120532808 +0000", updated_at: "2023-06-02 06:42:06.120532808 +0000", events_count: 0, status: "unresolved">, #<ErrorTracking::Error id: 4, project_id: 1318, name: "ActionView::MissingTemplate", description: [FILTERED], actor: "PostsController#edit", first_seen_at: "2023-05-19 06:42:07.209084530 +0000", last_seen_at: "2023-05-26 06:42:07.209276570 +0000", platform: "ruby", created_at: "2023-06-02 06:42:07.507735336 +0000", updated_at: "2023-06-02 06:42:07.507735336 +0000", events_count: 0, status: "unresolved">, #<ErrorTracking::Error id: 5, project_id: 1319, name: "ActionView::MissingTemplate", description: [FILTERED], actor: "PostsController#edit", first_seen_at: "2023-05-12 06:42:07.512129876 +0000", last_seen_at: "2023-06-01 06:42:07.512261286 +0000", platform: "ruby", created_at: "2023-06-02 06:42:07.804625543 +0000", updated_at: "2023-06-02 06:42:07.804625543 +0000", events_count: 0, status: "unresolved">]7499 last_seen7500 is expected to eq [#<ErrorTracking::Error id: 1, project_id: 1315, name: "ActionView::MissingTemplate", description: [FILTERED], actor: "PostsController#edit", first_seen_at: "2023-06-02 06:42:06.000000000 +0000", last_seen_at: "2023-06-02 06:42:06.000000000 +0000", platform: "ruby", created_at: "2023-06-02 06:42:06.120532808 +0000", updated_at: "2023-06-02 06:42:06.120532808 +0000", events_count: 0, status: "unresolved">, #<ErrorTracking::Error id: 7, project_id: 1321, name: "ActionView::MissingTemplate", description: [FILTERED], actor: "PostsController#edit", first_seen_at: "2023-05-12 06:42:08.175813589 +0000", last_seen_at: "2023-06-01 06:42:08.175961789 +0000", platform: "ruby", created_at: "2023-06-02 06:42:08.554015044 +0000", updated_at: "2023-06-02 06:42:08.554015044 +0000", events_count: 0, status: "unresolved">, #<ErrorTracking::Error id: 6, project_id: 1320, name: "ActionView::MissingTemplate", description: [FILTERED], actor: "PostsController#edit", first_seen_at: "2023-05-19 06:42:07.856138596 +0000", last_seen_at: "2023-05-26 06:42:07.856359036 +0000", platform: "ruby", created_at: "2023-06-02 06:42:08.171860600 +0000", updated_at: "2023-06-02 06:42:08.171860600 +0000", events_count: 0, status: "unresolved">]7501 frequency7502 is expected to eq [#<ErrorTracking::Error id: 8, project_id: 1322, name: "ActionView::MissingTemplate", description: [FILTERED], actor: "PostsController#edit", first_seen_at: "2023-05-19 06:42:08.605005107 +0000", last_seen_at: "2023-05-26 06:42:08.605192717 +0000", platform: "ruby", created_at: "2023-06-02 06:42:08.921475261 +0000", updated_at: "2023-06-02 06:42:08.921475261 +0000", events_count: 2, status: "unresolved">, #<ErrorTracking::Error id: 9, project_id: 1323, name: "ActionView::MissingTemplate", description: [FILTERED], actor: "PostsController#edit", first_seen_at: "2023-05-12 06:42:08.925593930 +0000", last_seen_at: "2023-06-01 06:42:08.925718750 +0000", platform: "ruby", created_at: "2023-06-02 06:42:09.220638437 +0000", updated_at: "2023-06-02 06:42:09.220638437 +0000", events_count: 1, status: "unresolved">, #<ErrorTracking::Error id: 1, project_id: 1315, name: "ActionView::MissingTemplate", description: [FILTERED], actor: "PostsController#edit", first_seen_at: "2023-06-02 06:42:06.000000000 +0000", last_seen_at: "2023-06-02 06:42:06.000000000 +0000", platform: "ruby", created_at: "2023-06-02 06:42:06.120532808 +0000", updated_at: "2023-06-02 06:42:06.120532808 +0000", events_count: 0, status: "unresolved">]7503 #title7504 is expected to eq "ActionView::MissingTemplate Missing template posts/edit"7505 #to_sentry_error7506 is expected to be a kind of Gitlab::ErrorTracking::Error7507 #to_sentry_detailed_error7508 is expected to be a kind of Gitlab::ErrorTracking::DetailedError7509 is expected to be truthy7510 is expected to eq "db853d7"7511 is expected to eq "db853d7"7512Ci::PipelinesHelper7513 pipeline_warnings7514 when pipeline has no warnings7515 is empty7516 when pipeline has warnings7517 returns a warning callout box7518 lists the the warnings7519 warning_header7520 when warnings are more than max cap7521 returns 30 warning(s) found: showing first 257522 when warnings are less than max cap7523 returns 15 warning(s) found7524 has_gitlab_ci?7525 builds_enabled?: true, has_ci?: true, result: true7526 is expected to eq true7527 builds_enabled?: true, has_ci?: false, result: false7528 is expected to eq false7529 builds_enabled?: false, has_ci?: true, result: false7530 is expected to eq false7531 builds_enabled?: false, has_ci?: false, result: false7532 is expected to eq false7533 has_pipeline_badges?7534 when pipeline has a badge7535 shows pipeline badges7536 when pipeline has no badges7537 shows pipeline badges7538 #pipelines_list_data7539 has the expected keys7540 when the project is eligible for the `ios_specific_templates` experiment7541 the `registration_token` attribute7542 when the `ios_specific_templates` experiment variant is control7543 is expected to be nil7544 when the `ios_specific_templates` experiment variant is candidate7545 when the user cannot register project runners7546 is expected to be nil7547 when the user can register project runners7548 is expected to eq "GR13489415LydazT6piAkamzVRaab"7549 the `ios_runners_available` attribute7550 when the `ios_specific_templates` experiment variant is control7551 is expected to be nil7552 when the `ios_specific_templates` experiment variant is candidate7553 when shared runners are not enabled7554 is expected to eq "false"7555 when shared runners are enabled7556 is expected to eq "true"7557 #visibility_pipeline_id_type7558 when user is not signed in7559 shows default pipeline id type7560 when user is signed in7561 shows user preference pipeline id type7562BulkImports::CreatePipelineTrackersService7563 #execute!7564 when entity is group7565 creates trackers for group entity7566 when entity is project7567 creates trackers for project entity7568 when tracker configuration has a minimum version defined7569 when the source instance version is older than the tracker mininum version7570 creates trackers as skipped if version requirement does not meet7571 logs an info message for the skipped pipelines7572 when the source instance version is undefined7573 creates trackers as created7574 when tracker configuration has a maximum version defined7575 when the source instance version is older than the tracker maximum version7576 creates trackers as skipped if version requirement does not meet7577 when the source instance version is a patch version7578 creates trackers with the same status as the non-patch source version7579Packages::CreateDependencyService7580 #execute7581 when packages are published7582 creates dependencies and links7583 with repeated packages7584 creates dependencies and links7585 with dependencies bulk insert conflicts7586 creates dependences and links7587 with existing dependencies7588 reuses them7589 with a dependency not described with a hash7590 creates dependencies and links7591Projects::RefreshBuildArtifactsSizeStatisticsService7592 #execute7593 resets the build artifacts size stats7594 resets the buffered counter7595 updates the last_job_artifact_id to the ID of the last artifact from the batch7596 updates the last_job_artifact_id to the ID of the last artifact from the project7597 requeues the refresh job7598 when an error happens after the recalculation has started7599 keeps the last_job_artifact_id unchanged7600 keeps the last_job_artifact_id_on_refresh_start unchanged7601 keeps the state of the refresh record at running7602 when there are no more artifacts to recalculate for the next refresh job7603 schedules the refresh to be finalized7604MilestoneNote7605 .from_event7606 behaves like a synthetic note7607 behaves like a system note7608 has the correct attributes7609 #discussion_id7610 returns the expected discussion id7611 with a remove milestone event7612 creates the expected note7613Resolvers::BoardListsResolver7614 #resolve7615 when project boards7616 behaves like group and project board lists resolver7617 does not create the backlog list7618 with unauthorized user7619 raises an error7620 when authorized7621 returns a list of board lists7622 when another user has list preferences7623 returns the complete list of board lists for this user7624 when querying for a single list7625 returns specified list7626 returns empty result if list is not found7627 generates an error if list ID is not valid7628 when group boards7629 behaves like group and project board lists resolver7630 does not create the backlog list7631 with unauthorized user7632 raises an error7633 when authorized7634 returns a list of board lists7635 when another user has list preferences7636 returns the complete list of board lists for this user7637 when querying for a single list7638 returns specified list7639 returns empty result if list is not found7640 generates an error if list ID is not valid7641SnippetsHelper7642 #embedded_raw_snippet_button7643 for Personal Snippets7644 returns view raw button of embedded snippets7645 for Project Snippets7646 returns view raw button of embedded snippets7647 #embedded_snippet_download_button7648 for Personal Snippets7649 returns download button of embedded snippets7650 for Project Snippets7651 returns download button of embedded snippets7652 #embedded_snippet_copy_button7653 for Personal Snippets7654 returns copy button of embedded snippets7655 for Project Snippets7656 returns copy button of embedded snippets7657 path helpers7658 #toggle_award_emoji_project_project_snippet_path7659 #toggle_award_emoji_project_project_snippet_url7660 #snippet_badge7661 when snippet is private7662 returns the snippet badge7663 when snippet is public7664 does not return anything7665 when snippet is internal7666 does not return anything7667 #snippet_report_abuse_path7668 returns false if the user cannot submit the snippet as spam7669 returns true if the user can submit the snippet as spam7670Gitlab::GithubImport::Importer::SingleEndpointDiffNotesImporter7671 is expected to includes the Gitlab::GithubImport::ParallelScheduling module7672 is expected to includes the Gitlab::GithubImport::SingleEndpointNotesImporting module7673 is expected to eq Gitlab::GithubImport::Representation::DiffNote7674 is expected to eq Gitlab::GithubImport::Importer::DiffNoteImporter7675 is expected to eq :pull_request_comments7676 is expected to eq :diff_note7677 is expected to eq 17678 #each_object_to_import7679 fetches data7680 skips cached pages7681 skips cached merge requests7682ButtonHelper7683 http_clone_button7684 with internal auth enabled7685 when user has a password7686 shows no tooltip7687 when user has password automatically set7688 shows the password text on the dropdown7689 with internal auth disabled7690 when user has no personal access tokens7691 has a personal access token text on the dropdown description7692 when user has personal access tokens7693 does not have a personal access token text on the dropdown description7694 when user is ldap user7695 shows no tooltip7696 ssh_button7697 without an ssh key on the user7698 shows a warning on the dropdown description7699 without an ssh key on the user and user_show_add_ssh_key_message unset7700 there is no warning on the dropdown description7701 with an ssh key on the user7702 there is no warning on the dropdown description7703 ssh and http clone buttons7704 only shows the title of any of the clone buttons when append_link is false7705 clipboard_button7706 with default options7707 when no `text` attribute is not provided7708 shows copy to clipboard button with default configuration and no text set to copy7709 when `text` attribute is provided7710 shows copy to clipboard button with provided `text` to copy7711 when `title` attribute is provided7712 shows copy to clipboard button with provided `title` as tooltip7713 with `button_text` attribute provided7714 shows copy to clipboard button with provided `button_text` as button label7715 adds `gl-button-icon` class to icon7716 with `hide_tooltip` attribute provided7717 shows copy to clipboard button without tooltip support7718 with `hide_button_icon` attribute provided7719 shows copy to clipboard button without tooltip support7720 with `itemprop` attribute provided7721 shows copy to clipboard button with `itemprop` attribute7722Mutations::IncidentManagement::TimelineEvent::Destroy7723 # order random7724 is expected to require graphql authorizations :admin_incident_management_timeline_event7725 #resolve7726 when a user has permissions to delete timeline event7727 when TimelineEvents::DestroyService responds with success7728 returns the timeline event with no errors7729 when TimelineEvents::DestroyService responds with an error7730 returns errors7731 when a user has no permissions to delete timeline event7732 raises an error7733rest-client dns rebinding protection7734 behaves like a request using Gitlab::UrlBlocker7735 when local requests are not allowed7736 allows an external request with http7737 allows an external request with https7738 raises error when it is a request that resolves to a local address7739 raises error when it is a request that resolves to a localhost address7740 raises error when it is a request to local address7741 raises error when it is a request to localhost address7742 when port different from URL scheme is used7743 allows the request7744 raises error when it is a request to local address7745 raises error when it is a request to localhost address7746 when DNS rebinding protection is disabled7747 allows the request7748 when http(s) proxy environment variable is set7749 allows the request7750 when local requests are allowed7751 allows an external request7752 allows an external request that resolves to a local address7753 allows an external request that resolves to a localhost address7754 allows a local address request7755 allows a localhost address request7756 when a non HTTP/HTTPS URL is provided7757 raises an error7758Gitlab::Harbor::Client7759 #initialize7760 if integration is nil7761 raises ConfigError7762 integration is provided7763 is initialized successfully7764 #get_repositories7765 with valid params7766 get repositories7767 when harbor project does not exist7768 raises Gitlab::Harbor::Client::Error7769 with invalid response7770 raises Gitlab::Harbor::Client::Error7771 #get_artifacts7772 with valid params7773 get artifacts7774 when harbor repository does not exist7775 raises Gitlab::Harbor::Client::Error7776 with invalid response7777 raises Gitlab::Harbor::Client::Error7778 #get_tags7779 with valid params7780 get tags7781 when harbor artifact does not exist7782 raises Gitlab::Harbor::Client::Error7783 with invalid response7784 raises Gitlab::Harbor::Client::Error7785 #check_project_availability7786 calls api/v2.0/projects successfully7787Resolvers::DesignManagement::VersionsResolver7788 #resolve7789 a design collection7790 behaves like a source of versions7791 when the user is not authorized7792 is expected to be empty7793 without constraints7794 returns the ordered versions7795 loading associations7796 prevents N+1 queries when loading author7797 when constrained7798 by earlier_or_equal_to_id7799 behaves like a query for all_versions up to the first_version7800 is expected to eq #<ActiveRecord::Relation [#<DesignManagement::Version id: 60, sha: "1236bafb0f42b86b88ee9edd66236836b2cc2da8", issue_id: 195, created_at: "2023-06-02 06:42:46.245807000 +0000", author_id: 1434>]>7801 by earlier_or_equal_to_sha7802 behaves like a query for all_versions up to the first_version7803 is expected to eq #<ActiveRecord::Relation [#<DesignManagement::Version id: 60, sha: "1236bafb0f42b86b88ee9edd66236836b2cc2da8", issue_id: 195, created_at: "2023-06-02 06:42:46.245807000 +0000", author_id: 1434>]>7804 by earlier_or_equal_to_sha AND earlier_or_equal_to_id7805 and they match7806 behaves like a query for all_versions up to the first_version7807 is expected to eq #<ActiveRecord::Relation [#<DesignManagement::Version id: 60, sha: "1236bafb0f42b86b88ee9edd66236836b2cc2da8", issue_id: 195, created_at: "2023-06-02 06:42:46.245807000 +0000", author_id: 1434>]>7808 and they do not match7809 generates a suitable error7810 a design7811 behaves like a source of versions7812 when the user is not authorized7813 is expected to be empty7814 without constraints7815 returns the ordered versions7816 loading associations7817 prevents N+1 queries when loading author7818 when constrained7819 by earlier_or_equal_to_id7820 behaves like a query for all_versions up to the first_version7821 is expected to eq #<ActiveRecord::AssociationRelation [#<DesignManagement::Version id: 60, sha: "1236bafb0f42b86b88ee9edd66236836b2cc2da8", issue_id: 195, created_at: "2023-06-02 06:42:46.245807000 +0000", author_id: 1434>]>7822 by earlier_or_equal_to_sha7823 behaves like a query for all_versions up to the first_version7824 is expected to eq #<ActiveRecord::AssociationRelation [#<DesignManagement::Version id: 60, sha: "1236bafb0f42b86b88ee9edd66236836b2cc2da8", issue_id: 195, created_at: "2023-06-02 06:42:46.245807000 +0000", author_id: 1434>]>7825 by earlier_or_equal_to_sha AND earlier_or_equal_to_id7826 and they match7827 behaves like a query for all_versions up to the first_version7828 is expected to eq #<ActiveRecord::AssociationRelation [#<DesignManagement::Version id: 60, sha: "1236bafb0f42b86b88ee9edd66236836b2cc2da8", issue_id: 195, created_at: "2023-06-02 06:42:46.245807000 +0000", author_id: 1434>]>7829 and they do not match7830 generates a suitable error7831Clusters::DestroyService7832 #execute7833 when correct params7834 when params are empty7835 behaves like only removes cluster7836 does not start cleanup7837 destroys the cluster7838 when cleanup param is false7839 behaves like only removes cluster7840 does not start cleanup7841 destroys the cluster7842 when cleanup param is true7843 does not destroy cluster7844 transition cluster#cleanup_status from cleanup_not_started to cleanup_removing_project_namespaces7845shared/runners/_runner_details.html.haml7846 # order random7847 Runner id and type7848 when runner is of type instance7849 is expected to have text "Runner #1147 shared"7850 when runner is of type group7851 is expected to have text "Runner #1148 group"7852 when runner is of type project7853 is expected to have text "Runner #1149 project"7854 Can run untagged jobs value7855 when runner run untagged job is set7856 is expected to have text "Can run untagged jobs Yes"7857 when runner run untagged job is unset7858 is expected to have text "Can run untagged jobs No"7859 Locked to this project value7860 when runner locked is not set7861 is expected to have text "Locked to this project No"7862 when runner is of type group7863 is expected not to have text "Locked to this project"7864 when runner locked is set7865 is expected to have text "Locked to this project Yes"7866 when runner is of type group7867 is expected not to have text "Locked to this project"7868 Last contact value7869 when runner have not contacted yet7870 is expected to have text "Last contact Never"7871 when runner have already contacted7872 is expected to have text "Last contact May 27, 2023"7873 Metadata values7874 is expected to have text "Name test runner"7875 is expected to have text "Version 11.4.0"7876 is expected to have text "IP Address 127.1.2.3"7877 is expected to have text "Revision abcd1234"7878 is expected to have text "Platform darwin"7879 is expected to have text "Architecture amd64"7880 is expected to have text "Description My runner31"7881 Maximum job timeout value7882 is expected to have text "Maximum job timeout 1h 30m"7883 Protected value7884 when runner is not protected7885 is expected to have text "Protected No"7886 when runner is protected7887 is expected to have text "Protected Yes"7888 Tags value7889 when runner does not have tags7890 is expected to have text "Tags"7891 is expected not to have visible css "span.gl-badge.badge.badge-info"7892 when runner have tags7893 is expected to have text "Tags tag1 tag2 tag3"7894 is expected to have visible css "span.gl-badge.badge.badge-info"7895 Active value7896 when runner is active7897 is expected to have text "Active Yes"7898 when runner is inactive7899 is expected to have text "Active No"7900Gitlab::ImportExport::RepoRestorer7901 bundle a project Git repo7902 restores the repo successfully7903 when the repository already exists7904 deletes the existing repository before importing7905 restore a wiki Git repo7906 restores the wiki repo successfully7907 no wiki in the bundle7908 does not creates an empty wiki7909 when wiki already exists7910 does not cause an error when restoring7911Gitlab::GithubImport::Importer::PullRequests::ReviewsImporter7912 # order random7913 is expected to includes the Gitlab::GithubImport::ParallelScheduling module7914 #sidekiq_worker_class7915 is expected to eq Gitlab::GithubImport::PullRequests::ImportReviewWorker7916 #importer_class7917 is expected to eq Gitlab::GithubImport::Importer::PullRequests::ReviewImporter7918 #collection_method7919 is expected to eq :pull_request_reviews7920 #each_object_to_import7921 fetches the pull requests reviews data7922 skips cached pages7923 skips cached merge requests7924 #representation_class7925 is expected to eq Gitlab::GithubImport::Representation::PullRequestReview7926 #object_type7927 is expected to eq :pull_request_review7928 #id_for_already_imported_cache7929 is expected to eq 17930Gitlab::OmniauthInitializer7931 .arguments_for7932 when there are no args at all7933 returns an empty array7934 when there is an app_id and an app_secret7935 includes both of them, in positional order7936 when there is an app_id and an app_secret, and an array of args7937 concatenates the args on the end7938 when there is an app_id and an app_secret, and an array of args, and default values7939 concatenates the args on the end7940 when there is an app_id and an app_secret, and a hash of args7941 concatenates the args on the end7942 when there is an app_id and an app_secret, and a hash of args, and default arguments7943 concatenates the args on the end7944 when there is an app_id and an app_secret, no args, and default values7945 concatenates the args on the end7946 when there are args, of an unsupported type7947 when there are default arguments7948 tracks a configuration error7949 when there are no default arguments7950 tracks a configuration error7951 #execute7952 configures providers from array7953 allows "args" array for app_id and app_secret7954 passes app_id and app_secret as additional arguments7955 passes "args" hash as symbolized hash argument7956 normalizes a String strategy_class7957 allows a class to be specified in strategy_class7958 throws an error for an invalid strategy_class7959 configures defaults for google_oauth27960 configures defaults for gitlab7961 configures defaults for gitlab, when arguments are not provided7962 configures defaults for gitlab, when array arguments are provided7963 tracks a configuration error if the arguments are neither a hash nor an array7964 .full_host7965 is expected to eq "http://localhost/test"7966Packages::Npm::CreateMetadataCacheService7967 # order random7968 #execute7969 creates a new metadata cache7970 obtains a lease to create a new metadata cache7971 with existing metadata cache7972 does not create a new metadata cache7973 updates the metadata cache7974 when the lease is already taken7975 does not create a new metadata cache7976 returns nil7977 #lease_key7978 returns an unique key7979LfsObjectUploader7980 behaves like builds correct paths7981 #store_dir7982 behaves like matches the method pattern7983 is expected to match /\h{2}\/\h{2}/7984 #cache_dir7985 behaves like matches the method pattern7986 is expected to match /\/lfs-objects\/tmp\/cache/7987 #work_dir7988 behaves like matches the method pattern7989 is expected to match /\/lfs-objects\/tmp\/work/7990 #upload_path7991 behaves like matches the method pattern7992 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)7993 #relative_path7994 is relative (PENDING: Path not set, skipping.)7995 .absolute_path7996 behaves like matches the method pattern7997 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)7998 .base_dir7999 behaves like matches the method pattern8000 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)8001 path traversal exploits8002 throws an exception8003 object store is REMOTE8004 behaves like builds correct paths8005 #store_dir8006 behaves like matches the method pattern8007 is expected to match /\h{2}\/\h{2}/8008 #cache_dir8009 behaves like matches the method pattern8010 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)8011 #work_dir8012 behaves like matches the method pattern8013 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)8014 #upload_path8015 behaves like matches the method pattern8016 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)8017 #relative_path8018 is relative (PENDING: Path not set, skipping.)8019 .absolute_path8020 behaves like matches the method pattern8021 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)8022 .base_dir8023 behaves like matches the method pattern8024 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)8025 path traversal exploits8026 throws an exception8027 remote file8028 with object storage enabled8029 can store file remotely8030Banzai::Filter::EmojiFilter8031 replaces supported name emoji8032 replaces supported unicode emoji8033 ignores unicode versions of trademark, copyright, and registered trademark8034 replaces name versions of trademark, copyright, and registered trademark8035 correctly encodes the URL8036 correctly encodes unicode to the URL8037 matches at the start of a string8038 unicode matches at the start of a string8039 matches at the end of a string8040 unicode matches at the end of a string8041 unicode matches with adjacent text8042 does not match multiple emoji in a row8043 unicode matches multiple emoji in a row8044 mixed matches multiple emoji in a row8045 has a data-name attribute8046 has a data-unicode-version attribute8047 unicode keeps whitespace intact8048 behaves like emoji filter8049 keeps whitespace intact8050 does not match emoji in a string8051 ignores non existent/unsupported emoji8052 matches with adjacent text8053 does not match emoji in a pre tag8054 does not match emoji in code tag8055 does not match emoji in tt tag8056Gitlab::MergeRequests::Mergeability::CheckResult8057 .default_payload8058 returns the expected defaults8059 .success8060 creates a success result8061 uses the default payload8062 when given a payload8063 uses the payload passed8064 .failed8065 creates a failure result8066 uses the default payload8067 when given a payload8068 uses the payload passed8069 .from_hash8070 returns the expected status and payload8071 #to_hash8072 returns the expected hash8073 #failed?8074 when it has failed8075 returns true8076 when it has succeeded8077 returns false8078 #success?8079 when it has failed8080 returns false8081 when it has succeeded8082 returns true8083Gitlab::Metrics::Samplers::ActionCableSampler8084 behaves like metrics sampler8085 when sampling interval is passed explicitly8086 is expected to eq 428087 when sampling interval is passed through the environment8088 is expected to eq 428089 when no sampling interval is passed anywhere8090 uses the hardcoded default8091 #start8092 calls the sample method on the sampler thread8093 with warmup set to true8094 calls the sample method first on the caller thread8095 #safe_sample8096 calls #sample once8097 when sampling fails with error8098 recovers from errors8099 with logger8100 logs errors8101 #sample8102 includes active connections8103 includes minimum worker pool size8104 includes maximum worker pool size8105 includes current worker pool size8106 includes largest worker pool size8107 includes worker pool completed task count8108 includes worker pool pending task count8109PersonalAccessTokens::CreateService8110 #execute8111 when current_user is an administrator8112 when admin mode is enabled8113 behaves like a successfully created token8114 creates personal access token record8115 logs the event8116 notifies the user8117 when admin mode is disabled8118 behaves like an unsuccessfully created token8119 is expected to equal false8120 is expected to eq "Not permitted to create"8121 is expected to be nil8122 when current_user is not an administrator8123 target_user is not the same as current_user8124 behaves like an unsuccessfully created token8125 is expected to equal false8126 is expected to eq "Not permitted to create"8127 is expected to be nil8128 target_user is same as current_user8129 behaves like a successfully created token8130 creates personal access token record8131 logs the event8132 notifies the user8133 when invalid scope8134 when concatenate_errors: true8135 is expected to be an instance of String8136 when concatenate_errors: false8137 is expected to be an instance of Array8138Gitlab::RackAttack::UserAllowlist8139 input: nil, elements: []8140 has the expected elements8141 implements empty?8142 implements include?8143 input: "", elements: []8144 has the expected elements8145 implements empty?8146 implements include?8147 input: "123", elements: [123]8148 has the expected elements8149 implements empty?8150 implements include?8151 input: "123,456", elements: [123, 456]8152 has the expected elements8153 implements empty?8154 implements include?8155 input: "123,foobar, 456,", elements: [123, 456]8156 has the expected elements8157 implements empty?8158 implements include?8159Packages::TerraformModule::CreatePackageService8160 #execute8161 valid package8162 behaves like creating a package8163 creates a package8164 package already exists elsewhere8165 is expected to eq 4038166 is expected to equal "Access Denied"8167 marked as pending_destruction8168 behaves like creating a package8169 creates a package8170 version already exists8171 is expected to eq 4038172 is expected to equal "Package version already exists."8173 marked as pending_destruction8174 behaves like creating a package8175 creates a package8176 with empty version8177 is expected to eq 4008178 is expected to eq "Version is empty."8179Integrations::CreateExternalCrossReferenceWorker8180 has the `until_executed` deduplicate strategy8181 behaves like an idempotent worker8182 is labeled as idempotent8183 performs multiple times sequentially without raising an exception8184 can run multiple times with the same arguments8185 mentionable_type: "Commit", mentionable_id: lazy { commit.id }8186 creates a cross reference8187 mentionable_type: "Issue", mentionable_id: lazy { issue.id }8188 creates a cross reference8189 mentionable_type: "MergeRequest", mentionable_id: lazy { merge_request.id }8190 creates a cross reference8191 mentionable_type: "Note", mentionable_id: lazy { note.id }8192 creates a cross reference8193 mentionable_type: "Snippet", mentionable_id: lazy { snippet.id }8194 creates a cross reference8195 error handling8196 project_id does not exist8197 behaves like does not create a cross reference8198 does not create a cross reference8199 author_id does not exist8200 behaves like does not create a cross reference8201 does not create a cross reference8202 mentionable_id does not exist8203 behaves like does not create a cross reference8204 does not create a cross reference8205 mentionable_type is not a Mentionable8206 behaves like does not create a cross reference8207 does not create a cross reference8208 mentionable_type is not a defined constant8209 behaves like does not create a cross reference8210 does not create a cross reference8211 mentionable is a Commit and mentionable_id does not exist8212 behaves like does not create a cross reference8213 does not create a cross reference8214Sidebars::UserProfile::Menus::PersonalProjectsMenu8215 # order random8216 behaves like User profile menu8217 does not contain any sub menu8218 renders the correct link8219 renders the correct title8220 renders the correct icon8221 defines correct active route8222 renders if user is logged in8223 when viewed user is blocked8224 when user is not logged in8225 is not allowed to view the menu item8226 when current user has permission8227 is allowed to view the menu item8228 when current user does not have permission8229 is not allowed to view the menu item8230 when viewed user is banned8231 when user is not logged in8232 is not allowed to view the menu item8233 when current user has permission8234 is allowed to view the menu item8235 when current user does not have permission8236 is not allowed to view the menu item8237Types::WorkItems::WidgetInterface8238 exposes the expected fields8239 .resolve_type8240 raises an error for an unknown type8241 widget_class: WorkItems::Widgets::Description, widget_type_name: Types::WorkItems::Widgets::DescriptionType8242 knows the correct type for objects8243 widget_class: WorkItems::Widgets::Hierarchy, widget_type_name: Types::WorkItems::Widgets::HierarchyType8244 knows the correct type for objects8245 widget_class: WorkItems::Widgets::Assignees, widget_type_name: Types::WorkItems::Widgets::AssigneesType8246 knows the correct type for objects8247 widget_class: WorkItems::Widgets::Labels, widget_type_name: Types::WorkItems::Widgets::LabelsType8248 knows the correct type for objects8249 widget_class: WorkItems::Widgets::Notes, widget_type_name: Types::WorkItems::Widgets::NotesType8250 knows the correct type for objects8251 widget_class: WorkItems::Widgets::Notifications, widget_type_name: Types::WorkItems::Widgets::NotificationsType8252 knows the correct type for objects8253 widget_class: WorkItems::Widgets::CurrentUserTodos, widget_type_name: Types::WorkItems::Widgets::CurrentUserTodosType8254 knows the correct type for objects8255 widget_class: WorkItems::Widgets::AwardEmoji, widget_type_name: Types::WorkItems::Widgets::AwardEmojiType8256 knows the correct type for objects8257Gitlab::InternalPostReceive::Response8258 #add_merge_request_urls8259 when there are urls_data8260 adds a message for each merge request URL8261 #add_merge_request_url8262 when :new_merge_request is false8263 adds a basic message to view the existing merge request8264 when :new_merge_request is true8265 adds a basic message to create a new merge request8266 #add_basic_message8267 when text is present8268 adds a basic message8269 when text is blank8270 does not add a message8271 #add_alert_message8272 when text is present8273 adds an alert message8274 when text is blank8275 does not add a message8276 #reference_counter_decreased8277 initially8278 reference_counter_decreased is set to false8279 #reference_counter_decreased=8280 when the argument is truthy8281 reference_counter_decreased is truthy8282 when the argument is falsey8283 reference_counter_decreased is falsey8284IssuablesDescriptionTemplatesHelper8285 #issuable_templates8286 returns empty hash when template type does not exist8287 with cached issuable templates8288 does not call TemplateFinder8289 when project has no parent group8290 behaves like project issuable templates8291 issuable templates8292 returns only md files as issue templates8293 returns only md files as merge_request templates8294 when project has parent group8295 when project parent group does not have a file template project8296 behaves like project issuable templates8297 issuable templates8298 returns only md files as issue templates8299 returns only md files as merge_request templates8300 #available_service_desk_templates_for8301 with project templates8302 returns project templates8303 when there are no templates in the project8304 returns empty array8305 #selected_template_name8306 when no issuable_template parameter is provided8307 does not select a template8308 when an issuable_template parameter has been provided8309 when param matches existing templates8310 returns the matching issuable template8311 when param does not match any templates8312 returns nil8313 #default_template_name8314 when a default template is available8315 returns the default template8316 returns nil when issuable has a description set8317 returns nil when issuable is persisted8318 when there is no default template8319 returns nil8320 #template_names8321 returns unique list of template names8322BackgroundMigrationWorker8323 behaves like it runs background migration jobs8324 defining the job attributes8325 defines the data_consistency as always8326 defines the retry count in sidekiq_options8327 defines the feature_category as database8328 defines the urgency as throttled8329 defines the loggable_arguments8330 .tracking_database8331 does not raise an error8332 overrides the method to return the tracking database8333 .minimum_interval8334 returns 2 minutes8335 #perform8336 when execute_background_migrations feature flag is disabled8337 does not perform the job, reschedules it in the future, and logs a message8338 when execute_background_migrations feature flag is enabled8339 performs jobs using the coordinator for the worker8340 when lease can be obtained8341 sets up the shared connection before checking replication8342 performs a background migration8343 can run scheduled job and retried job concurrently8344 sets the class that will be executed as the caller_id8345 when lease_attempts is 18346 performs a background migration8347 when lease not obtained (migration of same class was performed recently)8348 reschedules the migration and decrements the lease_attempts8349 when lease_attempts is 18350 reschedules the migration and decrements the lease_attempts8351 when lease_attempts is 08352 gives up performing the migration8353 when database is not healthy8354 reschedules a migration if the database is not healthy8355 increments the unhealthy counter8356 when lease_attempts is 08357 gives up performing the migration8358WhereComposite8359 .where_composite8360 requires at least one permitted key8361 requires all arguments to match the permitted_keys8362 attaches a key error as cause if a key is missing8363 returns an empty relation if there are no arguments8364 permits extra arguments8365 can handle multiple fields8366 is equivalent to ids.map { |attrs| model.find_by(attrs) }8367 constructs (A&B) for one argument8368 constructs (A&B) OR (C&D) for two arguments8369 constructs (A&B) OR (C&D) OR (E&F) for three arguments8370 large sets of IDs8371 constructs correct trees of constraints8372 raises errors if too many IDs are passed8373ProfilesHelper8374 #commit_email_select_options8375 returns an array with private commit email along with all the verified emails8376 #email_provider_label8377 returns nil for users without external email8378 returns omniauth provider label for users with external attributes8379 returns the correct omniauth provider label for users with some external attributes8380 returns 'LDAP' for users with external email but no email provider8381 #ssh_key_expiration_tooltip8382 error: false, expired: false, result: nil8383 is expected to eq nil8384 error: true, expired: false, result: "Key type is forbidden. Must be DSA, ECDSA, or ED25519"8385 is expected to eq "Key type is forbidden. Must be DSA, ECDSA, or ED25519"8386 error: true, expired: true, result: "Key type is forbidden. Must be DSA, ECDSA, or ED25519"8387 is expected to eq "Key type is forbidden. Must be DSA, ECDSA, or ED25519"8388 #ssh_key_expires_field_description8389 is expected to eq "Optional but recommended. If set, key becomes invalid on the specified date."8390 #middle_dot_divider_classes8391 stacking: nil, breakpoint: nil, expected: ["gl-mb-3", "gl-display-inline-block", "middle-dot-divider"]8392 returns CSS classes needed to render the middle dot divider8393 stacking: true, breakpoint: nil, expected: ["gl-mb-3", "middle-dot-divider-sm", "gl-display-block", "gl-sm-display-inline-block"]8394 returns CSS classes needed to render the middle dot divider8395 stacking: nil, breakpoint: :sm, expected: ["gl-mb-3", "gl-display-inline-block", "middle-dot-divider-sm"]8396 returns CSS classes needed to render the middle dot divider8397 #prevent_delete_account?8398 returns false8399Gitlab::Ci::Parsers::Test::Junit8400 #parse!8401 when data is JUnit style XML8402 when there are no <testcases> in <testsuite>8403 ignores the case8404 when there are no <testcases> in <testsuites>8405 ignores the case8406 when there is only one <testsuite> in <testsuites>8407 parses XML and adds a test case to a suite8408 when there is <testcase>8409 and has failure8410 behaves like <testcase> XML parser8411 parses XML and adds a test case to the suite8412 and has failure with no message but has system-err8413 behaves like <testcase> XML parser8414 parses XML and adds a test case to the suite8415 and has error8416 behaves like <testcase> XML parser8417 parses XML and adds a test case to the suite8418 and has error with no message but has system-err8419 behaves like <testcase> XML parser8420 parses XML and adds a test case to the suite8421 and has skipped8422 behaves like <testcase> XML parser8423 parses XML and adds a test case to the suite8424 with an empty double-tag8425 behaves like <testcase> XML parser8426 parses XML and adds a test case to the suite8427 and has an unknown type8428 behaves like <testcase> XML parser8429 parses XML and adds a test case to the suite8430 and has no content8431 behaves like <testcase> XML parser8432 parses XML and adds a test case to the suite8433 PHPUnit8434 parses XML and adds a test case to a suite8435 when there are two test cases8436 parses XML and adds test cases to a suite8437 when there are two test suites8438 parses XML and adds test cases to a suite8439 when number of test cases exceeds the max_test_cases limit8440 and test cases are unique8441 behaves like rejecting too many test cases8442 attaches an error to the TestSuite object8443 and test cases are duplicates8444 behaves like rejecting too many test cases8445 attaches an error to the TestSuite object8446 when data is not JUnit style XML8447 attaches an error to the TestSuite object8448 when data is malformed JUnit XML8449 attaches an error to the TestSuite object8450 returns 0 tests cases8451 returns a failure status8452 when data is not XML8453 attaches an error to the TestSuite object8454 returns 0 tests cases8455 returns a failure status8456 when attachment is specified in failed test case8457 assigns correct attributes to the test case8458 when data contains multiple attachments tag8459 adds the first match attachment to a test case8460 when data does not match attachment tag regex8461 does not add attachment to a test case8462 when attachment is specified in test case with error8463 assigns correct attributes to the test case8464Gitlab::Database::Migrations::RunnerBackoff::MigrationHelpers8465 # order random8466 #enable_runner_backoff?8467 is expected to be falsy8468 returns true if the flag is set8469 .enable_runner_backoff!8470 sets the flag8471 .enable_runner_backoff?8472 is expected to be falsy8473 returns true if the flag is set8474BulkImports::Common::Transformers::MemberAttributesTransformer8475 # order random8476 with a group8477 returns nil when receives no data8478 returns nil when no user is found8479 when the user is not confirmed8480 returns nil even when the primary email match8481 returns nil even when a secondary email match8482 when the user is confirmed8483 finds the user by the primary email8484 finds the user by the secondary email8485 format access level8486 ignores record if no access level is given8487 ignores record if is not a valid access level8488 source user id caching8489 when user gid is present8490 caches source user id8491 when user gid is missing8492 does not use caching8493 with a project8494 returns nil when receives no data8495 returns nil when no user is found8496 when the user is not confirmed8497 returns nil even when the primary email match8498 returns nil even when a secondary email match8499 when the user is confirmed8500 finds the user by the primary email8501 finds the user by the secondary email8502 format access level8503 ignores record if no access level is given8504 ignores record if is not a valid access level8505 source user id caching8506 when user gid is present8507 caches source user id8508 when user gid is missing8509 does not use caching8510DraftNotes::DestroyService8511 destroys a single draft note8512 destroys all draft notes for a user in a merge request8513 diff highlight cache clearing8514 when destroying all draft notes of a user8515 clears highlighting cache if unfold required for any8516 when destroying one draft note8517 clears highlighting cache if unfold required8518Gitlab::Ci::Trace::RemoteChecksum8519 #md5_checksum8520 when the file is stored locally8521 is expected to be nil8522 when object store is enabled8523 with local files8524 is expected to be nil8525 with remote files8526 with AWS as provider8527 is expected to eq "ebde71c229ce37275c8708b4e3ae5eec"8528 with Google as provider8529 when the response does not include :content_md58530 raises an exception8531 when the response include :content_md58532 is expected to eq "ebde71c229ce37275c8708b4e3ae5eec"8533 with unsupported providers8534 is expected to be nil8535Banzai::Filter::WikiLinkFilter8536 doesn't rewrite absolute links8537 doesn't rewrite links to project uploads8538 when links are rewritable8539 stores original url in the data-canonical-src attribute8540 when links are not rewritable8541 does not store original url in the data-canonical-src attribute8542 when links point to the relative wiki path8543 does not rewrite links8544 does not rewrite links to old relative wiki path8545 when links point to the uploads folder8546 with an "a" html tag8547 rewrites links8548 with "img" html tag8549 inside an "a" html tag8550 rewrites links8551 outside an "a" html tag8552 rewrites links8553 with "video" html tag8554 rewrites links8555 with "audio" html tag8556 rewrites links8557 invalid links8558 doesn't rewrite invalid invalid_links like http://:80808559 doesn't rewrite invalid invalid_links like http://8560 doesn't rewrite invalid invalid_links like http://:8080/path8561ClustersFinder8562 #execute8563 when scope is all8564 is expected to contain exactly #<Clusters::Cluster id: 47, user_id: 1521, provider_type: "gcp", platform_type: "kubernetes", created_at: "2023-06-02 06:43:35.370167755 +0000", updated_at: "2023-06-02 06:43:35.370167755 +0000", enabled: true, name: "test-cluster", environment_scope: "*", cluster_type: "project_type", domain: nil, managed: true, namespace_per_environment: true, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3> and #<Clusters::Cluster id: 50, user_id: 1524, provider_type: "gcp", platform_type: "kubernetes", created_at: "2023-06-02 06:43:35.800170219 +0000", updated_at: "2023-06-02 06:43:35.800170219 +0000", enabled: false, name: "test-cluster", environment_scope: "production1/*", cluster_type: "project_type", domain: nil, managed: true, namespace_per_environment: true, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>8565 when scope is active8566 is expected to contain exactly #<Clusters::Cluster id: 53, user_id: 1528, provider_type: "gcp", platform_type: "kubernetes", created_at: "2023-06-02 06:43:36.531854595 +0000", updated_at: "2023-06-02 06:43:36.531854595 +0000", enabled: true, name: "test-cluster", environment_scope: "*", cluster_type: "project_type", domain: nil, managed: true, namespace_per_environment: true, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>8567 when scope is inactive8568 is expected to contain exactly #<Clusters::Cluster id: 56, user_id: 1532, provider_type: "gcp", platform_type: "kubernetes", created_at: "2023-06-02 06:43:37.260787211 +0000", updated_at: "2023-06-02 06:43:37.260787211 +0000", enabled: false, name: "test-cluster", environment_scope: "production2/*", cluster_type: "project_type", domain: nil, managed: true, namespace_per_environment: true, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>8569Tooling::FindFilesUsingFeatureFlags8570 # order random8571 #filter_files8572 when the file does not exist on disk8573 returns an empty array8574 when the file exists on disk8575 when the file is not in the features folder8576 returns an empty array8577 when the filename does not have the correct extension8578 returns an empty array8579 when the ruby file uses a valid feature flag file8580 returns the file8581 #execute8582 when no ruby files are using the modified feature flag8583 does not add anything to the input file8584 when some ruby files are using the modified feature flags8585 add the matching ruby files to the input file8586RuboCop::Cop::Gitlab::EventStoreSubscriber8587 # order random8588 when an event store subscriber overrides #perform8589 registers an offense8590 when an event store subscriber does not override #perform8591 does not register an offense8592 when a Sidekiq worker implements #handle_event8593 does not register an offense8594 when a Sidekiq worker overrides #perform8595 does not register an offense8596 a non worker class8597 does not register an offense8598 when an event store subscriber does not implement #handle_event8599 registers an offense8600Users::BlockService8601 #execute8602 when successful8603 is expected to eq {:status=>:success}8604 change the user's state8605 saves a custom attribute8606 when failed8607 returns error result8608 does not change the user's state8609 when internal user8610 returns error result8611RepositoryImportWorker8612 #perform8613 when project not found (deleted)8614 does not raise any exception8615 when import_state is scheduled8616 imports the project successfully8617 when worker was reset without cleanup (import_state is started)8618 imports the project successfully8619 when using an asynchronous importer8620 does not mark the import process as finished8621 when the import has failed8622 marks import_state as failed8623Ci::JobVariable8624 behaves like CI variable8625 is expected to includes the Ci::HasVariable module8626 strips whitespaces when assigning key8627 can convert to runner variable8628 variable type8629 defines variable types8630 defaults variable type to env_var8631 supports variable type file8632 associations8633 is expected to belong to job class_name => Ci::Build required: false inverse_of => job_variables8634 is expected to validate that :key is case-sensitively unique within the scope of :job_id8635 partitioning8636 with build8637 copies the partition_id from build8638 when it is already set8639 does not change the partition_id value8640 without build8641 is expected to validate that :partition_id cannot be empty/falsy8642 does not change the partition_id value8643 when using bulk_insert8644 creates job variables successfully (PENDING: Skipping partitioning tests until `ci_builds` is partitioned)8645Tooling::Mappings::ViewToJsMappings8646 # order random8647 #find_pattern_in_file8648 when the file contains the pattern8649 returns the pattern once8650 when the file does not contain the pattern8651 returns an empty array8652 #find_partials8653 when the file includes a partial8654 when the partial is in the same folder as the view file8655 returns the partial file path8656 when the partial is in a subfolder8657 returns the partials file path8658 when the file does not include a partial8659 returns an empty array8660 #filter_files8661 when no files were changed8662 returns an empty array8663 when no view files were changed8664 returns an empty array8665 when view files were changed8666 returns the path to the view files8667 when view files are deleted8668 returns an empty array8669 #execute8670 when no view files have been changed8671 does not change the output file8672 when some view files have been changed8673 when they do not contain the HTML attribute value we search for8674 does not change the output file8675 when they contain the HTML attribute value we search for8676 when no matching JS files are found8677 does not change the output file8678 when some matching JS files are found8679 adds the matching JS files to the output8680 when rails partials are included in the file8681 scans those partials for the HTML attribute value8682Gitlab::DependencyLinker::PackageJsonLinker8683 .support?8684 supports package.json8685 does not support other files8686 #link8687 does not link the module name8688 links the homepage8689 links the repository URL8690 links the license8691 links dependencies8692 links dependencies to URL detected on value8693 does not link to NPM when invalid git URL8694 links GitHub repos8695 links Git repos8696 does not link scripts with the same key as a package8697Resolvers::IncidentManagement::TimelineEventsResolver8698 # order random8699 returns timeline events8700 is expected to have nullable GraphQL type TimelineEventTypeConnection8701 when resolving a single item8702 when id given8703 returns the timeline event8704 when user does not have permissions8705 returns no timeline events8706Gitlab::Usage::Metrics::Instrumentations::CountCiInternalPipelinesMetric8707 # order random8708 behaves like a correct instrumented metric value8709 has correct value8710 on SaaS8711 behaves like a correct instrumented metric value8712 has correct value8713 behaves like a correct instrumented metric value8714 has correct value8715 for monthly counts8716 behaves like a correct instrumented metric value8717 has correct value8718Mutations::ContainerRepositories::DestroyTags8719 is expected to require graphql authorizations :destroy_container_image8720 #resolve8721 with valid id8722 user_role: :maintainer, shared_examples_name: "destroying container repository tags"8723 behaves like destroying container repository tags8724 destroys the container repository tags8725 creates a package event8726 user_role: :developer, shared_examples_name: "destroying container repository tags"8727 behaves like destroying container repository tags8728 destroys the container repository tags8729 creates a package event8730 user_role: :reporter, shared_examples_name: "denying access to container respository"8731 behaves like denying access to container respository8732 raises an error8733 user_role: :guest, shared_examples_name: "denying access to container respository"8734 behaves like denying access to container respository8735 raises an error8736 user_role: :anonymous, shared_examples_name: "denying access to container respository"8737 behaves like denying access to container respository8738 raises an error8739 with non-existing id8740 behaves like denying access to container respository8741 raises an error8742 with service error8743 is expected to eq {:deleted_tag_names=>[], :errors=>["could not delete tags"]}8744 does not create a package event8745Projects::ExportJobFinder8746 #execute8747 when queried for a project8748 scopes to the project8749 when queried by job id8750 filters records8751 when queried by status8752 filters records8753 when queried by invalid status8754 raises exception8755TreeEntryPresenter8756 .web_url8757 is expected to eq "http://localhost/namespace756/project-1620/-/tree/master/bar"8758 #web_path8759 is expected to eq "/namespace757/project-1621/-/tree/master/bar"8760Packages::Generic::FindOrCreatePackageService8761 #execute8762 when packages does not exist yet8763 creates package8764 creates package and package build info when build is provided8765 when packages already exists8766 when package was created manually8767 finds the package and does not create package build info even if build is provided8768 when package was created by pipeline8769 finds the package and does not change package build info even if build is provided8770 when a pending_destruction package exists8771 creates a new package8772Gitlab::IssuablesCountForState8773 project given8774 provides the project8775 .declarative_policy_class8776 is expected to eq "IssuablePolicy"8777 #for_state_or_opened8778 returns the number of issuables for the given state8779 returns the number of open issuables when no state is given8780 returns the number of open issuables when a nil value is given8781 #[]8782 returns the number of issuables for the given state8783 casts valid states from Strings to Symbols8784 returns 0 when using an invalid state name as a String8785 fast_fail enabled8786 returns the expected value8787 returns -1 when the database times out8788 when store_in_redis_cache is `true`8789 with Issues8790 returns -1 for the requested state8791 when parent group is not present8792 behaves like calculating counts without caching8793 does not store in redis store8794 when params include search filters8795 behaves like calculating counts without caching8796 does not store in redis store8797 when counts are stored in cache8798 does not call finder count_by_state8799 when cache is empty8800 when state counts are under threshold8801 does not store state counts in cache8802 when state counts are over threshold8803 stores state counts in cache8804 with Merge Requests8805 behaves like calculating counts without caching8806 does not store in redis store8807Gitlab::ErrorTracking::Processor::SanitizeErrorMessageProcessor8808 .call8809 with Raven event8810 behaves like processes the exception8811 cleans the exception message8812 with Sentry event8813 behaves like processes the exception8814 cleans the exception message8815 with invalid event8816 does nothing8817gitlab:x509 namespace rake task8818 update_signatures8819 changes from unverified to verified if the certificate store contains the root certificate8820 returns if no signature is available8821Gitlab::Webpack::FileLoader8822 with dev server enabled8823 returns content when responds successfully8824 raises error when 4048825 raises error when errors out8826 with dev server enabled and https8827 raises error if catches SSLError8828 with dev server disabled8829 .load8830 returns file content from file path8831 throws error if file cannot be read8832GroupImportWorker8833 sidekiq options8834 disables retry8835 disables dead8836 #perform8837 when it succeeds8838 calls the ImportService8839 updates the existing state8840 when it fails8841 raises an exception when params are invalid8842 import state8843 sets the group import status to failed8844Terraform.gitlab-ci.yml8845 the created pipeline8846 on master branch8847 creates init, validate,build terraform jobs as well as kics-iac-sast job8848 outside the master branch8849 does not creates a deploy and a test job8850 on merge request8851 creates a pipeline with no jobs8852AlertManagement::HttpIntegrations::CreateService8853 #execute8854 when the current_user is anonymous8855 behaves like error response8856 has an informative message8857 when current_user does not have permission to create integrations8858 behaves like error response8859 has an informative message8860 when an error occurs during update8861 behaves like error response8862 has an informative message8863 with valid params8864 successfully creates an integration8865 with an existing HTTP integration8866 behaves like error response8867 has an informative message8868 when creating a different type of integration8869 is successful8870 with an existing Prometheus integration8871 when creating a different type of integration8872 is successful8873 when creating the same time of integration8874 behaves like error response8875 has an informative message8876Types::EnvironmentType8877 is expected to eq "Environment"8878 is expected to expose permissions using Types::PermissionTypes::Environment8879 includes the expected fields8880 is expected to require graphql authorizations :read_environment8881 when there is an environment8882 returns an environment8883 returns the path to the environment8884 returns the external url of the environment8885 when query alert data for the environment8886 does not return alert information8887 when alert is raised on the environment8888 returns alert information8889InviteMembersHelper8890 # order random8891 #common_invite_modal_dataset8892 has expected common attributes8893 with tasks_to_be_done8894 when inviting members for tasks8895 open_modal_param?: true, logged_in?: true, expected?: true8896 when the source is a project8897 behaves like including the tasks to be done attributes8898 includes the tasks to be done attributes when expected8899 when the source is a group8900 behaves like including the tasks to be done attributes8901 includes the tasks to be done attributes when expected8902 open_modal_param?: true, logged_in?: false, expected?: false8903 when the source is a project8904 behaves like including the tasks to be done attributes8905 includes the tasks to be done attributes when expected8906 when the source is a group8907 behaves like including the tasks to be done attributes8908 includes the tasks to be done attributes when expected8909 open_modal_param?: false, logged_in?: true, expected?: false8910 when the source is a project8911 behaves like including the tasks to be done attributes8912 includes the tasks to be done attributes when expected8913 when the source is a group8914 behaves like including the tasks to be done attributes8915 includes the tasks to be done attributes when expected8916 open_modal_param?: false, logged_in?: false, expected?: false8917 when the source is a project8918 behaves like including the tasks to be done attributes8919 includes the tasks to be done attributes when expected8920 when the source is a group8921 behaves like including the tasks to be done attributes8922 includes the tasks to be done attributes when expected8923 with project8924 #can_invite_members_for_project?8925 when the user can_admin_project_member8926 returns true8927 when the user can not manage project members8928 returns false8929 #common_invite_group_modal_data8930 has expected common attributes8931 when sharing with groups outside the hierarchy is disabled8932 provides the correct attributes8933 when sharing with groups outside the hierarchy is enabled8934 does not return filter attributes8935Gitlab::Usage::Metrics::Instrumentations::CountProjectsWithMonitorEnabledMetric8936 # order random8937 behaves like a correct instrumented metric value and query8938 behaves like a correct instrumented metric value8939 has correct value8940 behaves like a correct instrumented metric query8941 has correct generate query8942Gitlab::Pagination::Keyset::Pager8943 #paginate8944 does not execute a query8945 applies a LIMIT8946 returns the limited relation8947 validating the order clause8948 raises an error if has a different order clause than the page8949 #finalize8950 passes information about next page to request8951 when retrieving the last page8952 indicates there is another (likely empty) page8953 when retrieving an empty page8954 indicates this is the last page8955Gitlab::Checks::LfsCheck8956 #validate!8957 with LFS not enabled8958 skips integrity check8959 with LFS enabled8960 fails if any LFS blobs are missing8961 succeeds if LFS objects have already been uploaded8962 with lfs_check feature disabled8963 skips integrity check8964 with deletion8965 with missing newrev8966 behaves like a skipped integrity check8967 skips integrity check8968 with blank newrev8969 behaves like a skipped integrity check8970 skips integrity check8971Gitlab::Ci::Config::Entry::Coverage8972 validations8973 when entry config value doesn't have the surrounding '/'8974 #errors8975 is expected to include /coverage config must be a regular expression/8976 #valid?8977 is expected not to be valid8978 when entry config value has the surrounding '/'8979 #value8980 is expected to eq "Code coverage: \\d+\\.\\d+"8981 #errors8982 is expected to be empty8983 #valid?8984 is expected to be valid8985 when entry value is not valid8986 #errors8987 is expected to include /coverage config must be a regular expression/8988 #valid?8989 is expected not to be valid8990Gitlab::Ci::Config::Normalizer::MatrixStrategy8991 .applies_to?8992 with hash that has :matrix key8993 is expected to be truthy8994 with hash that does not have :matrix key8995 is expected to be falsey8996 with a number8997 is expected to be falsey8998 .build_from8999 is expected to eq 49000 has attributes9001 has parallelized name9002Spam::HamService9003 #execute9004 AkismetService returns false (Akismet cannot be reached, etc)9005 returns false9006 does not update the record9007 if spam log record has already been marked as spam9008 does not update the record9009 Akismet ham submission is successful9010 returns true9011 updates the record9012projects/generic_commit_statuses/_generic_commit_status.html.haml9013 won't include a column with a link to its pipeline by default9014 can include a column with a link to its pipeline9015Gitlab::UsageDataCounters::ContainerRegistryEventCounter9016 # order random9017 behaves like a redis usage counter with totals9018 totals9019 can report all totals9020 unknown events9021 cannot increment9022 cannot read9023 behaves like a redis usage counter9024 .count(i_container_registry_delete_manifest)9025 increments the ContainerRegistryEvent i_container_registry_delete_manifest counter by 19026 .read(i_container_registry_delete_manifest)9027 returns the total number of i_container_registry_delete_manifest events9028Mutations::Todos::MarkDone9029 is expected to require graphql authorizations :update_todo9030 #resolve9031 marks a single todo as done9032 handles a todo which is already done as expected9033 ignores requests for todos which do not belong to the current user9034GoogleCloud::CreateCloudsqlInstanceService9035 #execute9036 triggers creation of a cloudsql instance9037 triggers worker to manage cloudsql instance creation operation results9038 when google APIs fail9039 returns error9040 when project has GCP_REGION defined9041 uses defined region9042API::Entities::WikiPage9043 returns the proper encoding for the wiki page content9044 returns the raw wiki page content9045 when render_html param is passed9046 when it is true9047 returns the wiki page content rendered9048 includes the wiki page version in the render context9049 when page is an Ascii document9050 renders the page without errors9051 when content contains a reference9052 expands the reference in the content9053 when it is false9054 returns the raw wiki page content9055Clusters::Agents::Authorizations::CiAccess::FilterService9056 # order random9057 #execute9058 when there are no filters9059 returns the authorizations as is9060 when filtering by environment9061 returns the authorizations with the given environment AND authorizations without any environment9062 when environment filter has a wildcard9063 returns the authorizations with matching environments AND authorizations without any environment9064 when environment filter is nil9065 returns the authorizations without any environment9066Events::DestroyService9067 #execute9068 deletes the events9069 batch delete9070 splits delete queries into batches9071 when an error is raised while deleting the records9072 returns error9073 does not delete events9074Environments::DestroyService9075 # order random9076 #execute9077 when destroy is authorized9078 destroys the environment9079 when destroy is not authorized9080 does not destroy the environment9081 when destroy fails9082 returns errors9083Resolvers::ErrorTracking::SentryErrorCollectionResolver9084 is expected to have nullable GraphQL type SentryErrorCollection9085 #resolve9086 returns an error collection object9087 provides the service url9088 provides the project9089Ci::Runners::ResetRegistrationTokenService#execute9090 with instance scope9091 behaves like a registration token reset operation9092 without user9093 does not reset registration token and returns error response9094 with unauthorized user9095 does not reset registration token and returns error response9096 with admin user9097 resets registration token and returns value unchanged9098 with group scope9099 behaves like a registration token reset operation9100 without user9101 does not reset registration token and returns error response9102 with unauthorized user9103 does not reset registration token and returns error response9104 with admin user9105 resets registration token and returns value unchanged9106 with project scope9107 behaves like a registration token reset operation9108 without user9109 does not reset registration token and returns error response9110 with unauthorized user9111 does not reset registration token and returns error response9112 with admin user9113 resets registration token and returns value unchanged9114ErrorTracking::ClientKey9115 relationships9116 is expected to belong to project required: false9117 validations9118 is expected to validate that :public_key cannot be empty/falsy9119 is expected to validate that the length of :public_key is at most 2559120 #generate_key9121 is expected to be present9122 is expected to start with "glet_"9123Tooling::Danger::Datateam9124 data team danger9125 with structure.sql changes and no Data Warehouse::Impact Check label9126 aggregate_failures9127 with structure.sql changes and Data Warehouse::Impact Check label9128 aggregate_failures9129 with user model changes9130 aggregate_failures9131 with perfomance indicator changes and no Data Warehouse::Impact Check label9132 aggregate_failures9133 with perfomance indicator changes and Data Warehouse::Impact Check label9134 aggregate_failures9135 with metric file changes and no performance indicator changes9136 aggregate_failures9137 with metric file changes and no performance indicator changes and other label9138 aggregate_failures9139 with performance indicator changes and other label9140 aggregate_failures9141 with performance indicator changes, Data Warehouse::Impact Check and other label9142 aggregate_failures9143 with performance indicator changes and other labels9144 aggregate_failures9145 with metric status removed9146 aggregate_failures9147 with metric status active9148 aggregate_failures9149Banzai::Filter::HtmlEntityFilter9150 converts common entities to their HTML-escaped equivalents9151Gitlab::WorkItems::WorkItemHierarchy9152 # order random9153 #base_and_ancestors9154 includes the base and its ancestors9155 can find ancestors upto a certain level9156 when same_type option is used9157 includes the base and its ancestors9158 hierarchy_order option9159 for :asc9160 orders by child to ancestor9161 for :desc9162 orders by ancestor to child9163 #base_and_descendants9164 includes the base and its descendants9165 when same_type option is used9166 includes the base and its ancestors9167 when with_depth is true9168 includes depth in the results9169Gitlab::FileFinder9170 #find9171 does not cause N+1 query9172 behaves like file finder9173 finds by path9174 finds by content9175 with inclusive filters9176 filters by filename9177 filters by path9178 filters by extension9179 with exclusive filters9180 filters by filename9181 filters by path9182 filters by extension9183 with white space in the path9184 filters by path correctly9185API::Entities::GroupDetail9186 #as_json9187 includes prevent_sharing_groups_outside_hierarchy for a root group9188 excludes prevent_sharing_groups_outside_hierarchy for a subgroup9189CookiesHelper9190 #set_secure_cookie9191 creates an encrypted cookie with expected attributes9192 creates a permanent cookie with expected attributes9193 creates a regular cookie with expected attributes9194Gitlab::Database::PostgresAutovacuumActivity9195 is expected to be a kind of Gitlab::Database::SharedModel(abstract)9196 .for_tables9197 returns autovacuum activity for queries tables9198Types::CommitType9199 is expected to eq "Commit"9200 is expected to require graphql authorizations :read_code9201 is expected to include Types::TodoableInterface9202 contains attributes related to commit9203Sidebars::Projects::SuperSidebarMenus::SecureMenu9204 # order random9205 defines list of NilMenuItem placeholders9206 has title and sprite_icon9207RuboCop::Cop::SafeParams9208 # order random9209 flags the merged params arg as an argument of url_for9210 flags the merged params as an argument of url_for9211 flags the params as an argument of url_for9212 does not flag other argument of url_for9213shared/projects/_project.html.haml9214 renders creator avatar if project has a creator9215 renders a generic avatar if project does not have a creator9216Ci::CreatePipelineService9217 # order random9218 when using variables9219 when variables have expand: true/false9220 creates the pipeline with a job that has variable expanded according to "expand"9221 when trigger variables have expand: true/false9222 creates the pipeline with a trigger job that has downstream_variables expanded according to "expand"9223ComponentsHelper9224 #gitlab_workhorse_version9225 without a Gitlab-Workhorse header9226 shows the version from Gitlab::Workhorse.version9227 with a Gitlab-Workhorse header9228 shows the actual GitLab Workhorse version currently in use9229AwardEmojis::BaseService9230 .initialize9231 uses same emoji name if not an alias9232 uses emoji original name if its an alias9233Gitlab::Email::Message::InProductMarketing::TeamShort9234 public methods9235 returns value for series9236 #progress9237 on gitlab.com9238 is expected to include "This is email 1 of 4 in the Team series"9239 not on gitlab.com9240 is expected to include "This is email 1 of 4 in the Team series" and "http://localhost/-/profile/notifications"9241ReleasePolicy9242 when the user has access to the protected tag9243 allows the user to create, update and destroy a release9244 when the user does not have access to the protected tag9245 prevents the user from creating, updating and destroying a release9246Packages::Helm::ExtractionWorker9247 #perform9248 with valid package file9249 behaves like an idempotent worker9250 is labeled as idempotent9251 performs multiple times sequentially without raising an exception9252 updates package and package file9253 with invalid package file id9254 doesn't update helm_file_metadatum9255 with an empty package file9256 behaves like handling error9257 mark the package as errored9258 with an invalid YAML9259 behaves like handling error9260 mark the package as errored9261 with an invalid Chart.yaml9262 behaves like handling error9263 mark the package as errored9264#<Class:0x00007ff5f6085040>9265 has the expected fields9266Milestones::MergeRequestsCountService9267 counts all merge requests9268 behaves like a counter caching service9269 #count9270 caches the count9271 #refresh_cache9272 refreshes the cache9273 #delete_cache9274 removes the cache9275 #uncached_count9276 does not cache the count9277Gitlab::BitbucketServerImport::UserFinder9278 # order random9279 #find_user_id9280 when user cannot be found9281 caches and returns nil9282 when user can be found9283 caches and returns the user ID by email9284 caches and returns the user ID by username9285 #author_id9286 calls uid method9287 when corresponding user does not exist9288 fallsback to project creator_id9289 #uid9290 when provided object is a Hash9291 maps to an existing user with the same username9292 when provided object is a representation Object9293 maps to a existing user with the same username9294 when corresponding user does not exist9295 returns nil9296 when bitbucket_server_user_mapping_by_username is disabled9297 when provided object is a Hash9298 maps to an existing user with the same email9299 when provided object is a representation Object9300 maps to an existing user with the same email9301 when corresponding user does not exist9302 returns nil9303BulkImports::NetworkError9304 .new9305 requires either a message or a HTTP response9306 #retriable?9307 returns true for MAX_RETRIABLE_COUNT times when cause if one of RETRIABLE_EXCEPTIONS9308 returns true for MAX_RETRIABLE_COUNT times when response is one of RETRIABLE_CODES9309 returns false for other exceptions9310 when entity is passed9311 increments entity cache key9312 #retry_delay9313 returns the default value when there is not a rate limit error9314 when the exception is a rate limit error9315 returns the "Retry-After"9316 returns the default value when there is no "Retry-After" header9317Types::Packages::Helm::MaintainerType9318 is expected to eq "PackageHelmMaintainerType"9319 includes helm maintainer fields9320BulkImports::FileExportService9321 #execute9322 executes export service and archives exported data for each file relation9323 when unsupported relation is passed9324 raises an error9325 #execute_batch9326 calls execute with provided array of record ids9327 #exported_filename9328 returns filename of the exported file9329 #exported_objects_count9330 when relation is a collection9331 returns a number of exported relations9332 when relation is a repository9333 returns 19334projects/blob/_viewer.html.haml9335 when the viewer is loaded asynchronously9336 when there is no render error9337 adds a URL to the blob viewer element9338 renders the loading indicator9339 when there is a render error9340 renders the error9341 when the viewer is loaded synchronously9342 when there is no render error9343 prepares the viewer9344 renders the viewer9345 when there is a render error9346 renders the error9347Gitlab::Prometheus::Adapter9348 #prometheus_adapter9349 prometheus integration can execute queries9350 return prometheus integration as prometheus adapter9351 with cluster with prometheus available9352 returns prometheus integration9353 prometheus integration can't execute queries9354 with cluster with prometheus disabled9355 returns nil9356 with cluster with prometheus available9357 returns application handling all environments9358 with cluster without prometheus installed9359 returns nil9360Gitlab::Utils::MimeType9361 # order random9362 .from_io9363 input isn't an IO9364 returns nil9365 input is a file9366 fixture: "banana_sample.gif", mime_type: "image/gif"9367 is expected to eq "image/gif"9368 fixture: "rails_sample.jpg", mime_type: "image/jpeg"9369 is expected to eq "image/jpeg"9370 fixture: "rails_sample.png", mime_type: "image/png"9371 is expected to eq "image/png"9372 fixture: "rails_sample.bmp", mime_type: "image/bmp"9373 is expected to eq "image/bmp"9374 fixture: "rails_sample.tif", mime_type: "image/tiff"9375 is expected to eq "image/tiff"9376 fixture: "sample.ico", mime_type: "image/vnd.microsoft.icon"9377 is expected to eq "image/vnd.microsoft.icon"9378 fixture: "blockquote_fence_before.md", mime_type: "text/plain"9379 is expected to eq "text/plain"9380 fixture: "csv_empty.csv", mime_type: "application/x-empty"9381 is expected to eq "application/x-empty"9382 .from_string9383 input isn't a string9384 returns nil9385 input is a string9386 is expected to eq "text/plain"9387RemoteMirrorNotificationWorker9388 #perform9389 calls NotificationService#remote_mirror_update_failed when the mirror exists9390 does nothing when the mirror has no errors9391 does nothing when the mirror does not exist9392 does nothing when a notification has already been sent9393Database::PreventCrossJoins9394 when running in a default scope9395 when only non-CI tables are used9396 does not raise exception9397 when only CI tables are used9398 does not raise exception9399 when CI and non-CI tables are used9400 raises exception9401 when annotation is used9402 does not raise exception9403 when allow_cross_joins_across_databases is used9404 does not raise exception9405 when allow_cross_joins_across_databases is used9406 does not raise exception9407 when there is a parser error9408 does not raise parse PGQuery::ParseError9409 when an ALTER INDEX query is used9410 does not raise exception9411Users::RespondToTermsService9412 #execute9413 creates a new agreement if it did not exist9414 updates an agreement if it existed9415 adds the accepted terms to the user9416 removes accepted terms when declining9417Gitlab::GithubImport::ObjectCounter9418 validates the operation being incremented9419 increments the counter and saves the key to be listed in the summary later9420 does not increment the counter if the given value is <= 09421 expires etag cache of relevant realtime change endpoints on increment9422 .summary9423 when there are cached import statistics9424 includes cached object counts stats in response9425 when there are no cached import statistics9426 when project import is in progress9427 includes an empty object counts stats in response9428 when project import is not in progress9429 includes project import checksums in response9430admin/groups/_form9431 # order random9432 group runner registration setting9433 runner_registration_enabled: true, valid_runner_registrars: ["group"], checked: true, disabled: false9434 renders the checkbox correctly9435 runner_registration_enabled: false, valid_runner_registrars: ["group"], checked: false, disabled: false9436 renders the checkbox correctly9437 runner_registration_enabled: false, valid_runner_registrars: ["project"], checked: false, disabled: true9438 renders the checkbox correctly9439Groups::AcceptingProjectTransfersFinder9440 #execute9441 only returns groups where the user has access to transfer projects to9442Gitlab::Ci::Pipeline::Expression::Lexeme::Variable9443 .build9444 creates a new instance of the token9445 .type9446 is a value lexeme9447 #evaluate9448 returns variable value if it is defined9449 allows to use a string as a variable key too9450 returns nil if it is not defined9451 returns an empty string if it is empty9452 does not call with_indifferent_access unnecessarily9453Gitlab::Database::MigrationHelpers::ConvertToBigint9454 # order random9455 com_or_dev_or_test_but_not_jh?9456 dot_com: true, dev_or_test: true, jh: true, expectation: true9457 returns true for GitLab.com (but not JH), dev, or test9458 dot_com: true, dev_or_test: false, jh: true, expectation: false9459 returns true for GitLab.com (but not JH), dev, or test9460 dot_com: false, dev_or_test: true, jh: true, expectation: true9461 returns true for GitLab.com (but not JH), dev, or test9462 dot_com: false, dev_or_test: false, jh: true, expectation: false9463 returns true for GitLab.com (but not JH), dev, or test9464 dot_com: true, dev_or_test: true, jh: false, expectation: true9465 returns true for GitLab.com (but not JH), dev, or test9466 dot_com: true, dev_or_test: false, jh: false, expectation: true9467 returns true for GitLab.com (but not JH), dev, or test9468 dot_com: false, dev_or_test: true, jh: false, expectation: true9469 returns true for GitLab.com (but not JH), dev, or test9470 dot_com: false, dev_or_test: false, jh: false, expectation: false9471 returns true for GitLab.com (but not JH), dev, or test9472Gitlab::LegacyGithubImport::ReleaseFormatter9473 #attributes9474 returns formatted attributes9475 with a nil published_at date9476 inserts a timestamp for released_at9477 #valid9478 when release is not a draft9479 returns true9480 when release is draft9481 returns false9482 when release has NULL tag9483 returns false9484RuboCop::Cop::DestroyAll9485 # order random9486 flags the use of destroy_all when passing arguments9487 flags the use of destroy_all with a local variable receiver9488 does not flag the use of delete_all9489 flags the use of destroy_all with a send receiver9490 flags the use of destroy_all with a constant receiver9491Import::PrepareService9492 when file is uploaded correctly9493 raises NotImplemented error for worker9494 when a job is enqueued9495 raises NotImplemented error for success_message when a job is enqueued9496 returns a success respnse when a success_message is implemented9497 when file upload fails9498 returns an error message9499Slack::BlockKit::AppHomeOpened9500 # order random9501 #build9502 generates blocks of type "home"9503 prompts the user to connect their GitLab account9504 when the user has linked their GitLab account9505 displays the GitLab user they are linked to9506Packages::Npm9507 .scope_of9508 package_name: nil, expected_result: nil9509 is expected to eq nil9510 package_name: "test", expected_result: nil9511 is expected to eq nil9512 package_name: "@test", expected_result: nil9513 is expected to eq nil9514 package_name: "test/package", expected_result: nil9515 is expected to eq nil9516 package_name: "@/package", expected_result: nil9517 is expected to eq nil9518 package_name: "@test/package", expected_result: "test"9519 is expected to eq "test"9520 package_name: "@test/", expected_result: nil9521 is expected to eq nil9522Integrations::IssueTrackerData9523 behaves like Integrations::BaseDataFields9524 associations9525 is expected to belong to integration required: false9526 #activated?9527 with integration9528 with value set to false9529 is expected to eq false9530 with value set to true9531 is expected to eq true9532 without integration9533 is expected to eq false9534 #to_database_hash9535 does not include certain attributes9536 encrypted attributes9537 is expected to contain exactly :issues_url, :new_issue_url, and :project_url9538SnippetInputActionCollection9539 is expected to delegate #empty? to the #actions object9540 is expected to delegate #any? to the #actions object9541 is expected to delegate #[] to the #actions object9542 #to_commit_actions9543 translates all actions to commit actions9544 #valid?9545 returns true9546 when any of the actions is invalid9547 returns false9548 when allowed_actions param is passed9549 builds SnippetInputAction with that param9550JiraConnect::SyncFeatureFlagsWorker9551 behaves like worker with data consistency9552 .get_data_consistency_feature_flag_enabled?9553 returns true9554 .get_data_consistency9555 returns correct data consistency9556 #perform9557 when object exists9558 calls the Jira sync service9559 when object does not exist9560 does not call the sync service9561Gitlab::GitalyClient::ConflictFilesStitcher9562 enumeration9563 combines segregated ConflictFile messages together9564google cloud profiler9565 # order random9566 when GITLAB_GOOGLE_CLOUD_PROFILER_ENABLED is not set9567 is expected not to receive new(*(any args)) 0 times9568 when GITLAB_GOOGLE_CLOUD_PROFILER_ENABLED is set to true9569 when GITLAB_GOOGLE_CLOUD_PROFILER_PROJECT_ID is not set9570 is expected not to receive new(*(any args)) 0 times9571 when GITLAB_GOOGLE_CLOUD_PROFILER_PROJECT_ID is set9572 when run in Puma context9573 calls the agent9574 when run in Sidekiq context9575 is expected not to receive new(*(any args)) 0 times9576 when run in another context9577 is expected not to receive new(*(any args)) 0 times9578 when GITLAB_GOOGLE_CLOUD_PROFILER_ENABLED is set to false9579 is expected not to receive new(*(any args)) 0 times9580AsCte9581 .as_cte9582 is expected to be a kind of Gitlab::SQL::CTE9583 is expected to eq #<ActiveRecord::Relation []>9584 is expected to eq "klass_cte"9585 with materialized parameter9586 as true9587 is expected to match /MATERIALIZE/9588 as false9589 is expected not to match /MATERIALIZE/9590Projects::ForksCountService9591 behaves like a counter caching service9592 #count9593 caches the count9594 #refresh_cache9595 refreshes the cache9596 #delete_cache9597 removes the cache9598 #uncached_count9599 does not cache the count9600 #count9601 returns the number of forks9602Gitlab::Metrics::Subscribers::Ldap9603 # order random9604 #observe_event9605 tracks LDAP request count9606 tracks LDAP request duration9607 stores per-request counters9608 .payload9609 when SafeRequestStore is empty9610 returns an empty array9611 when LDAP recorded some values9612 returns the populated payload9613API::Helpers::InternalHelpers9614 # order random9615 log user git operation activity9616 when git pull/fetch/clone action9617 with log the user activity9618 behaves like handles log git operation activity9619 log the user activity9620 when git push action9621 does not log the user activity when log_user_git_push_activity is disabled9622 with log the user activity when log_user_git_push_activity is enabled9623 behaves like handles log git operation activity9624 log the user activity9625Issues::RescheduleStuckIssueRebalancesWorker9626 #perform9627 does not schedule a rebalance9628 schedules a rebalance in case there are any rebalances started9629Gitlab::Database::Migrations::LockRetriesHelpers9630 # order random9631 #with_lock_retries9632 sets the migration class name in the logs9633 does not raise on exhaustion by default9634 defaults to allowing subtransactions9635 raise_on_exhaustion: true9636 sets raise_on_exhaustion as requested9637 raise_on_exhaustion: false9638 sets raise_on_exhaustion as requested9639Types::IssuableType9640 returns possible types9641 .resolve_type9642 resolves issues9643 resolves merge requests9644 resolves work items9645 raises an error for invalid types9646JiraConnect::ForwardEventWorker9647 #perform9648 forwards the event and deletes the installation9649 when installation does not exist9650 does nothing9651 when installation does not have an instance_url9652 forwards the event including the auth header9653ChatNames::AuthorizeUserService9654 #execute9655 when all parameters are valid9656 produces a valid HTTP URL9657 requests a new token9658 when there are missing parameters9659 does not produce a URL9660 does not request a new token9661Gitlab::Search::AbuseValidators::NoAbusiveTermLengthValidator9662 when a term is over the limit9663 adds a validation error9664 when all terms are under the limit9665 does NOT add any validation errors9666 when a URL is detected in a search term9667 when under twice the limit9668 does NOT add any validation errors9669 when over twice the limit9670 adds a validation error9671Resolvers::Clusters::Agents::Authorizations::CiAccessResolver9672 # order random9673 is expected to eq Types::Clusters::Agents::Authorizations::CiAccessType9674 is expected to be truthy9675 #resolve9676 calls the finder9677SchemaValidator9678 # order random9679 #validate!9680 when schema changes are introduced without migrations9681Error: db/structure.sql was changed, and no migrations were added:9682db/structure.sql9683 terminates the execution9684 when schema changes are introduced with migrations9685 skips schema validations9686 when skipping validations through ENV variable9687 skips schema validations9688 when skipping validations through commit message9689 skips schema validations9690Gitlab::Memory::Instrumentation9691 .available?9692 returns true9693 .start_thread_memory_allocations9694 a hash is returned9695 when feature is unavailable9696 a nil is returned9697 .with_memory_allocations9698 a hash is returned9699 when feature is unavailable9700 a nil is returned9701UserPreferences::UpdateService9702 #execute9703 successfully updating the record9704 updates the preference and returns a success9705 unsuccessfully updating the record9706 returns an error9707Gitlab::IncidentManagement::PagerDuty::IncidentIssueDescription9708 # order random9709 #to_s9710 returns description9711 when created_at is missing9712 description contains current time in UTC9713 when there are several assignees9714 assignees is a list of links9715 when there is an impacted service9716 impacted service is a single link9717Users::RepairLdapBlockedService9718 #execute9719 changes to normal block after destroying last ldap identity9720 changes to normal block after changing last ldap identity to another provider9721Gitlab::Console9722 .welcome!9723 when running in the Rails console9724 on darwin9725 behaves like console messages9726 prints system info9727 behaves like console messages9728 prints system info9729 when not running in the Rails console9730 does not print anything9731Gitlab::Cluster::RackTimeoutObserver9732 #callback9733 when request times out9734 increments counter9735 when request expires9736 increments counter9737 when request is being processed9738 does not increment counter9739 when request contains invalid string9740 sanitizes string9741Projects::AppleTargetPlatformDetectorService9742 when project is not an xcode project9743 returns an empty array9744 when project is an xcode project9745 when setting string is found9746 sdk: "iphoneos", filename: "project.pbxproj", result: [:ios]9747 returns an array of unique detected targets9748 sdk: "iphoneos", filename: "*.xcconfig", result: [:ios]9749 returns an array of unique detected targets9750 when setting string is not found9751 returns an empty array9752Banzai::RenderContext9753 #project_for_node9754 returns the default project if no associated project was found9755 returns the associated project if one was associated explicitly9756 returns the project associated with a DocumentFragment when using a node9757BulkImports::Clients::Graphql9758 #execute9759 network errors9760 when response cannot be parsed9761 raises network error9762 when response is unsuccessful9763 raises network error9764ApproveBlockedPendingApprovalUsersWorker9765 #perform9766 calls ApproveService for users in blocked_pending_approval state9767 does not call ApproveService for active users9768Import::GithubRealtimeRepoSerializer9769 # order random9770 .entity_class9771 #represent9772 when a single object is being serialized9773 serializes organization object9774 when multiple objects are being serialized9775 serializes array of organizations9776explore/projects/page_out_of_bounds.html.haml9777 # order random9778 removes unsafe params from the link9779Glfm::ParseExamples#parse_examples9780 # order random9781 parsing9782 correctly parses9783 with incorrect header nesting9784 raises if H3 is nested directly in H19785OmniAuth::Strategies::OAuth29786 verifies the gem version9787 when a Faraday exception is raised9788 exception: Faraday::TimeoutError9789 passes the exception to OmniAuth9790 exception: Faraday::ConnectionFailed9791 passes the exception to OmniAuth9792Types::IssuableSeverityEnum9793 is expected to eq "IssuableSeverity"9794 exposes all the existing issuable severity values9795Gitlab::Graphql::Tracers::ApplicationContextTracer9796 sets application context during execute_query and cleans up afterwards9797 sets caller_id when operation is not known9798Gitlab::ImportExport::DurationMeasuring9799 measures method execution duration9800 #with_duration_measuring9801 yields control9802 returns result of the yielded block9803RuboCop::Cop::Scalability::IdempotentWorker9804 # order random9805 adds an offense when not defining idempotent method9806 adds an offense when not defining idempotent method9807Gitlab::Ci::SecureFiles::X509Name9808 # order random9809 .parse9810 parses an X509Name object into a hash format9811 returns an empty hash when an error occurs9812Types::Ci::RunnerPlatformType9813 is expected to eq "RunnerPlatform"9814 exposes the expected fields9815Types::IssuableSearchableFieldEnum9816 is expected to eq "IssuableSearchableField"9817 exposes all the issuable searchable fields9818Hashie::Mash#permitted patch9819 # order random9820 #permitted9821 raises ArgumentError9822 #respond_to? with :permitted?9823 returns false9824API::Entities::BulkImport9825 has the correct attributes9826Gitlab::GithubImport::Logger9827 behaves like a json logger9828 formats strings9829 formats hashes9830BlobViewer::PodspecJson9831 #package_name9832 returns the package name9833Gitlab::GrapeLogging::Loggers::PerfLogger9834 .parameters9835 when no performance data present9836 is expected not to include {:redis_calls => 1}9837 when performance data present9838 is expected to include {:redis_calls => 1}9839API::Validations::Validators::UntrustedRegexp9840 valid regex9841 does not raise a validation error9842 invalid regex9843 raises a validation error9844Gitlab::Graphql::Timeout9845 inherits from9846 sends the error to our GraphQL logger9847Ml::CandidateParam9848 associations9849 is expected to belong to candidate required: false9850Types::Ci::VariableSortEnum9851 # order random9852 exposes the available order methods9853Gitlab::Kubernetes::TlsSecret9854 #generate9855 is expected to eq #<Kubeclient::Resource type="kubernetes.io/tls", metadata={:name=>"example-name", :namespace=>"example-namespace"}, data={:"tls.crt"=>"ZXhhbXBsZS1jZXJ0", :"tls.key"=>"ZXhhbXBsZS1rZXk="}>9856Gitlab::Kubernetes::Kubeconfig::Entry::User9857 #to_h9858 is expected to eq {:name=>"name", :user=>{:token=>"token"}}9859Tooling::Danger::Specs::FeatureCategorySuggestion9860 # order random9861 adds suggestions at the correct lines9862Gitlab::Search::FoundWikiPage9863 policy9864 works with policy9865Peek::Views::ActiveRecord9866 includes db role data and db_config_name name9867Gitlab::Kubernetes::GenericSecret9868 #generate9869 is expected to eq #<Kubeclient::Resource type="Opaque", metadata={:name=>"example-name", :namespace=>"example-namespace"}, data="example-data">9870Gitlab::InsecureKeyFingerprint9871 #fingerprint_sha2569872 generates the key's fingerprint9873Gitlab::Usage::Metrics::Instrumentations::EditionMetric9874 # order random9875 behaves like a correct instrumented metric value9876 has correct value9877Gitlab::Database::PgDepend9878 # order random9879 .from_pg_extension9880 when having views as dependency9881 returns pg_stat_statements (PENDING: Skipping ./spec/lib/gitlab/database/pg_depend_spec.rb[1:1:1:1] because it's been fast-quarantined.)9882Knapsack report was generated. Preview:9883{9884 "spec/models/project_spec.rb": 398.024784534,9885 "spec/uploaders/design_management/design_v432x230_uploader_spec.rb": 66.69828277700003,9886 "spec/lib/gitlab/asciidoc_spec.rb": 61.07267021000007,9887 "spec/lib/gitlab/auth/o_auth/user_spec.rb": 25.603900179999982,9888 "spec/models/broadcast_message_spec.rb": 10.323804750999898,9889 "spec/lib/gitlab/ssh_public_key_spec.rb": 7.398292668999943,9890 "spec/models/resource_milestone_event_spec.rb": 31.85527544699994,9891 "spec/lib/gitlab/auth/auth_finders_spec.rb": 10.149329394999995,9892 "spec/models/compare_spec.rb": 17.542094220999957,9893 "spec/policies/project_snippet_policy_spec.rb": 10.65423079300001,9894 "spec/services/ci/job_artifacts/destroy_batch_service_spec.rb": 17.311314644999925,9895 "spec/finders/environments/environment_names_finder_spec.rb": 17.715621233000093,9896 "spec/helpers/users_helper_spec.rb": 7.281728164000015,9897 "spec/views/layouts/nav/sidebar/_group.html.haml_spec.rb": 10.21960161900006,9898 "spec/lib/gitlab/auth/ldap/dn_spec.rb": 2.8133703659999583,9899 "spec/tooling/lib/tooling/predictive_tests_spec.rb": 20.925083563000044,9900 "spec/services/pages/migrate_from_legacy_storage_service_spec.rb": 11.853359563999902,9901 "spec/lib/banzai/reference_parser/merge_request_parser_spec.rb": 11.952718157999925,9902 "spec/lib/gitlab/pagination/keyset/in_operator_optimization/query_builder_spec.rb": 7.503740117000007,9903 "spec/models/project_snippet_spec.rb": 5.950961736999943,9904 "spec/services/post_receive_service_spec.rb": 8.046014697999908,9905 "spec/lib/gitlab/metrics_spec.rb": 2.744881616000157,9906 "spec/graphql/types/ci/job_token_scope_type_spec.rb": 10.985051122999948,9907 "spec/presenters/clusterable_presenter_spec.rb": 9.347273008000002,9908 "spec/lib/gitlab/legacy_github_import/importer_spec.rb": 8.552300625999806,9909 "spec/lib/gitlab/changelog/config_spec.rb": 7.552552677999984,9910 "spec/lib/gitlab/group_search_results_spec.rb": 8.214032822000036,9911 "spec/services/projects/container_repository/gitlab/cleanup_tags_service_spec.rb": 5.688400999999885,9912 "spec/lib/gitlab/ci/charts_spec.rb": 6.90744600700009,9913 "spec/models/commit_signatures/gpg_signature_spec.rb": 6.632745231999934,9914 "spec/lib/gitlab/cache/helpers_spec.rb": 5.437458776000085,9915 "spec/services/discussions/resolve_service_spec.rb": 6.44157188600002,9916 "spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb": 5.2931486089999,9917 "spec/lib/gitlab/middleware/multipart_spec.rb": 1.435838682000167,9918 "spec/lib/gitlab/metrics/methods_spec.rb": 1.1932369370001652,9919 "spec/models/concerns/reactive_caching_spec.rb": 2.5939068210000187,9920 "spec/services/projects/protect_default_branch_service_spec.rb": 6.537538925000035,9921 "spec/views/ci/status/_icon.html.haml_spec.rb": 5.1428539809999165,9922 "spec/services/ci/list_config_variables_service_spec.rb": 7.648703122999905,9923 "spec/lib/gitlab/github_import/importer/labels_importer_spec.rb": 4.546386312999857,9924 "spec/lib/gitlab/verify/job_artifacts_spec.rb": 6.134271602000126,9925 "spec/services/metrics/dashboard/custom_metric_embed_service_spec.rb": 3.1734518989999287,9926 "spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb": 2.4781648330001644,9927 "spec/lib/gitlab/email/reply_parser_spec.rb": 1.4069210729999213,9928 "spec/lib/gitlab/database/partitioning/list/convert_table_spec.rb": 4.848263468999903,9929 "spec/lib/gitlab/kubernetes/default_namespace_spec.rb": 5.778206638000029,9930 "spec/lib/gitlab/manifest_import/project_creator_spec.rb": 4.500996923999992,9931 "spec/serializers/web_ide_terminal_entity_spec.rb": 3.9635028719999355,9932 "spec/lib/gitlab/import_export/base/relation_factory_spec.rb": 4.659640192000097,9933 "spec/presenters/group_member_presenter_spec.rb": 1.8708913069999653,9934 "spec/views/projects/issues/service_desk/_issue.html.haml_spec.rb": 2.7371612019999247,9935 "spec/lib/sidebars/projects/menus/packages_registries_menu_spec.rb": 1.6553784380000707,9936 "spec/finders/crm/contacts_finder_spec.rb": 3.569831029999932,9937 "spec/models/error_tracking/error_spec.rb": 3.981174049999936,9938 "spec/helpers/ci/pipelines_helper_spec.rb": 5.5102095569998255,9939 "spec/services/bulk_imports/create_pipeline_trackers_service_spec.rb": 1.814648004999981,9940 "spec/services/packages/create_dependency_service_spec.rb": 2.669013780999876,9941 "spec/services/projects/refresh_build_artifacts_size_statistics_service_spec.rb": 2.885919880000074,9942 "spec/models/milestone_note_spec.rb": 3.9659260189998804,9943 "spec/graphql/resolvers/board_lists_resolver_spec.rb": 3.888031261000151,9944 "spec/helpers/snippets_helper_spec.rb": 2.480685022999978,9945 "spec/lib/gitlab/github_import/importer/single_endpoint_diff_notes_importer_spec.rb": 3.936148507000098,9946 "spec/helpers/button_helper_spec.rb": 2.9267958529999305,9947 "spec/graphql/mutations/incident_management/timeline_event/destroy_spec.rb": 2.7669883990001836,9948 "spec/initializers/rest-client-hostname_override_spec.rb": 1.7626051839999946,9949 "spec/lib/gitlab/harbor/client_spec.rb": 1.3813552250001067,9950 "spec/graphql/resolvers/design_management/versions_resolver_spec.rb": 3.6575215080001726,9951 "spec/services/clusters/destroy_service_spec.rb": 4.248929914999962,9952 "spec/views/shared/runners/_runner_details.html.haml_spec.rb": 2.3931572489998416,9953 "spec/lib/gitlab/import_export/repo_restorer_spec.rb": 4.242240667000033,9954 "spec/lib/gitlab/github_import/importer/pull_requests/reviews_importer_spec.rb": 3.6448232329998973,9955 "spec/lib/gitlab/omniauth_initializer_spec.rb": 0.9488906020001195,9956 "spec/services/packages/npm/create_metadata_cache_service_spec.rb": 1.0326023479999549,9957 "spec/uploaders/lfs_object_uploader_spec.rb": 1.2092199749999963,9958 "spec/lib/banzai/filter/emoji_filter_spec.rb": 0.9854603010001028,9959 "spec/lib/gitlab/merge_requests/mergeability/check_result_spec.rb": 0.6107963319998362,9960 "spec/lib/gitlab/metrics/samplers/action_cable_sampler_spec.rb": 0.876575763999881,9961 "spec/services/personal_access_tokens/create_service_spec.rb": 2.765203460000066,9962 "spec/lib/gitlab/rack_attack/user_allowlist_spec.rb": 0.7307378360001167,9963 "spec/services/packages/terraform_module/create_package_service_spec.rb": 1.6377134299998488,9964 "spec/workers/integrations/create_external_cross_reference_worker_spec.rb": 2.0569943579998835,9965 "spec/lib/sidebars/user_profile/menus/personal_projects_menu_spec.rb": 0.8664226060000146,9966 "spec/graphql/types/work_items/widget_interface_spec.rb": 0.6510003490000145,9967 "spec/lib/gitlab/internal_post_receive/response_spec.rb": 0.6240112170000884,9968 "spec/helpers/issuables_description_templates_helper_spec.rb": 2.836594699999978,9969 "spec/workers/background_migration_worker_spec.rb": 0.9131944220000605,9970 "spec/models/concerns/where_composite_spec.rb": 1.0196626209999522,9971 "spec/helpers/profiles_helper_spec.rb": 1.380792215999918,9972 "spec/lib/gitlab/ci/parsers/test/junit_spec.rb": 1.0940861400001722,9973 "spec/lib/gitlab/database/migrations/runner_backoff/migration_helpers_spec.rb": 0.3681166320000102,9974 "spec/lib/bulk_imports/common/transformers/member_attributes_transformer_spec.rb": 1.8020129019998876,9975 "spec/services/draft_notes/destroy_service_spec.rb": 4.115810554000063,9976 "spec/lib/gitlab/ci/trace/remote_checksum_spec.rb": 0.9915336289998322,9977 "spec/lib/banzai/filter/wiki_link_filter_spec.rb": 1.0073208239998621,9978 "spec/finders/clusters_finder_spec.rb": 2.915606106000041,9979 "spec/tooling/lib/tooling/find_files_using_feature_flags_spec.rb": 0.4088971199998923,9980 "spec/rubocop/cop/gitlab/event_store_subscriber_spec.rb": 0.6148876699999164,9981 "spec/services/users/block_service_spec.rb": 1.3214946130001408,9982 "spec/workers/repository_import_worker_spec.rb": 1.9979924339997979,9983 "spec/models/ci/job_variable_spec.rb": 2.001085734000071,9984 "spec/tooling/lib/tooling/mappings/view_to_js_mappings_spec.rb": 0.8479632319999837,9985 "spec/lib/gitlab/dependency_linker/package_json_linker_spec.rb": 0.8821788919999562,9986 "spec/graphql/resolvers/incident_management/timeline_events_resolver_spec.rb": 2.027447056000028,9987 "spec/lib/gitlab/usage/metrics/instrumentations/count_ci_internal_pipelines_metric_spec.rb": 1.180949364000071,9988 "spec/graphql/mutations/container_repositories/destroy_tags_spec.rb": 1.9192381180000666,9989 "spec/finders/projects/export_job_finder_spec.rb": 1.4670573299999887,9990 "spec/presenters/tree_entry_presenter_spec.rb": 1.7562016550000408,9991 "spec/services/packages/generic/find_or_create_package_service_spec.rb": 1.2740965469999992,9992 "spec/lib/gitlab/issuables_count_for_state_spec.rb": 0.9784605629999987,9993 "spec/lib/gitlab/error_tracking/processor/sanitize_error_message_processor_spec.rb": 0.32874384399997325,9994 "spec/tasks/gitlab/x509/update_rake_spec.rb": 4.026269591000073,9995 "spec/lib/gitlab/webpack/file_loader_spec.rb": 0.4434109199999057,9996 "spec/workers/group_import_worker_spec.rb": 1.4802531860000272,9997 "spec/lib/gitlab/ci/templates/terraform_gitlab_ci_yaml_spec.rb": 2.6705333279999195,9998 "spec/services/alert_management/http_integrations/create_service_spec.rb": 1.2537153430000672,9999 "spec/graphql/types/environment_type_spec.rb": 1.744391609000104,10000 "spec/helpers/invite_members_helper_spec.rb": 1.4661958100000447,10001 "spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_monitor_enabled_metric_spec.rb": 1.0293221689998973,10002 "spec/lib/gitlab/pagination/keyset/pager_spec.rb": 1.9815463490001548,10003 "spec/lib/gitlab/checks/lfs_check_spec.rb": 1.756251515999793,10004 "spec/lib/gitlab/ci/config/entry/coverage_spec.rb": 0.44791874899988215,10005 "spec/lib/gitlab/ci/config/normalizer/matrix_strategy_spec.rb": 0.4231277859998954,10006 "spec/services/spam/ham_service_spec.rb": 0.5380774420000307,10007 "spec/views/projects/jobs/_generic_commit_status.html.haml_spec.rb": 2.1344858049999402,10008 "spec/lib/gitlab/usage_data_counters/container_registry_event_counter_spec.rb": 0.4422746699999607,10009 "spec/graphql/mutations/todos/mark_done_spec.rb": 2.035497073999977,10010 "spec/services/google_cloud/create_cloudsql_instance_service_spec.rb": 1.859089314999892,10011 "spec/lib/api/entities/wiki_page_spec.rb": 2.1568090480000137,10012 "spec/services/clusters/agents/authorizations/ci_access/filter_service_spec.rb": 0.8700604149998981,10013 "spec/services/events/destroy_service_spec.rb": 1.769361821000075,10014 "spec/services/environments/destroy_service_spec.rb": 2.033563474999937,10015 "spec/graphql/resolvers/error_tracking/sentry_error_collection_resolver_spec.rb": 0.7033549249999851,10016 "spec/services/ci/runners/reset_registration_token_service_spec.rb": 1.2063919360000455,10017 "spec/models/error_tracking/client_key_spec.rb": 0.4207559769999989,10018 "spec/tooling/danger/datateam_spec.rb": 0.6280120359999728,10019 "spec/lib/banzai/filter/html_entity_filter_spec.rb": 0.25788338500001373,10020 "spec/lib/gitlab/work_items/work_item_hierarchy_spec.rb": 1.1916627209998296,10021 "spec/lib/gitlab/file_finder_spec.rb": 1.3473979170000803,10022 "spec/lib/api/entities/group_detail_spec.rb": 0.45507728100005806,10023 "spec/helpers/cookies_helper_spec.rb": 0.3532936569999947,10024 "spec/lib/gitlab/database/postgres_autovacuum_activity_spec.rb": 0.5279300049999165,10025 "spec/graphql/types/commit_type_spec.rb": 0.34290461399996275,10026 "spec/lib/sidebars/projects/super_sidebar_menus/secure_menu_spec.rb": 0.28015916300000754,10027 "spec/rubocop/cop/safe_params_spec.rb": 0.3500886960000571,10028 "spec/views/shared/projects/_project.html.haml_spec.rb": 0.632131470000104,10029 "spec/services/ci/create_pipeline_service/variables_spec.rb": 1.546072032999973,10030 "spec/helpers/components_helper_spec.rb": 0.35308248699993783,10031 "spec/services/award_emojis/base_service_spec.rb": 0.32508593700003985,10032 "spec/lib/gitlab/email/message/in_product_marketing/team_short_spec.rb": 0.341604173000178,10033 "spec/policies/release_policy_spec.rb": 1.4202456709999751,10034 "spec/workers/packages/helm/extraction_worker_spec.rb": 1.0436303259998567,10035 "spec/graphql/types/merge_request_connection_type_spec.rb": 0.242135160999851,10036 "spec/services/milestones/merge_requests_count_service_spec.rb": 0.917178014000001,10037 "spec/lib/gitlab/bitbucket_server_import/user_finder_spec.rb": 0.7599817530001474,10038 "spec/lib/bulk_imports/network_error_spec.rb": 0.7259580410000126,10039 "spec/graphql/types/packages/helm/maintainer_type_spec.rb": 0.27747361299998374,10040 "spec/services/bulk_imports/file_export_service_spec.rb": 0.8549717640000836,10041 "spec/views/projects/blob/_viewer.html.haml_spec.rb": 0.6128904029999376,10042 "spec/lib/gitlab/prometheus/adapter_spec.rb": 0.9072984719998658,10043 "spec/lib/gitlab/utils/mime_type_spec.rb": 0.6072584519999964,10044 "spec/workers/remote_mirror_notification_worker_spec.rb": 1.125135623999995,10045 "spec/support_specs/database/prevent_cross_joins_spec.rb": 0.665299860999994,10046 "spec/services/users/respond_to_terms_service_spec.rb": 0.8761646309999378,10047 "spec/lib/gitlab/github_import/object_counter_spec.rb": 0.8083586089999244,10048 "spec/views/admin/groups/_form.html.haml_spec.rb": 0.5548108440000306,10049 "spec/finders/groups/accepting_project_transfers_finder_spec.rb": 1.2683374109999477,10050 "spec/lib/gitlab/ci/pipeline/expression/lexeme/variable_spec.rb": 0.43634453399999984,10051 "spec/lib/gitlab/database/migration_helpers/convert_to_bigint_spec.rb": 0.5202686130000984,10052 "spec/lib/gitlab/legacy_github_import/release_formatter_spec.rb": 0.6032675110000127,10053 "spec/rubocop/cop/destroy_all_spec.rb": 0.40015625199998794,10054 "spec/services/import/prepare_service_spec.rb": 0.6269406589999562,10055 "spec/lib/slack/block_kit/app_home_opened_spec.rb": 0.681902386000047,10056 "spec/models/packages/npm_spec.rb": 0.43216865400017923,10057 "spec/models/integrations/issue_tracker_data_spec.rb": 0.43170604300007653,10058 "spec/models/snippet_input_action_collection_spec.rb": 0.44300228700012667,10059 "spec/workers/jira_connect/sync_feature_flags_worker_spec.rb": 0.6910673799998222,10060 "spec/lib/gitlab/gitaly_client/conflict_files_stitcher_spec.rb": 0.9699960319999263,10061 "spec/initializers/google_cloud_profiler_spec.rb": 0.5560761149999962,10062 "spec/models/concerns/as_cte_spec.rb": 0.40138212299984843,10063 "spec/services/projects/forks_count_service_spec.rb": 0.4550115519998599,10064 "spec/lib/gitlab/metrics/subscribers/ldap_spec.rb": 0.3873858280001059,10065 "spec/lib/api/helpers/internal_helpers_spec.rb": 0.5480110430000877,10066 "spec/workers/issues/reschedule_stuck_issue_rebalances_worker_spec.rb": 0.5768824720000794,10067 "spec/lib/gitlab/database/migrations/lock_retries_helpers_spec.rb": 0.38577505800003564,10068 "spec/graphql/types/issuable_type_spec.rb": 0.4634357039999486,10069 "spec/workers/jira_connect/forward_event_worker_spec.rb": 0.5115857900000265,10070 "spec/services/chat_names/authorize_user_service_spec.rb": 0.3515071070000886,10071 "spec/lib/gitlab/search/abuse_validators/no_abusive_term_length_validator_spec.rb": 0.3420823139999811,10072 "spec/graphql/resolvers/clusters/agents/authorizations/ci_access_resolver_spec.rb": 0.637120811999921,10073 "spec/scripts/database/schema_validator_spec.rb": 0.3459989340001357,10074 "spec/lib/gitlab/memory/instrumentation_spec.rb": 0.37447083400002157,10075 "spec/services/user_preferences/update_service_spec.rb": 0.47027079600002253,10076 "spec/lib/gitlab/incident_management/pager_duty/incident_issue_description_spec.rb": 0.3490483460000178,10077 "spec/services/users/repair_ldap_blocked_service_spec.rb": 0.5717758099999628,10078 "spec/lib/gitlab/console_spec.rb": 0.372423223999931,10079 "spec/lib/gitlab/cluster/rack_timeout_observer_spec.rb": 0.38250941699993746,10080 "spec/services/projects/apple_target_platform_detector_service_spec.rb": 0.37659414499989907,10081 "spec/lib/banzai/render_context_spec.rb": 0.31072906300005343,10082 "spec/lib/bulk_imports/clients/graphql_spec.rb": 0.4442013779998888,10083 "spec/workers/approve_blocked_pending_approval_users_worker_spec.rb": 0.5186064119998264,10084 "spec/serializers/import/github_realtime_repo_serializer_spec.rb": 0.33035531999985324,10085 "spec/views/explore/projects/page_out_of_bounds.html.haml_spec.rb": 0.35682461900000817,10086 "spec/scripts/lib/glfm/parse_examples_spec.rb": 0.2893142960001569,10087 "spec/initializers/100_patch_omniauth_oauth2_spec.rb": 0.3125899239998944,10088 "spec/graphql/types/issuable_severity_enum_spec.rb": 0.28276061399992614,10089 "spec/lib/gitlab/graphql/tracers/application_context_tracer_spec.rb": 0.2849375640000744,10090 "spec/lib/gitlab/import_export/duration_measuring_spec.rb": 0.3099090820001038,10091 "spec/rubocop/cop/scalability/idempotent_worker_spec.rb": 0.2997653590000482,10092 "spec/lib/gitlab/ci/secure_files/x509_name_spec.rb": 0.29332383800010575,10093 "spec/graphql/types/ci/runner_platform_type_spec.rb": 0.32270103699988795,10094 "spec/graphql/types/issuable_searchable_field_enum_spec.rb": 0.28568273499990937,10095 "spec/initializers/hashie_mash_permitted_patch_spec.rb": 0.28568432499992014,10096 "spec/lib/api/entities/bulk_import_spec.rb": 0.3264358880001055,10097 "spec/lib/gitlab/github_import/logger_spec.rb": 0.2800161019999905,10098 "spec/models/blob_viewer/podspec_json_spec.rb": 0.2583261049999237,10099 "spec/lib/gitlab/grape_logging/loggers/perf_logger_spec.rb": 0.282722362999948,10100 "spec/lib/api/validations/validators/untrusted_regexp_spec.rb": 0.27949249299990697,10101 "spec/lib/gitlab/graphql/timeout_spec.rb": 0.2813690229997974,10102 "spec/models/ml/candidate_param_spec.rb": 0.2984045989999231,10103 "spec/graphql/types/ci/variable_sort_enum_spec.rb": 0.2489804429999367,10104 "spec/lib/gitlab/kubernetes/tls_secret_spec.rb": 0.2479063620000943,10105 "spec/lib/gitlab/kubernetes/kubeconfig/entry/user_spec.rb": 0.2510487629999716,10106 "spec/tooling/danger/specs/feature_category_suggestion_spec.rb": 0.24909280299993952,10107 "spec/lib/gitlab/search/found_wiki_page_spec.rb": 0.28401317399993786,10108 "spec/lib/peek/views/active_record_spec.rb": 0.25625649500011605,10109 "spec/lib/gitlab/kubernetes/generic_secret_spec.rb": 0.2554905150000195,10110 "spec/lib/gitlab/insecure_key_fingerprint_spec.rb": 0.25960942599999726,10111 "spec/lib/gitlab/usage/metrics/instrumentations/edition_metric_spec.rb": 0.2478504109999448710113Knapsack global time execution for tests: 18m 32s10114Pending: (Failures listed here are expected and do not affect your suite's status)10115 1) DesignManagement::DesignV432x230Uploader behaves like builds correct paths #cache_dir behaves like matches the method pattern 10116 # No pattern provided, skipping.10117 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810118 2) DesignManagement::DesignV432x230Uploader behaves like builds correct paths #work_dir behaves like matches the method pattern 10119 # No pattern provided, skipping.10120 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810121 3) DesignManagement::DesignV432x230Uploader behaves like builds correct paths #relative_path is relative10122 # Path not set, skipping.10123 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:4010124 4) DesignManagement::DesignV432x230Uploader behaves like builds correct paths .base_dir behaves like matches the method pattern 10125 # No pattern provided, skipping.10126 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810127 5) DesignManagement::DesignV432x230Uploader object_store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 10128 # No pattern provided, skipping.10129 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810130 6) DesignManagement::DesignV432x230Uploader object_store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 10131 # No pattern provided, skipping.10132 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810133 7) DesignManagement::DesignV432x230Uploader object_store is REMOTE behaves like builds correct paths #relative_path is relative10134 # Path not set, skipping.10135 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:4010136 8) DesignManagement::DesignV432x230Uploader object_store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 10137 # No pattern provided, skipping.10138 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810139 9) DesignManagement::DesignV432x230Uploader object_store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 10140 # No pattern provided, skipping.10141 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810142 10) LfsObjectUploader behaves like builds correct paths #upload_path behaves like matches the method pattern 10143 # No pattern provided, skipping.10144 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810145 11) LfsObjectUploader behaves like builds correct paths #relative_path is relative10146 # Path not set, skipping.10147 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:4010148 12) LfsObjectUploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 10149 # No pattern provided, skipping.10150 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810151 13) LfsObjectUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 10152 # No pattern provided, skipping.10153 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810154 14) LfsObjectUploader object store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 10155 # No pattern provided, skipping.10156 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810157 15) LfsObjectUploader object store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 10158 # No pattern provided, skipping.10159 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810160 16) LfsObjectUploader object store is REMOTE behaves like builds correct paths #upload_path behaves like matches the method pattern 10161 # No pattern provided, skipping.10162 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810163 17) LfsObjectUploader object store is REMOTE behaves like builds correct paths #relative_path is relative10164 # Path not set, skipping.10165 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:4010166 18) LfsObjectUploader object store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 10167 # No pattern provided, skipping.10168 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810169 19) LfsObjectUploader object store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 10170 # No pattern provided, skipping.10171 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810172 20) Ci::JobVariable partitioning when using bulk_insert creates job variables successfully10173 # Skipping partitioning tests until `ci_builds` is partitioned10174 Failure/Error: skip 'Skipping partitioning tests until `ci_builds` is partitioned'10175 RSpec::Core::Pending::SkipDeclaredInExample10176 # ./spec/support/helpers/models/ci/partitioning_testing/rspec_hooks.rb:8:in `block (2 levels) in <top (required)>'10177 # ./spec/support/fast_quarantine.rb:23:in `block (2 levels) in <top (required)>'10178 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'10179 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'10180 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'10181 21) Gitlab::Database::PgDepend.from_pg_extension when having views as dependency returns pg_stat_statements10182 # Skipping ./spec/lib/gitlab/database/pg_depend_spec.rb[1:1:1:1] because it's been fast-quarantined.10183 Failure/Error: skip "Skipping #{example.id} because it's been fast-quarantined."10184 RSpec::Core::Pending::SkipDeclaredInExample10185 # ./spec/support/fast_quarantine.rb:21:in `block (2 levels) in <top (required)>'10186 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'10187 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'10188 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'10189Finished in 18 minutes 37 seconds (files took 51.94 seconds to load)101904484 examples, 0 failures, 21 pending10191Randomized with seed 6356610192[TEST PROF INFO] Time spent in factories: 10:39.651 (56.91% of total time)10193RSpec exited with 0.10194No examples to retry, congrats!10196Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy10198Uploading artifacts...10199coverage/: found 5 matching artifact files and directories 10200crystalball/: found 2 matching artifact files and directories 10201deprecations/: found 5 matching artifact files and directories 10202knapsack/: found 4 matching artifact files and directories 10203WARNING: query_recorder/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 10204rspec/: found 17 matching artifact files and directories 10205WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 10206log/*.log: found 19 matching artifact files and directories 10207WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4400964198/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com10208WARNING: Retrying... context=artifacts-uploader error=request redirected10209Uploading artifacts as "archive" to coordinator... 201 Created id=4400964198 responseStatus=201 Created token=64_W-ZUz10210Uploading artifacts...10211rspec/rspec-*.xml: found 1 matching artifact files and directories 10212WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4400964198/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com10213WARNING: Retrying... context=artifacts-uploader error=request redirected10214Uploading artifacts as "junit" to coordinator... 201 Created id=4400964198 responseStatus=201 Created token=64_W-ZUz10216Job succeeded