rspec unit pg12 27/28
Passed Started
by
@gitlab-bot

🤖 GitLab Bot 🤖
1Running with gitlab-runner 15.6.0~beta.186.ga889181a (a889181a)2 on green-1.shared-gitlab-org.runners-manager.gitlab.com/default Mf8beF5G3 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-106-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:31c3beb3b8968af162019219a074f3d4c1a5b1ab319ec86668229ad0a7ed0e4f for postgres:12 with digest postgres@sha256:63a045745aec8457cb208e929118b557e95e1b1327e2ad29f14174054be5d56e ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:f30aed8202b4ddc9ed0c833f7bd2b90470dc3a438a51b6567e9955adfe224051 for redis:6.0-alpine with digest redis@sha256:fcf49f0ab799e3b7217aab710606e888b190bbf3c3a81b5c912dd8ef351d1f69 ...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-106-yarn-1.22-graphicsmagick-1.3.36 ...16Using docker image sha256:9f9846a4ac0697e6010265e736ea0ed08cd0506c4323c4e2a29d17e1b28665ce 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-106-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:9229dfe0f4ee76cecfd8411f6668b0b2a5fd730d1d3688013b3a721189fcccb5 ...18Running on runner-mf8bef5g-project-278964-concurrent-0 via runner-mf8bef5g-shared-gitlab-org-1670486792-5a3d58ae...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: 163372, done. 25remote: Counting objects: 100% (163372/163372), done. 26remote: Compressing objects: 100% (94785/94785), done. 27remote: Total 163372 (delta 84810), reused 119124 (delta 63094), pack-reused 0 28Receiving objects: 100% (163372/163372), 121.93 MiB | 30.37 MiB/s, done.29Resolving deltas: 100% (84810/84810), done.31 * [new ref] refs/pipelines/716916172 -> refs/pipelines/71691617232Checking out 8f189ac6 as refs/merge-requests/106378/merge...33Skipping Git submodules setup34$ git remote set-url origin "${CI_REPOSITORY_URL}"36Checking cache for ruby-gems-debian-bullseye-ruby-2.7-16...37Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-debian-bullseye-ruby-2.7-16 38Successfully extracted cache39Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-2.7-16...40Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/gitaly-ruby-gems-debian-bullseye-ruby-2.7-16 41Successfully extracted cache43Downloading artifacts for compile-test-assets (3443740837)...44Downloading artifacts from coordinator... ok id=3443740837 responseStatus=200 OK token=nzDvaLkD45Downloading artifacts for detect-tests (3443740849)...46Downloading artifacts from coordinator... ok id=3443740849 responseStatus=200 OK token=nzDvaLkD47Downloading artifacts for retrieve-tests-metadata (3443740854)...48Downloading artifacts from coordinator... ok id=3443740854 responseStatus=200 OK token=nzDvaLkD49Downloading artifacts for setup-test-env (3443740841)...50Downloading artifacts from coordinator... ok id=3443740841 responseStatus=200 OK token=nzDvaLkD52Using docker image sha256:9f9846a4ac0697e6010265e736ea0ed08cd0506c4323c4e2a29d17e1b28665ce 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-106-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:9229dfe0f4ee76cecfd8411f6668b0b2a5fd730d1d3688013b3a721189fcccb5 ...53$ echo $FOSS_ONLY54$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb55$ export GOPATH=$CI_PROJECT_DIR/.go56$ mkdir -p $GOPATH57$ source scripts/utils.sh58$ source scripts/prepare_build.sh687Using decomposed database config (config/database.yml.decomposed-postgresql)688$ setup_db_user_only689CREATE ROLE690GRANT691==> 'setup_db_user_only' succeeded in 0 seconds.692$ bundle exec rake db:drop db:create db:schema:load db:migrate693Dropped database 'gitlabhq_test'694Dropped database 'gitlabhq_test_ci'695Dropped database 'gitlabhq_geo_test'696Created database 'gitlabhq_test'697Created database 'gitlabhq_test_ci'698Created database 'gitlabhq_geo_test'699==> 'bundle exec rake db:drop db:create db:schema:load db:migrate' succeeded in 39 seconds.700$ setup_db_praefect701SELECT pg_catalog.set_config('search_path', '', false);702CREATE DATABASE praefect_test ENCODING 'UTF8';703==> 'setup_db_praefect' succeeded in 0 seconds.704$ source ./scripts/rspec_helpers.sh705$ run_timed_command "gem install knapsack --no-document"706$ gem install knapsack --no-document707Successfully installed knapsack-4.0.07081 gem installed709==> 'gem install knapsack --no-document' succeeded in 1 seconds.710$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"820$ rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"821SKIP_FLAKY_TESTS_AUTOMATICALLY: true822RETRY_FAILED_TESTS_IN_NEW_PROCESS: true823KNAPSACK_GENERATE_REPORT: true824FLAKY_RSPEC_GENERATE_REPORT: true825KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,config,contracts,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,lib,metrics_server,models,policies,presenters,rack_servers,replicators,routing,rubocop,scripts,serializers,services,sidekiq,sidekiq_cluster,spam,support_specs,tasks,uploaders,validators,views,workers,tooling,components}{,/**/}*_spec.rb826KNAPSACK_LOG_LEVEL: debug827KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg12_27_28_report.json828FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json829FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg12_27_28_report.json830NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg12_27_28_report.json831SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec_unit_pg12_27_28_report.txt832RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec_unit_pg12_27_28_report.txt833CRYSTALBALL: 834Knapsack node specs:835spec/services/groups/transfer_service_spec.rb836spec/services/merge_requests/refresh_service_spec.rb837spec/models/clusters/cluster_spec.rb838spec/services/merge_requests/create_service_spec.rb839spec/models/clusters/applications/jupyter_spec.rb840spec/services/incident_management/timeline_events/update_service_spec.rb841spec/serializers/merge_request_widget_entity_spec.rb842spec/policies/project_statistics_policy_spec.rb843spec/services/members/invitation_reminder_email_service_spec.rb844spec/lib/gitlab/import_export/project/relation_tree_restorer_spec.rb845spec/lib/gitlab/background_migration/backfill_jira_tracker_deployment_type2_spec.rb846spec/models/remote_mirror_spec.rb847spec/services/projects/update_repository_storage_service_spec.rb848spec/lib/gitlab/github_import/user_finder_spec.rb849spec/lib/gitlab/background_migration/backfill_namespace_traversal_ids_children_spec.rb850spec/services/snippets/create_service_spec.rb851spec/models/resource_label_event_spec.rb852spec/services/push_event_payload_service_spec.rb853spec/finders/group_descendants_finder_spec.rb854spec/models/concerns/milestoneable_spec.rb855spec/services/projects/lfs_pointers/lfs_download_service_spec.rb856spec/lib/gitlab/background_migration/backfill_member_namespace_for_group_members_spec.rb857spec/finders/environments/environment_names_finder_spec.rb858spec/lib/gitlab/background_migration/remove_duplicate_vulnerabilities_findings_spec.rb859spec/lib/gitlab/ci/ansi2json/style_spec.rb860spec/lib/gitlab/auth/ldap/dn_spec.rb861spec/models/active_session_spec.rb862spec/helpers/auth_helper_spec.rb863spec/services/container_expiration_policies/update_service_spec.rb864spec/models/ci/pending_build_spec.rb865spec/workers/pages/invalidate_domain_cache_worker_spec.rb866spec/lib/gitlab/regex_requires_app_spec.rb867spec/models/prometheus_metric_spec.rb868spec/policies/metrics/dashboard/annotation_policy_spec.rb869spec/serializers/stage_entity_spec.rb870spec/services/issues/referenced_merge_requests_service_spec.rb871spec/lib/gitlab/git/tag_spec.rb872spec/services/merge_requests/retarget_chain_service_spec.rb873spec/services/issues/export_csv_service_spec.rb874spec/lib/gitlab/process_supervisor_spec.rb875spec/models/error_tracking/error_spec.rb876spec/lib/gitlab/exclusive_lease_helpers/sleeping_lock_spec.rb877spec/lib/gitlab/gitaly_client/commit_service_spec.rb878spec/graphql/resolvers/environments_resolver_spec.rb879spec/uploaders/packages/package_file_uploader_spec.rb880spec/views/notify/pipeline_success_email.text.erb_spec.rb881spec/helpers/merge_requests_helper_spec.rb882spec/lib/container_registry/blob_spec.rb883spec/views/ci/status/_icon.html.haml_spec.rb884spec/lib/gitlab/alert_management/payload/generic_spec.rb885spec/lib/gitlab/object_hierarchy_spec.rb886spec/bin/feature_flag_spec.rb887spec/models/analytics/cycle_analytics/merge_request_stage_event_spec.rb888spec/lib/gitlab/ci/badge/coverage/metadata_spec.rb889spec/lib/gitlab/metrics/methods_spec.rb890spec/lib/gitlab/import_export/lfs_restorer_spec.rb891spec/lib/gitlab/github_import/importer/single_endpoint_diff_notes_importer_spec.rb892spec/views/projects/commit/_commit_box.html.haml_spec.rb893spec/lib/error_tracking/sentry_client/projects_spec.rb894spec/services/projects/move_project_members_service_spec.rb895spec/lib/gitlab/ci/pipeline/chain/evaluate_workflow_rules_spec.rb896spec/lib/gitlab/checks/snippet_check_spec.rb897spec/finders/packages/packages_finder_spec.rb898spec/services/google_cloud/setup_cloudsql_instance_service_spec.rb899spec/components/diffs/overflow_warning_component_spec.rb900spec/workers/pipeline_process_worker_spec.rb901spec/services/system_notes/commit_service_spec.rb902spec/workers/remove_expired_members_worker_spec.rb903spec/lib/banzai/filter/emoji_filter_spec.rb904spec/models/board_spec.rb905spec/lib/gitlab/email/reply_parser_spec.rb906spec/uploaders/workers/object_storage/migrate_uploads_worker_spec.rb907spec/lib/gitlab/instrumentation/redis_base_spec.rb908spec/graphql/mutations/merge_requests/set_subscription_spec.rb909spec/workers/issues/rebalancing_worker_spec.rb910spec/tooling/lib/tooling/kubernetes_client_spec.rb911spec/models/concerns/ci/maskable_spec.rb912spec/models/projects/repository_storage_move_spec.rb913spec/services/projects/gitlab_projects_import_service_spec.rb914spec/rubocop/cop/static_translation_definition_spec.rb915spec/lib/gitlab/patch/prependable_spec.rb916spec/lib/gitlab/kubernetes/helm/v2/base_command_spec.rb917spec/helpers/nav/new_dropdown_helper_spec.rb918spec/lib/gitlab/ci/tags/bulk_insert_spec.rb919spec/lib/bitbucket_server/representation/pull_request_spec.rb920spec/lib/gitlab/untrusted_regexp_spec.rb921spec/graphql/mutations/incident_management/timeline_event/destroy_spec.rb922spec/services/issues/related_branches_service_spec.rb923spec/lib/gitlab/metrics/samplers/action_cable_sampler_spec.rb924spec/lib/gitlab/alert_management/fingerprint_spec.rb925spec/models/users/merge_request_interaction_spec.rb926spec/lib/gitlab/github_import/importer/issue_events_importer_spec.rb927spec/models/incident_management/project_incident_management_setting_spec.rb928spec/views/layouts/devise.html.haml_spec.rb929spec/policies/namespaces/user_namespace_policy_spec.rb930spec/finders/releases/evidence_pipeline_finder_spec.rb931spec/lib/gitlab/email/handler_spec.rb932spec/tasks/gitlab/terraform/migrate_rake_spec.rb933spec/lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table_spec.rb934spec/services/clusters/kubernetes_spec.rb935spec/services/access_token_validation_service_spec.rb936spec/finders/resource_milestone_event_finder_spec.rb937spec/rubocop/cop/sidekiq_api_usage_spec.rb938spec/lib/atlassian/jira_connect/jwt/asymmetric_spec.rb939spec/workers/gitlab/github_import/stage/import_notes_worker_spec.rb940spec/lib/gitlab/issuable/clone/attributes_rewriter_spec.rb941spec/services/award_emojis/copy_service_spec.rb942spec/lib/gitlab/database/reindexing/coordinator_spec.rb943spec/lib/gitlab/background_migration/delete_orphans_approval_project_rules_spec.rb944spec/lib/gitlab/background_migration/prune_stale_project_export_jobs_spec.rb945spec/lib/gitlab/ci/reports/test_reports_comparer_spec.rb946spec/lib/gitlab/search/query_spec.rb947spec/models/blob_viewer/base_spec.rb948spec/lib/gitlab/background_migration/batching_strategies/remove_backfilled_job_artifacts_expire_at_batching_strategy_spec.rb949spec/lib/gitlab/tracking/incident_management_spec.rb950spec/presenters/instance_clusterable_presenter_spec.rb951spec/services/dependency_proxy/auth_token_service_spec.rb952spec/lib/gitlab/database/reindexing/index_selection_spec.rb953spec/lib/gitlab/usage/service_ping/legacy_metric_timing_decorator_spec.rb954spec/lib/gitlab/github_import/importer/events/cross_referenced_spec.rb955spec/helpers/terms_helper_spec.rb956spec/lib/gitlab/verify/lfs_objects_spec.rb957spec/tooling/rspec_flaky/listener_spec.rb958spec/lib/gitlab/usage_data_counters/kubernetes_agent_counter_spec.rb959spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb960spec/models/releases/source_spec.rb961spec/workers/incident_management/close_incident_worker_spec.rb962spec/lib/gitlab/snippet_search_results_spec.rb963spec/services/discussions/capture_diff_note_positions_service_spec.rb964spec/lib/gitlab/ci/pipeline/chain/remove_unwanted_chat_jobs_spec.rb965spec/services/ci/create_pipeline_service/variables_spec.rb966spec/lib/gitlab/github_import/importer/label_links_importer_spec.rb967spec/lib/gitlab/diff/line_mapper_spec.rb968spec/graphql/mutations/saved_replies/update_spec.rb969spec/graphql/types/customer_relations/organization_sort_enum_spec.rb970spec/lib/gitlab/database/similarity_score_spec.rb971spec/workers/authorized_project_update/project_recalculate_per_user_worker_spec.rb972spec/workers/authorized_project_update/user_refresh_with_low_urgency_worker_spec.rb973spec/services/projects/count_service_spec.rb974spec/lib/sidebars/projects/menus/merge_requests_menu_spec.rb975spec/lib/bitbucket/page_spec.rb976spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies_spec.rb977spec/graphql/types/packages/cleanup/policy_type_spec.rb978spec/workers/groups/update_two_factor_requirement_for_members_worker_spec.rb979spec/lib/gitlab/usage/metrics/instrumentations/gitlab_for_jira_app_direct_installations_count_metric_spec.rb980spec/helpers/explore_helper_spec.rb981spec/lib/gitlab/diff/pair_selector_spec.rb982spec/lib/gitlab/kroki_spec.rb983spec/lib/gitlab/import_export/import_export_spec.rb984spec/lib/gitlab/pagination/keyset_spec.rb985spec/graphql/resolvers/paginated_tree_resolver_spec.rb986spec/graphql/resolvers/design_management/version_in_collection_resolver_spec.rb987spec/lib/api/ci/helpers/runner_helpers_spec.rb988spec/views/registrations/welcome/show.html.haml_spec.rb989spec/models/blob_viewer/markup_spec.rb990spec/graphql/types/work_items/widgets/assignees_input_type_spec.rb991spec/graphql/mutations/boards/lists/create_spec.rb992spec/views/groups/new.html.haml_spec.rb993spec/services/clusters/build_service_spec.rb994spec/models/u2f_registration_spec.rb995spec/models/concerns/taskable_spec.rb996spec/services/projects/open_merge_requests_count_service_spec.rb997spec/graphql/mutations/user_callouts/create_spec.rb998spec/serializers/issue_serializer_spec.rb999spec/views/projects/settings/operations/show.html.haml_spec.rb1000spec/graphql/types/container_repository_status_enum_spec.rb1001spec/views/admin/application_settings/_repository_storage.html.haml_spec.rb1002spec/helpers/projects/pipeline_helper_spec.rb1003spec/lib/gitlab/slash_commands/presenters/issue_comment_spec.rb1004spec/lib/gitlab/ci/status/bridge/waiting_for_resource_spec.rb1005spec/workers/deployments/archive_in_project_worker_spec.rb1006spec/tooling/rspec_flaky/flaky_examples_collection_spec.rb1007spec/workers/propagate_integration_group_worker_spec.rb1008spec/lib/gitlab/external_authorization_spec.rb1009spec/rubocop/cop/migration/complex_indexes_require_name_spec.rb1010spec/lib/gitlab/database/load_balancing/resolver_spec.rb1011spec/services/groups/update_statistics_service_spec.rb1012spec/policies/integration_policy_spec.rb1013spec/graphql/resolvers/board_list_resolver_spec.rb1014spec/lib/system_check/app/hashed_storage_enabled_check_spec.rb1015spec/services/merge_requests/mergeability/check_base_service_spec.rb1016spec/graphql/types/packages/helm/maintainer_type_spec.rb1017spec/lib/gitlab/ci/parsers/sbom/cyclonedx_properties_spec.rb1018spec/services/metrics/sample_metrics_service_spec.rb1019spec/lib/rouge/formatters/html_gitlab_spec.rb1020spec/uploaders/object_storage/cdn_spec.rb1021spec/models/bulk_imports/file_transfer/group_config_spec.rb1022spec/workers/packages/composer/cache_cleanup_worker_spec.rb1023spec/lib/gitlab/import_export/after_export_strategy_builder_spec.rb1024spec/services/protected_tags/destroy_service_spec.rb1025spec/lib/gitlab/git/bundle_file_spec.rb1026spec/lib/gitlab/doorkeeper_secret_storing/secret/pbkdf2_sha512_spec.rb1027spec/serializers/rollout_statuses/ingress_entity_spec.rb1028spec/lib/gitlab/database_importers/work_items/hierarchy_restrictions_importer_spec.rb1029spec/lib/gitlab/import/database_helpers_spec.rb1030spec/policies/concerns/crud_policy_helpers_spec.rb1031spec/rubocop/cop/database/rescue_statement_timeout_spec.rb1032spec/rubocop/cop/user_admin_spec.rb1033spec/lib/gitlab/kubernetes/service_account_spec.rb1034spec/lib/gitlab/metrics/dashboard/stages/metric_endpoint_inserter_spec.rb1035spec/lib/gitlab/phabricator_import/worker_state_spec.rb1036spec/serializers/import/github_org_serializer_spec.rb1037spec/graphql/types/ci/config/include_type_enum_spec.rb1038spec/workers/issuable/label_links_destroy_worker_spec.rb1039spec/serializers/request_aware_entity_spec.rb1040spec/graphql/types/kas/agent_connection_type_spec.rb1041spec/presenters/member_presenter_spec.rb1042spec/models/concerns/token_authenticatable_strategies/digest_spec.rb1043spec/lib/gitlab/ci/reports/security/scanned_resource_spec.rb1044spec/graphql/types/ci/config/stage_type_spec.rb1045spec/graphql/types/branch_protections/merge_access_level_type_spec.rb1046spec/serializers/jira_connect/subscription_entity_spec.rb1047spec/models/license_template_spec.rb1048spec/services/packages/rpm/repository_metadata/build_primary_xml_service_spec.rb1049spec/initializers/action_cable_subscription_adapter_identifier_spec.rb1050spec/lib/gitlab/patch/action_cable_redis_listener_spec.rb1051spec/workers/clusters/integrations/check_prometheus_health_worker_spec.rb1052spec/lib/gitlab/dependency_linker/base_linker_spec.rb1053spec/graphql/types/work_items/widgets/assignees_type_spec.rb1054spec/lib/gitlab/ci/reports/sbom/reports_spec.rb1055Filter specs:1056Running specs:1057Running all node tests without filter1058spec/services/groups/transfer_service_spec.rb1059spec/services/merge_requests/refresh_service_spec.rb1060spec/models/clusters/cluster_spec.rb1061spec/services/merge_requests/create_service_spec.rb1062spec/models/clusters/applications/jupyter_spec.rb1063spec/services/incident_management/timeline_events/update_service_spec.rb1064spec/serializers/merge_request_widget_entity_spec.rb1065spec/policies/project_statistics_policy_spec.rb1066spec/services/members/invitation_reminder_email_service_spec.rb1067spec/lib/gitlab/import_export/project/relation_tree_restorer_spec.rb1068spec/lib/gitlab/background_migration/backfill_jira_tracker_deployment_type2_spec.rb1069spec/models/remote_mirror_spec.rb1070spec/services/projects/update_repository_storage_service_spec.rb1071spec/lib/gitlab/github_import/user_finder_spec.rb1072spec/lib/gitlab/background_migration/backfill_namespace_traversal_ids_children_spec.rb1073spec/services/snippets/create_service_spec.rb1074spec/models/resource_label_event_spec.rb1075spec/services/push_event_payload_service_spec.rb1076spec/finders/group_descendants_finder_spec.rb1077spec/models/concerns/milestoneable_spec.rb1078spec/services/projects/lfs_pointers/lfs_download_service_spec.rb1079spec/lib/gitlab/background_migration/backfill_member_namespace_for_group_members_spec.rb1080spec/finders/environments/environment_names_finder_spec.rb1081spec/lib/gitlab/background_migration/remove_duplicate_vulnerabilities_findings_spec.rb1082spec/lib/gitlab/ci/ansi2json/style_spec.rb1083spec/lib/gitlab/auth/ldap/dn_spec.rb1084spec/models/active_session_spec.rb1085spec/helpers/auth_helper_spec.rb1086spec/services/container_expiration_policies/update_service_spec.rb1087spec/models/ci/pending_build_spec.rb1088spec/workers/pages/invalidate_domain_cache_worker_spec.rb1089spec/lib/gitlab/regex_requires_app_spec.rb1090spec/models/prometheus_metric_spec.rb1091spec/policies/metrics/dashboard/annotation_policy_spec.rb1092spec/serializers/stage_entity_spec.rb1093spec/services/issues/referenced_merge_requests_service_spec.rb1094spec/lib/gitlab/git/tag_spec.rb1095spec/services/merge_requests/retarget_chain_service_spec.rb1096spec/services/issues/export_csv_service_spec.rb1097spec/lib/gitlab/process_supervisor_spec.rb1098spec/models/error_tracking/error_spec.rb1099spec/lib/gitlab/exclusive_lease_helpers/sleeping_lock_spec.rb1100spec/lib/gitlab/gitaly_client/commit_service_spec.rb1101spec/graphql/resolvers/environments_resolver_spec.rb1102spec/uploaders/packages/package_file_uploader_spec.rb1103spec/views/notify/pipeline_success_email.text.erb_spec.rb1104spec/helpers/merge_requests_helper_spec.rb1105spec/lib/container_registry/blob_spec.rb1106spec/views/ci/status/_icon.html.haml_spec.rb1107spec/lib/gitlab/alert_management/payload/generic_spec.rb1108spec/lib/gitlab/object_hierarchy_spec.rb1109spec/bin/feature_flag_spec.rb1110spec/models/analytics/cycle_analytics/merge_request_stage_event_spec.rb1111spec/lib/gitlab/ci/badge/coverage/metadata_spec.rb1112spec/lib/gitlab/metrics/methods_spec.rb1113spec/lib/gitlab/import_export/lfs_restorer_spec.rb1114spec/lib/gitlab/github_import/importer/single_endpoint_diff_notes_importer_spec.rb1115spec/views/projects/commit/_commit_box.html.haml_spec.rb1116spec/lib/error_tracking/sentry_client/projects_spec.rb1117spec/services/projects/move_project_members_service_spec.rb1118spec/lib/gitlab/ci/pipeline/chain/evaluate_workflow_rules_spec.rb1119spec/lib/gitlab/checks/snippet_check_spec.rb1120spec/finders/packages/packages_finder_spec.rb1121spec/services/google_cloud/setup_cloudsql_instance_service_spec.rb1122spec/components/diffs/overflow_warning_component_spec.rb1123spec/workers/pipeline_process_worker_spec.rb1124spec/services/system_notes/commit_service_spec.rb1125spec/workers/remove_expired_members_worker_spec.rb1126spec/lib/banzai/filter/emoji_filter_spec.rb1127spec/models/board_spec.rb1128spec/lib/gitlab/email/reply_parser_spec.rb1129spec/uploaders/workers/object_storage/migrate_uploads_worker_spec.rb1130spec/lib/gitlab/instrumentation/redis_base_spec.rb1131spec/graphql/mutations/merge_requests/set_subscription_spec.rb1132spec/workers/issues/rebalancing_worker_spec.rb1133spec/tooling/lib/tooling/kubernetes_client_spec.rb1134spec/models/concerns/ci/maskable_spec.rb1135spec/models/projects/repository_storage_move_spec.rb1136spec/services/projects/gitlab_projects_import_service_spec.rb1137spec/rubocop/cop/static_translation_definition_spec.rbKnapsack report generator started!1138Run options: exclude {:quarantine=>true, :level=>"migration"}1139==> Starting Gitaly set up...1140==> Starting GitLab Elasticsearch Indexer set up...1141Test environment set up in 0.573157845 seconds1142Groups::TransferService1143 handling packages1144 with an npm package1145 behaves like transfer not allowed1146 does not allow transfer when there is a root namespace change1147 with a project within subgroup1148 behaves like transfer not allowed1149 does not allow transfer when there is a root namespace change1150 without a root namespace change1151 allows transfer1152 when transferring a group into a root group1153 behaves like transfer not allowed1154 does not allow transfer when there is a root namespace change1155 without an npm package1156 when transferring a group into a root group1157 allows transfer1158 #execute1159 when transforming a group into a root group1160 behaves like ensuring allowed transfer for a group1161 when there's an exception on GitLab shell directories1162 returns false1163 adds an error on group1164 when the group is already a root group1165 adds an error on group1166 when the user does not have the right policies1167 returns false1168 adds an error on group1169 when there is a group with the same path1170 returns false1171 adds an error on group1172 when the group is a subgroup and the transfer is valid1173 updates group attributes1174 updates group children path1175 updates group projects path1176 when projects have project namespaces1177 behaves like project namespace path is in sync with project path1178 keeps project and project namespace attributes in sync1179 when transferring a subgroup into another group1180 behaves like ensuring allowed transfer for a group1181 when there's an exception on GitLab shell directories1182 returns false1183 adds an error on group1184 when the new parent group is the same as the previous parent group1185 returns false1186 adds an error on group1187 when the user does not have the right policies1188 returns false1189 adds an error on group1190 when the parent has a group with the same path1191 returns false1192 adds an error on group1193 when the parent group has a project with the same path1194 adds an error on group1195 when projects have project namespaces1196 behaves like project namespace path is in sync with project path1197 keeps project and project namespace attributes in sync1198 when the group is allowed to be transferred1199 updates visibility for the group based on the parent group1200 updates parent group to the new parent1201 returns the group as children of the new parent1202 creates a redirect for the group1203 when the group has a lower visibility than the parent group1204 does not update the visibility for the group1205 when the group has a higher visibility than the parent group1206 updates visibility level based on the parent group1207 with a group integration1208 with an inherited integration1209 replaces inherited integrations1210 with a custom integration1211 does not updates the integrations1212 shared runners configuration1213 if parent group has disabled shared runners but allows overrides1214 calls update service1215 if parent group does not allow shared runners1216 calls update service1217 if parent group allows shared runners1218 does not call update service and keeps them disabled on the group1219 when a group is transferred to its subgroup1220 does not execute the transfer1221 when transferring a group with group descendants1222 updates subgroups path1223 creates redirects for the subgroups1224 when the new parent has a higher visibility than the children1225 does not update the children visibility1226 when the new parent has a lower visibility than the children1227 updates children visibility to match the new parent1228 when transferring a group with project descendants1229 updates projects path1230 creates permanent redirects for the projects1231 when the new parent has a higher visibility than the projects1232 does not update projects visibility1233 behaves like project namespace path is in sync with project path1234 keeps project and project namespace attributes in sync1235 when the new parent has a lower visibility than the projects1236 updates projects visibility to match the new parent1237 invokes #update_project_settings1238 behaves like project namespace path is in sync with project path1239 keeps project and project namespace attributes in sync1240 when transferring a group with subgroups & projects descendants1241 updates subgroups path1242 updates projects path1243 creates redirect for the subgroups and projects1244 behaves like project namespace path is in sync with project path1245 keeps project and project namespace attributes in sync1246 when transferring a group with nested groups and projects1247 updated paths1248 updates subgroups path1249 updates projects path1250 creates redirect for the subgroups and projects1251 resets project authorizations1252 removes old project authorizations1253 adds new project authorizations1254 performs authorizations job1255 for nested projects1256 removes old project authorizations1257 adds new project authorizations1258 preserves existing project authorizations for direct project members1259 for nested groups with unique members1260 preserves existing project authorizations1261 for groups with many projects1262 adds new project authorizations for the user which makes a transfer1263 adds project authorizations for users in the new hierarchy1264 removes project authorizations for users in the old hierarchy1265 schedules authorizations job1266 transferring groups with shared_projects1267 when the group that has existing project share is transferred1268 behaves like drops the authorizations of ancestor members from the old hierarchy1269 drops the authorizations of ancestor members from the old hierarchy1270 when the group whose subgroup has an existing project share is transferred1271 behaves like drops the authorizations of ancestor members from the old hierarchy1272 drops the authorizations of ancestor members from the old hierarchy1273 when a group that has existing group share is transferred1274 retains the authorizations of direct members1275 when transferring a group with two factor authentication switched on1276 does not update group two factor authentication setting1277 when new parent disallows two factor authentication switched on for descendants1278 updates group two factor authentication setting1279 schedules update of group two factor authentication setting for descendants1280 when updating the group goes wrong1281 restores group and projects visibility1282 when group has pending builds1283 updates pending builds for the group1284 when transferring a subgroup into root group1285 ensures there is still an owner for the transferred group1286 when group has explicit owner1287 does not add additional owner1288 when a project has container images1289 within group1290 does not transfer1291 within subgroup1292 does not transfer1293 crm1294 moving up1295 retains issue contacts1296 behaves like publishes a GroupTransferedEvent1297 is expected to publish event Groups::GroupTransferedEvent1298 moving down1299 retains issue contacts1300 behaves like publishes a GroupTransferedEvent1301 is expected to publish event Groups::GroupTransferedEvent1302 moving sideways1303 retains issue contacts1304 behaves like publishes a GroupTransferedEvent1305 is expected to publish event Groups::GroupTransferedEvent1306 moving to new root group1307 moves all crm objects1308 retains issue contacts1309 behaves like publishes a GroupTransferedEvent1310 is expected to publish event Groups::GroupTransferedEvent1311 moving to a subgroup within a new root group1312 with permission on the root group1313 moves all crm objects1314 retains issue contacts1315 behaves like publishes a GroupTransferedEvent1316 is expected to publish event Groups::GroupTransferedEvent1317 with permission on the subgroup1318 raises error1319 does not publish a GroupTransferedEvent1320MergeRequests::RefreshService1321 #execute1322 push to origin repo source branch1323 executes hooks with update action1324 reloads source branch MRs memoization1325 outdates MR suggestions1326 calls the merge request activity counter1327 query count1328 does not execute a lot of queries1329 when a merge error exists1330 clears merge errors when pushing to the source branch1331 does not clear merge errors when pushing to the target branch1332 when source branch ref does not exists1333 closes MRs without source branch ref1334 does not change the merge request diff1335 when pipeline exists for the source branch1336 updates the head_pipeline_id for @merge_request1337 does not update the head_pipeline_id for @fork_merge_request1338 Pipelines for merge requests1339 when .gitlab-ci.yml has merge_requests keywords1340 create detached merge request pipeline with commits1341 does not create detached merge request pipeline for forked project1342 create detached merge request pipeline for non-fork merge request1343 when "push_options: nil" is passed1344 creates a detached merge request pipeline with commits1345 when ci.skip push_options are passed1346 creates a skipped detached merge request pipeline with commits1347 when service is hooked by target branch1348 does not create detached merge request pipeline1349 when service runs on forked project1350 creates detached merge request pipeline for fork merge request1351 when branch pipeline was created before a detaced merge request pipeline has been created1352 sets the latest detached merge request pipeline as a head pipeline1353 returns pipelines in correct order1354 when MergeRequestUpdateWorker is retried by an exception1355 does not re-create a duplicate detached merge request pipeline1356 when the pipeline should be skipped1357 saves a skipped detached merge request pipeline1358 when .gitlab-ci.yml does not have merge_requests keywords1359 does not create a detached merge request pipeline1360 when .gitlab-ci.yml is invalid1361 persists a pipeline with config error1362 when .gitlab-ci.yml file is valid but has a logical error1363 persists a pipeline with config error1364 push to origin repo source branch1365 executes hooks with update action1366 push to origin repo target branch1367 when all MRs to the target branch had diffs1368 updates the merge state1369 when an MR to be closed was empty already1370 only updates the non-empty MRs1371 manual merge of source branch1372 updates the merge state1373 push to fork repo source branch1374 open fork merge request1375 calls MergeRequests::LinkLfsObjectsService#execute1376 executes hooks with update action1377 outdates opened forked MR suggestions1378 closed fork merge request1379 do not execute hooks with update action1380 updates merge request to closed state1381 push to fork repo target branch1382 changes to merge requests1383 updates the merge request state1384 merge request diff1385 does not reload the diff of the merge request made from fork1386 forked projects with the same source branch name as target branch1387 reloads a new diff for a push to the forked project1388 reloads a new diff for a force push to the source branch1389 reloads a new diff for a force push to the target branch1390 reloads a new diff for a push to the target project that contains a commit in the MR1391 does not increase the diff count for a new push to target branch1392 push to origin repo target branch after fork project was removed1393 updates the merge request state1394 push new branch that exists in a merge request1395 refreshes the merge request1396 merge request metrics1397 when the merge request is sourced from the same project1398 creates a `MergeRequestsClosingIssues` record for each issue closed by a commit1399 when the merge request is sourced from a different project1400 creates a `MergeRequestsClosingIssues` record for each issue closed by a commit1401 marking the merge request as draft1402 marks the merge request as draft from fixup commits1403 references the commit that caused the draft status1404 does not mark as draft based on commits that do not belong to an MR1405 updating merge_commit1406 feature enabled1407 updates merge requests' merge_commits1408 #abort_ff_merge_requests_with_when_pipeline_succeeds1409 when Project#merge_method is set to FF1410 behaves like aborted merge requests for MWPS1411 aborts auto_merge1412 removes merge_user1413 does not add todos for merge user1414 adds todos for merge author1415 with forked project1416 behaves like aborted merge requests for MWPS1417 aborts auto_merge1418 removes merge_user1419 does not add todos for merge user1420 adds todos for merge author1421 with bogus auto merge strategy1422 behaves like maintained merge requests for MWPS1423 does not cancel auto merge1424 does not change merge_user1425 does not add todos1426 when Project#merge_method is set to rebase_merge1427 behaves like aborted merge requests for MWPS1428 aborts auto_merge1429 removes merge_user1430 does not add todos for merge user1431 adds todos for merge author1432 with forked project1433 behaves like aborted merge requests for MWPS1434 aborts auto_merge1435 removes merge_user1436 does not add todos for merge user1437 adds todos for merge author1438 when Project#merge_method is set to merge1439 behaves like maintained merge requests for MWPS1440 does not cancel auto merge1441 does not change merge_user1442 does not add todos1443 with forked project1444 behaves like maintained merge requests for MWPS1445 does not cancel auto merge1446 does not change merge_user1447 does not add todos1448Clusters::Cluster1449 is expected to includes the HasEnvironmentScope module1450 is expected to belong to user required: false1451 is expected to belong to management_project class_name => ::Project required: false1452 is expected to have many cluster_projects1453 is expected to have many projects1454 is expected to have many cluster_groups1455 is expected to have many groups1456 is expected to have many groups_projects1457 is expected to have one provider_gcp1458 is expected to have one provider_aws1459 is expected to have one platform_kubernetes1460 is expected to have one integration_prometheus1461 is expected to have one application_helm1462 is expected to have one application_ingress1463 is expected to have one application_prometheus1464 is expected to have one application_runner1465 is expected to have many kubernetes_namespaces1466 is expected to have one cluster_project1467 is expected to have many deployment_clusters1468 is expected to have many metrics_dashboard_annotations1469 is expected to have many successful_deployments1470 is expected to have many environments through deployments1471 is expected to delegate #status to the #provider object1472 is expected to delegate #status_reason to the #provider object1473 is expected to delegate #on_creation? to the #provider object1474 is expected to delegate #knative_pre_installed? to the #provider object1475 is expected to delegate #platform_kubernetes_active? to the #platform_kubernetes object as #active?1476 is expected to delegate #platform_kubernetes_rbac? to the #platform_kubernetes object as #rbac?1477 is expected to delegate #application_helm_available? to the #application_helm object as #available?1478 is expected to delegate #application_ingress_available? to the #application_ingress object as #available?1479 is expected to delegate #application_knative_available? to the #application_knative object as #available?1480 is expected to delegate #integration_prometheus_available? to the #integration_prometheus object as #available?1481 is expected to delegate #application_ingress_external_ip to the #application_ingress object as #external_ip1482 is expected to delegate #application_ingress_external_hostname to the #application_ingress object as #external_hostname1483 is expected to respond to #project1484 is expected to be namespace per environment1485 has default helm_major_version 31486 behaves like having unique enum values1487 has unique values in "cluster_type"1488 has unique values in "platform_type"1489 has unique values in "provider_type"1490 default values1491 is expected to eq 31492 behaves like it has loose foreign keys1493 has at least one loose foreign key definition1494 has the deletion trigger present1495 records record deletions1496 cleans up record deletions1497 applications have inverse_of: :cluster option1498 does not do a third query when referencing cluster again1499 .enabled1500 is expected to contain exactly #<Clusters::Cluster id: 5, user_id: 314, provider_type: nil, platform_type: nil, created_at: "2022-12...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1501 .disabled1502 is expected to contain exactly #<Clusters::Cluster id: 7, user_id: 316, provider_type: nil, platform_type: nil, created_at: "2022-12...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1503 .user_provided1504 is expected to contain exactly #<Clusters::Cluster id: 9, user_id: 318, provider_type: "user", platform_type: "kubernetes", created_...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1505 .gcp_provided1506 is expected to contain exactly #<Clusters::Cluster id: 11, user_id: 320, provider_type: "gcp", platform_type: "kubernetes", created_...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1507 .gcp_installed1508 is expected to contain exactly #<Clusters::Cluster id: 14, user_id: 323, provider_type: "gcp", platform_type: "kubernetes", created_...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1509 .aws_provided1510 is expected to contain exactly #<Clusters::Cluster id: 17, user_id: 326, provider_type: "aws", platform_type: "kubernetes", created_...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1511 .aws_installed1512 is expected to contain exactly #<Clusters::Cluster id: 20, user_id: 329, provider_type: "aws", platform_type: "kubernetes", created_...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1513 .managed1514 cluster is not managed1515 is expected not to include #<Clusters::Cluster id: 22, user_id: 331, provider_type: nil, platform_type: nil, created_at: "2022-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1516 cluster is managed1517 is expected to include #<Clusters::Cluster id: 23, user_id: 332, provider_type: nil, platform_type: nil, created_at: "2022-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1518 .with_management_project1519 cluster has a management project1520 is expected to include #<Clusters::Cluster id: 24, user_id: 333, provider_type: nil, platform_type: nil, created_at: "2022-1...e, management_project_id: 244, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1521 cluster does not have a management project1522 is expected not to include #<Clusters::Cluster id: 25, user_id: 335, provider_type: nil, platform_type: nil, created_at: "2022-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1523 .with_integration_prometheus1524 cluster has prometheus application1525 is expected to include #<Clusters::Cluster id: 26, user_id: 336, provider_type: nil, platform_type: nil, created_at: "2022-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1526 cluster does not have prometheus application1527 is expected not to include #<Clusters::Cluster id: 27, user_id: 337, provider_type: nil, platform_type: nil, created_at: "2022-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1528 .distinct_with_deployed_environments1529 cluster has multiple successful deployment with environment1530 is expected to include #<Clusters::Cluster id: 28, user_id: 338, provider_type: nil, platform_type: nil, created_at: "2022-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1531 lists only distinct environments1532 cluster has only failed deployment with environment1533 is expected not to include #<Clusters::Cluster id: 28, user_id: 338, provider_type: nil, platform_type: nil, created_at: "2022-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1534 cluster does not have any deployment1535 is expected not to include #<Clusters::Cluster id: 28, user_id: 338, provider_type: nil, platform_type: nil, created_at: "2022-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1536 .with_project_http_integrations1537 project has alert service data1538 is expected to include #<Clusters::Cluster id: 29, user_id: 342, provider_type: nil, platform_type: nil, created_at: "2022-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1539 project has no alert service data1540 is expected not to include #<Clusters::Cluster id: 30, user_id: 344, provider_type: nil, platform_type: nil, created_at: "2022-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1541 .for_project_namespace1542 is expected to contain exactly #<Clusters::Cluster id: 31, user_id: 346, provider_type: nil, platform_type: nil, created_at: "2022-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1543 .with_name1544 is expected to contain exactly #<Clusters::Cluster id: 33, user_id: 350, provider_type: nil, platform_type: nil, created_at: "2022-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1545 validations1546 when validates unique_environment_scope1547 for a project cluster1548 when identical environment scope exists in project1549 is expected to be falsey1550 when identical environment scope does not exist in project1551 is expected to be truthy1552 when identical environment scope exists in different project1553 is expected to be truthy1554 for a group cluster1555 when identical environment scope exists in group1556 is expected to be falsey1557 when identical environment scope does not exist in group1558 is expected to be truthy1559 when identical environment scope exists in different group1560 is expected to be truthy1561 for an instance cluster1562 identical environment scope exists1563 is expected to be falsey1564 identical environment scope does not exist1565 is expected to be truthy1566 when validates name1567 when provided by user1568 when name is empty1569 is expected to be falsey1570 when name is nil1571 is expected to be falsey1572 when name is present1573 is expected to be truthy1574 when provided by gcp1575 when name is shorter than 11576 is expected to be falsey1577 when name is longer than 631578 is expected to be falsey1579 when name includes invalid character1580 is expected to be falsey1581 when name is present1582 is expected to be truthy1583 when record is persisted1584 when name is changed1585 is expected to be falsey1586 when name is same1587 is expected to be truthy1588 when validates restrict_modification1589 when creation is on going1590 is expected to be falsey1591 when creation is done1592 is expected to be truthy1593 cluster_type validations1594 validates presence1595 project_type cluster1596 does not allow setting group1597 group_type cluster1598 does not allow setting project1599 instance_type cluster1600 does not allow setting group1601 does not allow setting project1602 domain validation1603 when cluster has domain1604 is expected to be valid1605 when cluster is not a valid hostname1606 adds an error on domain1607 when cluster does not have a domain1608 is expected to be valid1609 unique scope for management_project1610 duplicate scopes for the same management project1611 adds an error on environment_scope1612 helm_major_version can only be 2 or 31613 helm_major_version: 2, expect_valid: true1614 is expected to eq true1615 helm_major_version: 3, expect_valid: true1616 is expected to eq true1617 helm_major_version: 4, expect_valid: false1618 is expected to eq false1619 helm_major_version: -1, expect_valid: false1620 is expected to eq false1621 .ancestor_clusters_for_clusterable1622 when project does not belong to this group1623 returns nothing1624 when group has a configured kubernetes cluster1625 returns the group cluster1626 when group and instance have configured kubernetes clusters1627 returns clusters in order, descending the hierachy1628 when sub-group has configured kubernetes cluster1629 returns clusters in order, descending the hierachy1630 avoids N+1 queries1631 for a group1632 returns clusters in order for a group1633 scope chaining1634 returns nothing1635 #provider1636 when provider is gcp1637 returns a provider1638 when provider is aws1639 returns a provider1640 when provider is user1641 is expected to be nil1642 #platform1643 when platform is kubernetes1644 returns a platform1645 #first_project1646 when cluster belongs to a project1647 is expected to eq #<Project id:269 namespace90/project269>>1648 when cluster does not belong to projects1649 is expected to be nil1650 #group1651 when cluster belongs to a group1652 is expected to eq #<Group id:1152 @group436>1653 when cluster does not belong to any group1654 is expected to be nil1655 .with_persisted_applications1656 preloads persisted applications1657 #persisted_applications1658 when all applications are created1659 returns a list of created applications1660 when not all were created1661 returns a list of created applications1662 #applications1663 when none of applications are created1664 returns a list of a new objects1665 when applications are created1666 returns a list of created applications1667 #find_or_build_application1668 rejects classes that are not applications1669 when none of applications are created1670 returns the new application1671 when application is persisted1672 returns the persisted application1673 #allow_user_defined_namespace?1674 project type cluster1675 gitlab managed1676 is expected to be truthy1677 not managed1678 is expected to be truthy1679 group type cluster1680 gitlab managed1681 is expected to be falsey1682 not managed1683 is expected to be truthy1684 instance type cluster1685 gitlab managed1686 is expected to be falsey1687 not managed1688 is expected to be truthy1689 #all_projects1690 cluster_type is project_type1691 returns projects1692 cluster_type is group_type1693 returns group projects1694 cluster_type is instance_type1695 returns all instance's projects1696 #kube_ingress_domain1697 with domain set in cluster1698 is expected to eq "example.com"1699 with no domain on cluster1700 with domain set at instance level1701 is expected to eq "global_domain.com"1702 #kubernetes_namespace_for1703 validates the project id1704 when environment has no last_deployable1705 is expected to eq "project277-277-the-environment-name"1706 when cluster is managed1707 returns the cached namespace if present, ignoring CI config1708 returns the default namespace when no cached namespace, ignoring CI config1709 when cluster is not managed1710 returns the cached namespace if present, regardless of CI config1711 returns the CI YAML namespace when configured1712 returns the default namespace when no namespace is configured1713 #predefined_variables1714 with an instance domain1715 includes KUBE_INGRESS_BASE_DOMAIN1716 with a cluster domain1717 includes KUBE_INGRESS_BASE_DOMAIN1718 with no domain1719 returns an empty array1720 #provided_by_user?1721 with a GCP provider1722 is expected to be falsy1723 with an user provider1724 is expected to be truthy1725 #status_name1726 the cluster has a provider1727 is expected to eq :errored1728 when cluster cleanup is ongoing1729 status_name: :errored, cleanup_status: :cleanup_not_started1730 returns cleanup_ongoing when uninstalling applications1731 status_name: :cleanup_ongoing, cleanup_status: :cleanup_removing_project_namespaces1732 returns cleanup_ongoing when uninstalling applications1733 status_name: :cleanup_ongoing, cleanup_status: :cleanup_removing_service_account1734 returns cleanup_ongoing when uninstalling applications1735 status_name: :cleanup_errored, cleanup_status: :cleanup_errored1736 returns cleanup_ongoing when uninstalling applications1737 there is a cached connection status1738 is expected to eq :connected1739 there is no connection status in the cache1740 is expected to eq :created1741 cleanup_status state_machine1742 #start_cleanup!1743 when cleanup_status is cleanup_not_started1744 behaves like cleanup_status transition1745 transitions cleanup_status correctly1746 schedules a Clusters::Cleanup::*Worker1747 when cleanup_status is errored1748 behaves like cleanup_status transition1749 transitions cleanup_status correctly1750 schedules a Clusters::Cleanup::*Worker1751 #make_cleanup_errored!1752 transitions cleanup_status from cleanup_not_started to cleanup_errored1753 sets error message1754 transitions cleanup_status from cleanup_removing_project_namespaces to cleanup_errored1755 sets error message1756 transitions cleanup_status from cleanup_removing_service_account to cleanup_errored1757 sets error message1758 #continue_cleanup!1759 behaves like cleanup_status transition1760 transitions cleanup_status correctly1761 schedules a Clusters::Cleanup::*Worker1762 #connection_status1763 is expected to be nil1764 with a cached status1765 is expected to eq :connected1766 #connection_error1767 is expected to be nil1768 with a cached status1769 is expected to eq :unknown_error1770 #node_connection_error1771 is expected to be nil1772 with a cached status1773 is expected to eq :unknown_error1774 #metrics_connection_error1775 is expected to be nil1776 with a cached status1777 is expected to eq :unknown_error1778 #nodes1779 is expected to be nil1780 with a cached status1781 is expected to eq [{"metadata"=>{"name"=>"gke-cluster-applications-default-pool-49b7f225-v527"}, "status"=>{"allocatable"=>{"cpu"=>"1930m", "memory"=>"5777164Ki"}, "capacity"=>{"cpu"=>"2", "memory"=>"7657228Ki"}}}]1782 #calculate_reactive_cache1783 cluster is disabled1784 does not populate the cache1785 cluster is enabled1786 connection to the cluster is successful1787 is expected to eq {:connection_status=>:connected, :nodes=>[{"metadata"=>{"name"=>"gke-cluster-applications-default-poo...ity"=>{"cpu"=>"2", "memory"=>"7657228Ki"}}, "usage"=>{"cpu"=>"144208668n", "memory"=>"1789048Ki"}}]}1788 cluster cannot be reached1789 is expected to eq {:connection_error=>:connection_error, :connection_status=>:unreachable}1790 cluster cannot be authenticated to1791 is expected to eq {:connection_error=>:authentication_error, :connection_status=>:authentication_failure}1792 Kubeclient::HttpError1793 is expected to eq {:connection_error=>:http_error, :connection_status=>:authentication_failure}1794 generic timeout1795 is expected to eq {:connection_error=>:http_error, :connection_status=>:unreachable}1796 gateway timeout1797 is expected to eq {:connection_error=>:http_error, :connection_status=>:unreachable}1798 an uncategorised error is raised1799 is expected to eq {:connection_error=>:unknown_error, :connection_status=>:unknown_failure}1800 notifies Sentry1801 #integration_prometheus_available?1802 is expected to be falsey1803 when integration is enabled1804 is expected to be truthy1805 when integration is disabled1806 is expected to be falsey1807 #prometheus_adapter1808 returns nothing1809 has integration_prometheus1810 returns the integration1811 has application_prometheus1812 returns nil1813 also has a integration_prometheus1814 returns the integration1815 #delete_cached_resources!1816 deletes associated namespace records1817 #clusterable1818 project type1819 is expected to eq #<Project id:291 namespace112/project291>>1820 group type1821 is expected to eq #<Group id:1412 @group446>1822 instance type1823 is expected to be a kind of Clusters::Instance1824 unknown type1825 raises NotImplementedError1826MergeRequests::CreateService1827 #execute1828 valid params1829 creates an MR1830 executes hooks with default action1831 refreshes the number of open merge requests1832 creates exactly 1 create MR event1833 sets the merge_status to preparing1834 when marked with /draft1835 in title and in description1836 sets MR to draft1837 in description only1838 sets MR to draft1839 when merge request is assigned to someone1840 is expected to eq [#<User id:702 @user678>]1841 when reviewer is assigned1842 is expected to eq [#<User id:705 @user680>]1843 invalidates counter cache for reviewers1844 when head pipelines already exist for merge request source branch1845 sets head pipeline1846 when the new pipeline is associated with an old sha1847 sets an old pipeline with associated with the latest sha as the head pipeline1848 when there are no pipelines with the diff head sha1849 does not set the head pipeline1850 Pipelines for merge requests1851 when .gitlab-ci.yml has merge_requests keywords1852 creates a detached merge request pipeline and sets it as a head pipeline1853 when merge request is submitted from forked project1854 create detached merge request pipeline for fork merge request1855 when there are no commits between source branch and target branch1856 does not create a detached merge request pipeline1857 when branch pipeline was created before a merge request pipline has been created1858 sets the latest detached merge request pipeline as the head pipeline1859 when .gitlab-ci.yml does not have merge_requests keywords1860 does not create a detached merge request pipeline1861 when .gitlab-ci.yml is invalid1862 persists a pipeline with config error1863 after_save callback to store_mentions1864 when mentionable attributes change1865 saves mentions1866 when mentionable attributes do not change1867 does not call store_mentions1868 when save fails1869 does not call store_mentions1870 behaves like reviewer_ids filter1871 filter_reviewer1872 without reviewer_ids1873 contains no reviewer_ids1874 with reviewer_ids1875 when the current user can admin the merge_request1876 with a reviewer who can read the merge_request1877 contains reviewers who can read the merge_request1878 when the current_user cannot admin the merge_request1879 contains no reviewers1880 when called in a transaction1881 does not raise an error1882 behaves like issuable record that supports quick actions1883 with labels in command only1884 attaches labels to issuable1885 with labels in params and command1886 attaches all labels to issuable1887 with assignee and milestone in command only1888 assigns and sets milestone to issuable1889 Quick actions1890 with assignee and milestone in params and command1891 assigns and sets milestone to issuable from command1892 merge request create service1893 asssignee_id1894 removes assignee_id when user id is invalid1895 removes assignee_id when user id is 01896 saves assignee when user id is valid1897 when assignee is set1898 invalidates open merge request counter for assignees when merge request is assigned1899 when issuable feature is private1900 removes not authorized assignee when project is Internal1901 removes not authorized assignee when project is Public1902 behaves like when source and target projects are different1903 when user can not access source project1904 raises an error1905 when user can not access target project1906 raises an error1907 when the user has access to both projects1908 does not create the merge request when the target project is archived1909 when async_merge_request_diff_creation is enabled1910 creates the merge request1911 when async_merge_request_diff_creation is disabled1912 creates the merge request1913 when user sets source project id1914 ignores source_project_id1915Clusters::Applications::Jupyter1916 is expected to belong to cluster required: false1917 is expected to validate that :cluster cannot be empty/falsy1918 is expected to belong to oauth_application required: false1919 #can_uninstall?1920 calls allowed_to_uninstall?1921 #name1922 is .application_name1923 is recorded in Clusters::Cluster::APPLICATIONS1924 .association_name1925 is expected to eq :application_jupyter1926 #helm_command_module1927 helm_major_version: 2, expected_helm_command_module: Gitlab::Kubernetes::Helm::V21928 is expected to eq Gitlab::Kubernetes::Helm::V21929 helm_major_version: 3, expected_helm_command_module: Gitlab::Kubernetes::Helm::V31930 is expected to eq Gitlab::Kubernetes::Helm::V31931 #status_states1932 returns a hash of state values1933 returns an integer for installed state value1934 .available1935 is expected to contain exactly #<Clusters::Applications::Jupyter id: 4, cluster_id: 322, oauth_application_id: 4, status: 3, version...08 10:55:10.171890381 +0000", updated_at: "2022-12-08 10:55:10.171890381 +0000", status_reason: nil> and #<Clusters::Applications::Jupyter id: 5, cluster_id: 328, oauth_application_id: 5, status: 5, version...08 10:55:11.620017806 +0000", updated_at: "2022-12-08 10:55:11.620017806 +0000", status_reason: nil>1936 status state machine1937 #make_installing1938 is installing1939 #make_installed1940 is installed1941 does not update the helm version1942 the cluster has no helm installed1943 runs without errors1944 application is updating1945 is updated1946 does not update the helm version1947 the cluster has no helm installed1948 runs without errors1949 #make_errored1950 is errored1951 application is updating1952 is update_errored1953 application is uninstalling1954 is uninstall_errored1955 #make_externally_installed1956 is installed1957 helm record does not exist1958 does not create a helm record1959 helm record exists1960 does not update helm version1961 application is updated1962 is installed1963 application is errored1964 is installed1965 clears #status_reason1966 #make_externally_uninstalled1967 is uninstalled1968 application is updated1969 is uninstalled1970 application is errored1971 is uninstalled1972 clears #status_reason1973 #make_scheduled1974 is scheduled1975 when installed1976 is scheduled1977 when was errored1978 clears #status_reason1979 when was updated_errored1980 clears #status_reason1981 when was uninstall_errored1982 clears #status_reason1983 #make_uninstalling1984 is uninstalling1985 #available?1986 trait: :not_installable, available: false1987 is expected not to be available1988 trait: :installable, available: false1989 is expected not to be available1990 trait: :scheduled, available: false1991 is expected not to be available1992 trait: :installing, available: false1993 is expected not to be available1994 trait: :installed, available: true1995 is expected to be available1996 trait: :updating, available: false1997 is expected not to be available1998 trait: :updated, available: true1999 is expected to be available2000 trait: :errored, available: false2001 is expected not to be available2002 trait: :update_errored, available: false2003 is expected not to be available2004 trait: :uninstalling, available: false2005 is expected not to be available2006 trait: :uninstall_errored, available: false2007 is expected not to be available2008 trait: :uninstalled, available: false2009 is expected not to be available2010 trait: :timed_out, available: false2011 is expected not to be available2012 trait: :externally_installed, available: true2013 is expected to be available2014 update_available?2015 version is not the same as VERSION2016 is expected to be truthy2017 version is the same as VERSION2018 is expected to be falsey2019 #make_installed2020 sets the correct version of the application2021 application is updating2022 updates the version of the application2023 #make_externally_installed2024 sets to a special version2025 #uninstall_command2026 is expected to be an instance of Gitlab::Kubernetes::Helm::V3::DeleteCommand2027 has files2028 is rbac2029 on a non rbac enabled cluster2030 is expected not to be rbac2031 #files2032 does not include cert files2033 when cluster does not have helm installed2034 does not include cert files2035 default values2036 is expected to eq "0.9.0"2037 #can_uninstall?2038 is expected to be truthy2039 #set_initial_status2040 when ingress is not installed2041 is expected to be not installable2042 when ingress is installed and external_ip is assigned2043 is expected to be installable2044 when ingress is installed and external_hostname is assigned2045 is expected to be installable2046 #install_command2047 is expected to be an instance of Gitlab::Kubernetes::Helm::V3::InstallCommand2048 is initialized with 4 arguments2049 on a non rbac enabled cluster2050 is expected not to be rbac2051 application failed to install previously2052 is initialized with the locked version2053 #files2054 when cluster belongs to a project2055 includes valid values2056 when cluster belongs to a group2057 includes valid values2058IncidentManagement::TimelineEvents::UpdateService2059 # order random2060 #execute2061 when user has permissions2062 updates attributes2063 creates a system note2064 behaves like successful response2065 responds with success2066 behaves like an incident management tracked event2067 .track_event2068 tracks the event using redis2069 behaves like passing the correct was_changed value2070 passes the correct was_changed value into SysteNoteService.edit_timeline_event2071 when note is nil2072 does not update the note2073 updates occurred_at2074 updates the tags2075 behaves like successful response2076 responds with success2077 behaves like an incident management tracked event2078 .track_event2079 tracks the event using redis2080 behaves like passing the correct was_changed value2081 passes the correct was_changed value into SysteNoteService.edit_timeline_event2082 when note is blank2083 does not add the tags as it rollsback the transaction2084 behaves like error response2085 has an informative message2086 does not update the note2087 behaves like does not track incident management event2088 does not track the event2089 when note is more than 280 characters long2090 does not add the tags as it rollsback the transaction2091 behaves like error response2092 has an informative message2093 does not update the note2094 behaves like does not track incident management event2095 does not track the event2096 when occurred_at is nil2097 updates the note2098 does not update occurred_at2099 behaves like successful response2100 responds with success2101 behaves like an incident management tracked event2102 .track_event2103 tracks the event using redis2104 behaves like passing the correct was_changed value2105 passes the correct was_changed value into SysteNoteService.edit_timeline_event2106 when occurred_at is blank2107 does not add the tags as it rollsback the transaction2108 behaves like error response2109 has an informative message2110 does not update the note2111 behaves like does not track incident management event2112 does not track the event2113 when both occurred_at and note is nil2114 does not update the note2115 does not update occurred_at2116 does not call SysteNoteService.edit_timeline_event2117 behaves like successful response2118 responds with success2119 behaves like an incident management tracked event2120 .track_event2121 tracks the event using redis2122 when timeline event is non-editable2123 behaves like error response2124 has an informative message2125 does not update the note2126 behaves like does not track incident management event2127 does not track the event2128 when timeline event tags are passed2129 when they exist2130 behaves like successful tag response2131 adds the new tag2132 adds the new tag link2133 returns the new tag in response2134 behaves like successful response2135 responds with success2136 behaves like an incident management tracked event2137 .track_event2138 tracks the event using redis2139 when tag name is of random case2140 behaves like successful tag response2141 adds the new tag2142 adds the new tag link2143 returns the new tag in response2144 behaves like successful response2145 responds with success2146 behaves like an incident management tracked event2147 .track_event2148 tracks the event using redis2149 when tag is removed2150 adds the new tag and removes the old tag2151 adds the new tag link and removes the old tag link2152 returns the new tag and does not contain the old tag in response2153 behaves like successful response2154 responds with success2155 behaves like an incident management tracked event2156 .track_event2157 tracks the event using redis2158 when all assigned tags are removed2159 removes all the assigned tags2160 removes all the assigned tag links2161 does not contain any tags in response2162 behaves like successful response2163 responds with success2164 behaves like an incident management tracked event2165 .track_event2166 tracks the event using redis2167 when they do not exist2168 does not update the note2169 behaves like error response2170 has an informative message2171 does not update the note2172 behaves like does not track incident management event2173 does not track the event2174 when user does not have permissions2175 behaves like error response2176 has an informative message2177 does not update the note2178 behaves like does not track incident management event2179 does not track the event2180MergeRequestWidgetEntity2181 has email_patches_path2182 has plain_diff_path2183 has human access2184 has new pipeline path for project2185 has security_reports_docs_path2186 source_project_full_path2187 includes the full path of the source project2188 when the source project is missing2189 returns `nil` for the source project2190 can_create_pipeline_in_target_project2191 when user has permission2192 includes the correct permission info2193 when user does not have permission2194 includes the correct permission info2195 issues links2196 includes issues links when requested2197 omits issue links by default2198 merge_request_add_ci_config_path2199 when there is a standard ci config file in the source project2200 no ci config path2201 when there is no standard ci config file in the source project2202 when user has permissions2203 has add ci config path2204 has expected params2205 when auto devops is enabled2206 returns a blank ci config path2207 when source project is missing2208 returns a blank ci config path2209 when there are no commits2210 returns a blank ci config path2211 when build feature is disabled2212 has no path2213 when creating the pipeline is not allowed2214 has no path2215 when merge request is merged2216 returns a blank ci config path2217 when merge request is closed2218 returns a blank ci config path2219 when source branch does not exist2220 returns a blank ci config path2221 when user does not have permissions2222 has add ci config path2223 user callouts2224 provides a valid path value for user callout path2225 provides a valid value for suggest pipeline feature id2226 when source project is deleted2227 returns a blank rebase_path2228 has source_project_default_url2229 returns the default url to the source project2230 when source project is nil2231 returns nil2232 when gitpod is disabled2233 exposes gitpod attributes2234 when gitpod is enabled2235 exposes gitpod attributes2236 when gitpod is enabled for user2237 exposes gitpod_enabled as true2238 is_dismissed_suggest_pipeline2239 when user is logged in2240 when the suggest pipeline feature is enabled2241 is false2242 when suggest pipeline has been dismissed2243 is true2244 when the suggest pipeline feature is disabled2245 is true2246 when user is not logged in2247 is true2248ProjectStatisticsPolicy2249 #rules2250 project_type: :public, user_type: :unauthenticated, outcome: false2251 is expected to eq false2252 when the user is external2253 is expected to eq false2254 project_type: :public, user_type: :non_member, outcome: false2255 is expected to eq false2256 when the user is external2257 is expected to eq false2258 project_type: :public, user_type: :guest, outcome: false2259 is expected to eq false2260 when the user is external2261 is expected to eq false2262 project_type: :public, user_type: :reporter, outcome: true2263 is expected to eq true2264 when the user is external2265 is expected to eq true2266 project_type: :public, user_type: :developer, outcome: true2267 is expected to eq true2268 when the user is external2269 is expected to eq true2270 project_type: :public, user_type: :maintainer, outcome: true2271 is expected to eq true2272 when the user is external2273 is expected to eq true2274 project_type: :private, user_type: :unauthenticated, outcome: false2275 is expected to eq false2276 when the user is external2277 is expected to eq false2278 project_type: :private, user_type: :non_member, outcome: false2279 is expected to eq false2280 when the user is external2281 is expected to eq false2282 project_type: :private, user_type: :guest, outcome: false2283 is expected to eq false2284 when the user is external2285 is expected to eq false2286 project_type: :private, user_type: :reporter, outcome: true2287 is expected to eq true2288 when the user is external2289 is expected to eq true2290 project_type: :private, user_type: :developer, outcome: true2291 is expected to eq true2292 when the user is external2293 is expected to eq true2294 project_type: :private, user_type: :maintainer, outcome: true2295 is expected to eq true2296 when the user is external2297 is expected to eq true2298 project_type: :internal, user_type: :unauthenticated, outcome: false2299 is expected to eq false2300 when the user is external2301 is expected to eq false2302 project_type: :internal, user_type: :non_member, outcome: false2303 is expected to eq false2304 when the user is external2305 is expected to eq false2306 project_type: :internal, user_type: :guest, outcome: false2307 is expected to eq false2308 when the user is external2309 is expected to eq false2310 project_type: :internal, user_type: :reporter, outcome: true2311 is expected to eq true2312 when the user is external2313 is expected to eq true2314 project_type: :internal, user_type: :developer, outcome: true2315 is expected to eq true2316 when the user is external2317 is expected to eq true2318 project_type: :internal, user_type: :maintainer, outcome: true2319 is expected to eq true2320 when the user is external2321 is expected to eq true2322Members::InvitationReminderEmailService2323 sending invitation reminders2324 expires_at_days: 0, send_reminder_at_days: []2325 sends an invitation reminder only on the expected days2326 sends an invitation reminder only on the expected days2327 sends an invitation reminder only on the expected days2328 sends an invitation reminder only on the expected days2329 sends an invitation reminder only on the expected days2330 sends an invitation reminder only on the expected days2331 sends an invitation reminder only on the expected days2332 sends an invitation reminder only on the expected days2333 sends an invitation reminder only on the expected days2334 sends an invitation reminder only on the expected days2335 sends an invitation reminder only on the expected days2336 expires_at_days: 1, send_reminder_at_days: []2337 sends an invitation reminder only on the expected days2338 sends an invitation reminder only on the expected days2339 sends an invitation reminder only on the expected days2340 sends an invitation reminder only on the expected days2341 sends an invitation reminder only on the expected days2342 sends an invitation reminder only on the expected days2343 sends an invitation reminder only on the expected days2344 sends an invitation reminder only on the expected days2345 sends an invitation reminder only on the expected days2346 sends an invitation reminder only on the expected days2347 sends an invitation reminder only on the expected days2348 expires_at_days: 2, send_reminder_at_days: [1]2349 sends an invitation reminder only on the expected days2350 sends an invitation reminder only on the expected days2351 sends an invitation reminder only on the expected days2352 sends an invitation reminder only on the expected days2353 sends an invitation reminder only on the expected days2354 sends an invitation reminder only on the expected days2355 sends an invitation reminder only on the expected days2356 sends an invitation reminder only on the expected days2357 sends an invitation reminder only on the expected days2358 sends an invitation reminder only on the expected days2359 sends an invitation reminder only on the expected days2360 expires_at_days: 3, send_reminder_at_days: [1, 2]2361 sends an invitation reminder only on the expected days2362 sends an invitation reminder only on the expected days2363 sends an invitation reminder only on the expected days2364 sends an invitation reminder only on the expected days2365 sends an invitation reminder only on the expected days2366 sends an invitation reminder only on the expected days2367 sends an invitation reminder only on the expected days2368 sends an invitation reminder only on the expected days2369 sends an invitation reminder only on the expected days2370 sends an invitation reminder only on the expected days2371 sends an invitation reminder only on the expected days2372 expires_at_days: 4, send_reminder_at_days: [1, 2, 3]2373 sends an invitation reminder only on the expected days2374 sends an invitation reminder only on the expected days2375 sends an invitation reminder only on the expected days2376 sends an invitation reminder only on the expected days2377 sends an invitation reminder only on the expected days2378 sends an invitation reminder only on the expected days2379 sends an invitation reminder only on the expected days2380 sends an invitation reminder only on the expected days2381 sends an invitation reminder only on the expected days2382 sends an invitation reminder only on the expected days2383 sends an invitation reminder only on the expected days2384 expires_at_days: 5, send_reminder_at_days: [1, 2, 4]2385 sends an invitation reminder only on the expected days2386 sends an invitation reminder only on the expected days2387 sends an invitation reminder only on the expected days2388 sends an invitation reminder only on the expected days2389 sends an invitation reminder only on the expected days2390 sends an invitation reminder only on the expected days2391 sends an invitation reminder only on the expected days2392 sends an invitation reminder only on the expected days2393 sends an invitation reminder only on the expected days2394 sends an invitation reminder only on the expected days2395 sends an invitation reminder only on the expected days2396 expires_at_days: 6, send_reminder_at_days: [1, 3, 5]2397 sends an invitation reminder only on the expected days2398 sends an invitation reminder only on the expected days2399 sends an invitation reminder only on the expected days2400 sends an invitation reminder only on the expected days2401 sends an invitation reminder only on the expected days2402 sends an invitation reminder only on the expected days2403 sends an invitation reminder only on the expected days2404 sends an invitation reminder only on the expected days2405 sends an invitation reminder only on the expected days2406 sends an invitation reminder only on the expected days2407 sends an invitation reminder only on the expected days2408 expires_at_days: 7, send_reminder_at_days: [1, 3, 5]2409 sends an invitation reminder only on the expected days2410 sends an invitation reminder only on the expected days2411 sends an invitation reminder only on the expected days2412 sends an invitation reminder only on the expected days2413 sends an invitation reminder only on the expected days2414 sends an invitation reminder only on the expected days2415 sends an invitation reminder only on the expected days2416 sends an invitation reminder only on the expected days2417 sends an invitation reminder only on the expected days2418 sends an invitation reminder only on the expected days2419 sends an invitation reminder only on the expected days2420 expires_at_days: 8, send_reminder_at_days: [2, 3, 6]2421 sends an invitation reminder only on the expected days2422 sends an invitation reminder only on the expected days2423 sends an invitation reminder only on the expected days2424 sends an invitation reminder only on the expected days2425 sends an invitation reminder only on the expected days2426 sends an invitation reminder only on the expected days2427 sends an invitation reminder only on the expected days2428 sends an invitation reminder only on the expected days2429 sends an invitation reminder only on the expected days2430 sends an invitation reminder only on the expected days2431 sends an invitation reminder only on the expected days2432 expires_at_days: 9, send_reminder_at_days: [2, 4, 7]2433 sends an invitation reminder only on the expected days2434 sends an invitation reminder only on the expected days2435 sends an invitation reminder only on the expected days2436 sends an invitation reminder only on the expected days2437 sends an invitation reminder only on the expected days2438 sends an invitation reminder only on the expected days2439 sends an invitation reminder only on the expected days2440 sends an invitation reminder only on the expected days2441 sends an invitation reminder only on the expected days2442 sends an invitation reminder only on the expected days2443 sends an invitation reminder only on the expected days2444 expires_at_days: 10, send_reminder_at_days: [2, 4, 8]2445 sends an invitation reminder only on the expected days2446 sends an invitation reminder only on the expected days2447 sends an invitation reminder only on the expected days2448 sends an invitation reminder only on the expected days2449 sends an invitation reminder only on the expected days2450 sends an invitation reminder only on the expected days2451 sends an invitation reminder only on the expected days2452 sends an invitation reminder only on the expected days2453 sends an invitation reminder only on the expected days2454 sends an invitation reminder only on the expected days2455 sends an invitation reminder only on the expected days2456 expires_at_days: 11, send_reminder_at_days: [2, 4, 8]2457 sends an invitation reminder only on the expected days2458 sends an invitation reminder only on the expected days2459 sends an invitation reminder only on the expected days2460 sends an invitation reminder only on the expected days2461 sends an invitation reminder only on the expected days2462 sends an invitation reminder only on the expected days2463 sends an invitation reminder only on the expected days2464 sends an invitation reminder only on the expected days2465 sends an invitation reminder only on the expected days2466 sends an invitation reminder only on the expected days2467 sends an invitation reminder only on the expected days2468 expires_at_days: 12, send_reminder_at_days: [2, 5, 9]2469 sends an invitation reminder only on the expected days2470 sends an invitation reminder only on the expected days2471 sends an invitation reminder only on the expected days2472 sends an invitation reminder only on the expected days2473 sends an invitation reminder only on the expected days2474 sends an invitation reminder only on the expected days2475 sends an invitation reminder only on the expected days2476 sends an invitation reminder only on the expected days2477 sends an invitation reminder only on the expected days2478 sends an invitation reminder only on the expected days2479 sends an invitation reminder only on the expected days2480 expires_at_days: 13, send_reminder_at_days: [2, 5, 10]2481 sends an invitation reminder only on the expected days2482 sends an invitation reminder only on the expected days2483 sends an invitation reminder only on the expected days2484 sends an invitation reminder only on the expected days2485 sends an invitation reminder only on the expected days2486 sends an invitation reminder only on the expected days2487 sends an invitation reminder only on the expected days2488 sends an invitation reminder only on the expected days2489 sends an invitation reminder only on the expected days2490 sends an invitation reminder only on the expected days2491 sends an invitation reminder only on the expected days2492 expires_at_days: 14, send_reminder_at_days: [2, 5, 10]2493 sends an invitation reminder only on the expected days2494 sends an invitation reminder only on the expected days2495 sends an invitation reminder only on the expected days2496 sends an invitation reminder only on the expected days2497 sends an invitation reminder only on the expected days2498 sends an invitation reminder only on the expected days2499 sends an invitation reminder only on the expected days2500 sends an invitation reminder only on the expected days2501 sends an invitation reminder only on the expected days2502 sends an invitation reminder only on the expected days2503 sends an invitation reminder only on the expected days2504 expires_at_days: 15, send_reminder_at_days: [2, 5, 10]2505 sends an invitation reminder only on the expected days2506 sends an invitation reminder only on the expected days2507 sends an invitation reminder only on the expected days2508 sends an invitation reminder only on the expected days2509 sends an invitation reminder only on the expected days2510 sends an invitation reminder only on the expected days2511 sends an invitation reminder only on the expected days2512 sends an invitation reminder only on the expected days2513 sends an invitation reminder only on the expected days2514 sends an invitation reminder only on the expected days2515 sends an invitation reminder only on the expected days2516 expires_at_days: nil, send_reminder_at_days: [2, 5, 10]2517 sends an invitation reminder only on the expected days2518 sends an invitation reminder only on the expected days2519 sends an invitation reminder only on the expected days2520 sends an invitation reminder only on the expected days2521 sends an invitation reminder only on the expected days2522 sends an invitation reminder only on the expected days2523 sends an invitation reminder only on the expected days2524 sends an invitation reminder only on the expected days2525 sends an invitation reminder only on the expected days2526 sends an invitation reminder only on the expected days2527 sends an invitation reminder only on the expected days2528Gitlab::ImportExport::Project::RelationTreeRestorer2529 with legacy reader2530 behaves like import project successfully2531 imported project2532 has the project attributes and relations2533 with logging of relations creation2534 logs top-level relation creation2535 with ndjson reader2536 behaves like import project successfully2537 imported project2538 has the project attributes and relations2539 when inside a group2540 behaves like import project successfully2541 imported project2542 has the project attributes and relations2543 with invalid relations2544 logs the invalid relation and its errors2545RemoteMirror2546 URL validation2547 with a valid URL2548 is valid2549 with an invalid URL2550 is not valid2551 does not allow url with an invalid user2552 does not allow url pointing to localhost2553 does not allow url pointing to the local network2554 returns a nil safe_url2555 encrypting credentials2556 when setting URL for a first time2557 stores the URL without credentials2558 stores the credentials on a separate field2559 handles credentials with large content2560 when updating the URL2561 allows a new URL without credentials2562 allows a new URL with credentials2563 #bare_url2564 returns the URL without any credentials2565 returns an empty string when the URL is nil2566 #update_repository2567 performs update including options2568 #options_for_update2569 includes the `keep_divergent_refs` option2570 includes the `only_branches_matching` option2571 includes the `ssh_key` option2572 includes the `known_hosts` option2573 #safe_url2574 when URL contains credentials2575 masks the credentials2576 when URL does not contain credentials2577 shows the full URL2578 #mark_as_failed!2579 sets the update_status to failed2580 saves the sanitized error2581 notifications2582 notifies the project maintainers2583 #hard_retry!2584 transitions an invalid mirror to the to_retry state2585 #hard_fail!2586 transitions an invalid mirror to the failed state2587 when remote mirror gets destroyed2588 does not remove the remote2589 stuck mirrors2590 includes mirrors that were started over an hour ago2591 includes mirrors started over 3 hours ago for their first sync2592 #sync2593 with remote mirroring disabled2594 returns nil2595 with remote mirroring enabled2596 defaults to disabling only protected branches2597 with only protected branches enabled2598 when it did not update in the last minute2599 schedules a RepositoryUpdateRemoteMirrorWorker to run now2600 when it did update in the last minute2601 schedules a RepositoryUpdateRemoteMirrorWorker to run in the next minute2602 with only protected branches disabled2603 when it did not update in the last 5 minutes2604 schedules a RepositoryUpdateRemoteMirrorWorker to run now2605 when it did update within the last 5 minutes2606 schedules a RepositoryUpdateRemoteMirrorWorker to run in the next 5 minutes2607 when remote_mirror_no_delay is enabled2608 schedules a RepositoryUpdateRemoteMirrorWorker to run now2609 #url=2610 resets all the columns when URL changes2611 #updated_since?2612 when remote mirror does not have status failed2613 returns true when last update started after the timestamp2614 returns false when last update started before the timestamp2615 when remote mirror has status failed2616 returns false when last update started after the timestamp2617 no project2618 includes mirror with a project in pending_delete2619 #disabled?2620 when disabled2621 is expected to be truthy2622 when enabled2623 is expected to be falsy2624Projects::UpdateRepositoryStorageService2625 #execute2626 without wiki and design repository2627 when the move succeeds2628 moves the repository to the new storage and unmarks the repository as read-only2629 when the filesystems are the same2630 updates the database without trying to move the repostory2631 when the move fails2632 unmarks the repository as read-only without updating the repository storage2633 when the cleanup fails2634 sets the correct state2635 when the checksum does not match2636 unmarks the repository as read-only without updating the repository storage2637 when a object pool was joined2638 leaves the pool2639 when the repository move is finished2640 is idempotent2641 when the repository move is failed2642 is idempotent2643 project with no repositories2644 updates the database2645 with wiki repository2646 when the move succeeds2647 moves the project and its wiki repository to the new storage and unmarks the repository as read-only2648 :repack_after_shard_migration feature flag disabled2649 does not enqueue a GC run2650 :repack_after_shard_migration feature flag enabled2651 does not enqueue a GC run if housekeeping is disabled2652 enqueues a GC run2653 when the filesystems are the same2654 updates the database without trying to move the repostory2655 when the move of the wiki repository fails2656 unmarks the repository as read-only without updating the repository storage2657 when the cleanup of the wiki repository fails2658 sets the correct state2659 when the checksum of the wiki repository does not match2660 unmarks the repository as read-only without updating the repository storage2661 with design repository2662 when the move succeeds2663 moves the project and its design repository to the new storage and unmarks the repository as read-only2664 :repack_after_shard_migration feature flag disabled2665 does not enqueue a GC run2666 :repack_after_shard_migration feature flag enabled2667 does not enqueue a GC run if housekeeping is disabled2668 enqueues a GC run2669 when the filesystems are the same2670 updates the database without trying to move the repostory2671 when the move of the design repository fails2672 unmarks the repository as read-only without updating the repository storage2673 when the cleanup of the design repository fails2674 sets the correct state2675 when the checksum of the design repository does not match2676 unmarks the repository as read-only without updating the repository storage2677Gitlab::GithubImport::UserFinder2678 #author_id_for2679 with default author_key2680 returns the user ID for the author of an object2681 returns the ID of the project creator if no user ID could be found2682 returns the ID of the ghost user when the object has no user2683 returns the ID of the ghost user when the given object is nil2684 with a non-default author_key2685 when the author_key parameter is :actor2686 behaves like user ID finder2687 returns the user ID for an object2688 when the author_key parameter is :assignee2689 behaves like user ID finder2690 returns the user ID for an object2691 when the author_key parameter is :requested_reviewer2692 behaves like user ID finder2693 returns the user ID for an object2694 when the author_key parameter is :review_requester2695 behaves like user ID finder2696 returns the user ID for an object2697 #assignee_id_for2698 returns the user ID for the assignee of an issuable2699 returns nil if the issuable does not have an assignee2700 #user_id_for2701 returns the user ID for the given user2702 does not fail with empty input2703 #find2704 without a cache2705 finds a GitLab user for a GitHub user ID2706 finds a GitLab user for a GitHub Email address2707 with a cache2708 returns the cached user ID2709 does not query the database if the cache key exists but is empty2710 #find_from_cache2711 retrieves a GitLab user ID for a GitHub user ID2712 retrieves a GitLab user ID for a GitHub Email address2713 does not query the cache for an Email address when none is given2714 #find_id_from_database2715 returns the GitLab user ID for a GitHub user ID2716 returns the GitLab user ID for a GitHub Email address2717 #email_for_github_username2718 when an Email address is cached2719 reads the Email address from the cache2720 when an Email address is not cached2721 retrieves the Email address from the GitHub API2722 caches the Email address when an Email address is available2723 returns nil if the user does not exist2724 shortens the timeout for Email address in cache when an Email address is private/nil from GitHub2725 #cached_id_for_github_id2726 reads a user ID from the cache2727 reads a non existing cache key2728 #cached_id_for_github_email2729 reads a user ID from the cache2730 reads a non existing cache key2731 #id_for_github_id2732 queries and caches the user ID for a given GitHub ID2733 caches a nil value if no ID could be found2734 when importing from github enterprise2735 does not look up the user by external id2736 #id_for_github_email2737 queries and caches the user ID for a given Email address2738 caches a nil value if no ID could be found2739 #query_id_for_github_id2740 returns the ID of the user for the given GitHub user ID2741 returns nil when no user ID could be found2742 #query_id_for_github_email2743 returns the ID of the user for the given Email address2744 returns nil if no user ID could be found2745 #read_id_from_cache2746 reads an ID from the cache2747 reads a cache key with an empty value2748 reads a cache key that does not exist2749Snippets::CreateService2750 #execute2751 when ProjectSnippet2752 behaves like a service that creates a snippet2753 creates a snippet with the provided attributes2754 behaves like public visibility level restrictions apply2755 when user is not an admin2756 responds with an error2757 does not create a public snippet2758 when user is an admin2759 responds with success2760 creates a public snippet2761 when visibility level is passed as a string2762 assigns the correct visibility level2763 behaves like checking spam2764 executes SpamActionService2765 behaves like snippet create data is tracked2766 increments count when create succeeds2767 when create fails2768 does not increment count2769 behaves like an error service response when save fails2770 responds with an error2771 does not create the snippet2772 behaves like creates repository and files2773 creates repository2774 commits the files to the repository2775 when repository creation action fails2776 does not create the snippet2777 returns a generic creation error2778 does not return a snippet with an id2779 when repository creation fails with invalid file name2780 returns an appropriate error2781 when the commit action fails2782 does not create the snippet2783 destroys the created repository2784 destroys the snippet_repository2785 logs the error2786 returns a generic error2787 when snippet creation fails2788 does not create repository2789 behaves like after_save callback to store_mentions2790 when mentionable attributes change2791 saves mentions2792 when mentionable attributes do not change2793 does not call store_mentions2794 when save fails2795 does not call store_mentions2796 behaves like when snippet_actions param is present2797 creates a snippet with the provided attributes2798 commit the files to the repository2799 when content or file_name params are present2800 a validation error is raised2801 when snippet_actions param is invalid2802 a validation error is raised2803 when snippet_actions contain an action different from "create"2804 a validation error is raised2805 when "create" operation does not have file_path or is empty2806 generates the file path for the files2807 behaves like invalid params error response2808 responds to errors appropriately2809 when uploaded files are passed to the service2810 does not move uploaded files to the snippet2811 when PersonalSnippet2812 behaves like a service that creates a snippet2813 creates a snippet with the provided attributes2814 behaves like public visibility level restrictions apply2815 when user is not an admin2816 responds with an error2817 does not create a public snippet2818 when user is an admin2819 responds with success2820 creates a public snippet2821 when visibility level is passed as a string2822 assigns the correct visibility level2823 behaves like checking spam2824 executes SpamActionService2825 behaves like snippet create data is tracked2826 increments count when create succeeds2827 when create fails2828 does not increment count2829 behaves like an error service response when save fails2830 responds with an error2831 does not create the snippet2832 behaves like creates repository and files2833 creates repository2834 commits the files to the repository2835 when repository creation action fails2836 does not create the snippet2837 returns a generic creation error2838 does not return a snippet with an id2839 when repository creation fails with invalid file name2840 returns an appropriate error2841 when the commit action fails2842 does not create the snippet2843 destroys the created repository2844 destroys the snippet_repository2845 logs the error2846 returns a generic error2847 when snippet creation fails2848 does not create repository2849 behaves like after_save callback to store_mentions2850 when mentionable attributes change2851 saves mentions2852 when mentionable attributes do not change2853 does not call store_mentions2854 when save fails2855 does not call store_mentions2856 behaves like when snippet_actions param is present2857 creates a snippet with the provided attributes2858 commit the files to the repository2859 when content or file_name params are present2860 a validation error is raised2861 when snippet_actions param is invalid2862 a validation error is raised2863 when snippet_actions contain an action different from "create"2864 a validation error is raised2865 when "create" operation does not have file_path or is empty2866 generates the file path for the files2867 behaves like invalid params error response2868 responds to errors appropriately2869 when the snippet description contains files2870 stores the snippet description correctly2871 when there is a validation error2872 does not move uploaded files to the snippet2873ResourceLabelEvent2874 behaves like having unique enum values2875 has unique values in "action"2876 behaves like a resource event2877 importable2878 is expected to respond to #importing?2879 is expected to respond to #imported?2880 validations2881 is expected not to allow :user to be ‹nil›2882 when importing2883 is expected to allow :user to be ‹nil›2884 associations2885 is expected to belong to user required: false2886 .created_after2887 returns the expected events2888 returns no events if time is after last record time2889 behaves like a resource event for issues2890 associations2891 is expected to belong to issue required: false2892 .by_issue2893 returns the expected records for an issue with events2894 returns the expected records for an issue with no events2895 .by_issue_ids2896 returns the expected events2897 .by_created_at_earlier_or_equal_to2898 returns the expected events2899 returns the expected events2900 #issuable2901 returns the expected issuable2902 behaves like a resource event for merge requests2903 associations2904 is expected to belong to merge_request required: false2905 .by_merge_request2906 returns the expected records for an issue with events2907 returns the expected records for an issue with no events2908 #issuable2909 returns the expected issuable2910 associations2911 is expected to belong to label required: false2912 validations2913 is expected to be valid2914 Issuable validation2915 is invalid if issue_id and merge_request_id are missing2916 is invalid if issue_id and merge_request_id are set2917 is valid if only issue_id is set2918 is valid if only merge_request_id is set2919 callbacks2920 #expire_etag_cache2921 expires resource note etag cache on event save2922 expires resource note etag cache on event destroy2923 #outdated_markdown?2924 returns true if label is missing and reference is not empty2925 returns true if reference is not set yet2926 returns true if markdown is outdated2927 returns false if label and reference are set2928 .visible_to_user?2929 returns events with labels accessible by user2930 filters events with public project labels if issues and MRs are private2931 filters events with project labels not accessible by user2932 filters events with group labels not accessible by user2933 #discussion_id2934 generates different discussion ID for events created milliseconds apart2935PushEventPayloadService2936 #execute2937 creates a new PushEventPayload row2938 sets the push_event_payload association of the used event2939 #commit_title2940 returns nil if no commits were pushed2941 returns a String limited to 70 characters2942 does not truncate the commit message if it is shorter than 70 characters2943 includes the first line of a commit message if the message spans multiple lines2944 #commit_from_id2945 returns nil when creating a new ref2946 returns the ID of the first commit when pushing to an existing ref2947 #commit_to_id2948 returns nil when removing an existing ref2949 #commit_count2950 returns the number of commits2951 raises when the push data does not contain the commits count2952 #ref2953 returns the name of the ref2954 raises when the push data does not contain the ref name2955 #revision_before2956 returns the revision from before the push2957 raises when the push data does not contain the before revision2958 #revision_after2959 returns the revision from after the push2960 raises when the push data does not contain the after revision2961 #trimmed_ref2962 returns the ref name without its prefix2963 #create?2964 returns true when creating a new ref2965 returns false when pushing to an existing ref2966 #remove?2967 returns true when removing an existing ref2968 returns false pushing to an existing ref2969 #action2970 returns :created when creating a ref2971 returns :removed when removing an existing ref2972 returns :pushed when pushing to an existing ref2973 #ref_type2974 returns :tag for a tag2975 returns :branch for a branch2976GroupDescendantsFinder2977 #has_children?2978 is true when there are projects2979 when there are subgroups2980 is true when there are projects2981 #execute2982 includes projects2983 does not include archived projects2984 does not include projects aimed for deletion2985 sorts elements by name as default2986 does not include projects shared with the group2987 when archived is `true`2988 includes archived projects2989 when archived is `only`2990 includes only archived projects2991 with a filter2992 includes only projects matching the filter2993 sorting by name2994 sorts elements by name2995 with nested groups2996 sorts elements by name2997 with shared groups2998 without common ancestor2999 is expected to be empty3000 with common ancestor3001 querying under the common ancestor3002 is expected to be empty3003 querying the common ancestor3004 contains shared subgroups3005 with nested groups3006 #execute3007 contains projects and subgroups3008 does not include subgroups the user does not have access to3009 only includes public groups when no user is given3010 when archived is `true`3011 includes archived projects in the count of subgroups3012 with a filter3013 behaves like filter examples3014 contains only matching projects and subgroups3015 does not include subgroups the user does not have access to3016 with matching children3017 includes a group that has a subgroup matching the query and its parent3018 includes the parent of a matching project3019 does not include the parent itself3020 with a small page size3021 contains all the ancestors of a matching subgroup regardless the page size3022 when feature flag :linear_group_descendants_finder_upto is disabled3023 behaves like filter examples3024 contains only matching projects and subgroups3025 does not include subgroups the user does not have access to3026 with matching children3027 includes a group that has a subgroup matching the query and its parent3028 includes the parent of a matching project3029 does not include the parent itself3030 with a small page size3031 contains all the ancestors of a matching subgroup regardless the page size3032Milestoneable3033 #supports_milestone?3034 for issues3035 returns true3036 for merge requests3037 returns true3038 for incidents3039 returns true3040 release scopes3041 #any_milestone3042 when milestone filter is present and related closing issues are joined3043 returns merge request closing issues of any milestone3044 #without_release3045 returns the issues not tied to any milestone and the ones tied to milestone with no release3046 #any_release3047 returns all issues tied to a release3048 #with_release3049 returns the issues tied a specfic release3050 when a release has a milestone with one issue and another one with no issue3051 returns that one issue3052 when the milestone with no issue is added as a filter3053 returns an empty list3054 when the milestone with the issue is added as a filter3055 returns this issue3056 when there is no issue under a specific release3057 returns no issue3058 when a non-existent release tag is passed in3059 returns no issue3060 Issues3061 behaves like an object that can be assigned a milestone3062 Validation3063 milestone3064 with correct params3065 is expected to be valid3066 with empty string milestone3067 is expected to be valid3068 with nil milestone id3069 is expected to be valid3070 with a milestone id from another project3071 is expected to be invalid3072 #milestone_available?3073 returns true with a milestone from the issue project3074 returns true with a milestone from the issue project group3075 returns true with a milestone from the the parent of the issue project group3076 returns true with a blank milestone3077 returns false with a milestone from another project3078 returns false with a milestone from another group3079 MergeRequests3080 behaves like an object that can be assigned a milestone3081 Validation3082 milestone3083 with correct params3084 is expected to be valid3085 with empty string milestone3086 is expected to be valid3087 with nil milestone id3088 is expected to be valid3089 with a milestone id from another project3090 is expected to be invalid3091 #milestone_available?3092 returns true with a milestone from the issue project3093 returns true with a milestone from the issue project group3094 returns true with a milestone from the the parent of the issue project group3095 returns true with a blank milestone3096 returns false with a milestone from another project3097 returns false with a milestone from another group3098Projects::LfsPointers::LfsDownloadService3099 #execute3100 when file download succeeds3101 has the same oid3102 has the same size3103 stores the content3104 streams the download3105 skips read_total_timeout3106 behaves like lfs object is created3107 creates and associate the LFS object to project3108 returns success result3109 behaves like lfs temporal file is removed3110 is expected to equal false3111 when file downloading response code is not success3112 raise StandardError exception3113 behaves like no lfs object is created3114 is expected not to change `LfsObject.count`3115 returns error result3116 an error is logged3117 behaves like lfs temporal file is removed3118 is expected to equal false3119 when file downloading request timeout few times3120 retries to get LFS object 3 times before raising exception3121 behaves like no lfs object is created3122 is expected not to change `LfsObject.count`3123 returns error result3124 an error is logged3125 behaves like lfs temporal file is removed3126 is expected to equal false3127 when file download returns a redirect3128 correctly stores lfs object3129 behaves like lfs object is created3130 creates and associate the LFS object to project3131 returns success result3132 behaves like lfs temporal file is removed3133 is expected to equal false3134 when downloaded lfs file has a different size3135 raise SizeError exception3136 behaves like no lfs object is created3137 is expected not to change `LfsObject.count`3138 returns error result3139 an error is logged3140 behaves like lfs temporal file is removed3141 is expected to equal false3142 when downloaded lfs file has a different oid3143 raise OidError exception3144 behaves like no lfs object is created3145 is expected not to change `LfsObject.count`3146 returns error result3147 an error is logged3148 behaves like lfs temporal file is removed3149 is expected to equal false3150 when an lfs object with the same oid already exists3151 does not update the file attached to the existing LfsObject3152 behaves like no lfs object is created3153 is expected not to change `LfsObject.count`3154 returns error result3155 an error is logged3156 behaves like lfs temporal file is removed3157 is expected to equal false3158 when credentials present3159 the request adds authorization headers3160 when Authorization header is present3161 request uses the header auth3162 when localhost requests are allowed3163 behaves like lfs object is created3164 creates and associate the LFS object to project3165 returns success result3166 behaves like lfs temporal file is removed3167 is expected to equal false3168 when a bad URL is used3169 download_link: "/etc/passwd"3170 does not download the file3171 download_link: "ftp://example.com"3172 does not download the file3173 download_link: "http://127.0.0.2"3174 does not download the file3175 download_link: "http://192.168.2.120"3176 does not download the file3177 when the URL points to a redirected URL3178 that is blocked3179 redirect_link: "ftp://example.com"3180 behaves like no lfs object is created3181 is expected not to change `LfsObject.count`3182 returns error result3183 an error is logged3184 behaves like lfs temporal file is removed3185 is expected to equal false3186 redirect_link: "http://127.0.0.2"3187 behaves like no lfs object is created3188 is expected not to change `LfsObject.count`3189 returns error result3190 an error is logged3191 behaves like lfs temporal file is removed3192 is expected to equal false3193 redirect_link: "http://192.168.2.120"3194 behaves like no lfs object is created3195 is expected not to change `LfsObject.count`3196 returns error result3197 an error is logged3198 behaves like lfs temporal file is removed3199 is expected to equal false3200 that is not blocked3201 behaves like lfs object is created3202 creates and associate the LFS object to project3203 returns success result3204 behaves like lfs temporal file is removed3205 is expected to equal false3206 when the lfs object attributes are invalid3207 does not download the file3208 behaves like no lfs object is created3209 is expected not to change `LfsObject.count`3210 returns error result3211 an error is logged3212 behaves like lfs temporal file is removed3213 is expected to equal false3214 when a large lfs object with the same oid already exists3215 and first fragments are the same3216 returns success3217 links existing lfs object to the project3218 when lfs_link_existing_object feature flag disabled3219 does not call link_existing_lfs_object!3220 and first fragments diverges3221 raises oid mismatch error3222 does not change lfs objects3223Environments::EnvironmentNamesFinder3224 #execute3225 using a group3226 with a group developer3227 returns environment names for all projects3228 with a group reporter3229 returns environment names for all projects3230 with a public project reporter3231 returns environment names for all public projects3232 with a private project reporter3233 returns environment names for all public projects3234 with a group guest3235 returns environment names for all public projects3236 with a non-member3237 returns environment names for all public projects3238 without a user3239 returns environment names for all public projects3240 using a public project3241 with a project developer3242 returns all the unique environment names3243 with a project reporter3244 returns all the unique environment names3245 with a project guest3246 returns all the unique environment names3247 with a non-member3248 returns all the unique environment names3249 without a user3250 returns all the unique environment names3251 using a private project3252 with a project developer3253 returns all the unique environment names3254 with a project reporter3255 returns all the unique environment names3256 with a project guest3257 does not return any environment names3258 with a non-member3259 does not return any environment names3260 without a user3261 does not return any environment names3262Gitlab::Ci::Ansi2json::Style3263 #set?3264 when fg color is set3265 is expected to be truthy3266 when bg color is set3267 is expected to be truthy3268 when mask is set3269 is expected to be truthy3270 nothing is set3271 is expected to be falsey3272 #reset!3273 set the style params to default3274 update formats to mimic terminals3275 when fg color present3276 when mask is set to bold3277 changes the fg color to a lighter version3278 when mask set to another format3279 does not change the fg color3280 when mask is not set3281 does not change the fg color3282 #update3283 initial_state: [], ansi_commands: ["0"], result: "", description: "does not set any style"3284 change the style3285 initial_state: [], ansi_commands: ["1"], result: "term-bold", description: "enables format bold"3286 change the style3287 initial_state: [], ansi_commands: ["3"], result: "term-italic", description: "enables format italic"3288 change the style3289 initial_state: [], ansi_commands: ["4"], result: "term-underline", description: "enables format underline"3290 change the style3291 initial_state: [], ansi_commands: ["8"], result: "term-conceal", description: "enables format conceal"3292 change the style3293 initial_state: [], ansi_commands: ["9"], result: "term-cross", description: "enables format cross"3294 change the style3295 initial_state: ["1"], ansi_commands: ["21"], result: "", description: "disables format bold"3296 change the style3297 initial_state: ["1", "3"], ansi_commands: ["21"], result: "term-italic", description: "disables format bold and leaves italic"3298 change the style3299 initial_state: ["1"], ansi_commands: ["22"], result: "", description: "disables format bold using command 22"3300 change the style3301 initial_state: ["1", "3"], ansi_commands: ["22"], result: "term-italic", description: "disables format bold and leaves italic using command 22"3302 change the style3303 initial_state: ["3"], ansi_commands: ["23"], result: "", description: "disables format italic"3304 change the style3305 initial_state: ["1", "3"], ansi_commands: ["23"], result: "term-bold", description: "disables format italic and leaves bold"3306 change the style3307 initial_state: ["4"], ansi_commands: ["24"], result: "", description: "disables format underline"3308 change the style3309 initial_state: ["1", "4"], ansi_commands: ["24"], result: "term-bold", description: "disables format underline and leaves bold"3310 change the style3311 initial_state: ["8"], ansi_commands: ["28"], result: "", description: "disables format conceal"3312 change the style3313 initial_state: ["1", "8"], ansi_commands: ["28"], result: "term-bold", description: "disables format conceal and leaves bold"3314 change the style3315 initial_state: ["9"], ansi_commands: ["29"], result: "", description: "disables format cross"3316 change the style3317 initial_state: ["1", "9"], ansi_commands: ["29"], result: "term-bold", description: "disables format cross and leaves bold"3318 change the style3319 initial_state: [], ansi_commands: ["30"], result: "term-fg-black", description: "sets fg color black"3320 change the style3321 initial_state: [], ansi_commands: ["31"], result: "term-fg-red", description: "sets fg color red"3322 change the style3323 initial_state: [], ansi_commands: ["32"], result: "term-fg-green", description: "sets fg color green"3324 change the style3325 initial_state: [], ansi_commands: ["33"], result: "term-fg-yellow", description: "sets fg color yellow"3326 change the style3327 initial_state: [], ansi_commands: ["34"], result: "term-fg-blue", description: "sets fg color blue"3328 change the style3329 initial_state: [], ansi_commands: ["35"], result: "term-fg-magenta", description: "sets fg color magenta"3330 change the style3331 initial_state: [], ansi_commands: ["36"], result: "term-fg-cyan", description: "sets fg color cyan"3332 change the style3333 initial_state: [], ansi_commands: ["37"], result: "term-fg-white", description: "sets fg color white"3334 change the style3335 initial_state: [], ansi_commands: ["38", "5", "1"], result: "xterm-fg-1", description: "sets xterm fg color 1"3336 change the style3337 initial_state: [], ansi_commands: ["38", "5", "2"], result: "xterm-fg-2", description: "sets xterm fg color 2"3338 change the style3339 initial_state: [], ansi_commands: ["38", "1"], result: "term-bold", description: "ignores 38 command if not followed by 5 and sets format bold"3340 change the style3341 initial_state: [], ansi_commands: ["40"], result: "term-bg-black", description: "sets bg color black"3342 change the style3343 initial_state: [], ansi_commands: ["41"], result: "term-bg-red", description: "sets bg color red"3344 change the style3345 initial_state: [], ansi_commands: ["42"], result: "term-bg-green", description: "sets bg color green"3346 change the style3347 initial_state: [], ansi_commands: ["43"], result: "term-bg-yellow", description: "sets bg color yellow"3348 change the style3349 initial_state: [], ansi_commands: ["44"], result: "term-bg-blue", description: "sets bg color blue"3350 change the style3351 initial_state: [], ansi_commands: ["45"], result: "term-bg-magenta", description: "sets bg color magenta"3352 change the style3353 initial_state: [], ansi_commands: ["46"], result: "term-bg-cyan", description: "sets bg color cyan"3354 change the style3355 initial_state: [], ansi_commands: ["47"], result: "term-bg-white", description: "sets bg color white"3356 change the style3357 initial_state: [], ansi_commands: ["48", "5", "1"], result: "xterm-bg-1", description: "sets xterm bg color 1"3358 change the style3359 initial_state: [], ansi_commands: ["48", "5", "2"], result: "xterm-bg-2", description: "sets xterm bg color 2"3360 change the style3361 initial_state: [], ansi_commands: ["48", "1"], result: "term-bold", description: "ignores 48 command if not followed by 5 and sets format bold"3362 change the style3363 initial_state: [], ansi_commands: ["90"], result: "term-fg-l-black", description: "sets fg color light black"3364 change the style3365 initial_state: [], ansi_commands: ["91"], result: "term-fg-l-red", description: "sets fg color light red"3366 change the style3367 initial_state: [], ansi_commands: ["92"], result: "term-fg-l-green", description: "sets fg color light green"3368 change the style3369 initial_state: [], ansi_commands: ["93"], result: "term-fg-l-yellow", description: "sets fg color light yellow"3370 change the style3371 initial_state: [], ansi_commands: ["94"], result: "term-fg-l-blue", description: "sets fg color light blue"3372 change the style3373 initial_state: [], ansi_commands: ["95"], result: "term-fg-l-magenta", description: "sets fg color light magenta"3374 change the style3375 initial_state: [], ansi_commands: ["96"], result: "term-fg-l-cyan", description: "sets fg color light cyan"3376 change the style3377 initial_state: [], ansi_commands: ["97"], result: "term-fg-l-white", description: "sets fg color light white"3378 change the style3379 initial_state: [], ansi_commands: ["100"], result: "term-bg-l-black", description: "sets bg color light black"3380 change the style3381 initial_state: [], ansi_commands: ["101"], result: "term-bg-l-red", description: "sets bg color light red"3382 change the style3383 initial_state: [], ansi_commands: ["102"], result: "term-bg-l-green", description: "sets bg color light green"3384 change the style3385 initial_state: [], ansi_commands: ["103"], result: "term-bg-l-yellow", description: "sets bg color light yellow"3386 change the style3387 initial_state: [], ansi_commands: ["104"], result: "term-bg-l-blue", description: "sets bg color light blue"3388 change the style3389 initial_state: [], ansi_commands: ["105"], result: "term-bg-l-magenta", description: "sets bg color light magenta"3390 change the style3391 initial_state: [], ansi_commands: ["106"], result: "term-bg-l-cyan", description: "sets bg color light cyan"3392 change the style3393 initial_state: [], ansi_commands: ["107"], result: "term-bg-l-white", description: "sets bg color light white"3394 change the style3395 initial_state: ["1"], ansi_commands: [], result: "", description: "resets style from format bold"3396 change the style3397 initial_state: ["1"], ansi_commands: ["0"], result: "", description: "resets style from format bold"3398 change the style3399 initial_state: ["1", "3"], ansi_commands: ["0"], result: "", description: "resets style from format bold and italic"3400 change the style3401 initial_state: ["1", "3", "term-fg-l-red", "term-bg-yellow"], ansi_commands: ["0"], result: "", description: "resets all formats and colors"3402 change the style3403 initial_state: ["31", "42"], ansi_commands: ["39"], result: "term-bg-green", description: "set foreground from red to default leaving background unchanged"3404 change the style3405 initial_state: ["31", "42"], ansi_commands: ["49"], result: "term-fg-red", description: "set background from green to default leaving foreground unchanged"3406 change the style3407 initial_state: [], ansi_commands: ["1", "30", "42", "3"], result: "term-fg-l-black term-bg-green term-bold term-italic", description: "adds fg color, bg color and formats from no style"3408 change the style3409 initial_state: ["3", "31"], ansi_commands: ["23", "1", "43"], result: "term-fg-l-red term-bg-yellow term-bold", description: "replaces format italic with bold and adds a yellow background"3410 change the style3411Gitlab::Auth::Ldap::DN3412 #normalize_value3413 behaves like normalizes a DN attribute value3414 test_description: "strips extraneous whitespace", given: " John Smith ", expected: "john smith"3415 normalizes the DN attribute value3416 test_description: "unescapes non-reserved, non-special Unicode characters", given: "Sebasti\\c3\\a1n\\ C.\\20Smith", expected: "sebastián c. smith"3417 normalizes the DN attribute value3418 test_description: "downcases the whole string", given: "JoHn C. Smith", expected: "john c. smith"3419 normalizes the DN attribute value3420 test_description: "does not strip an escaped leading space in an attribute value", given: "\\ John Smith", expected: "\\ john smith"3421 normalizes the DN attribute value3422 test_description: "does not strip an escaped trailing space in an attribute value", given: "John Smith\\ ", expected: "john smith\\ "3423 normalizes the DN attribute value3424 test_description: "hex-escapes an escaped leading newline in an attribute value", given: "\\\nJohn Smith", expected: "\\0ajohn smith"3425 normalizes the DN attribute value3426 test_description: "hex-escapes and does not strip an escaped trailing newline in an attribute value", given: "John Smith\\\n", expected: "john smith\\0a"3427 normalizes the DN attribute value3428 test_description: "hex-escapes an unescaped leading newline (actually an invalid DN value?)", given: "\nJohn Smith", expected: "\\0ajohn smith"3429 normalizes the DN attribute value3430 test_description: "strips an unescaped trailing newline (actually an invalid DN value?)", given: "John Smith\n", expected: "john smith"3431 normalizes the DN attribute value3432 test_description: "does not strip if no extraneous whitespace", given: "John Smith", expected: "john smith"3433 normalizes the DN attribute value3434 test_description: "does not modify an escaped equal sign in an attribute value", given: " foo \\= bar", expected: "foo \\= bar"3435 normalizes the DN attribute value3436 test_description: "converts an escaped hex equal sign to an escaped equal sign in an attribute value", given: " foo \\3D bar", expected: "foo \\= bar"3437 normalizes the DN attribute value3438 test_description: "does not modify an escaped comma in an attribute value", given: "San Francisco\\, CA", expected: "san francisco\\, ca"3439 normalizes the DN attribute value3440 test_description: "converts an escaped hex comma to an escaped comma in an attribute value", given: "San Francisco\\2C CA", expected: "san francisco\\, ca"3441 normalizes the DN attribute value3442 test_description: "does not modify an escaped hex carriage return character in an attribute value", given: "San Francisco\\,\\0DCA", expected: "san francisco\\,\\0dca"3443 normalizes the DN attribute value3444 test_description: "does not modify an escaped hex line feed character in an attribute value", given: "San Francisco\\,\\0ACA", expected: "san francisco\\,\\0aca"3445 normalizes the DN attribute value3446 test_description: "does not modify an escaped hex CRLF in an attribute value", given: "San Francisco\\,\\0D\\0ACA", expected: "san francisco\\,\\0d\\0aca"3447 normalizes the DN attribute value3448 when the given DN is malformed3449 when ending with a comma3450 raises MalformedError3451 when given a BER encoded attribute value with a space in it3452 raises MalformedError3453 when given a BER encoded attribute value with a non-hex character in it3454 raises MalformedError3455 when given a BER encoded attribute value with a non-hex character in it3456 raises MalformedError3457 when given a hex pair with a non-hex character in it, inside double quotes3458 raises MalformedError3459 with an open (as opposed to closed) double quote3460 raises MalformedError3461 with an invalid escaped hex code3462 raises MalformedError3463 with a value ending with the escape character3464 raises MalformedError3465 #to_normalized_s3466 behaves like normalizes a DN3467 test_description: "strips extraneous whitespace", given: "uid =John Smith , ou = People, dc= example,dc =com", expected: "uid=john smith,ou=people,dc=example,dc=com"3468 normalizes the DN3469 test_description: "strips extraneous whitespace for a DN with a single RDN", given: "uid = John Smith", expected: "uid=john smith"3470 normalizes the DN3471 test_description: "unescapes non-reserved, non-special Unicode characters", given: "uid = Sebasti\\c3\\a1n\\ C.\\20Smith, ou=People (aka. \\22humans\\\") ,dc=example, dc=com", expected: "uid=sebastián c. smith,ou=people (aka. \\\"humans\\\"),dc=example,dc=com"3472 normalizes the DN3473 test_description: "downcases the whole string", given: "UID=John Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"3474 normalizes the DN3475 test_description: "for a null DN (empty string), returns empty string and does not error", given: "", expected: ""3476 normalizes the DN3477 test_description: "does not strip an escaped leading space in an attribute value", given: "uid=\\ John Smith,ou=People,dc=example,dc=com", expected: "uid=\\ john smith,ou=people,dc=example,dc=com"3478 normalizes the DN3479 test_description: "does not strip an escaped leading space in the last attribute value", given: "uid=\\ John Smith", expected: "uid=\\ john smith"3480 normalizes the DN3481 test_description: "does not strip an escaped trailing space in an attribute value", given: "uid=John Smith\\ ,ou=People,dc=example,dc=com", expected: "uid=john smith\\ ,ou=people,dc=example,dc=com"3482 normalizes the DN3483 test_description: "strips extraneous spaces after an escaped trailing space", given: "uid=John Smith\\ ,ou=People,dc=example,dc=com", expected: "uid=john smith\\ ,ou=people,dc=example,dc=com"3484 normalizes the DN3485 test_description: "strips extraneous spaces after an escaped trailing space at the end of the DN", given: "uid=John Smith,ou=People,dc=example,dc=com\\ ", expected: "uid=john smith,ou=people,dc=example,dc=com\\ "3486 normalizes the DN3487 test_description: "properly preserves escaped trailing space after unescaped trailing spaces", given: "uid=John Smith \\ ,ou=People,dc=example,dc=com", expected: "uid=john smith \\ ,ou=people,dc=example,dc=com"3488 normalizes the DN3489 test_description: "preserves multiple inner spaces in an attribute value", given: "uid=John Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"3490 normalizes the DN3491 test_description: "preserves inner spaces after an escaped space", given: "uid=John\\ Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"3492 normalizes the DN3493 test_description: "hex-escapes an escaped leading newline in an attribute value", given: "uid=\\\nJohn Smith,ou=People,dc=example,dc=com", expected: "uid=\\0ajohn smith,ou=people,dc=example,dc=com"3494 normalizes the DN3495 test_description: "hex-escapes and does not strip an escaped trailing newline in an attribute value", given: "uid=John Smith\\\n,ou=People,dc=example,dc=com", expected: "uid=john smith\\0a,ou=people,dc=example,dc=com"3496 normalizes the DN3497 test_description: "hex-escapes an unescaped leading newline (actually an invalid DN?)", given: "uid=\nJohn Smith,ou=People,dc=example,dc=com", expected: "uid=\\0ajohn smith,ou=people,dc=example,dc=com"3498 normalizes the DN3499 test_description: "strips an unescaped trailing newline (actually an invalid DN?)", given: "uid=John Smith\n,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"3500 normalizes the DN3501 test_description: "does not strip if no extraneous whitespace", given: "uid=John Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"3502 normalizes the DN3503 test_description: "does not modify an escaped equal sign in an attribute value", given: "uid= foo \\= bar", expected: "uid=foo \\= bar"3504 normalizes the DN3505 test_description: "converts an escaped hex equal sign to an escaped equal sign in an attribute value", given: "uid= foo \\3D bar", expected: "uid=foo \\= bar"3506 normalizes the DN3507 test_description: "does not modify an escaped comma in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\, CA", expected: "uid=john c. smith,ou=san francisco\\, ca"3508 normalizes the DN3509 test_description: "converts an escaped hex comma to an escaped comma in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\2C CA", expected: "uid=john c. smith,ou=san francisco\\, ca"3510 normalizes the DN3511 test_description: "does not modify an escaped hex carriage return character in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0DCA", expected: "uid=john c. smith,ou=san francisco\\,\\0dca"3512 normalizes the DN3513 test_description: "does not modify an escaped hex line feed character in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0ACA", expected: "uid=john c. smith,ou=san francisco\\,\\0aca"3514 normalizes the DN3515 test_description: "does not modify an escaped hex CRLF in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0D\\0ACA", expected: "uid=john c. smith,ou=san francisco\\,\\0d\\0aca"3516 normalizes the DN3517 test_description: "allows attribute type name OIDs", given: "0.9.2342.19200300.100.1.25=Example,0.9.2342.19200300.100.1.25=Com", expected: "0.9.2342.19200300.100.1.25=example,0.9.2342.19200300.100.1.25=com"3518 normalizes the DN3519 test_description: "strips extraneous whitespace from attribute type name OIDs", given: "0.9.2342.19200300.100.1.25 = Example, 0.9.2342.19200300.100.1.25 = Com", expected: "0.9.2342.19200300.100.1.25=example,0.9.2342.19200300.100.1.25=com"3520 normalizes the DN3521 when we do not support the given DN format3522 multivalued RDNs3523 without extraneous whitespace3524 raises UnsupportedError3525 with extraneous whitespace3526 around the phone number plus sign3527 raises UnsupportedError3528 not around the phone number plus sign3529 raises UnsupportedError3530 when the given DN is malformed3531 when ending with a comma3532 raises MalformedError3533 when given a BER encoded attribute value with a space in it3534 raises MalformedError3535 when given a BER encoded attribute value with a non-hex character in it3536 raises MalformedError3537 when given a BER encoded attribute value with a non-hex character in it3538 raises MalformedError3539 when given a hex pair with a non-hex character in it, inside double quotes3540 raises MalformedError3541 without a name value pair3542 raises MalformedError3543 with an open (as opposed to closed) double quote3544 raises MalformedError3545 with an invalid escaped hex code3546 raises MalformedError3547 with a value ending with the escape character3548 raises MalformedError3549 with an invalid OID attribute type name3550 raises MalformedError3551 with a period in a non-OID attribute type name3552 raises MalformedError3553 when starting with non-space, non-alphanumeric character3554 raises MalformedError3555 when given a UID with an escaped equal sign3556 raises MalformedError3557ActiveSession3558 #current?3559 returns true if the active session matches the current session3560 returns false if the active session does not match the current session3561 returns false if the session id is nil3562 .list3563 returns all sessions by user3564 returns an empty array if the user does not have any active session3565 when the current session is in the old format3566 behaves like ignoring obsolete entries3567 does not return obsolete entries and cleans them up3568 when the current session is in the new format3569 behaves like ignoring obsolete entries3570 does not return obsolete entries and cleans them up3571 .list_sessions3572 uses the ActiveSession lookup to return original sessions3573 .session_ids_for_user3574 uses the user lookup table to return session ids3575 .sessions_from_ids3576 uses the ActiveSession lookup to return original sessions3577 avoids a redis lookup for an empty array3578 uses redis lookup in batches3579 .set3580 sets a new redis entry for the user session and a lookup entry3581 adds timestamps and information from the request3582 is possible to log in only using the old session key3583 keeps the created_at from the login on consecutive requests3584 .destroy_session3585 destroy called with Rack::Session::SessionId#private_id3586 calls .destroy_sessions3587 ActiveSession with session_private_id3588 when using old session key serialization3589 removes the devise session3590 removes the lookup entry3591 removes the ActiveSession3592 when using new session key serialization3593 removes the devise session3594 removes the lookup entry3595 removes the ActiveSession3596 .destroy_all_but_current3597 gracefully handles a nil session ID3598 with legacy sessions3599 behaves like with user sessions3600 removes the entry associated with the all user sessions but current3601 removes the lookup entry of deleted sessions3602 does not remove impersonated sessions3603 with new sessions3604 behaves like with user sessions3605 removes the entry associated with the all user sessions but current3606 removes the lookup entry of deleted sessions3607 does not remove impersonated sessions3608 .cleanup3609 with legacy sessions3610 behaves like cleaning up3611 does not bail if there are no lookup entries3612 when removing obsolete sessions3613 removes obsolete lookup entries3614 cleaning up old sessions3615 removes obsolete active sessions entries3616 removes obsolete lookup entries3617 removes obsolete lookup entries even without active session3618 when the number of active sessions is lower than the limit3619 does not remove active session entries, but removes lookup entries3620 cleaning up old sessions stored by Rack::Session::SessionId#private_id3621 removes obsolete active sessions entries3622 with new sessions3623 behaves like cleaning up3624 does not bail if there are no lookup entries3625 when removing obsolete sessions3626 removes obsolete lookup entries3627 cleaning up old sessions3628 removes obsolete active sessions entries3629 removes obsolete lookup entries3630 removes obsolete lookup entries even without active session3631 when the number of active sessions is lower than the limit3632 does not remove active session entries, but removes lookup entries3633 cleaning up old sessions stored by Rack::Session::SessionId#private_id3634 removes obsolete active sessions entries3635 .cleaned_up_lookup_entries3636 with legacy sessions3637 behaves like cleaning up lookup entries3638 removes obsolete lookup entries3639 reports the removed entries3640 with new sessions3641 behaves like cleaning up lookup entries3642 removes obsolete lookup entries3643 reports the removed entries3644AuthHelper3645 button_based_providers3646 returns all enabled providers from devise3647 does not return ldap provider3648 returns empty array3649 providers_for_base_controller3650 returns all enabled providers from devise3651 excludes ldap providers3652 form_based_providers3653 includes LDAP providers3654 includes crowd provider3655 form_based_auth_provider_has_active_class?3656 selects main LDAP server3657 any_form_based_providers_enabled?3658 detects form-based providers3659 ignores ldap providers when ldap web sign in is disabled3660 enabled_button_based_providers3661 all providers are enabled to sign in3662 returns all the enabled providers from settings in expected order3663 puts google and github in the beginning3664 GitHub OAuth sign in is disabled from application setting3665 doesn't return github as provider3666 popular_enabled_button_based_providers3667 returns the intersection set of popular & enabled providers3668 button_based_providers_enabled?3669 button based providers enabled3670 returns true3671 all the button based providers are disabled via application_setting3672 returns false3673 #link_provider_allowed?3674 delegates to identity provider policy3675 #unlink_provider_allowed?3676 delegates to identity provider policy3677 #provider_has_icon?3678 returns true for defined providers3679 returns false for undefined providers3680 when provider is defined by config3681 returns true3682 when provider is not defined by config3683 returns true3684 #allow_admin_mode_password_authentication_for_web?3685 is expected to equal true3686 when password authentication for web is disabled3687 is expected to equal false3688 when current_user is an ldap user3689 is expected to equal false3690 when user got password automatically set3691 is expected to equal false3692 #auth_active?3693 for atlassian_oauth2 provider3694 returns true when present3695 returns false when not present3696 for other omniauth providers3697 returns true when present3698 returns false when not present3699 #google_tag_manager_enabled?3700 when not on gitlab.com3701 is expected to eq false3702 regular and nonce versions3703 gtm_nonce_enabled: false, gtm_key: "google_tag_manager_id"3704 on gitlab.com and a key set without a current user3705 is expected to be truthy3706 when no key is set3707 is expected to eq false3708 gtm_nonce_enabled: true, gtm_key: "google_tag_manager_nonce_id"3709 on gitlab.com and a key set without a current user3710 is expected to be truthy3711 when no key is set3712 is expected to eq false3713 #google_tag_manager_id3714 when google tag manager is disabled3715 is expected to be falsey3716 when google tag manager is enabled3717 when nonce feature flag is enabled3718 is expected to eq "nonce"3719 when nonce feature flag is disabled3720 is expected to eq "gtm"3721 #auth_app_owner_text3722 when owner is a user3723 behaves like generates text with the correct info3724 includes the name of the application owner3725 when owner is a group3726 behaves like generates text with the correct info3727 includes the name of the application owner3728 when the user is missing3729 returns nil3730 #auth_strategy_class3731 when configuration specifies no provider3732 returns false3733 when configuration specifies a provider with args but without strategy_class3734 returns false3735 when configuration specifies a provider with args and strategy_class3736 returns the class3737 when configuration specifies another provider with args and another strategy_class3738 returns false3739 #saml_providers3740 when SAML is enabled without specifying a strategy class3741 returns the saml provider3742 when configuration specifies no provider3743 returns an empty list3744 when configuration specifies a provider with a SAML strategy_class3745 returns the provider3746 when configuration specifies two providers with a SAML strategy_class3747 returns the provider3748 when configuration specifies a provider with a non-SAML strategy_class3749 returns an empty list3750 when configuration specifies four providers but only two with SAML strategy_class3751 returns the provider3752ContainerExpirationPolicies::UpdateService3753 #execute3754 with existing container expiration policy3755 user_role: :maintainer, shared_examples_name: "updating the container expiration policy"3756 behaves like updating the container expiration policy3757 behaves like updating the container expiration policy attributes3758 updates the container expiration policy3759 behaves like not creating the container expiration policy3760 doesn't create the container expiration policy3761 behaves like returning a success3762 returns a success3763 with invalid params3764 doesn't update the cadence3765 behaves like not creating the container expiration policy3766 doesn't create the container expiration policy3767 behaves like returning an error3768 returns an error3769 user_role: :developer, shared_examples_name: "denying access to container expiration policy"3770 behaves like denying access to container expiration policy3771 with existing container expiration policy3772 behaves like not creating the container expiration policy3773 doesn't create the container expiration policy3774 behaves like returning an error3775 returns an error3776 user_role: :reporter, shared_examples_name: "denying access to container expiration policy"3777 behaves like denying access to container expiration policy3778 with existing container expiration policy3779 behaves like not creating the container expiration policy3780 doesn't create the container expiration policy3781 behaves like returning an error3782 returns an error3783 user_role: :guest, shared_examples_name: "denying access to container expiration policy"3784 behaves like denying access to container expiration policy3785 with existing container expiration policy3786 behaves like not creating the container expiration policy3787 doesn't create the container expiration policy3788 behaves like returning an error3789 returns an error3790 user_role: :anonymous, shared_examples_name: "denying access to container expiration policy"3791 behaves like denying access to container expiration policy3792 with existing container expiration policy3793 behaves like not creating the container expiration policy3794 doesn't create the container expiration policy3795 behaves like returning an error3796 returns an error3797 without existing container expiration policy3798 user_role: :maintainer, shared_examples_name: "creating the container expiration policy"3799 behaves like creating the container expiration policy3800 behaves like updating the container expiration policy attributes3801 creates a new container expiration policy3802 updates the container expiration policy3803 behaves like returning a success3804 returns a success3805 user_role: :developer, shared_examples_name: "denying access to container expiration policy"3806 behaves like denying access to container expiration policy3807 with existing container expiration policy3808 behaves like not creating the container expiration policy3809 doesn't create the container expiration policy3810 behaves like returning an error3811 returns an error3812 user_role: :reporter, shared_examples_name: "denying access to container expiration policy"3813 behaves like denying access to container expiration policy3814 with existing container expiration policy3815 behaves like not creating the container expiration policy3816 doesn't create the container expiration policy3817 behaves like returning an error3818 returns an error3819 user_role: :guest, shared_examples_name: "denying access to container expiration policy"3820 behaves like denying access to container expiration policy3821 with existing container expiration policy3822 behaves like not creating the container expiration policy3823 doesn't create the container expiration policy3824 behaves like returning an error3825 returns an error3826 user_role: :anonymous, shared_examples_name: "denying access to container expiration policy"3827 behaves like denying access to container expiration policy3828 with existing container expiration policy3829 behaves like not creating the container expiration policy3830 doesn't create the container expiration policy3831 behaves like returning an error3832 returns an error3833Ci::PendingBuild3834 associations3835 is expected to belong to project required: false3836 is expected to belong to build required: false3837 is expected to belong to namespace required: false3838 scopes3839 .with_instance_runners3840 when pending builds cannot be picked up by runner3841 returns an empty collection of pending builds3842 when pending builds can be picked up by runner3843 returns matching pending builds3844 .for_tags3845 when tag_ids match pending builds3846 returns matching pending builds3847 when tag_ids does not match pending builds3848 returns matching pending builds without tags3849 when tag_ids is not provided3850 with a nil value3851 returns matching pending builds without tags3852 with an empty array3853 returns matching pending builds without tags3854 .upsert_from_build!3855 another pending entry does not exist3856 creates a new pending entry3857 when another queuing entry exists for given build3858 returns a build id as a result3859 when project does not have shared runners enabled3860 sets instance_runners_enabled to false3861 when project has shared runner3862 sets instance_runners_enabled to true3863 when project is about to be deleted3864 sets instance_runners_enabled to false3865 when builds are disabled3866 sets instance_runners_enabled to false3867 when build has tags3868 sets tag_ids3869 when a build project is nested in a subgroup3870 when build can be picked by a group runner3871 denormalizes namespace traversal ids3872 when build can not be picked by a group runner3873 creates an empty namespace traversal ids array3874 partitioning3875 assigns the same partition id as the one that build has3876 behaves like cleanup by a loose foreign key3877 cleans up (delete or nullify) the model3878 behaves like cleanup by a loose foreign key3879 cleans up (delete or nullify) the model3880Pages::InvalidateDomainCacheWorker3881 behaves like clears caches with3882 clears the cache with Gitlab::Pages::CacheControl3883 behaves like subscribes to event3884 consumes the published event3885 behaves like an idempotent worker3886 is labeled as idempotent3887 performs multiple times sequentially without raising an exception3888 behaves like clears caches with3889 clears the cache with Gitlab::Pages::CacheControl3890 behaves like subscribes to event3891 consumes the published event3892 behaves like an idempotent worker3893 is labeled as idempotent3894 performs multiple times sequentially without raising an exception3895 behaves like clears caches with3896 clears the cache with Gitlab::Pages::CacheControl3897 behaves like subscribes to event3898 consumes the published event3899 behaves like an idempotent worker3900 is labeled as idempotent3901 performs multiple times sequentially without raising an exception3902 behaves like clears caches with3903 clears the cache with Gitlab::Pages::CacheControl3904 behaves like subscribes to event3905 consumes the published event3906 behaves like an idempotent worker3907 is labeled as idempotent3908 performs multiple times sequentially without raising an exception3909 behaves like clears caches with3910 clears the cache with Gitlab::Pages::CacheControl3911 behaves like subscribes to event3912 consumes the published event3913 behaves like an idempotent worker3914 is labeled as idempotent3915 performs multiple times sequentially without raising an exception3916 behaves like clears caches with3917 clears the cache with Gitlab::Pages::CacheControl3918 behaves like subscribes to event3919 consumes the published event3920 behaves like an idempotent worker3921 is labeled as idempotent3922 performs multiple times sequentially without raising an exception3923 behaves like clears caches with3924 clears the cache with Gitlab::Pages::CacheControl3925 behaves like subscribes to event3926 consumes the published event3927 behaves like an idempotent worker3928 is labeled as idempotent3929 performs multiple times sequentially without raising an exception3930 behaves like clears caches with3931 clears the cache with Gitlab::Pages::CacheControl3932 behaves like subscribes to event3933 consumes the published event3934 behaves like an idempotent worker3935 is labeled as idempotent3936 performs multiple times sequentially without raising an exception3937 behaves like clears caches with3938 clears the cache with Gitlab::Pages::CacheControl3939 behaves like subscribes to event3940 consumes the published event3941 behaves like an idempotent worker3942 is labeled as idempotent3943 performs multiple times sequentially without raising an exception3944 behaves like clears caches with3945 clears the cache with Gitlab::Pages::CacheControl3946 behaves like subscribes to event3947 consumes the published event3948 behaves like an idempotent worker3949 is labeled as idempotent3950 performs multiple times sequentially without raising an exception3951 behaves like clears caches with3952 clears the cache with Gitlab::Pages::CacheControl3953 behaves like subscribes to event3954 consumes the published event3955 behaves like an idempotent worker3956 is labeled as idempotent3957 performs multiple times sequentially without raising an exception3958 behaves like clears caches with3959 clears the cache with Gitlab::Pages::CacheControl3960 behaves like subscribes to event3961 consumes the published event3962 behaves like an idempotent worker3963 is labeled as idempotent3964 performs multiple times sequentially without raising an exception3965 behaves like clears caches with3966 clears the cache with Gitlab::Pages::CacheControl3967 behaves like subscribes to event3968 consumes the published event3969 behaves like an idempotent worker3970 is labeled as idempotent3971 performs multiple times sequentially without raising an exception3972 when project attributes change3973 behaves like clears caches with3974 clears the cache with Gitlab::Pages::CacheControl3975 behaves like subscribes to event3976 consumes the published event3977 behaves like an idempotent worker3978 is labeled as idempotent3979 performs multiple times sequentially without raising an exception3980 behaves like clears caches with3981 clears the cache with Gitlab::Pages::CacheControl3982 behaves like subscribes to event3983 consumes the published event3984 behaves like an idempotent worker3985 is labeled as idempotent3986 performs multiple times sequentially without raising an exception3987 behaves like ignores the published event3988 does not consume the published event3989 when project features change3990 behaves like clears caches with3991 clears the cache with Gitlab::Pages::CacheControl3992 behaves like subscribes to event3993 consumes the published event3994 behaves like an idempotent worker3995 is labeled as idempotent3996 performs multiple times sequentially without raising an exception3997 behaves like ignores the published event3998 does not consume the published event3999 when namespace based cache keys are duplicated4000 behaves like clears caches with4001 clears the cache with Gitlab::Pages::CacheControl4002 behaves like subscribes to event4003 consumes the published event4004 behaves like an idempotent worker4005 is labeled as idempotent4006 performs multiple times sequentially without raising an exception4007Gitlab::Regex4008 .debian_architecture_regex4009 is expected to match "amd64"4010 is expected to match "kfreebsd-i386"4011 is expected not to match ""4012 is expected not to match "-a"4013 is expected not to match "+a"4014 is expected not to match ".a"4015 is expected not to match "_a"4016 is expected not to match "a+b"4017 is expected not to match "a.b"4018 is expected not to match "a_b"4019 is expected not to match "a~"4020 is expected not to match "aé"4021 is expected not to match "AMD64"4022 is expected not to match "Amd64"4023 is expected not to match "aMD64"4024 behaves like regex rejecting path traversal4025 is expected not to match "a../b"4026 is expected not to match "a..%2fb"4027 is expected not to match "a%2e%2e%2fb"4028 is expected not to match "a%2e%2e/b"4029 .npm_package_name_regex4030 is expected to match "@scope/package"4031 is expected to match "unscoped-package"4032 is expected not to match "@first-scope@second-scope/package"4033 is expected not to match "scope-without-at-symbol/package"4034 is expected not to match "@not-a-scoped-package"4035 is expected not to match "@scope/sub/package"4036 is expected not to match "@scope/../../package"4037 is expected not to match "@scope%2e%2e%2fpackage"4038 is expected not to match "@%2e%2e%2f/package"4039 capturing group4040 extracts the scope name for @scope/package4041 extracts the scope name for unscoped-package4042 extracts the scope name for @not-a-scoped-package4043 extracts the scope name for @scope/sub/package4044 extracts the scope name for @inv@lid-scope/package4045 .debian_distribution_regex4046 is expected to match "buster"4047 is expected to match "buster-updates"4048 is expected to match "Debian10.5"4049 is expected not to match "jessie/updates"4050 is expected not to match "hé"4051 behaves like regex rejecting path traversal4052 is expected not to match "a../b"4053 is expected not to match "a..%2fb"4054 is expected not to match "a%2e%2e%2fb"4055 is expected not to match "a%2e%2e/b"4056 .debian_component_regex4057 is expected to match "main"4058 is expected to match "non-free"4059 is expected not to match "non/free"4060 is expected not to match "hé"4061 behaves like regex rejecting path traversal4062 is expected not to match "a../b"4063 is expected not to match "a..%2fb"4064 is expected not to match "a%2e%2e%2fb"4065 is expected not to match "a%2e%2e/b"4066PrometheusMetric4067 is expected to belong to project required: false4068 is expected to validate that :title cannot be empty/falsy4069 is expected to validate that :query cannot be empty/falsy4070 is expected to validate that :group cannot be empty/falsy4071 is expected to validate that :identifier is case-sensitively unique within the scope of :project_id as long as it is not nil4072 behaves like having unique enum values4073 has unique values in "group"4074 common metrics4075 common: false, with_project: true, result: true4076 is expected to eq true4077 common: false, with_project: false, result: false4078 is expected to eq false4079 common: true, with_project: true, result: false4080 is expected to eq false4081 common: true, with_project: false, result: true4082 is expected to eq true4083 #query_series4084 legend: "Some other legend", type: NilClass4085 is expected to be a kind of NilClass4086 legend: "Status Code", type: Array4087 is expected to be a kind of Array4088 #group_title4089 behaves like group_title4090 returns text Response metrics (NGINX Ingress VTS) for group nginx_ingress_vts4091 behaves like group_title4092 returns text Response metrics (NGINX Ingress) for group nginx_ingress4093 behaves like group_title4094 returns text Response metrics (HA Proxy) for group ha_proxy4095 behaves like group_title4096 returns text Response metrics (AWS ELB) for group aws_elb4097 behaves like group_title4098 returns text Response metrics (NGINX) for group nginx4099 behaves like group_title4100 returns text System metrics (Kubernetes) for group kubernetes4101 behaves like group_title4102 returns text Business metrics (Custom) for group business4103 behaves like group_title4104 returns text Response metrics (Custom) for group response4105 behaves like group_title4106 returns text System metrics (Custom) for group system4107 behaves like group_title4108 returns text Cluster Health for group cluster_health4109 #priority4110 group: :nginx_ingress_vts, priority: 104111 is expected to eq 104112 group: :nginx_ingress, priority: 104113 is expected to eq 104114 group: :ha_proxy, priority: 104115 is expected to eq 104116 group: :aws_elb, priority: 104117 is expected to eq 104118 group: :nginx, priority: 104119 is expected to eq 104120 group: :kubernetes, priority: 54121 is expected to eq 54122 group: :business, priority: 04123 is expected to eq 04124 group: :response, priority: -54125 is expected to eq -54126 group: :system, priority: -104127 is expected to eq -104128 group: :cluster_health, priority: 104129 is expected to eq 104130 #required_metrics4131 group: :nginx_ingress_vts, required_metrics: ["nginx_upstream_responses_total", "nginx_upstream_response_msecs_avg"]4132 is expected to eq ["nginx_upstream_responses_total", "nginx_upstream_response_msecs_avg"]4133 group: :nginx_ingress, required_metrics: ["nginx_ingress_controller_requests", "nginx_ingress_controller_ingress_upstream_latency_seconds_sum"]4134 is expected to eq ["nginx_ingress_controller_requests", "nginx_ingress_controller_ingress_upstream_latency_seconds_sum"]4135 group: :ha_proxy, required_metrics: ["haproxy_frontend_http_requests_total", "haproxy_frontend_http_responses_total"]4136 is expected to eq ["haproxy_frontend_http_requests_total", "haproxy_frontend_http_responses_total"]4137 group: :aws_elb, required_metrics: ["aws_elb_request_count_sum", "aws_elb_latency_average", "aws_elb_httpcode_backend_5_xx_sum"]4138 is expected to eq ["aws_elb_request_count_sum", "aws_elb_latency_average", "aws_elb_httpcode_backend_5_xx_sum"]4139 group: :nginx, required_metrics: ["nginx_server_requests", "nginx_server_requestMsec"]4140 is expected to eq ["nginx_server_requests", "nginx_server_requestMsec"]4141 group: :kubernetes, required_metrics: ["container_memory_usage_bytes", "container_cpu_usage_seconds_total"]4142 is expected to eq ["container_memory_usage_bytes", "container_cpu_usage_seconds_total"]4143 group: :business, required_metrics: []4144 is expected to eq []4145 group: :response, required_metrics: []4146 is expected to eq []4147 group: :system, required_metrics: []4148 is expected to eq []4149 group: :cluster_health, required_metrics: ["container_memory_usage_bytes", "container_cpu_usage_seconds_total"]4150 is expected to eq ["container_memory_usage_bytes", "container_cpu_usage_seconds_total"]4151 #to_query_metric4152 converts to queryable metric object4153 queryable metric object has title4154 queryable metric object has y_label4155 queryable metric has no required_metric4156 queryable metrics has query description4157 #to_metric_hash4158 returns a hash suitable for inclusion on a metrics dashboard4159Metrics::Dashboard::AnnotationPolicy4160 rules4161 environments annotation4162 behaves like metrics dashboard annotation policy4163 when guest4164 is expected to be disallowed :read_metrics_dashboard_annotation4165 is expected to be disallowed :create_metrics_dashboard_annotation4166 is expected to be disallowed :update_metrics_dashboard_annotation4167 is expected to be disallowed :delete_metrics_dashboard_annotation4168 when reporter4169 is expected to be allowed :read_metrics_dashboard_annotation4170 is expected to be disallowed :create_metrics_dashboard_annotation4171 is expected to be disallowed :update_metrics_dashboard_annotation4172 is expected to be disallowed :delete_metrics_dashboard_annotation4173 when developer4174 is expected to be allowed :read_metrics_dashboard_annotation4175 is expected to be allowed :create_metrics_dashboard_annotation4176 is expected to be allowed :update_metrics_dashboard_annotation4177 is expected to be allowed :delete_metrics_dashboard_annotation4178 when maintainer4179 is expected to be allowed :read_metrics_dashboard_annotation4180 is expected to be allowed :create_metrics_dashboard_annotation4181 is expected to be allowed :update_metrics_dashboard_annotation4182 is expected to be allowed :delete_metrics_dashboard_annotation4183 cluster annotation4184 behaves like metrics dashboard annotation policy4185 when guest4186 is expected to be disallowed :read_metrics_dashboard_annotation4187 is expected to be disallowed :create_metrics_dashboard_annotation4188 is expected to be disallowed :update_metrics_dashboard_annotation4189 is expected to be disallowed :delete_metrics_dashboard_annotation4190 when reporter4191 is expected to be allowed :read_metrics_dashboard_annotation4192 is expected to be disallowed :create_metrics_dashboard_annotation4193 is expected to be disallowed :update_metrics_dashboard_annotation4194 is expected to be disallowed :delete_metrics_dashboard_annotation4195 when developer4196 is expected to be allowed :read_metrics_dashboard_annotation4197 is expected to be allowed :create_metrics_dashboard_annotation4198 is expected to be allowed :update_metrics_dashboard_annotation4199 is expected to be allowed :delete_metrics_dashboard_annotation4200 when maintainer4201 is expected to be allowed :read_metrics_dashboard_annotation4202 is expected to be allowed :create_metrics_dashboard_annotation4203 is expected to be allowed :update_metrics_dashboard_annotation4204 is expected to be allowed :delete_metrics_dashboard_annotation4205StageEntity4206 #as_json4207 contains relevant fields4208 contains detailed status4209 contains valid name4210 contains path to the stage4211 contains path to the stage dropdown4212 contains stage title4213 does not contain play_details info4214 when the jobs should be grouped4215 exposes the group key4216 and contains commit status4217 contains commit status4218 with a skipped stage4219 contains play_all_manual4220 with a scheduled stage4221 contains play_all_manual4222 with a manual stage4223 contains play_all_manual4224Issues::ReferencedMergeRequestsService4225 #execute4226 returns a list of sorted merge requests4227 performance4228 does not run extra queries when extra namespaces are included4229 preloads the head pipeline for each merge request, and its routes4230 only loads issue notes once4231 #referenced_merge_requests4232 returns the referenced merge requests4233 excludes cross project references if the user cannot read cross project4234 performance4235 does not run a query for each note author4236 #closed_by_merge_requests4237 returns the open merge requests that close this issue4238 returns an empty array when the current issue is closed already4239 performance4240 does not run a query for each note author4241Gitlab::Git::Tag4242 #tags4243 is expected to be > 04244 unsigned tag4245 is expected to eq "v1.0.0"4246 is expected to eq "f4e6814c3e4e7a0de82a9e7cd20c626cc963a2f8"4247 is expected to eq "6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9"4248 is expected to eq "Release"4249 is expected to be falsey4250 is expected to eq :NONE4251 is expected to be nil4252 is expected to eq "Dmitriy Zaporozhets"4253 is expected to eq "dmitriy.zaporozhets@gmail.com"4254 is expected to eq <Google::Protobuf::Timestamp: seconds: 1393491299, nanos: 0>4255 is expected to eq "+0200"4256 signed tag4257 is expected to eq "v1.1.1"4258 is expected to eq "8f03acbcd11c53d9c9468078f32a2622005a4841"4259 is expected to eq "189a6c924013fc3fe40d6f1ec1dc20214183bc97"4260 is expected to eq "x509 signed tag\n-----BEGIN SIGNED MESSAGE-----\nMIISfwYJKoZIhvcNAQcCoIIScDCCEmwCAQExDTALBglghkgBZQM...dZmMbJ7jNk1FbewSwWO\nSDH1i0K32NyFbnh0BSos7njq7ELqKlYBsoB/sZfaH2vKy5U=\n-----END SIGNED MESSAGE-----"4261 is expected to be truthy4262 is expected to eq :X5094263 is expected not to be nil4264 is expected to eq "Roger Meier"4265 is expected to eq "r.meier@siemens.com"4266 is expected to eq <Google::Protobuf::Timestamp: seconds: 1574261780, nanos: 0>4267 is expected to eq "+0100"4268 .get_message4269 gets tag messages4270 gets messages in one batch4271 .extract_signature_lazily4272 when the tag is signed4273 returns signature and signed text4274 when the tag has no signature4275 returns empty signature and message as signed text4276 when the tag cannot be found4277 raises GRPC::Internal4278 when the tag ID is invalid4279 raises GRPC::Internal4280 when loading signatures in batch once4281 fetches signatures in batch once4282 tag into from Gitaly tag4283 message_size != message.size4284 message_size less than threshold4285 fetches tag message separately4286 message_size greater than threshold4287 returns a notice about message size4288 #cache_key4289 returns a cache key that changes based on changeable values4290MergeRequests::RetargetChainService4291 #execute4292 when there is another MR4293 in the same project4294 and current is merged4295 behaves like retargets merge request4296 another merge request is retargeted4297 and current is closed4298 behaves like does not retarget merge request4299 another merge request is unchanged4300 and another is closed4301 behaves like does not retarget merge request4302 another merge request is unchanged4303 and another is merged4304 behaves like does not retarget merge request4305 another merge request is unchanged4306 in forked project4307 when user has access to source project4308 behaves like retargets merge request4309 another merge request is retargeted4310 when user does not have access to source project4311 behaves like does not retarget merge request4312 another merge request is unchanged4313 and current and another MR is from a fork4314 behaves like does not retarget merge request4315 another merge request is unchanged4316 when many merge requests are to be retargeted4317 retargets only 4 of them4318Issues::ExportCsvService4319 renders csv to string4320 #email4321 emails csv4322 renders with a target filesize4323 includes4324 includes the columns required for import4325 returns two issues4326 iid4327 url4328 title4329 state4330 description4331 author name4332 author username4333 assignee name4334 assignee username4335 confidential4336 milestone4337 labels4338 due_date4339 created_at4340 updated_at4341 closed_at4342 discussion_locked4343 weight4344 time estimate4345 time spent4346 with issues filtered by labels and project4347 returns only filtered objects4348 with label links4349 does not run a query for each label link4350 returns the labels in sorted order4351 with minimal details4352 renders labels as nil4353Gitlab::ProcessSupervisor4354 #supervise4355 while supervised processes are alive4356 does not invoke callback4357 when a supervised process dies4358Skipping ./spec/lib/gitlab/process_supervisor_spec.rb[1:1:2:1] 'Gitlab::ProcessSupervisor#supervise when a supervised process dies triggers callback with the dead PIDs and adds new PIDs to supervised PIDs' because it's flaky.4359 triggers callback with the dead PIDs and adds new PIDs to supervised PIDs (PENDING: around hook at ./spec/support/flaky_tests.rb:21 did not execute the example)4360 deduplicates PIDs returned from callback4361Skipping ./spec/lib/gitlab/process_supervisor_spec.rb[1:1:2:3] 'Gitlab::ProcessSupervisor#supervise when a supervised process dies accepts single PID returned from callback' because it's flaky.4362 accepts single PID returned from callback (PENDING: around hook at ./spec/support/flaky_tests.rb:21 did not execute the example)4363 but supervisor has entered shutdown4364 does not trigger callback again4365 signal handling4366 termination signals4367 when TERM results in timely shutdown of processes4368 forwards them to observed processes without waiting for grace period to expire4369 when TERM does not result in timely shutdown of processes4370 issues a KILL signal after the grace period expires4371 forwarded signals4372 forwards given signals to the observed processes4373 #shutdown4374 when supervisor is supervising processes4375 when supervisor is alive4376 signals TERM then KILL to all supervised processes4377 stops the supervisor4378 when supervisor has already shut down4379 does nothing4380 when supervisor never started4381 does nothing4382ErrorTracking::Error4383 relationships4384 is expected to belong to project required: false4385 is expected to have many events4386 validations4387 is expected to validate that :name cannot be empty/falsy4388 is expected to validate that the length of :name is at most 2554389 is expected to validate that :description cannot be empty/falsy4390 is expected to validate that the length of :description is at most 10244391 is expected to validate that :actor cannot be empty/falsy4392 is expected to validate that the length of :actor is at most 2554393 is expected to validate that the length of :platform is at most 2554394 .report_error4395 updates existing record with a new timestamp4396 .sort_by_attribute4397 id desc by default4398 is expected to eq [#<ErrorTracking::Error id: 3, project_id: 809, name: "ActionView::MissingTemplate", description: [FI...5 +0000", updated_at: "2022-12-08 11:04:46.561212815 +0000", events_count: 0, status: "unresolved">]4399 first_seen4400 is expected to eq [#<ErrorTracking::Error id: 1, project_id: 807, name: "ActionView::MissingTemplate", description: [FI...1 +0000", updated_at: "2022-12-08 11:04:48.522143431 +0000", events_count: 0, status: "unresolved">]4401 last_seen4402 is expected to eq [#<ErrorTracking::Error id: 1, project_id: 807, name: "ActionView::MissingTemplate", description: [FI...2 +0000", updated_at: "2022-12-08 11:04:48.943037042 +0000", events_count: 0, status: "unresolved">]4403 frequency4404 is expected to eq [#<ErrorTracking::Error id: 8, project_id: 814, name: "ActionView::MissingTemplate", description: [FI...5 +0000", updated_at: "2022-12-08 11:04:46.561212815 +0000", events_count: 0, status: "unresolved">]4405 #title4406 is expected to eq "ActionView::MissingTemplate Missing template posts/edit"4407 #to_sentry_error4408 is expected to be a kind of Gitlab::ErrorTracking::Error4409 #to_sentry_detailed_error4410 is expected to be a kind of Gitlab::ErrorTracking::DetailedError4411 is expected to be truthy4412 is expected to eq "db853d7"4413 is expected to eq "db853d7"4414Gitlab::ExclusiveLeaseHelpers::SleepingLock4415 #retried?4416 we have not made any attempts4417 is expected not to be retried4418 we just made a single (initial) attempt4419 is not considered a retry4420 made multiple attempts4421 is considered a retry4422 #obtain4423 when the lease is not held4424 obtains the lease on the first attempt, without sleeping4425 when the lease is obtained already4426 when retries are not specified4427 retries to obtain a lease and raises an error4428 when specified retries are above the maximum attempts4429 retries to obtain a lease and raises an error4430 when the lease is held elsewhere4431 retries to obtain a lease and raises an error4432 when the delay is computed from the attempt number4433 uses the computation to determine the sleep length4434 when lease is granted after retry4435 knows that it retried4436 cancel4437 cancels the lease4438Gitlab::GitalyClient::CommitService4439 #diff_from_parent4440 returns a Gitlab::GitalyClient::DiffStitcher4441 encodes paths correctly4442 when a commit has a parent4443 sends an RPC request with the parent ID as left commit4444 when a commit does not have a parent4445 sends an RPC request with empty tree ref as left commit4446 #commit_deltas4447 when a commit has a parent4448 sends an RPC request with the parent ID as left commit4449 when a commit does not have a parent4450 sends an RPC request with empty tree ref as left commit4451 #diff_stats4452 sends an RPC request and returns the stats4453 #find_changed_paths4454 sends an RPC request and returns the stats4455 #tree_entries4456 sends a get_tree_entries message with default limit4457 with UTF-8 params strings4458 handles string encodings correctly4459 with pagination parameters4460 responds with a pagination cursor4461 #commit_count4462 sends a commit_count message4463 with UTF-8 params strings4464 handles string encodings correctly4465 #find_commit4466 sends an RPC request4467 caching4468 when passed revision is a branch name4469 calls Gitaly4470 when passed revision is a commit ID4471 returns a cached commit4472 when caching of the ref name is enabled4473 caches negative entries4474 returns a cached commit4475 #list_commits4476 behaves like a ListCommits request4477 sends a list_commits message4478 with multiple revisions4479 behaves like a ListCommits request4480 sends a list_commits message4481 with reverse: true4482 behaves like a ListCommits request4483 sends a list_commits message4484 with commit message, author, before and after4485 behaves like a ListCommits request4486 sends a list_commits message4487 #list_new_commits4488 with hook environment4489 reject commits which exist in target repository4490 behaves like a #list_all_commits message4491 sends a list_all_commits message4492 keep commits which do not exist in target repository4493 behaves like a #list_all_commits message4494 sends a list_all_commits message4495 mixed existing and nonexisting commits4496 behaves like a #list_all_commits message4497 sends a list_all_commits message4498 without hook environment4499 behaves like a #list_commits message4500 sends a list_commits message4501 #commit_stats4502 sends an RPC request4503 #find_commits4504 sends an RPC request with NONE when default4505 sends an RPC request4506 sends an RPC request with an author4507 #object_existence_map4508 with empty request4509 behaves like a CheckObjectsExistRequest4510 returns expected results4511 when revision exists4512 behaves like a CheckObjectsExistRequest4513 returns expected results4514 when revision does not exist4515 behaves like a CheckObjectsExistRequest4516 returns expected results4517 when request contains mixed revisions4518 behaves like a CheckObjectsExistRequest4519 returns expected results4520 when requesting many revisions4521 behaves like a CheckObjectsExistRequest4522 returns expected results4523 #commits_by_message4524 when only the query is provided4525 sends an RPC request with the correct payload4526 when all arguments are provided4527 sends an RPC request with the correct payload4528 when limit and offset are not integers4529 sends an RPC request with the correct payload4530 when revision and path contain non-ASCII characters4531 sends an RPC request with the correct payload4532 #list_commits_by_ref_name4533 lists latest commits grouped by a ref name4534 #raw_blame4535 without a range4536 blames a whole file4537 with a range4538 blames part of a file4539Resolvers::EnvironmentsResolver4540 with a group4541 #resolve4542 finds all environments4543 with name4544 finds a specific environment with name4545 with search4546 searches environment by name4547 when the search term does not match any environments4548 is empty4549 with states4550 searches environments by state4551 generates an error if requested state is invalid4552 with environment_type4553 searches environments by type4554 returns an empty result4555 when project is nil4556 is expected to be nil4557Packages::PackageFileUploader4558 behaves like builds correct paths4559 #store_dir4560 behaves like matches the method pattern4561 is expected to match /^\h{2}\/\h{2}\/\h{64}\/packages\/\d+\/files\/\d+$/4562 #cache_dir4563 behaves like matches the method pattern4564 is expected to match /\/packages\/tmp\/cache/4565 #work_dir4566 behaves like matches the method pattern4567 is expected to match /\/packages\/tmp\/work/4568 #upload_path4569 behaves like matches the method pattern4570 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4571 #relative_path4572 is relative (PENDING: Path not set, skipping.)4573 .absolute_path4574 behaves like matches the method pattern4575 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4576 .base_dir4577 behaves like matches the method pattern4578 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4579 path traversal exploits4580 throws an exception4581 object store is remote4582 behaves like builds correct paths4583 #store_dir4584 behaves like matches the method pattern4585 is expected to match /^\h{2}\/\h{2}\/\h{64}\/packages\/\d+\/files\/\d+$/4586 #cache_dir4587 behaves like matches the method pattern4588 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4589 #work_dir4590 behaves like matches the method pattern4591 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4592 #upload_path4593 behaves like matches the method pattern4594 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4595 #relative_path4596 is relative (PENDING: Path not set, skipping.)4597 .absolute_path4598 behaves like matches the method pattern4599 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4600 .base_dir4601 behaves like matches the method pattern4602 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4603 path traversal exploits4604 throws an exception4605 remote file4606 with object storage enabled4607 can store file remotely4608notify/pipeline_success_email.text.erb4609 behaves like pipeline status changes email4610 when the pipeline contains a failed job4611 behaves like renders the pipeline status changes email correctly4612 pipeline with user4613 renders the email correctly4614 behaves like correct pipeline information for pipelines for merge requests4615 when pipeline for merge request4616 renders a source ref of the pipeline4617 pipeline without user4618 renders the email correctly4619 when the latest failed job is a bridge job4620 behaves like renders the pipeline status changes email correctly4621 pipeline with user4622 renders the email correctly4623 behaves like correct pipeline information for pipelines for merge requests4624 when pipeline for merge request4625 renders a source ref of the pipeline4626 pipeline without user4627 renders the email correctly4628MergeRequestsHelper4629 #format_mr_branch_names4630 within the same project4631 is expected to eq ["master", "feature"]4632 within different projects4633 is expected to eq ["group525/project902:master", "namespace668/project901:feature"]4634 #merge_path_description4635 forked with arrow4636 is expected to eq "Project:Branches: group526/project904:master → namespace669/project903:feature"4637 forked default4638 is expected to eq "Project:Branches: group527/project906:master to namespace670/project905:feature"4639 with arrow4640 is expected to eq "Branches: master → feature"4641 default4642 is expected to eq "Branches: master to feature"4643 #tab_link_for4644 supports the :force_link option4645 removes the data-toggle attributes4646 #user_merge_requests_counts4647 returns assigned, review requested and total merge request counts4648 #reviewers_label4649 when multiple reviewers exist4650 returns reviewer label with reviewer names4651 returns reviewer label only with include_value: false4652 when the name contains a URL4653 returns sanitized name4654 when one reviewer exists4655 returns reviewer label with no names4656 returns reviewer label only with include_value: false4657 when no reviewers exist4658 returns reviewer label with no names4659 returns reviewer label only with include_value: false4660ContainerRegistry::Blob4661 is expected to respond to #repository4662 is expected to delegate #registry to the #repository object4663 is expected to delegate #client to the #repository object4664 #path4665 returns a valid path to the blob4666 #digest4667 return correct digest value4668 #type4669 returns a correct type4670 #revision4671 returns a correct blob SHA4672 #short_revision4673 return a short SHA4674 #delete4675 returns true when blob has been successfully deleted4676 #data4677 when locally stored4678 returns a correct blob data4679 when externally stored4680 for a valid address4681 returns correct data4682 for a relative address4683 returns correct data4684 for invalid file4685 raises an error4686ci/status/_icon4687 when rendering status for build4688 when user has ability to see details4689 has link to build details page4690 when user do not have ability to see build details4691 contains build status text4692 does not contain links4693 when rendering status for external job4694 when user has ability to see commit status details4695 status has external target url4696 contains valid commit status text4697 has link to external status page4698 status do not have external target url4699 contains valid commit status text4700 has link to external status page4701Gitlab::AlertManagement::Payload::Generic4702 behaves like subclass has expected api4703 defines all public methods in the base class4704 #title4705 behaves like parsable alert payload field with fallback4706 without payload4707 is expected to eq "New: Alert"4708 with title4709 is expected to eq "some value"4710 #severity4711 when set4712 payload_severity: "critical", expected_severity: :critical4713 is expected to eq :critical4714 payload_severity: "high", expected_severity: :high4715 is expected to eq :high4716 payload_severity: "medium", expected_severity: :medium4717 is expected to eq :medium4718 payload_severity: "low", expected_severity: :low4719 is expected to eq :low4720 payload_severity: "info", expected_severity: :info4721 is expected to eq :info4722 payload_severity: "CRITICAL", expected_severity: :critical4723 is expected to eq :critical4724 payload_severity: "cRiTiCaL", expected_severity: :critical4725 is expected to eq :critical4726 payload_severity: "unmapped", expected_severity: nil4727 is expected to eq nil4728 payload_severity: 1, expected_severity: nil4729 is expected to eq nil4730 payload_severity: nil, expected_severity: nil4731 is expected to eq nil4732 without key4733 is expected to be nil4734 #monitoring_tool4735 behaves like parsable alert payload field4736 behaves like parsable alert payload field with fallback4737 without payload4738 is expected to eq nil4739 with monitoring_tool4740 is expected to eq "some value"4741 #service4742 behaves like parsable alert payload field4743 behaves like parsable alert payload field with fallback4744 without payload4745 is expected to eq nil4746 with service4747 is expected to eq "some value"4748 #hosts4749 behaves like parsable alert payload field4750 behaves like parsable alert payload field with fallback4751 without payload4752 is expected to eq nil4753 with hosts4754 is expected to eq "some value"4755 #starts_at4756 without start_time4757 is expected to eq 2022-12-08 11:05:53.000000000 +00004758 with start_time4759 is expected to eq 2022-12-08 10:55:53.000000000 +00004760 #runbook4761 behaves like parsable alert payload field4762 behaves like parsable alert payload field with fallback4763 without payload4764 is expected to eq nil4765 with runbook4766 is expected to eq "some value"4767 #gitlab_fingerprint4768 returns a fingerprint4769 #environment_name4770 behaves like parsable alert payload field4771 behaves like parsable alert payload field with fallback4772 without payload4773 is expected to eq nil4774 with gitlab_environment_name4775 is expected to eq "some value"4776 #description4777 behaves like parsable alert payload field4778 behaves like parsable alert payload field with fallback4779 without payload4780 is expected to eq nil4781 with description4782 is expected to eq "some value"4783 #ends_at4784 without end_time4785 is expected to be nil4786 with end_time4787 is expected to eq 2022-12-08 10:55:53.000000000 +00004788 #resolved?4789 without end time4790 is expected to eq false4791 with end time4792 is expected to eq true4793 #source4794 is expected to eq "Generic Alert Endpoint"4795 with alerting integration provided4796 is expected to eq "INTEGRATION"4797 with monitoring tool defined in the raw payload4798 is expected to eq "TOOL"4799Gitlab::ObjectHierarchy4800 #base_and_ancestors4801 includes the base rows4802 includes all of the ancestors4803 can find ancestors upto a certain level4804 uses ancestors_base #initialize argument4805 does not allow the use of #update_all4806 hierarchy_order option4807 :asc4808 orders by child to parent4809 :desc4810 orders by parent to child4811 #base_and_descendants4812 includes the base rows4813 includes all the descendants4814 uses descendants_base #initialize argument4815 does not allow the use of #update_all4816 when with_depth is true4817 includes depth in the results4818 #descendants4819 includes only the descendants4820 #max_descendants_depth4821 when base relation is empty4822 is expected to be nil4823 when base has no children4824 is expected to eq 14825 when base has grandchildren4826 is expected to eq 34827 #ancestors4828 includes only the ancestors4829 can find ancestors upto a certain level4830 #all_objects4831 includes the base rows4832 includes the ancestors4833 includes the descendants4834 uses ancestors_base #initialize argument for ancestors4835 uses descendants_base #initialize argument for descendants4836 does not allow the use of #update_all4837bin/feature-flag4838 FeatureFlagCreator4839 properly creates a feature flag4840 when running on master4841 requires feature branch4842 validates feature flag name4843 argv: [".invalid.feature.flag"], ex: /Provide a name for the feature flag that is/4844 is expected to raise /Provide a name for the feature flag that is/4845 argv: ["existing-feature-flag"], ex: /already exists!/4846 is expected to raise /already exists!/4847 FeatureFlagOptionParser4848 .parse4849 missing feature flag name4850 parses -h4851 param: :name, argv: ["foo"], result: "foo"4852 is expected to eq "foo"4853 param: :amend, argv: ["foo", "--amend"], result: true4854 is expected to eq true4855 param: :force, argv: ["foo", "-f"], result: true4856 is expected to eq true4857 param: :force, argv: ["foo", "--force"], result: true4858 is expected to eq true4859 param: :ee, argv: ["foo", "-e"], result: true4860 is expected to eq true4861 param: :ee, argv: ["foo", "--ee"], result: true4862 is expected to eq true4863 param: :introduced_by_url, argv: ["foo", "-m", "https://url"], result: "https://url"4864 is expected to eq "https://url"4865 param: :introduced_by_url, argv: ["foo", "--introduced-by-url", "https://url"], result: "https://url"4866 is expected to eq "https://url"4867 param: :rollout_issue_url, argv: ["foo", "-i", "https://url"], result: "https://url"4868 is expected to eq "https://url"4869 param: :rollout_issue_url, argv: ["foo", "--rollout-issue-url", "https://url"], result: "https://url"4870 is expected to eq "https://url"4871 param: :dry_run, argv: ["foo", "-n"], result: true4872 is expected to eq true4873 param: :dry_run, argv: ["foo", "--dry-run"], result: true4874 is expected to eq true4875 param: :type, argv: ["foo", "-t", "development"], result: :development4876 is expected to eq :development4877 param: :type, argv: ["foo", "--type", "development"], result: :development4878 is expected to eq :development4879 param: :type, argv: ["foo", "-t", "invalid"], result: nil4880 is expected to eq nil4881 param: :type, argv: ["foo", "--type", "invalid"], result: nil4882 is expected to eq nil4883 param: :group, argv: ["foo", "-g", "group::geo"], result: "group::geo"4884 is expected to eq "group::geo"4885 param: :group, argv: ["foo", "--group", "group::geo"], result: "group::geo"4886 is expected to eq "group::geo"4887 param: :group, argv: ["foo", "-g", "invalid"], result: nil4888 is expected to eq nil4889 param: :group, argv: ["foo", "--group", "invalid"], result: nil4890 is expected to eq nil4891 .read_type4892 when there is only a single type defined4893 returns that type4894 when there is deprecated feature flag type4895 and deprecated type is given4896 shows error message and retries4897 when there are many types defined4898 reads type from stdin4899 when invalid type is given4900 shows error message and retries4901 .read_group4902 reads type from stdin4903 invalid group given4904 shows error message and retries4905 .read_introduced_by_url4906 reads type from stdin4907 empty URL given4908 skips entry4909 invalid URL given4910 shows error message and retries4911 .read_rollout_issue_url4912 reads type from stdin4913 invalid URL given4914 shows error message and retries4915 .read_ee_only4916 is expected to eq false4917Analytics::CycleAnalytics::MergeRequestStageEvent4918 is expected to validate that :stage_event_hash_id cannot be empty/falsy4919 is expected to validate that :merge_request_id cannot be empty/falsy4920 is expected to validate that :group_id cannot be empty/falsy4921 is expected to validate that :project_id cannot be empty/falsy4922 is expected to validate that :start_event_timestamp cannot be empty/falsy4923 has state enum4924 behaves like StageEventModel4925 .upsert_data4926 inserts the data4927 does not produce duplicate rows4928 inserts the data correctly4929 scopes4930 filters by stage_event_hash_id4931 filters by project_id4932 filters by group_id4933 filters by author_id4934 filters by assignee4935 filters by milestone_id4936 start_event_timestamp filtering4937 when range is given4938 when specifying upper bound4939 when specifying the lower bound4940 end_event_timestamp filtering4941 when range is given4942 when specifying upper bound4943 when specifying the lower bound4944 #total_time4945 calcualtes total time from the start_event_timestamp and end_event_timestamp columns4946 when total time is calculated in SQL as an extra column4947 returns the SQL calculated time4948Gitlab::Ci::Badge::Coverage::Metadata4949 behaves like badge metadata4950 #to_html4951 points to link4952 contains clickable image4953 #to_markdown4954 is expected to include "http://localhost/namespace708/project944/badges/feature/coverage.svg"4955 is expected to include "http://localhost/namespace709/project945/-/commits/feature"4956 #to_asciidoc4957 is expected to include "http://localhost/namespace710/project946/badges/feature/coverage.svg"4958 is expected to include "http://localhost/namespace711/project947/-/commits/feature"4959 is expected to include "image:"4960 is expected to include "link="4961 is expected to include "title="4962 #title4963 returns coverage report title4964 #image_url4965 returns valid url4966 #link_url4967 returns valid link4968Gitlab::Metrics::Methods4969 #define_metrics4970 metrics access method not defined4971 defines metrics accessing method4972 metrics access method defined4973 raises error when trying to redefine method4974 metric is not cached4975 calls fetch_metric4976 metric is cached4977 returns cached metric4978 #fetch_metric4979 when counter is not cached4980 initializes counter metric4981 when counter is cached4982 uses class metric cache4983 when metric is reloaded4984 initializes counter metric4985 when metric is configured with feature4986 when feature is enabled4987DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)4988 initializes counter metric4989 when feature is disabled4990DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)4991 returns NullMetric4992 #define_metrics4993 metrics access method not defined4994 defines metrics accessing method4995 metrics access method defined4996 raises error when trying to redefine method4997 metric is not cached4998 calls fetch_metric4999 metric is cached5000 returns cached metric5001 #fetch_metric5002 when gauge is not cached5003 initializes counter metric5004 when gauge is cached5005 uses class metric cache5006 when metric is reloaded5007 initializes gauge metric5008 when metric is configured with feature5009 when feature is enabled5010DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)5011 initializes gauge metric5012 when feature is disabled5013DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)5014 returns NullMetric5015 #define_metrics5016 metrics access method not defined5017 defines metrics accessing method5018 metrics access method defined5019 raises error when trying to redefine method5020 metric is not cached5021 calls fetch_metric5022 metric is cached5023 returns cached metric5024 #fetch_metric5025 when histogram is not cached5026 initializes counter metric5027 when histogram is cached5028 uses class metric cache5029 when metric is reloaded5030 initializes histogram metric5031 when metric is configured with feature5032 when feature is enabled5033DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)5034 initializes histogram metric5035 when feature is disabled5036DEPRECATION WARNING: Invalid Feature Flag some_metric_feature stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)5037 returns NullMetric5038Gitlab::ImportExport::LfsRestorer5039 #restore5040 when the archive contains lfs files5041 succeeds5042 does not create a new `LfsObject` records, as one already exists5043 creates new `LfsObjectsProject` records in order to link the project to the existing `LfsObject`5044 restores the correct `LfsObject` records5045 restores the correct `LfsObjectsProject` records for the project5046 assigns the file correctly5047 when there is not an existing `LfsObject`5048 creates a new lfs object5049 stores the upload5050 when there is no lfs-objects.json file5051 restores the correct `LfsObject` records5052 restores a single `LfsObjectsProject` record for the project with "project" for the `repository_type`5053 without any LFS-objects5054 succeeds5055Gitlab::GithubImport::Importer::SingleEndpointDiffNotesImporter5056 is expected to includes the Gitlab::GithubImport::ParallelScheduling module5057 is expected to includes the Gitlab::GithubImport::SingleEndpointNotesImporting module5058 is expected to eq Gitlab::GithubImport::Representation::DiffNote5059 is expected to eq Gitlab::GithubImport::Importer::DiffNoteImporter5060 is expected to eq :pull_request_comments5061 is expected to eq :diff_note5062 is expected to eq 15063 #each_object_to_import5064 fetches data5065 skips cached pages5066 skips cached merge requests5067projects/commit/_commit_box.html.haml5068 shows the commit SHA5069 when there is a pipeline present5070 when pipeline has stages5071 shows pipeline stages in vue5072 when there are multiple pipelines for a commit5073 shows the last pipeline5074 when pipeline for the commit is blocked5075 shows correct pipeline description5076ErrorTracking::SentryClient::Projects5077 # order random5078 #projects5079 behaves like calls sentry api5080 calls sentry api5081 behaves like has correct return type5082 returns objects of type Gitlab::ErrorTracking::Project5083 behaves like has correct length5084 is expected to eq 25085 behaves like Sentry API response size limit5086 raises an exception when response is too large5087 essential keys missing in API response5088 raises exception5089 optional keys missing in sentry response5090 behaves like calls sentry api5091 calls sentry api5092 behaves like has correct return type5093 returns objects of type Gitlab::ErrorTracking::Project5094 behaves like has correct length5095 is expected to eq 15096 error object created from sentry response5097 sentry_project_object: :id, sentry_response: :id5098 is expected to eq "2"5099 sentry_project_object: :name, sentry_response: :name5100 is expected to eq "sentry-example"5101 sentry_project_object: :status, sentry_response: :status5102 is expected to eq "active"5103 sentry_project_object: :slug, sentry_response: :slug5104 is expected to eq "sentry-example"5105 sentry_project_object: :organization_name, sentry_response: [:organization, :name]5106 is expected to eq "Sentry"5107 sentry_project_object: :organization_id, sentry_response: [:organization, :id]5108 is expected to eq "1"5109 sentry_project_object: :organization_slug, sentry_response: [:organization, :slug]5110 is expected to eq "sentry"5111 redirects5112 behaves like no Sentry redirects5113 does not follow redirects5114 when exception is raised5115 behaves like maps Sentry exceptions5116 HTTParty::Error5117 is expected to raise ErrorTracking::SentryClient::Error with "Error when connecting to Sentry"5118 Net::OpenTimeout5119 is expected to raise ErrorTracking::SentryClient::Error with "Connection to Sentry timed out"5120 SocketError5121 is expected to raise ErrorTracking::SentryClient::Error with "Received SocketError when trying to connect to Sentry"5122 OpenSSL::SSL::SSLError5123 is expected to raise ErrorTracking::SentryClient::Error with "Sentry returned invalid SSL data"5124 Errno::ECONNREFUSED5125 is expected to raise ErrorTracking::SentryClient::Error with "Connection refused"5126 StandardError5127 is expected to raise ErrorTracking::SentryClient::Error with "Sentry request failed due to StandardError"5128Projects::MoveProjectMembersService5129 #execute5130 moves the members from one project to another5131 does not move existent members to the current project5132 rollbacks changes if transaction fails5133 when remove_remaining_elements is false5134 does not remove remaining project members5135Gitlab::Ci::Pipeline::Chain::EvaluateWorkflowRules5136 #perform!5137 when pipeline has been skipped by workflow configuration5138 does not save the pipeline5139 breaks the chain5140 attaches an error to the pipeline5141 saves workflow_rules_result5142 when pipeline has not been skipped by workflow configuration5143 continues the pipeline processing chain5144 does not skip the pipeline5145 attaches no errors5146 saves workflow_rules_result5147Gitlab::Checks::SnippetCheck5148 #validate!5149 does not raise any error5150 trying to delete the branch5151 behaves like raises and logs error5152 is expected to raise Gitlab::GitAccess::ForbiddenError with "You can not create or delete branches."5153 trying to create the branch5154 behaves like raises and logs error5155 is expected to raise Gitlab::GitAccess::ForbiddenError with "You can not create or delete branches."5156 when branch is the same as the default branch5157 allows the operation5158 when snippet has an empty repo5159 allows the operation5160 when default_branch is nil5161 behaves like raises and logs error5162 is expected to raise Gitlab::GitAccess::ForbiddenError with "You can not create or delete branches."5163Packages::PackagesFinder5164 #execute5165 with package_type5166 conan packages5167 is expected to eq [#<Packages::Package id: 25, project_id: 945, created_at: "2022-12-07 11:06:47.250291896 +0000", upda...sion: "1.0.0", package_type: "conan", creator_id: 2281, status: "default", last_downloaded_at: nil>]5168 npm packages5169 is expected to contain exactly #<Packages::Package id: 26, project_id: 945, created_at: "2022-12-08 11:06:47.718481623 +0000", updat...version: "1.0.5", package_type: "npm", creator_id: 2281, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 27, project_id: 945, created_at: "2022-12-08 11:06:47.743815801 +0000", updat...version: "1.0.6", package_type: "npm", creator_id: 2281, status: "default", last_downloaded_at: nil>5170 with order_by5171 by default is created_at5172 is expected to eq [#<Packages::Package id: 23, project_id: 945, created_at: "2022-12-06 11:06:46.869314912 +0000", upda...sion: "1.0.0", package_type: "conan", creator_id: 2281, status: "default", last_downloaded_at: nil>]5173 order by name5174 is expected to eq [#<Packages::Package id: 25, project_id: 945, created_at: "2022-12-07 11:06:47.250291896 +0000", upda...sion: "2.0.0", package_type: "maven", creator_id: 2281, status: "default", last_downloaded_at: nil>]5175 order by version5176 is expected to eq [#<Packages::Package id: 25, project_id: 945, created_at: "2022-12-07 11:06:47.250291896 +0000", upda...sion: "2.0.0", package_type: "maven", creator_id: 2281, status: "default", last_downloaded_at: nil>]5177 order by type5178 is expected to eq [#<Packages::Package id: 23, project_id: 945, created_at: "2022-12-06 11:06:46.869314912 +0000", upda...sion: "1.0.0", package_type: "conan", creator_id: 2281, status: "default", last_downloaded_at: nil>]5179 with sort5180 by default is ascending5181 is expected to eq [#<Packages::Package id: 23, project_id: 945, created_at: "2022-12-06 11:06:46.869314912 +0000", upda...sion: "1.0.0", package_type: "conan", creator_id: 2281, status: "default", last_downloaded_at: nil>]5182 can sort descended5183 is expected to eq [#<Packages::Package id: 25, project_id: 945, created_at: "2022-12-07 11:06:47.250291896 +0000", upda...sion: "2.0.0", package_type: "maven", creator_id: 2281, status: "default", last_downloaded_at: nil>]5184 with package_name5185 is expected to eq [#<Packages::Package id: 23, project_id: 945, created_at: "2022-12-06 11:06:46.869314912 +0000", upda...sion: "2.0.0", package_type: "maven", creator_id: 2281, status: "default", last_downloaded_at: nil>]5186 with nil params5187 is expected to contain exactly #<Packages::Package id: 25, project_id: 945, created_at: "2022-12-07 11:06:47.250291896 +0000", updat...rsion: "1.0.0", package_type: "conan", creator_id: 2281, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 23, project_id: 945, created_at: "2022-12-06 11:06:46.869314912 +0000", updat...rsion: "2.0.0", package_type: "maven", creator_id: 2281, status: "default", last_downloaded_at: nil>5188 with processing packages5189 is expected to contain exactly #<Packages::Package id: 25, project_id: 945, created_at: "2022-12-07 11:06:47.250291896 +0000", updat...rsion: "1.0.0", package_type: "conan", creator_id: 2281, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 23, project_id: 945, created_at: "2022-12-06 11:06:46.869314912 +0000", updat...rsion: "2.0.0", package_type: "maven", creator_id: 2281, status: "default", last_downloaded_at: nil>5190 preload_pipelines5191 preloads pipelines by default5192 set to false5193 does not preload pipelines5194 behaves like concerning versionless param5195 is expected not to include #<Packages::Package id: 30, project_id: 945, created_at: "2022-12-08 11:06:48.679375213 +0000", updat..., version: nil, package_type: "maven", creator_id: 2281, status: "default", last_downloaded_at: nil>5196 with valid include_versionless param5197 is expected to include #<Packages::Package id: 30, project_id: 945, created_at: "2022-12-08 11:06:48.679375213 +0000", updat..., version: nil, package_type: "maven", creator_id: 2281, status: "default", last_downloaded_at: nil>5198 with empty include_versionless param5199 is expected not to include #<Packages::Package id: 30, project_id: 945, created_at: "2022-12-08 11:06:48.679375213 +0000", updat..., version: nil, package_type: "maven", creator_id: 2281, status: "default", last_downloaded_at: nil>5200 behaves like concerning package statuses5201 displayable packages5202 is expected not to include #<Packages::Package id: 32, project_id: 945, created_at: "2022-12-08 11:06:49.200824054 +0000", updat..."1.20-SNAPSHOT", package_type: "maven", creator_id: 2281, status: "hidden", last_downloaded_at: nil>5203 is expected to include #<Packages::Package id: 34, project_id: 945, created_at: "2022-12-08 11:06:49.582563689 +0000", updat... "1.22-SNAPSHOT", package_type: "maven", creator_id: 2281, status: "error", last_downloaded_at: nil>5204 with status param5205 is expected to contain exactly #<Packages::Package id: 32, project_id: 945, created_at: "2022-12-08 11:06:49.200824054 +0000", updat..."1.20-SNAPSHOT", package_type: "maven", creator_id: 2281, status: "hidden", last_downloaded_at: nil>5206 with invalid status param5207 is expected to raise Packages::FinderHelper::InvalidStatusError5208GoogleCloud::SetupCloudsqlInstanceService5209 when unauthorized user triggers worker5210 raises unauthorized error5211 when authorized user triggers worker5212 when instance is not RUNNABLE5213 raises error5214 when instance is RUNNABLE5215 when database creation fails5216 raises error5217 when user creation fails5218 raises error5219 when database and user already exist5220 does not try to create a database or user5221 when database already exists5222 does not try to create a database5223 when user already exists5224 does not try to create a user5225 when database and user creation succeeds5226 stores project CI vars5227 when the ci variable already exists5228 overwrites existing GCP_PROJECT_ID var5229Diffs::OverflowWarningComponent5230 rendered component5231 on a commit page5232 is expected to include "To preserve performance only <strong>1 of 2</strong> files are displayed."5233 links to the diff5234 links to the patch5235 on a merge request page and the merge request is persisted5236 is expected to include "To preserve performance only <strong>1 of 2</strong> files are displayed."5237 links to the diff5238 links to the patch5239 both conditions fail5240 is expected to include "To preserve performance only <strong>1 of 2</strong> files are displayed."5241 is expected not to include "btn gl-alert-action btn-default gl-button btn-default-secondary"5242 is expected not to include "Plain diff"5243 is expected not to include "Email patch"5244 #message5245 is expected to be a kind of String5246 is HTML-safe5247 #diff_link5248 is a string when on a commit page5249 is a string when on a merge request page5250 is nil in other situations5251 #patch_link5252 is a string when on a commit page5253 is a string when on a merge request page5254 is nil in other situations5255PipelineProcessWorker5256 is labeled as idempotent5257 performs multiple times sequentially without raising an exception5258 processes the pipeline5259 #perform5260 when pipeline exists5261 processes pipeline5262 when pipeline does not exist5263 does not raise exception5264SystemNotes::CommitService5265 #add_commits5266 behaves like a system note5267 has the correct attributes5268 note body5269 comparison diff link line5270 adds the comparison text5271 without existing commits5272 adds a message header5273 adds a message for each commit5274 summary line for existing commits5275 with one existing commit5276 includes the existing commit5277 with multiple existing commits5278 with oldrev5279 includes a commit range and count5280 without oldrev5281 includes a commit range and count5282 on a fork5283 includes the project namespace5284 #tag_commit5285 sets the note text5286 behaves like a system note5287 has the correct attributes5288 #new_commit_summary5289 escapes HTML titles5290RemoveExpiredMembersWorker5291 #perform5292 project members5293 removes expired members5294 leaves members that expire in the future5295 leaves members that do not expire at all5296 adds context to resulting jobs5297 project bots5298 expired project bot5299 removes expired project bot membership5300 initiates project bot removal5301 non-expired project bot5302 does not remove expired project bot that expires in the future5303 does not delete project bot expiring in the future5304 group members5305 removes expired members5306 leaves members that expire in the future5307 leaves members that do not expire at all5308 adds context to resulting jobs5309 when the last group owner expires5310 does not delete the owner5311Banzai::Filter::EmojiFilter5312 replaces supported name emoji5313 replaces supported unicode emoji5314 ignores unicode versions of trademark, copyright, and registered trademark5315 replaces name versions of trademark, copyright, and registered trademark5316 correctly encodes the URL5317 correctly encodes unicode to the URL5318 matches at the start of a string5319 unicode matches at the start of a string5320 matches at the end of a string5321 unicode matches at the end of a string5322 unicode matches with adjacent text5323 does not match multiple emoji in a row5324 unicode matches multiple emoji in a row5325 mixed matches multiple emoji in a row5326 has a data-name attribute5327 has a data-unicode-version attribute5328 unicode keeps whitespace intact5329 behaves like emoji filter5330 keeps whitespace intact5331 does not match emoji in a string5332 ignores non existent/unsupported emoji5333 matches with adjacent text5334 does not match emoji in a pre tag5335 does not match emoji in code tag5336 does not match emoji in tt tag5337Board5338 relationships5339 is expected to belong to project required: false5340 is expected to have many lists order => {:list_type=>:asc, :position=>:asc} dependent => delete_all5341 validations5342 is expected to validate that :name cannot be empty/falsy5343 is expected to validate that :project cannot be empty/falsy5344 constants5345 is expected to be a kind of Integer5346 #order_by_name_asc5347 returns in case-insensitive alphabetical order and then by ascending id5348 #first_board5349 return the first case-insensitive alphabetical board as a relation5350 raises an error when find is done on a non-existent record5351 #disabled_for?5352 for group board5353 behaves like board disabled_for?5354 when current user cannot create non backlog issues5355 is expected to eq true5356 when user can create backlog issues5357 is expected to eq false5358 when block_issue_repositioning is enabled5359 is expected to eq true5360 for project board5361 behaves like board disabled_for?5362 when current user cannot create non backlog issues5363 is expected to eq true5364 when user can create backlog issues5365 is expected to eq false5366 when block_issue_repositioning is enabled5367 is expected to eq true5368Gitlab::Email::ReplyParser5369 #execute5370 returns an empty string if the message is blank5371 returns an empty string if the message is not an email5372 returns an empty string if there is no reply content5373 properly renders plaintext-only email5374 supports a Dutch reply5375 removes an 'on date wrote' quoting line5376 handles multiple paragraphs5377 handles multiple paragraphs when parsing html5378 handles newlines5379 handles inline reply5380 properly renders email reply from gmail web client5381 properly renders email reply from iOS default mail client5382 properly renders email reply from Android 5 gmail client5383 properly renders email reply from Windows 8.1 Metro default mail client5384 properly renders email reply from MS Outlook client5385 properly renders html-only email from MS Outlook5386 does not wrap links with no href in unnecessary brackets5387 does not trim reply if trim_reply option is false5388 appends trimmed reply when when append_reply option is true5389 when allow_only_quotes is true5390 returns quoted text from email5391 non-UTF-8 content5392 parses body under UTF-8 encoding5393 charset is absent and reply trimming is disabled5394 parses body under UTF-8 encoding5395 multipart email5396 parses body under UTF-8 encoding5397ObjectStorage::MigrateUploadsWorker5398 #perform5399 migrates files to remote storage5400 handles legacy argument format5401 logs an error when number of arguments is incorrect5402 reversed5403 migrates files to local storage5404 migration is unsuccessful5405 does not migrate files to remote storage5406 limits N+1 queries5407 to N*55408Gitlab::Instrumentation::RedisBase5409 .storage_key5410 returns the class name with underscore5411 .payload5412 returns values that are higher than 05413 .add_duration5414 does not lose precision while adding5415 storage key overlapping5416 keys do not overlap across storages5417 .increment_request_count5418 increments by the given amount5419 storage key overlapping5420 keys do not overlap across storages5421 .increment_write_bytes5422 storage key overlapping5423 keys do not overlap across storages5424 .increment_cross_slot_request_count5425 storage key overlapping5426 keys do not overlap across storages5427 increments by the given amount5428 .increment_read_bytes5429 storage key overlapping5430 keys do not overlap across storages5431 .add_call_details5432 storage key overlapping5433 keys do not overlap across storages5434 .redis_cluster_validate!5435 Rails environments5436 env: "production", should_raise: false5437 is expected not to raise Exception5438 env: "staging", should_raise: false5439 is expected not to raise Exception5440 env: "development", should_raise: true5441 is expected to raise Gitlab::Instrumentation::RedisClusterValidator::CrossSlotError5442 env: "test", should_raise: true5443 is expected to raise Gitlab::Instrumentation::RedisClusterValidator::CrossSlotError5444Mutations::MergeRequests::SetSubscription5445 is expected to require graphql authorizations :update_subscription5446 when user does not have access to the project5447 behaves like a subscribeable not accessible graphql resource5448 raises an error if the resource is not accessible to the user5449 when user is developer member of the project5450 behaves like a subscribeable graphql resource5451 subscribes to the resource5452 when passing subscribe as false5453 unsubscribes from the discussion5454 when the project is public5455 behaves like a subscribeable graphql resource5456 subscribes to the resource5457 when passing subscribe as false5458 unsubscribes from the discussion5459Issues::RebalancingWorker5460 has the `until_executed` deduplicate strategy5461 #perform5462 without root_namespace param5463 is labeled as idempotent5464 performs multiple times sequentially without raising an exception5465 is labeled as idempotent5466 performs multiple times sequentially without raising an exception5467 behaves like running the worker5468 runs an instance of Issues::RelativePositionRebalancingService5469 anticipates there being too many concurent rebalances5470 takes no action if the value is nil5471 does not schedule a new rebalance if it finished under 1h ago5472 behaves like safely handles non-existent ids5473 anticipates the inability to find the issue5474 with root_namespace param5475 is labeled as idempotent5476 performs multiple times sequentially without raising an exception5477 is labeled as idempotent5478 performs multiple times sequentially without raising an exception5479 behaves like running the worker5480 runs an instance of Issues::RelativePositionRebalancingService5481 anticipates there being too many concurent rebalances5482 takes no action if the value is nil5483 does not schedule a new rebalance if it finished under 1h ago5484 behaves like safely handles non-existent ids5485 anticipates the inability to find the issue5486Tooling::KubernetesClient5487 RESOURCE_LIST5488 returns the correct list of resources separated by commas5489 #cleanup_by_release5490Running command: `kubectl delete ingress,svc,pdb,hpa,deploy,statefulset,job,pod,secret,configmap,pvc,secret,clusterrole,clusterrolebinding,role,rolebinding,sa,crd --namespace "review-apps" --now --ignore-not-found --wait=true -l release="my-release"`5491 raises an error if the Kubernetes command fails5492 behaves like a kubectl command to delete resources5493 is expected to output to stdout5494 with multiple releases5495 behaves like a kubectl command to delete resources5496 is expected to output to stdout5497 with `wait: false`5498 behaves like a kubectl command to delete resources5499 is expected to output to stdout5500 #cleanup_by_created_at5501Running command: `kubectl delete pvc --namespace "review-apps" --now --ignore-not-found --wait=true pod-my-release-abcd`5502 raises an error if the Kubernetes command fails5503 behaves like a kubectl command to delete resources by older than given creation time5504 is expected to output to stdout5505 with multiple resource names5506 behaves like a kubectl command to delete resources by older than given creation time5507 is expected to output to stdout5508 with `wait: false`5509 behaves like a kubectl command to delete resources by older than given creation time5510 is expected to output to stdout5511 with no resource_type given5512 behaves like a kubectl command to delete resources by older than given creation time5513 is expected to output to stdout5514 with multiple resource_type given5515 behaves like a kubectl command to delete resources by older than given creation time5516 is expected to output to stdout5517 with no resources found5518 does not call #delete_by_exact_names5519 #cleanup_review_app_namespaces5520Running command: `kubectl delete namespace --now --ignore-not-found --wait=true review-abc-123 review-xyz-789`5521 raises an error if the Kubernetes command fails5522 behaves like a kubectl command to delete namespaces older than given creation time5523 is expected to output to stdout5524 with no namespaces found5525 does not call #delete_namespaces_by_exact_names5526 #raw_resource_names5527Running command: `kubectl get ingress,svc,pdb,hpa,deploy,statefulset,job,pod,secret,configmap,pvc,secret,clusterrole,clusterrolebinding,role,rolebinding,sa,crd --namespace "review-apps" -o name`5528 calls kubectl to retrieve the resource names5529 #resource_names_created_before5530 behaves like a kubectl command to retrieve resource names sorted by creationTimestamp5531Running command: `kubectl get pvc --namespace "review-apps" --sort-by='{.metadata.creationTimestamp}' -o json`5532 is expected to contain exactly "pvc-created-three-days-ago"5533 with no resource_type given5534 behaves like a kubectl command to retrieve resource names sorted by creationTimestamp5535Running command: `kubectl get --namespace "review-apps" --sort-by='{.metadata.creationTimestamp}' -o json`5536 is expected to contain exactly "pvc-created-three-days-ago"5537 with multiple resource_type given5538 behaves like a kubectl command to retrieve resource names sorted by creationTimestamp5539Running command: `kubectl get pvc,service --namespace "review-apps" --sort-by='{.metadata.creationTimestamp}' -o json`5540 is expected to contain exactly "pvc-created-three-days-ago"5541 #review_app_namespaces_created_before5542Running command: `kubectl get namespace -l tls=review-apps-tls --sort-by='{.metadata.creationTimestamp}' -o json`5543 is expected to contain exactly "namespace-created-three-days-ago"5544Ci::Maskable5545 masked value validations5546 when variable is masked5547 is expected not to allow :value to be ‹"hello"›5548 is expected not to allow :value to be ‹"hello world"›5549 is expected not to allow :value to be ‹"hello$VARIABLEworld"›5550 is expected not to allow :value to be ‹"hello\\rworld"›5551 is expected to allow :value to be ‹"helloworld"›5552 when variable is not masked5553 is expected to allow :value to be ‹"hello"›5554 is expected to allow :value to be ‹"hello world"›5555 is expected to allow :value to be ‹"hello$VARIABLEworld"›5556 is expected to allow :value to be ‹"hello\\rworld"›5557 is expected to allow :value to be ‹"helloworld"›5558 REGEX5559 does not match strings shorter than 8 letters5560 does not match strings with spaces5561 does not match strings with shell variables5562 does not match strings with escape characters5563 does not match strings that span more than one line5564 does not match strings using unsupported characters5565 matches valid strings5566 #to_runner_variable5567 exposes the masked attribute5568Projects::RepositoryStorageMove5569 behaves like handles repository moves5570 associations5571 is expected to belong to container required: false5572 validations5573 is expected to validate that :container cannot be empty/falsy5574 is expected to validate that :state cannot be empty/falsy5575 is expected to validate that :source_storage_name cannot be empty/falsy5576 is expected to validate that :destination_storage_name cannot be empty/falsy5577 source_storage_name inclusion5578 does not allow repository storages that don't match a label in the configuration5579 destination_storage_name inclusion5580 does not allow repository storages that don't match a label in the configuration5581 container repository read-only5582 does not allow the container to be read-only on create5583 defaults5584 destination_storage_name5585 can pick new storage5586 state transitions5587 when in the default state5588 and transits to scheduled5589 triggers the corresponding repository storage worker5590 when the transition fails5591 does not trigger the corresponding repository storage worker and adds an error5592 and transits to started5593 does not allow the transition5594 when started5595 and transits to replicated5596 marks the container as writable5597 updates the updated_at column of the container5598 and transits to failed5599 marks the container as writable5600 state transitions5601 when started5602 and transits to replicated5603 sets the repository storage and marks the container as writable5604Projects::GitlabProjectsImportService5605 #execute5606 behaves like gitlab projects import validations5607 with an invalid path5608 returns an invalid project5609 with a valid path5610 creates a project5611 override params5612 stores them as import data when passed5613 when there is a project with the same path5614 does not create the project5615 when overwrite param is set5616 creates a project in a temporary full_path5617RuboCop::Cop::StaticTranslationDefinition5618 # order random5619 ignore5620 code: "CONSTANT_1 = __(\"a\")"5621 does not register an offense5622 code: "CONSTANT_2 = s__(\"a\")"5623 does not register an offense5624 code: "CONSTANT_3 = n__(\"a\")"5625 does not register an offense5626 code: "CONSTANT_var = _(code)"5627 does not register an offense5628 code: "CONSTANT_int = _(1)"5629 does not register an offense5630 code: "CONSTANT_none = _()"5631 does not register an offense5632 code: "class MyClass\n def self.method\n @cache ||= { hello: -> { _(\"hello\") } }\n end\nend\n"5633 does not register an offense5634 code: "class MyClass\n def self.method\n @cache ||= { hello: proc { _(\"hello\") } }\n end\nend\n"5635 does not register an offense5636 code: "class MyClass\n def method\n @cache ||= { hello: _(\"hello\") }\n end\nend\n"5637 does not register an offense5638 code: "def method\n s_('a')\nend\n"5639 does not register an offense5640 code: "class MyClass\n VALID = -> {\n s_('hi')\n }\nend\n"5641 does not register an offense5642 code: "class MyClass\n def hello\n {\n a: _('hi')\n }\n end\nend\n"5643 does not register an offense5644 code: "SomeClass = Struct.new do\n def text\n _('Some translated text')\n end\nend\n"5645 does not register an offense5646 code: "Struct.new('SomeClass') do\n def text\n _('Some translated text')\n end\nend\n"5647 does not register an offense5648 code: "class MyClass\n field :foo, title: -> { _('A title') }\nend\n"5649 does not register an offense5650 code: "included do\n put do\n _('b')\n end\nend\nclass_methods do\n expose do\n _('b')\n end\nend\n"5651 does not register an offense5652 offenses5653 code: "A = _(\"a\")\n ^^^^^^ Translation is defined in static scope. Keep translations dynamic. See https://docs.gitlab.com/ee/development/i18n/externalization.html#keep-translations-dynamic \n"5654 registers an offense5655 code: "B = s_(\"b\")\n ^^^^^^^ Translation is defined in static scope. Keep translations dynamic. See https://docs.gitlab.com/ee/development/i18n/externalization.html#keep-translations-dynamic \n"5656 registers an offense5657 code: "C = n_(\"c\")\n ^^^^^^^ Translation is defined in static scope. Keep translations dynamic. See https://docs.gitlab.com/ee/development/i18n/externalization.html#keep-translations-dynamic \n"5658 registers an offense5659 code: "A = _('a' \\\n ^^^^^^^ [...]\n 'b')\n"5660 registers an offense5661 code: "A = _(\"a\#{s}\")\n ^^^^^^^^^^ [...]\n"5662 registers an offense5663 code: "class MyClass\n def self.translations\n @cache ||= { hello: _(\"hello\") }\n ^^^^^^^^^^ Translation is defined in static scope. Keep translations dynamic. See https://docs.gitlab.com/ee/development/i18n/externalization.html#keep-translations-dynamic \n end\nend\n"5664 registers an offense5665 code: "module MyModule\n A = {\n b: {\n c: _(\"a\")\n ^^^^^^ Translation is defined in static scope. Keep translations dynamic. See https://docs.gitlab.com/ee/development/i18n/externalization.html#keep-translations-dynamic \n }\n }\nend\n"5666 registers an offense5667 code: "class MyClass\n B = [\n [\n s_(\"a\")\n ^^^^^^^ Translation is defined in static scope. Keep translations dynamic. See https://docs.gitlab.com/ee/development/i18n/externalization.html#keep-translations-dynamic \n ]\n ]\nend\n"5668 registers an offense5669 code: "class MyClass\n field :foo, title: _('A title')\n ^^^^^^^^^^^^ Translation is defined in static scope. Keep translations dynamic. See https://docs.gitlab.com/ee/development/i18n/externalization.html#keep-translations-dynamic \nend\n"5670 registers an offense5671 code: "included do\n _('a')\n ^^^^^^ Translation is defined in static scope. Keep translations dynamic. See https://docs.gitlab.com/ee/development/i18n/externalization.html#keep-translations-dynamic \nend\nprepended do\n self.var = _('a')\n ^^^^^^ Translation is defined in static scope. Keep translations dynamic. See https://docs.gitlab.com/ee/development/i18n/externalization.html#keep-translations-dynamic \nend\nclass_methods do\n _('a')\n ^^^^^^ Translation is defined in static scope. Keep translations dynamic. See https://docs.gitlab.com/ee/development/i18n/externalization.html#keep-translations-dynamic \nend\n"5672 registers an offense5673Gitlab::Patch::Prependable5674 a class including a concern prepending a concern5675 returns values from prepended module ee5676 has the expected ancestors5677 prepends only once even if called twice5678 overriding methods5679 returns values from the class5680 a class prepending a concern prepending a concern5681 returns values from prepended module ee5682 has the expected ancestors5683 prepends only once5684 a class prepending a concern5685 returns values from prepended module ee5686 has the expected ancestors5687 prepends only once5688 simple case5689 class methods5690 has a method5691 can execute a method5692 instance methods5693 has a method5694 chains a method execution5695 having two prepended blocks5696 raises an error5697 the extra hack for override verification5698 when ENV["STATIC_VERIFICATION"] is not defined5699 does not extend ClassMethods onto the defining module5700 when ENV["STATIC_VERIFICATION"] is defined5701 does extend ClassMethods onto the defining module5702Gitlab::Kubernetes::Helm::V2::BaseCommand5703 HELM_VERSION5704 is expected to match /^2\.\d+\.\d+$/5705 #env5706 is expected to include {:TILLER_NAMESPACE => "gitlab-managed-apps"}5707 behaves like helm command generator5708 #generate_script5709 returns appropriate command5710 #pod_name5711 is expected to eq "install-test-class-name"5712 behaves like helm command5713 HELM_VERSION5714 is expected to match /\d+\.\d+\.\d+/5715 #env5716 is expected to be a kind of Hash5717 #rbac?5718 rbac is enabled5719 is expected to be truthy5720 rbac is not enabled5721 is expected to be falsey5722 #pod_resource5723 rbac is enabled5724 is expected to be an instance of Kubeclient::Resource5725 generates a pod that uses the tiller serviceAccountName5726 rbac is not enabled5727 is expected to be an instance of Kubeclient::Resource5728 generates a pod that uses the default serviceAccountName5729 #config_map_resource5730 returns a KubeClient resource with config map content for the application5731 #service_account_resource5732 rbac is enabled5733 generates a Kubeclient resource for the tiller ServiceAccount5734 rbac is not enabled5735 generates nothing5736 #cluster_role_binding_resource5737 rbac is enabled5738 generates a Kubeclient resource for the ClusterRoleBinding for tiller5739 binds the account in #service_account_resource5740 rbac is not enabled5741 generates nothing5742Nav::NewDropdownHelper5743 #new_dropdown_view_model5744 has title5745 when current_user is nil (anonymous)5746 is nil5747 when group and project are nil5748 has no menu sections5749 when can create project5750 has project menu item5751 when can create group5752 has group menu item5753 when can create snippet5754 has new snippet menu item5755 with persisted group5756 has no menu sections5757 when can create projects in group5758 has new project menu item5759 when can create subgroup5760 has new subgroup menu item5761 when can invite members5762 behaves like invite member link shared example5763 shows invite member link with emoji5764 with persisted project5765 has no menu sections5766 with show_new_issue_link?5767 shows new issue menu item5768 with merge project5769 shows merge project5770 when can create snippet5771 shows new snippet5772 when invite members experiment5773 behaves like invite member link shared example5774 shows invite member link with emoji5775Gitlab::Ci::Tags::BulkInsert5776 gem version5777 is expected to eq "9.0.0"5778 .bulk_insert_tags!5779 delegates to bulk insert class5780 #insert!5781 without tags5782 is expected to be falsey5783 with tags5784 persists tags5785 persists taggings5786 strips tags5787 when batching inserts for tags5788 inserts tags in batches5789 when batching inserts for taggings5790 inserts taggings in batches5791 with tags for only one job5792 persists tags5793 persists taggings5794BitbucketServer::Representation::PullRequest5795 #author5796 is expected to eq "root"5797 #author_email5798 is expected to eq "joe.montana@49ers.com"5799 #author_username5800 returns username5801 when username is absent5802 returns slug5803 when slug and username are absent5804 returns displayName5805 #description5806 is expected to eq "Test"5807 #iid5808 is expected to eq 75809 #state5810 is expected to eq "merged"5811 declined pull requests5812 returns closed5813 open pull requests5814 returns open5815 #merged?5816 is expected to be truthy5817 #created_at5818 is expected to eq 15306006355819 #updated_at5820 is expected to eq 15306006485821 #title5822 is expected to eq "Added a new line"5823 #source_branch_name5824 is expected to eq "refs/heads/root/CODE_OF_CONDUCTmd-1530600625006"5825 #source_branch_sha5826 is expected to eq "074e2b4dddc5b99df1bf9d4a3f66cfc15481fdc8"5827 #target_branch_name5828 is expected to eq "refs/heads/master"5829 #target_branch_sha5830 is expected to eq "839fa9a2d434eb697815b8fcafaecc51accfdbbc"5831Gitlab::UntrustedRegexp5832 #initialize5833 invalid regexp5834 is expected to raise RegexpError5835 #replace_all5836 replaces all instances of the match in a string5837 #replace5838 replaces the first instance of the match in a string5839 #===5840 returns true for a match5841 returns false for no match5842 can handle regular expressions in multiline mode5843 #match?5844 malicious regexp5845 takes under a second5846 matching regexp5847 returns an array of nil matches5848 non-matching regexp5849 returns an array of nil matches5850 #scan5851 malicious regexp5852 takes under a second5853 empty regexp5854 returns an array of nil matches5855 empty capture group regexp5856 returns an array of nil matches in an array5857 no capture group5858 returns the whole match5859 one capture group5860 returns the captured part5861 two capture groups5862 returns the captured parts5863 #match5864 when there are matches5865 returns a match object5866 when there are no matches5867 returns nil5868Mutations::IncidentManagement::TimelineEvent::Destroy5869 # order random5870 is expected to require graphql authorizations :admin_incident_management_timeline_event5871 #resolve5872 when a user has permissions to delete timeline event5873 when TimelineEvents::DestroyService responds with success5874 returns the timeline event with no errors5875 when TimelineEvents::DestroyService responds with an error5876 returns errors5877 when a user has no permissions to delete timeline event5878 raises an error5879Issues::RelatedBranchesService5880 #execute5881 branches are available5882 excludes branches referenced in merge requests5883 when user has access to pipelines5884 selects relevant branches, along with pipeline status5885 when user does not have access to pipelines5886 returns branches without pipeline status5887 no branches are available5888 returns an empty array5889Gitlab::Metrics::Samplers::ActionCableSampler5890 behaves like metrics sampler5891 when sampling interval is passed explicitly5892 is expected to eq 425893 when sampling interval is passed through the environment5894 is expected to eq 425895 when no sampling interval is passed anywhere5896 uses the hardcoded default5897 #start5898 calls the sample method on the sampler thread5899 with warmup set to true5900 calls the sample method first on the caller thread5901 #safe_sample5902 calls #sample once5903 when sampling fails with error5904 recovers from errors5905 with logger5906 logs errors5907 #sample5908 includes active connections5909 includes minimum worker pool size5910 includes maximum worker pool size5911 includes current worker pool size5912 includes largest worker pool size5913 includes worker pool completed task count5914 includes worker pool pending task count5915Gitlab::AlertManagement::Fingerprint5916 .generate5917 when data is an array5918 returns the hashed fingerprint5919 with a variety of data5920 data: 1115921 performs like a hashed fingerprint5922 data: "fingerprint"5923 performs like a hashed fingerprint5924 data: :fingerprint5925 performs like a hashed fingerprint5926 data: true5927 performs like a hashed fingerprint5928 when data is a hash5929 behaves like fingerprinted Hash5930 performs like a hashed fingerprint5931 hashes with different order5932 calculates the same result5933 hash is too large5934 raises an error5935Users::MergeRequestInteraction5936 declarative policy delegation5937 delegates to the merge request5938 #can_merge?5939 when the user cannot merge5940 is expected not to be can merge5941 when the user can merge5942 is expected to be can merge5943 #can_update?5944 when the user cannot update the MR5945 is expected not to be can update5946 when the user can update the MR5947 is expected to be can update5948 #review_state5949 when the user has not been asked to review the MR5950 is expected to be nil5951 implies not reviewed5952 when the user has been asked to review the MR5953 implies not reviewed5954 when the user has provided a review5955 is expected to eq "reviewed"5956 implies reviewed5957 #approved?5958 when the user has not approved the MR5959 is expected not to be approved5960 when the user has approved the MR5961 is expected to be approved5962Gitlab::GithubImport::Importer::IssueEventsImporter5963 #parallel?5964 when running in parallel mode5965 is expected to be parallel5966 when running in sequential mode5967 is expected not to be parallel5968 #execute5969 when running in parallel mode5970 imports events in parallel5971 when running in sequential mode5972 imports notes in sequence5973 #sequential_import5974 imports each event in sequence5975 #parallel_import5976 imports each note in parallel5977 #importer_class5978 is expected to eq Gitlab::GithubImport::Importer::IssueEventImporter5979 #representation_class5980 is expected to eq Gitlab::GithubImport::Representation::IssueEvent5981 #sidekiq_worker_class5982 is expected to eq Gitlab::GithubImport::ImportIssueEventWorker5983 #object_type5984 is expected to eq :issue_event5985 #collection_method5986 is expected to eq :repository_issue_events5987 #id_for_already_imported_cache5988 returns the ID of the given note5989 #collection_options5990 is expected to eq {}5991IncidentManagement::ProjectIncidentManagementSetting5992 # order random5993 #pagerduty_token5994 when token already set5995 reads the token5996 when not set5997 when PagerDuty webhook is active5998 generates a token before validation5999 when PagerDuty webhook is not active6000 does not generate a token before validation6001 Validations6002 validate issue_template_exists6003 with create_issue enabled6004 with valid issue_template_key6005 is expected to be valid6006 with empty issue_template_key6007 is expected to be valid6008 with nil issue_template_key6009 is expected to be valid6010 with invalid issue_template_key6011 is expected to be invalid6012 returns error6013 with create_issue disabled6014 with unknown issue_template_key6015 is expected to be valid6016 Associations6017 is expected to belong to project required: false6018 #issue_template_content6019 with valid issue_template_key6020 returns issue content6021 with unknown issue_template_key6022 behaves like no content6023 returns no content6024 without issue_template_key6025 behaves like no content6026 returns no content6027layouts/devise6028 behaves like a layout which reflects the application theme setting6029 as a themed layout6030 when no theme is explicitly selected6031 renders with the default theme6032 when user is authenticated & has selected a specific theme6033 chosen_theme: #<struct Gitlab::Themes::Theme id=1, name="Indigo", css_class="ui-indigo", css_filename="theme_indigo", primary_color="#292961">6034 renders with the Indigo theme6035 chosen_theme: #<struct Gitlab::Themes::Theme id=6, name="Light Indigo", css_class="ui-light-indigo", css_filename="theme_light_indigo", primary_color="#4b4ba3">6036 renders with the Light Indigo theme6037 chosen_theme: #<struct Gitlab::Themes::Theme id=4, name="Blue", css_class="ui-blue", css_filename="theme_blue", primary_color="#1a3652">6038 renders with the Blue theme6039 chosen_theme: #<struct Gitlab::Themes::Theme id=7, name="Light Blue", css_class="ui-light-blue", css_filename="theme_light_blue", primary_color="#2261a1">6040 renders with the Light Blue theme6041 chosen_theme: #<struct Gitlab::Themes::Theme id=5, name="Green", css_class="ui-green", css_filename="theme_green", primary_color="#0d4524">6042 renders with the Green theme6043 chosen_theme: #<struct Gitlab::Themes::Theme id=8, name="Light Green", css_class="ui-light-green", css_filename="theme_light_green", primary_color="#156b39">6044 renders with the Light Green theme6045 chosen_theme: #<struct Gitlab::Themes::Theme id=9, name="Red", css_class="ui-red", css_filename="theme_red", primary_color="#691a16">6046 renders with the Red theme6047 chosen_theme: #<struct Gitlab::Themes::Theme id=10, name="Light Red", css_class="ui-light-red", css_filename="theme_light_red", primary_color="#a62e21">6048 renders with the Light Red theme6049 chosen_theme: #<struct Gitlab::Themes::Theme id=2, name="Gray", css_class="ui-gray", css_filename="theme_gray", primary_color="#303030">6050 renders with the Gray theme6051 chosen_theme: #<struct Gitlab::Themes::Theme id=3, name="Light Gray", css_class="ui-light-gray", css_filename="theme_light_gray", primary_color="#666">6052 renders with the Light Gray theme6053 chosen_theme: #<struct Gitlab::Themes::Theme id=11, name="Dark Mode (alpha)", css_class="gl-dark", css_filename=nil, primary_color="#303030">6054 renders with the Dark Mode (alpha) theme6055 logo6056 renders GitLab logo6057 with custom logo6058 renders custom logo6059Namespaces::UserNamespacePolicy6060 with no user6061 is expected to be banned6062 regular user6063 is expected to be disallowed :owner_access, :create_projects, :admin_namespace, :read_namespace, :read_statistics, :transfer_projects, :admin_package, :read_billing, and :edit_billing6064 owner6065 is expected to be allowed :owner_access, :create_projects, :admin_namespace, :read_namespace, :read_statistics, :transfer_projects, :admin_package, :read_billing, and :edit_billing6066 user who has exceeded project limit6067 is expected to be disallowed :create_projects6068 is expected to be disallowed :transfer_projects6069 bot user6070 is expected to be disallowed :create_projects6071 is expected to be disallowed :transfer_projects6072 admin6073 when admin mode is enabled6074 is expected to be allowed :owner_access, :create_projects, :admin_namespace, :read_namespace, :read_statistics, :transfer_projects, :admin_package, :read_billing, and :edit_billing6075 when admin mode is disabled6076 is expected to be disallowed :owner_access, :create_projects, :admin_namespace, :read_namespace, :read_statistics, :transfer_projects, :admin_package, :read_billing, and :edit_billing6077 create_jira_connect_subscription6078 admin6079 when admin mode enabled6080 is expected to be allowed :create_jira_connect_subscription6081 when admin mode disabled6082 is expected to be disallowed :create_jira_connect_subscription6083 owner6084 is expected to be allowed :create_jira_connect_subscription6085 other user6086 is expected to be disallowed :create_jira_connect_subscription6087 create projects6088 when user can create projects6089 is expected to be allowed :create_projects6090 when user cannot create projects6091 is expected to be disallowed :create_projects6092Releases::EvidencePipelineFinder#execute6093 when the tag is passed6094 returns the evidence pipeline6095 when the ref is passed6096 returns the evidence pipeline6097 empty params6098 returns nil6099 params[:evidence_pipeline] is present6100 returns the passed evidence pipeline6101Gitlab::Email::Handler6102 .for6103 picks issue handler if there is no merge request prefix6104 picks merge request handler if there is merge request key6105 returns nil if no handler is found6106 returns nil if provided email is nil6107 key matches the reply_key of a notification6108 picks note handler6109 key matches the reply_key of a notification, along with an unsubscribe suffix6110 picks unsubscribe handler6111 new issue email6112 return new issue handler6113 a Service Desk email6114 uses the Service Desk handler6115 regexps are set properly6116 picks each handler at least once6117 can pick exactly one handler for each address6118gitlab:terraform_states6119 gitlab:terraform_states:migrate6120 invokes the migration helper to move files to object storage6121 an error is raised while migrating6122 logs the error6123Gitlab::Database::PartitioningMigrationHelpers::BackfillPartitionedTable#perform6124 when the destination table exists6125WARNING: Active Record does not support composite primary key.6126_test_partitioning_backfills_part has composite primary key. Composite primary key is ignored.6127 copies data into the destination table idempotently6128 breaks the assigned batch into smaller batches6129 pauses after copying each sub-batch6130 marks each job record as succeeded after processing6131 returns the number of job records marked as succeeded6132 when the job is run within an explicit transaction block6133 raises an error before copying data6134 when the destination table does not exist6135 exits without attempting to copy data6136 logs a warning message that the job was skipped6137Clusters::Kubernetes6138 is expected to be const defined :GITLAB_SERVICE_ACCOUNT_NAME6139 is expected to be const defined :GITLAB_SERVICE_ACCOUNT_NAMESPACE6140 is expected to be const defined :GITLAB_ADMIN_TOKEN_NAME6141 is expected to be const defined :GITLAB_CLUSTER_ROLE_BINDING_NAME6142 is expected to be const defined :GITLAB_CLUSTER_ROLE_NAME6143 is expected to be const defined :PROJECT_CLUSTER_ROLE_NAME6144 is expected to be const defined :GITLAB_KNATIVE_SERVING_ROLE_NAME6145 is expected to be const defined :GITLAB_KNATIVE_SERVING_ROLE_BINDING_NAME6146 is expected to be const defined :GITLAB_CROSSPLANE_DATABASE_ROLE_NAME6147 is expected to be const defined :GITLAB_CROSSPLANE_DATABASE_ROLE_BINDING_NAME6148AccessTokenValidationService6149 .include_any_scope?6150 returns true if the required scope is present in the token's scopes6151 returns true if more than one of the required scopes is present in the token's scopes6152 returns true if the list of required scopes is an exact match for the token's scopes6153 returns true if the list of required scopes contains all of the token's scopes, in addition to others6154 returns true if the list of required scopes is blank6155 returns false if there are no scopes in common between the required scopes and the token scopes6156 conditions6157 ignores any scopes whose `if` condition returns false6158 does not ignore scopes whose `if` condition is not set6159 does not ignore scopes whose `if` condition returns true6160ResourceMilestoneEventFinder6161 #execute6162 returns events with milestones accessible by user6163 filters events with public project milestones if issues and MRs are private6164 filters events with project milestones not accessible by user6165 filters events with group milestones not accessible by user6166 when multiple events share the same milestone6167 avoids N+1 queries6168RuboCop::Cop::SidekiqApiUsage6169 # order random6170 registers offence when calling Sidekiq API6171 does not registers offence when calling Sidekiq::Testing6172 registers offence when assigning Sidekiq API classes6173 when calling Sidekiq::Worker6174 registers no offences for calling skipping_transaction_check6175 registers no offences for calling raise_inside_transaction_exception6176 registers no offences for calling raise_exception_for_being_inside_a_transaction?6177 registers offence for calling other Sidekiq::Worker methods6178Atlassian::JiraConnect::Jwt::Asymmetric6179 #valid?6180 returns true when verified with public key from CDN6181 JWT does not contain a key ID6182 is expected not to be valid6183 JWT contains a key ID that is not a valid UUID46184 is expected not to be valid6185 public key can not be retrieved6186 is expected not to be valid6187 retrieving the public raises an error6188 is expected not to be valid6189 token decoding raises an error6190 is expected not to be valid6191 when iss could not be verified6192 is expected not to be valid6193 when qsh could not be verified6194 is expected not to be valid6195 with jira_connect_proxy_url setting6196 requests the settings CDN6197 when jira_connect_oauth_self_managed disabled6198 requests the default CDN6199 #iss_claim6200 is expected to eq nil6201 when jwt is verified6202 is expected to eq "client_key"6203Gitlab::GithubImport::Stage::ImportNotesWorker6204 #import6205 imports all the notes6206 #importers6207 when settings single_endpoint_notes_import is enabled6208 includes single endpoint mr and issue notes importers6209 when settings single_endpoint_notes_import is disabled6210 includes default notes importer6211Gitlab::Issuable::Clone::AttributesRewriter6212 with missing target parent6213 raises an ArgumentError6214 setting labels6215 sets labels present in the new project and group labels6216 does not set any labels when not used on the original issue6217 setting milestones6218 sets milestone to nil when old issue milestone is not in the new project6219 copies the milestone when old issue milestone title is in the new project6220 copies the milestone when old issue milestone is a group milestone6221 when include_milestone is false6222 does not return any milestone6223 when target parent is a group6224 setting labels6225 keeps group labels and merges project labels where possible6226AwardEmojis::CopyService6227 #initialize6228 validates that we cannot copy AwardEmoji to the same Awardable6229 #execute6230 copies AwardEmojis6231 returns success6232Gitlab::Database::Reindexing::Coordinator6233 #perform6234 locking6235 acquires a lock while reindexing6236 does not perform reindexing actions if lease is not granted6237 notifications6238 sends #notify_start before reindexing6239 sends #notify_end after reindexing and updating the action is done6240 action tracking6241 calls #finish on the action6242 upon error, it still calls finish and raises the error6243 #drop6244 when exclusive lease is granted6245 drops the index with lock retries6246 when exclusive lease is not granted6247 does not drop the index6248Gitlab::Ci::Reports::TestReportsComparer6249 #suite_comparers6250 when head and base reports include two test suites6251 returns test suite comparers with specified values6252 #total_status6253 when all tests cases are success in head suites6254 returns the total status6255 when there is a failed test case in head suites6256 returns the total status in head suite6257 when there is an error test case in head suites6258 returns the total status in head suite6259 #total_count6260 returns the total test counts in head suites6261 #resolved_count6262 when there is a resolved failure test case in head suites6263 returns the correct count6264 when there is a resolved error test case in head suites6265 returns the correct count6266 when there are no resolved test cases in head suites6267 returns the correct count6268 #failed_count6269 when there is a failed test case in head suites6270 returns the correct count6271 when there are no failed test cases in head suites6272 returns the correct count6273 #error_count6274 when there is an error test case in head suites6275 returns the correct count6276 when there are no error test cases in head suites6277 returns the correct count6278Gitlab::Search::Query6279 is expected to be < SimpleDelegator6280 leaves undefined filters in the main query6281 parses filters6282 with an empty filter6283 ignores empty filters6284 with a pipe6285 does not escape the pipe6286 with an exclusive filter6287 negates the filter6288 with filter value in quotes6289 does not break the filter value in quotes6290 with extra white spaces between the query words6291 removes the extra whitespace between tokens6292 with mutliple filename filters6293 creates a filter for each filename in query6294 when multiple extension filters are added6295 creates a filter for each filename and extension in query6296BlobViewer::Base6297 .can_render?6298 when the extension is supported6299 when the binaryness matches6300 returns true6301 when the binaryness does not match6302 returns false6303 when the file type is supported6304 when the binaryness matches6305 returns true6306 when the binaryness does not match6307 returns false6308 when the extension and file type are not supported6309 returns false6310 #collapsed?6311 when the blob size is larger than the collapse limit6312 returns true6313 when the blob size is smaller than the collapse limit6314 returns false6315 #too_large?6316 when the blob size is larger than the size limit6317 returns true6318 when the blob size is smaller than the size limit6319 returns false6320 #render_error6321 when the blob is expanded6322 when the blob size is larger than the size limit6323 returns :too_large6324 when the blob size is smaller than the size limit6325 returns nil6326 when not expanded6327 when the blob size is larger than the collapse limit6328 returns :collapsed6329 when the blob size is smaller than the collapse limit6330 returns nil6331Gitlab::Tracking::IncidentManagement6332 # order random6333 .track_from_params6334 known params6335 param create_issue6336 behaves like a tracked event6337 creates the tracking event with the correct details6338 param issue_template_key6339 behaves like a tracked event6340 creates the tracking event with the correct details6341 param send_email6342 behaves like a tracked event6343 creates the tracking event with the correct details6344 param pagerduty_active6345 behaves like a tracked event6346 creates the tracking event with the correct details6347 param auto_close_incident6348 behaves like a tracked event6349 creates the tracking event with the correct details6350 different input values6351 behaves like the correct prefixed event name6352 matches6353 behaves like the correct prefixed event name6354 matches6355 behaves like the correct prefixed event name6356 matches6357 behaves like the correct prefixed event name6358 matches6359 behaves like the correct prefixed event name6360 matches6361 param with label6362 behaves like a tracked event6363 creates the tracking event with the correct details6364 param without label6365 behaves like a tracked event6366 creates the tracking event with the correct details6367 unknown params6368 does not create the tracking event6369InstanceClusterablePresenter6370 #connect_path6371 is expected to eq "/admin/clusters/connect"6372 #clear_cluster_cache_path6373 is expected to eq "/admin/clusters/601/clear_cache"6374 #metrics_dashboard_path6375 is expected to eq "/admin/clusters/604/metrics_dashboard"6376 #learn_more_link6377 is expected to include "user/instance/clusters/index"6378DependencyProxy::AuthTokenService6379 .user_or_deploy_token_from_jwt6380 with a user6381 is expected to eq #<User id:2403 @user1789>6382 with an invalid user id6383 raises an not found error6384 behaves like handling token errors6385 with a decoding error6386 is expected to eq nil6387 with an immature signature error6388 is expected to eq nil6389 with an expired signature error6390 returns nil6391 with a deploy token6392 is expected to eq #<DeployToken id: 5, revoked: false, read_repository: true, read_registry: true, expires_at: "2022-12...write_registry: false, read_package_registry: false, write_package_registry: false, creator_id: nil>6393 with an invalid token6394 is expected to eq nil6395 behaves like handling token errors6396 with a decoding error6397 is expected to eq nil6398 with an immature signature error6399 is expected to eq nil6400 with an expired signature error6401 returns nil6402 with an empty token payload6403 is expected to eq nil6404Gitlab::Database::Reindexing::IndexSelection6405 orders by highest relative bloat first6406 excludes indexes with a relative bloat level below 20%6407 excludes indexes smaller than 1 GB ondisk size6408 includes indexes larger than 100 GB ondisk size6409 with time frozen6410 does not return indexes with reindex action in the last 10 days6411Gitlab::Usage::ServicePing::LegacyMetricTimingDecorator6412 metric_value: 1, metric_class: Integer6413 exposes a duration with the correct value6414 imitates wrapped class6415 metric_value: "value", metric_class: String6416 exposes a duration with the correct value6417 imitates wrapped class6418 metric_value: true, metric_class: TrueClass6419 exposes a duration with the correct value6420 imitates wrapped class6421 metric_value: false, metric_class: FalseClass6422 exposes a duration with the correct value6423 imitates wrapped class6424 metric_value: nil, metric_class: NilClass6425 exposes a duration with the correct value6426 imitates wrapped class6427Gitlab::GithubImport::Importer::Events::CrossReferenced6428 with Issue6429 behaves like import cross-referenced event6430 when referenced in other issue6431 creates expected note6432 when referenced in pull request6433 creates expected note6434 when referenced in out of project issue/pull_request6435 does not create expected note6436 with MergeRequest6437 behaves like import cross-referenced event6438 when referenced in other issue6439 creates expected note6440 when referenced in pull request6441 creates expected note6442 when referenced in out of project issue/pull_request6443 does not create expected note6444TermsHelper6445 #terms_data6446 returns correct json6447Gitlab::Verify::LfsObjects6448 behaves like Gitlab::Verify::BatchVerifier subclass6449 batching6450 iterates through objects in batches6451 allows the starting ID to be specified6452 allows the finishing ID to be specified6453 #run_batches6454 passes LFS objects with the correct file6455 fails LFS objects with a missing file6456 fails LFS objects with a mismatched oid6457 with remote files6458 passes LFS objects in object storage that exist6459 fails LFS objects in object storage that do not exist6460RspecFlaky::Listener6461 #initialize6462 when no report file exists6463 behaves like a valid Listener instance6464 returns a valid Listener instance6465 when FLAKY_RSPEC_SUITE_REPORT_PATH is set6466 and report file exists6467 delegates the load to RspecFlaky::Report6468 and report file does not exist6469 return an empty hash6470 #example_passed6471 when the RSpec example does not respond to attempts6472 behaves like a non-flaky example6473 does not change the flaky examples hash6474 when the RSpec example has 1 attempt6475 behaves like a non-flaky example6476 does not change the flaky examples hash6477 when the RSpec example has 2 attempts6478 behaves like a new flaky example6479 changes the all flaky examples hash6480 with an existing flaky example6481 behaves like an existing flaky example6482 changes the flaky examples hash6483 #dump_summary6484 when a report file path is set by FLAKY_RSPEC_REPORT_PATH6485 delegates the writes to RspecFlaky::Report6486Gitlab::UsageDataCounters::KubernetesAgentCounter6487 behaves like a redis usage counter6488 .count(gitops_sync)6489 increments the Kubernetes Agent gitops_sync counter by 16490 .read(gitops_sync)6491 returns the total number of gitops_sync events6492 behaves like a redis usage counter with totals6493 totals6494 can report all totals6495 unknown events6496 cannot increment6497 cannot read6498 behaves like a redis usage counter6499 .count(k8s_api_proxy_request)6500 increments the Kubernetes Agent k8s_api_proxy_request counter by 16501 .read(k8s_api_proxy_request)6502 returns the total number of k8s_api_proxy_request events6503 behaves like a redis usage counter with totals6504 totals6505 can report all totals6506 unknown events6507 cannot increment6508 cannot read6509 .increment_event_counts6510 increments the specified counters by the new increment amount6511 with empty events6512 is expected not to change `Gitlab::UsageDataCounters::KubernetesAgentCounter.totals`6513 event is unknown6514 raises an ArgumentError6515 increment is negative6516 raises an ArgumentError6517Gitlab::LegacyGithubImport::MilestoneFormatter6518 when importing a GitHub project6519 behaves like Gitlab::LegacyGithubImport::MilestoneFormatter#attributes6520 when milestone is open6521 returns formatted attributes6522 when milestone is closed6523 returns formatted attributes6524 when milestone has a due date6525 returns formatted attributes6526 when importing a Gitea project6527 behaves like Gitlab::LegacyGithubImport::MilestoneFormatter#attributes6528 when milestone is open6529 returns formatted attributes6530 when milestone is closed6531 returns formatted attributes6532 when milestone has a due date6533 returns formatted attributes6534Releases::Source6535 .all6536 returns all formats of sources6537 #url6538 returns zip archived source url6539 when ref is directory structure6540 converts slash to dash6541IncidentManagement::CloseIncidentWorker6542 # order random6543 #perform6544 calls the close issue service6545 when the incident does not exist6546 behaves like does not call the close issue service6547 is expected not to change `ResourceStateEvent.count`6548 when issue type is not incident6549 behaves like does not call the close issue service6550 is expected not to change `ResourceStateEvent.count`6551 when incident is not open6552 behaves like does not call the close issue service6553 is expected not to change `ResourceStateEvent.count`6554 when incident fails to close6555 is expected not to change `ResourceStateEvent.count`6556Gitlab::SnippetSearchResults6557 #snippet_titles_count6558 returns the amount of matched snippet titles6559 #formatted_count6560 returns the expected formatted count6561 #highlight_map6562 returns the expected highlight map6563 #objects6564 uses page and per_page to paginate results6565Discussions::CaptureDiffNotePositionsService6566 when merge request has a discussion6567 and position of the discussion changed on target branch head6568 diff positions are created for the first notes of the discussions6569Gitlab::Ci::Pipeline::Chain::RemoveUnwantedChatJobs6570 #perform!6571 removes unwanted jobs for chat pipelines6572 does not remove any jobs for non chat-pipelines6573Ci::CreatePipelineService6574 # order random6575 when using variables6576 when variables have expand: true/false6577 creates the pipeline with a job that has variable expanded according to "expand"6578 when the FF ci_raw_variables_in_yaml_config is disabled6579 creates the pipeline with a job that has all variables expanded6580 when trigger variables have expand: true/false6581 creates the pipeline with a trigger job that has downstream_variables expanded according to "expand"6582 when the FF ci_raw_variables_in_yaml_config is disabled6583 creates the pipeline with a job that has all variables expanded6584Gitlab::GithubImport::Importer::LabelLinksImporter6585 #execute6586 creates the label links6587 #create_labels6588 inserts the label links in bulk6589 does not insert label links for non-existing labels6590 #find_target_id6591 returns the ID of the issuable to create the label link for6592Gitlab::Diff::LineMapper6593 #old_to_new6594 with a diff file6595 returns the new line number for the old line number6596 without a diff file6597 returns the same line number6598 #new_to_old6599 with a diff file6600 returns the old line number for the new line number6601 without a diff file6602 returns the same line number6603Mutations::SavedReplies::Update6604 #resolve6605 when feature is disabled6606 raises Gitlab::Graphql::Errors::ResourceNotAvailable6607 when feature is enabled for current user6608 when service fails to update a new saved reply6609 is expected to be nil6610 is expected to contain exactly "Content can't be blank", "Name can't be blank", and "Name can contain only lowercase letters, digits, '_' and '-'. Must start with a letter, and cannot end with '-' or '_'"6611 when service successfully updates the saved reply6612 is expected to eq "save_reply_name"6613 is expected to eq "Save Reply Content"6614 is expected to be empty6615Types::CustomerRelations::OrganizationSortEnum6616 is expected to eq "OrganizationSort"6617 exposes all the contact sort values6618 behaves like common sort values6619 exposes all the existing common sort values6620Gitlab::Database::SimilarityScore6621 when passing empty values6622 when search is nil6623 orders by a constant 0 value6624 when rules are empty6625 orders by a constant 0 value6626 when similarity scoring based on the path6627 when searching for `git`6628 is expected to eq ["git", "gitlab", "gitaly"]6629 when searching for `gitlab`6630 is expected to eq ["gitlab", "gitlab-styles", "gitlab-danger"]6631 when searching for something unrelated6632 results have 0 similarity score6633 score multiplier6634 ranks `path` matches higher6635 annotation6636 annotates the generated SQL expression6637AuthorizedProjectUpdate::ProjectRecalculatePerUserWorker6638 is labeled as idempotent6639 performs multiple times sequentially without raising an exception6640 does not change authorizations when run twice6641 #perform6642 does not fail if the project does not exist6643 does not fail if the user does not exist6644 calls AuthorizedProjectUpdate::ProjectRecalculatePerUserService6645 exclusive lease6646 when exclusive lease has not been taken6647 obtains a new exclusive lease6648 when exclusive lease has already been taken6649 raises an error6650AuthorizedProjectUpdate::UserRefreshWithLowUrgencyWorker6651 is labeled as low urgency6652 behaves like refreshes user's project authorizations6653 #perform6654 refreshes user's authorized projects6655 when the user is not found6656 does nothing6657 behaves like an idempotent worker6658 is labeled as idempotent6659 performs multiple times sequentially without raising an exception6660 does not change authorizations when run twice6661Projects::CountService6662 .query6663 raises NotImplementedError6664 #relation_for_count6665 calls the class method query with the project id6666 #count6667 returns the number of rows6668 caches the number of rows6669 #refresh_cache6670 refreshes the cache6671 #delete_cache6672 removes the cache6673 #cache_key_name6674 raises NotImplementedError6675 #cache_key6676 returns the cache key as an Array6677Sidebars::Projects::Menus::MergeRequestsMenu6678 #render?6679 when repository is not present6680 returns false6681 when repository is present6682 when user can read merge requests6683 returns true6684 when user cannot read merge requests6685 returns false6686 #pill_count6687 returns zero when there are no open merge requests6688 memoizes the query6689 when there are open merge requests6690 returns the number of open merge requests6691Bitbucket::Page6692 #items6693 returns collection of needed objects6694 #attrs6695 returns attributes6696 #next?6697 returns true6698 returns false6699 #next6700 returns next attribute6701Gitlab::SidekiqMiddleware::DuplicateJobs::Strategies6702 .for6703 returns the right class for `until_executing`6704 returns the right class for `until_executed`6705 returns the right class for `none`6706 raises an UnknownStrategyError when passing an unknown key6707Types::Packages::Cleanup::PolicyType6708 is expected to eq "PackagesCleanupPolicy"6709 is expected to eq "A packages cleanup policy designed to keep only packages and packages assets that matter most"6710 is expected to require graphql authorizations :admin_package6711 keep_n_duplicated_package_files6712 is expected to have non-null GraphQL type PackagesCleanupKeepDuplicatedPackageFilesEnum6713 next_run_at6714 is expected to have nullable GraphQL type Time6715Groups::UpdateTwoFactorRequirementForMembersWorker6716 # order random6717 #perform6718 calls #update_two_factor_requirement_for_members6719 is labeled as idempotent6720 performs multiple times sequentially without raising an exception6721 requires 2fa for group members correctly6722 when group not found6723 returns nil6724Gitlab::Usage::Metrics::Instrumentations::GitlabForJiraAppDirectInstallationsCountMetric6725 # order random6726 behaves like a correct instrumented metric value and query6727 behaves like a correct instrumented metric value6728 has correct value6729 behaves like a correct instrumented metric query6730 has correct generate query6731ExploreHelper6732 #explore_nav_links6733 has all the expected links by default6734 #public_visibility_restricted?6735 delegates to Gitlab::VisibilityLevel6736 #projects_filter_items6737 returns correct dropdown items6738 #projects_filter_selected6739 when visibility_level is present6740 returns corresponding item6741 when visibility_level is empty6742 returns corresponding item6743Gitlab::Diff::PairSelector6744 #to_a6745 finds all pairs6746 when there are empty lines6747 is expected not to raise Exception6748 when there are only removals6749 returns empty collection6750 when there are only additions6751 returns empty collection6752 when there are no changes6753 returns empty collection6754Gitlab::Kroki6755 .formats6756 enabled_formats: "", expected_formats: ["bytefield", "c4plantuml", "ditaa", "erd", "graphviz", "nomnoml", "pikchr", "plantuml", "structurizr", "svgbob", "umlet", "vega", "vegalite", "wavedrom"]6757 returns the expected formats6758 enabled_formats: "blockdiag", expected_formats: ["bytefield", "c4plantuml", "ditaa", "erd", "graphviz", "nomnoml", "pikchr", "plantuml", "structurizr", "svgbob", "umlet", "vega", "vegalite", "wavedrom", "actdiag", "blockdiag", "nwdiag", "packetdiag", "rackdiag", "seqdiag"]6759 returns the expected formats6760 enabled_formats: "bpmn", expected_formats: ["bytefield", "c4plantuml", "ditaa", "erd", "graphviz", "nomnoml", "pikchr", "plantuml", "structurizr", "svgbob", "umlet", "vega", "vegalite", "wavedrom", "bpmn"]6761 returns the expected formats6762 enabled_formats: "excalidraw", expected_formats: ["bytefield", "c4plantuml", "ditaa", "erd", "graphviz", "nomnoml", "pikchr", "plantuml", "structurizr", "svgbob", "umlet", "vega", "vegalite", "wavedrom", "excalidraw"]6763 returns the expected formats6764Gitlab::ImportExport6765 export filename6766 contains the project path6767 contains the namespace path6768 does not go over a certain length6769 #snippet_repo_bundle_filename_for6770 generates the snippet bundle name6771Gitlab::Pagination::Keyset6772 .available_for_type?6773 returns true for Project6774 return false for other types of relations6775 .available?6776 with order-by id asc6777 behaves like keyset pagination is available6778 returns true for Project6779 return false for other types of relations6780 with order-by id desc6781 behaves like keyset pagination is available6782 returns true for Project6783 return false for other types of relations6784 with other order-by columns6785 returns false for Project6786 return false for other types of relations6787Resolvers::PaginatedTreeResolver6788 is expected to have nullable GraphQL type TreeConnection6789 #resolve6790 resolves to a collection with a tree object6791 with recursive option6792 resolve to a recursive tree6793 with limited max_page_size6794 resolves to a pagination collection with a tree object6795 when repository does not exist6796 returns nil6797 Cursor pagination6798 returns all tree entries during cursor pagination6799 when cursor is invalid6800 generates an error6801Resolvers::DesignManagement::VersionInCollectionResolver6802 #resolve6803 Neither id nor sha is passed as parameters6804 generates an appropriate error6805 we pass an id6806 is expected to eq #<DesignManagement::Version id: 1, sha: "69f7bf2ac802eef87b9c3253b1527c8996b9c0c7", issue_id: 199, created_at: "2022-12-08 11:09:21.622847303 +0000", author_id: 2432>6807 we pass a sha6808 is expected to eq #<DesignManagement::Version id: 1, sha: "69f7bf2ac802eef87b9c3253b1527c8996b9c0c7", issue_id: 199, created_at: "2022-12-08 11:09:21.622847303 +0000", author_id: 2432>6809 we pass an inconsistent mixture of sha and version id6810 is expected to be nil6811API::Ci::Helpers::Runner6812 #get_runner_details_from_request6813 when no runner info is present6814 returns the runner IP6815 when runner info is present6816 extracts the runner details6817 #log_artifacts_filesize6818 behaves like storing arguments in the application context6819 places the expected params in the application context6820 behaves like not executing any extra queries for the application context6821 does not execute more queries than without adding anything to the application context6822registrations/welcome/show6823 is expected not to have visible css "label[for=\"user_setup_for_company\"]"6824 is expected to have visible button "Get started!" that is not disabled6825 is expected not to have visible css "input[name=\"user[email_opted_in]\"]"6826BlobViewer::Markup6827 #banzai_render_context6828 returns context needed for banzai rendering6829 when blob does respond to rendered_markup6830 does sets rendered key6831Types::WorkItems::Widgets::AssigneesInputType6832 is expected to eq "WorkItemWidgetAssigneesInput"6833 is expected to contain exactly "assigneeIds"6834Mutations::Boards::Lists::Create6835 behaves like board lists create mutation6836 #ready?6837 raises an error if required arguments are missing6838 raises an error if too many required arguments are specified6839 #resolve6840 with proper permissions6841 backlog list6842 creates one and only one backlog6843 label list6844 creates a new label board list6845 when label not found6846 returns an error6847 without proper permissions6848 raises an error6849groups/new.html.haml6850 setup_for_company field6851 does not have a default selection6852 when a subgroup6853 renders the visibility level section6854 role field6855 does have a default selection6856Clusters::BuildService6857 #execute6858 when cluster subject is a project6859 sets the cluster_type to project_type6860 when cluster subject is a group6861 sets the cluster_type to group_type6862 when cluster subject is an instance6863 sets the cluster_type to instance_type6864U2fRegistration6865 .authenticate6866 when registration is found6867 returns true6868 when registration not found6869 returns nil6870 when args passed in are invalid6871 returns false6872 callbacks6873 after create6874 logs error6875 behaves like creates webauthn registration6876 creates webauthn registration6877 when the u2f_registration has a blank name6878 behaves like creates webauthn registration6879 creates webauthn registration6880 when the u2f_registration has the name as `nil`6881 behaves like creates webauthn registration6882 creates webauthn registration6883 after update6884 when counter is updated6885 updates the webauthn registration counter to be the same value6886 when sign count of registration is not updated6887 does not update the counter6888Taskable6889 .get_tasks6890 is expected to match ["#<struct TaskList::Item checkbox_text=\"- [ ]\", source=\"First item\">", "#<struct TaskList::Item checkbox_text=\"- [x]\", source=\"Second item\">", "#<struct TaskList::Item checkbox_text=\"* [x]\", source=\"First item\">", "#<struct TaskList::Item checkbox_text=\"* [ ]\", source=\"Second item\">", "#<struct TaskList::Item checkbox_text=\"+ [ ]\", source=\"No-break space (U+00A0)\">", "#<struct TaskList::Item checkbox_text=\"+ [ ]\", source=\"Figure space (U+2007)\">", "#<struct TaskList::Item checkbox_text=\"+ [ ]\", source=\"Narrow no-break space (U+202F)\">", "#<struct TaskList::Item checkbox_text=\"+ [ ]\", source=\"Thin space (U+2009)\">"]6891 #task_list_items6892 issuable_type: :issue6893 when description is present6894 gets tasks from markdown6895 when description is blank6896 returns empty array6897 does not try to get tasks from markdown6898 issuable_type: :merge_request6899 when description is present6900 gets tasks from markdown6901 when description is blank6902 returns empty array6903 does not try to get tasks from markdown6904Projects::OpenMergeRequestsCountService6905 behaves like a counter caching service6906 #count6907 caches the count6908 #refresh_cache6909 refreshes the cache6910 #delete_cache6911 removes the cache6912 #uncached_count6913 does not cache the count6914 #count6915 returns the number of open merge requests6916Mutations::UserCallouts::Create6917 #resolve6918 when feature name is not supported6919 does not create a user callout6920 returns error about feature name not being supported6921 when feature name is supported6922 creates a user callout6923 sets dismissed_at for the user callout6924 has no errors6925IssueSerializer6926 non-sidebar issue serialization6927 matches issue json schema6928 sidebar issue serialization6929 matches issue_sidebar json schema6930 sidebar extras issue serialization6931 matches issue_sidebar_extras json schema6932 board issue serialization6933 matches board issue json schema6934projects/settings/operations/show6935 Operations > Alerts6936 renders the Operations Settings page6937 Operations > Error Tracking6938 Settings page6939 renders the Operations Settings page6940Types::ContainerRepositoryStatusEnum6941 exposes all statuses6942admin/application_settings/_repository_storage.html.haml6943 with storage weights configured6944 lists storages with weight6945 lists storages without weight6946 lists only configured storages6947Projects::PipelineHelper6948 #js_pipeline_tabs_data6949 returns pipeline tabs data6950Gitlab::SlashCommands::Presenters::IssueComment6951 #present6952 is expected to be a kind of Hash6953 sets ephemeral response type6954 sets the title6955 sets the fallback text6956 sets the fields6957 sets the color6958Gitlab::Ci::Status::Bridge::WaitingForResource6959 is expected to be < Gitlab::Ci::Status::Processable::WaitingForResource6960Deployments::ArchiveInProjectWorker6961 #perform6962 executes Deployments::ArchiveInProjectService6963RspecFlaky::FlakyExamplesCollection6964 #initialize6965 accepts no argument6966 accepts a hash6967 does not accept anything else6968 #to_h6969 calls #to_h on the values6970 #-6971 returns only examples that are not present in the given collection6972 fails if the given collection does not respond to `#key?`6973PropagateIntegrationGroupWorker6974 #perform6975 behaves like an idempotent worker6976 is labeled as idempotent6977 performs multiple times sequentially without raising an exception6978 calls to BulkCreateIntegrationService6979 with a group integration6980 calls to BulkCreateIntegrationService6981 with an invalid integration id6982 returns without failure6983Gitlab::ExternalAuthorization6984 #access_allowed?6985 is always true when the feature is disabled6986 #rejection_reason6987 is always nil when the feature is disabled6988 #access_for_user_to_label6989 only loads the access once per request6990 logs the access request once per request6991RuboCop::Cop::Migration::ComplexIndexesRequireName6992 # order random6993 when outside migration6994 registers no offenses6995 when in migration6996 when creating complex indexes as part of create_table6997 when indexes are configured with an options hash, but no name6998 registers an offense6999 when indexes are configured with an options hash and name7000 registers no offense7001 when indexes are added to an existing table7002 when indexes are configured with an options hash, but no name7003 registers an offense7004 when indexes are configured with an options hash and a name7005 registers no offenses7006Gitlab::Database::LoadBalancing::Resolver7007 #resolve7008 when nameserver is an IP7009 returns an IPAddr object7010 when nameserver is not an IP7011 looks the nameserver up in the hosts file7012 when nameserver is not in the hosts file7013 looks the nameserver up in DNS7014 when nameserver is not in DNS7015 raises an exception7016 when DNS does not respond7017 raises an exception7018Groups::UpdateStatisticsService7019 #execute7020 when group is nil7021 does nothing7022 with an existing group7023 when namespace statistics exists for the group7024 uses the existing statistics and refreshes them7025 when namespace statistics does not exist for the group7026 creates the statistics and refreshes them7027IntegrationPolicy7028 when the integration is a prometheus_integration7029 rules7030 is expected to be disallowed :admin_project7031 when maintainer7032 is expected to be allowed :admin_project7033Resolvers::BaseResolver.single7034 #resolve7035 with unauthorized user7036 is expected to be nil7037 when authorized7038 is expected to eq #<List id: 31, board_id: 20, label_id: 54, list_type: "label", position: 1, created_at: "2022-12-08 1...l, milestone_id: nil, max_issue_count: 0, max_issue_weight: 0, limit_metric: nil, iteration_id: nil>7039SystemCheck::App::HashedStorageEnabledCheck7040 #check?7041 fails when hashed storage is disabled7042 succeeds when hashed storage is enabled7043MergeRequests::Mergeability::CheckBaseService7044 #merge_request7045 returns the merge_request7046 #params7047 returns the params7048 #skip?7049 raises NotImplementedError7050 #cacheable?7051 raises NotImplementedError7052 #cache_key?7053 raises NotImplementedError7054Types::Packages::Helm::MaintainerType7055 is expected to eq "PackageHelmMaintainerType"7056 includes helm maintainer fields7057Gitlab::Ci::Parsers::Sbom::CyclonedxProperties7058 when properties are nil7059 is expected to be nil7060 when report does not have gitlab properties7061 is expected to be nil7062 when schema_version is missing7063 is expected to be nil7064 when schema version is unsupported7065 is expected to be nil7066 when no dependency_scanning properties are present7067 does not call dependency_scanning parser7068 when dependency_scanning properties are present7069 passes only supported properties to the dependency scanning parser7070Metrics::SampleMetricsService7071 query7072 when the file is not found7073 is expected to be nil7074 when the file is found7075 loads data from the sample file correctly7076 when the identifier is for a path outside of sample_metrics7077 is expected to be nil7078Rouge::Formatters::HTMLGitlab7079 #format7080 returns highlighted ruby code7081 when svg and indexes are present to trim7082 returns highlighted ruby code with svg7083 when options are empty7084 returns highlighted code without language7085 when line number is provided7086 returns highlighted ruby code with correct line number7087 when unicode control characters are used7088 highlights the control characters7089ObjectStorage::CDN7090 # order random7091 without CDN config7092 #use_cdn?7093 returns false7094 with an unknown CDN provider7095 raises an error7096 with CDN config7097 #cdn_enabled_url7098 calls #cdn_signed_url7099 #use_cdn?7100 returns true7101 #cdn_signed_url7102 returns a URL7103BulkImports::FileTransfer::GroupConfig7104 #portable_tree7105 returns portable tree7106 #export_path7107 returns tmpdir location7108 #portable_relations7109 returns a list of top level exportable relations7110 does not include skipped relations7111 #top_relation_tree7112 returns relation tree of a top level relation7113 #relation_excluded_keys7114 returns excluded keys for relation7115Packages::Composer::CacheCleanupWorker7116 #perform7117 does nothing7118Gitlab::ImportExport::AfterExportStrategyBuilder7119 .build!7120 initializes strategy with attributes param7121 when klass param is7122 null it returns the default strategy7123 not a valid class it raises StrategyNotFoundError exception7124 not a descendant of AfterExportStrategy7125ProtectedTags::DestroyService7126 #execute7127 destroy a protected tag7128Gitlab::Git::BundleFile7129 .check!7130 returns nil for a valid bundle7131 raises an exception for an invalid bundle7132Gitlab::DoorkeeperSecretStoring::Secret::Pbkdf2Sha5127133 # order random7134 STRETCHES7135 is 20_0007136 SALT7137 is empty7138 .secret_matches?7139 match by hashing the input if the stored value is hashed7140 .transform_secret7141 generates a PBKDF2+SHA512 hashed value in the correct format7142 when hash_oauth_secrets is disabled7143 returns a plaintext secret7144RolloutStatuses::IngressEntity7145 exposes canary weight7146Gitlab::DatabaseImporters::WorkItems::HierarchyRestrictionsImporter7147 # order random7148 behaves like work item hierarchy restrictions importer7149 when restrictions are missing7150 behaves like adds restrictions7151 adds all restrictions if they don't exist7152 when base types are missing7153 behaves like adds restrictions7154 adds all restrictions if they don't exist7155 when restrictions already exist7156 upserts restrictions7157 when some restrictions are missing7158 inserts missing restrictions and does nothing if some already existed7159Gitlab::Import::DatabaseHelpers7160 .insert_and_return_id7161 returns the ID returned by the query7162CrudPolicyHelpers7163 .create_read_update_admin_destroy7164 returns an array of the appropriate abilites given a feature name7165 .create_update_admin_destroy7166 returns an array of the appropriate abilites given a feature name7167 .create_update_admin7168 returns an array of the appropriate abilites given a feature name7169RuboCop::Cop::Database::RescueStatementTimeout7170 # order random7171 flags the use of ActiveRecord::StatementTimeout7172 does not flag a different exception7173RuboCop::Cop::UserAdmin7174 # order random7175 flags a method call with safe operator7176 flags a method call7177Gitlab::Kubernetes::ServiceAccount7178 is expected to eq "a_service_account"7179 is expected to eq "a_namespace"7180 #generate7181 builds a Kubeclient Resource7182Gitlab::Metrics::Dashboard::Stages::MetricEndpointInserter7183 #transform!7184 generates prometheus_endpoint_path without newlines7185 includes a path for the prometheus endpoint with each metric7186 works when query/query_range is a number7187Gitlab::PhabricatorImport::WorkerState7188 #add_job7189 increments the counter for jobs7190 #remove_job7191 decrements the counter for jobs7192 #running_count7193 reads the value7194 returns 0 when nothing was set7195Import::GithubOrgSerializer7196 # order random7197 represents GithubOrgEntity entities7198 #represent7199 when a single object is being serialized7200 serializes organization object7201 when multiple objects are being serialized7202 serializes array of organizations7203Types::Ci::Config::IncludeTypeEnum7204 is expected to eq "CiConfigIncludeType"7205 exposes all the existing include types7206Issuable::LabelLinksDestroyWorker7207 is labeled as idempotent7208 performs multiple times sequentially without raising an exception7209 calls the Issuable::DestroyLabelLinksService7210RequestAwareEntity7211 includes URL helpers7212 includes method for checking abilities7213 fetches request from options7214Types::Kas::AgentConnectionType7215 is expected to eq "ConnectedAgent"7216 is expected to eq "Connection details for an Agent"7217 is expected to have graphql fields :connected_at, :connection_id, and :metadata7218 #connected_at7219 converts the seconds value to a timestamp7220MemberPresenter7221 # order random7222 #last_owner?7223 raises `NotImplementedError`7224TokenAuthenticatableStrategies::Digest7225 #token_fields7226 includes the digest field7227Gitlab::Ci::Reports::Security::ScannedResource7228 when the URI is not a URI7229 raises an error7230 when the URL is valid7231 sets the URL attributes7232Types::Ci::Config::StageType7233 is expected to eq "CiConfigStage"7234 exposes the expected fields7235Types::BranchProtections::MergeAccessLevelType7236 # order random7237 is expected to have graphql fields :access_level and :access_level_description7238 is expected to require graphql authorizations :read_protected_branch7239JiraConnect::SubscriptionEntity7240 contains all necessary elements of the subscription7241LicenseTemplate7242 #content7243 calls a proc exactly once if provided7244 returns a string if provided7245 #resolve!7246 updates placeholders in a copy of the template content7247Packages::Rpm::RepositoryMetadata::BuildPrimaryXmlService7248 # order random7249 #execute7250 adds node with required_text_only_attributes7251ActionCableSubscriptionAdapterIdentifier override7252 #identifier7253 when id key is nil on cable.yml7254 does not override server config id with action cable pid7255Gitlab::Patch::ActionCableRedisListener7256 catches Redis connection errors and restarts Action Cable7257 re-raises other exceptions7258Clusters::Integrations::CheckPrometheusHealthWorker#perform7259 triggers health service7260Gitlab::DependencyLinker::BaseLinker7261 #link7262 only converts valid links7263Types::WorkItems::Widgets::AssigneesType7264 exposes the expected fields7265Gitlab::Ci::Reports::Sbom::Reports7266 #add_report7267 appends the report to the report list7268Knapsack report was generated. Preview:7269{7270 "spec/services/groups/transfer_service_spec.rb": 231.75320536800064,7271 "spec/services/merge_requests/refresh_service_spec.rb": 218.13617487100055,7272 "spec/models/clusters/cluster_spec.rb": 82.3456009649999,7273 "spec/services/merge_requests/create_service_spec.rb": 88.09024111100007,7274 "spec/models/clusters/applications/jupyter_spec.rb": 73.28790379800012,7275 "spec/services/incident_management/timeline_events/update_service_spec.rb": 55.17895990799843,7276 "spec/serializers/merge_request_widget_entity_spec.rb": 53.31991141100116,7277 "spec/policies/project_statistics_policy_spec.rb": 54.82612415099902,7278 "spec/services/members/invitation_reminder_email_service_spec.rb": 10.574866543000098,7279 "spec/lib/gitlab/import_export/project/relation_tree_restorer_spec.rb": 48.122358867,7280 "spec/models/remote_mirror_spec.rb": 28.747111366001263,7281 "spec/services/projects/update_repository_storage_service_spec.rb": 23.13021782999931,7282 "spec/lib/gitlab/github_import/user_finder_spec.rb": 22.213672926000072,7283 "spec/services/snippets/create_service_spec.rb": 12.032716347001042,7284 "spec/models/resource_label_event_spec.rb": 17.420924482999908,7285 "spec/services/push_event_payload_service_spec.rb": 15.712686613000187,7286 "spec/finders/group_descendants_finder_spec.rb": 20.63982124299946,7287 "spec/models/concerns/milestoneable_spec.rb": 21.180927191000592,7288 "spec/services/projects/lfs_pointers/lfs_download_service_spec.rb": 9.505741973000113,7289 "spec/finders/environments/environment_names_finder_spec.rb": 17.23458904099971,7290 "spec/lib/gitlab/ci/ansi2json/style_spec.rb": 3.5259039310003573,7291 "spec/lib/gitlab/auth/ldap/dn_spec.rb": 3.188364902000103,7292 "spec/models/active_session_spec.rb": 6.669572258000699,7293 "spec/helpers/auth_helper_spec.rb": 3.273496434001572,7294 "spec/services/container_expiration_policies/update_service_spec.rb": 5.360805669999536,7295 "spec/models/ci/pending_build_spec.rb": 11.422124523998718,7296 "spec/workers/pages/invalidate_domain_cache_worker_spec.rb": 2.8155055070001254,7297 "spec/lib/gitlab/regex_requires_app_spec.rb": 1.9158726509995176,7298 "spec/models/prometheus_metric_spec.rb": 3.1865793319993827,7299 "spec/policies/metrics/dashboard/annotation_policy_spec.rb": 6.348067847000493,7300 "spec/serializers/stage_entity_spec.rb": 9.850841299999956,7301 "spec/services/issues/referenced_merge_requests_service_spec.rb": 8.458928190000734,7302 "spec/lib/gitlab/git/tag_spec.rb": 6.236667176999617,7303 "spec/services/merge_requests/retarget_chain_service_spec.rb": 10.366128861998732,7304 "spec/services/issues/export_csv_service_spec.rb": 4.144454372999462,7305 "spec/lib/gitlab/process_supervisor_spec.rb": 8.899271230000522,7306 "spec/models/error_tracking/error_spec.rb": 4.953623696999784,7307 "spec/lib/gitlab/exclusive_lease_helpers/sleeping_lock_spec.rb": 8.367893140999513,7308 "spec/lib/gitlab/gitaly_client/commit_service_spec.rb": 5.101766002999284,7309 "spec/graphql/resolvers/environments_resolver_spec.rb": 7.9236042280008405,7310 "spec/uploaders/packages/package_file_uploader_spec.rb": 8.19504649999908,7311 "spec/views/notify/pipeline_success_email.text.erb_spec.rb": 8.911074493998967,7312 "spec/helpers/merge_requests_helper_spec.rb": 8.012832582000556,7313 "spec/lib/container_registry/blob_spec.rb": 8.31290908399933,7314 "spec/views/ci/status/_icon.html.haml_spec.rb": 6.69078008500037,7315 "spec/lib/gitlab/alert_management/payload/generic_spec.rb": 2.0914853249996668,7316 "spec/lib/gitlab/object_hierarchy_spec.rb": 1.8221136699994531,7317 "spec/bin/feature_flag_spec.rb": 2.1348774609996326,7318 "spec/models/analytics/cycle_analytics/merge_request_stage_event_spec.rb": 3.251220377000209,7319 "spec/lib/gitlab/ci/badge/coverage/metadata_spec.rb": 5.356958349000706,7320 "spec/lib/gitlab/metrics/methods_spec.rb": 1.7537583260000247,7321 "spec/lib/gitlab/import_export/lfs_restorer_spec.rb": 6.091364611000245,7322 "spec/lib/gitlab/github_import/importer/single_endpoint_diff_notes_importer_spec.rb": 5.076854356000695,7323 "spec/views/projects/commit/_commit_box.html.haml_spec.rb": 5.236173540999516,7324 "spec/lib/error_tracking/sentry_client/projects_spec.rb": 1.912715491000199,7325 "spec/services/projects/move_project_members_service_spec.rb": 6.5849620859989955,7326 "spec/lib/gitlab/ci/pipeline/chain/evaluate_workflow_rules_spec.rb": 5.182766267000261,7327 "spec/lib/gitlab/checks/snippet_check_spec.rb": 7.4435556449989235,7328 "spec/finders/packages/packages_finder_spec.rb": 3.927156092999212,7329 "spec/services/google_cloud/setup_cloudsql_instance_service_spec.rb": 6.261843525000586,7330 "spec/components/diffs/overflow_warning_component_spec.rb": 2.250365449999663,7331 "spec/workers/pipeline_process_worker_spec.rb": 4.113452535999386,7332 "spec/services/system_notes/commit_service_spec.rb": 5.503168436000124,7333 "spec/workers/remove_expired_members_worker_spec.rb": 7.271933830999842,7334 "spec/lib/banzai/filter/emoji_filter_spec.rb": 1.221560836000208,7335 "spec/models/board_spec.rb": 2.883253350999439,7336 "spec/lib/gitlab/email/reply_parser_spec.rb": 1.207431147000534,7337 "spec/uploaders/workers/object_storage/migrate_uploads_worker_spec.rb": 3.7518852899993362,7338 "spec/lib/gitlab/instrumentation/redis_base_spec.rb": 0.9812177580006392,7339 "spec/graphql/mutations/merge_requests/set_subscription_spec.rb": 2.5839628190005897,7340 "spec/workers/issues/rebalancing_worker_spec.rb": 1.5842141320008523,7341 "spec/tooling/lib/tooling/kubernetes_client_spec.rb": 1.3525886639999953,7342 "spec/models/concerns/ci/maskable_spec.rb": 1.5396090970007208,7343 "spec/models/projects/repository_storage_move_spec.rb": 1.7487667659988801,7344 "spec/services/projects/gitlab_projects_import_service_spec.rb": 3.125648988998364,7345 "spec/rubocop/cop/static_translation_definition_spec.rb": 1.555004915000609,7346 "spec/lib/gitlab/patch/prependable_spec.rb": 0.9529537110011006,7347 "spec/lib/gitlab/kubernetes/helm/v2/base_command_spec.rb": 1.1035521369994967,7348 "spec/helpers/nav/new_dropdown_helper_spec.rb": 1.1670041010002024,7349 "spec/lib/gitlab/ci/tags/bulk_insert_spec.rb": 2.168538878000618,7350 "spec/lib/bitbucket_server/representation/pull_request_spec.rb": 1.2050048580003931,7351 "spec/lib/gitlab/untrusted_regexp_spec.rb": 1.0907957379986328,7352 "spec/graphql/mutations/incident_management/timeline_event/destroy_spec.rb": 3.8087268649996986,7353 "spec/services/issues/related_branches_service_spec.rb": 2.9135420880011225,7354 "spec/lib/gitlab/metrics/samplers/action_cable_sampler_spec.rb": 1.3620497419997264,7355 "spec/lib/gitlab/alert_management/fingerprint_spec.rb": 1.2717838709995704,7356 "spec/models/users/merge_request_interaction_spec.rb": 2.3471715209998365,7357 "spec/lib/gitlab/github_import/importer/issue_events_importer_spec.rb": 0.7799123269996926,7358 "spec/models/incident_management/project_incident_management_setting_spec.rb": 1.8819817839994357,7359 "spec/views/layouts/devise.html.haml_spec.rb": 3.20426481100003,7360 "spec/policies/namespaces/user_namespace_policy_spec.rb": 1.6639595849992475,7361 "spec/finders/releases/evidence_pipeline_finder_spec.rb": 4.103023016999941,7362 "spec/lib/gitlab/email/handler_spec.rb": 1.306289348000064,7363 "spec/tasks/gitlab/terraform/migrate_rake_spec.rb": 4.020078225001271,7364 "spec/lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table_spec.rb": 1.8272561400008271,7365 "spec/services/clusters/kubernetes_spec.rb": 0.835284861999753,7366 "spec/services/access_token_validation_service_spec.rb": 0.9739206089998333,7367 "spec/finders/resource_milestone_event_finder_spec.rb": 2.3739690580005117,7368 "spec/rubocop/cop/sidekiq_api_usage_spec.rb": 1.0225678849983524,7369 "spec/lib/atlassian/jira_connect/jwt/asymmetric_spec.rb": 1.1231497949993354,7370 "spec/workers/gitlab/github_import/stage/import_notes_worker_spec.rb": 1.5342743869987316,7371 "spec/lib/gitlab/issuable/clone/attributes_rewriter_spec.rb": 2.468500180000774,7372 "spec/services/award_emojis/copy_service_spec.rb": 2.3901852970011532,7373 "spec/lib/gitlab/database/reindexing/coordinator_spec.rb": 0.9898061269996106,7374 "spec/lib/gitlab/ci/reports/test_reports_comparer_spec.rb": 1.123550604999764,7375 "spec/lib/gitlab/search/query_spec.rb": 0.8689055989998451,7376 "spec/models/blob_viewer/base_spec.rb": 1.0240611139997782,7377 "spec/lib/gitlab/tracking/incident_management_spec.rb": 1.005176766000659,7378 "spec/presenters/instance_clusterable_presenter_spec.rb": 2.8764857219994155,7379 "spec/services/dependency_proxy/auth_token_service_spec.rb": 0.9953793469994707,7380 "spec/lib/gitlab/database/reindexing/index_selection_spec.rb": 1.4269356570002856,7381 "spec/lib/gitlab/usage/service_ping/legacy_metric_timing_decorator_spec.rb": 0.9224652230004722,7382 "spec/lib/gitlab/github_import/importer/events/cross_referenced_spec.rb": 3.0143047490000754,7383 "spec/helpers/terms_helper_spec.rb": 0.36209550599960494,7384 "spec/lib/gitlab/verify/lfs_objects_spec.rb": 1.0211936150008114,7385 "spec/tooling/rspec_flaky/listener_spec.rb": 0.8034910450005555,7386 "spec/lib/gitlab/usage_data_counters/kubernetes_agent_counter_spec.rb": 0.862653098998635,7387 "spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb": 1.107865607000349,7388 "spec/models/releases/source_spec.rb": 1.2999152280008275,7389 "spec/workers/incident_management/close_incident_worker_spec.rb": 1.6192233389992907,7390 "spec/lib/gitlab/snippet_search_results_spec.rb": 0.7966395659987029,7391 "spec/services/discussions/capture_diff_note_positions_service_spec.rb": 2.248384630000146,7392 "spec/lib/gitlab/ci/pipeline/chain/remove_unwanted_chat_jobs_spec.rb": 1.0985085669999535,7393 "spec/services/ci/create_pipeline_service/variables_spec.rb": 2.7742808210005023,7394 "spec/lib/gitlab/github_import/importer/label_links_importer_spec.rb": 2.1285040710008616,7395 "spec/lib/gitlab/diff/line_mapper_spec.rb": 2.1274476519993186,7396 "spec/graphql/mutations/saved_replies/update_spec.rb": 0.9397492829994007,7397 "spec/graphql/types/customer_relations/organization_sort_enum_spec.rb": 0.4524136879990692,7398 "spec/lib/gitlab/database/similarity_score_spec.rb": 0.7420371309999609,7399 "spec/workers/authorized_project_update/project_recalculate_per_user_worker_spec.rb": 2.0085759129997314,7400 "spec/workers/authorized_project_update/user_refresh_with_low_urgency_worker_spec.rb": 1.9744185959989409,7401 "spec/services/projects/count_service_spec.rb": 0.8006737150008121,7402 "spec/lib/sidebars/projects/menus/merge_requests_menu_spec.rb": 2.390977795999788,7403 "spec/lib/bitbucket/page_spec.rb": 0.539606600001207,7404 "spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies_spec.rb": 0.6318618209988927,7405 "spec/graphql/types/packages/cleanup/policy_type_spec.rb": 0.8566639999990002,7406 "spec/workers/groups/update_two_factor_requirement_for_members_worker_spec.rb": 1.1775040199991054,7407 "spec/lib/gitlab/usage/metrics/instrumentations/gitlab_for_jira_app_direct_installations_count_metric_spec.rb": 1.4046582589999161,7408 "spec/helpers/explore_helper_spec.rb": 0.6832160760004626,7409 "spec/lib/gitlab/diff/pair_selector_spec.rb": 0.4740091860003304,7410 "spec/lib/gitlab/kroki_spec.rb": 0.4765566749993013,7411 "spec/lib/gitlab/import_export/import_export_spec.rb": 0.5583495779992518,7412 "spec/lib/gitlab/pagination/keyset_spec.rb": 0.6590573389985366,7413 "spec/graphql/resolvers/paginated_tree_resolver_spec.rb": 1.3919885810009873,7414 "spec/graphql/resolvers/design_management/version_in_collection_resolver_spec.rb": 2.4279150830006984,7415 "spec/lib/api/ci/helpers/runner_helpers_spec.rb": 1.612872129000607,7416 "spec/views/registrations/welcome/show.html.haml_spec.rb": 0.8268491830003768,7417 "spec/models/blob_viewer/markup_spec.rb": 2.011103501999969,7418 "spec/graphql/types/work_items/widgets/assignees_input_type_spec.rb": 0.7751950879992364,7419 "spec/graphql/mutations/boards/lists/create_spec.rb": 1.2795386409998173,7420 "spec/views/groups/new.html.haml_spec.rb": 1.138840583998899,7421 "spec/services/clusters/build_service_spec.rb": 0.7100096440008201,7422 "spec/models/u2f_registration_spec.rb": 1.298133009000594,7423 "spec/models/concerns/taskable_spec.rb": 0.9457249420011067,7424 "spec/services/projects/open_merge_requests_count_service_spec.rb": 1.164712840998618,7425 "spec/graphql/mutations/user_callouts/create_spec.rb": 1.4289676469998085,7426 "spec/serializers/issue_serializer_spec.rb": 1.3078522870000597,7427 "spec/views/projects/settings/operations/show.html.haml_spec.rb": 1.3223442870003055,7428 "spec/graphql/types/container_repository_status_enum_spec.rb": 0.5978833440003655,7429 "spec/views/admin/application_settings/_repository_storage.html.haml_spec.rb": 0.789516826000181,7430 "spec/helpers/projects/pipeline_helper_spec.rb": 1.584025472000576,7431 "spec/lib/gitlab/slash_commands/presenters/issue_comment_spec.rb": 1.0234714250000252,7432 "spec/lib/gitlab/ci/status/bridge/waiting_for_resource_spec.rb": 0.49780827299946395,7433 "spec/workers/deployments/archive_in_project_worker_spec.rb": 1.410913077999794,7434 "spec/tooling/rspec_flaky/flaky_examples_collection_spec.rb": 0.8274050930012891,7435 "spec/workers/propagate_integration_group_worker_spec.rb": 1.4020485689998168,7436 "spec/lib/gitlab/external_authorization_spec.rb": 0.6465676299994811,7437 "spec/rubocop/cop/migration/complex_indexes_require_name_spec.rb": 0.6729464170002757,7438 "spec/lib/gitlab/database/load_balancing/resolver_spec.rb": 0.6900281759990321,7439 "spec/services/groups/update_statistics_service_spec.rb": 0.5803013160002592,7440 "spec/policies/integration_policy_spec.rb": 1.351366003998919,7441 "spec/graphql/resolvers/board_list_resolver_spec.rb": 1.261961402000452,7442 "spec/lib/system_check/app/hashed_storage_enabled_check_spec.rb": 0.5730390670014458,7443 "spec/services/merge_requests/mergeability/check_base_service_spec.rb": 0.4927391439996427,7444 "spec/graphql/types/packages/helm/maintainer_type_spec.rb": 0.4774906149996241,7445 "spec/lib/gitlab/ci/parsers/sbom/cyclonedx_properties_spec.rb": 0.6674957179984631,7446 "spec/services/metrics/sample_metrics_service_spec.rb": 0.40612689199952,7447 "spec/lib/rouge/formatters/html_gitlab_spec.rb": 0.9400379819999216,7448 "spec/uploaders/object_storage/cdn_spec.rb": 0.6400623400004406,7449 "spec/models/bulk_imports/file_transfer/group_config_spec.rb": 0.7899221459992987,7450 "spec/workers/packages/composer/cache_cleanup_worker_spec.rb": 0.5902625550006633,7451 "spec/lib/gitlab/import_export/after_export_strategy_builder_spec.rb": 0.5501638789992285,7452 "spec/services/protected_tags/destroy_service_spec.rb": 1.5511044150007365,7453 "spec/lib/gitlab/git/bundle_file_spec.rb": 0.4722749760003353,7454 "spec/lib/gitlab/doorkeeper_secret_storing/secret/pbkdf2_sha512_spec.rb": 0.5939126550001674,7455 "spec/serializers/rollout_statuses/ingress_entity_spec.rb": 0.9180892950007546,7456 "spec/lib/gitlab/database_importers/work_items/hierarchy_restrictions_importer_spec.rb": 0.6370658300002106,7457 "spec/lib/gitlab/import/database_helpers_spec.rb": 1.350444604000586,7458 "spec/policies/concerns/crud_policy_helpers_spec.rb": 0.559198117998676,7459 "spec/rubocop/cop/database/rescue_statement_timeout_spec.rb": 0.5884692349991383,7460 "spec/rubocop/cop/user_admin_spec.rb": 0.44907248799972876,7461 "spec/lib/gitlab/kubernetes/service_account_spec.rb": 1.0129513050014793,7462 "spec/lib/gitlab/metrics/dashboard/stages/metric_endpoint_inserter_spec.rb": 0.6172840830004134,7463 "spec/lib/gitlab/phabricator_import/worker_state_spec.rb": 0.4139394110006833,7464 "spec/serializers/import/github_org_serializer_spec.rb": 0.6919242049989407,7465 "spec/graphql/types/ci/config/include_type_enum_spec.rb": 1.0099462260004657,7466 "spec/workers/issuable/label_links_destroy_worker_spec.rb": 0.6204953619999287,7467 "spec/serializers/request_aware_entity_spec.rb": 0.6991105749984854,7468 "spec/graphql/types/kas/agent_connection_type_spec.rb": 0.5389563289991202,7469 "spec/presenters/member_presenter_spec.rb": 0.5234018610008206,7470 "spec/models/concerns/token_authenticatable_strategies/digest_spec.rb": 0.4510730780002632,7471 "spec/lib/gitlab/ci/reports/security/scanned_resource_spec.rb": 0.43270357999972475,7472 "spec/graphql/types/ci/config/stage_type_spec.rb": 0.4940819840012409,7473 "spec/graphql/types/branch_protections/merge_access_level_type_spec.rb": 0.5458504090001952,7474 "spec/serializers/jira_connect/subscription_entity_spec.rb": 0.6571188979996805,7475 "spec/models/license_template_spec.rb": 0.4205956409987266,7476 "spec/services/packages/rpm/repository_metadata/build_primary_xml_service_spec.rb": 0.4152092910007923,7477 "spec/initializers/action_cable_subscription_adapter_identifier_spec.rb": 0.8690818189988931,7478 "spec/lib/gitlab/patch/action_cable_redis_listener_spec.rb": 0.6046662539993122,7479 "spec/workers/clusters/integrations/check_prometheus_health_worker_spec.rb": 0.6024545430009312,7480 "spec/lib/gitlab/dependency_linker/base_linker_spec.rb": 0.4109145520014863,7481 "spec/graphql/types/work_items/widgets/assignees_type_spec.rb": 0.6490175389990327,7482 "spec/lib/gitlab/ci/reports/sbom/reports_spec.rb": 0.469320735999644977483}7484Knapsack global time execution for tests: 25m 31s7485Pending: (Failures listed here are expected and do not affect your suite's status)7486 1) Gitlab::ProcessSupervisor#supervise when a supervised process dies triggers callback with the dead PIDs and adds new PIDs to supervised PIDs7487 # around hook at ./spec/support/flaky_tests.rb:21 did not execute the example7488 # ./spec/lib/gitlab/process_supervisor_spec.rb:587489 2) Gitlab::ProcessSupervisor#supervise when a supervised process dies accepts single PID returned from callback7490 # around hook at ./spec/support/flaky_tests.rb:21 did not execute the example7491 # ./spec/lib/gitlab/process_supervisor_spec.rb:997492 3) Packages::PackageFileUploader behaves like builds correct paths #upload_path behaves like matches the method pattern 7493 # No pattern provided, skipping.7494 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:87495 4) Packages::PackageFileUploader behaves like builds correct paths #relative_path is relative7496 # Path not set, skipping.7497 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:407498 5) Packages::PackageFileUploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 7499 # No pattern provided, skipping.7500 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:87501 6) Packages::PackageFileUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 7502 # No pattern provided, skipping.7503 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:87504 7) Packages::PackageFileUploader object store is remote behaves like builds correct paths #cache_dir behaves like matches the method pattern 7505 # No pattern provided, skipping.7506 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:87507 8) Packages::PackageFileUploader object store is remote behaves like builds correct paths #work_dir behaves like matches the method pattern 7508 # No pattern provided, skipping.7509 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:87510 9) Packages::PackageFileUploader object store is remote behaves like builds correct paths #upload_path behaves like matches the method pattern 7511 # No pattern provided, skipping.7512 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:87513 10) Packages::PackageFileUploader object store is remote behaves like builds correct paths #relative_path is relative7514 # Path not set, skipping.7515 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:407516 11) Packages::PackageFileUploader object store is remote behaves like builds correct paths .absolute_path behaves like matches the method pattern 7517 # No pattern provided, skipping.7518 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:87519 12) Packages::PackageFileUploader object store is remote behaves like builds correct paths .base_dir behaves like matches the method pattern 7520 # No pattern provided, skipping.7521 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:87522Finished in 25 minutes 35 seconds (files took 1 minute 10.97 seconds to load)75233154 examples, 0 failures, 12 pending7524Randomized with seed 126277525[TEST PROF INFO] Time spent in factories: 15:07.263 (57.91% of total time)7526RSpec exited with 0.7527No examples to retry, congrats!7529Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-16 due to policy7530Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-16 due to policy7532Uploading artifacts...7533coverage/: found 5 matching files and directories 7534crystalball/: found 2 matching files and directories 7535deprecations/: found 5 matching files and directories 7536knapsack/: found 3 matching files and directories 7537WARNING: query_recorder/: no matching files. Ensure that the artifact path is relative to the working directory 7538rspec/: found 12 matching files and directories 7539WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 7540log/*.log: found 18 matching files and directories 7541WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3443741019/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com7542WARNING: Retrying... context=artifacts-uploader error=request redirected7543Uploading artifacts as "archive" to coordinator... 201 Created id=3443741019 responseStatus=201 Created token=nzDvaLkD7544Uploading artifacts...7545rspec/junit_rspec.xml: found 1 matching files and directories 7546WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3443741019/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com7547WARNING: Retrying... context=artifacts-uploader error=request redirected7548Uploading artifacts as "junit" to coordinator... 201 Created id=3443741019 responseStatus=201 Created token=nzDvaLkD7550Job succeeded