rspec unit pg12 22/28
Passed Started
by
@stanhu

Stan Hu
1Running with gitlab-runner 15.6.0~beta.186.ga889181a (a889181a)2 on green-2.shared-gitlab-org.runners-manager.gitlab.com/default 8zCxmpPt3 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:c5abf812eff57d99cd4ae9b4d688261207b59905c5d0ca50c5e57f75669dbf10 for postgres:12 with digest postgres@sha256:a66060c3beab11e6f8eac5581c28df727539653a3c11e860847b14149e678d3e ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:83c577984741ab5b2e78640e0524852998d539ea3961e6d56680f336371f5c83 for redis:6.0-alpine with digest redis@sha256:459e91c5fe54134da1601ef85a4d9bc40c953862737fdfbe8f3c2b2a3eb6b20b ...13Waiting for services to be up and running (timeout 30 seconds)...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 ...16Using docker image sha256:5c5404ecc69273636c3ef49645be715ef30ea99e51ad146a2efbeac2a1875f9c for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12@sha256:b032fe79dc0bf3ebfaeb610c82eacc500fbd0ec6e01889444011cf5a72b4135d ...18Running on runner-8zcxmppt-project-278964-concurrent-0 via runner-8zcxmppt-shared-gitlab-org-1668127640-23d7b880...20$ eval "$CI_PRE_CLONE_SCRIPT"21Fetching changes with git depth set to 20...22Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/23Created fresh repository.24remote: Enumerating objects: 134695, done. 25remote: Counting objects: 100% (134695/134695), done. 26remote: Compressing objects: 100% (87197/87197), done. 27remote: Total 134695 (delta 60835), reused 93449 (delta 42513), pack-reused 0 28Receiving objects: 100% (134695/134695), 116.52 MiB | 33.62 MiB/s, done.29Resolving deltas: 100% (60835/60835), done.31 * [new ref] refs/pipelines/691761438 -> refs/pipelines/69176143832 * [new branch] master -> origin/master33Checking out 0a62f4a6 as master...34Skipping Git submodules setup35$ git remote set-url origin "${CI_REPOSITORY_URL}"37Checking cache for ruby-gems-debian-bullseye-ruby-2.7-16...38cache.zip is up to date 39Successfully extracted cache40Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-2.7-16...41cache.zip is up to date 42Successfully extracted cache44Downloading artifacts for compile-test-assets (3307837569)...45Downloading artifacts from coordinator... ok id=3307837569 responseStatus=200 OK token=zzefHL9y46Downloading artifacts for detect-tests (3307837577)...47Downloading artifacts from coordinator... ok id=3307837577 responseStatus=200 OK token=zzefHL9y48Downloading artifacts for retrieve-tests-metadata (3307837579)...49Downloading artifacts from coordinator... ok id=3307837579 responseStatus=200 OK token=zzefHL9y50Downloading artifacts for setup-test-env (3307837573)...51Downloading artifacts from coordinator... ok id=3307837573 responseStatus=200 OK token=zzefHL9y53Using docker image sha256:5c5404ecc69273636c3ef49645be715ef30ea99e51ad146a2efbeac2a1875f9c for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12@sha256:b032fe79dc0bf3ebfaeb610c82eacc500fbd0ec6e01889444011cf5a72b4135d ...54$ echo $FOSS_ONLY55$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb56$ export GOPATH=$CI_PROJECT_DIR/.go57$ mkdir -p $GOPATH58$ source scripts/utils.sh59$ source scripts/prepare_build.sh688Using decomposed database config (config/database.yml.decomposed-postgresql)689$ setup_db_user_only690CREATE ROLE691GRANT692==> 'setup_db_user_only' succeeded in 0 seconds.693$ bundle exec rake db:drop db:create db:schema:load db:migrate694Dropped database 'gitlabhq_test'695Dropped database 'gitlabhq_test_ci'696Dropped database 'gitlabhq_geo_test'697Created database 'gitlabhq_test'698Created database 'gitlabhq_test_ci'699Created database 'gitlabhq_geo_test'700==> 'bundle exec rake db:drop db:create db:schema:load db:migrate' succeeded in 34 seconds.701$ setup_db_praefect702SELECT pg_catalog.set_config('search_path', '', false);703CREATE DATABASE praefect_test ENCODING 'UTF8';704==> 'setup_db_praefect' succeeded in 0 seconds.705$ source ./scripts/rspec_helpers.sh706$ run_timed_command "gem install knapsack --no-document"707$ gem install knapsack --no-document708Successfully installed knapsack-4.0.07091 gem installed710==> 'gem install knapsack --no-document' succeeded in 1 seconds.711$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"825$ rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"826SKIP_FLAKY_TESTS_AUTOMATICALLY: true827RETRY_FAILED_TESTS_IN_NEW_PROCESS: true828KNAPSACK_GENERATE_REPORT: true829FLAKY_RSPEC_GENERATE_REPORT: true830KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,config,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,components}{,/**/}*_spec.rb831KNAPSACK_LOG_LEVEL: debug832KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg12_22_28_report.json833FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json834FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg12_22_28_report.json835NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg12_22_28_report.json836SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec_unit_pg12_22_28_report.txt837RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec_unit_pg12_22_28_report.txt838CRYSTALBALL: 839Knapsack node specs:840spec/models/concerns/ci/has_status_spec.rb841spec/services/groups/destroy_service_spec.rb842spec/lib/gitlab/import_export/group/tree_restorer_spec.rb843spec/finders/work_items/work_items_finder_spec.rb844spec/policies/environment_policy_spec.rb845spec/services/users/migrate_to_ghost_user_service_spec.rb846spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb847spec/services/issues/clone_service_spec.rb848spec/tasks/gitlab/seed/group_seed_rake_spec.rb849spec/lib/gitlab/import_export/project/relation_tree_restorer_spec.rb850spec/models/clusters/applications/cilium_spec.rb851spec/lib/gitlab/background_migration/batched_migration_job_spec.rb852spec/services/deployments/update_environment_service_spec.rb853spec/models/integrations/bamboo_spec.rb854spec/services/files/multi_service_spec.rb855spec/finders/template_finder_spec.rb856spec/lib/gitlab/url_blocker_spec.rb857spec/lib/gitlab/database/reflection_spec.rb858spec/finders/autocomplete/users_finder_spec.rb859spec/models/commit_range_spec.rb860spec/lib/gitlab/gitaly_client/repository_service_spec.rb861spec/lib/gitlab/background_migration/populate_topics_total_projects_count_cache_spec.rb862spec/lib/gitlab/background_migration/backfill_user_details_fields_spec.rb863spec/graphql/mutations/releases/update_spec.rb864spec/finders/releases_finder_spec.rb865spec/lib/banzai/filter/external_link_filter_spec.rb866spec/finders/events_finder_spec.rb867spec/services/issues/set_crm_contacts_service_spec.rb868spec/services/suggestions/create_service_spec.rb869spec/finders/ci/pipelines_for_merge_request_finder_spec.rb870spec/graphql/mutations/discussions/toggle_resolve_spec.rb871spec/models/clusters/providers/aws_spec.rb872spec/helpers/auth_helper_spec.rb873spec/lib/gitlab/background_migration/expire_o_auth_tokens_spec.rb874spec/serializers/pipeline_details_entity_spec.rb875spec/support_specs/helpers/graphql_helpers_spec.rb876spec/models/protectable_dropdown_spec.rb877spec/lib/gitlab/redis/duplicate_jobs_spec.rb878spec/services/ci/list_config_variables_service_spec.rb879spec/models/ci/group_spec.rb880spec/workers/incident_management/process_alert_worker_v2_spec.rb881spec/lib/gitlab/database/load_balancing/transaction_leaking_spec.rb882spec/lib/gitlab/background_migration/destroy_invalid_members_spec.rb883spec/finders/fork_projects_finder_spec.rb884spec/models/audit_event_spec.rb885spec/helpers/dropdowns_helper_spec.rb886spec/models/clusters/providers/gcp_spec.rb887spec/lib/gitlab/redis/rate_limiting_spec.rb888spec/services/work_items/create_service_spec.rb889spec/lib/gitlab/background_migration/backfill_namespace_id_of_vulnerability_reads_spec.rb890spec/lib/gitlab/metrics/methods_spec.rb891spec/lib/gitlab/query_limiting/transaction_spec.rb892spec/helpers/button_helper_spec.rb893spec/lib/gitlab/verify/job_artifacts_spec.rb894spec/workers/stuck_merge_jobs_worker_spec.rb895spec/services/repositories/housekeeping_service_spec.rb896spec/services/merge_requests/add_context_service_spec.rb897spec/services/users/authorized_build_service_spec.rb898spec/workers/packages/cleanup/execute_policy_worker_spec.rb899spec/serializers/analytics_issue_entity_spec.rb900spec/graphql/resolvers/blobs_resolver_spec.rb901spec/lib/sidebars/projects/menus/settings_menu_spec.rb902spec/models/ci/pipeline_variable_spec.rb903spec/initializers/lograge_spec.rb904spec/models/concerns/require_email_verification_spec.rb905spec/lib/gitlab/ci/status/external/common_spec.rb906spec/workers/ci/delete_unit_tests_worker_spec.rb907spec/helpers/version_check_helper_spec.rb908spec/lib/gitlab/repository_cache_spec.rb909spec/models/integrations/chat_message/alert_message_spec.rb910spec/policies/protected_branch_policy_spec.rb911spec/workers/issues/rebalancing_worker_spec.rb912spec/services/jira_import/users_importer_spec.rb913spec/services/ci/create_pipeline_service/include_spec.rb914spec/services/ci/generate_codequality_mr_diff_report_service_spec.rb915spec/graphql/types/group_type_spec.rb916spec/lib/gitlab/git/patches/commit_patches_spec.rb917spec/presenters/commit_presenter_spec.rb918spec/graphql/mutations/timelogs/delete_spec.rb919spec/graphql/resolvers/releases_resolver_spec.rb920spec/lib/gitlab/phabricator_import/project_creator_spec.rb921spec/tasks/gitlab/x509/update_rake_spec.rb922spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb923spec/services/packages/nuget/metadata_extraction_service_spec.rb924spec/finders/packages/pypi/packages_finder_spec.rb925spec/lib/gitlab/access/branch_protection_spec.rb926spec/lib/gitlab/markup_helper_spec.rb927spec/lib/gitlab/pagination/keyset/simple_order_builder_spec.rb928spec/helpers/ci/status_helper_spec.rb929spec/lib/sidebars/panel_spec.rb930spec/lib/gitlab/phabricator_import/issues/task_importer_spec.rb931spec/lib/gitlab/ssh/signature_spec.rb932spec/services/ci/create_pipeline_service/parameter_content_spec.rb933spec/lib/gitlab/highlight_spec.rb934spec/workers/ci/pending_builds/update_group_worker_spec.rb935spec/models/bulk_imports/export_spec.rb936spec/lib/gitlab/repository_size_checker_spec.rb937spec/lib/gitlab/database/load_balancing/configuration_spec.rb938spec/lib/gitlab/cleanup/orphan_job_artifact_files_batch_spec.rb939spec/lib/api/entities/package_spec.rb940spec/workers/ci/pending_builds/update_project_worker_spec.rb941spec/workers/gitlab/jira_import/stage/finish_import_worker_spec.rb942spec/lib/gitlab/file_detector_spec.rb943spec/lib/gitlab/ci/parsers/security/secret_detection_spec.rb944spec/workers/ci/pipeline_artifacts/create_quality_report_worker_spec.rb945spec/workers/merge_requests/resolve_todos_worker_spec.rb946spec/policies/deploy_keys_project_policy_spec.rb947spec/models/packages/go/module_spec.rb948spec/models/concerns/featurable_spec.rb949spec/services/packages/mark_package_for_destruction_service_spec.rb950spec/lib/safe_zip/extract_params_spec.rb951spec/services/work_items/widgets/description_service/update_service_spec.rb952spec/lib/grafana/time_window_spec.rb953spec/lib/gitlab/word_diff/line_processor_spec.rb954spec/lib/gitlab/pipeline_scope_counts_spec.rb955spec/models/fork_network_member_spec.rb956spec/lib/bulk_imports/common/graphql/get_members_query_spec.rb957spec/lib/gitlab/usage/metrics/name_suggestion_spec.rb958spec/lib/gitlab/import_export/design_repo_saver_spec.rb959spec/lib/gitlab/metrics/dashboard/stages/variable_endpoint_inserter_spec.rb960spec/workers/users/migrate_records_to_ghost_user_in_batches_worker_spec.rb961spec/graphql/resolvers/ci/group_runners_resolver_spec.rb962spec/services/ci/compare_accessibility_reports_service_spec.rb963spec/services/concerns/audit_event_save_type_spec.rb964spec/workers/group_import_worker_spec.rb965spec/services/bulk_imports/file_decompression_service_spec.rb966spec/lib/gitlab/search_context/controller_concern_spec.rb967spec/services/projects/move_users_star_projects_service_spec.rb968spec/lib/gitlab/import_export/base/object_builder_spec.rb969spec/graphql/resolvers/group_members_resolver_spec.rb970spec/models/work_items/widgets/labels_spec.rb971spec/finders/groups/user_groups_finder_spec.rb972spec/lib/gitlab/import_export/json/legacy_reader/hash_spec.rb973spec/lib/api/entities/deploy_keys_project_spec.rb974spec/services/resource_events/synthetic_state_notes_builder_service_spec.rb975spec/components/diffs/stats_component_spec.rb976spec/graphql/types/work_items/widget_interface_spec.rb977spec/lib/gitlab/ci/reports/security/locations/secret_detection_spec.rb978spec/models/concerns/delete_with_limit_spec.rb979spec/workers/pages_worker_spec.rb980spec/lib/bulk_imports/users_mapper_spec.rb981spec/finders/prometheus_metrics_finder_spec.rb982spec/lib/gitlab/graphql/representation/tree_entry_spec.rb983spec/workers/ci/archive_trace_worker_spec.rb984spec/lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table_spec.rb985spec/lib/gitlab/emoji_spec.rb986spec/lib/gitlab/ci/status/build/skipped_spec.rb987spec/graphql/resolvers/echo_resolver_spec.rb988spec/lib/gitlab/github_import/importer/label_links_importer_spec.rb989spec/graphql/types/diff_refs_type_spec.rb990spec/helpers/branches_helper_spec.rb991spec/lib/banzai/filter/ascii_doc_post_processing_filter_spec.rb992spec/services/protected_branches/cache_service_spec.rb993spec/services/clusters/aws/verify_provision_status_service_spec.rb994spec/workers/packages/rubygems/extraction_worker_spec.rb995spec/lib/gitlab/utils/mime_type_spec.rb996spec/workers/gitlab_shell_worker_spec.rb997spec/helpers/wiki_page_version_helper_spec.rb998spec/graphql/mutations/alert_management/http_integration/reset_token_spec.rb999spec/lib/gitlab/code_navigation_path_spec.rb1000spec/workers/issuables/clear_groups_issue_counter_worker_spec.rb1001spec/graphql/types/notes/diff_position_type_spec.rb1002spec/models/integrations/base_third_party_wiki_spec.rb1003spec/serializers/analytics_issue_serializer_spec.rb1004spec/rubocop/cop/performance/active_record_subtransaction_methods_spec.rb1005spec/lib/gitlab/checks/timed_logger_spec.rb1006spec/lib/gitlab/prometheus/queries/matched_metric_query_spec.rb1007spec/workers/mail_scheduler/issue_due_worker_spec.rb1008spec/helpers/sourcegraph_helper_spec.rb1009spec/lib/gitlab/experimentation/group_types_spec.rb1010spec/helpers/emoji_helper_spec.rb1011spec/rubocop/cop/usage_data/distinct_count_by_large_foreign_key_spec.rb1012spec/graphql/resolvers/concerns/resolves_groups_spec.rb1013spec/views/admin/sessions/two_factor.html.haml_spec.rb1014spec/lib/gitlab/analytics/cycle_analytics/average_spec.rb1015spec/services/packages/rubygems/metadata_extraction_service_spec.rb1016spec/workers/ci/job_artifacts/expire_project_build_artifacts_worker_spec.rb1017spec/workers/admin_email_worker_spec.rb1018spec/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers_spec.rb1019spec/rubocop/cop/gitlab/service_response_spec.rb1020spec/serializers/import/bitbucket_provider_repo_entity_spec.rb1021spec/graphql/types/container_repository_details_type_spec.rb1022spec/serializers/integrations/harbor_serializers/repository_entity_spec.rb1023spec/lib/banzai/pipeline/email_pipeline_spec.rb1024spec/graphql/types/commit_signatures/gpg_signature_type_spec.rb1025spec/workers/analytics/usage_trends/count_job_trigger_worker_spec.rb1026spec/graphql/types/ci/pipeline_status_enum_spec.rb1027spec/lib/gitlab/kubernetes/service_account_token_spec.rb1028spec/lib/gitlab/ci/config/entry/paths_spec.rb1029spec/views/shared/milestones/_top.html.haml_spec.rb1030spec/helpers/webpack_helper_spec.rb1031spec/lib/gitlab/search/sort_options_spec.rb1032spec/finders/admin/plans_finder_spec.rb1033spec/serializers/group_deploy_key_entity_spec.rb1034spec/lib/gitlab/webpack/graphql_known_operations_spec.rb1035spec/serializers/analytics/cycle_analytics/stage_entity_spec.rb1036spec/lib/gitlab/batch_worker_context_spec.rb1037spec/lib/sidebars/projects/menus/external_wiki_menu_spec.rb1038spec/workers/database/partition_management_worker_spec.rb1039spec/lib/gitlab/kubernetes/service_account_spec.rb1040spec/graphql/types/packages/package_base_type_spec.rb1041spec/lib/gitlab/pagination/keyset/in_operator_optimization/column_data_spec.rb1042spec/lib/gitlab/usage/metrics/instrumentations/snowplow_enabled_metric_spec.rb1043spec/lib/gitlab/ci/status/build/waiting_for_resource_spec.rb1044spec/graphql/types/packages/package_file_type_spec.rb1045spec/services/award_emojis/base_service_spec.rb1046spec/lib/gitlab/utils/delegator_override/error_spec.rb1047spec/db/development/import_common_metrics_spec.rb1048spec/graphql/types/error_tracking/sentry_error_type_spec.rb1049spec/graphql/types/blob_viewer_type_spec.rb1050spec/graphql/types/availability_enum_spec.rb1051spec/graphql/types/commit_signatures/verification_status_enum_spec.rb1052spec/graphql/types/ci_configuration/sast/options_entity_spec.rb1053spec/lib/gitlab/nav/top_nav_menu_header_spec.rb1054spec/graphql/types/merge_request_state_event_enum_spec.rb1055spec/lib/gitlab/with_request_store_spec.rb1056spec/lib/gitlab/database/obsolete_ignored_columns_spec.rb1057spec/lib/gitlab/ci/status/bridge/waiting_for_resource_spec.rb1058Filter specs:1059Running specs:1060Running all node tests without filter1061spec/models/concerns/ci/has_status_spec.rb1062spec/services/groups/destroy_service_spec.rb1063spec/lib/gitlab/import_export/group/tree_restorer_spec.rb1064spec/finders/work_items/work_items_finder_spec.rb1065spec/policies/environment_policy_spec.rb1066spec/services/users/migrate_to_ghost_user_service_spec.rb1067spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb1068spec/services/issues/clone_service_spec.rb1069spec/tasks/gitlab/seed/group_seed_rake_spec.rb1070spec/lib/gitlab/import_export/project/relation_tree_restorer_spec.rb1071spec/models/clusters/applications/cilium_spec.rb1072spec/lib/gitlab/background_migration/batched_migration_job_spec.rb1073spec/services/deployments/update_environment_service_spec.rb1074spec/models/integrations/bamboo_spec.rb1075spec/services/files/multi_service_spec.rb1076spec/finders/template_finder_spec.rb1077spec/lib/gitlab/url_blocker_spec.rb1078spec/lib/gitlab/database/reflection_spec.rb1079spec/finders/autocomplete/users_finder_spec.rb1080spec/models/commit_range_spec.rb1081spec/lib/gitlab/gitaly_client/repository_service_spec.rb1082spec/lib/gitlab/background_migration/populate_topics_total_projects_count_cache_spec.rb1083spec/lib/gitlab/background_migration/backfill_user_details_fields_spec.rb1084spec/graphql/mutations/releases/update_spec.rb1085spec/finders/releases_finder_spec.rb1086spec/lib/banzai/filter/external_link_filter_spec.rb1087spec/finders/events_finder_spec.rb1088spec/services/issues/set_crm_contacts_service_spec.rb1089spec/services/suggestions/create_service_spec.rb1090spec/finders/ci/pipelines_for_merge_request_finder_spec.rb1091spec/graphql/mutations/discussions/toggle_resolve_spec.rb1092spec/models/clusters/providers/aws_spec.rb1093spec/helpers/auth_helper_spec.rb1094spec/lib/gitlab/background_migration/expire_o_auth_tokens_spec.rb1095spec/serializers/pipeline_details_entity_spec.rb1096spec/support_specs/helpers/graphql_helpers_spec.rb1097spec/models/protectable_dropdown_spec.rb1098spec/lib/gitlab/redis/duplicate_jobs_spec.rb1099spec/services/ci/list_config_variables_service_spec.rb1100spec/models/ci/group_spec.rb1101spec/workers/incident_management/process_alert_worker_v2_spec.rb1102spec/lib/gitlab/database/load_balancing/transaction_leaking_spec.rb1103spec/lib/gitlab/background_migration/destroy_invalid_members_spec.rb1104spec/finders/fork_projects_finder_spec.rb1105spec/models/audit_event_spec.rb1106spec/helpers/dropdowns_helper_spec.rb1107spec/models/clusters/providers/gcp_spec.rb1108spec/lib/gitlab/redis/rate_limiting_spec.rb1109spec/services/work_items/create_service_spec.rb1110spec/lib/gitlab/background_migration/backfill_namespace_id_of_vulnerability_reads_spec.rb1111spec/lib/gitlab/metrics/methods_spec.rb1112spec/lib/gitlab/query_limiting/transaction_spec.rb1113spec/helpers/button_helper_spec.rb1114spec/lib/gitlab/verify/job_artifacts_spec.rb1115spec/workers/stuck_merge_jobs_worker_spec.rb1116spec/services/repositories/housekeeping_service_spec.rb1117spec/services/merge_requests/add_context_service_spec.rb1118spec/services/users/authorized_build_service_spec.rb1119spec/workers/packages/cleanup/execute_policy_worker_spec.rb1120spec/serializers/analytics_issue_entity_spec.rb1121spec/graphql/resolvers/blobs_resolver_spec.rb1122spec/lib/sidebars/projects/menus/settings_menu_spec.rb1123spec/models/ci/pipeline_variable_spec.rb1124spec/initializers/lograge_spec.rb1125spec/models/concerns/require_email_verification_spec.rb1126spec/lib/gitlab/ci/status/external/common_spec.rb1127spec/workers/ci/delete_unit_tests_worker_spec.rb1128spec/helpers/version_check_helper_spec.rb1129spec/lib/gitlab/repository_cache_spec.rb1130spec/models/integrations/chat_message/alert_message_spec.rb1131spec/policies/protected_branch_policy_spec.rb1132spec/workers/issues/rebalancing_worker_spec.rb1133spec/services/jira_import/users_importer_spec.rb1134spec/services/ci/create_pipeline_service/include_spec.rb1135spec/services/ci/generate_codequality_mr_diff_report_service_spec.rb1136spec/graphql/types/group_type_spec.rb1137spec/lib/gitlab/git/patches/commit_patches_spec.rb1138spec/presenters/commit_presenter_spec.rb1139spec/graphql/mutations/timelogs/delete_spec.rb1140spec/graphql/resolvers/releases_resolver_spec.rb1141spec/lib/gitlab/phabricator_import/project_creator_spec.rb1142spec/tasks/gitlab/x509/update_rake_spec.rb1143spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb1144spec/services/packages/nuget/metadata_extraction_service_spec.rb1145spec/finders/packages/pypi/packages_finder_spec.rb1146spec/lib/gitlab/access/branch_protection_spec.rb1147spec/lib/gitlab/markup_helper_spec.rb1148spec/lib/gitlab/pagination/keyset/simple_order_builder_spec.rb1149spec/helpers/ci/status_helper_spec.rb1150spec/lib/sidebars/panel_spec.rb1151spec/lib/gitlab/phabricator_import/issues/task_importer_spec.rb1152spec/lib/gitlab/ssh/signature_spec.rb1153spec/services/ci/create_pipeline_service/parameter_content_spec.rb1154spec/lib/gitlab/highlight_spec.rb1155spec/workers/ci/pending_builds/update_group_worker_spec.rb1156spec/models/bulk_imports/export_spec.rb1157spec/lib/gitlab/repository_size_checker_spec.rbKnapsack report generator started!1158Run options: exclude {:quarantine=>true, :level=>"migration"}1159Test environment set up in 0.942851232 seconds1160Ci::HasStatus1161 .composite_status1162 ci build statuses1163 behaves like build status summary1164 all successful1165 is expected to eq "success"1166 at least one failed1167 is expected to eq "failed"1168 at least one running1169 is expected to eq "running"1170 at least one pending1171 is expected to eq "running"1172 all waiting for resource1173 is expected to eq "waiting_for_resource"1174 at least one waiting for resource1175 is expected to eq "waiting_for_resource"1176 all preparing1177 is expected to eq "preparing"1178 at least one preparing1179 is expected to eq "preparing"1180 success and failed but allowed to fail1181 is expected to eq "success"1182 one failed but allowed to fail1183 is expected to eq "success"1184 success and canceled1185 is expected to eq "canceled"1186 one failed and one canceled1187 is expected to eq "failed"1188 one failed but allowed to fail and one canceled1189 is expected to eq "canceled"1190 one running one canceled1191 is expected to eq "running"1192 all canceled1193 is expected to eq "canceled"1194 success and canceled but allowed to fail1195 is expected to eq "success"1196 one finished and second running but allowed to fail1197 is expected to eq "running"1198 when one status finished and second is still created1199 is expected to eq "running"1200 when there is a manual status before created status1201 is expected to eq "manual"1202 when one status is a blocking manual action1203 is expected to eq "manual"1204 when one status is a non-blocking manual action1205 is expected to eq "failed"1206 generic commit statuses1207 behaves like build status summary1208 all successful1209 is expected to eq "success"1210 at least one failed1211 is expected to eq "failed"1212 at least one running1213 is expected to eq "running"1214 at least one pending1215 is expected to eq "running"1216 all waiting for resource1217 is expected to eq "waiting_for_resource"1218 at least one waiting for resource1219 is expected to eq "waiting_for_resource"1220 all preparing1221 is expected to eq "preparing"1222 at least one preparing1223 is expected to eq "preparing"1224 success and failed but allowed to fail1225 is expected to eq "success"1226 one failed but allowed to fail1227 is expected to eq "success"1228 success and canceled1229 is expected to eq "canceled"1230 one failed and one canceled1231 is expected to eq "failed"1232 one failed but allowed to fail and one canceled1233 is expected to eq "canceled"1234 one running one canceled1235 is expected to eq "running"1236 all canceled1237 is expected to eq "canceled"1238 success and canceled but allowed to fail1239 is expected to eq "success"1240 one finished and second running but allowed to fail1241 is expected to eq "running"1242 when one status finished and second is still created1243 is expected to eq "running"1244 when there is a manual status before created status1245 is expected to eq "manual"1246 when one status is a blocking manual action1247 is expected to eq "manual"1248 when one status is a non-blocking manual action1249 is expected to eq "failed"1250 for scope with one status1251 behaves like having a job1252 when it's created ci_build job1253 .created1254 contains the job1255 .relevant1256 contains nothing1257 when it's created generic_commit_status job1258 .created1259 contains the job1260 .relevant1261 contains nothing1262 behaves like having a job1263 when it's waiting_for_resource ci_build job1264 .waiting_for_resource1265 contains the job1266 .relevant1267 contains the job1268 when it's waiting_for_resource generic_commit_status job1269 .waiting_for_resource1270 contains the job1271 .relevant1272 contains the job1273 behaves like having a job1274 when it's preparing ci_build job1275 .preparing1276 contains the job1277 .relevant1278 contains the job1279 when it's preparing generic_commit_status job1280 .preparing1281 contains the job1282 .relevant1283 contains the job1284 behaves like having a job1285 when it's running ci_build job1286 .running1287 contains the job1288 .relevant1289 contains the job1290 when it's running generic_commit_status job1291 .running1292 contains the job1293 .relevant1294 contains the job1295 behaves like having a job1296 when it's pending ci_build job1297 .pending1298 contains the job1299 .relevant1300 contains the job1301 when it's pending generic_commit_status job1302 .pending1303 contains the job1304 .relevant1305 contains the job1306 behaves like having a job1307 when it's success ci_build job1308 .success1309 contains the job1310 .relevant1311 contains the job1312 when it's success generic_commit_status job1313 .success1314 contains the job1315 .relevant1316 contains the job1317 behaves like having a job1318 when it's failed ci_build job1319 .failed1320 contains the job1321 .relevant1322 contains the job1323 when it's failed generic_commit_status job1324 .failed1325 contains the job1326 .relevant1327 contains the job1328 behaves like having a job1329 when it's canceled ci_build job1330 .canceled1331 contains the job1332 .relevant1333 contains the job1334 when it's canceled generic_commit_status job1335 .canceled1336 contains the job1337 .relevant1338 contains the job1339 behaves like having a job1340 when it's skipped ci_build job1341 .skipped1342 contains the job1343 .relevant1344 contains the job1345 when it's skipped generic_commit_status job1346 .skipped1347 contains the job1348 .relevant1349 contains the job1350 for scope with more statuses1351 .running_or_pending1352 behaves like containing the job1353 when it's running ci_build job1354 contains the job1355 when it's running generic_commit_status job1356 contains the job1357 behaves like containing the job1358 when it's pending ci_build job1359 contains the job1360 when it's pending generic_commit_status job1361 contains the job1362 behaves like not containing the job1363 when it's created ci_build job1364 contains nothing1365 when it's created generic_commit_status job1366 contains nothing1367 behaves like not containing the job1368 when it's failed ci_build job1369 contains nothing1370 when it's failed generic_commit_status job1371 contains nothing1372 behaves like not containing the job1373 when it's success ci_build job1374 contains nothing1375 when it's success generic_commit_status job1376 contains nothing1377 .alive1378 behaves like containing the job1379 when it's running ci_build job1380 contains the job1381 when it's running generic_commit_status job1382 contains the job1383 behaves like containing the job1384 when it's pending ci_build job1385 contains the job1386 when it's pending generic_commit_status job1387 contains the job1388 behaves like containing the job1389 when it's waiting_for_resource ci_build job1390 contains the job1391 when it's waiting_for_resource generic_commit_status job1392 contains the job1393 behaves like containing the job1394 when it's preparing ci_build job1395 contains the job1396 when it's preparing generic_commit_status job1397 contains the job1398 behaves like containing the job1399 when it's created ci_build job1400 contains the job1401 when it's created generic_commit_status job1402 contains the job1403 behaves like not containing the job1404 when it's failed ci_build job1405 contains nothing1406 when it's failed generic_commit_status job1407 contains nothing1408 behaves like not containing the job1409 when it's success ci_build job1410 contains nothing1411 when it's success generic_commit_status job1412 contains nothing1413 .alive_or_scheduled1414 behaves like containing the job1415 when it's running ci_build job1416 contains the job1417 when it's running generic_commit_status job1418 contains the job1419 behaves like containing the job1420 when it's pending ci_build job1421 contains the job1422 when it's pending generic_commit_status job1423 contains the job1424 behaves like containing the job1425 when it's waiting_for_resource ci_build job1426 contains the job1427 when it's waiting_for_resource generic_commit_status job1428 contains the job1429 behaves like containing the job1430 when it's preparing ci_build job1431 contains the job1432 when it's preparing generic_commit_status job1433 contains the job1434 behaves like containing the job1435 when it's created ci_build job1436 contains the job1437 when it's created generic_commit_status job1438 contains the job1439 behaves like containing the job1440 when it's scheduled ci_build job1441 contains the job1442 when it's scheduled generic_commit_status job1443 contains the job1444 behaves like not containing the job1445 when it's failed ci_build job1446 contains nothing1447 when it's failed generic_commit_status job1448 contains nothing1449 behaves like not containing the job1450 when it's success ci_build job1451 contains nothing1452 when it's success generic_commit_status job1453 contains nothing1454 behaves like not containing the job1455 when it's canceled ci_build job1456 contains nothing1457 when it's canceled generic_commit_status job1458 contains nothing1459 behaves like not containing the job1460 when it's skipped ci_build job1461 contains nothing1462 when it's skipped generic_commit_status job1463 contains nothing1464 .created_or_pending1465 behaves like containing the job1466 when it's created ci_build job1467 contains the job1468 when it's created generic_commit_status job1469 contains the job1470 behaves like containing the job1471 when it's pending ci_build job1472 contains the job1473 when it's pending generic_commit_status job1474 contains the job1475 behaves like not containing the job1476 when it's running ci_build job1477 contains nothing1478 when it's running generic_commit_status job1479 contains nothing1480 behaves like not containing the job1481 when it's failed ci_build job1482 contains nothing1483 when it's failed generic_commit_status job1484 contains nothing1485 behaves like not containing the job1486 when it's success ci_build job1487 contains nothing1488 when it's success generic_commit_status job1489 contains nothing1490 .finished1491 behaves like containing the job1492 when it's success ci_build job1493 contains the job1494 when it's success generic_commit_status job1495 contains the job1496 behaves like containing the job1497 when it's failed ci_build job1498 contains the job1499 when it's failed generic_commit_status job1500 contains the job1501 behaves like containing the job1502 when it's canceled ci_build job1503 contains the job1504 when it's canceled generic_commit_status job1505 contains the job1506 behaves like not containing the job1507 when it's created ci_build job1508 contains nothing1509 when it's created generic_commit_status job1510 contains nothing1511 behaves like not containing the job1512 when it's running ci_build job1513 contains nothing1514 when it's running generic_commit_status job1515 contains nothing1516 behaves like not containing the job1517 when it's pending ci_build job1518 contains nothing1519 when it's pending generic_commit_status job1520 contains nothing1521 .cancelable1522 behaves like containing the job1523 when it's running ci_build job1524 contains the job1525 when it's running generic_commit_status job1526 contains the job1527 behaves like containing the job1528 when it's pending ci_build job1529 contains the job1530 when it's pending generic_commit_status job1531 contains the job1532 behaves like containing the job1533 when it's waiting_for_resource ci_build job1534 contains the job1535 when it's waiting_for_resource generic_commit_status job1536 contains the job1537 behaves like containing the job1538 when it's preparing ci_build job1539 contains the job1540 when it's preparing generic_commit_status job1541 contains the job1542 behaves like containing the job1543 when it's created ci_build job1544 contains the job1545 when it's created generic_commit_status job1546 contains the job1547 behaves like containing the job1548 when it's scheduled ci_build job1549 contains the job1550 when it's scheduled generic_commit_status job1551 contains the job1552 behaves like not containing the job1553 when it's failed ci_build job1554 contains nothing1555 when it's failed generic_commit_status job1556 contains nothing1557 behaves like not containing the job1558 when it's success ci_build job1559 contains nothing1560 when it's success generic_commit_status job1561 contains nothing1562 behaves like not containing the job1563 when it's skipped ci_build job1564 contains nothing1565 when it's skipped generic_commit_status job1566 contains nothing1567 behaves like not containing the job1568 when it's canceled ci_build job1569 contains nothing1570 when it's canceled generic_commit_status job1571 contains nothing1572 behaves like not containing the job1573 when it's manual ci_build job1574 contains nothing1575 when it's manual generic_commit_status job1576 contains nothing1577 .manual1578 behaves like containing the job1579 when it's manual ci_build job1580 contains the job1581 when it's manual generic_commit_status job1582 contains the job1583 behaves like not containing the job1584 when it's failed ci_build job1585 contains nothing1586 when it's failed generic_commit_status job1587 contains nothing1588 behaves like not containing the job1589 when it's success ci_build job1590 contains nothing1591 when it's success generic_commit_status job1592 contains nothing1593 behaves like not containing the job1594 when it's skipped ci_build job1595 contains nothing1596 when it's skipped generic_commit_status job1597 contains nothing1598 behaves like not containing the job1599 when it's canceled ci_build job1600 contains nothing1601 when it's canceled generic_commit_status job1602 contains nothing1603 .scheduled1604 behaves like containing the job1605 when it's scheduled ci_build job1606 contains the job1607 when it's scheduled generic_commit_status job1608 contains the job1609 behaves like not containing the job1610 when it's failed ci_build job1611 contains nothing1612 when it's failed generic_commit_status job1613 contains nothing1614 behaves like not containing the job1615 when it's success ci_build job1616 contains nothing1617 when it's success generic_commit_status job1618 contains nothing1619 behaves like not containing the job1620 when it's skipped ci_build job1621 contains nothing1622 when it's skipped generic_commit_status job1623 contains nothing1624 behaves like not containing the job1625 when it's canceled ci_build job1626 contains nothing1627 when it's canceled generic_commit_status job1628 contains nothing1629 .complete1630 behaves like containing the job1631 when it's success ci_build job1632 contains the job1633 when it's success generic_commit_status job1634 contains the job1635 behaves like containing the job1636 when it's failed ci_build job1637 contains the job1638 when it's failed generic_commit_status job1639 contains the job1640 behaves like containing the job1641 when it's canceled ci_build job1642 contains the job1643 when it's canceled generic_commit_status job1644 contains the job1645 behaves like containing the job1646 when it's skipped ci_build job1647 contains the job1648 when it's skipped generic_commit_status job1649 contains the job1650 behaves like not containing the job1651 when it's waiting_for_resource ci_build job1652 contains nothing1653 when it's waiting_for_resource generic_commit_status job1654 contains nothing1655 behaves like not containing the job1656 when it's preparing ci_build job1657 contains nothing1658 when it's preparing generic_commit_status job1659 contains nothing1660 behaves like not containing the job1661 when it's pending ci_build job1662 contains nothing1663 when it's pending generic_commit_status job1664 contains nothing1665 behaves like not containing the job1666 when it's running ci_build job1667 contains nothing1668 when it's running generic_commit_status job1669 contains nothing1670 .waiting_for_resource_or_upcoming1671 behaves like containing the job1672 when it's created ci_build job1673 contains the job1674 when it's created generic_commit_status job1675 contains the job1676 behaves like containing the job1677 when it's scheduled ci_build job1678 contains the job1679 when it's scheduled generic_commit_status job1680 contains the job1681 behaves like containing the job1682 when it's waiting_for_resource ci_build job1683 contains the job1684 when it's waiting_for_resource generic_commit_status job1685 contains the job1686 behaves like not containing the job1687 when it's running ci_build job1688 contains nothing1689 when it's running generic_commit_status job1690 contains nothing1691 behaves like not containing the job1692 when it's failed ci_build job1693 contains nothing1694 when it's failed generic_commit_status job1695 contains nothing1696 behaves like not containing the job1697 when it's success ci_build job1698 contains nothing1699 when it's success generic_commit_status job1700 contains nothing1701 behaves like not containing the job1702 when it's canceled ci_build job1703 contains nothing1704 when it's canceled generic_commit_status job1705 contains nothing1706 ::DEFAULT_STATUS1707 is a status created1708 ::BLOCKED_STATUS1709 is a status manual1710 blocked?1711 when status is scheduled1712 is expected to be truthy1713 when status is manual1714 is expected to be truthy1715 when status is created1716 is expected to be falsy1717 when status is scheduled1718 is expected to be truthy1719 when status is manual1720 is expected to be truthy1721 when status is created1722 is expected to be falsy1723 when status is scheduled1724 is expected to be truthy1725 when status is manual1726 is expected to be truthy1727 when status is created1728 is expected to be falsy1729 when status is scheduled1730 is expected to be truthy1731 when status is manual1732 is expected to be truthy1733 when status is created1734 is expected to be falsy1735Groups::DestroyService1736 asynchronous delete1737 behaves like group destruction1738 database records1739 is expected not to include #<Group id:542 @group1>1740 is expected not to include #<Group id:549 @group3/group4>1741 is expected not to include #<Project id:273 group5/project273>>1742 is expected not to include #<NotificationSetting id: 268, user_id: 282, source_id: 560, source_type: "Namespace", level: "global...: nil, moved_project: true, change_reviewer_merge_request: nil, merge_when_pipeline_succeeds: false>1743 bot tokens1744 initiates group bot removal1745 mattermost team1746 destroys the team too1747 file system1748 Sidekiq inline1749 verifies that paths have been deleted1750 event store1751 publishes a GroupDeletedEvent1752 Sidekiq fake1753 verifies original paths and projects still exist1754 synchronous delete1755 behaves like group destruction1756 database records1757 is expected not to include #<Group id:597 @group19>1758 is expected not to include #<Group id:604 @group21/group22>1759 is expected not to include #<Project id:282 group23/project282>>1760 is expected not to include #<NotificationSetting id: 296, user_id: 310, source_id: 615, source_type: "Namespace", level: "global...: nil, moved_project: true, change_reviewer_merge_request: nil, merge_when_pipeline_succeeds: false>1761 bot tokens1762 initiates group bot removal1763 mattermost team1764 destroys the team too1765 file system1766 Sidekiq inline1767 verifies that paths have been deleted1768 event store1769 publishes a GroupDeletedEvent1770 projects in pending_delete1771 behaves like group destruction1772 database records1773 is expected not to include #<Group id:646 @group35>1774 is expected not to include #<Group id:653 @group37/group38>1775 is expected not to include #<Project id:290 group39/project290>>1776 is expected not to include #<NotificationSetting id: 321, user_id: 335, source_id: 664, source_type: "Namespace", level: "global...: nil, moved_project: true, change_reviewer_merge_request: nil, merge_when_pipeline_succeeds: false>1777 bot tokens1778 initiates group bot removal1779 mattermost team1780 destroys the team too1781 file system1782 Sidekiq inline1783 verifies that paths have been deleted1784 event store1785 publishes a GroupDeletedEvent1786 repository removal status is taken into account1787 raises exception1788 when group owner is blocked1789 returns a more descriptive error message1790 repository removal1791 legacy storage1792 removes repository1793 hashed storage1794 removes repository1795 authorization updates1796 for solo groups1797 group is deleted1798 updates project authorization1799 does not make use of a specific service to update project_authorizations records1800 for shared groups within different hierarchies1801 when a project is shared with a group1802 and the shared group is deleted1803 updates project authorizations so group2 users no longer have access1804 calls the service to update project authorizations only with necessary user ids1805 and the group is shared with another group1806 updates project authorizations so group2 and group3 users no longer have access1807 calls the service to update project authorizations only with necessary user ids1808 when a group is shared with a group1809 and the shared group is deleted1810 updates project authorizations since the project has been deleted with the group1811 does not call the service to update project authorizations1812 the shared_with group is deleted1813 updates project authorizations so users of both groups lose access1814 calls the service to update project authorizations only with necessary user ids1815 for shared groups in the same group hierarchy1816 the shared group is deleted1817 updates project authorization1818 does not make use of a specific service to update project authorizations1819 the shared_with group is deleted1820 updates project authorization1821 makes use of a specific service to update project authorizations1822Gitlab::ImportExport::Group::TreeRestorer1823 restore group tree1824 has the group description1825 has group labels1826 has badges1827 has milestones1828 has group children1829 has group members1830 issue boards1831 has issue boards1832 has board label lists1833 child with no parent1834 captures import failures when a child group does not have a valid parent_id1835 when child group creation fails1836 captures import failure1837 excluded attributes1838 does not import root group name1839 does not import root group path1840 does not allow override of excluded attributes1841 does not allow override of excluded attributes1842 does not allow override of excluded attributes1843 does not allow override of excluded attributes1844 does not allow override of excluded attributes1845 does not allow override of excluded attributes1846 does not allow override of excluded attributes1847 does not allow override of excluded attributes1848 group.json file access check1849 does not read a symlink1850 group visibility levels1851 when visibility level is public1852 imports all subgroups as public1853 when visibility level is private1854 imports all subgroups as private1855 when visibility level is internal1856 imports all subgroups as internal1857WorkItems::WorkItemsFinder1858 behaves like issues or work items finder1859 #execute1860 scope: all1861 returns all items1862 finds items user can access due to group1863 user does not have read permissions1864 when filtering by project id1865 returns no items1866 when filtering by group id1867 returns no items1868 assignee filtering1869 behaves like assignee ID filter1870 returns issuables assigned to that user1871 behaves like assignee NOT ID filter1872 returns issuables not assigned to that user1873 behaves like assignee OR filter1874 returns issuables assigned to the given users1875 when assignee_id does not exist1876 behaves like assignee NOT ID filter1877 returns issuables not assigned to that user1878 filter by username1879 behaves like assignee username filter1880 returns issuables assigned to those users1881 behaves like assignee NOT username filter1882 returns issuables not assigned to those users1883 behaves like assignee OR filter1884 returns issuables assigned to the given users1885 when assignee_username does not exist1886 behaves like assignee NOT username filter1887 returns issuables not assigned to those users1888 behaves like no assignee filter1889 returns issuables not assigned to any assignee1890 returns issuables not assigned to any assignee1891 behaves like any assignee filter1893 returns issuables assigned to any assignee1894 returns issuables assigned to any assignee1895 filtering by release1896 when the release tag is none1897 returns items without releases1898 when the release tag exists1899 returns the items associated with that release1900 filtering by projects1901 when projects are passed in a list of ids1902 returns the item belonging to the projects1903 when projects are passed in a subquery1904 returns the item belonging to the projects1905 filtering by group_id1906 when include_subgroup param not set1907 returns all group items1908 when projects outside the group are passed1909 returns no items1910 when projects of the group are passed1911 returns the item within the group and projects1912 when projects of the group are passed as a subquery1913 returns the item within the group and projects1914 when release_tag is passed as a parameter1915 ignores the release_tag parameter1916 when include_subgroup param is true1917 returns all group and subgroup items1918 when mixed projects are passed1919 returns the item within the group and projects1920 filtering by author1921 by author ID1922 returns items created by that user1923 using OR1924 returns items created by any of the given users1925 when feature flag is disabled1926 does not add any filter1927 filtering by NOT author ID1928 returns items not created by that user1929 filtering by nonexistent author ID and issue term using CTE for search1930 returns no results1931 filtering by milestone1932 returns items assigned to that milestone1933 filtering by not milestone1934 returns items not assigned to that milestone1935 with multiple milestones1936 returns items not assigned to both milestones1937 filtering by group milestone1938 returns items assigned to that group milestone1939 using NOT1940 returns items not assigned to that group milestone1941 filtering by no milestone1942 returns items with no milestone1943 returns items with no milestone (deprecated)1944 filtering by any milestone1945 returns items with any assigned milestone1946 returns items with any assigned milestone (deprecated)1947 filtering by upcoming milestone1948 returns items in the upcoming milestone for each project or group1949 using NOT1950 returns items not in upcoming milestones for each project or group, but must have a due date1951 filtering by started milestone1952 returns items in the started milestones for each project1953 using NOT1954 returns items not in the started milestones for each project1955 filtering by label1956 returns items with that label1957 using NOT1958 returns items that do not have that label1959 shadowing the same outside param1960 does not take precedence over labels outside NOT1961 further filtering outside params1962 further filters on the returned resultset1963 filtering by multiple labels1964 returns the unique items with all those labels1965 using NOT1966 returns items that do not have any of the labels provided1967 filtering by a label that includes any or none in the title1968 returns the unique items with all those labels1969 using NOT1970 returns items that do not have ANY ONE of the labels provided1971 filtering by no label1972 returns items with no labels1973 filtering by any label1974 returns items that have one or more label1975 when the same label exists on project and group levels1976 finds both item records1977 filtering by item term1978 with latin search term1979 returns matching items1980 with non-latin search term1981 returns matching items1982 when full-text search is disabled1983 allows partial word matches1984 with anonymous user1985 with disable_anonymous_search feature flag enabled1986 does not perform search1987 with disable_anonymous_search feature flag disabled1988 finds one public item1989 filtering by item term in title1990 returns items with title match for search term1991 filtering by items iids1992 returns items where iids match1993 using NOT1994 returns items with no iids match1995 filtering by state1996 with opened1997 returns only opened items1998 with closed1999 returns only closed items2000 with all2001 returns all items2002 with invalid state2003 returns all items2004 filtering by created_at2005 through created_after2006 returns items created on or after the given date2007 through created_before2008 returns items created on or before the given date2009 through created_after and created_before2010 returns items created between the given dates2011 filtering by updated_at2012 through updated_after2013 returns items updated on or after the given date2014 through updated_before2015 returns items updated on or before the given date2016 through updated_after and updated_before2017 returns items updated between the given dates2018 filtering by closed_at2019 through closed_after2020 returns items closed on or after the given date2021 through closed_before2022 returns items closed on or before the given date2023 through closed_after and closed_before2024 returns items closed between the given dates2025 filtering by reaction name2026 user searches by no reaction2027 returns items that the user did not react to2028 user searches by any reaction2029 returns items that the user reacted to2030 user searches by "thumbsup" reaction2031 returns items that the user thumbsup to2032 using NOT2033 returns items that the user did not thumbsup to2034 user2 searches by "thumbsup" reaction2035 returns items that the user2 thumbsup to2036 using NOT2037 returns items that the user2 thumbsup to2038 user searches by "thumbsdown" reaction2039 returns items that the user thumbsdown to2040 using NOT2041 returns items that the user thumbsdown to2042 filtering by confidential2043 no filtering2044 returns all items2045 user filters confidential items2046 returns only confidential items2047 user filters only public items2048 returns only public items2049 filtering by item type2050 no type given2051 returns all items2052 incident type2053 returns incident items2054 item type2055 returns all items with type issue2056 multiple params2057 returns all items2058 without array2059 returns incident items2060 invalid params2061 returns no items2062 crm filtering2063 filtering by crm contact2064 when the user can read crm contacts2065 returns for that contact2066 when the user can not read crm contacts2067 does not filter by contact2068 filtering by crm organization2069 when the user can read crm organization2070 returns for that organization2071 when the user can not read crm organization2072 does not filter by organization2073 when the user is unauthorized2074 returns no results2075 when the user can see some, but not all, items2076 returns only items they can see2077 personal scope2078 returns item assigned to the user2079 filtering by project2080 returns items assigned to the user in that project2081 when project restricts items2082 doesn't return team-only items to non team members2083 doesn't return items if feature disabled2084 external authorization2085 behaves like a finder with external authorization service2086 finds the subject2087 with an external authorization service2088 does not include the subject when no project was given2089 includes the subject when a project id was given2090 filtering by due date2091 with param set to no due date2092 returns items with no due date2093 with param set to any due date2094 returns items with any due date2095 with param set to due today2096 returns items due today2097 with param set to due tomorrow2098 returns items due today2099 with param set to overdue2100 returns overdue items2101 with param set to next month and previous two weeks2102 returns items due in the previous two weeks and next month2103 with invalid param2104 returns no items2105 #row_count2106 returns -1 if the query times out2107 when admin mode is enabled2108 returns the number of rows for the default state2109 returns the number of rows for a given state2110 when admin mode is disabled2111 returns no rows2112 #with_confidentiality_access_check2113 when no project filter is given2114 for an anonymous user2115 behaves like returns public, does not return hidden or confidential2116 returns only public items2117 when feature flag is disabled2118 behaves like returns public and hidden, does not return confidential2119 returns only public and hidden items2120 for a user without project membership2121 behaves like returns public, does not return hidden or confidential2122 returns only public items2123 when feature flag is disabled2124 behaves like returns public and hidden, does not return confidential2125 returns only public and hidden items2126 for a guest user2127 behaves like returns public, does not return hidden or confidential2128 returns only public items2129 when feature flag is disabled2130 behaves like returns public and hidden, does not return confidential2131 returns only public and hidden items2132 for a project member with access to view confidential items2133 behaves like returns public and confidential, does not return hidden2134 returns only public and confidential items2135 when feature flag is disabled2136 behaves like returns public, confidential, and hidden2137 returns all items2138 for an admin2139 when admin mode is enabled2140 behaves like returns public, confidential, and hidden2141 returns all items2142 when feature flag is disabled2143 behaves like returns public, confidential, and hidden2144 returns all items2145 when admin mode is disabled2146 behaves like returns public, does not return hidden or confidential2147 returns only public items2148 when feature flag is disabled2149 behaves like returns public and hidden, does not return confidential2150 returns only public and hidden items2151 when searching within a specific project2152 for an anonymous user2153 does not filter by confidentiality2154 behaves like returns public, does not return hidden or confidential2155 returns only public items2156 when feature flag is disabled2157 behaves like returns public and hidden, does not return confidential2158 returns only public and hidden items2159 for a user without project membership2160 filters by confidentiality2161 behaves like returns public, does not return hidden or confidential2162 returns only public items2163 when feature flag is disabled2164 behaves like returns public and hidden, does not return confidential2165 returns only public and hidden items2166 for a guest user2167 filters by confidentiality2168 behaves like returns public, does not return hidden or confidential2169 returns only public items2170 when feature flag is disabled2171 behaves like returns public and hidden, does not return confidential2172 returns only public and hidden items2173 for a project member with access to view confidential items2174 does not filter by confidentiality2175 behaves like returns public and confidential, does not return hidden2176 returns only public and confidential items2177 when feature flag is disabled2178 behaves like returns public, confidential, and hidden2179 returns all items2180 for an admin2181 when admin mode is enabled2182 does not filter by confidentiality2183 behaves like returns public, confidential, and hidden2184 returns all items2185 when feature flag is disabled2186 behaves like returns public, confidential, and hidden2187 returns all items2188 when admin mode is disabled2189 filters by confidentiality2190 behaves like returns public, does not return hidden or confidential2191 returns only public items2192 when feature flag is disabled2193 behaves like returns public and hidden, does not return confidential2194 returns only public and hidden items2195 #use_cte_for_search?2196 when there is no search param2197 returns false2198 when the force_cte param is falsey2199 returns false2200 when a non-simple sort is given2201 returns false2202 when all conditions are met2203 uses group search optimization2204 returns true2205 uses project search optimization2206 returns true2207 with simple sort2208 returns true2209 with simple sort as a symbol2210 returns true2211 #parent_param=2212 klass: :Project, param: :project_id2213 sets the params2214 klass: :Group, param: :group_id2215 sets the params2216 unexpected parent2217 raises an error2218EnvironmentPolicy2219 #rules2220 when project is public2221 with stop action2222 access_level: nil, allowed?: false2223 is expected to equal false2224 access_level: :guest, allowed?: false2225 is expected to equal false2226 access_level: :reporter, allowed?: false2227 is expected to equal false2228 access_level: :developer, allowed?: true2229 is expected to equal true2230 access_level: :maintainer, allowed?: true2231 is expected to equal true2232 when an admin user2233 when admin mode is enabled2234 is expected to be allowed :stop_environment2235 when admin mode is disabled2236 is expected to be disallowed :stop_environment2237 with protected branch2238 when an admin user2239 when admin mode is enabled2240 is expected to be allowed :stop_environment2241 when admin mode is disabled2242 is expected to be disallowed :stop_environment2243 without stop action2244 access_level: nil, allowed?: false2245 is expected to equal false2246 access_level: :guest, allowed?: false2247 is expected to equal false2248 access_level: :reporter, allowed?: false2249 is expected to equal false2250 access_level: :developer, allowed?: true2251 is expected to equal true2252 access_level: :maintainer, allowed?: true2253 is expected to equal true2254 when an admin user2255 when admin mode is enabled2256 is expected to be allowed :stop_environment2257 when admin mode is disabled2258 is expected to be disallowed :stop_environment2259 #destroy_environment2260 access_level: nil, allowed?: false2261 is expected to be disallowed :destroy_environment2262 when environment is stopped2263 is expected to equal false2264 access_level: :guest, allowed?: false2265 is expected to be disallowed :destroy_environment2266 when environment is stopped2267 is expected to equal false2268 access_level: :reporter, allowed?: false2269 is expected to be disallowed :destroy_environment2270 when environment is stopped2271 is expected to equal false2272 access_level: :developer, allowed?: true2273 is expected to be disallowed :destroy_environment2274 when environment is stopped2275 is expected to equal true2276 access_level: :maintainer, allowed?: true2277 is expected to be disallowed :destroy_environment2278 when environment is stopped2279 is expected to equal true2280 when an admin user2281 is expected to be disallowed :destroy_environment2282 when environment is stopped2283 when admin mode is enabled2284 is expected to be allowed :destroy_environment2285 when admin mode is disabled2286 is expected to be disallowed :destroy_environment2287 when project is private2288 with stop action2289 access_level: nil, allowed?: false2290 is expected to equal false2291 access_level: :guest, allowed?: false2292 is expected to equal false2293 access_level: :reporter, allowed?: false2294 is expected to equal false2295 access_level: :developer, allowed?: true2296 is expected to equal true2297 access_level: :maintainer, allowed?: true2298 is expected to equal true2299 when an admin user2300 when admin mode is enabled2301 is expected to be allowed :stop_environment2302 when admin mode is disabled2303 is expected to be disallowed :stop_environment2304 with protected branch2305 when an admin user2306 when admin mode is enabled2307 is expected to be allowed :stop_environment2308 when admin mode is disabled2309 is expected to be disallowed :stop_environment2310 without stop action2311 access_level: nil, allowed?: false2312 is expected to equal false2313 access_level: :guest, allowed?: false2314 is expected to equal false2315 access_level: :reporter, allowed?: false2316 is expected to equal false2317 access_level: :developer, allowed?: true2318 is expected to equal true2319 access_level: :maintainer, allowed?: true2320 is expected to equal true2321 when an admin user2322 when admin mode is enabled2323 is expected to be allowed :stop_environment2324 when admin mode is disabled2325 is expected to be disallowed :stop_environment2326 #destroy_environment2327 access_level: nil, allowed?: false2328 is expected to be disallowed :destroy_environment2329 when environment is stopped2330 is expected to equal false2331 access_level: :guest, allowed?: false2332 is expected to be disallowed :destroy_environment2333 when environment is stopped2334 is expected to equal false2335 access_level: :reporter, allowed?: false2336 is expected to be disallowed :destroy_environment2337 when environment is stopped2338 is expected to equal false2339 access_level: :developer, allowed?: true2340 is expected to be disallowed :destroy_environment2341 when environment is stopped2342 is expected to equal true2343 access_level: :maintainer, allowed?: true2344 is expected to be disallowed :destroy_environment2345 when environment is stopped2346 is expected to equal true2347 when an admin user2348 is expected to be disallowed :destroy_environment2349 when environment is stopped2350 when admin mode is enabled2351 is expected to be allowed :destroy_environment2352 when admin mode is disabled2353 is expected to be disallowed :destroy_environment2354Users::MigrateToGhostUserService2355 migrating a user's associated records to the ghost user2356 issues2357 deleted user is present as both author and edited_user2358 for a issue the user has created2359 does not delete the issue2360 blocks the user before migrating issues to the 'Ghost User'2361 migrates all associated fields to the "Ghost user"2362 will only migrate specific records during a hard_delete2363 race conditions2364 blocks the user before issue migration begins2365 when issue migration fails and is rolled back2366 rolls back the user block2367 doesn't unblock a previously-blocked user2368 deleted user is present only as edited_user2369 for a issue the user has created2370 does not delete the issue2371 blocks the user before migrating issues to the 'Ghost User'2372 migrates all associated fields to the "Ghost user"2373 will only migrate specific records during a hard_delete2374 race conditions2375 blocks the user before issue migration begins2376 when issue migration fails and is rolled back2377 rolls back the user block2378 doesn't unblock a previously-blocked user2379 merge requests2380 deleted user is present as both author and merge_user2381 for a merge request the user has created2382 does not delete the merge request2383 blocks the user before migrating merge requests to the 'Ghost User'2384 migrates all associated fields to the "Ghost user"2385 will only migrate specific records during a hard_delete2386 race conditions2387 blocks the user before merge request migration begins2388 when merge request migration fails and is rolled back2389 rolls back the user block2390 doesn't unblock a previously-blocked user2391 deleted user is present only as both merge_user2392 for a merge request the user has created2393 does not delete the merge request2394 blocks the user before migrating merge requests to the 'Ghost User'2395 migrates all associated fields to the "Ghost user"2396 will only migrate specific records during a hard_delete2397 race conditions2398 blocks the user before merge request migration begins2399 when merge request migration fails and is rolled back2400 rolls back the user block2401 doesn't unblock a previously-blocked user2402 notes2403 for a note the user has created2404 does not delete the note2405 blocks the user before migrating notes to the 'Ghost User'2406 migrates all associated fields to the "Ghost user"2407 will only migrate specific records during a hard_delete2408 race conditions2409 blocks the user before note migration begins2410 when note migration fails and is rolled back2411 rolls back the user block2412 doesn't unblock a previously-blocked user2413 abuse reports2414 for a abuse report the user has created2415 does not delete the abuse report2416 blocks the user before migrating abuse reports to the 'Ghost User'2417 migrates all associated fields to the "Ghost user"2418 will only migrate specific records during a hard_delete2419 race conditions2420 blocks the user before abuse report migration begins2421 when abuse report migration fails and is rolled back2422 rolls back the user block2423 doesn't unblock a previously-blocked user2424 award emoji2425 for a award emoji the user has created2426 does not delete the award emoji2427 blocks the user before migrating award emojis to the 'Ghost User'2428 migrates all associated fields to the "Ghost user"2429 will only migrate specific records during a hard_delete2430 race conditions2431 blocks the user before award emoji migration begins2432 when award emoji migration fails and is rolled back2433 rolls back the user block2434 doesn't unblock a previously-blocked user2435 when the awardable already has an award emoji of the same name assigned to the ghost user2436 migrates the award emoji regardless2437 does not leave the migrated award emoji in an invalid state2438 snippets2439 for a snippet the user has created2440 does not delete the snippet2441 blocks the user before migrating snippets to the 'Ghost User'2442 migrates all associated fields to the "Ghost user"2443 will only migrate specific records during a hard_delete2444 race conditions2445 blocks the user before snippet migration begins2446 when snippet migration fails and is rolled back2447 rolls back the user block2448 doesn't unblock a previously-blocked user2449 reviews2450 for a review the user has created2451 does not delete the review2452 blocks the user before migrating reviews to the 'Ghost User'2453 migrates all associated fields to the "Ghost user"2454 will only migrate specific records during a hard_delete2455 race conditions2456 blocks the user before review migration begins2457 when review migration fails and is rolled back2458 rolls back the user block2459 doesn't unblock a previously-blocked user2460Gitlab::Diff::PositionTracer::LineStrategy2461 #trace2462 diff scenarios2463 when the file was created in the old diff2464 when the file is created in the new diff2465 when the position pointed at an added line in the old diff2466 when the file's content was unchanged between the old and the new diff2467 returns the new position2468 when the position is multiline2469 returns the new position along with line_range2470 when the file's content was changed between the old and the new diff2471 when that line was unchanged between the old and the new diff2472 returns the new position2473 when that line was moved between the old and the new diff2474 returns the new position2475 when that line was changed between the old and the new diff2476 returns the position of the change2477 when that line was deleted between the old and the new diff2478 returns the position of the change2479 when the file is changed in the new diff2480 when the position pointed at an added line in the old diff2481 when the file's content was unchanged between the old and the new diff2482 returns the new position2483 when the file's content was changed between the old and the new diff2484 when that line was unchanged between the old and the new diff2485 returns the new position2486 when that line was moved between the old and the new diff2487 returns the new position2488 when that line was changed between the old and the new diff2489 returns the position of the change2490 when that line was deleted between the old and the new diff2491 returns the position of the change2492 when the file is renamed in the new diff2493 when the position pointed at an added line in the old diff2494 when the file's content was unchanged between the old and the new diff2495 returns the position of the change2496 when the position is multiline2497 returns the new position2498 when the file's content was changed between the old and the new diff2499 when that line was unchanged between the old and the new diff2500 returns the new position2501 when that line was moved between the old and the new diff2502 returns the new position2503 when that line was changed between the old and the new diff2504 returns the position of the change2505 when the file is deleted in the new diff2506 when the position pointed at an added line in the old diff2507 when the file's content was unchanged between the old and the new diff2508 returns the position of the change2509 when the file's content was changed between the old and the new diff2510 when that line was unchanged between the old and the new diff2511 returns the position of the change2512 when that line was moved between the old and the new diff2513 returns the position of the change2514 when that line was changed between the old and the new diff2515 returns the position of the change2516 when that line was deleted between the old and the new diff2517 returns the position of the change2518 when the file is unchanged in the new diff2519 when the position pointed at an added line in the old diff2520 when the file's content was unchanged between the old and the new diff2521 returns the position of the change2522 when the file's content was changed between the old and the new diff2523 when that line was unchanged between the old and the new diff2524 returns the position of the change2525 when that line was moved between the old and the new diff2526 returns the position of the change2527 when that line was changed between the old and the new diff2528 returns the position of the change2529 when that line was deleted between the old and the new diff2530 returns the position of the change2531 when the file was changed in the old diff2532 when the file is created in the new diff2533 when the position pointed at an added line in the old diff2534 when the file's content was unchanged between the old and the new diff2535 returns the new position2536 when the file's content was changed between the old and the new diff2537 when that line was unchanged between the old and the new diff2538 returns the new position2539 when that line was moved between the old and the new diff2540 returns the new position2541 when that line was changed or deleted between the old and the new diff2542 returns the position of the change2543 when the position pointed at a deleted line in the old diff2544 returns the position of the change2545 when the position pointed at an unchanged line in the old diff2546 when the file's content was unchanged between the old and the new diff2547 returns the new position2548 when the file's content was changed between the old and the new diff2549 when that line was unchanged between the old and the new diff2550 returns the new position2551 when that line was moved between the old and the new diff2552 returns the new position2553 when that line was changed or deleted between the old and the new diff2554 returns the position of the change2555 when the file is changed in the new diff2556 when the position pointed at an added line in the old diff2557 when the file's content was unchanged between the old and the new diff2558 returns the new position2559 when the file's content was changed between the old and the new diff2560 when that line was unchanged between the old and the new diff2561 returns the new position2562 when that line was moved between the old and the new diff2563 returns the new position2564 when that line was changed or deleted between the old and the new diff2565 returns the position of the change2566 when the position pointed at a deleted line in the old diff2567 when the file's content was unchanged between the old and the new diff2568 returns the new position2569 typical use scenarios2570 simple push of new commit2571 returns the new positions2572 force push to overwrite last commit2573 returns the new positions2574 force push to delete last commit2575 returns the new positions2576 rebase on top of target branch2577 returns the new positions2578 merge of target branch2579 returns the new positions2580 changing target branch2581 returns the new positions2582Issues::CloneService2583 #execute2584 issue movable2585 when issue creation fails2586 raises a clone error2587 generic issue2588 creates a new issue in the selected project2589 copies issue title2590 copies issue description2591 adds system note to old issue at the end2592 adds system note to new issue at the start2593 keeps old issue open2594 persists new issue2595 persists all changes2596 sets the current user as author2597 creates a new internal id for issue2598 sets created_at of new issue to the time of clone2599 does not set moved_issue2600 when copying comments2601 does not create extra system notes2602 issue with system notes and resource events2603 does not copy system notes and resource events2604 issue with award emoji2605 does not copy the award emoji2606 issue with milestone2607 copies the milestone and creates a resource_milestone_event2608 issue with label2609 copies the label and creates a resource_label_event2610 issue with due date2611 keeps the same due date2612 issue with assignee2613 preserves assignee with access to the new issue2614 ignores assignee without access to the new issue2615 issue is confidential2616 preserves the confidential flag2617 moving to same project2618 also works2619 project issue hooks2620 executes project issue hooks2621 issue with notes2622 does not copy notes2623 when copying comments2624 copies existing notes in order2625 issue with a design2626 calls CopyDesignCollection::QueueService2627 logs if QueueService returns an error2628 copies the design and its notes2629 issue relative position2630 behaves like copy or reset relative position2631 when moved to a project within same group hierarchy2632 does not reset the relative_position2633 when moved to a project in a different group hierarchy2634 does reset the relative_position2635 clone permissions2636 target project is pending deletion2637 is expected to raise Issues::CloneService::CloneError with message matching /pending deletion/2638 user is reporter in both projects2639 is expected not to raise Exception2640 user is reporter only in new project2641 is expected to raise StandardError with message matching /permissions/2642 user is reporter only in old project2643 is expected to raise StandardError with message matching /permissions/2644 user is reporter in one project and guest in another2645 is expected to raise StandardError with message matching /permissions/2646 issue is not persisted2647 is expected to raise StandardError with message matching /permissions/2648gitlab:seed:group_seed rake task2649 performs group seed successfully2650Gitlab::ImportExport::Project::RelationTreeRestorer2651 with legacy reader2652 behaves like import project successfully2653 imported project2654 has the project attributes and relations2655 with logging of relations creation2656 logs top-level relation creation2657 with ndjson reader2658 behaves like import project successfully2659 imported project2660 has the project attributes and relations2661 when inside a group2662 behaves like import project successfully2663 imported project2664 has the project attributes and relations2665 with invalid relations2666 logs the invalid relation and its errors2667Clusters::Applications::Cilium2668 is expected to belong to cluster required: false2669 is expected to validate that :cluster cannot be empty/falsy2670 #can_uninstall?2671 calls allowed_to_uninstall?2672 #name2673 is .application_name2674 is recorded in Clusters::Cluster::APPLICATIONS2675 .association_name2676 is expected to eq :application_cilium2677 #helm_command_module2678 helm_major_version: 2, expected_helm_command_module: Gitlab::Kubernetes::Helm::V22679 is expected to eq Gitlab::Kubernetes::Helm::V22680 helm_major_version: 3, expected_helm_command_module: Gitlab::Kubernetes::Helm::V32681 is expected to eq Gitlab::Kubernetes::Helm::V32682 #status_states2683 returns a hash of state values2684 returns an integer for installed state value2685 .available2686 is expected to contain exactly #<Clusters::Applications::Cilium id: 1, cluster_id: 12, created_at: "2022-11-11 01:07:37.960680132 +0000", updated_at: "2022-11-11 01:07:37.960680132 +0000", status: 3, status_reason: nil> and #<Clusters::Applications::Cilium id: 2, cluster_id: 18, created_at: "2022-11-11 01:07:38.852775597 +0000", updated_at: "2022-11-11 01:07:38.852775597 +0000", status: 5, status_reason: nil>2687 status state machine2688 #make_installing2689 is installing2690 #make_installed2691 is installed2692 does not update the helm version2693 the cluster has no helm installed2694 runs without errors2695 application is updating2696 is updated2697 does not update the helm version2698 the cluster has no helm installed2699 runs without errors2700 #make_errored2701 is errored2702 application is updating2703 is update_errored2704 application is uninstalling2705 is uninstall_errored2706 #make_externally_installed2707 is installed2708 helm record does not exist2709 does not create a helm record2710 helm record exists2711 does not update helm version2712 application is updated2713 is installed2714 application is errored2715 is installed2716 clears #status_reason2717 #make_externally_uninstalled2718 is uninstalled2719 application is updated2720 is uninstalled2721 application is errored2722 is uninstalled2723 clears #status_reason2724 #make_scheduled2725 is scheduled2726 when installed2727 is scheduled2728 when was errored2729 clears #status_reason2730 when was updated_errored2731 clears #status_reason2732 when was uninstall_errored2733 clears #status_reason2734 #make_uninstalling2735 is uninstalling2736 #available?2737 trait: :not_installable, available: false2738 is expected not to be available2739 trait: :installable, available: false2740 is expected not to be available2741 trait: :scheduled, available: false2742 is expected not to be available2743 trait: :installing, available: false2744 is expected not to be available2745 trait: :installed, available: true2746 is expected to be available2747 trait: :updating, available: false2748 is expected not to be available2749 trait: :updated, available: true2750 is expected to be available2751 trait: :errored, available: false2752 is expected not to be available2753 trait: :update_errored, available: false2754 is expected not to be available2755 trait: :uninstalling, available: false2756 is expected not to be available2757 trait: :uninstall_errored, available: false2758 is expected not to be available2759 trait: :uninstalled, available: false2760 is expected not to be available2761 trait: :timed_out, available: false2762 is expected not to be available2763 trait: :externally_installed, available: true2764 is expected to be available2765 #status2766 sets a default status2767 #allowed_to_uninstall?2768 is expected to equal false2769Deployments::UpdateEnvironmentService2770 #execute2771 invalidates the environment etag cache2772 creates ref2773 updates merge request metrics2774 returns the deployment2775 returns the deployment when could not save the environment2776 returns the deployment when environment is stopped2777 when start action is defined2778 and environment is stopped2779 makes environment available2780 when external URL is specified and the tier is unset2781 when external URL is valid2782 succeeds to update the tier automatically2783 when external URL is invalid2784 fails to update the tier due to validation error2785 tracks an exception2786 when variables are used2787 does not create a new environment2788 updates external url2789 when auto_stop_in are used2790 renews auto stop at2791 when value is a variable2792 renews auto stop at with expanded variable value2793 when deployment tier is specified2794 when tier has already been set2795 overwrites the guessed tier by the specified deployment tier2796 when tier has not been set2797 sets the specified deployment tier2798 when deployment was created by an external CD system2799 guesses the deployment tier2800 when deployment tier is not specified2801 guesses the deployment tier2802 #expanded_environment_url2803 when yaml environment uses $CI_COMMIT_REF_NAME2804 is expected to eq "http://review/master"2805 when yaml environment uses $CI_ENVIRONMENT_SLUG2806 is expected to eq "http://review/prod-slug"2807 when yaml environment uses yaml_variables containing symbol keys2808 is expected to eq "http://review/host"2809 when job variables are generated during runtime2810 expands the environment URL from the dynamic variable2811 when environment url uses a nested variable2812 is expected to eq "http://appname-master.example.com"2813 when yaml environment does not have url2814 returns the external_url from persisted environment2815 merge request metrics2816 while updating the 'first_deployed_to_production_at' time2817 for merge requests merged before the current deploy2818 sets the time if the deploy's environment is 'production'2819 does not raise errors if the merge request does not have a metrics record2820 when job deploys to staging2821 doesn't set the time if the deploy's environment is not 'production'2822 for merge requests merged before the previous deploy2823 if the 'first_deployed_to_production_at' time is already set2824 does not overwrite the older 'first_deployed_to_production_at' time2825 if the 'first_deployed_to_production_at' time is not already set2826 does not overwrite the older 'first_deployed_to_production_at' time2827Integrations::Bamboo2828 behaves like Integrations::ResetSecretFields2829 #exposing_secrets_fields2830 returns an array of strings2831 #reset_secret_fields?2832 returns false if no exposing field has changed2833 returns true if any exposing field has changed2834 validation callback2835 when an exposing field has changed2836 clears all secret fields2837 when a secret field has been updated2838 does not clear this secret field2839 when a secret field has been updated with the same value2840 does not clear this secret field2841 when no exposing field has changed2842 does not clear any secret fields2843 accessors2844 is expected to respond to #enable_ssl_verification2845 is expected to respond to #enable_ssl_verification?2846 #initialize_properties2847 enables the setting by default2848 does not enable the setting if the record is already persisted2849 does not enable the setting if a custom value was set2850 #fields2851 inserts the checkbox field after the first URL field, or at the end2852 does not insert the field repeatedly2853 Validations2854 when active2855 is expected to validate that :build_key cannot be empty/falsy2856 is expected to validate that :bamboo_url cannot be empty/falsy2857 behaves like issue tracker integration URL attribute2858 is expected to allow :bamboo_url to be ‹"https://example.com"›2859 is expected not to allow :bamboo_url to be ‹"example.com"›2860 is expected not to allow :bamboo_url to be ‹"ftp://example.com"›2861 is expected not to allow :bamboo_url to be ‹"herp-and-derp"›2862 #username2863 does not validate the presence of username if password is nil2864 validates the presence of username if password is present2865 #password2866 does not validate the presence of password if username is nil2867 validates the presence of password if username is present2868 when inactive2869 is expected not to validate that :build_key cannot be empty/falsy2870 is expected not to validate that :bamboo_url cannot be empty/falsy2871 is expected not to validate that :username cannot be empty/falsy2872 is expected not to validate that :password cannot be empty/falsy2873 #execute2874 runs update and build action2875 #build_page2876 returns the contents of the reactive cache2877 #commit_status2878 returns the contents of the reactive cache2879 #calculate_reactive_cache2880 when Bamboo API returns single result2881 behaves like reactive cache calculation2882 #build_page2883 returns a specific URL when status is 5002884 returns a specific URL when response has no results2885 returns a build URL when bamboo_url has no trailing slash2886 bamboo_url has trailing slash2887 returns a build URL2888 #commit_status2889 sets commit status to :error when status is 5002890 sets commit status to "pending" when status is 4042891 sets commit status to "pending" when response has no results2892 sets commit status to "success" when build state contains Success2893 sets commit status to "failed" when build state contains Failed2894 sets commit status to "pending" when build state contains Pending2895 sets commit status to :error when build state is unknown2896 sets commit status to :error with a Net::OpenTimeout error2897 sets commit status to :error with a Net::ReadTimeout error2898 sets commit status to :error with a Net::WriteTimeout error2899 sets commit status to :error with a Gitlab::HTTP::ReadTotalTimeout error2900 sets commit status to :error with a EOFError error2901 sets commit status to :error with a SocketError error2902 sets commit status to :error with a OpenSSL::SSL::SSLError error2903 sets commit status to :error with a OpenSSL::OpenSSLError error2904 sets commit status to :error with a Errno::ECONNRESET error2905 sets commit status to :error with a Errno::ECONNREFUSED error2906 sets commit status to :error with a Errno::EHOSTUNREACH error2907 sets commit status to :error with a Errno::ENETUNREACH error2908 sets commit status to :error with a Gitlab::HTTP::BlockedUrlError error2909 sets commit status to :error with a Gitlab::HTTP::RedirectionTooDeep error2910 when Bamboo API returns an array of results and we only consider the last one2911 behaves like reactive cache calculation2912 #build_page2913 returns a specific URL when status is 5002914 returns a specific URL when response has no results2915 returns a build URL when bamboo_url has no trailing slash2916 bamboo_url has trailing slash2917 returns a build URL2918 #commit_status2919 sets commit status to :error when status is 5002920 sets commit status to "pending" when status is 4042921 sets commit status to "pending" when response has no results2922 sets commit status to "success" when build state contains Success2923 sets commit status to "failed" when build state contains Failed2924 sets commit status to "pending" when build state contains Pending2925 sets commit status to :error when build state is unknown2926 sets commit status to :error with a Net::OpenTimeout error2927 sets commit status to :error with a Net::ReadTimeout error2928 sets commit status to :error with a Net::WriteTimeout error2929 sets commit status to :error with a Gitlab::HTTP::ReadTotalTimeout error2930 sets commit status to :error with a EOFError error2931 sets commit status to :error with a SocketError error2932 sets commit status to :error with a OpenSSL::SSL::SSLError error2933 sets commit status to :error with a OpenSSL::OpenSSLError error2934 sets commit status to :error with a Errno::ECONNRESET error2935 sets commit status to :error with a Errno::ECONNREFUSED error2936 sets commit status to :error with a Errno::EHOSTUNREACH error2937 sets commit status to :error with a Errno::ENETUNREACH error2938 sets commit status to :error with a Gitlab::HTTP::BlockedUrlError error2939 sets commit status to :error with a Gitlab::HTTP::RedirectionTooDeep error2940Files::MultiService2941 #execute2942 with a valid action2943 returns a hash with the :success status2944 with an invalid action2945 returns a hash with the :error status2946 Updating files2947 when the file has been previously updated2948 rejects the commit2949 when the file have not been modified2950 accepts the commit2951 changing execute_filemode of a file2952 accepts the commit2953 updates the execute_filemode of the file2954 when the file doesn't exists2955 rejects the commit2956 when moving a file2957 when original file has been updated2958 rejects the commit2959 when original file has not been updated2960 moves the file2961 when content is nil2962 moves the existing content untouched2963 when content is an empty string2964 moves the file and empties it2965 when creating a file matching an LFS filter2966 creates an LFS pointer2967 creates an LfsObject with the file's content2968 links the LfsObject to the project2969 with base64 encoded content2970 creates an LFS pointer2971 creates an LfsObject with the file's content2972 when file status validation is skipped2973 does not check the last commit2974 creates the file2975 when force is set to true and branch already exists2976 is still a success2977TemplateFinder2978 #build2979 type: :dockerfiles, expected_class: TemplateFinder2980 is expected to be a kind of TemplateFinder2981 is expected to eq #<Project id:1006 namespace550/project598>>2982 type: :gitignores, expected_class: TemplateFinder2983 is expected to be a kind of TemplateFinder2984 is expected to eq #<Project id:1012 namespace552/project600>>2985 type: :gitlab_ci_ymls, expected_class: TemplateFinder2986 is expected to be a kind of TemplateFinder2987 is expected to eq #<Project id:1018 namespace554/project602>>2988 type: :licenses, expected_class: LicenseTemplateFinder2989 is expected to be a kind of LicenseTemplateFinder2990 is expected to eq #<Project id:1024 namespace556/project604>>2991 type: :metrics_dashboard_ymls, expected_class: TemplateFinder2992 is expected to be a kind of TemplateFinder2993 is expected to eq #<Project id:1030 namespace558/project606>>2994 type: :issues, expected_class: TemplateFinder2995 is expected to be a kind of TemplateFinder2996 is expected to eq #<Project id:1036 namespace560/project608>>2997 type: :merge_requests, expected_class: TemplateFinder2998 is expected to be a kind of TemplateFinder2999 is expected to eq #<Project id:1042 namespace562/project610>>3000 #execute3001 when no project is passed in3002 behaves like fetches predefined vendor templates3003 type: :dockerfiles, vendored_name: "Binary"3004 returns all vendored templates when no name is specified3005 with name param3006 returns only the specified vendored template when a name is specified3007 with mistaken name param3008 returns nil when an unknown name is specified3009 type: :gitignores, vendored_name: "Actionscript"3010 returns all vendored templates when no name is specified3011 with name param3012 returns only the specified vendored template when a name is specified3013 with mistaken name param3014 returns nil when an unknown name is specified3015 type: :gitlab_ci_ymls, vendored_name: "Android"3016 returns all vendored templates when no name is specified3017 with name param3018 returns only the specified vendored template when a name is specified3019 with mistaken name param3020 returns nil when an unknown name is specified3021 type: :metrics_dashboard_ymls, vendored_name: "Default"3022 returns all vendored templates when no name is specified3023 with name param3024 returns only the specified vendored template when a name is specified3025 with mistaken name param3026 returns nil when an unknown name is specified3027 behaves like no issues and merge requests templates available3028 with issue and merge request templates3029 type: :issues, vendored_name: nil3030 when fetching all templates3031 returns empty array3032 when looking for specific template by name3033 raises an error3034 type: :merge_requests, vendored_name: nil3035 when fetching all templates3036 returns empty array3037 when looking for specific template by name3038 raises an error3039 when project has no repository3040 behaves like fetches predefined vendor templates3041 type: :dockerfiles, vendored_name: "Binary"3042 returns all vendored templates when no name is specified3043 with name param3044 returns only the specified vendored template when a name is specified3045 with mistaken name param3046 returns nil when an unknown name is specified3047 type: :gitignores, vendored_name: "Actionscript"3048 returns all vendored templates when no name is specified3049 with name param3050 returns only the specified vendored template when a name is specified3051 with mistaken name param3052 returns nil when an unknown name is specified3053 type: :gitlab_ci_ymls, vendored_name: "Android"3054 returns all vendored templates when no name is specified3055 with name param3056 returns only the specified vendored template when a name is specified3057 with mistaken name param3058 returns nil when an unknown name is specified3059 type: :metrics_dashboard_ymls, vendored_name: "Default"3060 returns all vendored templates when no name is specified3061 with name param3062 returns only the specified vendored template when a name is specified3063 with mistaken name param3064 returns nil when an unknown name is specified3065 behaves like no issues and merge requests templates available3066 with issue and merge request templates3067 type: :issues, vendored_name: nil3068 when fetching all templates3069 returns empty array3070 when looking for specific template by name3071 raises an error3072 type: :merge_requests, vendored_name: nil3073 when fetching all templates3074 returns empty array3075 when looking for specific template by name3076 raises an error3077 when project has a repository3078 behaves like fetches predefined vendor templates3079 type: :dockerfiles, vendored_name: "Binary"3080 returns all vendored templates when no name is specified3081 with name param3082 returns only the specified vendored template when a name is specified3083 with mistaken name param3084 returns nil when an unknown name is specified3085 type: :gitignores, vendored_name: "Actionscript"3086 returns all vendored templates when no name is specified3087 with name param3088 returns only the specified vendored template when a name is specified3089 with mistaken name param3090 returns nil when an unknown name is specified3091 type: :gitlab_ci_ymls, vendored_name: "Android"3092 returns all vendored templates when no name is specified3093 with name param3094 returns only the specified vendored template when a name is specified3095 with mistaken name param3096 returns nil when an unknown name is specified3097 type: :metrics_dashboard_ymls, vendored_name: "Default"3098 returns all vendored templates when no name is specified3099 with name param3100 returns only the specified vendored template when a name is specified3101 with mistaken name param3102 returns nil when an unknown name is specified3103 behaves like fetches issues and merge requests templates3104 type: :issues, template_name: "project_issues_template"3105 returns all repository template files for issues and merge requests3106 with name param3107 returns only the specified vendored template when a name is specified3108 with mistaken name param3109 raises an error when an unknown name is specified3110 type: :merge_requests, template_name: "project_merge_requests_template"3111 returns all repository template files for issues and merge requests3112 with name param3113 returns only the specified vendored template when a name is specified3114 with mistaken name param3115 raises an error when an unknown name is specified3116 #template_names3117 type: :dockerfiles, vendored_name: "Binary"3118 when no project is passed in3119 returns all vendored templates when no name is specified3120 when project has no repository3121 returns all vendored templates when no name is specified3122 when project has a repository3123 returns all vendored templates when no name is specified3124 template names hash keys3125 has all the expected keys3126 type: :gitignores, vendored_name: "Actionscript"3127 when no project is passed in3128 returns all vendored templates when no name is specified3129 when project has no repository3130 returns all vendored templates when no name is specified3131 when project has a repository3132 returns all vendored templates when no name is specified3133 template names hash keys3134 has all the expected keys3135 type: :gitlab_ci_ymls, vendored_name: "Android"3136 when no project is passed in3137 returns all vendored templates when no name is specified3138 when project has no repository3139 returns all vendored templates when no name is specified3140 when project has a repository3141 returns all vendored templates when no name is specified3142 template names hash keys3143 has all the expected keys3144 type: :metrics_dashboard_ymls, vendored_name: "Default"3145 when no project is passed in3146 returns all vendored templates when no name is specified3147 when project has no repository3148 returns all vendored templates when no name is specified3149 when project has a repository3150 returns all vendored templates when no name is specified3151 template names hash keys3152 has all the expected keys3153 type: :issues, template_name: "project_issues_template"3154 when no project is passed in3155 returns all vendored templates when no name is specified3156 when project has no repository3157 returns all vendored templates when no name is specified3158 when project has a repository3159 returns all vendored templates when no name is specified3160 template names hash keys3161 has all the expected keys3162 type: :merge_requests, template_name: "project_merge_requests_template"3163 when no project is passed in3164 returns all vendored templates when no name is specified3165 when project has no repository3166 returns all vendored templates when no name is specified3167 when project has a repository3168 returns all vendored templates when no name is specified3169 template names hash keys3170 has all the expected keys3171Gitlab::UrlBlocker3172 #validate!3173 when URI is nil3174 behaves like validates URI and hostname3175 runs the url validations3176 when URI is internal3177 behaves like validates URI and hostname3178 runs the url validations3179 when URI is for a local object storage3180 when allow_object_storage is true3181 with a local domain name3182 behaves like validates URI and hostname3183 runs the url validations3184 with an IP address3185 behaves like validates URI and hostname3186 runs the url validations3187 when LFS object storage is enabled3188 when LFS is disabled3189 raises an error3190 when LFS is enabled with no connection endpoint3191 raises an error3192 when allow_object_storage is false3193 with a local domain name3194 raises an error3195 with an IP address3196 raises an error3197 when the URL hostname is a domain3198 when domain can be resolved3199 behaves like validates URI and hostname3200 runs the url validations3201 when domain cannot be resolved3202 raises an error3203 when domain is too long3204 raises an error3205 when the URL hostname is an IP address3206 behaves like validates URI and hostname3207 runs the url validations3208 when the address is invalid3209 raises an error3210 DNS rebinding protection with IP allowed3211 behaves like validates URI and hostname3212 runs the url validations3213 disabled DNS rebinding protection3214 when URI is internal3215 behaves like validates URI and hostname3216 runs the url validations3217 when the URL hostname is a domain3218 when domain can be resolved3219 behaves like validates URI and hostname3220 runs the url validations3221 when domain cannot be resolved3222 behaves like validates URI and hostname3223 runs the url validations3224 when the URL hostname is an IP address3225 behaves like validates URI and hostname3226 runs the url validations3227 when it is invalid3228 behaves like validates URI and hostname3229 runs the url validations3230 #blocked_url?3231 allows imports from configured web host and port3232 allows mirroring from configured SSH host and port3233 returns true for bad localhost hostname3234 returns true for bad port3235 returns true for bad scheme3236 returns true for bad protocol on configured web/SSH host and ports3237 returns true for localhost IPs3238 returns true for loopback IP3239 returns true for alternative version of 127.0.0.1 (0177.1)3240 returns true for alternative version of 127.0.0.1 (017700000001)3241 returns true for alternative version of 127.0.0.1 (0x7f.1)3242 returns true for alternative version of 127.0.0.1 (0x7f.0.0.1)3243 returns true for alternative version of 127.0.0.1 (0x7f000001)3244 returns true for alternative version of 127.0.0.1 (2130706433)3245 returns true for alternative version of 127.0.0.1 (127.000.000.001)3246 returns true for alternative version of 127.0.0.1 (127.0.1)3247 returns true for a non-alphanumeric hostname3248 returns true for invalid URL3249 returns false for legitimate URL3250 blocks urls with invalid ip address3251 blocks urls whose hostname cannot be resolved3252 with ipv6 mapped address3253 returns true for localhost IPs3254 returns true for loopback IPs3255 when allow_local_network is3256 true (default)3257 behaves like allows local requests3258 does not block urls from private networks3259 allows localhost endpoints3260 allows loopback endpoints3261 allows IPv4 link-local endpoints3262 allows IPv6 link-local endpoints3263 allows limited broadcast address 255.255.255.255 and variants3264 false3265 blocks urls from private networks3266 blocks IPv4 link-local endpoints3267 blocks IPv6 link-local endpoints3268 blocks limited broadcast address 255.255.255.255 and variants3269 when local domain/IP is allowed3270 with IPs in allowlist3271 allows IP when dns_rebind_protection is disabled3272 allows the limited broadcast address 255.255.255.2553273 behaves like allows local requests3274 does not block urls from private networks3275 allows localhost endpoints3276 allows loopback endpoints3277 allows IPv4 link-local endpoints3278 allows IPv6 link-local endpoints3279 allows limited broadcast address 255.255.255.255 and variants3280 with domains in allowlist3281 allows domains present in allowlist3282 works with unicode and idna encoded domains3283 when the domain cannot be resolved3284 behaves like dns rebinding checks3285 when dns_rebinding_setting is3286 enabled3287 behaves like allowlists the domain3288 is expected not to be blocked url "http://foobar.x" and {:dns_rebind_protection=>true}3289 disabled3290 behaves like allowlists the domain3291 is expected not to be blocked url "http://foobar.x" and {:dns_rebind_protection=>false}3292 when the domain can be resolved3293 behaves like dns rebinding checks3294 when dns_rebinding_setting is3295 enabled3296 behaves like allowlists the domain3297 is expected not to be blocked url "http://example.com" and {:dns_rebind_protection=>true}3298 disabled3299 behaves like allowlists the domain3300 is expected not to be blocked url "http://example.com" and {:dns_rebind_protection=>false}3301 with ports3302 allows domain with port when resolved ip has port allowed3303 when enforce_user is3304 false (default)3305 does not block urls with a non-alphanumeric username3306 true3307 blocks urls with a non-alphanumeric username3308 when ascii_only is true3309 returns true for unicode domain3310 returns true for unicode tld3311 returns true for unicode path3312 returns true for IDNA deviations3313 when gitlab is running on a non-default port3314 returns true for url targeting the wrong port3315 does not block url on gitlab port3316 #validate_hostname3317 does not raise error for valid Ip addresses3318Gitlab::Database::Reflection3319 #username3320 when a username is set3321 returns the username3322 when a username is not set3323 returns the value of the USER environment variable3324 #database_name3325 returns the name of the database3326 #adapter_name3327 returns the database adapter name3328 #human_adapter_name3329 when the adapter is PostgreSQL3330 returns PostgreSQL3331 when the adapter is not PostgreSQL3332 returns Unknown3333 #postgresql?3334 when using PostgreSQL3335 returns true3336 when not using PostgreSQL3337 returns false3338 #db_read_only?3339 detects a read-only database3340 detects a read-only database3341 detects a read-write database3342 detects a read-write database3343 #db_read_write?3344 detects a read-only database3345 detects a read-only database3346 detects a read-write database3347 detects a read-write database3348 #version3349 memoizes the result3350 on postgresql3351 extracts the version number3352 #postgresql_minimum_supported_version?3353 returns false when using PostgreSQL 103354 returns false when using PostgreSQL 113355 returns true when using PostgreSQL 123356 #cached_column_exists?3357 only retrieves the data from the schema cache3358 #cached_table_exists?3359 only retrieves the data from the schema cache3360 returns false when database does not exist3361 #exists?3362 returns true if the database exists3363 returns false if the database doesn't exist3364 #system_id3365 returns the PostgreSQL system identifier3366 #flavor3367 re-raises exceptions not matching expected messages3368 recognizes Amazon Aurora PostgreSQL3369 recognizes PostgreSQL on Amazon RDS3370 recognizes CloudSQL for PostgreSQL3371 recognizes Azure Database for PostgreSQL - Flexible Server3372 recognizes Azure Database for PostgreSQL - Single Server3373 recognizes AlloyDB for PostgreSQL3374 returns nil if can not recognize the flavor3375 #config3376 returns a HashWithIndifferentAccess3377 returns a default pool size3378 does not cache its results3379Autocomplete::UsersFinder3380 #execute3381 is expected to contain exactly #<User id:1203 @johndoe>, #<User id:1206 @user578>, #<User id:1207 @user579>, and #<User id:1208 @user580>3382 preloads the status association3383 when current_user not passed or nil3384 is expected to contain exactly3385 when project passed3386 is expected to contain exactly #<User id:1210 @namespace577>3387 when author_id passed3388 and author is active3389 is expected to contain exactly #<User id:1210 @namespace577> and #<User id:1203 @johndoe>3390 and author is blocked3391 is expected to contain exactly #<User id:1210 @namespace577>3392 and author is banned3393 is expected to contain exactly #<User id:1210 @namespace577>3394 searching with less than 3 characters3395 allows partial matches3396 when group passed and project not passed3397 is expected to contain exactly #<User id:1203 @johndoe>3398 searching with less than 3 characters3399 allows partial matches3400 when passed a subgroup3401 includes users from parent groups as well3402 when filtered by search3403 is expected to contain exactly #<User id:1203 @johndoe>3404 searching with less than 3 characters3405 does not allow partial matches3406 when filtered by skip_users3407 is expected to contain exactly #<User id:1203 @johndoe> and #<User id:1206 @user578>3408 when todos exist3409 when filtered by todo_filter without todo_state_filter3410 is expected to contain exactly3411 when filtered by todo_filter with pending todo_state_filter3412 is expected to contain exactly #<User id:1203 @johndoe>3413 when filtered by todo_filter with done todo_state_filter3414 is expected to contain exactly #<User id:1206 @user578>3415 when filtered by current_user3416 is expected to contain exactly #<User id:1204 @blocked_user>, #<User id:1203 @johndoe>, #<User id:1206 @user578>, and #<User id:1207 @user579>3417 when filtered by author_id3418 is expected to contain exactly #<User id:1203 @johndoe>, #<User id:1206 @user578>, #<User id:1207 @user579>, and #<User id:1252 @user599>3419 when filtered by state3420 searching without states3421 is expected to contain exactly #<User id:1203 @johndoe>, #<User id:1206 @user578>, #<User id:1207 @user579>, and #<User id:1253 @user600>3422 searching with states=active3423 is expected to contain exactly #<User id:1203 @johndoe>, #<User id:1206 @user578>, #<User id:1207 @user579>, and #<User id:1254 @user601>3424 searching with states=blocked3425 is expected to contain exactly #<User id:1204 @blocked_user>3426 searching with states=banned3427 is expected to contain exactly #<User id:1205 @banned_user>3428 searching with states=blocked,banned3429 is expected to contain exactly #<User id:1204 @blocked_user> and #<User id:1205 @banned_user>3430CommitRange3431 raises ArgumentError when given an invalid range string3432 modules3433 is expected to includes the Referable module3434 #initialize3435 does not modify strings in-place3436 #to_s3437 is correct for three-dot syntax3438 is correct for two-dot syntax3439 #to_reference3440 returns a String reference to the object3441 returns a String reference to the object3442 supports a cross-project reference3443 #reference_link_text3444 returns a String reference to the object3445 returns a String reference to the object3446 supports a cross-project reference3447 #to_param3448 includes the correct keys3449 includes the correct values for a three-dot range3450 includes the correct values for a two-dot range3451 #exclude_start?3452 is false for three-dot ranges3453 is true for two-dot ranges3454 #valid_commits?3455 with a valid repo3456 is false when `sha_from` is invalid3457 is false when `sha_to` is invalid3458 is true when both `sha_from` and `sha_to` are valid3459 without a valid repo3460 returns false3461Gitlab::GitalyClient::RepositoryService3462 #exists?3463 sends a repository_exists message3464 #garbage_collect3465 sends a garbage_collect message3466 #repack_full3467 sends a repack_full message3468 #repack_incremental3469 sends a repack_incremental message3470 #optimize_repository3471 sends a optimize_repository message3472 #prune_unreachable_objects3473 sends a prune_unreachable_objects message3474 #repository_size3475 sends a repository_size message3476 #get_object_directory_size3477 sends a get_object_directory_size message3478 #apply_gitattributes3479 sends an apply_gitattributes message3480 #info_attributes3481 reads the info attributes3482 #has_local_branches?3483 sends a has_local_branches message3484 #fetch_remote3485 sends a fetch_remote_request message3486 SSH auth3487 ssh_mirror_url: false, ssh_key_auth: false, ssh_private_key: "key", ssh_known_hosts: "known_hosts", expected_params: {}3488 example at ./spec/lib/gitlab/gitaly_client/repository_service_spec.rb:1853489 ssh_mirror_url: false, ssh_key_auth: true, ssh_private_key: "key", ssh_known_hosts: "known_hosts", expected_params: {}3490 example at ./spec/lib/gitlab/gitaly_client/repository_service_spec.rb:1853491 ssh_mirror_url: true, ssh_key_auth: false, ssh_private_key: "key", ssh_known_hosts: "known_hosts", expected_params: {:known_hosts=>"known_hosts"}3492 example at ./spec/lib/gitlab/gitaly_client/repository_service_spec.rb:1853493 ssh_mirror_url: true, ssh_key_auth: true, ssh_private_key: "key", ssh_known_hosts: "known_hosts", expected_params: {:ssh_key=>"key", :known_hosts=>"known_hosts"}3494 example at ./spec/lib/gitlab/gitaly_client/repository_service_spec.rb:1853495 ssh_mirror_url: true, ssh_key_auth: true, ssh_private_key: "key", ssh_known_hosts: nil, expected_params: {:ssh_key=>"key"}3496 example at ./spec/lib/gitlab/gitaly_client/repository_service_spec.rb:1853497 ssh_mirror_url: true, ssh_key_auth: true, ssh_private_key: nil, ssh_known_hosts: "known_hosts", expected_params: {:known_hosts=>"known_hosts"}3498 example at ./spec/lib/gitlab/gitaly_client/repository_service_spec.rb:1853499 ssh_mirror_url: true, ssh_key_auth: true, ssh_private_key: nil, ssh_known_hosts: nil, expected_params: {}3500 example at ./spec/lib/gitlab/gitaly_client/repository_service_spec.rb:1853501 ssh_mirror_url: true, ssh_key_auth: true, ssh_private_key: "", ssh_known_hosts: "", expected_params: {}3502 example at ./spec/lib/gitlab/gitaly_client/repository_service_spec.rb:1853503 #calculate_checksum3504 sends a calculate_checksum message3505 #create_repository3506 sends a create_repository message without arguments3507 sends a create_repository message with default branch3508 #create_from_snapshot3509 sends a create_repository_from_snapshot message3510 #raw_changes_between3511 sends a create_repository_from_snapshot message3512 #search_files_by_regexp3513 sends a search_files_by_name message and returns a flatten array3514 #disconnect_alternates3515 sends a disconnect_git_alternates message3516 #rename3517 sends a rename_repository message3518 #remove3519 sends a remove_repository message3520 #replicate3521 sends a replicate_repository message3522 #set_full_path3523 sends a set_full_path message3524 #full_path3525 sends a full_path message3526 #find_license3527 sends a find_license request with medium timeout3528Mutations::Releases::Update3529 #ready?3530 when released_at is included as an argument but is passed nil3531 raises a validation error3532 when milestones is included as an argument but is passed nil3533 raises a validation error3534 #resolve3535 when the current user has access to create releases3536 name3537 when a new name is provided3538 updates the name3539 behaves like no changes to the release except for the3540 does not change other release properties3541 with protected tag3542 when user has access to the protected tag3543 does not have errors3544 when user does not have access to the protected tag3545 has an access error3546 when nil is provided3547 updates the name to be the tag name3548 behaves like no changes to the release except for the3549 does not change other release properties3550 description3551 when a new description is provided3552 updates the description3553 behaves like no changes to the release except for the3554 does not change other release properties3555 when nil is provided3556 updates the description to nil3557 behaves like no changes to the release except for the3558 does not change other release properties3559 released_at3560 when a new released_at is provided3561 updates the released_at3562 behaves like no changes to the release except for the3563 does not change other release properties3564 milestones3565 when a new set of milestones is provided provided3566 updates the milestone associations3567 behaves like no changes to the release except for the3568 does not change other release properties3569 when an empty array is provided3570 removes all milestone associations3571 behaves like no changes to the release except for the3572 does not change other release properties3573 when a non-existent milestone title is provided3574 behaves like validation error with message3575 returns the updated release as nil3576 returns a validation error3577 when a milestone title from a different project is provided3578 behaves like validation error with message3579 returns the updated release as nil3580 returns a validation error3581 validation3582 when no updated fields are provided3583 behaves like validation error with message3584 returns the updated release as nil3585 returns a validation error3586 when the tag does not exist3587 behaves like validation error with message3588 returns the updated release as nil3589 returns a validation error3590 when the project does not exist3591 raises an error3592 when the current user doesn't have access to update releases3593 raises an error3594ReleasesFinder3595 when parent is a project3596 behaves like when the user is not part of the project3597 returns no releases3598 when the user is a project guest3599 sorts by release date3600 with sorting parameters3601 by default is released_at in descending order3602 is expected to eq [#<Release id: 20, tag: "v1.1.0", description: [FILTERED], project_id: 704, created_at: "2022-11-08 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-09 01:11:07.557353551 +0000">]3603 released_at in ascending order3604 is expected to eq [#<Release id: 21, tag: "v1.0.0", description: [FILTERED], project_id: 705, created_at: "2022-11-11 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-10 01:11:09.234621744 +0000">]3605 order by created_at in descending order3606 is expected to eq [#<Release id: 23, tag: "v1.0.0", description: [FILTERED], project_id: 706, created_at: "2022-11-11 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-10 01:11:10.837726421 +0000">]3607 order by created_at in ascending order3608 is expected to eq [#<Release id: 26, tag: "v1.1.0", description: [FILTERED], project_id: 707, created_at: "2022-11-08 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-09 01:11:12.231513256 +0000">]3609 behaves like preload3610 preloads associations3611 when preload is false3612 does not preload associations3613 behaves like when a tag parameter is passed3614 only returns the release with the matching tag3615Banzai::Filter::ExternalLinkFilter3616 ignores elements without an href attribute3617 ignores non-HTTP(S) links3618 skips internal links3619 for root links on document3620 behaves like an external link with rel attribute3621 adds rel="nofollow" to external links3622 adds rel="noreferrer" to external links3623 adds rel="noopener" to external links3624 for nested links on document3625 behaves like an external link with rel attribute3626 adds rel="nofollow" to external links3627 adds rel="noreferrer" to external links3628 adds rel="noopener" to external links3629 for invalid urls3630 adds rel and target attributes to broken hrefs3631 adds rel and target to improperly formatted mailtos3632 adds rel and target to improperly formatted autolinks3633 adds rel and target attributes to improperly formatted protocols3634 for links with a username3635 with a valid username3636 behaves like an external link with rel attribute3637 adds rel="nofollow" to external links3638 adds rel="noreferrer" to external links3639 adds rel="noopener" to external links3640 with an impersonated username3641 behaves like an external link with rel attribute3642 adds rel="nofollow" to external links3643 adds rel="noreferrer" to external links3644 adds rel="noopener" to external links3645 for non-lowercase scheme links3646 skips internal links3647 skips relative links3648 with http3649 behaves like an external link with rel attribute3650 adds rel="nofollow" to external links3651 adds rel="noreferrer" to external links3652 adds rel="noopener" to external links3653 with https3654 behaves like an external link with rel attribute3655 adds rel="nofollow" to external links3656 adds rel="noreferrer" to external links3657 adds rel="noopener" to external links3658 for protocol-relative links3659 behaves like an external link with rel attribute3660 adds rel="nofollow" to external links3661 adds rel="noreferrer" to external links3662 adds rel="noopener" to external links3663 links with RTLO character3664 escapes RTLO in link text3665 does not mangle the link text3666 behaves like an external link with rel attribute3667 adds rel="nofollow" to external links3668 adds rel="noreferrer" to external links3669 adds rel="noopener" to external links3670 for generated autolinks3671 with an IDN character3672 does not change the link text3673 uses punycode for emails3674 behaves like an external link with rel attribute3675 adds rel="nofollow" to external links3676 adds rel="noreferrer" to external links3677 adds rel="noopener" to external links3678 autolinked image3679 adds a toolip with punycode3680 behaves like an external link with rel attribute3681 adds rel="nofollow" to external links3682 adds rel="noreferrer" to external links3683 adds rel="noopener" to external links3684 for links that look malicious3685 with an IDN character3686 adds a toolip with punycode3687 with RTLO character3688 adds a toolip with punycode3689 for links that have `rel=license`3690 maintains rel license3691 behaves like an external link with rel attribute3692 adds rel="nofollow" to external links3693 adds rel="noreferrer" to external links3694 adds rel="noopener" to external links3695EventsFinder3696 when targeting a user3697 returns events between specified dates filtered on action and type3698 does not return events the current_user does not have access to3699 does not include events on confidential issues the user does not have access to3700 includes confidential events user has access to3701 returns nothing when the current user cannot read cross project3702 returns nothing when the target profile is private3703 wiki events3704 can find the wiki events3705 dashboard events3706 scope is `all`3707 includes activity of other users3708 scope is not `all`3709 does not include activity of other users3710 when targeting a project3711 returns project events between specified dates filtered on action and type3712 does not return events the current_user does not have access to3713Issues::SetCrmContactsService3714 #execute3715 when the user has no permission3716 returns expected error response3717 when user has permission3718 but the crm setting is disabled3719 returns expected error response3720 when the contact does not exist3721 returns expected error response3722 when the contact belongs to a different group3723 returns expected error response3724 replace3725 behaves like setting contacts3726 updates the issue with correct contacts3727 behaves like adds system note3728 calls SystemNoteService.change_issuable_contacts with correct counts3729 add3730 behaves like setting contacts3731 updates the issue with correct contacts3732 behaves like adds system note3733 calls SystemNoteService.change_issuable_contacts with correct counts3734 add by email3735 with pure emails in params3736 behaves like setting contacts3737 updates the issue with correct contacts3738 behaves like adds system note3739 calls SystemNoteService.change_issuable_contacts with correct counts3740 with autocomplete prefix emails in params3741 behaves like setting contacts3742 updates the issue with correct contacts3743 behaves like adds system note3744 calls SystemNoteService.change_issuable_contacts with correct counts3745 remove3746 behaves like setting contacts3747 updates the issue with correct contacts3748 behaves like adds system note3749 calls SystemNoteService.change_issuable_contacts with correct counts3750 remove by email3751 with pure email in params3752 behaves like setting contacts3753 updates the issue with correct contacts3754 behaves like adds system note3755 calls SystemNoteService.change_issuable_contacts with correct counts3756 with autocomplete prefix and suffix email in params3757 behaves like setting contacts3758 updates the issue with correct contacts3759 behaves like adds system note3760 calls SystemNoteService.change_issuable_contacts with correct counts3761 when attempting to add more than 63762 returns expected error message3763 when trying to remove non-existent contact3764 returns expected error message3765 when combining params3766 add and remove3767 with contact ids3768 behaves like setting contacts3769 updates the issue with correct contacts3770 with contact emails3771 behaves like setting contacts3772 updates the issue with correct contacts3773 replace and remove3774 returns expected error response3775 replace and add3776 returns expected error response3777 when trying to add an existing issue contact3778 does not return an error3779 when trying to add the same contact twice3780 does not return an error3781 when trying to remove a contact not attached to the issue3782 does not return an error3783Suggestions::CreateService3784 #execute3785 should not try to parse suggestions3786 when not a diff note for merge requests3787 does not try to parse suggestions3788 behaves like service not tracking add suggestion event3789 does not track add suggestion event3790 when diff note is not for text3791 does not try to parse suggestions3792 behaves like service not tracking add suggestion event3793 does not track add suggestion event3794 when diff file is not found3795 creates no suggestion3796 behaves like service not tracking add suggestion event3797 does not track add suggestion event3798 should create suggestions3799 persists suggestion records3800 persists suggestions data correctly3801 tracks add suggestion event3802 outdated position note3803 uses the correct position when creating the suggestion3804 when a patch removes an empty line3805 creates an appliable suggestion3806Ci::PipelinesForMergeRequestFinder3807 #execute3808 when actor has permission to read pipelines in both parent and forked projects3809 returns all pipelines3810 when actor has permission to read pipelines in both parent and forked projects3811 returns all pipelines3812 when actor has permission to read pipelines in the parent project only3813 returns pipelines in parent3814 when actor has permission to read pipelines in the forked project only3815 returns pipelines in fork3816 when actor does not have permission to read pipelines3817 returns nothing3818 when actor is nil3819 returns nothing3820 #all3821 with single merge_request_diffs3822 behaves like returning pipelines with proper ordering3823 returns all pipelines3824 with multiple irrelevant merge_request_diffs3825 behaves like returning pipelines with proper ordering3826 returns all pipelines3827 with unsaved merge request3828 returns pipelines from diff_head_sha3829 when pipelines exist for the branch and merge request3830 returns merge request pipeline first3831 when there are a branch pipeline and a merge request pipeline3832 returns merge request pipelines first3833 when there are multiple merge request pipelines from the same branch3834 returns only related merge request pipelines3835 when detached merge request pipeline is run on head ref of the merge request3836 sets the head ref of the merge request to the pipeline ref3837 includes the detached merge request pipeline even though the ref is custom path3838Mutations::Discussions::ToggleResolve3839 #resolve3840 when discussion is on a merge request3841 behaves like a working resolve method3842 when the user does not have permission3843 raises an error if the resource is not accessible to the user3844 when the user has permission3845 when discussion cannot be found3846 raises an error3847 when the `resolve` argument is true3848 returns a resolved discussion3849 returns empty errors3850 when the discussion is already resolved3851 returns a resolved discussion3852 returns empty errors3853 when the service raises an `ActiveRecord::RecordNotSaved` error3854 does not resolve the discussion3855 returns errors3856 when the `resolve` argument is false3857 when the discussion is resolved3858 returns an unresolved discussion3859 returns empty errors3860 when the service raises an `ActiveRecord::RecordNotSaved` error3861 does not unresolve the discussion3862 returns errors3863 when the discussion is already unresolved3864 returns an unresolved discussion3865 returns empty errors3866 when user is the author and discussion is locked3867 raises an error3868 when discussion is on a design3869 behaves like a working resolve method3870 when the user does not have permission3871 raises an error if the resource is not accessible to the user3872 when the user has permission3873 when discussion cannot be found3874 raises an error3875 when the `resolve` argument is true3876 returns a resolved discussion3877 returns empty errors3878 when the discussion is already resolved3879 returns a resolved discussion3880 returns empty errors3881 when the service raises an `ActiveRecord::RecordNotSaved` error3882 does not resolve the discussion3883 returns errors3884 when the `resolve` argument is false3885 when the discussion is resolved3886 returns an unresolved discussion3887 returns empty errors3888 when the service raises an `ActiveRecord::RecordNotSaved` error3889 does not unresolve the discussion3890 returns errors3891 when the discussion is already unresolved3892 returns an unresolved discussion3893 returns empty errors3894 when user is the author and discussion is locked3895 raises an error3896Clusters::Providers::Aws3897 is expected to belong to cluster required: false3898 is expected to validate that the length of :key_name is between 1 and 2553899 is expected to validate that the length of :region is between 1 and 2553900 is expected to validate that the length of :instance_type is between 1 and 2553901 is expected to validate that the length of :security_group_id is between 1 and 2553902 is expected to validate that :subnet_ids cannot be empty/falsy3903 state_machine3904 when any => [:created]3905 nullifies API credentials3906 when any => [:creating]3907 calls #assign_operation_id on the provider3908 when any => [:errored]3909 calls #nullify_credentials on the provider3910 sets a status reason3911 when status_reason is nil3912 does not set status_reason3913 #on_creation?3914 status: :scheduled, result: true3915 is expected to eq true3916 status: :creating, result: true3917 is expected to eq true3918 status: :created, result: false3919 is expected to eq false3920 status: :errored, result: false3921 is expected to eq false3922 default values3923 sets default values3924 custom validations3925 :num_nodes3926 contains non-digit characters3927 is expected to be falsey3928 is blank3929 is expected to be falsey3930 is less than 13931 is expected to be falsey3932 is a positive integer3933 is expected to be truthy3934 #nullify_credentials3935 removes access_key_id, secret_access_key and session_token3936 #api_client3937 is expected to eq #<Double (anonymous)>3938 #credentials3939 is expected to eq #<Double (anonymous)>3940 #created_by_user3941 is expected to eq #<User id:1427 @user691>3942 #has_rbac_enabled?3943 is expected to be truthy3944 #knative_pre_installed?3945 is expected to be falsey3946AuthHelper3947 button_based_providers3948 returns all enabled providers from devise3949 does not return ldap provider3950 returns empty array3951 providers_for_base_controller3952 returns all enabled providers from devise3953 excludes ldap providers3954 form_based_providers3955 includes LDAP providers3956 includes crowd provider3957 form_based_auth_provider_has_active_class?3958 selects main LDAP server3959 any_form_based_providers_enabled?3960 detects form-based providers3961 ignores ldap providers when ldap web sign in is disabled3962 enabled_button_based_providers3963 all providers are enabled to sign in3964 returns all the enabled providers from settings in expected order3965 puts google and github in the beginning3966 GitHub OAuth sign in is disabled from application setting3967 doesn't return github as provider3968 popular_enabled_button_based_providers3969 returns the intersection set of popular & enabled providers3970 button_based_providers_enabled?3971 button based providers enabled3972 returns true3973 all the button based providers are disabled via application_setting3974 returns false3975 #link_provider_allowed?3976 delegates to identity provider policy3977 #unlink_provider_allowed?3978 delegates to identity provider policy3979 #provider_has_icon?3980 returns true for defined providers3981 returns false for undefined providers3982 when provider is defined by config3983 returns true3984 when provider is not defined by config3985 returns true3986 #allow_admin_mode_password_authentication_for_web?3987 is expected to equal true3988 when password authentication for web is disabled3989 is expected to equal false3990 when current_user is an ldap user3991 is expected to equal false3992 when user got password automatically set3993 is expected to equal false3994 #auth_active?3995 for atlassian_oauth2 provider3996 returns true when present3997 returns false when not present3998 for other omniauth providers3999 returns true when present4000 returns false when not present4001 #google_tag_manager_enabled?4002 when not on gitlab.com4003 is expected to eq false4004 regular and nonce versions4005 gtm_nonce_enabled: false, gtm_key: "google_tag_manager_id"4006 on gitlab.com and a key set without a current user4007 is expected to be truthy4008 when no key is set4009 is expected to eq false4010 gtm_nonce_enabled: true, gtm_key: "google_tag_manager_nonce_id"4011 on gitlab.com and a key set without a current user4012 is expected to be truthy4013 when no key is set4014 is expected to eq false4015 #google_tag_manager_id4016 when google tag manager is disabled4017 is expected to be falsey4018 when google tag manager is enabled4019 when nonce feature flag is enabled4020 is expected to eq "nonce"4021 when nonce feature flag is disabled4022 is expected to eq "gtm"4023 #auth_app_owner_text4024 when owner is a user4025 behaves like generates text with the correct info4026 includes the name of the application owner4027 when owner is a group4028 behaves like generates text with the correct info4029 includes the name of the application owner4030 when the user is missing4031 returns nil4032 #auth_strategy_class4033 when configuration specifies no provider4034 returns false4035 when configuration specifies a provider with args but without strategy_class4036 returns false4037 when configuration specifies a provider with args and strategy_class4038 returns the class4039 when configuration specifies another provider with args and another strategy_class4040 returns false4041 #saml_providers4042 when SAML is enabled without specifying a strategy class4043 returns the saml provider4044 when configuration specifies no provider4045 returns an empty list4046 when configuration specifies a provider with a SAML strategy_class4047 returns the provider4048 when configuration specifies two providers with a SAML strategy_class4049 returns the provider4050 when configuration specifies a provider with a non-SAML strategy_class4051 returns an empty list4052 when configuration specifies four providers but only two with SAML strategy_class4053 returns the provider4054PipelineDetailsEntity4055 inherits from PipelineEntity4056 #as_json4057 when pipeline is empty4058 contains details4059 contains flags4060 when pipeline is retryable4061 user has ability to retry pipeline4062 retryable flag is true4063 user does not have ability to retry pipeline4064 retryable flag is false4065 when pipeline is cancelable4066 user has ability to cancel pipeline4067 cancelable flag is true4068 user does not have ability to cancel pipeline4069 cancelable flag is false4070 when pipeline has commit statuses4071 contains stages4072 when pipeline has YAML errors4073 contains information about error4074 contains flag that indicates there are errors4075 when pipeline does not have YAML errors4076 does not contain field that normally holds an error4077 contains flag that indicates there are no errors4078 when pipeline is triggered by other pipeline4079 contains an information about depedent pipeline4080 when pipeline triggered other pipeline4081 contains an information about dependent pipeline4082GraphqlHelpers4083 a_graphql_entity_for4084 when no arguments are passed4085 raises an error4086 when the model is nil, with no properties4087 raises an error4088 when the model is nil, any fields are passed4089 raises an error4090 with no model4091 behaves like hash-inclusion with camel-casing4092 with just a model4093 only considers the ID4094 with a model and some method names4095 also considers the method names4096 with a model and some other properties4097 behaves like the superset4098 with a model, method names, and some other properties4099 behaves like the superset4100 graphql_dig_at4101 transforms symbol keys to graphql field names4102 supports integer indexing4103 gracefully degrades to nil4104 supports implicitly flat-mapping traversals4105 does not omit nils at the leaves4106 supports fields with leading underscore4107 var4108 allocates a fresh name for each var4109 can be used to construct correct signatures4110 can be used to pass arguments to fields4111 can associate values with variables4112 does not mutate the variable when providing a value4113 can associate many values with variables4114 .query_nodes4115 can produce a basic connection selection4116 allows greater depth4117 accepts fields4118 accepts arguments4119 accepts arguments and fields4120 accepts explicit type name4121 can optionally provide pagination info4122 .query_graphql_path4123 can build nested paths4124 can insert arguments at any point4125 .attributes_to_graphql4126 can serialize hashes to literal arguments4127 .all_graphql_fields_for4128 returns a FieldSelection4129 returns nil if the depth is too shallow4130 can select just the scalar fields4131 selects only as far as 3 levels by default4132 selects only as far as requested4133 omits fields that have required arguments4134 .graphql_mutation4135 when fields argument is passed4136 behaves like correct mutation definition4137 returns correct mutation definition4138 when block is passed4139 behaves like correct mutation definition4140 returns correct mutation definition4141 when both fields and a block are passed4142 raises an ArgumentError4143 .fieldnamerize4144 makes an underscored string look like a fieldname4145 when field has a leading underscore4146 skips a transformation4147ProtectableDropdown4148 initialize4149 raises ArgumentError for invalid ref type4150 #protectable_ref_names4151 for branches4152 is expected to include "feature"4153 is expected not to include "master"4154 behaves like protectable_ref_names4155 when project repository is not empty4156 includes elements matching a protected ref wildcard4157 when project repository is empty4158 returns empty list4159 for tags4160 is expected to include "v1.0.0"4161 is expected not to include "v1.1.0"4162 behaves like protectable_ref_names4163 when project repository is not empty4164 includes elements matching a protected ref wildcard4165 when project repository is empty4166 returns empty list4167 #hash4168 for branches4169 is expected to include {:id => "feature", :text => "feature", :title => "feature"}4170 for tags4171 is expected to include {:id => "v1.0.0", :text => "v1.0.0", :title => "v1.0.0"}4172Gitlab::Redis::DuplicateJobs4173 .config_file_name4174 when there is no config file anywhere4175 is expected to be nil4176 but resque.yml exists4177 is expected to eq "/tmp/redis_shared_examples20221111-468-1e4jcib/config/resque.yml"4178 returns a path that exists4179 and there is a global env override4180 is expected to eq "global override"4181 and there is an instance specific config file4182 is expected to eq "/tmp/redis_shared_examples20221111-468-pdgfcj/config/redis.shared_state.yml"4183 returns a path that exists4184 and there is a specific env override4185 is expected to eq "instance specific override"4186 .store4187 with old format4188 behaves like redis store4189 instantiates Redis::Store4190 with the namespace4191 uses specified namespace4192 with new format4193 behaves like redis store4194 instantiates Redis::Store4195 with the namespace4196 uses specified namespace4197 .params4198 withstands mutation4199 when url contains unix socket reference4200 with old format4201 returns path key instead4202 with new format4203 returns path key instead4204 when url is host based4205 with old format4206 returns hash with host, port, db, and password4207 with new format4208 rails_env: "development", host: "development-host"4209 returns hash with host, port, db, and password4210 rails_env: "test", host: "test-host"4211 returns hash with host, port, db, and password4212 rails_env: "production", host: "production-host"4213 returns hash with host, port, db, and password4214 .url4215 withstands mutation4216 when yml file with env variable4217 reads redis url from env variable4218 .version4219 returns a version4220 ._raw_config4221 is frozen4222 returns false when the file does not exist4223 returns false when the filename can't be determined4224 .with4225 when running on single-threaded runtime4226 instantiates a connection pool with size 54227 when running on multi-threaded runtime4228 instantiates a connection pool with a size based on the concurrency of the worker4229 when there is no config at all4230 can run an empty block4231 #db4232 with old format4233 returns the correct db4234 with new format4235 returns the correct db4236 #sentinels4237 when sentinels are defined4238 rails_env: "development", hosts: ["development-replica1", "development-replica2"]4239 returns an array of hashes with host and port keys4240 rails_env: "test", hosts: ["test-replica1", "test-replica2"]4241 returns an array of hashes with host and port keys4242 rails_env: "production", hosts: ["production-replica1", "production-replica2"]4243 returns an array of hashes with host and port keys4244 when sentinels are not defined4245 returns nil4246 #sentinels?4247 when sentinels are defined4248 returns true4249 when sentinels are not defined4250 returns false4251 #raw_config_hash4252 returns old-style single url config in a hash4253 #fetch_config4254 returns false when no config file is present4255 returns false when config file is present but has invalid YAML4256 has a value for the legacy default URL4257 #pool4258 store connection settings4259 instantiates an instance of MultiStore4260 key namespaces4261 writes keys to SharedState with no prefix, and to Queues with the "resque:gitlab:" prefix4262 behaves like multi store feature flags4263 with feature flag :use_primary_and_secondary_stores_for_duplicate_jobs is enabled4264 multi store is enabled4265 with feature flag :use_primary_and_secondary_stores_for_duplicate_jobs is disabled4266 multi store is disabled4267 with feature flag :use_primary_store_as_default_for_duplicate_jobs is enabled4268 primary store is enabled4269 with feature flag :use_primary_store_as_default_for_duplicate_jobs is disabled4270 primary store is disabled4271 #raw_config_hash4272 has a legacy default URL4273 #store_name4274 returns the name of the SharedState store4275Ci::ListConfigVariablesService4276 when sending a valid sha4277 returns variable list4278 when config has includes4279 returns variable list4280 when project CI config is external4281 when the user has access to the external project4282 returns variable list4283 when the user has no access to the external project4284 returns empty json4285 when sending an invalid sha4286 returns empty json4287 when sending an invalid config4288 returns empty result4289 when reading from cache4290 returns variable list4291 when the cache is empty4292 returns nil and enquques the worker to fill cache4293Ci::Group4294 is expected to includes the StaticModel module4295 is expected to respond to #stage4296 is expected to respond to #name4297 is expected to respond to #jobs4298 is expected to respond to #status4299 #size4300 returns the number of statuses in the group4301 #status4302 returns a failed status4303 #detailed_status4304 when there is only one item in the group4305 calls the status from the object itself4306 when there are more than one commit status in the group4307 fabricates a new detailed status object4308 when one of the commit statuses in the group is allowed to fail4309 fabricates a new detailed status object4310 .fabricate4311 returns an array of three groups4312 returns groups with correctly ordered statuses4313 returns groups with correct names4314 when a name is nil on legacy pipelines4315 returns an array of three groups4316IncidentManagement::ProcessAlertWorkerV24317 #perform4318 with valid alert4319 behaves like creates issue successfully4320 creates an issue4321 updates AlertManagement::Alert#issue_id4322 does not write a warning to log4323 behaves like an idempotent worker4324 is labeled as idempotent4325 performs multiple times sequentially without raising an exception4326 does not create a second issue4327 when alert cannot be updated4328 updates AlertManagement::Alert#issue_id4329 logs a warning4330 prometheus alert4331 behaves like creates issue successfully4332 creates an issue4333 updates AlertManagement::Alert#issue_id4334 does not write a warning to log4335 behaves like an idempotent worker4336 is labeled as idempotent4337 performs multiple times sequentially without raising an exception4338 does not create a second issue4339 with invalid alert4340 does not create issues4341Load balancer behavior with errors inside a transaction4342 with the PREVENT_LOAD_BALANCER_RETRIES_IN_TRANSACTION environment variable not set4343WARNING: there is no transaction in progress4344 logs a warning when violating transaction semantics with writes4345 does not log a warning when no transaction is open to be leaked4346 with the PREVENT_LOAD_BALANCER_RETRIES_IN_TRANSACTION environment variable set4347 raises an exception when a retry would occur during a transaction4348 retries when not in a transaction4349ForkProjectsFinder4350 #execute4351 without a user4352 is expected to eq [#<Project id:826 group155/project832>>]4353 with a user4354 is expected to eq [#<Project id:830 group158/project836>>, #<Project id:829 group157/project835>>]4355 with a member4356 is expected to eq [#<Project id:834 group161/project840>>, #<Project id:833 group160/project839>>, #<Project id:832 group159/project838>>]4357AuditEvent4358 sanitizes custom_message in the details hash4359 validations4360 is expected to allow :ip_address to be ‹"192.168.17.43"›4361 is expected to allow :ip_address to be ‹"2001:0db8:85a3:0000:0000:8a2e:0370:7334"›4362 is expected not to allow :ip_address to be ‹"invalid IP"›4363 callbacks4364 #parallel_persist4365 wih author_name4366 behaves like a parallel persisted field4367 column: :value, details: nil, expected_value: :value4368 sets both values to be the same4369 column: nil, details: :value, expected_value: :value4370 sets both values to be the same4371 column: :value, details: :another_value, expected_value: :value4372 sets both values to be the same4373 column: nil, details: nil, expected_value: nil4374 sets both values to be the same4375 with entity_path4376 behaves like a parallel persisted field4377 column: :value, details: nil, expected_value: :value4378 sets both values to be the same4379 column: nil, details: :value, expected_value: :value4380 sets both values to be the same4381 column: :value, details: :another_value, expected_value: :value4382 sets both values to be the same4383 column: nil, details: nil, expected_value: nil4384 sets both values to be the same4385 with target_details4386 behaves like a parallel persisted field4387 column: :value, details: nil, expected_value: :value4388 sets both values to be the same4389 column: nil, details: :value, expected_value: :value4390 sets both values to be the same4391 column: :value, details: :another_value, expected_value: :value4392 sets both values to be the same4393 column: nil, details: nil, expected_value: nil4394 sets both values to be the same4395 with target_type4396 behaves like a parallel persisted field4397 column: :value, details: nil, expected_value: :value4398 sets both values to be the same4399 column: nil, details: :value, expected_value: :value4400 sets both values to be the same4401 column: :value, details: :another_value, expected_value: :value4402 sets both values to be the same4403 column: nil, details: nil, expected_value: nil4404 sets both values to be the same4405 with target_id4406 behaves like a parallel persisted field4407 column: :value, details: nil, expected_value: :value4408 sets both values to be the same4409 column: nil, details: :value, expected_value: :value4410 sets both values to be the same4411 column: :value, details: :another_value, expected_value: :value4412 sets both values to be the same4413 column: nil, details: nil, expected_value: nil4414 sets both values to be the same4415 #as_json4416 ip_address4417 overrides the ip_address with its string value4418 #author4419 when the target type is not Ci::Runner4420 returns a NullAuthor4421 when the target type is Ci::Runner and details contain runner_registration_token4422 returns a CiRunnerTokenAuthor4423 name consists of prefix and token4424DropdownsHelper4425 #dropdown_tag4426 returns the container in the content4427 returns the block in the content4428 #dropdown_toggle4429 returns the button4430 returns the buttons default label data attribute4431 returns the dropdown toggle text4432 returns the button icon in the content4433 #dropdown_toggle_link4434 returns the link4435 returns the links data attribute4436 returns the link text4437 #dropdown_title4438 with a back and close button4439 applies the justification class to the container4440 behaves like has a back button4441 contains the back button4442 behaves like has the title text4443 contains the title text4444 behaves like has a close button4445 contains the close button4446 behaves like has two icons4447 returns two icons4448 behaves like does not have the title margin class4449 does not have the title margin class4450 with a back button4451 returns the back button icon4452 behaves like has a back button4453 contains the back button4454 behaves like has the title text4455 contains the title text4456 behaves like has the title margin class4457 contains the title margin class4458 behaves like does not have a close button4459 does not contain the close button4460 with a close button4461 returns the close button icon4462 behaves like does not have a back button4463 does not contain the back button4464 behaves like has the title text4465 contains the title text4466 behaves like has the title margin class4467 contains the title margin class4468 behaves like has a close button4469 contains the close button4470 without any buttons4471 returns no button icons4472 behaves like does not have a back button4473 does not contain the back button4474 behaves like has the title text4475 contains the title text4476 behaves like does not have the title margin class4477 does not have the title margin class4478 behaves like does not have a close button4479 does not contain the close button4480 #dropdown_filter4481 returns the container4482 returns the search input4483 behaves like has two icons4484 returns two icons4485 #dropdown_content4486 without block4487 behaves like contains the container4488 returns the container in the content4489 with block4490 returns the block in the content4491 behaves like contains the container4492 returns the container in the content4493 #dropdown_footer4494 without a content class4495 behaves like contains the content4496 returns the container in the content4497 returns the block in the content4498 without a content class4499 returns the footer in the content4500 behaves like contains the content4501 returns the container in the content4502 returns the block in the content4503 #dropdown_loading4504 returns the container in the content4505 returns a gl-spinner in the content4506Clusters::Providers::Gcp4507 is expected to belong to cluster required: false4508 is expected to validate that :zone cannot be empty/falsy4509 state_machine4510 when any => [:created]4511 nullifies API credentials4512 when any => [:creating]4513 calls #assign_operation_id on the provider4514 when any => [:errored]4515 calls #nullify_credentials on the provider4516 sets a status reason4517 when status_reason is nil4518 does not set status_reason4519 #on_creation?4520 status: :scheduled, result: true4521 is expected to eq true4522 status: :creating, result: true4523 is expected to eq true4524 status: :created, result: false4525 is expected to eq false4526 status: :errored, result: false4527 is expected to eq false4528 default values4529 has default value4530 validation4531 when validates gcp_project_id4532 when gcp_project_id is shorter than 14533 is expected to be falsey4534 when gcp_project_id is longer than 634535 is expected to be falsey4536 when gcp_project_id includes invalid character4537 is expected to be falsey4538 when gcp_project_id is valid4539 is expected to be truthy4540 when validates num_nodes4541 when num_nodes is string4542 is expected to be falsey4543 when num_nodes is nil4544 is expected to be falsey4545 when num_nodes is smaller than 14546 is expected to be falsey4547 when num_nodes is valid4548 is expected to be truthy4549 #has_rbac_enabled?4550 when cluster is legacy_abac4551 is expected to be falsey4552 when cluster is not legacy_abac4553 is expected to be truthy4554 #knative_pre_installed?4555 when cluster is cloud_run4556 is expected to be falsey4557 when cluster is not cloud_run4558 is expected to be truthy4559 #api_client4560 when status is creating4561 returns Cloud Platform API clinet4562 when status is created4563 is expected to be nil4564 when status is errored4565 is expected to be nil4566 #nullify_credentials4567 removes access_token and operation_id4568 #assign_operation_id4569 sets operation_id4570Gitlab::Redis::RateLimiting4571 behaves like redis_shared_examples4572 .config_file_name4573 when there is no config file anywhere4574 is expected to be nil4575 but resque.yml exists4576 is expected to eq "/tmp/redis_shared_examples20221111-468-b9vt1w/config/resque.yml"4577 returns a path that exists4578 and there is a global env override4579 is expected to eq "global override"4580 and there is an instance specific config file4581 is expected to eq "/tmp/redis_shared_examples20221111-468-1nv0imk/config/redis.rate_limiting.yml"4582 returns a path that exists4583 and there is a specific env override4584 is expected to eq "instance specific override"4585 .store4586 with old format4587 behaves like redis store4588 instantiates Redis::Store4589 with the namespace4590 uses specified namespace4591 with new format4592 behaves like redis store4593 instantiates Redis::Store4594 with the namespace4595 uses specified namespace4596 .params4597 withstands mutation4598 when url contains unix socket reference4599 with old format4600 returns path key instead4601 with new format4602 returns path key instead4603 when url is host based4604 with old format4605 returns hash with host, port, db, and password4606 with new format4607 rails_env: "development", host: "development-host"4608 returns hash with host, port, db, and password4609 rails_env: "test", host: "test-host"4610 returns hash with host, port, db, and password4611 rails_env: "production", host: "production-host"4612 returns hash with host, port, db, and password4613 .url4614 withstands mutation4615 when yml file with env variable4616 reads redis url from env variable4617 .version4618 returns a version4619 ._raw_config4620 is frozen4621 returns false when the file does not exist4622 returns false when the filename can't be determined4623 .with4624 when running on single-threaded runtime4625 instantiates a connection pool with size 54626 when running on multi-threaded runtime4627 instantiates a connection pool with a size based on the concurrency of the worker4628 when there is no config at all4629 can run an empty block4630 #db4631 with old format4632 returns the correct db4633 with new format4634 returns the correct db4635 #sentinels4636 when sentinels are defined4637 rails_env: "development", hosts: ["development-replica1", "development-replica2"]4638 returns an array of hashes with host and port keys4639 rails_env: "test", hosts: ["test-replica1", "test-replica2"]4640 returns an array of hashes with host and port keys4641 rails_env: "production", hosts: ["production-replica1", "production-replica2"]4642 returns an array of hashes with host and port keys4643 when sentinels are not defined4644 returns nil4645 #sentinels?4646 when sentinels are defined4647 returns true4648 when sentinels are not defined4649 returns false4650 #raw_config_hash4651 returns old-style single url config in a hash4652 #fetch_config4653 returns false when no config file is present4654 returns false when config file is present but has invalid YAML4655 has a value for the legacy default URL4656 .config_file_name4657 when there is only a resque.yml4658 is expected to eq "/tmp/redis_shared_examples20221111-468-gxivql/config/resque.yml"4659 and there is a global env override4660 is expected to eq "global override"4661 and Cache has a different config file4662 is expected to eq "fallback config file"4663WorkItems::CreateService4664 #execute4665 when user is not allowed to create a work item in the project4666 is expected to be error4667 returns an access error4668 when params are valid4669 created instance is a WorkItem4670 calls NewIssueWorker with correct arguments4671 when params are invalid4672 is expected to be error4673 returns validation errors4674 does not execute after-create transaction widgets4675 checking spam4676 executes SpamActionService4677 behaves like work item widgetable service4678 executes callbacks for expected widgets4679 hierarchy widget4680 when user can admin parent link4681 when parent is valid work item4682 creates new work item and sets parent reference4683 when parent type is invalid4684 behaves like fails creating work item and returns errors4685 does not create new work item if parent can not be set4686 when user cannot admin parent link4687 behaves like fails creating work item and returns errors4688 does not create new work item if parent can not be set4689Gitlab::Metrics::Methods4690 #define_metrics4691 metrics access method not defined4692 defines metrics accessing method4693 metrics access method defined4694 raises error when trying to redefine method4695 metric is not cached4696 calls fetch_metric4697 metric is cached4698 returns cached metric4699 #fetch_metric4700 when counter is not cached4701 initializes counter metric4702 when counter is cached4703 uses class metric cache4704 when metric is reloaded4705 initializes counter metric4706 when metric is configured with feature4707 when feature is enabled4708DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)4709 initializes counter metric4710 when feature is disabled4711DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)4712 returns NullMetric4713 #define_metrics4714 metrics access method not defined4715 defines metrics accessing method4716 metrics access method defined4717 raises error when trying to redefine method4718 metric is not cached4719 calls fetch_metric4720 metric is cached4721 returns cached metric4722 #fetch_metric4723 when gauge is not cached4724 initializes counter metric4725 when gauge is cached4726 uses class metric cache4727 when metric is reloaded4728 initializes gauge metric4729 when metric is configured with feature4730 when feature is enabled4731DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)4732 initializes gauge metric4733 when feature is disabled4734DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)4735 returns NullMetric4736 #define_metrics4737 metrics access method not defined4738 defines metrics accessing method4739 metrics access method defined4740 raises error when trying to redefine method4741 metric is not cached4742 calls fetch_metric4743 metric is cached4744 returns cached metric4745 #fetch_metric4746 when histogram is not cached4747 initializes counter metric4748 when histogram is cached4749 uses class metric cache4750 when metric is reloaded4751 initializes histogram metric4752 when metric is configured with feature4753 when feature is enabled4754DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)4755 initializes histogram metric4756 when feature is disabled4757DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)4758 returns NullMetric4759Gitlab::QueryLimiting::Transaction4760 .current4761 returns nil when there is no transaction4762 returns the transaction when present4763 .run4764 runs a transaction and returns it and its return value4765 removes the transaction from the current thread upon completion4766 #act_upon_results4767 when the query threshold is not exceeded4768 does nothing4769 when the query threshold is exceeded4770 raises an error when this is enabled4771 #increment4772 increments the number of executed queries4773 does not increment the number of executed queries when query limiting is disabled4774 does not increment the number of executed queries when the query is known to be ignorable4775 #raise_error?4776 returns true in a test environment4777 returns false in a production environment4778 #threshold_exceeded?4779 returns false when the threshold is not exceeded4780 returns true when the threshold is exceeded4781 #error_message4782 returns the error message to display when the threshold is exceeded4783 includes a list of executed queries4784 indicates if the log is truncated4785 includes the action name in the error message when present4786ButtonHelper4787 http_clone_button4788 with internal auth enabled4789 when user has a password4790 shows no tooltip4791 when user has password automatically set4792 shows the password text on the dropdown4793 with internal auth disabled4794 when user has no personal access tokens4795 has a personal access token text on the dropdown description4796 when user has personal access tokens4797 does not have a personal access token text on the dropdown description4798 when user is ldap user4799 shows no tooltip4800 ssh_button4801 without an ssh key on the user4802 shows a warning on the dropdown description4803 without an ssh key on the user and user_show_add_ssh_key_message unset4804 there is no warning on the dropdown description4805 with an ssh key on the user4806 there is no warning on the dropdown description4807 ssh and http clone buttons4808 only shows the title of any of the clone buttons when append_link is false4809 clipboard_button4810 with default options4811 when no `text` attribute is not provided4812 shows copy to clipboard button with default configuration and no text set to copy4813 when `text` attribute is provided4814 shows copy to clipboard button with provided `text` to copy4815 when `title` attribute is provided4816 shows copy to clipboard button with provided `title` as tooltip4817 with `button_text` attribute provided4818 shows copy to clipboard button with provided `button_text` as button label4819 adds `gl-button-icon` class to icon4820 with `hide_tooltip` attribute provided4821 shows copy to clipboard button without tooltip support4822 with `hide_button_icon` attribute provided4823 shows copy to clipboard button without tooltip support4824 with `itemprop` attribute provided4825 shows copy to clipboard button with `itemprop` attribute4826Gitlab::Verify::JobArtifacts4827 behaves like Gitlab::Verify::BatchVerifier subclass4828 batching4829 iterates through objects in batches4830 allows the starting ID to be specified4831 allows the finishing ID to be specified4832 #run_batches4833 passes artifacts with the correct file4834 fails artifacts with a missing file4835 fails artifacts with a mismatched checksum4836 with remote files4837 passes artifacts in object storage that exist4838 fails artifacts in object storage that do not exist4839StuckMergeJobsWorker4840 perform4841 merge job identified as completed4842 updates merge request to merged when locked but has merge_commit_sha4843 updates merge request to opened when locked but has not been merged (FAILED - 1)48451st Try error in ./spec/workers/stuck_merge_jobs_worker_spec.rb:25:4846Couldn't find MergeRequest with 'id'=1084848RSpec::Retry: 2nd try ./spec/workers/stuck_merge_jobs_worker_spec.rb:254849 logs updated stuck merge job ids4850 merge job not identified as completed4851 does not change merge request state when job is not completed yet4852Repositories::HousekeepingService4853 behaves like housekeeps repository4854 with a clean redis state4855 #execute4856 enqueues a sidekiq job4857 yields the block if given4858 resets counter after execution4859 runs the task specifically requested4860 when no lease can be obtained4861 does not enqueue a job4862 does not reset pushes_since_gc4863 does not yield4864 task type4865 goes through all three housekeeping tasks, executing only the highest task when there is overlap4866 #needed?4867 when the count is low enough4868 when the count is high enough4869 #increment!4870 increments the pushes_since_gc counter4871 behaves like housekeeps repository4872 with a clean redis state4873 #execute4874 enqueues a sidekiq job4875 yields the block if given4876 resets counter after execution4877 runs the task specifically requested4878 when no lease can be obtained4879 does not enqueue a job4880 does not reset pushes_since_gc4881 does not yield4882 task type4883 goes through all three housekeeping tasks, executing only the highest task when there is overlap4884 #needed?4885 when the count is low enough4886 when the count is high enough4887 #increment!4888 increments the pushes_since_gc counter4889MergeRequests::AddContextService4890 #execute4891 when admin mode is enabled4892 adds context commit4893 when admin mode is disabled4894 doesn't add context commit4895 when user doesn't have permission to update merge request4896 doesn't add context commit4897 when the commits array is empty4898 doesn't add context commit4899Users::AuthorizedBuildService4900 #execute4901 behaves like common user build items4902 is expected to be valid4903 sets the created_by_id4904 calls UpdateCanonicalEmailService4905 when user_type is provided4906 when project_bot4907 is expected to equal true4908 when not a project_bot4909 is expected to be human4910 behaves like current user not admin build items4911 with "user_default_external" application setting4912 user_default_external: true, external: nil, email: "fl@example.com", user_default_internal_regex: nil, result: true4913 sets the value of Gitlab::CurrentSettings.user_default_external4914 user_default_external: true, external: true, email: "fl@example.com", user_default_internal_regex: nil, result: true4915 sets the value of Gitlab::CurrentSettings.user_default_external4916 user_default_external: true, external: false, email: "fl@example.com", user_default_internal_regex: nil, result: true4917 sets the value of Gitlab::CurrentSettings.user_default_external4918 user_default_external: true, external: nil, email: "fl@example.com", user_default_internal_regex: "", result: true4919 sets the value of Gitlab::CurrentSettings.user_default_external4920 user_default_external: true, external: true, email: "fl@example.com", user_default_internal_regex: "", result: true4921 sets the value of Gitlab::CurrentSettings.user_default_external4922 user_default_external: true, external: false, email: "fl@example.com", user_default_internal_regex: "", result: true4923 sets the value of Gitlab::CurrentSettings.user_default_external4924 user_default_external: true, external: nil, email: "fl@example.com", user_default_internal_regex: "^(?:(?!\\.ext@).)*$\\r?", result: false4925 sets the value of Gitlab::CurrentSettings.user_default_external4926 user_default_external: true, external: true, email: "fl@example.com", user_default_internal_regex: "^(?:(?!\\.ext@).)*$\\r?", result: false4927 sets the value of Gitlab::CurrentSettings.user_default_external4928 user_default_external: true, external: false, email: "fl@example.com", user_default_internal_regex: "^(?:(?!\\.ext@).)*$\\r?", result: false4929 sets the value of Gitlab::CurrentSettings.user_default_external4930 user_default_external: true, external: nil, email: "tester.ext@domain.com", user_default_internal_regex: "^(?:(?!\\.ext@).)*$\\r?", result: true4931 sets the value of Gitlab::CurrentSettings.user_default_external4932 user_default_external: true, external: true, email: "tester.ext@domain.com", user_default_internal_regex: "^(?:(?!\\.ext@).)*$\\r?", result: true4933 sets the value of Gitlab::CurrentSettings.user_default_external4934 user_default_external: true, external: false, email: "tester.ext@domain.com", user_default_internal_regex: "^(?:(?!\\.ext@).)*$\\r?", result: true4935 sets the value of Gitlab::CurrentSettings.user_default_external4936 user_default_external: false, external: nil, email: "fl@example.com", user_default_internal_regex: nil, result: false4937 sets the value of Gitlab::CurrentSettings.user_default_external4938 user_default_external: false, external: true, email: "fl@example.com", user_default_internal_regex: nil, result: false4939 sets the value of Gitlab::CurrentSettings.user_default_external4940 user_default_external: false, external: false, email: "fl@example.com", user_default_internal_regex: nil, result: false4941 sets the value of Gitlab::CurrentSettings.user_default_external4942 user_default_external: false, external: nil, email: "fl@example.com", user_default_internal_regex: "", result: false4943 sets the value of Gitlab::CurrentSettings.user_default_external4944 user_default_external: false, external: true, email: "fl@example.com", user_default_internal_regex: "", result: false4945 sets the value of Gitlab::CurrentSettings.user_default_external4946 user_default_external: false, external: false, email: "fl@example.com", user_default_internal_regex: "", result: false4947 sets the value of Gitlab::CurrentSettings.user_default_external4948 user_default_external: false, external: nil, email: "fl@example.com", user_default_internal_regex: "^(?:(?!\\.ext@).)*$\\r?", result: false4949 sets the value of Gitlab::CurrentSettings.user_default_external4950 user_default_external: false, external: true, email: "fl@example.com", user_default_internal_regex: "^(?:(?!\\.ext@).)*$\\r?", result: false4951 sets the value of Gitlab::CurrentSettings.user_default_external4952 user_default_external: false, external: false, email: "fl@example.com", user_default_internal_regex: "^(?:(?!\\.ext@).)*$\\r?", result: false4953 sets the value of Gitlab::CurrentSettings.user_default_external4954 user_default_external: false, external: nil, email: "tester.ext@domain.com", user_default_internal_regex: "^(?:(?!\\.ext@).)*$\\r?", result: false4955 sets the value of Gitlab::CurrentSettings.user_default_external4956 user_default_external: false, external: true, email: "tester.ext@domain.com", user_default_internal_regex: "^(?:(?!\\.ext@).)*$\\r?", result: false4957 sets the value of Gitlab::CurrentSettings.user_default_external4958 user_default_external: false, external: false, email: "tester.ext@domain.com", user_default_internal_regex: "^(?:(?!\\.ext@).)*$\\r?", result: false4959 sets the value of Gitlab::CurrentSettings.user_default_external4960 when "send_user_confirmation_email" application setting is true4961 does not confirm the user4962 when "send_user_confirmation_email" application setting is false4963 confirms the user4964 with allowed params4965 sets all allowed attributes4966Packages::Cleanup::ExecutePolicyWorker4967 #perform_work4968 with no policies4969 behaves like not executing any policy4970 is a no op4971 with no runnable policies4972 behaves like not executing any policy4973 is a no op4974 with runnable policies linked to no packages4975 behaves like not executing any policy4976 is a no op4977 with runnable policies linked to packages4978 is labeled as idempotent4979 performs multiple times sequentially without raising an exception4980 executes the policy4981 with a timeout4982 executes the policy partially4983 with several eligible policies4984 executes the most urgent policy4985 with runnable policy linked to packages in a disabled state4986 behaves like not executing any policy4987 is a no op4988 #remaining_work_count4989 with no policies4990 is expected to eq 04991 with no runnable policies4992 is expected to eq 04993 with runnable policies linked to no packages4994 is expected to eq 04995 with runnable policies linked to packages4996 is expected to eq 14997 with runnable policy linked to packages in a disabled state4998 is expected to eq 04999 #max_running_jobs5000 is expected to eq 505001AnalyticsIssueEntity5002 without subgroup5003 behaves like generic entity5004 contains the entity URL5005 contains the author5006 contains the project path5007 contains the namespace full path5008 contains the end event timestamp5009 does not contain sensitive information5010 when end_event_timestamp is nil5011 contains a nil end_event_timestamp5012 with subgroup5013 has URL containing subgroup5014 behaves like generic entity5015 contains the entity URL5016 contains the author5017 contains the project path5018 contains the namespace full path5019 contains the end event timestamp5020 does not contain sensitive information5021 when end_event_timestamp is nil5022 contains a nil end_event_timestamp5023Resolvers::BlobsResolver5024 .resolver_complexity5025 adds one per path being resolved5026 #resolve5027 when unauthorized5028 generates an error5029 when authorized5030 using no filter5031 returns nothing5032 using paths filter5033 returns the specified blobs for HEAD5034 specifying a non-existent blob5035 returns nothing5036 specifying a different ref5037 returns the specified blobs for that ref5038 when specifying an invalid ref5039 raises an ArgumentError5040 when passing an empty ref5041 raises an ArgumentError5042Sidebars::Projects::Menus::SettingsMenu5043 #render?5044 returns false when menu does not have any menu items5045 Menu items5046 General5047 behaves like access rights checks5048 is expected not to be nil5049 when the user does not have access5050 is expected to be nil5051 Integrations5052 behaves like access rights checks5053 is expected not to be nil5054 when the user does not have access5055 is expected to be nil5056 Webhooks5057 behaves like access rights checks5058 is expected not to be nil5059 when the user does not have access5060 is expected to be nil5061 Access Tokens5062 behaves like access rights checks5063 is expected not to be nil5064 when the user does not have access5065 is expected to be nil5066 Repository5067 behaves like access rights checks5068 is expected not to be nil5069 when the user does not have access5070 is expected to be nil5071 CI/CD5072 when project is archived5073 is expected to be nil5074 when project is not archived5075 is expected not to be nil5076 when the user does not have access5077 is expected to be nil5078 Monitor5079 when project is archived5080 is expected to be nil5081 when project is not archived5082 is expected not to be nil5083 is expected to eq "Monitor"5084 when the user does not have access5085 is expected to be nil5086 Pages5087 when pages are enabled5088 is expected not to be nil5089 when the user does not have access5090 is expected to be nil5091 when pages are not enabled5092 is expected to be nil5093 Merge requests5094 behaves like access rights checks5095 is expected not to be nil5096 when the user does not have access5097 is expected to be nil5098 Packages and registries5099 when container registry setting is disabled5100 is expected to be nil5101 when container registry setting is enabled5102 is expected not to be nil5103 when the user does not have access5104 is expected to be nil5105 when package registry setting is enabled5106 is expected not to be nil5107 when the user does not have access5108 is expected to be nil5109 Usage Quotas5110 is expected not to be nil5111 when the user does not have access5112 is expected to be nil5113Ci::PipelineVariable5114 is expected to validate that :key cannot be empty/falsy5115 behaves like CI variable5116 is expected to includes the Ci::HasVariable module5117 strips whitespaces when assigning key5118 can convert to runner variable5119 variable type5120 defines variable types5121 defaults variable type to env_var5122 supports variable type file5123 #hook_attrs5124 is expected to be a kind of Hash5125 is expected to eq {:key=>"foo", :value=>"bar"}5126 partitioning5127 with pipeline5128 copies the partition_id from pipeline5129 without pipeline5130 is expected to validate that :partition_id cannot be empty/falsy5131 does not change the partition_id value5132lograge5133 for API requests5134 logs to api_json log5135 limits param size5136 for Controller requests5137 logs to production_json log5138 logs cpu_s on supported platform5139 does not log cpu_s on unsupported platform5140 limits param size5141 when logging memory allocations5142 logs memory usage metrics5143 with a log subscriber5144 with an exception5145 adds exception data to log5146 with an ActiveRecord::StatementInvalid5147 adds the SQL query to the log5148 with etag_route5149 adds etag_route to log5150 with access token in url5151 strips location from sensitive information5152 leaves non-sensitive information from location5153 with db payload5154 when RequestStore is enabled5155 includes db counters5156 when RequestStore is disabled5157 does not include db counters5158 with db payload5159 when RequestStore is enabled5160 includes db counters for load balancing5161 when RequestStore is disabled5162 does not include db counters for load balancing5163RequireEmailVerification5164 feature_flag_enabled: false, two_factor_enabled: false, overridden: false5165 #lock_access!5166 sends Devise unlock instructions unless overridden and always sets locked_at5167 #attempts_exceeded?5168 when failed_attempts is LT overridden amount5169 is expected to eq false5170 when failed_attempts is GTE overridden amount but LT Devise default amount5171 is expected to eq false5172 when failed_attempts is GTE Devise default amount5173 is expected to eq true5174 #lock_expired?5175 when locked shorter ago than Devise default time5176 is expected to eq false5177 when locked longer ago than Devise default time but shorter ago than overriden time5178 is expected to eq true5179 when locked longer ago than overriden time5180 is expected to eq true5181 feature_flag_enabled: false, two_factor_enabled: true, overridden: false5182 #lock_access!5183 sends Devise unlock instructions unless overridden and always sets locked_at5184 #attempts_exceeded?5185 when failed_attempts is LT overridden amount5186 is expected to eq false5187 when failed_attempts is GTE overridden amount but LT Devise default amount5188 is expected to eq false5189 when failed_attempts is GTE Devise default amount5190 is expected to eq true5191 #lock_expired?5192 when locked shorter ago than Devise default time5193 is expected to eq false5194 when locked longer ago than Devise default time but shorter ago than overriden time5195 is expected to eq true5196 when locked longer ago than overriden time5197 is expected to eq true5198 feature_flag_enabled: true, two_factor_enabled: false, overridden: true5199 #lock_access!5200 sends Devise unlock instructions unless overridden and always sets locked_at5201 #attempts_exceeded?5202 when failed_attempts is LT overridden amount5203 is expected to eq false5204 when failed_attempts is GTE overridden amount but LT Devise default amount5205 is expected to eq true5206 when failed_attempts is GTE Devise default amount5207 is expected to eq true5208 #lock_expired?5209 when locked shorter ago than Devise default time5210 is expected to eq false5211 when locked longer ago than Devise default time but shorter ago than overriden time5212 is expected to eq false5213 when locked longer ago than overriden time5214 is expected to eq true5215 feature_flag_enabled: true, two_factor_enabled: true, overridden: false5216 #lock_access!5217 sends Devise unlock instructions unless overridden and always sets locked_at5218 #attempts_exceeded?5219 when failed_attempts is LT overridden amount5220 is expected to eq false5221 when failed_attempts is GTE overridden amount but LT Devise default amount5222 is expected to eq false5223 when failed_attempts is GTE Devise default amount5224 is expected to eq true5225 #lock_expired?5226 when locked shorter ago than Devise default time5227 is expected to eq false5228 when locked longer ago than Devise default time but shorter ago than overriden time5229 is expected to eq true5230 when locked longer ago than overriden time5231 is expected to eq true5232Gitlab::Ci::Status::External::Common5233 #label5234 returns description5235 when description is nil5236 uses core status label5237 when description is empty string5238 uses core status label5239 #has_action?5240 is expected not to have action5241 #has_details?5242 when user has access to read commit status5243 is expected to have details5244 when user does not have access to read commit status5245 is expected not to have details5246 #details_path5247 links to the external target URL5248Ci::DeleteUnitTestsWorker5249 #perform5250 executes a service5251 behaves like an idempotent worker5252 is labeled as idempotent5253 performs multiple times sequentially without raising an exception5254 only deletes old unit tests and their failures5255VersionCheckHelper5256 #show_version_check?5257 return conditions5258 enabled: false, consent: false, is_admin: false, result: false5259 returns correct results5260 enabled: false, consent: false, is_admin: true, result: false5261 returns correct results5262 enabled: false, consent: true, is_admin: false, result: false5263 returns correct results5264 enabled: false, consent: true, is_admin: true, result: false5265 returns correct results5266 enabled: true, consent: false, is_admin: false, result: false5267 returns correct results5268 enabled: true, consent: false, is_admin: true, result: true5269 returns correct results5270 enabled: true, consent: true, is_admin: false, result: false5271 returns correct results5272 enabled: true, consent: true, is_admin: true, result: false5273 returns correct results5274Gitlab::RepositoryCache5275 #cache_key5276 project repository5277 behaves like cache_key examples5278 includes the namespace5279 with a given namespace5280 includes the full namespace5281 personal snippet repository5282 behaves like cache_key examples5283 includes the namespace5284 with a given namespace5285 includes the full namespace5286 project snippet repository5287 behaves like cache_key examples5288 includes the namespace5289 with a given namespace5290 includes the full namespace5291 #expire5292 expires the given key from the cache5293 #fetch5294 fetches the given key from the cache5295 accepts a block5296 #write5297 writes the given key and value to the cache5298 passes additional options to the backend5299 #fetch_without_caching_false5300 requires a block5301 when the key does not exist in the cache5302 when the result of the block is truthy5303 returns the result of the block5304 caches the value5305 when the result of the block is falsey5306 returns the result of the block5307 does not cache the value5308 when the cached value is truthy5309 returns the cached value5310 does not execute the block5311 does not write to the cache5312 when the cached value is falsey5313 returns the result of the block5314 writes the truthy value to the cache5315Integrations::ChatMessage::AlertMessage5316 behaves like Integrations::ChatMessage5317 when input contains link markup5318 strips all link markup characters5319 #message5320 returns the correct message5321 #attachments5322 returns an array of one5323 contains the correct attributes5324 returns the correct color5325 returns the correct attachment fields5326 returns the correctly formatted time5327ProtectedBranchPolicy5328 as maintainers5329 can be read5330 can be created5331 can be updated5332 can be destroyed5333 as guests5334 can be read5335 can be created5336 can be updated5337 cannot be destroyed5338Issues::RebalancingWorker5339 has the `until_executed` deduplicate strategy5340 #perform5341 without root_namespace param5342 is labeled as idempotent5343 performs multiple times sequentially without raising an exception5344 is labeled as idempotent5345 performs multiple times sequentially without raising an exception5346 behaves like running the worker5347 runs an instance of Issues::RelativePositionRebalancingService5348 anticipates there being too many concurent rebalances5349 takes no action if the value is nil5350 does not schedule a new rebalance if it finished under 1h ago5351 behaves like safely handles non-existent ids5352 anticipates the inability to find the issue5353 with root_namespace param5354 is labeled as idempotent5355 performs multiple times sequentially without raising an exception5356 is labeled as idempotent5357 performs multiple times sequentially without raising an exception5358 behaves like running the worker5359 runs an instance of Issues::RelativePositionRebalancingService5360 anticipates there being too many concurent rebalances5361 takes no action if the value is nil5362 does not schedule a new rebalance if it finished under 1h ago5363 behaves like safely handles non-existent ids5364 anticipates the inability to find the issue5365JiraImport::UsersImporter5366 #execute5367 when Jira import is not configured properly5368 returns an error5369 when Jira instance is of Server deployment type5370 behaves like maps Jira users to GitLab users5371 when Jira import is configured correctly5372 when users mapper service raises an error5373 returns an error response5374 when users mapper service returns result5375 when users mapper service returns an empty array5376 returns nil payload5377 when Jira client returns any users5378 returns the mapped users5379 when Jira instance is of Cloud deployment type5380 behaves like maps Jira users to GitLab users5381 when Jira import is configured correctly5382 when users mapper service raises an error5383 returns an error response5384 when users mapper service returns result5385 when users mapper service returns an empty array5386 returns nil payload5387 when Jira client returns any users5388 returns the mapped users5389Ci::CreatePipelineService5390 include:5391 with a local file5392 behaves like including the file5393 includes the job in the file5394 with a local file with rules with a project variable5395 when the rules matches5396 behaves like including the file5397 includes the job in the file5398 when the rules does not match5399 behaves like not including the file5400 does not include the job in the file5401 with a local file with rules with a predefined pipeline variable5402 when the rules matches5403 behaves like including the file5404 includes the job in the file5405 when the rules does not match5406 behaves like not including the file5407 does not include the job in the file5408 with a local file with rules with a run pipeline variable5409 when the rules matches5410 behaves like including the file5411 includes the job in the file5412 when the rules does not match5413 behaves like not including the file5414 does not include the job in the file5415Ci::GenerateCodequalityMrDiffReportService5416 #execute5417 when head pipeline has codequality mr diff report5418 returns status and data5419 when head pipeline does not have a codequality mr diff report5420 returns status and error message5421 when head pipeline has codequality mr diff report and no merge request associated5422 returns status and error message5423Types::GroupType5424 is expected to expose permissions using Types::PermissionTypes::Group5425 is expected to eq "Group"5426 is expected to require graphql authorizations :read_group5427 has the expected fields5428 boards field5429 returns boards5430 members field5431 is expected to have graphql type #<Class:0x00007f0b2e448690>5432 is expected to have graphql resolver Resolvers::GroupMembersResolver5433 timelogs field5434 finds timelogs between start time and end time5435 contact_state_counts field5436 is expected to have graphql type Types::CustomerRelations::ContactStateCountsType5437 is expected to have graphql resolver Resolvers::Crm::ContactStateCountsResolver5438 organization_state_counts field5439 is expected to have graphql type Types::CustomerRelations::OrganizationStateCountsType5440 is expected to have graphql resolver Resolvers::Crm::OrganizationStateCountsResolver5441 behaves like a GraphQL type with labels5442 has label fields5443 label field5444 is expected to have graphql type Types::LabelType5445 is expected to have graphql arguments :title5446 labels field5447 is expected to have graphql type #<Class:0x00007f0b2d9382c8>5448 is expected to have graphql arguments :search_term, :includeAncestorGroups, :includeDescendantGroups, and :onlyGroupLabels5449 milestones5450 avoids N+1 queries5451Gitlab::Git::Patches::CommitPatches5452 #commit5453 applies the patches5454 updates the branch cache5455 when the repository does not exist5456 raises the correct error5457 when the patch does not apply5458 raises the correct error5459CommitPresenter5460 #web_path5461 is expected to eq "/namespace867/project946/-/commit/b83d6e391c22777fca1ed3012fce84f633d7fed0"5462 #detailed_status_for5463 read_commit_status: true, read_pipeline: true, expected_result: "passed"5464 is expected to eq "passed"5465 read_commit_status: true, read_pipeline: false, expected_result: nil5466 is expected to eq nil5467 read_commit_status: false, read_pipeline: true, expected_result: nil5468 is expected to eq nil5469 read_commit_status: false, read_pipeline: false, expected_result: nil5470 is expected to eq nil5471 #status_for5472 read_commit_status: true, read_pipeline: true, expected_result: "success"5473 is expected to eq "success"5474 read_commit_status: true, read_pipeline: false, expected_result: nil5475 is expected to eq nil5476 read_commit_status: false, read_pipeline: true, expected_result: nil5477 is expected to eq nil5478 read_commit_status: false, read_pipeline: false, expected_result: nil5479 is expected to eq nil5480 #any_pipelines?5481 when user can read pipeline5482 returns if there are any pipelines for commit5483 when user can not read pipeline5484 is false5485 #signature_html5486 renders html for displaying signature5487Mutations::Timelogs::Delete5488 #resolve5489 when the timelog id is not valid5490 raises Gitlab::Graphql::Errors::ResourceNotAvailable5491 when the current user is not the timelog's author, not a maintainer and not an admin5492 raises Gitlab::Graphql::Errors::ResourceNotAvailable5493 when the current user is the timelog's author5494 deletes the timelog5495 returns the deleted timelog5496 returns no errors5497 when the current user is not the timelog's author but a maintainer of the project5498 deletes the timelog5499 returns the deleted timelog5500 returns no errors5501 when the current user is not the timelog's author, not a maintainer but an admin5502 deletes the timelog5503 returns the deleted timelog5504 returns no errors5505Resolvers::ReleasesResolver5506 #resolve5507 when the user does not have access to the project5508 returns an empty array5509 when the user has full access to the project's releases5510 returns all releases associated to the project (FAILED - 2)55121st Try error in ./spec/graphql/resolvers/releases_resolver_spec.rb:38:5513expected collection contained: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]5514actual collection contained: []5515the missing elements were: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]5517RSpec::Retry: 2nd try ./spec/graphql/resolvers/releases_resolver_spec.rb:385518 sorting behavior5519 with sort: :released_at_desc5520 returns the releases ordered by released_at in descending order (FAILED - 3)55221st Try error in ./spec/graphql/resolvers/releases_resolver_spec.rb:46:5523expected collection contained: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]5524actual collection contained: []5525the missing elements were: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]5527RSpec::Retry: 2nd try ./spec/graphql/resolvers/releases_resolver_spec.rb:465528 with sort: :released_at_asc5529 returns the releases ordered by released_at in ascending order (FAILED - 4)55311st Try error in ./spec/graphql/resolvers/releases_resolver_spec.rb:56:5532expected collection contained: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]5533actual collection contained: []5534the missing elements were: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]5536RSpec::Retry: 2nd try ./spec/graphql/resolvers/releases_resolver_spec.rb:565537 with sort: :created_desc5538 returns the releases ordered by created_at in descending order (FAILED - 5)55401st Try error in ./spec/graphql/resolvers/releases_resolver_spec.rb:66:5541expected collection contained: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]5542actual collection contained: []5543the missing elements were: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]5545RSpec::Retry: 2nd try ./spec/graphql/resolvers/releases_resolver_spec.rb:665546 with sort: :created_asc5547 returns the releases ordered by created_at in ascending order (FAILED - 6)55491st Try error in ./spec/graphql/resolvers/releases_resolver_spec.rb:76:5550expected collection contained: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]5551actual collection contained: []5552the missing elements were: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]5554RSpec::Retry: 2nd try ./spec/graphql/resolvers/releases_resolver_spec.rb:765555Gitlab::PhabricatorImport::ProjectCreator5556 #execute5557 creates a project correctly and schedule an import5558 when import params are missing5559 returns nil5560 when import params are invalid5561 returns an unpersisted project5562gitlab:x509 namespace rake task5563 update_signatures5564 changes from unverified to verified if the certificate store contains the root certificate5565 returns if no signature is available5566Sidebars::Groups::Menus::PackagesRegistriesMenu5567 #render?5568 when menu has menu items to show5569 returns true5570 when menu does not have any menu item to show5571 returns false5572 #link5573 when Packages Registry is visible5574 menu link points to Packages Registry page5575 when Packages Registry is not visible5576 menu link points to Container Registry page5577 when Container Registry is not visible5578 menu link points to Harbor Registry page5579 when Harbor Registry is not visible5580 menu link points to Dependency Proxy page5581 Menu items5582 Packages Registry5583 when user can read packages5584 when config package setting is disabled5585 behaves like the menu entry is not available5586 the menu item is not added to list of menu items5587 when config package setting is enabled5588 behaves like the menu entry is available5589 the menu item is added to list of menu items5590 Container Registry5591 when user can read container images5592 when config registry setting is disabled5593 behaves like the menu entry is not available5594 the menu item is not added to list of menu items5595 when config registry setting is enabled5596 behaves like the menu entry is available5597 the menu item is added to list of menu items5598 when user cannot read container images5599 behaves like the menu entry is not available5600 the menu item is not added to list of menu items5601 Dependency Proxy5602 when user can read dependency proxy5603 when config dependency_proxy is enabled5604 behaves like the menu entry is available5605 the menu item is added to list of menu items5606 when the group settings exist5607 behaves like the menu entry is available5608 the menu item is added to list of menu items5609 when the proxy is disabled at the group level5610 behaves like the menu entry is not available5611 the menu item is not added to list of menu items5612 when config dependency_proxy is not enabled5613 behaves like the menu entry is not available5614 the menu item is not added to list of menu items5615 when user cannot read dependency proxy5616 behaves like the menu entry is not available5617 the menu item is not added to list of menu items5618 Harbor Registry5619 when config harbor registry setting is disabled5620 behaves like the menu entry is not available5621 the menu item is not added to list of menu items5622 when config harbor registry setting is enabled5623 behaves like the menu entry is available5624 the menu item is added to list of menu items5625 when config harbor registry setting is not activated5626 behaves like the menu entry is not available5627 the menu item is not added to list of menu items5628Packages::Nuget::MetadataExtractionService5629 #execute5630 with valid package file id5631 is expected to eq {:package_dependencies=>[{:name=>"Newtonsoft.Json", :target_framework=>".NETCoreApp3.0", :version=>"1...name=>"DummyProject.DummyPackage", :package_tags=>[], :package_types=>[], :package_version=>"1.0.0"}5632 with nuspec file5633 with dependencies5634 is expected to have key :package_dependencies5635 extracts dependencies5636 with package types5637 is expected to have key :package_types5638 extracts package types5639 with a nuspec file with metadata5640 is expected to eq ["bar", "foo", "tag1", "tag2", "tag3", "tag4", "tag5", "test"]5641 with a nuspec file with metadata5642 is expected to eq "https://opensource.org/licenses/MIT"5643 is expected to eq "https://gitlab.com/gitlab-org/gitlab"5644 is expected to eq "https://opensource.org/files/osi_keyhole_300X300_90ppi_0.png"5645 with invalid package file id5646 is expected to raise Packages::Nuget::MetadataExtractionService::ExtractionError with "invalid package file"5647 linked to a non nuget package5648 is expected to raise Packages::Nuget::MetadataExtractionService::ExtractionError with "invalid package file"5649 with a 0 byte package file id5650 is expected to raise Packages::Nuget::MetadataExtractionService::ExtractionError with "invalid package file"5651 without the nuspec file5652 is expected to raise Packages::Nuget::MetadataExtractionService::ExtractionError with "nuspec file not found"5653 with a too big nuspec file5654 is expected to raise Packages::Nuget::MetadataExtractionService::ExtractionError with "nuspec file too big"5655Packages::Pypi::PackagesFinder5656 #execute5657 with package name param5658 within a project5659 is expected to contain exactly #<Packages::Package id: 8, project_id: 936, created_at: "2022-11-11 01:15:49.846568381 +0000", update...ersion: "1.0.2", package_type: "pypi", creator_id: 1747, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 9, project_id: 936, created_at: "2022-11-11 01:15:49.879947518 +0000", update...ersion: "1.0.3", package_type: "pypi", creator_id: 1747, status: "default", last_downloaded_at: nil>5660 behaves like when no package is found5661 non-existing package5662 is expected to be empty5663 behaves like when package_name param is a non-normalized name5664 non-existing package5665 is expected to be empty5666 within a group5667 is expected to be empty5668 user with access to only one project5669 is expected to contain exactly #<Packages::Package id: 10, project_id: 937, created_at: "2022-11-11 01:15:49.914526525 +0000", updat...ersion: "1.0.4", package_type: "pypi", creator_id: 1749, status: "default", last_downloaded_at: nil>5670 behaves like when no package is found5671 non-existing package5672 is expected to be empty5673 behaves like when package_name param is a non-normalized name5674 non-existing package5675 is expected to be empty5676 user with access to multiple projects5677 is expected to contain exactly #<Packages::Package id: 8, project_id: 936, created_at: "2022-11-11 01:15:49.846568381 +0000", update...ersion: "1.0.2", package_type: "pypi", creator_id: 1747, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 936, created_at: "2022-11-11 01:15:49.879947518 +0000", update...ersion: "1.0.3", package_type: "pypi", creator_id: 1747, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 10, project_id: 937, created_at: "2022-11-11 01:15:49.914526525 +0000", updat...ersion: "1.0.4", package_type: "pypi", creator_id: 1749, status: "default", last_downloaded_at: nil>5678 without package_name param5679 within a group5680 user with access to only one project5681 is expected to contain exactly #<Packages::Package id: 10, project_id: 937, created_at: "2022-11-11 01:15:49.914526525 +0000", updat...ersion: "1.0.4", package_type: "pypi", creator_id: 1749, status: "default", last_downloaded_at: nil>5682 user with access to multiple projects5683 is expected to contain exactly #<Packages::Package id: 7, project_id: 936, created_at: "2022-11-11 01:15:49.811696873 +0000", update...ersion: "1.0.1", package_type: "pypi", creator_id: 1747, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 936, created_at: "2022-11-11 01:15:49.846568381 +0000", update...ersion: "1.0.2", package_type: "pypi", creator_id: 1747, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 936, created_at: "2022-11-11 01:15:49.879947518 +0000", update...ersion: "1.0.3", package_type: "pypi", creator_id: 1747, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 10, project_id: 937, created_at: "2022-11-11 01:15:49.914526525 +0000", updat...ersion: "1.0.4", package_type: "pypi", creator_id: 1749, status: "default", last_downloaded_at: nil>5684 within a project5685 is expected to contain exactly #<Packages::Package id: 7, project_id: 936, created_at: "2022-11-11 01:15:49.811696873 +0000", update...ersion: "1.0.1", package_type: "pypi", creator_id: 1747, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 936, created_at: "2022-11-11 01:15:49.846568381 +0000", update...ersion: "1.0.2", package_type: "pypi", creator_id: 1747, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 9, project_id: 936, created_at: "2022-11-11 01:15:49.879947518 +0000", update...ersion: "1.0.3", package_type: "pypi", creator_id: 1747, status: "default", last_downloaded_at: nil>5686Gitlab::Access::BranchProtection5687 #any?5688 level: 0, result: false5689 is expected to eq false5690 level: 1, result: true5691 is expected to eq true5692 level: 3, result: true5693 is expected to eq true5694 level: 2, result: true5695 is expected to eq true5696 #developer_can_push?5697 level: 0, result: false5698 is expected to eq false5699 level: 1, result: true5700 is expected to eq true5701 level: 3, result: false5702 is expected to eq false5703 level: 2, result: false5704 is expected to eq false5705 #developer_can_merge?5706 level: 0, result: false5707 is expected to eq false5708 level: 1, result: false5709 is expected to eq false5710 level: 3, result: true5711 is expected to eq true5712 level: 2, result: false5713 is expected to eq false5714 #fully_protected?5715 level: 0, result: false5716 is expected to eq false5717 level: 1, result: false5718 is expected to eq false5719 level: 3, result: false5720 is expected to eq false5721 level: 2, result: true5722 is expected to eq true5723Gitlab::MarkupHelper5724 #markup?5725 returns true for textile files5726 returns true for rdoc files5727 returns true for org files5728 returns true for creole files5729 returns true for wiki files5730 returns true for mediawiki files5731 returns true for rst files5732 returns true for adoc files5733 returns true for ad files5734 returns true for asciidoc files5735 returns true for mdown files5736 returns true for md files5737 returns true for markdown files5738 returns false when given a non-markup filename5739 #gitlab_markdown?5740 returns true for mdown files5741 returns true for mkd files5742 returns true for mkdn files5743 returns true for md files5744 returns true for markdown files5745 returns false when given a non-markdown filename5746 #asciidoc?5747 returns true for adoc files5748 returns true for ad files5749 returns true for asciidoc files5750 returns true for ADOC files5751 returns false when given a non-asciidoc filename5752Gitlab::Pagination::Keyset::SimpleOrderBuilder5753 when no order present5754 orders by primary key5755 sets the column definition distinct and not nullable5756 when the order scope's model uses default_scope5757 orders by primary key5758 when primary key order present5759 orders by primary key without altering the direction5760 when ordered by other column5761 adds extra primary key order as tie-breaker5762 sets the column definition for created_at non-distinct and nullable5763 when ordered by two columns where the last one is the tie breaker5764 preserves the order5765 when non-nullable column is given5766 sets the column definition for namespace_id non-distinct and non-nullable5767 when ordering by a column with the lower named function5768 sets the column definition for name5769 adds extra primary key order as tie-breaker5770 NULLS order given as as an Arel literal5771 when NULLS LAST order is given without a tie-breaker5772 sets the column definition for created_at appropriately5773 orders by primary key5774 when NULLS FIRST order is given with a tie-breaker5775 sets the column definition for created_at appropriately5776 orders by the given primary key5777 NULLS order given as as an Arel node5778 when NULLS LAST order is given without a tie-breaker5779 sets the column definition for created_at appropriately5780 orders by primary key5781 when NULLS FIRST order is given with a tie-breaker5782 sets the column definition for created_at appropriately5783 orders by the given primary key5784 return :unable_to_order symbol when order cannot be built5785 when raw SQL order is given5786 is expected to eq false5787 when an invalid NULLS order is given5788 scope: lazy { Project.order(Arel.sql('projects.updated_at created_at Asc Nulls Last')) }5789 is expected to eq false5790 scope: lazy { Project.order(Arel.sql('projects.created_at ZZZ NULLS FIRST')) }5791 is expected to eq false5792 scope: lazy { Project.order(Arel.sql('projects.relative_position ASC NULLS LAST')) }5793 is expected to eq false5794 when more than 2 columns are given for the order5795 is expected to eq false5796Ci::StatusHelper5797 #ci_icon_for_status5798 renders to correct svg on success5799 renders the correct svg on failure5800 #ci_text_for_status5801 when status is manual5802 changes the status to blocked5803 when status is success5804 changes the status to passed5805 when status is something else5806 returns status unchanged5807 #pipeline_status_cache_key5808 builds a cache key for pipeline status5809 #render_status_with_link5810 renders a passed status icon5811 has 'Pipeline' as the status type in the title5812 has the success status icon5813 when pipeline has commit path5814 links to commit5815 does not contain a span element5816 has 'Pipeline' as the status type in the title5817 has the correct status icon5818 when different type than pipeline is provided5819 has the provided type in the title5820 when tooltip_placement is provided5821 has the provided tooltip placement5822 when additional CSS classes are provided5823 has appended extra class to icon classes5824 when container is provided5825 has the provided container in data5826 when icon_size is provided5827 has the svg class to change size5828Sidebars::Panel5829 #renderable_menus5830 returns only renderable menus5831 #has_renderable_menus?5832 returns false when no renderable menus5833 returns true when no renderable menus5834 #add_element5835 adds the element to the last position of the list5836 does not add nil elements5837 #insert_element_before5838 adds element before the specific element class5839 does not add nil elements5840 when reference element does not exist5841 adds the element to the top of the list5842 #insert_element_after5843 adds element after the specific element class5844 does not add nil elements5845 when reference element does not exist5846 adds the element to the end of the list5847 #replace_element5848 replace existing element in the list5849 does not add nil elements5850 does not add the element if the other element is not found5851Gitlab::PhabricatorImport::Issues::TaskImporter5852 #execute5853 creates the issue with the expected attributes5854 does not recreate the issue when called multiple times5855 does not trigger a save when the object did not change5856 links the author if the author can be found5857 links an assignee if the user can be found5858Gitlab::Ssh::Signature5859 signature verification5860 when signature is valid and user email is verified5861 behaves like verified signature5862 reports verified status5863 when using an RSA key5864 behaves like verified signature5865 reports verified status5866 when signed text is an empty string5867 behaves like verified signature5868 reports verified status5869 when signed text is nil5870 behaves like unverified signature5871 reports unverified status5872 when committer_email is empty5873 behaves like unverified signature5874 reports unverified status5875 when committer_email is nil5876 behaves like unverified signature5877 reports unverified status5878 when signature_text is empty5879 behaves like unverified signature5880 reports unverified status5881 when signature_text is nil5882 behaves like unverified signature5883 reports unverified status5884 when user email is not verified5885 behaves like unverified signature5886 reports unverified status5887 when no user exists with the committer email5888 behaves like unverified signature5889 reports unverified status5890 when signature is invalid5891 behaves like unverified signature5892 reports unverified status5893 when signature is for a different message5894 behaves like unverified signature5895 reports unverified status5896 when message has been tampered5897 behaves like unverified signature5898 reports unverified status5899 when key does not exist in GitLab5900 reports unknown_key status5901 when key belongs to someone other than the committer5902 reports other_user status5903Ci::CreatePipelineService5904 #execute5905 when source is a dangling build5906 parameter config content5907 creates a pipeline5908 creates builds with the correct names5909 creates stages with the correct names5910 sets the correct config source5911Gitlab::Highlight5912 language provided5913 sets correct lexer5914 #highlight5915 highlights5916 returns plain version for unknown lexer context5917 highlights multi-line comments5918 links dependencies via DependencyLinker5919 when content is too long to be highlighted5920 returns plain version for long content5921 diff highlighting5922 highlights each line properly5923 when start line number is set5924 highlights each line properly5925 with CRLF5926 strips extra LFs5927 timeout5928 falls back to plaintext on timeout5929Ci::PendingBuilds::UpdateGroupWorker5930 #perform5931 when a group is not provided5932 does not call the service5933 when everything is ok5934 calls the service5935 is labeled as idempotent5936 performs multiple times sequentially without raising an exception5937 updates the pending builds5938BulkImports::Export5939 associations5940 is expected to belong to group required: false5941 is expected to belong to project required: false5942 is expected to have one upload5943 validations5944 is expected to validate that :relation cannot be empty/falsy5945 is expected to validate that :status cannot be empty/falsy5946 when not associated with a group or project5947 is invalid5948 when associated with a group5949 is valid5950 when associated with a project5951 is valid5952 when relation is invalid5953 is invalid5954 #portable5955 when associated with project5956 returns project5957 when associated with group5958 returns group5959 #config5960 when associated with project5961 returns project config5962 when associated with group5963 returns group config5964Gitlab::RepositorySizeChecker5965 #enabled?5966 when enabled5967 returns true5968 when limit is zero5969 returns false5970 #changes_will_exceed_size_limit?5971 returns true when changes go over5972 returns false when changes do not go over5973 #above_size_limit?5974 returns false when not over the limit5975 when size is above the limit5976 returns true5977 #exceeded_size5978 when no change size provided5979 when current size is below the limit5980 returns zero5981 when current size is equal to the limit5982 returns zero5983 when current size is over the limit5984 returns a positive number5985 when a change size is provided5986 when change size will be over the limit5987 returns a positive number5988 when change size will be at the limit5989 returns zero5990 when change size will be under the limit5991 returns zero5992 #additional_repo_storage_available?5993 returns false5994Gitlab::Database::LoadBalancing::Configuration5995 .for_model5996 when load balancing is not configured5997 uses the default settings5998 when load balancing is configured5999 uses the custom configuration settings6000 when the load balancing configuration uses strings as the keys6001 uses the custom configuration settings6002 #load_balancing_enabled?6003 returns false when running inside a Rake task6004 returns true when hosts are configured6005 returns true when a service discovery record is configured6006 returns false when no hosts are configured and service discovery is disabled6007 #service_discovery_enabled?6008 returns false when running inside a Rake task6009 returns true when a record is configured6010 returns false when no record is configured6011 #pool_size6012 when a custom pool size is used6013 always reads the value from the model configuration6014 when the pool size is nil6015 returns the default pool size6016 #db_config_name6017 returns connection name as symbol6018 #db_config6019 returns exactly db_config6020Gitlab::Cleanup::OrphanJobArtifactFilesBatch6021 no dry run6022 deletes only orphan job artifacts from disk6023 does not mix up job ID and artifact ID6024 with dry run6025 does not remove files6026API::Entities::Package6027 exposes correct attributes6028 exposes correct web_path in _links6029 with a terraform_module6030 exposes correct web_path in _links6031Ci::PendingBuilds::UpdateProjectWorker6032 #perform6033 when a project is not provided6034 does not call the service6035 when everything is ok6036 calls the service6037 is labeled as idempotent6038 performs multiple times sequentially without raising an exception6039 updates the pending builds6040Gitlab::JiraImport::Stage::FinishImportWorker6041 modules6042 behaves like include import workers modules6043 is expected to includes the ApplicationWorker module6044 is expected to includes the Gitlab::JiraImport::QueueOptions module6045 is expected to includes the Gitlab::JiraImport::ImportWorker module6046 #perform6047 when import did not start6048 behaves like cannot do Jira import6049 does not advance to next stage6050 when import started6051 changes import state to finished6052 saves imported issues counts6053Gitlab::FileDetector6054 .types_in_paths6055 returns the file types for the given paths6056 does not include unrecognized file paths6057 .type_of6058 returns the type of a README without extension6059 returns the type of a README file with a recognized extension6060 returns nil for a README with unrecognized extension6061 is case insensitive6062 returns nil for a README file in a directory6063 returns the type of a changelog file6064 returns the type of a license file6065 returns nil for an UNCOPYING file6066 returns the type of a version file6067 returns the type of a .gitignore file6068 returns the type of a GitLab CI config file6069 returns the type of an avatar6070 returns the type of an issue template6071 returns the type of a merge request template6072 returns nil for an unknown file6073 returns the type of an OpenAPI spec if file name is correct6074Gitlab::Ci::Parsers::Security::SecretDetection6075 #parse!6076 when parsing valid reports6077 report_format: :secret_detection6078 parses all identifiers and findings6079 generates expected location6080 generates expected metadata_version6081 when parsing an empty report6082 is expected to be empty6083Ci::PipelineArtifacts::CreateQualityReportWorker6084 #perform6085 when pipeline exists6086 calls pipeline codequality report service6087 behaves like an idempotent worker6088 is labeled as idempotent6089 performs multiple times sequentially without raising an exception6090 does not create another pipeline artifact if already has one6091 when pipeline does not exist6092 does not call pipeline codequality report service6093MergeRequests::ResolveTodosWorker6094 behaves like an idempotent worker6095 is labeled as idempotent6096 performs multiple times sequentially without raising an exception6097 #perform6098 calls MergeRequests::ResolveTodosService#execute6099 with a non-existing merge request6100 does nothing6101 with a non-existing user6102 does nothing6103DeployKeysProjectPolicy6104 updating a deploy_keys_project6105 when a project maintainer6106 tries to update private deploy key attached to project6107 is expected to be disallowed :update_deploy_keys_project6108 tries to update public deploy key attached to project6109 is expected to be allowed :update_deploy_keys_project6110 when a non-maintainer project member6111 tries to update private deploy key attached to project6112 is expected to be disallowed :update_deploy_keys_project6113 tries to update public deploy key attached to project6114 is expected to be disallowed :update_deploy_keys_project6115 when a user is not a project member6116 tries to update public deploy key attached to project6117 is expected to be disallowed :update_deploy_keys_project6118Packages::Go::Module6119 #path_valid?6120 with root path6121 with major version 06122 returns true6123 with major version 16124 returns true6125 with major version 26126 returns false6127 with path ./v26128 with major version 06129 returns false6130 with major version 16131 returns false6132 with major version 26133 returns true6134 #gomod_valid?6135 with good gomod6136 returns true6137 with bad gomod6138 returns false6139 with empty gomod6140 returns false6141Featurable6142 .set_available_features6143 is expected to contain exactly :feature1, :feature2, and :feature36144 #*_enabled?6145 is expected to be falsey6146 is expected to be truthy6147 .quoted_access_level_column6148 returns the table name and quoted column name for a feature6149 .access_level_attribute6150 is expected to eq :feature1_access_level6151 raises error for unspecified feature6152 #access_level6153 returns access level6154 #feature_available?6155 when features are disabled6156 returns false6157 when features are enabled only for team members6158 when user is not present6159 returns false6160 when user can read all resources6161 returns true6162 when user cannot read all resources6163 raises NotImplementedError exception6164 when feature is enabled for everyone6165 returns true6166Packages::MarkPackageForDestructionService6167 #execute6168 when the user is authorized6169 when it is successful6170 marks the package and package files as pending destruction6171 returns a success ServiceResponse6172 when it is not successful6173 returns an error ServiceResponse6174 when the user is not authorized6175 returns an error ServiceResponse6176SafeZip::ExtractParams6177 #extract_path6178 is expected to eq "/tmp/safe-zip20221111-468-19zrbh4"6179 #matching_target_directory6180 path: "/public/index.html", result: "/public/"6181 is expected to eq "/tmp/safe-zip20221111-468-30uclm/public/"6182 path: "/non/existing/path", result: nil6183 is expected to eq nil6184 path: "/public", result: nil6185 is expected to eq nil6186 path: "/folder/with/index.html", result: nil6187 is expected to eq nil6188 #target_directories6189 starts with target_path6190 ends with / for all paths6191 #directories_wildcard6192 adds * for all paths6193WorkItems::Widgets::DescriptionService::UpdateService6194 #update6195 when user has permission to update description6196 when user is work item author6197 behaves like sets work item description6198 correctly sets work item description value6199 when user is a project reporter6200 behaves like sets work item description6201 correctly sets work item description value6202 when description is nil6203 behaves like sets work item description6204 correctly sets work item description value6205 when description is empty6206 behaves like sets work item description6207 correctly sets work item description value6208 when description param is not present6209 behaves like does not set work item description6210 does not change work item description value6211 when user does not have permission to update description6212 when user is a project guest6213 behaves like does not set work item description6214 does not change work item description value6215 with private project6216 when user is work item author6217 behaves like does not set work item description6218 does not change work item description value6219Grafana::TimeWindow6220 #formatted6221 is expected to eq {:end=>"2019-03-17T13:10:00Z", :start=>"2019-03-17T05:10:00Z"}6222 #in_milliseconds6223 is expected to eq {:from=>1552799400000, :to=>1552828200000}6224 when non-unix parameters are provided6225 is expected to eq {:from=>1552799400000, :to=>1552828200000}6226Grafana::RangeWithDefaults6227 #to_hash6228 is expected to eq {:from=>#<Grafana::Timestamp:0x00007f0aedd631a8 @time=2019-03-17 05:10:00 +0000>, :to=>#<Grafana::Timestamp:0x00007f0aedd63090 @time=2019-03-17 13:10:00 +0000>}6229 when only "to" is provided6230 has the expected properties6231 when only "from" is provided6232 has the expected properties6233 when no parameters are provided6234 has the expected properties6235Grafana::Timestamp6236 #formatted6237 is expected to eq "2019-03-17T05:10:00Z"6238 #to_ms6239 is expected to eq 15527994000006240 .from_ms_since_epoch6241 is expected to be a kind of Grafana::Timestamp6242 when the input is not a unix-ish timestamp6243 raises an error6244Gitlab::WordDiff::LineProcessor6245 #extract6246 when line is a diff hunk6247 returns DiffHunk segment6248 when line has a newline delimiter6249 returns Newline segment6250 when line has only space6251 returns nil6252 when line has content6253 returns Chunk segment6254Gitlab::PipelineScopeCounts6255 has policy class6256 has expected attributes6257 with large amount of pipelines6258 sets the PIPELINES_COUNT_LIMIT constant to a value of 1_0006259 when there are more records than the limit6260 limits the found items6261ForkNetworkMember6262 validations6263 is expected to validate that :project cannot be empty/falsy6264 is expected to validate that :fork_network cannot be empty/falsy6265 destroying a ForkNetworkMember6266 removes the fork network if it was the last member6267 does not destroy the fork network if there are members left6268BulkImports::Common::Graphql::GetMembersQuery6269 has a valid query6270 #data_path6271 returns data path6272 #page_info_path6273 returns pagination information path6274 #to_s6275 when entity is group6276 queries group & group members6277 when entity is project6278 queries project & project members6279Gitlab::Usage::Metrics::NameSuggestion6280 #for6281 for count with nil column6282 behaves like name suggestion6283 return correct name6284 for count with column :id6285 behaves like name suggestion6286 return correct name6287 for count distinct with column defined metrics6288 behaves like name suggestion6289 return correct name6290 joined relations6291 counted attribute comes from source relation6292 behaves like name suggestion6293 return correct name6294 strips off time period constraint6295 behaves like name suggestion6296 return correct name6297 for sum metrics6298 behaves like name suggestion6299 return correct name6300 for average metrics6301 behaves like name suggestion6302 return correct name6303 for redis metrics6304 behaves like name suggestion6305 return correct name6306 for alt_usage_data metrics6307 behaves like name suggestion6308 return correct name6309 for metrics with `having` keyword6310 behaves like name suggestion6311 return correct name6312Gitlab::ImportExport::DesignRepoSaver6313 bundle a design Git repo6314 bundles the repo successfully6315 when the repo is empty6316 bundles the repo successfully6317Gitlab::Metrics::Dashboard::Stages::VariableEndpointInserter6318 #transform!6319 when dashboard variables are present6320 assigns prometheus_endpoint_path to metric_label_values variable type6321 does not modify other variable types6322 when variable does not have the required series_selector6323 adds prometheus_endpoint_path without match parameter6324 when no variables are present6325 does not fail6326 with no environment6327 raises error6328Users::MigrateRecordsToGhostUserInBatchesWorker6329 # order random6330 is labeled as idempotent6331 performs multiple times sequentially without raising an exception6332 migrates issue to ghost user6333 #perform6334 executes service with lease6335Resolvers::Ci::GroupRunnersResolver6336 #resolve6337 when user cannot see runners6338 returns no runners6339 with user as group owner6340 returns all the runners6341 with membership direct6342 returns only direct runners6343 with obj set to nil6344 raises an error6345 with obj not set to group6346 raises an error6347 Allowed query arguments6348 calls RunnersFinder with expected arguments6349Ci::CompareAccessibilityReportsService6350 #execute6351 when head pipeline has accessibility reports6352 returns status and data6353 when base and head pipelines have accessibility reports6354 returns status and data6355AuditEventSaveType6356 #should_save_database? and #should_save_stream?6357 query_method: :should_save_stream?, query_param: :stream, result: true6358 returns corresponding results according to the query_method and query_param6359 query_method: :should_save_stream?, query_param: :database_and_stream, result: true6360 returns corresponding results according to the query_method and query_param6361 query_method: :should_save_database?, query_param: :database, result: true6362 returns corresponding results according to the query_method and query_param6363 query_method: :should_save_database?, query_param: :database_and_stream, result: true6364 returns corresponding results according to the query_method and query_param6365 query_method: :should_save_stream?, query_param: :database, result: false6366 returns corresponding results according to the query_method and query_param6367 query_method: :should_save_stream?, query_param: nil, result: false6368 returns corresponding results according to the query_method and query_param6369 query_method: :should_save_database?, query_param: :stream, result: false6370 returns corresponding results according to the query_method and query_param6371 query_method: :should_save_database?, query_param: nil, result: false6372 returns corresponding results according to the query_method and query_param6373GroupImportWorker6374 sidekiq options6375 disables retry6376 disables dead6377 #perform6378 when it succeeds6379 calls the ImportService6380 updates the existing state6381 when it fails6382 raises an exception when params are invalid6383 import state6384 sets the group import status to failed6385BulkImports::FileDecompressionService6386 #execute6387 decompresses specified file6388 when validate_import_decompressed_archive_size feature flag is enabled6389 performs decompressed file size validation6390 when validate_import_decompressed_archive_size feature flag is disabled6391 does not perform decompressed file size validation6392 when dir is not in tmpdir6393 raises an error6394 when path is being traversed6395 raises an error6396 when compressed file is a symlink6397 raises an error and removes the file6398 when decompressed file is a symlink6399 raises an error and removes the file6400Gitlab::SearchContext::ControllerConcern6401 exposing @project6402 behaves like has the proper context6403 aggregate_failures6404 when the project is owned by a group6405 behaves like has the proper context6406 aggregate_failures6407 exposing @group6408 behaves like has the proper context6409 aggregate_failures6410 exposing @snippet, @snippets6411 behaves like has the proper context6412 aggregate_failures6413 exposing @ref6414 behaves like has the proper context6415 aggregate_failures6416Projects::MoveUsersStarProjectsService6417 #execute6418 moves the user's stars from one project to another6419 rollbacks changes if transaction fails6420Gitlab::ImportExport::Base::ObjectBuilder6421 #build6422 when object exists6423 when where_clauses are implemented6424 finds existing object instead of creating one6425 when where_clauses are not implemented6426 raises NotImplementedError6427 when object does not exist6428 creates new object6429Resolvers::GroupMembersResolver6430 is expected to have nullable GraphQL type GroupMemberConnection6431 behaves like querying members with a group6432 #resolve6433 finds all resource members (FAILED - 7)64351st Try error in ./spec/support/shared_examples/graphql/members_shared_examples.rb:51:6436expected collection contained: [#<GroupMember id: 1451, access_level: 50, source_id: 3116, source_type: "Namespace", user_id: 1872, ...rride: false, state: 0, invite_email_success: true, member_namespace_id: 3117, member_role_id: nil>]6437actual collection contained: []6438the missing elements were: [#<GroupMember id: 1451, access_level: 50, source_id: 3116, source_type: "Namespace", user_id: 1872, ...rride: false, state: 0, invite_email_success: true, member_namespace_id: 3117, member_role_id: nil>]6440RSpec::Retry: 2nd try ./spec/support/shared_examples/graphql/members_shared_examples.rb:516441 with sort options6442 searches users by user name (FAILED - 8)64441st Try error in ./spec/support/shared_examples/graphql/members_shared_examples.rb:58:6445expected: [#<GroupMember id: 1451, access_level: 50, source_id: 3116, source_type: "Namespace", user_id: 1872, ...rride: false, state: 0, invite_email_success: true, member_namespace_id: 3117, member_role_id: nil>]6446 got: #<ActiveRecord::Relation []>6447(compared using ==)6448Diff:6449@@ -1,4 +1,2 @@6450-[#<GroupMember id: 1451, access_level: 50, source_id: 3116, source_type: "Namespace", user_id: 1872, notification_level: 3, type: "GroupMember", created_at: "2022-11-11 01:17:03.025139791 +0000", updated_at: "2022-11-11 01:17:03.025139791 +0000", created_by_id: nil, invite_email: nil, invite_token: nil, invite_accepted_at: nil, requested_at: nil, expires_at: nil, ldap: false, override: false, state: 0, invite_email_success: true, member_namespace_id: 3116, member_role_id: nil>,6451- #<GroupMember id: 1454, access_level: 50, source_id: 3117, source_type: "Namespace", user_id: 1869, notification_level: 3, type: "GroupMember", created_at: "2022-11-11 01:17:03.554311127 +0000", updated_at: "2022-11-11 01:17:03.554311127 +0000", created_by_id: nil, invite_email: nil, invite_token: nil, invite_accepted_at: nil, requested_at: nil, expires_at: nil, ldap: false, override: false, state: 0, invite_email_success: true, member_namespace_id: 3117, member_role_id: nil>,6452- #<GroupMember id: 1452, access_level: 50, source_id: 3117, source_type: "Namespace", user_id: 1870, notification_level: 3, type: "GroupMember", created_at: "2022-11-11 01:17:03.192630274 +0000", updated_at: "2022-11-11 01:17:03.192630274 +0000", created_by_id: nil, invite_email: nil, invite_token: nil, invite_accepted_at: nil, requested_at: nil, expires_at: nil, ldap: false, override: false, state: 0, invite_email_success: true, member_namespace_id: 3117, member_role_id: nil>]6453+[]6455RSpec::Retry: 2nd try ./spec/support/shared_examples/graphql/members_shared_examples.rb:586456 with search6457 when the search term matches a user6458 searches users by user name (FAILED - 9)64601st Try error in ./spec/support/shared_examples/graphql/members_shared_examples.rb:68:6461expected collection contained: [#<GroupMember id: 1452, access_level: 50, source_id: 3117, source_type: "Namespace", user_id: 1870, ...rride: false, state: 0, invite_email_success: true, member_namespace_id: 3117, member_role_id: nil>]6462actual collection contained: []6463the missing elements were: [#<GroupMember id: 1452, access_level: 50, source_id: 3117, source_type: "Namespace", user_id: 1870, ...rride: false, state: 0, invite_email_success: true, member_namespace_id: 3117, member_role_id: nil>]6465RSpec::Retry: 2nd try ./spec/support/shared_examples/graphql/members_shared_examples.rb:686466 when the search term does not match any user6467 is empty6468 when user can not see resource members6469 generates an error6470WorkItems::Widgets::Labels6471 .type6472 is expected to eq :labels6473 #type6474 is expected to eq :labels6475 #labels6476 is expected to eq #<ActiveRecord::Associations::CollectionProxy [#<ProjectLabel id:342 namespace944/project1025~342>]>6477 #allowScopedLabels6478 is expected to eq false6479Groups::UserGroupsFinder6480 #execute6481 returns all groups where the user is a direct member6482 when target_user is nil6483 is expected to be empty6484 when current_user is nil6485 is expected to be empty6486 when permission is :create_projects6487 is expected to contain exactly #<Group id:3137 @root-group/a-public-maintainer>, #<Group id:3138 @a-public-owner>, #<Group id:3135 @root-group/b-private-maintainer>, and #<Group id:3136 @root-group/c-public-developer>6488 behaves like user group finder searching by name or path6489 is expected to contain exactly #<Group id:3137 @root-group/a-public-maintainer> and #<Group id:3135 @root-group/b-private-maintainer>6490 when searching for a full path (including parent)6491 is expected to contain exactly #<Group id:3135 @root-group/b-private-maintainer>6492 when search keywords include the parent route6493 is expected to match [#<Group id:3137 @root-group/a-public-maintainer>, #<Group id:3136 @root-group/c-public-developer>]6494 when permission is :transfer_projects6495 is expected to contain exactly #<Group id:3137 @root-group/a-public-maintainer>, #<Group id:3138 @a-public-owner>, and #<Group id:3135 @root-group/b-private-maintainer>6496 behaves like user group finder searching by name or path6497 is expected to contain exactly #<Group id:3137 @root-group/a-public-maintainer> and #<Group id:3135 @root-group/b-private-maintainer>6498 when searching for a full path (including parent)6499 is expected to contain exactly #<Group id:3135 @root-group/b-private-maintainer>6500 when search keywords include the parent route6501 is expected to match [#<Group id:3137 @root-group/a-public-maintainer>]6502Gitlab::ImportExport::Json::LegacyReader::Hash6503 behaves like import/export json legacy reader6504 #consume_attributes6505 when valid path is passed6506 no excluded attributes6507 returns the whole tree from parsed JSON6508 some attributes are excluded6509 returns hash without excluded attributes and relations6510 when invalid path is passed6511 raises an exception6512 #consume_relation6513 when valid path is passed6514 key has not been consumed6515 returns an Enumerator6516 value is nil6517 yields nothing to the Enumerator6518 value is an array6519 yields every relation value to the Enumerator6520 value is not array6521 yields the value with index 0 to the Enumerator6522 key has been consumed6523 yields nothing to the Enumerator6524 when invalid path is passed6525 raises an exception6526 #exist?6527 tree_hash is nil6528 is expected to be falsey6529 tree_hash presents6530 is expected to be truthy6531API::Entities::DeployKeysProject6532 #as_json6533 includes basic fields6534ResourceEvents::SyntheticStateNotesBuilderService6535 #execute6536 behaves like filters by paginated notes6537 only returns given notes6538 when paginated notes is empty6539 does not return any notes6540Diffs::StatsComponent6541 rendered component6542 is expected to have visible css ".js-diff-stats-dropdown"6543 renders the data attributes6544 #diff_file_path_text6545 returns full path by default6546 returns truncated path6547 returns the path if max is oddly small6548 returns the path if max is oddly large6549Types::WorkItems::WidgetInterface6550 exposes the expected fields6551 .resolve_type6552 raises an error for an unknown type6553 widget_class: WorkItems::Widgets::Description, widget_type_name: Types::WorkItems::Widgets::DescriptionType6554 knows the correct type for objects6555 widget_class: WorkItems::Widgets::Hierarchy, widget_type_name: Types::WorkItems::Widgets::HierarchyType6556 knows the correct type for objects6557 widget_class: WorkItems::Widgets::Assignees, widget_type_name: Types::WorkItems::Widgets::AssigneesType6558 knows the correct type for objects6559 widget_class: WorkItems::Widgets::Labels, widget_type_name: Types::WorkItems::Widgets::LabelsType6560 knows the correct type for objects6561Gitlab::Ci::Reports::Security::Locations::SecretDetection6562 behaves like vulnerability location6563 #initialize6564 when all params are given6565 initializes an instance6566 param: :file_path6567 when param file_path is missing6568 raises an error6569 param: :start_line6570 when param start_line is missing6571 raises an error6572 #fingerprint6573 generates expected fingerprint6574 #fingerprint_path6575 generates expected fingerprint6576 #==6577 returns true when fingerprints are equal6578 returns false when fingerprints are different6579DeleteWithLimit6580 .delete_with_limit6581 deletes a limited amount of rows6582PagesWorker6583 calls UpdatePagesService6584BulkImports::UsersMapper6585 #map6586 when value for specified key exists6587 returns a map of source & destination user ids from redis6588 when value for specified key does not exist6589 returns default value6590 #default_user_id6591 returns current user id6592 #include?6593 when source user id is present in the map6594 returns true6595 when source user id is missing in the map6596 returns false6597 #cache_source_user_id6598 caches provided source & destination user ids in redis6599PrometheusMetricsFinder6600 #execute6601 with params6602 with appropriate indexes6603 with project6604 is expected to eq [#<PrometheusMetric id: 1, project_id: 1017, title: [FILTERED], query: "avg(metric)", y_label: "y_lab...28 +0000", common: false, identifier: nil, dashboard_path: ".gitlab/dashboards/dashboard_path.yml">]6605 with group6606 is expected to contain exactly #<PrometheusMetric id: 2, project_id: nil, title: [FILTERED], query: "avg(metric)", y_label: "y_label...7126 +0000", common: true, identifier: nil, dashboard_path: ".gitlab/dashboards/dashboard_path.yml"> and #<PrometheusMetric id: 1, project_id: 1017, title: [FILTERED], query: "avg(metric)", y_label: "y_labe...028 +0000", common: false, identifier: nil, dashboard_path: ".gitlab/dashboards/dashboard_path.yml">6607 with title6608 is expected to contain exactly #<PrometheusMetric id: 1, project_id: 1017, title: [FILTERED], query: "avg(metric)", y_label: "y_labe...028 +0000", common: false, identifier: nil, dashboard_path: ".gitlab/dashboards/dashboard_path.yml"> and #<PrometheusMetric id: 2, project_id: nil, title: [FILTERED], query: "avg(metric)", y_label: "y_label...7126 +0000", common: true, identifier: nil, dashboard_path: ".gitlab/dashboards/dashboard_path.yml">6609 with y_label6610 is expected to contain exactly #<PrometheusMetric id: 1, project_id: 1017, title: [FILTERED], query: "avg(metric)", y_label: "y_labe...028 +0000", common: false, identifier: nil, dashboard_path: ".gitlab/dashboards/dashboard_path.yml"> and #<PrometheusMetric id: 2, project_id: nil, title: [FILTERED], query: "avg(metric)", y_label: "y_label...7126 +0000", common: true, identifier: nil, dashboard_path: ".gitlab/dashboards/dashboard_path.yml">6611 with common6612 is expected to contain exactly #<PrometheusMetric id: 2, project_id: nil, title: [FILTERED], query: "avg(metric)", y_label: "y_label...7126 +0000", common: true, identifier: nil, dashboard_path: ".gitlab/dashboards/dashboard_path.yml"> and #<PrometheusMetric id: 3, project_id: nil, title: [FILTERED], query: "avg(metric)", y_label: "Unique ...0", common: true, identifier: "identifier", dashboard_path: ".gitlab/dashboards/dashboard_path.yml">6613 with ordered6614 is expected to eq [#<PrometheusMetric id: 3, project_id: nil, title: [FILTERED], query: "avg(metric)", y_label: "Unique...126 +0000", common: true, identifier: nil, dashboard_path: ".gitlab/dashboards/dashboard_path.yml">]6615 with indentifier6616 raises an error6617 with common6618 is expected to contain exactly #<PrometheusMetric id: 3, project_id: nil, title: [FILTERED], query: "avg(metric)", y_label: "Unique ...0", common: true, identifier: "identifier", dashboard_path: ".gitlab/dashboards/dashboard_path.yml">6619 with id6620 raises an error6621 with id6622 is expected to contain exactly #<PrometheusMetric id: 2, project_id: nil, title: [FILTERED], query: "avg(metric)", y_label: "y_label...7126 +0000", common: true, identifier: nil, dashboard_path: ".gitlab/dashboards/dashboard_path.yml">6623 with multiple params6624 is expected to contain exactly #<PrometheusMetric id: 2, project_id: nil, title: [FILTERED], query: "avg(metric)", y_label: "y_label...7126 +0000", common: true, identifier: nil, dashboard_path: ".gitlab/dashboards/dashboard_path.yml">6625 without an appropriate index6626 raises an error6627 without params6628 raises an error6629Gitlab::Graphql::Representation::TreeEntry6630 .decorate6631 returns NilClass when given nil6632 returns array of TreeEntry6633Ci::ArchiveTraceWorker6634 #perform6635 when job is found6636 executes service6637 has preloaded the arguments for archiving6638 when job is not found6639 does not execute service6640Gitlab::Database::PartitioningMigrationHelpers::BackfillPartitionedTable#perform6641 when the destination table exists6642WARNING: Active Record does not support composite primary key.6643_test_partitioning_backfills_part has composite primary key. Composite primary key is ignored.6644 copies data into the destination table idempotently6645 breaks the assigned batch into smaller batches6646 pauses after copying each sub-batch6647 marks each job record as succeeded after processing6648 returns the number of job records marked as succeeded6649 when the job is run within an explicit transaction block6650 raises an error before copying data6651 when the destination table does not exist6652 exits without attempting to copy data6653 logs a warning message that the job was skipped6654Gitlab::Emoji6655 .emoji_image_tag6656 returns emoji image tag6657 escapes emoji image attrs to prevent XSS6658 .gl_emoji_tag6659 returns gl emoji tag if emoji is found6660 returns nil if emoji is not found6661Gitlab::Ci::Status::Build::Skipped6662 #illustration6663 is expected to include :image, :size, and :title6664 .matches?6665 when build is skipped6666 is a correct match6667 when build is not skipped6668 does not match6669Resolvers::EchoResolver6670 is expected to have non-null GraphQL type String6671 #resolve6672 echoes text and username6673 echoes text and nil as username6674Gitlab::GithubImport::Importer::LabelLinksImporter6675 #execute6676 creates the label links6677 #create_labels6678 inserts the label links in bulk6679 does not insert label links for non-existing labels6680 #find_target_id6681 returns the ID of the issuable to create the label link for6682Types::DiffRefsType6683 is expected to eq "DiffRefs"6684 is expected to have graphql fields :head_sha, :base_sha, and :start_sha6685 is expected to be non null6686 is expected not to be non null6687 is expected to be non null6688BranchesHelper6689 #access_levels_data6690 when access_levels is nil6691 is expected to be empty6692 when access levels are provided6693 returns the correct array6694 when an access level tied to a deploy key is provided6695 returns the correct array6696Banzai::Filter::AsciiDocPostProcessingFilter6697 adds class for elements with data-math-style6698 adds class for elements with data-mermaid-style6699 keeps content when no data-math-style found6700ProtectedBranches::CacheService6701 #fetch6702 caches the value6703 sets expiry on the key6704 does not set an expiry on the key after the hash is already created6705 when CACHE_LIMIT is exceeded6706 recreates cache6707 when dry_run is on6708 does not use cached value6709 when cache mismatch6710 logs an error6711 when cache matches6712 does not log an error6713 #refresh6714 clears cached values6715 metrics6716 records hit ratio metrics6717Clusters::Aws::VerifyProvisionStatusService6718 #execute6719 stack creation is still in progress6720 schedules a worker to check again later6721 stack creation is taking too long6722 sets the status to :errored with an appropriate error message6723 stack creation is complete6724 finalizes creation6725 stack creation failed6726 sets the status to :errored with an appropriate error message6727 error communicating with CloudFormation API6728 sets the status to :errored with an appropriate error message6729Packages::Rubygems::ExtractionWorker6730 #perform6731 processes the gem6732 handles a processing failure6733 handles processing an unaccounted for error6734 returns when there is no package file6735 returns without action6736Gitlab::Utils::MimeType6737 # order random6738 .from_io6739 input isn't an IO6740 returns nil6741 input is a file6742 fixture: "banana_sample.gif", mime_type: "image/gif"6743 is expected to eq "image/gif"6744 fixture: "rails_sample.jpg", mime_type: "image/jpeg"6745 is expected to eq "image/jpeg"6746 fixture: "rails_sample.png", mime_type: "image/png"6747 is expected to eq "image/png"6748 fixture: "rails_sample.bmp", mime_type: "image/bmp"6749 is expected to eq "image/bmp"6750 fixture: "rails_sample.tif", mime_type: "image/tiff"6751 is expected to eq "image/tiff"6752 fixture: "sample.ico", mime_type: "image/vnd.microsoft.icon"6753 is expected to eq "image/vnd.microsoft.icon"6754 fixture: "blockquote_fence_before.md", mime_type: "text/plain"6755 is expected to eq "text/plain"6756 fixture: "csv_empty.csv", mime_type: "application/x-empty"6757 is expected to eq "application/x-empty"6758 .from_string6759 input isn't a string6760 returns nil6761 input is a string6762 is expected to eq "text/plain"6763GitlabShellWorker6764 #perform6765 #add_key6766 delegates to Gitlab::AuthorizedKeys6767 #remove_key6768 delegates to Gitlab::AuthorizedKeys6769 all other commands6770 delegates them to Gitlab::Shell6771WikiPageVersionHelper6772 #wiki_page_version_author_url6773 when user exists6774 returns the link to the user profile6775 when user does not exist6776 returns the mailto link6777 #wiki_page_version_author_avatar6778 returns the user avatar6779 #wiki_page_version_author_header6780 when user exists6781 renders commit header with user info6782 when user does not exist6783 renders commit header with info from commit6784 when user info has XSS6785 sets the right href and escapes HTML chars6786Mutations::AlertManagement::HttpIntegration::ResetToken6787 is expected to require graphql authorizations :admin_operations6788 #resolve6789 user has sufficient access to project6790 when HttpIntegrations::UpdateService responds with success6791 returns the integration with no errors6792 when HttpIntegrations::UpdateService responds with an error6793 returns errors6794 when resource is not accessible to the user6795 raises an error if the resource is not accessible to the user6796Gitlab::CodeNavigationPath6797 when there is an artifact with code navigation data6798 when a pipeline exist for a sha6799 returns path to a file in the artifact6800 when passed commit sha is nil6801 returns path to a file in the artifact6802 when a pipeline exist for the latest commits6803 returns path to a file in the artifact6804Issuables::ClearGroupsIssueCounterWorker6805 #perform6806 does not call count service or rise error when group_ids is empty6807 behaves like an idempotent worker6808 is labeled as idempotent6809 performs multiple times sequentially without raising an exception6810 clears the cached issue count in given groups and ancestors6811Types::Notes::DiffPositionType6812 exposes the expected fields6813Integrations::BaseThirdPartyWiki6814 Validations6815 only one third party wiki per project6816 when integration is changed manually by user6817 executes the validation6818 when integration is changed internally6819 does not execute the validation6820 when integration is not on the project level6821 executes the validation6822AnalyticsIssueSerializer6823 when there is a single object provided6824 contains important elements of the issue6825RuboCop::Cop::Performance::ActiveRecordSubtransactionMethods6826 # order random6827 when the method uses a subtransaction6828 method: :safe_ensure_unique6829 registers an offense6830 method: :safe_find_or_create_by6831 registers an offense6832 method: :safe_find_or_create_by!6833 registers an offense6834 method: :with_fast_read_statement_timeout6835 registers an offense6836 method: :create_or_find_by6837 registers an offense6838 method: :create_or_find_by!6839 registers an offense6840Gitlab::Checks::TimedLogger6841 #log_timed6842 logs message6843 when time limit was reached6844 cancels action6845 cancels action with time elapsed if work was performed6846Gitlab::Prometheus::Queries::MatchedMetricQuery6847 with one group where two metrics is found6848 both metrics in the group pass requirements6849 responds with both metrics as actve6850 none of the metrics pass requirements6851 responds with both metrics missing requirements6852 no series information found about the metrics6853 responds with both metrics missing requirements6854 one of the series info was not found6855 responds with one active and one missing metric6856 with one group where only one metric is found6857 both metrics in the group pass requirements6858 responds with one metrics as active and no missing requiremens6859 no metrics in group pass requirements6860 responds with one metrics as active and no missing requiremens6861 with two groups where metrics are found in each group6862 all metrics in both groups pass requirements6863 responds with one metrics as active and no missing requiremens6864 no metrics in groups pass requirements6865 responds with one metrics as active and no missing requiremens6866MailScheduler::IssueDueWorker6867 #perform6868 sends emails for open issues due tomorrow in the project specified6869SourcegraphHelper6870 #sourcegraph_url_message6871 with .com sourcegraph url6872 is expected to have text "Uses %{linkStart}Sourcegraph.com%{linkEnd}. This feature is experimental."6873 with custom sourcegraph url6874 is expected to have text "Uses a custom %{linkStart}Sourcegraph instance%{linkEnd}. This feature is experimental."6875 when not limited by feature or public only6876 is expected to eq "Uses %{linkStart}Sourcegraph.com%{linkEnd}. This feature is experimental."6877 when limited by feature6878 is expected to eq "Uses %{linkStart}Sourcegraph.com%{linkEnd}. This feature is experimental and currently limited to certain projects."6879 when limited by public only6880 is expected to eq "Uses %{linkStart}Sourcegraph.com%{linkEnd}. This feature is experimental and limited to public projects."6881Gitlab::Experimentation::GroupTypes6882 defines a GROUP_CONTROL constant6883 defines a GROUP_EXPERIMENTAL constant6884EmojiHelper6885 #emoji_icon6886 has no options6887 with aria-hidden option6888 applies aria-hidden6889RuboCop::Cop::UsageData::DistinctCountByLargeForeignKey6890 # order random6891 when calling by allowed key6892 does not register an offense with symbol6893 does not register an offense with string6894 when counting by disallowed key6895 registers an offense6896 does not register an offense when batch is false6897 registers an offense when batch is true6898ResolvesGroups6899 avoids N+1 queries on the fields marked with lookahead6900admin/sessions/two_factor.html.haml6901 user has no two factor auth6902 shows tab6903 user has otp active6904 shows enter otp form6905 user has u2f active6906 shows enter u2f form6907Gitlab::Analytics::CycleAnalytics::Average6908 #seconds6909 when no results6910 is expected to eq nil6911 returns the average duration in seconds6912 is expected to be within 0.5 of 648000.06913 #days6914 when no results6915 is expected to eq nil6916 returns the average duration in days6917 is expected to be within 0.01 of 7.56918Packages::Rubygems::MetadataExtractionService6919 #execute6920 creates the metadata6921 stores the metadata6922 with an existing metadatum6923 updates it6924Ci::JobArtifacts::ExpireProjectBuildArtifactsWorker6925 #perform6926 executes ExpireProjectArtifactsService service with the project6927 when project does not exist6928 does nothing6929AdminEmailWorker6930 .perform6931 does not attempt to send repository check mail when they are disabled6932 repository_checks enabled6933 checks if repository check mail should be sent6934 does not send mail when there are no failed repos6935 send mail when there is a failed repo6936Gitlab::Database::PartitioningMigrationHelpers::ForeignKeyHelpers6937 #add_concurrent_partitioned_foreign_key6938 when the foreign key does not exist on the parent table6939 creates the foreign key on each partition, and the parent table6940 when the foreign key exists on the parent table6941 does not attempt to create any foreign keys6942 when additional foreign key options are given6943 forwards them to the foreign key helper methods6944 when run inside a transaction block6945 raises an error6946RuboCop::Cop::Gitlab::ServiceResponse6947 # order random6948 does not flag the offense when `http_status` is not used6949 flags the use of `http_status:` parameter in ServiceResponse in error6950 does not flag calls without params6951 does not flag the `http_status:` param on a homonym method6952 flags the use of `http_status:` parameter in ServiceResponse in success6953 flags the use of `http_status:` parameter in ServiceResponse in initializer6954Import::BitbucketProviderRepoEntity6955 behaves like exposes required fields for import entity6956 exposes required fields6957 correctly exposes id6958 correctly exposes full name6959 correctly exposes sanitized name6960 correctly exposes provider link6961Types::ContainerRepositoryDetailsType6962 is expected to eq "ContainerRepositoryDetails"6963 is expected to eq "Details of a container repository"6964 is expected to require graphql authorizations :read_container_image6965 is expected to have graphql fields :id, :name, :path, :location, :created_at, :updated_at, :expiration_policy_started_at, :status, :tags_count, :can_delete, :expiration_policy_cleanup_status, :tags, :size, :project, :migration_state, and :last_cleanup_deleted_tags_count6966 tags field6967 returns tags connection type6968Integrations::HarborSerializers::RepositoryEntity6969 with normal repository data6970 returns the Harbor repository6971 with data that may contain path traversal attacks6972 returns empty location6973Banzai::Pipeline::EmailPipeline6974 .filters6975 returns the expected type6976 excludes ImageLazyLoadFilter6977 shows punycode for autolinks6978Types::CommitSignatures::GpgSignatureType6979 # order random6980 is expected to include Types::CommitSignatureInterface6981 contains attributes related to GPG signatures6982 is expected to eq "GpgSignature"6983 is expected to require graphql authorizations :download_code6984Analytics::UsageTrends::CountJobTriggerWorker6985 behaves like an idempotent worker6986 is labeled as idempotent6987 performs multiple times sequentially without raising an exception6988 triggers a job for each measurement identifiers6989 triggers CounterJobWorker jobs6990Types::Ci::PipelineStatusEnum6991 exposes all pipeline states6992Gitlab::Kubernetes::ServiceAccountToken6993 is expected to eq "token-name"6994 is expected to eq "a_service_account"6995 is expected to eq "a_namespace"6996 #generate6997 builds a Kubeclient Resource6998Gitlab::Ci::Config::Entry::Paths6999 validations7000 when entry config value is valid7001 #value7002 returns key value7003 #valid?7004 is valid7005 when entry value is not valid7006 #errors7007 saves errors7008shared/milestones/_top.html.haml7009 does not render a deprecation message for a non-legacy and non-dashboard milestone7010WebpackHelper7011 #prefetch_link_tag7012DEPRECATION WARNING: The asset "foo.js" is not present in the asset pipeline.7013Falling back to an asset that may be in the public folder.7014This behavior is deprecated and will be removed.7015To bypass the asset pipeline and preserve this behavior,7016use the `skip_pipeline: true` option.7017 (called from prefetch_link_tag at /builds/gitlab-org/gitlab/app/helpers/webpack_helper.rb:5)7018 returns prefetch link tag7019 #webpack_preload_asset_tag7020 preloads the resource by default7021 prefetches the resource if explicitly asked7022Gitlab::Search::SortOptions7023 .sort_and_direction7024 using order_by and sort7025 returns matched options7026 using just sort7027 returns matched options7028 when unknown option7029 returns unknown7030Admin::PlansFinder7031 #execute7032 with no params7033 returns all plans7034 with missing name in params7035 returns all plans7036 with existing name in params7037 returns the plan7038 with non-existing name in params7039 returns nil7040GroupDeployKeyEntity7041 returns group deploy keys with a group a user can read7042 is expected to eq {:can_edit=>false, :created_at=>2022-11-11 01:17:56.993864990 +0000, :fingerprint=>"83:99:a7:98:ae:62...], :id=>1, :title=>"My title 470", :updated_at=>2022-11-11 01:17:56.993864990 +0000, :user_id=>1937}7043Gitlab::Webpack::GraphqlKnownOperations7044 .load7045 when file loader returns7046 returns memoized value7047 when file loader errors7048 returns empty array7049Analytics::CycleAnalytics::StageEntity7050 exposes start and end event descriptions7051 exposes start_event and end_event objects7052Gitlab::BatchWorkerContext7053 #arguments7054 returns all the expected arguments in arrays7055 #context_for7056 returns the correct application context for the arguments7057Sidebars::Projects::Menus::ExternalWikiMenu7058 does not contain any sub menu7059 #render?7060 when active external issue tracker7061 is present7062 returns true7063 is not present7064 returns false7065Database::PartitionManagementWorker7066 #perform7067 syncs partitions7068 reports partition metrics7069Gitlab::Kubernetes::ServiceAccount7070 is expected to eq "a_service_account"7071 is expected to eq "a_namespace"7072 #generate7073 builds a Kubeclient Resource7074Types::Packages::PackageBaseType7075 is expected to eq "Represents a package in the Package Registry"7076 is expected to require graphql authorizations :read_package7077 includes all expected fields7078Gitlab::Pagination::Keyset::InOperatorOptimization::ColumnData7079 accepts symbols for original_column_name and as7080 #array_aggregated_column_name7081 is expected to eq "issues_id_array"7082 #projection7083 returns the Arel projection for the column with a new alias7084Gitlab::Usage::Metrics::Instrumentations::SnowplowEnabledMetric7085 for snowplow enabled option7086 snowplow_enabled: true, expected_value: true7087 behaves like a correct instrumented metric value7088 has correct value7089 snowplow_enabled: false, expected_value: false7090 behaves like a correct instrumented metric value7091 has correct value7092Gitlab::Ci::Status::Build::WaitingForResource7093 is expected to be < Gitlab::Ci::Status::Processable::WaitingForResource7094Types::Packages::PackageFileType7095 includes package file fields7096AwardEmojis::BaseService7097 .initialize7098 uses same emoji name if not an alias7099 uses emoji original name if its an alias7100Gitlab::Utils::DelegatorOverride::Error7101 # order random7102 #to_s7103 is expected to eq "Delegator#foo is overriding Target#foo. delegator_location: /path/to/delegator target_location: /path/to/target"7104Import metrics on development seed7105 imports all prometheus metrics7106Types::ErrorTracking::SentryErrorType7107 is expected to eq "SentryError"7108 exposes the expected fields7109Types::BlobViewerType7110 has the correct fields7111Types::AvailabilityEnum7112 is expected to eq "AvailabilityEnum"7113 exposes all the existing access levels7114Types::CommitSignatures::VerificationStatusEnum7115 # order random7116 is expected to eq "VerificationStatus"7117 exposes all signature verification states7118Types::CiConfiguration::Sast::OptionsEntityType7119 is expected to eq "SastCiConfigurationOptionsEntity"7120 is expected to have graphql fields :label and :value7121Gitlab::Nav::TopNavMenuHeader7122 # order random7123 .build7124 builds a hash from with the given header7125Types::MergeRequestStateEventEnum7126 has the appropriate values7127Gitlab::WithRequestStore7128 #with_request_store7129 starts a request store and yields control7130 only starts a request store once when nested7131Gitlab::Database::ObsoleteIgnoredColumns7132 #execute7133 returns a list of class names and columns pairs7134Gitlab::Ci::Status::Bridge::WaitingForResource7135 is expected to be < Gitlab::Ci::Status::Processable::WaitingForResource7136Knapsack report was generated. Preview:7137{7138 "spec/models/concerns/ci/has_status_spec.rb": 128.87473094899997,7139 "spec/services/groups/destroy_service_spec.rb": 106.81167516100004,7140 "spec/lib/gitlab/import_export/group/tree_restorer_spec.rb": 68.16846300700001,7141 "spec/finders/work_items/work_items_finder_spec.rb": 46.88028453599998,7142 "spec/policies/environment_policy_spec.rb": 63.434643654999945,7143 "spec/services/users/migrate_to_ghost_user_service_spec.rb": 77.30998315800002,7144 "spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb": 63.20093455899996,7145 "spec/services/issues/clone_service_spec.rb": 45.03501318200006,7146 "spec/tasks/gitlab/seed/group_seed_rake_spec.rb": 62.947605734000035,7147 "spec/lib/gitlab/import_export/project/relation_tree_restorer_spec.rb": 47.05022979,7148 "spec/models/clusters/applications/cilium_spec.rb": 31.89384053899994,7149 "spec/services/deployments/update_environment_service_spec.rb": 33.746974031000036,7150 "spec/models/integrations/bamboo_spec.rb": 14.627179527999942,7151 "spec/services/files/multi_service_spec.rb": 22.773087182999916,7152 "spec/finders/template_finder_spec.rb": 11.983626822000133,7153 "spec/lib/gitlab/url_blocker_spec.rb": 13.087277395000001,7154 "spec/lib/gitlab/database/reflection_spec.rb": 18.33471123900017,7155 "spec/finders/autocomplete/users_finder_spec.rb": 16.583474912000156,7156 "spec/models/commit_range_spec.rb": 17.98127060899992,7157 "spec/lib/gitlab/gitaly_client/repository_service_spec.rb": 14.27898334800011,7158 "spec/graphql/mutations/releases/update_spec.rb": 12.849684430000025,7159 "spec/finders/releases_finder_spec.rb": 14.326061099000071,7160 "spec/lib/banzai/filter/external_link_filter_spec.rb": 3.4604414670000097,7161 "spec/finders/events_finder_spec.rb": 14.161585441999932,7162 "spec/services/issues/set_crm_contacts_service_spec.rb": 10.053475597999977,7163 "spec/services/suggestions/create_service_spec.rb": 13.61294933299996,7164 "spec/finders/ci/pipelines_for_merge_request_finder_spec.rb": 14.265509978999944,7165 "spec/graphql/mutations/discussions/toggle_resolve_spec.rb": 7.8627079219997995,7166 "spec/models/clusters/providers/aws_spec.rb": 4.184998722000046,7167 "spec/helpers/auth_helper_spec.rb": 10.032909778999965,7168 "spec/serializers/pipeline_details_entity_spec.rb": 12.173608031000185,7169 "spec/support_specs/helpers/graphql_helpers_spec.rb": 3.6087353079999502,7170 "spec/models/protectable_dropdown_spec.rb": 8.559512936000147,7171 "spec/lib/gitlab/redis/duplicate_jobs_spec.rb": 4.303480040000068,7172 "spec/services/ci/list_config_variables_service_spec.rb": 9.997072323999873,7173 "spec/models/ci/group_spec.rb": 8.753191431999994,7174 "spec/workers/incident_management/process_alert_worker_v2_spec.rb": 8.248760215999937,7175 "spec/lib/gitlab/database/load_balancing/transaction_leaking_spec.rb": 9.034625789999836,7176 "spec/finders/fork_projects_finder_spec.rb": 9.765609663000077,7177 "spec/models/audit_event_spec.rb": 3.0071973980000166,7178 "spec/helpers/dropdowns_helper_spec.rb": 1.813608054000042,7179 "spec/models/clusters/providers/gcp_spec.rb": 3.3155590169999414,7180 "spec/lib/gitlab/redis/rate_limiting_spec.rb": 1.6178905349997876,7181 "spec/services/work_items/create_service_spec.rb": 5.3165997940000125,7182 "spec/lib/gitlab/metrics/methods_spec.rb": 1.2099643320000268,7183 "spec/lib/gitlab/query_limiting/transaction_spec.rb": 0.6416030679999949,7184 "spec/helpers/button_helper_spec.rb": 3.1517712830000164,7185 "spec/lib/gitlab/verify/job_artifacts_spec.rb": 7.551126016000126,7186 "spec/workers/stuck_merge_jobs_worker_spec.rb": 8.208718210999905,7187 "spec/services/repositories/housekeeping_service_spec.rb": 2.7920828520000214,7188 "spec/services/merge_requests/add_context_service_spec.rb": 6.0118634549999115,7189 "spec/services/users/authorized_build_service_spec.rb": 2.3522375239999747,7190 "spec/workers/packages/cleanup/execute_policy_worker_spec.rb": 3.721100548000095,7191 "spec/serializers/analytics_issue_entity_spec.rb": 2.971967199999881,7192 "spec/graphql/resolvers/blobs_resolver_spec.rb": 2.0583651930000997,7193 "spec/lib/sidebars/projects/menus/settings_menu_spec.rb": 2.4199926329999926,7194 "spec/models/ci/pipeline_variable_spec.rb": 3.153302280999924,7195 "spec/initializers/lograge_spec.rb": 2.1976311119999536,7196 "spec/models/concerns/require_email_verification_spec.rb": 1.1825151590001042,7197 "spec/lib/gitlab/ci/status/external/common_spec.rb": 5.228354742999954,7198 "spec/workers/ci/delete_unit_tests_worker_spec.rb": 5.860350687999926,7199 "spec/helpers/version_check_helper_spec.rb": 0.6616942330001621,7200 "spec/lib/gitlab/repository_cache_spec.rb": 1.4151775789998737,7201 "spec/models/integrations/chat_message/alert_message_spec.rb": 3.333320785000069,7202 "spec/policies/protected_branch_policy_spec.rb": 5.825358151000046,7203 "spec/workers/issues/rebalancing_worker_spec.rb": 1.6018822129999535,7204 "spec/services/jira_import/users_importer_spec.rb": 3.5670003550001184,7205 "spec/services/ci/create_pipeline_service/include_spec.rb": 3.3911456389998875,7206 "spec/services/ci/generate_codequality_mr_diff_report_service_spec.rb": 3.4043864479999684,7207 "spec/graphql/types/group_type_spec.rb": 1.8548526409999795,7208 "spec/lib/gitlab/git/patches/commit_patches_spec.rb": 3.3878638799999408,7209 "spec/presenters/commit_presenter_spec.rb": 2.1531045560000166,7210 "spec/graphql/mutations/timelogs/delete_spec.rb": 2.3147808319999967,7211 "spec/graphql/resolvers/releases_resolver_spec.rb": 2.730739805999974,7212 "spec/lib/gitlab/phabricator_import/project_creator_spec.rb": 1.728445782000108,7213 "spec/tasks/gitlab/x509/update_rake_spec.rb": 3.26175833100001,7214 "spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb": 1.6173958310000671,7215 "spec/services/packages/nuget/metadata_extraction_service_spec.rb": 1.203244218000009,7216 "spec/finders/packages/pypi/packages_finder_spec.rb": 2.633630452999796,7217 "spec/lib/gitlab/access/branch_protection_spec.rb": 0.7289234800000486,7218 "spec/lib/gitlab/markup_helper_spec.rb": 0.9948845950000305,7219 "spec/lib/gitlab/pagination/keyset/simple_order_builder_spec.rb": 0.9610456880000129,7220 "spec/helpers/ci/status_helper_spec.rb": 0.9097979309999573,7221 "spec/lib/sidebars/panel_spec.rb": 0.6244002589999127,7222 "spec/lib/gitlab/phabricator_import/issues/task_importer_spec.rb": 2.050475530000085,7223 "spec/lib/gitlab/ssh/signature_spec.rb": 1.0014953600000354,7224 "spec/services/ci/create_pipeline_service/parameter_content_spec.rb": 2.4576477319999412,7225 "spec/lib/gitlab/highlight_spec.rb": 1.4144233689999055,7226 "spec/workers/ci/pending_builds/update_group_worker_spec.rb": 3.1784127980001813,7227 "spec/models/bulk_imports/export_spec.rb": 1.6705432100000053,7228 "spec/lib/gitlab/repository_size_checker_spec.rb": 0.6414373770001021,7229 "spec/lib/gitlab/database/load_balancing/configuration_spec.rb": 0.6907993849999912,7230 "spec/lib/gitlab/cleanup/orphan_job_artifact_files_batch_spec.rb": 2.988753932999998,7231 "spec/lib/api/entities/package_spec.rb": 1.5017459209998378,7232 "spec/workers/ci/pending_builds/update_project_worker_spec.rb": 2.982656967000139,7233 "spec/workers/gitlab/jira_import/stage/finish_import_worker_spec.rb": 1.2621980589999566,7234 "spec/lib/gitlab/file_detector_spec.rb": 0.7926627280000957,7235 "spec/lib/gitlab/ci/parsers/security/secret_detection_spec.rb": 2.551287301000002,7236 "spec/workers/ci/pipeline_artifacts/create_quality_report_worker_spec.rb": 1.9288742300000195,7237 "spec/workers/merge_requests/resolve_todos_worker_spec.rb": 1.5982392579999214,7238 "spec/policies/deploy_keys_project_policy_spec.rb": 4.129662292000148,7239 "spec/models/packages/go/module_spec.rb": 2.6542392629999085,7240 "spec/models/concerns/featurable_spec.rb": 1.0040382689999205,7241 "spec/services/packages/mark_package_for_destruction_service_spec.rb": 1.2901323400001274,7242 "spec/lib/safe_zip/extract_params_spec.rb": 0.5060538960001395,7243 "spec/services/work_items/widgets/description_service/update_service_spec.rb": 2.3286647770000855,7244 "spec/lib/grafana/time_window_spec.rb": 0.9931465860001936,7245 "spec/lib/gitlab/word_diff/line_processor_spec.rb": 0.4359072830000059,7246 "spec/lib/gitlab/pipeline_scope_counts_spec.rb": 1.8205282710000574,7247 "spec/models/fork_network_member_spec.rb": 1.980263577000187,7248 "spec/lib/bulk_imports/common/graphql/get_members_query_spec.rb": 1.3381527989999995,7249 "spec/lib/gitlab/usage/metrics/name_suggestion_spec.rb": 0.7356373559998701,7250 "spec/lib/gitlab/import_export/design_repo_saver_spec.rb": 2.0258101459999125,7251 "spec/lib/gitlab/metrics/dashboard/stages/variable_endpoint_inserter_spec.rb": 0.5312000700000681,7252 "spec/workers/users/migrate_records_to_ghost_user_in_batches_worker_spec.rb": 1.9971200759998737,7253 "spec/graphql/resolvers/ci/group_runners_resolver_spec.rb": 1.6019519660001151,7254 "spec/services/ci/compare_accessibility_reports_service_spec.rb": 2.372637718000078,7255 "spec/services/concerns/audit_event_save_type_spec.rb": 0.39604584900007467,7256 "spec/workers/group_import_worker_spec.rb": 1.7869943529999546,7257 "spec/services/bulk_imports/file_decompression_service_spec.rb": 0.7098695929998939,7258 "spec/lib/gitlab/search_context/controller_concern_spec.rb": 2.15515536099997,7259 "spec/services/projects/move_users_star_projects_service_spec.rb": 2.2894898809997812,7260 "spec/lib/gitlab/import_export/base/object_builder_spec.rb": 2.6951182860000245,7261 "spec/graphql/resolvers/group_members_resolver_spec.rb": 2.6692796900001667,7262 "spec/models/work_items/widgets/labels_spec.rb": 1.1007938060001834,7263 "spec/finders/groups/user_groups_finder_spec.rb": 1.9449026449999565,7264 "spec/lib/gitlab/import_export/json/legacy_reader/hash_spec.rb": 0.7033681490001982,7265 "spec/lib/api/entities/deploy_keys_project_spec.rb": 0.8251037899999574,7266 "spec/services/resource_events/synthetic_state_notes_builder_service_spec.rb": 1.267978770999889,7267 "spec/components/diffs/stats_component_spec.rb": 1.1084730549998767,7268 "spec/graphql/types/work_items/widget_interface_spec.rb": 0.4857940330000474,7269 "spec/lib/gitlab/ci/reports/security/locations/secret_detection_spec.rb": 0.635881290000043,7270 "spec/models/concerns/delete_with_limit_spec.rb": 1.9200498380000681,7271 "spec/workers/pages_worker_spec.rb": 1.3947086299999683,7272 "spec/lib/bulk_imports/users_mapper_spec.rb": 0.5100025599999753,7273 "spec/finders/prometheus_metrics_finder_spec.rb": 0.9752858970000489,7274 "spec/lib/gitlab/graphql/representation/tree_entry_spec.rb": 1.7494318039998689,7275 "spec/workers/ci/archive_trace_worker_spec.rb": 1.556348615999923,7276 "spec/lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table_spec.rb": 1.2770359389999157,7277 "spec/lib/gitlab/emoji_spec.rb": 0.6061778650000633,7278 "spec/lib/gitlab/ci/status/build/skipped_spec.rb": 1.5095011430000795,7279 "spec/graphql/resolvers/echo_resolver_spec.rb": 0.38285507000000507,7280 "spec/lib/gitlab/github_import/importer/label_links_importer_spec.rb": 2.1491121419999217,7281 "spec/graphql/types/diff_refs_type_spec.rb": 0.3724379120001231,7282 "spec/helpers/branches_helper_spec.rb": 1.5608856650001144,7283 "spec/lib/banzai/filter/ascii_doc_post_processing_filter_spec.rb": 0.30372103300010167,7284 "spec/services/protected_branches/cache_service_spec.rb": 0.8881828609999047,7285 "spec/services/clusters/aws/verify_provision_status_service_spec.rb": 1.0451714549999451,7286 "spec/workers/packages/rubygems/extraction_worker_spec.rb": 0.8480536169997777,7287 "spec/lib/gitlab/utils/mime_type_spec.rb": 0.7196298070000466,7288 "spec/workers/gitlab_shell_worker_spec.rb": 0.3261727889998838,7289 "spec/helpers/wiki_page_version_helper_spec.rb": 1.2769972789999429,7290 "spec/graphql/mutations/alert_management/http_integration/reset_token_spec.rb": 1.082106149999845,7291 "spec/lib/gitlab/code_navigation_path_spec.rb": 1.470997638999961,7292 "spec/workers/issuables/clear_groups_issue_counter_worker_spec.rb": 0.6805687730000045,7293 "spec/graphql/types/notes/diff_position_type_spec.rb": 0.3302420580000671,7294 "spec/models/integrations/base_third_party_wiki_spec.rb": 0.9333929730000818,7295 "spec/serializers/analytics_issue_serializer_spec.rb": 0.6405122400001346,7296 "spec/rubocop/cop/performance/active_record_subtransaction_methods_spec.rb": 0.6378283200001533,7297 "spec/lib/gitlab/checks/timed_logger_spec.rb": 0.3924189289998594,7298 "spec/lib/gitlab/prometheus/queries/matched_metric_query_spec.rb": 0.49079084400000283,7299 "spec/workers/mail_scheduler/issue_due_worker_spec.rb": 1.2980011560000548,7300 "spec/helpers/sourcegraph_helper_spec.rb": 0.35126232499987964,7301 "spec/lib/gitlab/experimentation/group_types_spec.rb": 0.34081884599982004,7302 "spec/helpers/emoji_helper_spec.rb": 0.21554317599998285,7303 "spec/rubocop/cop/usage_data/distinct_count_by_large_foreign_key_spec.rb": 0.41569599500007826,7304 "spec/graphql/resolvers/concerns/resolves_groups_spec.rb": 0.7557987010000033,7305 "spec/views/admin/sessions/two_factor.html.haml_spec.rb": 1.2711944400000448,7306 "spec/lib/gitlab/analytics/cycle_analytics/average_spec.rb": 0.8491839770001661,7307 "spec/services/packages/rubygems/metadata_extraction_service_spec.rb": 1.1732645750000756,7308 "spec/workers/ci/job_artifacts/expire_project_build_artifacts_worker_spec.rb": 0.760727739999993,7309 "spec/workers/admin_email_worker_spec.rb": 0.662533546000077,7310 "spec/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers_spec.rb": 0.5423570849998214,7311 "spec/rubocop/cop/gitlab/service_response_spec.rb": 0.4242676339999889,7312 "spec/serializers/import/bitbucket_provider_repo_entity_spec.rb": 0.5106326600000557,7313 "spec/graphql/types/container_repository_details_type_spec.rb": 0.491439132999858,7314 "spec/serializers/integrations/harbor_serializers/repository_entity_spec.rb": 0.8875111699999252,7315 "spec/lib/banzai/pipeline/email_pipeline_spec.rb": 0.3147105500001999,7316 "spec/graphql/types/commit_signatures/gpg_signature_type_spec.rb": 0.6084889640001165,7317 "spec/workers/analytics/usage_trends/count_job_trigger_worker_spec.rb": 0.6805145030000403,7318 "spec/graphql/types/ci/pipeline_status_enum_spec.rb": 0.2644450680002137,7319 "spec/lib/gitlab/kubernetes/service_account_token_spec.rb": 0.29217510400007995,7320 "spec/lib/gitlab/ci/config/entry/paths_spec.rb": 0.3520438049999939,7321 "spec/views/shared/milestones/_top.html.haml_spec.rb": 0.9614918790000502,7322 "spec/helpers/webpack_helper_spec.rb": 0.2523200809998798,7323 "spec/lib/gitlab/search/sort_options_spec.rb": 0.6604374969999753,7324 "spec/finders/admin/plans_finder_spec.rb": 0.35096589399995537,7325 "spec/serializers/group_deploy_key_entity_spec.rb": 0.6269773520000399,7326 "spec/lib/gitlab/webpack/graphql_known_operations_spec.rb": 0.640393000000131,7327 "spec/serializers/analytics/cycle_analytics/stage_entity_spec.rb": 0.26395731899992825,7328 "spec/lib/gitlab/batch_worker_context_spec.rb": 0.4951205919999211,7329 "spec/lib/sidebars/projects/menus/external_wiki_menu_spec.rb": 0.5237443990001793,7330 "spec/workers/database/partition_management_worker_spec.rb": 0.23102505300016674,7331 "spec/lib/gitlab/kubernetes/service_account_spec.rb": 0.29331020700010413,7332 "spec/graphql/types/packages/package_base_type_spec.rb": 0.2553247220000685,7333 "spec/lib/gitlab/pagination/keyset/in_operator_optimization/column_data_spec.rb": 0.3643174899998485,7334 "spec/lib/gitlab/usage/metrics/instrumentations/snowplow_enabled_metric_spec.rb": 0.21060980700008258,7335 "spec/lib/gitlab/ci/status/build/waiting_for_resource_spec.rb": 0.36675272000002224,7336 "spec/graphql/types/packages/package_file_type_spec.rb": 0.4007775560000937,7337 "spec/services/award_emojis/base_service_spec.rb": 0.29944618700005776,7338 "spec/lib/gitlab/utils/delegator_override/error_spec.rb": 0.3716975879999609,7339 "spec/db/development/import_common_metrics_spec.rb": 0.5305000409998684,7340 "spec/graphql/types/error_tracking/sentry_error_type_spec.rb": 0.43138379300012275,7341 "spec/graphql/types/blob_viewer_type_spec.rb": 0.6044827430000623,7342 "spec/graphql/types/availability_enum_spec.rb": 0.3921976869999071,7343 "spec/graphql/types/commit_signatures/verification_status_enum_spec.rb": 0.3217111250000926,7344 "spec/graphql/types/ci_configuration/sast/options_entity_spec.rb": 0.33096014399984597,7345 "spec/lib/gitlab/nav/top_nav_menu_header_spec.rb": 0.22503363500004525,7346 "spec/graphql/types/merge_request_state_event_enum_spec.rb": 0.38210001800007376,7347 "spec/lib/gitlab/with_request_store_spec.rb": 0.48202018699998916,7348 "spec/lib/gitlab/database/obsolete_ignored_columns_spec.rb": 0.31226493500003016,7349 "spec/lib/gitlab/ci/status/bridge/waiting_for_resource_spec.rb": 0.25748152099981787350}7351Knapsack global time execution for tests: 22m 20s7352Failures:7353 1) StuckMergeJobsWorker perform merge job identified as completed updates merge request to opened when locked but has not been merged7354 Failure/Error: merge_request.reload7355 ActiveRecord::RecordNotFound:7356 Couldn't find MergeRequest with 'id'=1097357 # ./spec/workers/stuck_merge_jobs_worker_spec.rb:32:in `block (4 levels) in <top (required)>'7358 # ./spec/spec_helper.rb:416:in `block (3 levels) in <top (required)>'7359 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'7360 # ./spec/spec_helper.rb:408:in `block (2 levels) in <top (required)>'7361 # ./spec/spec_helper.rb:404:in `block (3 levels) in <top (required)>'7362 # ./lib/gitlab/application_context.rb:59:in `with_raw_context'7363 # ./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'7364 # ./spec/spec_helper.rb:240:in `block (2 levels) in <top (required)>'7365 # ./spec/support/sidekiq.rb:17:in `block (3 levels) in <top (required)>'7366 # ./spec/support/sidekiq.rb:8:in `gitlab_sidekiq_inline'7367 # ./spec/support/sidekiq.rb:17:in `block (2 levels) in <top (required)>'7368 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'7369 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'7370 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'7371 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'7372 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'7373 2) Resolvers::ReleasesResolver#resolve when the user has full access to the project's releases returns all releases associated to the project7374 Failure/Error: expect(resolve_releases).to match_array(all_releases)7375 expected collection contained: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]7376 actual collection contained: []7377 the missing elements were: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]7378 # ./spec/graphql/resolvers/releases_resolver_spec.rb:39:in `block (4 levels) in <top (required)>'7379 # ./spec/spec_helper.rb:416:in `block (3 levels) in <top (required)>'7380 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'7381 # ./spec/spec_helper.rb:408:in `block (2 levels) in <top (required)>'7382 # ./spec/spec_helper.rb:404:in `block (3 levels) in <top (required)>'7383 # ./lib/gitlab/application_context.rb:59:in `with_raw_context'7384 # ./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'7385 # ./spec/spec_helper.rb:240:in `block (2 levels) in <top (required)>'7386 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'7387 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'7388 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'7389 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'7390 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'7391 3) Resolvers::ReleasesResolver#resolve when the user has full access to the project's releases sorting behavior with sort: :released_at_desc returns the releases ordered by released_at in descending order7392 Failure/Error:7393 expect(resolve_releases.to_a)7394 .to match_array(all_releases)7395 .and be_sorted(:released_at, :desc)7396 expected collection contained: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]7397 actual collection contained: []7398 the missing elements were: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]7399 # ./spec/graphql/resolvers/releases_resolver_spec.rb:47:in `block (6 levels) in <top (required)>'7400 # ./spec/spec_helper.rb:416:in `block (3 levels) in <top (required)>'7401 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'7402 # ./spec/spec_helper.rb:408:in `block (2 levels) in <top (required)>'7403 # ./spec/spec_helper.rb:404:in `block (3 levels) in <top (required)>'7404 # ./lib/gitlab/application_context.rb:59:in `with_raw_context'7405 # ./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'7406 # ./spec/spec_helper.rb:240:in `block (2 levels) in <top (required)>'7407 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'7408 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'7409 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'7410 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'7411 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'7412 4) Resolvers::ReleasesResolver#resolve when the user has full access to the project's releases sorting behavior with sort: :released_at_asc returns the releases ordered by released_at in ascending order7413 Failure/Error:7414 expect(resolve_releases.to_a)7415 .to match_array(all_releases)7416 .and be_sorted(:released_at, :asc)7417 expected collection contained: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]7418 actual collection contained: []7419 the missing elements were: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]7420 # ./spec/graphql/resolvers/releases_resolver_spec.rb:57:in `block (6 levels) in <top (required)>'7421 # ./spec/spec_helper.rb:416:in `block (3 levels) in <top (required)>'7422 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'7423 # ./spec/spec_helper.rb:408:in `block (2 levels) in <top (required)>'7424 # ./spec/spec_helper.rb:404:in `block (3 levels) in <top (required)>'7425 # ./lib/gitlab/application_context.rb:59:in `with_raw_context'7426 # ./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'7427 # ./spec/spec_helper.rb:240:in `block (2 levels) in <top (required)>'7428 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'7429 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'7430 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'7431 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'7432 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'7433 5) Resolvers::ReleasesResolver#resolve when the user has full access to the project's releases sorting behavior with sort: :created_desc returns the releases ordered by created_at in descending order7434 Failure/Error:7435 expect(resolve_releases.to_a)7436 .to match_array(all_releases)7437 .and be_sorted(:created_at, :desc)7438 expected collection contained: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]7439 actual collection contained: []7440 the missing elements were: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]7441 # ./spec/graphql/resolvers/releases_resolver_spec.rb:67:in `block (6 levels) in <top (required)>'7442 # ./spec/spec_helper.rb:416:in `block (3 levels) in <top (required)>'7443 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'7444 # ./spec/spec_helper.rb:408:in `block (2 levels) in <top (required)>'7445 # ./spec/spec_helper.rb:404:in `block (3 levels) in <top (required)>'7446 # ./lib/gitlab/application_context.rb:59:in `with_raw_context'7447 # ./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'7448 # ./spec/spec_helper.rb:240:in `block (2 levels) in <top (required)>'7449 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'7450 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'7451 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'7452 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'7453 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'7454 6) Resolvers::ReleasesResolver#resolve when the user has full access to the project's releases sorting behavior with sort: :created_asc returns the releases ordered by created_at in ascending order7455 Failure/Error:7456 expect(resolve_releases.to_a)7457 .to match_array(all_releases)7458 .and be_sorted(:created_at, :asc)7459 expected collection contained: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]7460 actual collection contained: []7461 the missing elements were: [#<Release id: 33, tag: "v1.0.0", description: [FILTERED], project_id: 932, created_at: "2022-11-12 0...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-11-12 01:15:38.382248601 +0000">]7462 # ./spec/graphql/resolvers/releases_resolver_spec.rb:77:in `block (6 levels) in <top (required)>'7463 # ./spec/spec_helper.rb:416:in `block (3 levels) in <top (required)>'7464 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'7465 # ./spec/spec_helper.rb:408:in `block (2 levels) in <top (required)>'7466 # ./spec/spec_helper.rb:404:in `block (3 levels) in <top (required)>'7467 # ./lib/gitlab/application_context.rb:59:in `with_raw_context'7468 # ./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'7469 # ./spec/spec_helper.rb:240:in `block (2 levels) in <top (required)>'7470 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'7471 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'7472 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'7473 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'7474 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'7475 7) Resolvers::GroupMembersResolver behaves like querying members with a group #resolve finds all resource members7476 Failure/Error: expect(subject).to contain_exactly(resource_member, group_1_member, root_group_member)7477 expected collection contained: [#<GroupMember id: 1451, access_level: 50, source_id: 3116, source_type: "Namespace", user_id: 1872, ...rride: false, state: 0, invite_email_success: true, member_namespace_id: 3117, member_role_id: nil>]7478 actual collection contained: []7479 the missing elements were: [#<GroupMember id: 1451, access_level: 50, source_id: 3116, source_type: "Namespace", user_id: 1872, ...rride: false, state: 0, invite_email_success: true, member_namespace_id: 3117, member_role_id: nil>]7480 Shared Example Group: "querying members with a group" called from ./spec/graphql/resolvers/group_members_resolver_spec.rb:147481 # ./spec/support/shared_examples/graphql/members_shared_examples.rb:52:in `block (3 levels) in <top (required)>'7482 # ./spec/spec_helper.rb:416:in `block (3 levels) in <top (required)>'7483 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'7484 # ./spec/spec_helper.rb:408:in `block (2 levels) in <top (required)>'7485 # ./spec/spec_helper.rb:404:in `block (3 levels) in <top (required)>'7486 # ./lib/gitlab/application_context.rb:59:in `with_raw_context'7487 # ./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'7488 # ./spec/spec_helper.rb:240:in `block (2 levels) in <top (required)>'7489 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'7490 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'7491 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'7492 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'7493 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'7494 8) Resolvers::GroupMembersResolver behaves like querying members with a group #resolve with sort options searches users by user name7495 Failure/Error: expect(subject.items).to eq([root_group_member, resource_member, group_1_member])7496 expected: [#<GroupMember id: 1451, access_level: 50, source_id: 3116, source_type: "Namespace", user_id: 1872, ...rride: false, state: 0, invite_email_success: true, member_namespace_id: 3117, member_role_id: nil>]7497 got: #<ActiveRecord::Relation []>7498 (compared using ==)7499 Diff:7500 @@ -1,4 +1,2 @@7501 -[#<GroupMember id: 1451, access_level: 50, source_id: 3116, source_type: "Namespace", user_id: 1872, notification_level: 3, type: "GroupMember", created_at: "2022-11-11 01:17:03.025139791 +0000", updated_at: "2022-11-11 01:17:03.025139791 +0000", created_by_id: nil, invite_email: nil, invite_token: nil, invite_accepted_at: nil, requested_at: nil, expires_at: nil, ldap: false, override: false, state: 0, invite_email_success: true, member_namespace_id: 3116, member_role_id: nil>,7502 - #<GroupMember id: 1454, access_level: 50, source_id: 3117, source_type: "Namespace", user_id: 1869, notification_level: 3, type: "GroupMember", created_at: "2022-11-11 01:17:03.554311127 +0000", updated_at: "2022-11-11 01:17:03.554311127 +0000", created_by_id: nil, invite_email: nil, invite_token: nil, invite_accepted_at: nil, requested_at: nil, expires_at: nil, ldap: false, override: false, state: 0, invite_email_success: true, member_namespace_id: 3117, member_role_id: nil>,7503 - #<GroupMember id: 1452, access_level: 50, source_id: 3117, source_type: "Namespace", user_id: 1870, notification_level: 3, type: "GroupMember", created_at: "2022-11-11 01:17:03.192630274 +0000", updated_at: "2022-11-11 01:17:03.192630274 +0000", created_by_id: nil, invite_email: nil, invite_token: nil, invite_accepted_at: nil, requested_at: nil, expires_at: nil, ldap: false, override: false, state: 0, invite_email_success: true, member_namespace_id: 3117, member_role_id: nil>]7504 +[]7505 Shared Example Group: "querying members with a group" called from ./spec/graphql/resolvers/group_members_resolver_spec.rb:147506 # ./spec/support/shared_examples/graphql/members_shared_examples.rb:60:in `block (4 levels) in <top (required)>'7507 # ./spec/spec_helper.rb:416:in `block (3 levels) in <top (required)>'7508 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'7509 # ./spec/spec_helper.rb:408:in `block (2 levels) in <top (required)>'7510 # ./spec/spec_helper.rb:404:in `block (3 levels) in <top (required)>'7511 # ./lib/gitlab/application_context.rb:59:in `with_raw_context'7512 # ./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'7513 # ./spec/spec_helper.rb:240:in `block (2 levels) in <top (required)>'7514 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'7515 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'7516 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'7517 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'7518 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'7519 9) Resolvers::GroupMembersResolver behaves like querying members with a group #resolve with search when the search term matches a user searches users by user name7520 Failure/Error: expect(subject).to contain_exactly(resource_member, group_1_member)7521 expected collection contained: [#<GroupMember id: 1452, access_level: 50, source_id: 3117, source_type: "Namespace", user_id: 1870, ...rride: false, state: 0, invite_email_success: true, member_namespace_id: 3117, member_role_id: nil>]7522 actual collection contained: []7523 the missing elements were: [#<GroupMember id: 1452, access_level: 50, source_id: 3117, source_type: "Namespace", user_id: 1870, ...rride: false, state: 0, invite_email_success: true, member_namespace_id: 3117, member_role_id: nil>]7524 Shared Example Group: "querying members with a group" called from ./spec/graphql/resolvers/group_members_resolver_spec.rb:147525 # ./spec/support/shared_examples/graphql/members_shared_examples.rb:69:in `block (5 levels) in <top (required)>'7526 # ./spec/spec_helper.rb:416:in `block (3 levels) in <top (required)>'7527 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'7528 # ./spec/spec_helper.rb:408:in `block (2 levels) in <top (required)>'7529 # ./spec/spec_helper.rb:404:in `block (3 levels) in <top (required)>'7530 # ./lib/gitlab/application_context.rb:59:in `with_raw_context'7531 # ./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'7532 # ./spec/spec_helper.rb:240:in `block (2 levels) in <top (required)>'7533 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'7534 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'7535 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'7536 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'7537 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'7538Finished in 22 minutes 24 seconds (files took 47.38 seconds to load)75392809 examples, 9 failures7540Failed examples:7541rspec ./spec/workers/stuck_merge_jobs_worker_spec.rb:25 # StuckMergeJobsWorker perform merge job identified as completed updates merge request to opened when locked but has not been merged7542rspec ./spec/graphql/resolvers/releases_resolver_spec.rb:38 # Resolvers::ReleasesResolver#resolve when the user has full access to the project's releases returns all releases associated to the project7543rspec ./spec/graphql/resolvers/releases_resolver_spec.rb:46 # Resolvers::ReleasesResolver#resolve when the user has full access to the project's releases sorting behavior with sort: :released_at_desc returns the releases ordered by released_at in descending order7544rspec ./spec/graphql/resolvers/releases_resolver_spec.rb:56 # Resolvers::ReleasesResolver#resolve when the user has full access to the project's releases sorting behavior with sort: :released_at_asc returns the releases ordered by released_at in ascending order7545rspec ./spec/graphql/resolvers/releases_resolver_spec.rb:66 # Resolvers::ReleasesResolver#resolve when the user has full access to the project's releases sorting behavior with sort: :created_desc returns the releases ordered by created_at in descending order7546rspec ./spec/graphql/resolvers/releases_resolver_spec.rb:76 # Resolvers::ReleasesResolver#resolve when the user has full access to the project's releases sorting behavior with sort: :created_asc returns the releases ordered by created_at in ascending order7547rspec './spec/graphql/resolvers/group_members_resolver_spec.rb[1:2:1:1]' # Resolvers::GroupMembersResolver behaves like querying members with a group #resolve finds all resource members7548rspec './spec/graphql/resolvers/group_members_resolver_spec.rb[1:2:1:2:1]' # Resolvers::GroupMembersResolver behaves like querying members with a group #resolve with sort options searches users by user name7549rspec './spec/graphql/resolvers/group_members_resolver_spec.rb[1:2:1:3:1:1]' # Resolvers::GroupMembersResolver behaves like querying members with a group #resolve with search when the search term matches a user searches users by user name7550Randomized with seed 651597551[TEST PROF INFO] Time spent in factories: 11:48.791 (52.51% of total time)7552Stopped processing SimpleCov as a previous error not related to SimpleCov has been detected7553RSpec exited with 1.7554Retrying the failing examples in a new RSpec process...7555$ gem install junit_merge --no-document --version 0.1.27556Successfully installed nokogiri-1.13.9-x86_64-linux7557Successfully installed junit_merge-0.1.275582 gems installed7559==> 'gem install junit_merge --no-document --version 0.1.2' succeeded in 1 seconds.7560Running RSpec command: bin/rspec -Ispec -rspec_helper --color --format documentation --format RspecJunitFormatter --out rspec/junit_rspec-retry.xml --only-failures --pattern "spec/{bin,channels,config,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,components}{,/**/}*_spec.rb"7561Run options: include {:last_run_status=>"failed"}7562Test environment set up in 1.077104511 seconds7563Resolvers::GroupMembersResolver7564 behaves like querying members with a group7565 #resolve7566 finds all resource members7567 with sort options7568 searches users by user name7569 with search7570 when the search term matches a user7571 searches users by user name7572Resolvers::ReleasesResolver7573 #resolve7574 when the user has full access to the project's releases7575 returns all releases associated to the project7576 sorting behavior7577 with sort: :released_at_desc7578 returns the releases ordered by released_at in descending order7579 with sort: :released_at_asc7580 returns the releases ordered by released_at in ascending order7581 with sort: :created_desc7582 returns the releases ordered by created_at in descending order7583 with sort: :created_asc7584 returns the releases ordered by created_at in ascending order7585StuckMergeJobsWorker7586 perform7587 merge job identified as completed7588 updates merge request to opened when locked but has not been merged7589Finished in 10.29 seconds (files took 41.39 seconds to load)75909 examples, 0 failures7591[TEST PROF INFO] Time spent in factories: 00:04.522 (35.76% of total time)7593Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-16 due to policy7594Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-16 due to policy7596Uploading artifacts...7597coverage/: found 4 matching files and directories 7598crystalball/: found 2 matching files and directories 7599deprecations/: found 7 matching files and directories 7600knapsack/: found 3 matching files and directories 7601rspec/: found 11 matching files and directories 7602WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 7603log/*.log: found 18 matching files and directories 7604WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3307837753/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com7605WARNING: Retrying... context=artifacts-uploader error=request redirected7606Uploading artifacts as "archive" to coordinator... 201 Created id=3307837753 responseStatus=201 Created token=zzefHL9y7607Uploading artifacts...7608rspec/junit_rspec.xml: found 1 matching files and directories 7609WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3307837753/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com7610WARNING: Retrying... context=artifacts-uploader error=request redirected7611Uploading artifacts as "junit" to coordinator... 201 Created id=3307837753 responseStatus=201 Created token=zzefHL9y7613Job succeeded