rspec-ee unit pg12 4/18
Passed Started
by
@gitlab-bot

🤖 GitLab Bot 🤖
1Running with gitlab-runner 15.6.0~beta.186.ga889181a (a889181a)2 on green-2.shared-gitlab-org.runners-manager.gitlab.com/default 8zCxmpPt3 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-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 ...13Starting service elasticsearch:7.17.6 ...14Pulling docker image elasticsearch:7.17.6 ...15Using docker image sha256:5fad10241ffd65d817ed0ddfaf6e87eee1f7dc2a7db33db1047835560ea71fda for elasticsearch:7.17.6 with digest elasticsearch@sha256:6c128de5d01c0c130a806022d6bd99b3e4c27a9af5bfc33b6b81861ae117d028 ...16Waiting for services to be up and running (timeout 30 seconds)...17Authenticating with credentials from job payload (GitLab Registry)18Pulling 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 ...19Using 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 ...21Running on runner-8zcxmppt-project-278964-concurrent-0 via runner-8zcxmppt-shared-gitlab-org-1670484603-8c3ae61e...23$ eval "$CI_PRE_CLONE_SCRIPT"24Fetching changes with git depth set to 20...25Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/26Created fresh repository.27remote: Enumerating objects: 163372, done. 28remote: Counting objects: 100% (163372/163372), done. 29remote: Compressing objects: 100% (94785/94785), done. 30remote: Total 163372 (delta 84810), reused 119124 (delta 63094), pack-reused 0 31Receiving objects: 100% (163372/163372), 121.93 MiB | 24.16 MiB/s, done.32Resolving deltas: 100% (84810/84810), done.34 * [new ref] refs/pipelines/716916172 -> refs/pipelines/71691617235Checking out 8f189ac6 as refs/merge-requests/106378/merge...36Skipping Git submodules setup37$ git remote set-url origin "${CI_REPOSITORY_URL}"39Checking cache for ruby-gems-debian-bullseye-ruby-2.7-16...40Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-debian-bullseye-ruby-2.7-16 41Successfully extracted cache42Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-2.7-16...43Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/gitaly-ruby-gems-debian-bullseye-ruby-2.7-16 44Successfully extracted cache46Downloading artifacts for compile-test-assets (3443740837)...47Downloading artifacts from coordinator... ok id=3443740837 responseStatus=200 OK token=yu_KhetP48Downloading artifacts for detect-tests (3443740849)...49Downloading artifacts from coordinator... ok id=3443740849 responseStatus=200 OK token=yu_KhetP50Downloading artifacts for retrieve-tests-metadata (3443740854)...51Downloading artifacts from coordinator... ok id=3443740854 responseStatus=200 OK token=yu_KhetP52Downloading artifacts for setup-test-env (3443740841)...53Downloading artifacts from coordinator... ok id=3443740841 responseStatus=200 OK token=yu_KhetP55Using 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 ...56$ echo $FOSS_ONLY57$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb58$ export GOPATH=$CI_PROJECT_DIR/.go59$ mkdir -p $GOPATH60$ source scripts/utils.sh61$ source scripts/prepare_build.sh690Using decomposed database config (config/database.yml.decomposed-postgresql)691$ setup_db_user_only692CREATE ROLE693GRANT694==> 'setup_db_user_only' succeeded in 0 seconds.695$ bundle exec rake db:drop db:create db:schema:load db:migrate696Dropped database 'gitlabhq_test'697Dropped database 'gitlabhq_test_ci'698Dropped database 'gitlabhq_geo_test'699Created database 'gitlabhq_test'700Created database 'gitlabhq_test_ci'701Created database 'gitlabhq_geo_test'702==> 'bundle exec rake db:drop db:create db:schema:load db:migrate' succeeded in 38 seconds.703$ setup_db_praefect704SELECT pg_catalog.set_config('search_path', '', false);705CREATE DATABASE praefect_test ENCODING 'UTF8';706==> 'setup_db_praefect' succeeded in 0 seconds.707$ source ./scripts/rspec_helpers.sh708$ run_timed_command "gem install knapsack --no-document"709$ gem install knapsack --no-document710Successfully installed knapsack-4.0.07111 gem installed712==> 'gem install knapsack --no-document' succeeded in 1 seconds.713$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"823$ rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"824SKIP_FLAKY_TESTS_AUTOMATICALLY: true825RETRY_FAILED_TESTS_IN_NEW_PROCESS: true826KNAPSACK_GENERATE_REPORT: true827FLAKY_RSPEC_GENERATE_REPORT: true828KNAPSACK_TEST_FILE_PATTERN: {ee/}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.rb829KNAPSACK_LOG_LEVEL: debug830KNAPSACK_REPORT_PATH: knapsack/rspec-ee_unit_pg12_4_18_report.json831FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json832FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_unit_pg12_4_18_report.json833NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_unit_pg12_4_18_report.json834SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec-ee_unit_pg12_4_18_report.txt835RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec-ee_unit_pg12_4_18_report.txt836CRYSTALBALL: 837Knapsack node specs:838ee/spec/services/geo/registry_consistency_service_spec.rb839ee/spec/models/geo/package_file_registry_spec.rb840ee/spec/models/ee/iteration_spec.rb841ee/spec/helpers/billing_plans_helper_spec.rb842ee/spec/elastic/migrate/20220613120500_migrate_commits_to_separate_index_spec.rb843ee/spec/lib/ee/gitlab/ci/templates/templates_spec.rb844ee/spec/services/audit_event_service_spec.rb845ee/spec/models/requirements_management/requirement_spec.rb846ee/spec/lib/gitlab/code_owners/loader_spec.rb847ee/spec/lib/analytics/devops_adoption/snapshot_calculator_spec.rb848ee/spec/services/geo/framework_repository_sync_service_spec.rb849ee/spec/models/namespaces/free_user_cap/enforcement_spec.rb850ee/spec/policies/requirements_management/requirement_policy_spec.rb851ee/spec/services/merge_requests/reset_approvals_service_spec.rb852ee/spec/models/approval_merge_request_rule_spec.rb853ee/spec/helpers/projects_helper_spec.rb854ee/spec/services/geo/wiki_sync_service_spec.rb855ee/spec/models/snippet_repository_spec.rb856ee/spec/services/ci/audit_variable_change_service_spec.rb857ee/spec/workers/elastic_commit_indexer_worker_spec.rb858ee/spec/services/arkose/token_verification_service_spec.rb859ee/spec/presenters/merge_request_approver_presenter_spec.rb860ee/spec/services/app_sec/dast/scanner_profiles/create_service_spec.rb861ee/spec/helpers/boards_helper_spec.rb862ee/spec/services/protected_environments/create_service_spec.rb863ee/spec/services/security/ingestion/tasks/ingest_remediations_spec.rb864ee/spec/services/ee/members/update_service_spec.rb865ee/spec/lib/ee/gitlab/background_migration/populate_namespace_statistics_spec.rb866ee/spec/lib/ee/gitlab/auth/ldap/sync/groups_spec.rb867ee/spec/workers/post_receive_spec.rb868ee/spec/finders/requirements_management/requirements_finder_spec.rb869ee/spec/finders/compliance_management/merge_requests/compliance_violations_finder_spec.rb870ee/spec/lib/bulk_imports/groups/pipelines/epics_pipeline_spec.rb871ee/spec/finders/security/scan_execution_policies_finder_spec.rb872ee/spec/services/incident_management/issuable_resource_links/zoom_link_service_spec.rb873ee/spec/services/boards/epics/position_create_service_spec.rb874ee/spec/elastic/migrate/20221026082700_backfill_users_spec.rb875ee/spec/finders/audit_event_finder_spec.rb876ee/spec/services/incident_management/escalation_policies/update_service_spec.rb877ee/spec/services/ee/vulnerability_feedback_module/update_service_spec.rb878ee/spec/serializers/ee/issue_sidebar_basic_entity_spec.rb879ee/spec/lib/analytics/merge_request_metrics_refresh_spec.rb880ee/spec/lib/gitlab/geo/oauth/logout_token_spec.rb881ee/spec/models/incident_management/escalation_rule_spec.rb882ee/spec/lib/banzai/reference_parser/iteration_parser_spec.rb883ee/spec/models/gitlab_subscriptions/features_spec.rb884ee/spec/services/ee/resource_events/change_iteration_service_spec.rb885ee/spec/services/app_sec/dast/profiles/create_associations_service_spec.rb886ee/spec/graphql/resolvers/geo/snippet_repository_registries_resolver_spec.rb887ee/spec/lib/gitlab/graphql/aggregations/epics/lazy_epic_aggregate_spec.rb888ee/spec/models/dast/site_profile_secret_variable_spec.rb889ee/spec/finders/clusters/environments_finder_spec.rb890ee/spec/models/release_highlight_spec.rb891ee/spec/workers/incident_management/oncall_rotations/persist_shifts_job_spec.rb892ee/spec/graphql/mutations/security_policy/unassign_security_policy_project_spec.rb893ee/spec/routing/webhook_routes_spec.rb894ee/spec/workers/epics/update_cached_metadata_worker_spec.rb895ee/spec/finders/security/training_providers/base_url_finder_spec.rb896ee/spec/lib/gitlab/ci/templates/license_scanning_latest_gitlab_ci_yaml_spec.rb897ee/spec/views/groups/settings/_remove.html.haml_spec.rb898ee/spec/helpers/groups/feature_discovery_moments_helper_spec.rb899ee/spec/services/ci/pipeline_creation/drop_not_runnable_builds_service_spec.rb900ee/spec/workers/ee/projects/inactive_projects_deletion_cron_worker_spec.rb901ee/spec/services/app_sec/fuzzing/coverage/corpuses/create_service_spec.rb902ee/spec/services/incident_management/oncall_schedules/destroy_service_spec.rb903ee/spec/graphql/mutations/epics/update_spec.rb904ee/spec/workers/ldap_group_sync_worker_spec.rb905ee/spec/lib/ee/gitlab/background_migration/fix_security_scan_statuses_spec.rb906ee/spec/models/project_team_spec.rb907ee/spec/models/analytics/cycle_analytics/group_value_stream_spec.rb908ee/spec/graphql/mutations/merge_requests/accept_spec.rb909ee/spec/services/projects/slack_application_install_service_spec.rb910ee/spec/services/incident_management/oncall_schedules/create_service_spec.rb911ee/spec/services/boards/epic_lists/create_service_spec.rb912ee/spec/views/shared/labels/_create_label_help_text.html.haml_spec.rb913ee/spec/models/ee/service_desk_setting_spec.rb914ee/spec/lib/gitlab/geo/log_cursor/lease_spec.rb915ee/spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb916ee/spec/services/security/ingestion/tasks/ingest_identifiers_spec.rb917ee/spec/views/projects/security/dast_scanner_profiles/new.html.haml_spec.rb918ee/spec/lib/ee/api/helpers/members_helpers_spec.rb919ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_attachments_event_spec.rb920ee/spec/graphql/resolvers/geo/geo_node_resolver_spec.rb921ee/spec/replicators/geo/pipeline_replicator_spec.rb922ee/spec/lib/gitlab/patch/geo_database_tasks_spec.rb923ee/spec/lib/gitlab/status_page/storage_spec.rb924ee/spec/helpers/seat_count_alert_helper_spec.rb925ee/spec/services/analytics/cycle_analytics/stages/delete_service_spec.rb926ee/spec/services/projects/after_rename_service_spec.rb927ee/spec/workers/ci/batch_reset_minutes_worker_spec.rb928ee/spec/services/security/ingestion/tasks/ingest_vulnerabilities/create_spec.rb929ee/spec/services/integrations/slack_events/app_home_opened_service_spec.rb930ee/spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_applied_scan_result_policies_metric_spec.rb931ee/spec/views/admin/identities/index.html.haml_spec.rb932ee/spec/lib/gitlab/analytics/cycle_analytics/summary/time_to_restore_service_spec.rb933ee/spec/services/users/abuse/namespace_bans/create_service_spec.rb934ee/spec/lib/gitlab/ci/config/entry/vault/secret_spec.rb935ee/spec/services/audit_events/user_impersonation_group_audit_event_service_spec.rb936ee/spec/services/projects/group_links/update_service_spec.rb937ee/spec/helpers/ee/learn_gitlab_helper_spec.rb938ee/spec/lib/gitlab/auth/o_auth/user_spec.rb939ee/spec/lib/ee/gitlab/ci/status/build/manual_spec.rb940ee/spec/lib/audit/project_feature_changes_auditor_spec.rb941ee/spec/finders/ee/user_recent_events_finder_spec.rb942ee/spec/services/gitlab_subscriptions/reconciliations/check_seat_usage_alerts_eligibility_service_spec.rb943ee/spec/models/boards/epic_list_user_preference_spec.rb944ee/spec/lib/ee/gitlab/verify/uploads_spec.rb945ee/spec/lib/arkose/logger_spec.rb946ee/spec/models/work_items/progress_spec.rb947ee/spec/graphql/resolvers/pipeline_security_report_findings_resolver_spec.rb948ee/spec/helpers/ee/events_helper_spec.rb949ee/spec/lib/gitlab/analytics/cycle_analytics/data_for_duration_chart_spec.rb950ee/spec/services/audit_events/unregister_runner_audit_event_service_spec.rb951ee/spec/graphql/resolvers/admin/cloud_licenses/current_license_resolver_spec.rb952ee/spec/lib/ee/api/entities/analytics/code_review/merge_request_spec.rb953ee/spec/lib/gitlab/ci/parsers/security/coverage_fuzzing_spec.rb954ee/spec/lib/gitlab/patch/database_config_spec.rb955ee/spec/services/group_saml/sign_up_service_spec.rb956ee/spec/models/historical_data_spec.rb957ee/spec/helpers/kerberos_helper_spec.rb958ee/spec/presenters/project_member_presenter_spec.rb959ee/spec/lib/gitlab/license_scanning/report_spec.rb960ee/spec/services/ee/labels/create_service_spec.rb961ee/spec/models/ee/namespace_ci_cd_setting_spec.rb962ee/spec/services/ee/resource_events/change_labels_service_spec.rb963ee/spec/lib/bulk_imports/common/pipelines/boards_pipeline_spec.rb964ee/spec/lib/gitlab/kerberos/authentication_spec.rb965ee/spec/lib/elastic/latest/user_config_spec.rb966ee/spec/models/dora/base_metric_spec.rb967ee/spec/lib/gitlab/sitemaps/sitemap_file_spec.rb968ee/spec/services/external_status_checks/dispatch_service_spec.rb969ee/spec/graphql/resolvers/admin/cloud_licenses/subscription_future_entries_resolver_spec.rb970ee/spec/services/ee/labels/promote_service_spec.rb971ee/spec/lib/ee/api/entities/vulnerability_export_spec.rb972ee/spec/workers/geo/metrics_update_worker_spec.rb973ee/spec/lib/gitlab/ci/reports/metrics/report_spec.rb974ee/spec/models/geo/reset_checksum_event_spec.rb975ee/spec/workers/elastic_cluster_reindexing_cron_worker_spec.rb976ee/spec/services/applications/create_service_spec.rb977ee/spec/graphql/types/incident_management/escalation_policy_type_spec.rb978ee/spec/workers/create_github_webhook_worker_spec.rb979ee/spec/graphql/types/security_orchestration/security_policy_source_type_spec.rb980ee/spec/graphql/types/vulnerabilities/container_image_type_spec.rb981ee/spec/graphql/types/geo/upload_registry_type_spec.rb982ee/spec/serializers/integrations/field_entity_spec.rb983ee/spec/lib/ee/banzai/filter/sanitization_filter_spec.rb984ee/spec/workers/geo/sync_timeout_cron_worker_spec.rb985ee/spec/lib/gitlab/graphql/aggregations/issuables/lazy_links_aggregate_spec.rb986ee/spec/lib/gitlab/web_ide/config/entry/schema/uri_spec.rb987ee/spec/graphql/types/network_policy_type_spec.rb988ee/spec/helpers/epics_helper_spec.rb989ee/spec/lib/ee/gitlab/tracking_spec.rb990ee/spec/graphql/ee/types/notes/noteable_interface_spec.rb991ee/spec/lib/gitlab/import_sources_spec.rb992ee/spec/graphql/types/branch_rules/external_status_check_type_spec.rb993ee/spec/lib/gitlab/usage/metrics/instrumentations/historical_max_users_metrics_spec.rb994ee/spec/models/geo/cache_invalidation_event_spec.rb995ee/spec/lib/ee/gitlab/usage_data_non_sql_metrics_spec.rb996Filter specs:997Running specs:998Running all node tests without filter999ee/spec/services/geo/registry_consistency_service_spec.rb1000ee/spec/models/geo/package_file_registry_spec.rb1001ee/spec/models/ee/iteration_spec.rb1002ee/spec/helpers/billing_plans_helper_spec.rb1003ee/spec/elastic/migrate/20220613120500_migrate_commits_to_separate_index_spec.rb1004ee/spec/lib/ee/gitlab/ci/templates/templates_spec.rb1005ee/spec/services/audit_event_service_spec.rb1006ee/spec/models/requirements_management/requirement_spec.rb1007ee/spec/lib/gitlab/code_owners/loader_spec.rb1008ee/spec/lib/analytics/devops_adoption/snapshot_calculator_spec.rb1009ee/spec/services/geo/framework_repository_sync_service_spec.rb1010ee/spec/models/namespaces/free_user_cap/enforcement_spec.rb1011ee/spec/policies/requirements_management/requirement_policy_spec.rb1012ee/spec/services/merge_requests/reset_approvals_service_spec.rb1013ee/spec/models/approval_merge_request_rule_spec.rb1014ee/spec/helpers/projects_helper_spec.rb1015ee/spec/services/geo/wiki_sync_service_spec.rb1016ee/spec/models/snippet_repository_spec.rb1017ee/spec/services/ci/audit_variable_change_service_spec.rb1018ee/spec/workers/elastic_commit_indexer_worker_spec.rb1019ee/spec/services/arkose/token_verification_service_spec.rb1020ee/spec/presenters/merge_request_approver_presenter_spec.rb1021ee/spec/services/app_sec/dast/scanner_profiles/create_service_spec.rb1022ee/spec/helpers/boards_helper_spec.rb1023ee/spec/services/protected_environments/create_service_spec.rb1024ee/spec/services/security/ingestion/tasks/ingest_remediations_spec.rb1025ee/spec/services/ee/members/update_service_spec.rb1026ee/spec/lib/ee/gitlab/background_migration/populate_namespace_statistics_spec.rb1027ee/spec/lib/ee/gitlab/auth/ldap/sync/groups_spec.rb1028ee/spec/workers/post_receive_spec.rb1029ee/spec/finders/requirements_management/requirements_finder_spec.rb1030ee/spec/finders/compliance_management/merge_requests/compliance_violations_finder_spec.rb1031ee/spec/lib/bulk_imports/groups/pipelines/epics_pipeline_spec.rb1032ee/spec/finders/security/scan_execution_policies_finder_spec.rb1033ee/spec/services/incident_management/issuable_resource_links/zoom_link_service_spec.rb1034ee/spec/services/boards/epics/position_create_service_spec.rb1035ee/spec/elastic/migrate/20221026082700_backfill_users_spec.rb1036ee/spec/finders/audit_event_finder_spec.rb1037ee/spec/services/incident_management/escalation_policies/update_service_spec.rb1038ee/spec/services/ee/vulnerability_feedback_module/update_service_spec.rb1039ee/spec/serializers/ee/issue_sidebar_basic_entity_spec.rb1040ee/spec/lib/analytics/merge_request_metrics_refresh_spec.rb1041ee/spec/lib/gitlab/geo/oauth/logout_token_spec.rb1042ee/spec/models/incident_management/escalation_rule_spec.rb1043ee/spec/lib/banzai/reference_parser/iteration_parser_spec.rb1044ee/spec/models/gitlab_subscriptions/features_spec.rb1045ee/spec/services/ee/resource_events/change_iteration_service_spec.rb1046ee/spec/services/app_sec/dast/profiles/create_associations_service_spec.rb1047ee/spec/graphql/resolvers/geo/snippet_repository_registries_resolver_spec.rb1048ee/spec/lib/gitlab/graphql/aggregations/epics/lazy_epic_aggregate_spec.rb1049ee/spec/models/dast/site_profile_secret_variable_spec.rb1050ee/spec/finders/clusters/environments_finder_spec.rb1051ee/spec/models/release_highlight_spec.rb1052ee/spec/workers/incident_management/oncall_rotations/persist_shifts_job_spec.rb1053ee/spec/graphql/mutations/security_policy/unassign_security_policy_project_spec.rb1054ee/spec/routing/webhook_routes_spec.rb1055ee/spec/workers/epics/update_cached_metadata_worker_spec.rb1056ee/spec/finders/security/training_providers/base_url_finder_spec.rb1057ee/spec/lib/gitlab/ci/templates/license_scanning_latest_gitlab_ci_yaml_spec.rb1058ee/spec/views/groups/settings/_remove.html.haml_spec.rb1059ee/spec/helpers/groups/feature_discovery_moments_helper_spec.rb1060ee/spec/services/ci/pipeline_creation/drop_not_runnable_builds_service_spec.rb1061ee/spec/workers/ee/projects/inactive_projects_deletion_cron_worker_spec.rb1062ee/spec/services/app_sec/fuzzing/coverage/corpuses/create_service_spec.rb1063ee/spec/services/incident_management/oncall_schedules/destroy_service_spec.rb1064ee/spec/graphql/mutations/epics/update_spec.rb1065ee/spec/workers/ldap_group_sync_worker_spec.rb1066ee/spec/lib/ee/gitlab/background_migration/fix_security_scan_statuses_spec.rb1067ee/spec/models/project_team_spec.rb1068ee/spec/models/analytics/cycle_analytics/group_value_stream_spec.rb1069ee/spec/graphql/mutations/merge_requests/accept_spec.rb1070ee/spec/services/projects/slack_application_install_service_spec.rb1071ee/spec/services/incident_management/oncall_schedules/create_service_spec.rb1072ee/spec/services/boards/epic_lists/create_service_spec.rb1073ee/spec/views/shared/labels/_create_label_help_text.html.haml_spec.rb1074ee/spec/models/ee/service_desk_setting_spec.rb1075ee/spec/lib/gitlab/geo/log_cursor/lease_spec.rb1076ee/spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb1077ee/spec/services/security/ingestion/tasks/ingest_identifiers_spec.rb1078ee/spec/views/projects/security/dast_scanner_profiles/new.html.haml_spec.rb1079ee/spec/lib/ee/api/helpers/members_helpers_spec.rb1080ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_attachments_event_spec.rb1081ee/spec/graphql/resolvers/geo/geo_node_resolver_spec.rb1082ee/spec/replicators/geo/pipeline_replicator_spec.rb1083ee/spec/lib/gitlab/patch/geo_database_tasks_spec.rb1084ee/spec/lib/gitlab/status_page/storage_spec.rb1085ee/spec/helpers/seat_count_alert_helper_spec.rb1086ee/spec/services/analytics/cycle_analytics/stages/delete_service_spec.rb1087ee/spec/services/projects/after_rename_service_spec.rb1088ee/spec/workers/ci/batch_reset_minutes_worker_spec.rb1089ee/spec/services/security/ingestion/tasks/ingest_vulnerabilities/create_spec.rb1090ee/spec/services/integrations/slack_events/app_home_opened_service_spec.rb1091ee/spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_applied_scan_result_policies_metric_spec.rb1092ee/spec/views/admin/identities/index.html.haml_spec.rb1093ee/spec/lib/gitlab/analytics/cycle_analytics/summary/time_to_restore_service_spec.rb1094ee/spec/services/users/abuse/namespace_bans/create_service_spec.rb1095ee/spec/lib/gitlab/ci/config/entry/vault/secret_spec.rb1096ee/spec/services/audit_events/user_impersonation_group_audit_event_service_spec.rb1097ee/spec/services/projects/group_links/update_service_spec.rb1098ee/spec/helpers/ee/learn_gitlab_helper_spec.rb1099ee/spec/lib/gitlab/auth/o_auth/user_spec.rb1100ee/spec/lib/ee/gitlab/ci/status/build/manual_spec.rb1101ee/spec/lib/audit/project_feature_changes_auditor_spec.rb1102ee/spec/finders/ee/user_recent_events_finder_spec.rb1103ee/spec/services/gitlab_subscriptions/reconciliations/check_seat_usage_alerts_eligibility_service_spec.rb1104ee/spec/models/boards/epic_list_user_preference_spec.rb1105ee/spec/lib/ee/gitlab/verify/uploads_spec.rb1106ee/spec/lib/arkose/logger_spec.rb1107ee/spec/models/work_items/progress_spec.rb1108ee/spec/graphql/resolvers/pipeline_security_report_findings_resolver_spec.rb1109ee/spec/helpers/ee/events_helper_spec.rbKnapsack report generator started!1110Run options: exclude {:quarantine=>true, :level=>"migration"}1111==> Starting Gitaly set up...1112==> Starting GitLab Elasticsearch Indexer set up...1113[TEST PROF INFO] Time spent in factories: 00:00.309 (0.93% of total time)1114[TEST PROF INFO] Time spent in factories: 00:00.309 (0.92% of total time)1115Test environment set up in 0.960865789 seconds1116Geo::RegistryConsistencyService1117 behaves like registry consistency service1118 registry_class interface1119 defines a MODEL_CLASS constant1120 responds to .name1121 responds to .insert_for_model_ids1122 responds to .delete_for_model_ids1123 responds to .find_registry_differences1124 responds to .has_create_events?1125 #execute1126 when there are replicable records missing registries1127 creates missing registries1128 returns truthy1129 does not exceed batch size1130 when the number of records is greater than 6 batches1131 when the previous batch is greater than 5 batches from the end of the table1132 when create events are implemented for this replicable1133 does not create missing registries in a batch at the end of the table1134 calls #handle_differences_in_range only once1135 when create events are not yet implemented for this replicable1136 creates missing registries in a batch at the end of the table1137 calls #handle_differences_in_range twice1138 when the previous batch is less than 5 batches from the end of the table1139 does not create registries in a batch at the end of the table1140 calls #handle_differences_in_range once1141 when the number of records is less than 6 batches1142 calls #handle_differences_in_range once1143 when there are unused registries1144 with no replicable records1145 deletes unused registries1146 returns truthy1147 when the unused registry foreign key ids are lower than the first replicable model id1148 deletes unused registries1149 returns truthy1150 when the unused registry foreign key ids are greater than the last replicable model id1151 deletes unused registries1152 returns truthy1153 when all replicable records have registries1154 does nothing1155 returns falsey1156 when there are no replicable records1157 does nothing1158 returns falsey1159 behaves like registry consistency service1160 registry_class interface1161 defines a MODEL_CLASS constant1162 responds to .name1163 responds to .insert_for_model_ids1164 responds to .delete_for_model_ids1165 responds to .find_registry_differences1166 responds to .has_create_events?1167 #execute1168 when there are replicable records missing registries1169 creates missing registries1170 returns truthy1171 does not exceed batch size1172 when the number of records is greater than 6 batches1173 when the previous batch is greater than 5 batches from the end of the table1174 when create events are implemented for this replicable1175 does not create missing registries in a batch at the end of the table1176 calls #handle_differences_in_range only once1177 when create events are not yet implemented for this replicable1178 creates missing registries in a batch at the end of the table1179 calls #handle_differences_in_range twice1180 when the previous batch is less than 5 batches from the end of the table1181 does not create registries in a batch at the end of the table1182 calls #handle_differences_in_range once1183 when the number of records is less than 6 batches1184 calls #handle_differences_in_range once1185 when there are unused registries1186 with no replicable records1187 deletes unused registries1188 returns truthy1189 when the unused registry foreign key ids are lower than the first replicable model id1190 deletes unused registries1191 returns truthy1192 when the unused registry foreign key ids are greater than the last replicable model id1193 deletes unused registries1194 returns truthy1195 when all replicable records have registries1196 does nothing1197 returns falsey1198 when there are no replicable records1199 does nothing1200 returns falsey1201 behaves like registry consistency service1202 registry_class interface1203 defines a MODEL_CLASS constant1204 responds to .name1205 responds to .insert_for_model_ids1206 responds to .delete_for_model_ids1207 responds to .find_registry_differences1208 responds to .has_create_events?1209 #execute1210 when there are replicable records missing registries1211 creates missing registries1212 returns truthy1213 does not exceed batch size1214 when the number of records is greater than 6 batches1215 when the previous batch is greater than 5 batches from the end of the table1216 when create events are implemented for this replicable1217 does not create missing registries in a batch at the end of the table1218 calls #handle_differences_in_range only once1219 when create events are not yet implemented for this replicable1220 creates missing registries in a batch at the end of the table1221 calls #handle_differences_in_range twice1222 when the previous batch is less than 5 batches from the end of the table1223 does not create registries in a batch at the end of the table1224 calls #handle_differences_in_range once1225 when the number of records is less than 6 batches1226 calls #handle_differences_in_range once1227 when there are unused registries1228 with no replicable records1229 deletes unused registries1230 returns truthy1231 when the unused registry foreign key ids are lower than the first replicable model id1232 deletes unused registries1233 returns truthy1234 when the unused registry foreign key ids are greater than the last replicable model id1235 deletes unused registries1236 returns truthy1237 when all replicable records have registries1238 does nothing1239 returns falsey1240 when there are no replicable records1241 does nothing1242 returns falsey1243 behaves like registry consistency service1244 registry_class interface1245 defines a MODEL_CLASS constant1246 responds to .name1247 responds to .insert_for_model_ids1248 responds to .delete_for_model_ids1249 responds to .find_registry_differences1250 responds to .has_create_events?1251 #execute1252 when there are replicable records missing registries1253 creates missing registries1254 returns truthy1255 does not exceed batch size1256 when the number of records is greater than 6 batches1257 when the previous batch is greater than 5 batches from the end of the table1258 when create events are implemented for this replicable1259 does not create missing registries in a batch at the end of the table1260 calls #handle_differences_in_range only once1261 when create events are not yet implemented for this replicable1262 creates missing registries in a batch at the end of the table1263 calls #handle_differences_in_range twice1264 when the previous batch is less than 5 batches from the end of the table1265 does not create registries in a batch at the end of the table1266 calls #handle_differences_in_range once1267 when the number of records is less than 6 batches1268 calls #handle_differences_in_range once1269 when there are unused registries1270 with no replicable records1271 deletes unused registries1272 returns truthy1273 when the unused registry foreign key ids are lower than the first replicable model id1274 deletes unused registries1275 returns truthy1276 when the unused registry foreign key ids are greater than the last replicable model id1277 deletes unused registries1278 returns truthy1279 when all replicable records have registries1280 does nothing1281 returns falsey1282 when there are no replicable records1283 does nothing1284 returns falsey1285 behaves like registry consistency service1286 registry_class interface1287 defines a MODEL_CLASS constant1288 responds to .name1289 responds to .insert_for_model_ids1290 responds to .delete_for_model_ids1291 responds to .find_registry_differences1292 responds to .has_create_events?1293 #execute1294 when there are replicable records missing registries1295 creates missing registries1296 returns truthy1297 does not exceed batch size1298 when the number of records is greater than 6 batches1299 when the previous batch is greater than 5 batches from the end of the table1300 when create events are implemented for this replicable1301 does not create missing registries in a batch at the end of the table1302 calls #handle_differences_in_range only once1303 when create events are not yet implemented for this replicable1304 creates missing registries in a batch at the end of the table1305 calls #handle_differences_in_range twice1306 when the previous batch is less than 5 batches from the end of the table1307 does not create registries in a batch at the end of the table1308 calls #handle_differences_in_range once1309 when the number of records is less than 6 batches1310 calls #handle_differences_in_range once1311 when there are unused registries1312 with no replicable records1313 deletes unused registries1314 returns truthy1315 when the unused registry foreign key ids are lower than the first replicable model id1316 deletes unused registries1317 returns truthy1318 when the unused registry foreign key ids are greater than the last replicable model id1319 deletes unused registries1320 returns truthy1321 when all replicable records have registries1322 does nothing1323 returns falsey1324 when there are no replicable records1325 does nothing1326 returns falsey1327 behaves like registry consistency service1328 registry_class interface1329 defines a MODEL_CLASS constant1330 responds to .name1331 responds to .insert_for_model_ids1332 responds to .delete_for_model_ids1333 responds to .find_registry_differences1334 responds to .has_create_events?1335 #execute1336 when there are replicable records missing registries1337 creates missing registries1338 returns truthy1339 does not exceed batch size1340 when the number of records is greater than 6 batches1341 when the previous batch is greater than 5 batches from the end of the table1342 when create events are implemented for this replicable1343 does not create missing registries in a batch at the end of the table1344 calls #handle_differences_in_range only once1345 when create events are not yet implemented for this replicable1346 creates missing registries in a batch at the end of the table1347 calls #handle_differences_in_range twice1348 when the previous batch is less than 5 batches from the end of the table1349 does not create registries in a batch at the end of the table1350 calls #handle_differences_in_range once1351 when the number of records is less than 6 batches1352 calls #handle_differences_in_range once1353 when there are unused registries1354 with no replicable records1355 deletes unused registries1356 returns truthy1357 when the unused registry foreign key ids are lower than the first replicable model id1358 deletes unused registries1359 returns truthy1360 when the unused registry foreign key ids are greater than the last replicable model id1361 deletes unused registries1362 returns truthy1363 when all replicable records have registries1364 does nothing1365 returns falsey1366 when there are no replicable records1367 does nothing1368 returns falsey1369 behaves like registry consistency service1370 registry_class interface1371 defines a MODEL_CLASS constant1372 responds to .name1373 responds to .insert_for_model_ids1374 responds to .delete_for_model_ids1375 responds to .find_registry_differences1376 responds to .has_create_events?1377 #execute1378 when there are replicable records missing registries1379 creates missing registries1380 returns truthy1381 does not exceed batch size1382 when the number of records is greater than 6 batches1383 when the previous batch is greater than 5 batches from the end of the table1384 when create events are implemented for this replicable1385 does not create missing registries in a batch at the end of the table1386 calls #handle_differences_in_range only once1387 when create events are not yet implemented for this replicable1388 creates missing registries in a batch at the end of the table1389 calls #handle_differences_in_range twice1390 when the previous batch is less than 5 batches from the end of the table1391 does not create registries in a batch at the end of the table1392 calls #handle_differences_in_range once1393 when the number of records is less than 6 batches1394 calls #handle_differences_in_range once1395 when there are unused registries1396 with no replicable records1397 deletes unused registries1398 returns truthy1399 when the unused registry foreign key ids are lower than the first replicable model id1400 deletes unused registries1401 returns truthy1402 when the unused registry foreign key ids are greater than the last replicable model id1403 deletes unused registries1404 returns truthy1405 when all replicable records have registries1406 does nothing1407 returns falsey1408 when there are no replicable records1409 does nothing1410 returns falsey1411 behaves like registry consistency service1412 registry_class interface1413 defines a MODEL_CLASS constant1414 responds to .name1415 responds to .insert_for_model_ids1416 responds to .delete_for_model_ids1417 responds to .find_registry_differences1418 responds to .has_create_events?1419 #execute1420 when there are replicable records missing registries1421 creates missing registries1422 returns truthy1423 does not exceed batch size1424 when the number of records is greater than 6 batches1425 when the previous batch is greater than 5 batches from the end of the table1426 when create events are implemented for this replicable1427 does not create missing registries in a batch at the end of the table1428 calls #handle_differences_in_range only once1429 when create events are not yet implemented for this replicable1430 creates missing registries in a batch at the end of the table1431 calls #handle_differences_in_range twice1432 when the previous batch is less than 5 batches from the end of the table1433 does not create registries in a batch at the end of the table1434 calls #handle_differences_in_range once1435 when the number of records is less than 6 batches1436 calls #handle_differences_in_range once1437 when there are unused registries1438 with no replicable records1439 deletes unused registries1440 returns truthy1441 when the unused registry foreign key ids are lower than the first replicable model id1442 deletes unused registries1443 returns truthy1444 when the unused registry foreign key ids are greater than the last replicable model id1445 deletes unused registries1446 returns truthy1447 when all replicable records have registries1448 does nothing1449 returns falsey1450 when there are no replicable records1451 does nothing1452 returns falsey1453 behaves like registry consistency service1454 registry_class interface1455 defines a MODEL_CLASS constant1456 responds to .name1457 responds to .insert_for_model_ids1458 responds to .delete_for_model_ids1459 responds to .find_registry_differences1460 responds to .has_create_events?1461 #execute1462 when there are replicable records missing registries1463 creates missing registries1464 returns truthy1465 does not exceed batch size1466 when the number of records is greater than 6 batches1467 when the previous batch is greater than 5 batches from the end of the table1468 when create events are implemented for this replicable1469 does not create missing registries in a batch at the end of the table1470 calls #handle_differences_in_range only once1471 when create events are not yet implemented for this replicable1472 creates missing registries in a batch at the end of the table1473 calls #handle_differences_in_range twice1474 when the previous batch is less than 5 batches from the end of the table1475 does not create registries in a batch at the end of the table1476 calls #handle_differences_in_range once1477 when the number of records is less than 6 batches1478 calls #handle_differences_in_range once1479 when there are unused registries1480 with no replicable records1481 deletes unused registries1482 returns truthy1483 when the unused registry foreign key ids are lower than the first replicable model id1484 deletes unused registries1485 returns truthy1486 when the unused registry foreign key ids are greater than the last replicable model id1487 deletes unused registries1488 returns truthy1489 when all replicable records have registries1490 does nothing1491 returns falsey1492 when there are no replicable records1493 does nothing1494 returns falsey1495 behaves like registry consistency service1496 registry_class interface1497 defines a MODEL_CLASS constant1498 responds to .name1499 responds to .insert_for_model_ids1500 responds to .delete_for_model_ids1501 responds to .find_registry_differences1502 responds to .has_create_events?1503 #execute1504 when there are replicable records missing registries1505 creates missing registries1506 returns truthy1507 does not exceed batch size1508 when the number of records is greater than 6 batches1509 when the previous batch is greater than 5 batches from the end of the table1510 when create events are implemented for this replicable1511 does not create missing registries in a batch at the end of the table1512 calls #handle_differences_in_range only once1513 when create events are not yet implemented for this replicable1514 creates missing registries in a batch at the end of the table1515 calls #handle_differences_in_range twice1516 when the previous batch is less than 5 batches from the end of the table1517 does not create registries in a batch at the end of the table1518 calls #handle_differences_in_range once1519 when the number of records is less than 6 batches1520 calls #handle_differences_in_range once1521 when there are unused registries1522 with no replicable records1523 deletes unused registries1524 returns truthy1525 when the unused registry foreign key ids are lower than the first replicable model id1526 deletes unused registries1527 returns truthy1528 when the unused registry foreign key ids are greater than the last replicable model id1529 deletes unused registries1530 returns truthy1531 when all replicable records have registries1532 does nothing1533 returns falsey1534 when there are no replicable records1535 does nothing1536 returns falsey1537 behaves like registry consistency service1538 registry_class interface1539 defines a MODEL_CLASS constant1540 responds to .name1541 responds to .insert_for_model_ids1542 responds to .delete_for_model_ids1543 responds to .find_registry_differences1544 responds to .has_create_events?1545 #execute1546 when there are replicable records missing registries1547 creates missing registries1548 returns truthy1549 does not exceed batch size1550 when the number of records is greater than 6 batches1551 when the previous batch is greater than 5 batches from the end of the table1552 when create events are implemented for this replicable1553 does not create missing registries in a batch at the end of the table1554 calls #handle_differences_in_range only once1555 when create events are not yet implemented for this replicable1556 creates missing registries in a batch at the end of the table1557 calls #handle_differences_in_range twice1558 when the previous batch is less than 5 batches from the end of the table1559 does not create registries in a batch at the end of the table1560 calls #handle_differences_in_range once1561 when the number of records is less than 6 batches1562 calls #handle_differences_in_range once1563 when there are unused registries1564 with no replicable records1565 deletes unused registries1566 returns truthy1567 when the unused registry foreign key ids are lower than the first replicable model id1568 deletes unused registries1569 returns truthy1570 when the unused registry foreign key ids are greater than the last replicable model id1571 deletes unused registries1572 returns truthy1573 when all replicable records have registries1574 does nothing1575 returns falsey1576 when there are no replicable records1577 does nothing1578 returns falsey1579 behaves like registry consistency service1580 registry_class interface1581 defines a MODEL_CLASS constant1582 responds to .name1583 responds to .insert_for_model_ids1584 responds to .delete_for_model_ids1585 responds to .find_registry_differences1586 responds to .has_create_events?1587 #execute1588 when there are replicable records missing registries1589 creates missing registries1590 returns truthy1591 does not exceed batch size1592 when the number of records is greater than 6 batches1593 when the previous batch is greater than 5 batches from the end of the table1594 when create events are implemented for this replicable1595 does not create missing registries in a batch at the end of the table1596 calls #handle_differences_in_range only once1597 when create events are not yet implemented for this replicable1598 creates missing registries in a batch at the end of the table1599 calls #handle_differences_in_range twice1600 when the previous batch is less than 5 batches from the end of the table1601 does not create registries in a batch at the end of the table1602 calls #handle_differences_in_range once1603 when the number of records is less than 6 batches1604 calls #handle_differences_in_range once1605 when there are unused registries1606 with no replicable records1607 deletes unused registries1608 returns truthy1609 when the unused registry foreign key ids are lower than the first replicable model id1610 deletes unused registries1611 returns truthy1612 when the unused registry foreign key ids are greater than the last replicable model id1613 deletes unused registries1614 returns truthy1615 when all replicable records have registries1616 does nothing1617 returns falsey1618 when there are no replicable records1619 does nothing1620 returns falsey1621 behaves like registry consistency service1622 registry_class interface1623 defines a MODEL_CLASS constant1624 responds to .name1625 responds to .insert_for_model_ids1626 responds to .delete_for_model_ids1627 responds to .find_registry_differences1628 responds to .has_create_events?1629 #execute1630 when there are replicable records missing registries1631 creates missing registries1632 returns truthy1633 does not exceed batch size1634 when the number of records is greater than 6 batches1635 when the previous batch is greater than 5 batches from the end of the table1636 when create events are implemented for this replicable1637 does not create missing registries in a batch at the end of the table1638 calls #handle_differences_in_range only once1639 when create events are not yet implemented for this replicable1640 creates missing registries in a batch at the end of the table1641 calls #handle_differences_in_range twice1642 when the previous batch is less than 5 batches from the end of the table1643 does not create registries in a batch at the end of the table1644 calls #handle_differences_in_range once1645 when the number of records is less than 6 batches1646 calls #handle_differences_in_range once1647 when there are unused registries1648 with no replicable records1649 deletes unused registries1650 returns truthy1651 when the unused registry foreign key ids are lower than the first replicable model id1652 deletes unused registries1653 returns truthy1654 when the unused registry foreign key ids are greater than the last replicable model id1655 deletes unused registries1656 returns truthy1657 when all replicable records have registries1658 does nothing1659 returns falsey1660 when there are no replicable records1661 does nothing1662 returns falsey1663 behaves like registry consistency service1664 registry_class interface1665 defines a MODEL_CLASS constant1666 responds to .name1667 responds to .insert_for_model_ids1668 responds to .delete_for_model_ids1669 responds to .find_registry_differences1670 responds to .has_create_events?1671 #execute1672 when there are replicable records missing registries1673 creates missing registries1674 returns truthy1675 does not exceed batch size1676 when the number of records is greater than 6 batches1677 when the previous batch is greater than 5 batches from the end of the table1678 when create events are implemented for this replicable1679 does not create missing registries in a batch at the end of the table1680 calls #handle_differences_in_range only once1681 when create events are not yet implemented for this replicable1682 creates missing registries in a batch at the end of the table1683 calls #handle_differences_in_range twice1684 when the previous batch is less than 5 batches from the end of the table1685 does not create registries in a batch at the end of the table1686 calls #handle_differences_in_range once1687 when the number of records is less than 6 batches1688 calls #handle_differences_in_range once1689 when there are unused registries1690 with no replicable records1691 deletes unused registries1692 returns truthy1693 when the unused registry foreign key ids are lower than the first replicable model id1694 deletes unused registries1695 returns truthy1696 when the unused registry foreign key ids are greater than the last replicable model id1697 deletes unused registries1698 returns truthy1699 when all replicable records have registries1700 does nothing1701 returns falsey1702 when there are no replicable records1703 does nothing1704 returns falsey1705 behaves like registry consistency service1706 registry_class interface1707 defines a MODEL_CLASS constant1708 responds to .name1709 responds to .insert_for_model_ids1710 responds to .delete_for_model_ids1711 responds to .find_registry_differences1712 responds to .has_create_events?1713 #execute1714 when there are replicable records missing registries1715 creates missing registries1716 returns truthy1717 does not exceed batch size1718 when the number of records is greater than 6 batches1719 when the previous batch is greater than 5 batches from the end of the table1720 when create events are implemented for this replicable1721 does not create missing registries in a batch at the end of the table1722 calls #handle_differences_in_range only once1723 when create events are not yet implemented for this replicable1724 creates missing registries in a batch at the end of the table1725 calls #handle_differences_in_range twice1726 when the previous batch is less than 5 batches from the end of the table1727 does not create registries in a batch at the end of the table1728 calls #handle_differences_in_range once1729 when the number of records is less than 6 batches1730 calls #handle_differences_in_range once1731 when there are unused registries1732 with no replicable records1733 deletes unused registries1734 returns truthy1735 when the unused registry foreign key ids are lower than the first replicable model id1736 deletes unused registries1737 returns truthy1738 when the unused registry foreign key ids are greater than the last replicable model id1739 deletes unused registries1740 returns truthy1741 when all replicable records have registries1742 does nothing1743 returns falsey1744 when there are no replicable records1745 does nothing1746 returns falsey1747 behaves like registry consistency service1748 registry_class interface1749 defines a MODEL_CLASS constant1750 responds to .name1751 responds to .insert_for_model_ids1752 responds to .delete_for_model_ids1753 responds to .find_registry_differences1754 responds to .has_create_events?1755 #execute1756 when there are replicable records missing registries1757 creates missing registries1758 returns truthy1759 does not exceed batch size1760 when the number of records is greater than 6 batches1761 when the previous batch is greater than 5 batches from the end of the table1762 when create events are implemented for this replicable1763 does not create missing registries in a batch at the end of the table1764 calls #handle_differences_in_range only once1765 when create events are not yet implemented for this replicable1766 creates missing registries in a batch at the end of the table1767 calls #handle_differences_in_range twice1768 when the previous batch is less than 5 batches from the end of the table1769 does not create registries in a batch at the end of the table1770 calls #handle_differences_in_range once1771 when the number of records is less than 6 batches1772 calls #handle_differences_in_range once1773 when there are unused registries1774 with no replicable records1775 deletes unused registries1776 returns truthy1777 when the unused registry foreign key ids are lower than the first replicable model id1778 deletes unused registries1779 returns truthy1780 when the unused registry foreign key ids are greater than the last replicable model id1781 deletes unused registries1782 returns truthy1783 when all replicable records have registries1784 does nothing1785 returns falsey1786 when there are no replicable records1787 does nothing1788 returns falsey1789Geo::PackageFileRegistry1790 behaves like a BulkInsertSafe model1791 when calling class methods directly1792 raises an error when method is not bulk-insert safe1793 does not raise an error when method is bulk-insert safe1794 .bulk_insert!1795 when all items are valid1796 inserts them all1797 returns an empty array1798 when some items are invalid1799 does not insert any of them and raises an error1800 inserts them anyway when bypassing validations1801 scopes1802 sync_timed_out1803 return correct records1804 finders1805 .find_registries_never_attempted_sync1806 returns unsynced items1807 returns items that never have an attempt to sync except some specific item ID1808 .find_registries_needs_sync_again1809 returns failed items1810 returns failed items except some specific item ID1811 orders records according to retry_at1812 .fail_sync_timeouts1813 marks started records as failed if they are expired1814 #failed!1815 sets last_sync_failure with message1816 truncates a long last_sync_failure1817 increments retry_count1818 sets retry_at to a time in the future1819 when an error is given1820 includes error.message in last_sync_failure1821 when missing_on_primary is not given1822 caps retry_at to default 1 hour1823 when missing_on_primary is falsey1824 caps retry_at to default 1 hour1825 when missing_on_primary is truthy1826 caps retry_at to 4 hours1827 state machine1828 when transitioning to synced1829 marks verification as pending1830 when the model_record cannot be verified1831 when the registry is already verification_disabled1832 changes verification to disabled1833 when the registry is verification_pending1834 changes verification to disabled1835 verification_state machine1836 when transitioning to verification_failed1837 changes state from synced to failed1838 .verification_pending_batch1839 returns IDs of rows which are synced and pending verification1840 excludes rows which are not synced or are not pending verification1841 marks verification as started1842 .verification_failed_batch1843 with a failed record with retry due1844 returns IDs of rows which are synced and have failed verification1845 excludes rows which are not synced or have not failed verification1846 marks verification as started1847 when verification_retry_at is in the future1848 does not return the row which failed verification1849 .needs_verification_count1850 returns the number of rows which are synced and pending verification1851 includes rows which are synced and failed verification and are due for retry1852 excludes rows which are synced and failed verification and have a future retry time1853 excludes rows which are not synced or are not (pending or failed) verification1854 #verification_succeeded!1855 clears checksum mismatch fields1856 #track_checksum_attempt!1857 yields to the checksum calculation1858 when verification was not yet started1859 starts verification1860 when the model record cannot be verified1861 when the registry is already verification_disabled1862 leaves verification as disabled1863 when the registry is verification_pending1864 changes verification to disabled1865 when the primary site is expected to checksum the model record1866 comparison with primary checksum1867 when the calculated checksum matches the primary checksum1868 transitions to verification_succeeded and updates the checksum1869 when the calculated checksum does not match the primary checksum1870 transitions to verification_failed and updates mismatch fields1871 when verification was started1872 does not update verification_started_at1873 when an error occurs while yielding1874 sets verification_failed1875 .find_registry_differences1876 with selective sync disabled1877 finds unused and untracked items1878 with selective sync by shard1879 finds unused and untracked items1880 with selective sync by namespace1881 finds unused and untracked items1882Iteration1883 behaves like AtomicInternalId1884 .has_internal_id1885 Module inclusion1886 is expected to includes the AtomicInternalId module1887 Validation1888 when presence validation is required1889 when creating an object1890 raises an error if the internal id is blank1891 when updating an object1892 raises an error if the internal id is blank1893 when presence validation is not required1894 when creating an object1895 does not raise an error if the internal id is blank (PENDING: No reason given)1896 when updating an object1897 does not raise an error if the internal id is blank (PENDING: No reason given)1898 Creating an instance1899 saves a new instance properly1900 internal id generation1901 calls InternalId.generate_next and sets internal id attribute1902 does not overwrite an existing internal id1903 when the instance has an internal ID set1904 calls InternalId.update_last_value and sets the `last_value` to that of the instance1905 unsetting the instance internal id on rollback1906 when the internal id has been changed1907 when the internal id is automatically set1908 clears it on the instance1909 when the internal id is manually set1910 does not clear it on the instance1911 when the internal id has not been changed1912 preserves the value on the instance1913 supply of internal ids1914 provides a persistent supply of IID values, sensitive to the current state1915 #reset_scope_internal_id_attribute1916 rewinds the allocated IID1917 allocates the same IID1918 #display_text1919 is expected to eq "Plan cadence Sep 30, 2022 - Oct 4, 2022"1920 #period1921 is expected to eq "Sep 30, 2022 - Oct 4, 2022"1922 #title1923 updates title to a blank value1924 #merge_requests_enabled?1925 returns false1926 .reference_pattern1927 when iteration id is provided1928 correctly detects the iteration1929 when iteration name is provided1930 correctly detects the iteration1931 when reference includes tags1932 correctly detects the iteration1933 .filter_by_state1934 filtering by closed iterations1935 behaves like filter_by_state1936 filters by the given state1937 filtering by started iterations1938 behaves like filter_by_state1939 filters by the given state1940 filtering by opened iterations1941 behaves like filter_by_state1942 filters by the given state1943 filtering by upcoming iterations1944 behaves like filter_by_state1945 filters by the given state1946 filtering by "all"1947 behaves like filter_by_state1948 filters by the given state1949 filtering by nonexistent filter1950 raises ArgumentError1951 Validations1952 #uniqueness_of_title1953 per group1954 accepts the same title in the same group with different cadence1955 does not accept the same title when in the same cadence1956 #dates_do_not_overlap1957 when no Iteration dates overlap1958 is expected to be valid1959 when updated iteration dates overlap with its own dates1960 is valid1961 when dates overlap1962 group1963 behaves like overlapping dates1964 when start_date overlaps1965 behaves like invalid dates1966 is not valid1967 when due_date overlaps1968 behaves like invalid dates1969 is not valid1970 when both overlap1971 behaves like invalid dates1972 is not valid1973 different group1974 is expected to be valid1975 does not trigger exclusion constraints1976 sub-group1977 is expected to be valid1978 #future_date1979 when dates are in the future1980 is expected to be valid1981 when start_date is in the past1982 is expected to be valid1983 when due_date is in the past1984 is expected to be valid1985 when due_date is before start date1986 is not valid1987 when start_date is over 500 years in the future1988 is not valid1989 when due_date is over 500 years in the future1990 is not valid1991 title1992 sanitizes user intput1993 relations1994 deferrable uniqueness constraint on iterations_cadence_id and sequence1995 create1996WARNING: there is no transaction in progress1997 raises an error on creation with a duplicate sequence number within a cadence1998 does not raise an error on creation with a unique sequence number within a cadence1999 update2000WARNING: there is no transaction in progress2001 raises an error on update with a duplicate sequence number within a cadence2002 deferrable exclusion constraint on start_date, due_date and iterations_cadence_id2003 with invalid dates2004 when start_date overlaps2005 behaves like invalid dates raise PG exclusion error2006WARNING: there is no transaction in progress2007 prevents invalid dates with a PG exclusion constraint at the end of a transaction2008 when due_date overlaps2009 behaves like invalid dates raise PG exclusion error2010WARNING: there is no transaction in progress2011 prevents invalid dates with a PG exclusion constraint at the end of a transaction2012 when both overlap2013 behaves like invalid dates raise PG exclusion error2014WARNING: there is no transaction in progress2015 prevents invalid dates with a PG exclusion constraint at the end of a transaction2016 with valid dates2017 can be updated in bulk without triggering the exclusion violation2018 callbacks2019 after_save :update_iteration_sequences2020 updates a new iteration with a correct iteration sequence number2021 when start_date or due_date is not changed after save2022 the callback is not triggered2023 when iterations exist in the cadence2024 creating2025 new_start_date: Thu, 01 Dec 2022 10:44:58.790046329 UTC +00:00, expected_iteration_order: lazy { [new_iteration.id, iteration1.id, iteration2.id] }2026 behaves like sequence numbers are correctly updated2027 triggers sequence number updates2028 new_start_date: Thu, 08 Dec 2022, expected_iteration_order: lazy { [new_iteration.id, iteration1.id, iteration2.id] }2029 behaves like sequence numbers are correctly updated2030 triggers sequence number updates2031 new_start_date: Thu, 22 Dec 2022 10:44:58.790413679 UTC +00:00, expected_iteration_order: lazy { [iteration1.id, new_iteration.id, iteration2.id] }2032 behaves like sequence numbers are correctly updated2033 triggers sequence number updates2034 new_start_date: Thu, 05 Jan 2023 10:44:58.790500319 UTC +00:00, expected_iteration_order: lazy { [iteration1.id, iteration2.id, new_iteration.id] }2035 behaves like sequence numbers are correctly updated2036 triggers sequence number updates2037 updating2038 start_date: Thu, 05 Jan 2023 10:44:58.801072359 UTC +00:00, new_start_date: Thu, 01 Dec 2022 10:44:58.801207589 UTC +00:00, expected_iteration_order: lazy { [target_iteration.id, iteration1.id, iteration2.id] }2039 behaves like sequence numbers are correctly updated2040 triggers sequence number updates2041 start_date: Thu, 22 Dec 2022 10:44:58.801279489 UTC +00:00, new_start_date: Thu, 08 Dec 2022, expected_iteration_order: lazy { [target_iteration.id, iteration1.id, iteration2.id] }2042 behaves like sequence numbers are correctly updated2043 triggers sequence number updates2044 start_date: Thu, 08 Dec 2022, new_start_date: Thu, 22 Dec 2022 10:44:58.801371139 UTC +00:00, expected_iteration_order: lazy { [iteration1.id, target_iteration.id, iteration2.id] }2045 behaves like sequence numbers are correctly updated2046 triggers sequence number updates2047 start_date: Thu, 01 Dec 2022 10:44:58.801447889 UTC +00:00, new_start_date: Thu, 05 Jan 2023 10:44:58.801487329 UTC +00:00, expected_iteration_order: lazy { [iteration1.id, iteration2.id, target_iteration.id] }2048 behaves like sequence numbers are correctly updated2049 triggers sequence number updates2050 after_destroy :update_iteration_sequences2051 destroying a past iteration2052 behaves like sequence numbers are correctly updated2053 triggers sequence number updates2054 destroying an upcoming iteration2055 behaves like sequence numbers are correctly updated2056 triggers sequence number updates2057 before_destroy :check_if_can_be_destroyed2058 current iteration is the last iteration in a cadence2059 destroys the current iteration2060 current iteration is not the last iteration in a cadence2061 throws an error when attempting to destroy the current iteration2062 upcoming iteration2063 throws an error when attempting to destroy an upcoming iteration that is not the last iteration in a cadence2064 destroys an upcoming iteration when it is the last iteration in a cadence2065 search and sorting scopes2066 .search_title2067 query: "iter 1", expected_iterations: lazy { [plan_iteration1] }2068 behaves like search returns correct records2069 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1">2070 query: "iteration", expected_iterations: lazy { [plan_iteration1, plan_iteration2, product_iteration] }2071 behaves like search returns correct records2072 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1">, #<Iteration id:64 *iteration:"My iteration">, and #<Iteration id:65 *iteration:"Iteration 2">2073 query: "iteration 1", expected_iterations: lazy { [plan_iteration1] }2074 behaves like search returns correct records2075 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1">2076 query: "my iteration 1", expected_iterations: lazy { [] }2077 behaves like search returns correct records2078 is expected to contain exactly2079 .search_cadence_title2080 query: "plan", expected_iterations: lazy { [plan_iteration1, plan_iteration2] }2081 behaves like search returns correct records2082 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1"> and #<Iteration id:64 *iteration:"My iteration">2083 query: "plan cadence", expected_iterations: lazy { [plan_iteration1, plan_iteration2] }2084 behaves like search returns correct records2085 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1"> and #<Iteration id:64 *iteration:"My iteration">2086 query: "product cadence", expected_iterations: lazy { [] }2087 behaves like search returns correct records2088 is expected to contain exactly2089 query: "cadence", expected_iterations: lazy { [plan_iteration1, plan_iteration2, cadence_iteration] }2090 behaves like search returns correct records2091 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1">, #<Iteration id:64 *iteration:"My iteration">, and #<Iteration id:66 *iteration:66>2092 .search_title_or_cadence_title2093 query: "iter 1", expected_iterations: lazy { [plan_iteration1] }2094 behaves like search returns correct records2095 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1">2096 query: "iteration", expected_iterations: lazy { [plan_iteration1, plan_iteration2, product_iteration] }2097 behaves like search returns correct records2098 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1">, #<Iteration id:64 *iteration:"My iteration">, and #<Iteration id:65 *iteration:"Iteration 2">2099 query: "iteration 1", expected_iterations: lazy { [plan_iteration1] }2100 behaves like search returns correct records2101 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1">2102 query: "my iteration 1", expected_iterations: lazy { [] }2103 behaves like search returns correct records2104 is expected to contain exactly2105 query: "plan", expected_iterations: lazy { [plan_iteration1, plan_iteration2] }2106 behaves like search returns correct records2107 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1"> and #<Iteration id:64 *iteration:"My iteration">2108 query: "plan cadence", expected_iterations: lazy { [plan_iteration1, plan_iteration2] }2109 behaves like search returns correct records2110 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1"> and #<Iteration id:64 *iteration:"My iteration">2111 query: "product cadence", expected_iterations: lazy { [] }2112 behaves like search returns correct records2113 is expected to contain exactly2114 query: "cadence", expected_iterations: lazy { [plan_iteration1, plan_iteration2, cadence_iteration] }2115 behaves like search returns correct records2116 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1">, #<Iteration id:64 *iteration:"My iteration">, and #<Iteration id:66 *iteration:66>2117 query: "plan iteration", expected_iterations: lazy { [] }2118 behaves like search returns correct records2119 is expected to contain exactly2120 .sort_by_cadence_id_and_due_date_asc2121 is expected to eq [#<Iteration id:64 *iteration:"My iteration">, #<Iteration id:63 *iteration:"Iteration 1">, #<Iteration id:65 *iteration:"Iteration 2">, #<Iteration id:66 *iteration:66>]2122 time scopes2123 start_date_passed2124 returns iterations where start_date is in the past but due_date is in the future2125 due_date_passed2126 returns iterations where due date is in the past2127 #validate_group2128 when the iteration and iteration cadence groups are same2129 is valid2130 when the iteration and iteration cadence groups are different2131 is invalid2132 .within_timeframe2133 returns iterations with start_date and/or end_date between timeframe2134 returns iterations which starts before the timeframe2135 returns iterations which ends after the timeframe2136 .by_iteration_cadence_ids2137 returns iterations by cadence2138 returns iterations by multiple cadences2139 sets correct state based on iteration dates2140 start_date is in the future2141 sets state to started2142 start_date is today2143 sets state to started2144 start_date is in the past and due date is still in the future2145 sets state to started2146 start_date is in the past and due date is also in the past2147 sets state to started2148 when dates for an existing iteration change2149 when iteration dates go from future to past2150 sets state to closed2151 when iteration dates go from past to future2152 sets state to upcoming2153 and today is between iteration start and due dates2154 sets state to started2155 behaves like a timebox2156 Validation2157 start_date2158 adds an error when start_date is greater then due_date2159 adds an error when start_date is greater than 9999-12-312160 due_date2161 adds an error when due_date is greater than 9999-12-312162 Associations2163 is expected to have many issues2164 is expected to have many merge_requests2165 is expected to have many labels through issues2166 #timebox_name2167 returns the name of the model2168 #safe_title2169 normalizes the title for use as a slug2170 #title2171 sanitizes title2172 #to_ability_name2173 returns timebox2174 .within_timeframe2175 can find overlapping timeboxes2176 when closing iteration2177 when cadence roll-over flag enabled2178 triggers roll-over issues worker2179 when cadence roll-over flag disabled2180 triggers roll-over issues worker2181BillingPlansHelper2182 #subscription_plan_data_attributes2183 when group and plan with ID present2184 returns data attributes2185 with refresh_billings_seats feature flag off2186 returns data attributes2187 when group not present2188 returns empty data attributes2189 when plan not present2190 returns attributes2191 with refresh_billings_seats feature flag off2192 returns data attributes2193 when plan with ID not present2194 returns data attributes without upgrade href2195 with refresh_billings_seats feature flag off2196 returns data attributes2197 with different namespaces2198 with namespace2199 does not return billable_seats_href2200 with group2201 returns billable_seats_href for group2202 #use_new_purchase_flow?2203 type: "Group", plan: "default", trial_active: true2204 is expected to equal true2205 type: "Group", plan: "default", trial_active: false2206 is expected to equal false2207 type: "Group", plan: "free", trial_active: true2208 is expected to equal true2209 type: "Group", plan: "free", trial_active: false2210 is expected to equal true2211 type: "Group", plan: "bronze", trial_active: true2212 is expected to equal true2213 type: "Group", plan: "bronze", trial_active: false2214 is expected to equal false2215 type: "Group", plan: "silver", trial_active: true2216 is expected to equal true2217 type: "Group", plan: "silver", trial_active: false2218 is expected to equal false2219 type: "Group", plan: "premium", trial_active: true2220 is expected to equal true2221 type: "Group", plan: "premium", trial_active: false2222 is expected to equal false2223 type: "Group", plan: "gold", trial_active: true2224 is expected to equal true2225 type: "Group", plan: "gold", trial_active: false2226 is expected to equal false2227 type: "Group", plan: "ultimate", trial_active: true2228 is expected to equal true2229 type: "Group", plan: "ultimate", trial_active: false2230 is expected to equal false2231 type: "Group", plan: "ultimate_trial", trial_active: true2232 is expected to equal true2233 type: "Group", plan: "ultimate_trial", trial_active: false2234 is expected to equal false2235 type: "Group", plan: "premium_trial", trial_active: true2236 is expected to equal true2237 type: "Group", plan: "premium_trial", trial_active: false2238 is expected to equal false2239 type: "Group", plan: "opensource", trial_active: true2240 is expected to equal true2241 type: "Group", plan: "opensource", trial_active: false2242 is expected to equal false2243 type: "User", plan: "default", trial_active: true2244 is expected to equal false2245 type: "User", plan: "default", trial_active: false2246 is expected to equal false2247 type: "User", plan: "free", trial_active: true2248 is expected to equal false2249 type: "User", plan: "free", trial_active: false2250 is expected to equal false2251 type: "User", plan: "bronze", trial_active: true2252 is expected to equal false2253 type: "User", plan: "bronze", trial_active: false2254 is expected to equal false2255 type: "User", plan: "silver", trial_active: true2256 is expected to equal false2257 type: "User", plan: "silver", trial_active: false2258 is expected to equal false2259 type: "User", plan: "premium", trial_active: true2260 is expected to equal false2261 type: "User", plan: "premium", trial_active: false2262 is expected to equal false2263 type: "User", plan: "gold", trial_active: true2264 is expected to equal false2265 type: "User", plan: "gold", trial_active: false2266 is expected to equal false2267 type: "User", plan: "ultimate", trial_active: true2268 is expected to equal false2269 type: "User", plan: "ultimate", trial_active: false2270 is expected to equal false2271 type: "User", plan: "ultimate_trial", trial_active: true2272 is expected to equal false2273 type: "User", plan: "ultimate_trial", trial_active: false2274 is expected to equal false2275 type: "User", plan: "premium_trial", trial_active: true2276 is expected to equal false2277 type: "User", plan: "premium_trial", trial_active: false2278 is expected to equal false2279 type: "User", plan: "opensource", trial_active: true2280 is expected to equal false2281 type: "User", plan: "opensource", trial_active: false2282 is expected to equal false2283 when the group is on a plan eligible for the new purchase flow2284 when the user has a last name2285 returns true2286 when the user does not have a last name2287 returns false2288 #upgrade_offer_type2289 when plan has a valid property2290 plan_name: "bronze", for_free: true, plan_id: "123456789", result: :upgrade_for_free2291 is expected to eq :upgrade_for_free2292 plan_name: "bronze", for_free: true, plan_id: "987654321", result: :no_offer2293 is expected to eq :no_offer2294 plan_name: "bronze", for_free: true, plan_id: nil, result: :no_offer2295 is expected to eq :no_offer2296 plan_name: "bronze", for_free: false, plan_id: "123456789", result: :upgrade_for_offer2297 is expected to eq :upgrade_for_offer2298 plan_name: "bronze", for_free: false, plan_id: nil, result: :no_offer2299 is expected to eq :no_offer2300 plan_name: "bronze", for_free: nil, plan_id: nil, result: :no_offer2301 is expected to eq :no_offer2302 plan_name: "premium", for_free: nil, plan_id: nil, result: :no_offer2303 is expected to eq :no_offer2304 plan_name: nil, for_free: true, plan_id: nil, result: :no_offer2305 is expected to eq :no_offer2306 #has_upgrade?2307 offer_type: :no_offer, result: false2308 is expected to eq false2309 offer_type: :upgrade_for_free, result: true2310 is expected to eq true2311 offer_type: :upgrade_for_offer, result: true2312 is expected to eq true2313 #can_edit_billing?2314 is true for group without feature flag set2315 when feature flag is set to true for group2316 is true for auditor2317 is false for developer2318 #show_contact_sales_button?2319 link_action: "upgrade", upgrade_offer: :no_offer, result: true2320 is expected to eq true2321 link_action: "upgrade", upgrade_offer: :upgrade_for_free, result: false2322 is expected to eq false2323 link_action: "upgrade", upgrade_offer: :upgrade_for_offer, result: true2324 is expected to eq true2325 link_action: "no_upgrade", upgrade_offer: :no_offer, result: false2326 is expected to eq false2327 link_action: "no_upgrade", upgrade_offer: :upgrade_for_free, result: false2328 is expected to eq false2329 link_action: "no_upgrade", upgrade_offer: :upgrade_for_offer, result: false2330 is expected to eq false2331 #show_upgrade_button?2332 link_action: "upgrade", upgrade_offer: :no_offer, result: true2333 is expected to eq true2334 link_action: "upgrade", upgrade_offer: :upgrade_for_free, result: true2335 is expected to eq true2336 link_action: "upgrade", upgrade_offer: :upgrade_for_offer, result: false2337 is expected to eq false2338 link_action: "no_upgrade", upgrade_offer: :no_offer, result: false2339 is expected to eq false2340 link_action: "no_upgrade", upgrade_offer: :upgrade_for_free, result: false2341 is expected to eq false2342 link_action: "no_upgrade", upgrade_offer: :upgrade_for_offer, result: false2343 is expected to eq false2344 #plan_feature_list2345 returns features list sorted by highlight attribute2346 #seats_data_last_update_info2347 when last_enqueue_time from the worker is known2348 shows the last enqueue time2349 when last_enqueue_time from the worker is unknown2350 shows default message2351 #plan_purchase_or_upgrade_url2352 is upgradable2353 is purchasable2354 #plan_purchase_url2355 builds correct url with some source2356 builds correct url for the old purchase flow2357 #hand_raise_props2358 builds correct hash2359 #free_plan_billing_hand_raise_props2360 builds correct hash2361 #upgrade_button_text2362 plan_offer_type: :no_offer, result: "Upgrade"2363 is expected to eq "Upgrade"2364 plan_offer_type: :upgrade_for_free, result: "Upgrade for free"2365 is expected to eq "Upgrade for free"2366 plan_offer_type: :upgrade_for_offer, result: "Upgrade"2367 is expected to eq "Upgrade"2368 #upgrade_button_css_classes2369 is_current_plan: true, trial_active: true, plan_is_deprecated: true, use_new_purchase_flow: true2370 returns the expected list of CSS classes2371 is_current_plan: true, trial_active: true, plan_is_deprecated: true, use_new_purchase_flow: false2372 returns the expected list of CSS classes2373 is_current_plan: true, trial_active: true, plan_is_deprecated: false, use_new_purchase_flow: true2374 returns the expected list of CSS classes2375 is_current_plan: true, trial_active: true, plan_is_deprecated: false, use_new_purchase_flow: false2376 returns the expected list of CSS classes2377 is_current_plan: true, trial_active: false, plan_is_deprecated: true, use_new_purchase_flow: true2378 returns the expected list of CSS classes2379 is_current_plan: true, trial_active: false, plan_is_deprecated: true, use_new_purchase_flow: false2380 returns the expected list of CSS classes2381 is_current_plan: true, trial_active: false, plan_is_deprecated: false, use_new_purchase_flow: true2382 returns the expected list of CSS classes2383 is_current_plan: true, trial_active: false, plan_is_deprecated: false, use_new_purchase_flow: false2384 returns the expected list of CSS classes2385 is_current_plan: false, trial_active: true, plan_is_deprecated: true, use_new_purchase_flow: true2386 returns the expected list of CSS classes2387 is_current_plan: false, trial_active: true, plan_is_deprecated: true, use_new_purchase_flow: false2388 returns the expected list of CSS classes2389 is_current_plan: false, trial_active: true, plan_is_deprecated: false, use_new_purchase_flow: true2390 returns the expected list of CSS classes2391 is_current_plan: false, trial_active: true, plan_is_deprecated: false, use_new_purchase_flow: false2392 returns the expected list of CSS classes2393 is_current_plan: false, trial_active: false, plan_is_deprecated: true, use_new_purchase_flow: true2394 returns the expected list of CSS classes2395 is_current_plan: false, trial_active: false, plan_is_deprecated: true, use_new_purchase_flow: false2396 returns the expected list of CSS classes2397 is_current_plan: false, trial_active: false, plan_is_deprecated: false, use_new_purchase_flow: true2398 returns the expected list of CSS classes2399 is_current_plan: false, trial_active: false, plan_is_deprecated: false, use_new_purchase_flow: false2400 returns the expected list of CSS classes2401 #billing_available_plans2402 when namespace is not on a plan2403 returns plans without deprecated2404 when namespace is on an active plan2405 returns plans without deprecated2406 when namespace is on a deprecated plan2407 returns plans with a deprecated plan2408 when namespace is on a deprecated plan that has hide_deprecated_card set to true2409 returns plans without the deprecated plan2410 when namespace is on a plan that has hide_deprecated_card set to true, but deprecated? is false2411 returns plans with the deprecated plan2412 #subscription_plan_info2413 returns the current plan2414 returns nil if no plan matches the code2415 breaks a tie with the current_subscription_plan attribute if multiple plans have the same code2416 returns nil if no plan matches the code even if current_subscription_plan is true2417 returns the plan matching the plan code even if current_subscription_plan is false2418 #show_plans?2419 free_personal: false, trial_active: false, gold_plan: false, ultimate_plan: false, opensource_plan: false, expectations: true2420 returns boolean2421 free_personal: false, trial_active: true, gold_plan: false, ultimate_plan: false, opensource_plan: false, expectations: true2422 returns boolean2423 free_personal: false, trial_active: false, gold_plan: true, ultimate_plan: false, opensource_plan: false, expectations: false2424 returns boolean2425 free_personal: false, trial_active: true, gold_plan: true, ultimate_plan: false, opensource_plan: false, expectations: true2426 returns boolean2427 free_personal: false, trial_active: false, gold_plan: false, ultimate_plan: true, opensource_plan: false, expectations: false2428 returns boolean2429 free_personal: false, trial_active: true, gold_plan: false, ultimate_plan: true, opensource_plan: false, expectations: true2430 returns boolean2431 free_personal: false, trial_active: false, gold_plan: true, ultimate_plan: true, opensource_plan: false, expectations: false2432 returns boolean2433 free_personal: false, trial_active: true, gold_plan: true, ultimate_plan: true, opensource_plan: false, expectations: true2434 returns boolean2435 free_personal: true, trial_active: true, gold_plan: true, ultimate_plan: true, opensource_plan: false, expectations: false2436 returns boolean2437 free_personal: false, trial_active: false, gold_plan: false, ultimate_plan: false, opensource_plan: true, expectations: false2438 returns boolean2439 #show_start_free_trial_messages?2440 free_personal: false, eligible_for_trial: true, expected: true2441 returns correct boolean value2442 free_personal: true, eligible_for_trial: true, expected: false2443 returns correct boolean value2444 free_personal: false, eligible_for_trial: false, expected: false2445 returns correct boolean value2446 #billing_upgrade_button_data2447 has expected data2448 #start_free_trial_data2449 has expected data2450 #add_namespace_plan_to_group_instructions2451 with maintained or owned group2452 instructs to move the project to a group2453 without a group2454 instructs to create a group then move the project to a group2455MigrateCommitsToSeparateIndex2456 migration_options2457 has migration options set2458 .migrate2459 initial launch2460 creates an index and sets migration_state2461 batch run2462 sets migration_state task_id2463 sets next slice and clears task_id after task check2464 resets retry_attempt clears task_id for the next slice2465 reindexing is still in progress2466 does nothing2467 with commits in elastic2468 migrates all commits2469 failed run2470 exception is raised2471 increases retry_attempt and clears task_id2472 fails the migration after too many attempts2473 elasticsearch failures2474 total is not equal2475 raises an error and clears task_id2476 reindexing failues2477 raises an error and clears task_id2478 .completed?2479 counts are equal2480 returns true2481 counts are not equal2482 returns true2483 space_required_bytes2484 is expected to eq 3182485CI YML Templates2486 that support autodevops2487 template_name: "5-Minute-Production-App.gitlab-ci.yml"2488 are valid with default stages2489 require default stages to be included2490 template_name: "Android.gitlab-ci.yml"2491 are valid with default stages2492 require default stages to be included2493 template_name: "Android-Fastlane.gitlab-ci.yml"2494 are valid with default stages2495 require default stages to be included2496 template_name: "Auto-DevOps.gitlab-ci.yml"2497 are valid with default stages2498 require default stages to be included2499 template_name: "Bash.gitlab-ci.yml"2500 are valid with default stages2501 require default stages to be included2502 template_name: "C++.gitlab-ci.yml"2503 are valid with default stages2504 require default stages to be included2505 template_name: "Chef.gitlab-ci.yml"2506 are valid with default stages2507 require default stages to be included2508 template_name: "Clojure.gitlab-ci.yml"2509 are valid with default stages2510 require default stages to be included2511 template_name: "Code-Quality.gitlab-ci.yml"2512 are valid with default stages2513 require default stages to be included2514 template_name: "Composer.gitlab-ci.yml"2515 are valid with default stages2516 require default stages to be included2517 template_name: "Crystal.gitlab-ci.yml"2518 are valid with default stages2519 require default stages to be included2520 template_name: "Dart.gitlab-ci.yml"2521 are valid with default stages2522 require default stages to be included2523 template_name: "Deploy-ECS.gitlab-ci.yml"2524 are valid with default stages2525 require default stages to be included2526 template_name: "Django.gitlab-ci.yml"2527 are valid with default stages2528 require default stages to be included2529 template_name: "Docker.gitlab-ci.yml"2530 are valid with default stages2531 require default stages to be included2532 template_name: "Elixir.gitlab-ci.yml"2533 are valid with default stages2534 require default stages to be included2535 template_name: "Flutter.gitlab-ci.yml"2536 are valid with default stages2537 require default stages to be included2538 template_name: "Getting-Started.gitlab-ci.yml"2539 are valid with default stages2540 require default stages to be included2541 template_name: "Go.gitlab-ci.yml"2542 are valid with default stages2543 require default stages to be included2544 template_name: "Gradle.gitlab-ci.yml"2545 are valid with default stages2546 require default stages to be included2547 template_name: "Grails.gitlab-ci.yml"2548 are valid with default stages2549 require default stages to be included2550 template_name: "Indeni.Cloudrail.gitlab-ci.yml"2551 are valid with default stages2552 require default stages to be included2553 template_name: "Julia.gitlab-ci.yml"2554 are valid with default stages2555 require default stages to be included2556 template_name: "Kaniko.gitlab-ci.yml"2557 are valid with default stages2558 require default stages to be included2559 template_name: "Katalon.gitlab-ci.yml"2560 are valid with default stages2561 require default stages to be included2562 template_name: "LaTeX.gitlab-ci.yml"2563 are valid with default stages2564 require default stages to be included2565 template_name: "Laravel.gitlab-ci.yml"2566 are valid with default stages2567 require default stages to be included2568 template_name: "MATLAB.gitlab-ci.yml"2569 are valid with default stages2570 require default stages to be included2571 template_name: "Maven.gitlab-ci.yml"2572 are valid with default stages2573 require default stages to be included2574 template_name: "Mono.gitlab-ci.yml"2575 are valid with default stages2576 require default stages to be included2577 template_name: "Nodejs.gitlab-ci.yml"2578 are valid with default stages2579 require default stages to be included2580 template_name: "OpenShift.gitlab-ci.yml"2581 are valid with default stages2582 require default stages to be included2583 template_name: "PHP.gitlab-ci.yml"2584 are valid with default stages2585 require default stages to be included2586 template_name: "Packer.gitlab-ci.yml"2587 are valid with default stages2588 require default stages to be included2589 template_name: "Python.gitlab-ci.yml"2590 are valid with default stages2591 require default stages to be included2592 template_name: "Qualys-IaC-Security.gitlab-ci.yml"2593 are valid with default stages2594 require default stages to be included2595 template_name: "Ruby.gitlab-ci.yml"2596 are valid with default stages2597 require default stages to be included2598 template_name: "Rust.gitlab-ci.yml"2599 are valid with default stages2600 require default stages to be included2601 template_name: "Scala.gitlab-ci.yml"2602 are valid with default stages2603 require default stages to be included2604 template_name: "Swift.gitlab-ci.yml"2605 are valid with default stages2606 require default stages to be included2607 template_name: "Terraform.gitlab-ci.yml"2608 are valid with default stages2609 require default stages to be included2610 template_name: "dotNET.gitlab-ci.yml"2611 are valid with default stages2612 require default stages to be included2613 template_name: "dotNET-Core.gitlab-ci.yml"2614 are valid with default stages2615 require default stages to be included2616 template_name: "iOS-Fastlane.gitlab-ci.yml"2617 are valid with default stages2618 require default stages to be included2619 template_name: "liquibase.gitlab-ci.yml"2620 are valid with default stages2621 require default stages to be included2622 template_name: "npm.gitlab-ci.yml"2623 are valid with default stages2624 require default stages to be included2625 template_name: "Pages/Brunch.gitlab-ci.yml"2626 are valid with default stages2627 require default stages to be included2628 template_name: "Pages/Doxygen.gitlab-ci.yml"2629 are valid with default stages2630 require default stages to be included2631 template_name: "Pages/Gatsby.gitlab-ci.yml"2632 are valid with default stages2633 require default stages to be included2634 template_name: "Pages/HTML.gitlab-ci.yml"2635 are valid with default stages2636 require default stages to be included2637 template_name: "Pages/Harp.gitlab-ci.yml"2638 are valid with default stages2639 require default stages to be included2640 template_name: "Pages/Hexo.gitlab-ci.yml"2641 are valid with default stages2642 require default stages to be included2643 template_name: "Pages/Hugo.gitlab-ci.yml"2644 are valid with default stages2645 require default stages to be included2646 template_name: "Pages/Hyde.gitlab-ci.yml"2647 are valid with default stages2648 require default stages to be included2649 template_name: "Pages/JBake.gitlab-ci.yml"2650 are valid with default stages2651 require default stages to be included2652 template_name: "Pages/Jekyll.gitlab-ci.yml"2653 are valid with default stages2654 require default stages to be included2655 template_name: "Pages/Jigsaw.gitlab-ci.yml"2656 are valid with default stages2657 require default stages to be included2658 template_name: "Pages/Lektor.gitlab-ci.yml"2659 are valid with default stages2660 require default stages to be included2661 template_name: "Pages/Metalsmith.gitlab-ci.yml"2662 are valid with default stages2663 require default stages to be included2664 template_name: "Pages/Middleman.gitlab-ci.yml"2665 are valid with default stages2666 require default stages to be included2667 template_name: "Pages/Nanoc.gitlab-ci.yml"2668 are valid with default stages2669 require default stages to be included2670 template_name: "Pages/Octopress.gitlab-ci.yml"2671 are valid with default stages2672 require default stages to be included2673 template_name: "Pages/Pelican.gitlab-ci.yml"2674 are valid with default stages2675 require default stages to be included2676 template_name: "Pages/SwaggerUI.gitlab-ci.yml"2677 are valid with default stages2678 require default stages to be included2679 template_name: "Verify/Accessibility.gitlab-ci.yml"2680 are valid with default stages2681 require default stages to be included2682 template_name: "Verify/Browser-Performance.gitlab-ci.yml"2683 are valid with default stages2684 require default stages to be included2685 template_name: "Verify/FailFast.gitlab-ci.yml"2686 are valid with default stages2687 require default stages to be included2688 template_name: "Verify/Load-Performance-Testing.gitlab-ci.yml"2689 are valid with default stages2690 require default stages to be included2691 template_name: "Security/Container-Scanning.gitlab-ci.yml"2692 are valid with default stages2693 require default stages to be included2694 template_name: "Security/Coverage-Fuzzing.gitlab-ci.yml"2695 are valid with default stages2696 require default stages to be included2697 template_name: "Security/DAST-On-Demand-API-Scan.gitlab-ci.yml"2698 are valid with default stages2699 require default stages to be included2700 template_name: "Security/DAST-On-Demand-Scan.gitlab-ci.yml"2701 are valid with default stages2702 require default stages to be included2703 template_name: "Security/DAST-Runner-Validation.gitlab-ci.yml"2704 are valid with default stages2705 require default stages to be included2706 template_name: "Security/Dependency-Scanning.gitlab-ci.yml"2707 are valid with default stages2708 require default stages to be included2709 template_name: "Security/Fortify-FoD-sast.gitlab-ci.yml"2710 are valid with default stages2711 require default stages to be included2712 template_name: "Security/License-Scanning.gitlab-ci.yml"2713 are valid with default stages2714 require default stages to be included2715 template_name: "Security/SAST.gitlab-ci.yml"2716 are valid with default stages2717 require default stages to be included2718 template_name: "Security/SAST-IaC.gitlab-ci.yml"2719 are valid with default stages2720 require default stages to be included2721 template_name: "Security/Secret-Detection.gitlab-ci.yml"2722 are valid with default stages2723 require default stages to be included2724 template_name: "Security/Secure-Binaries.gitlab-ci.yml"2725 are valid with default stages2726 require default stages to be included2727 that do not support autodevops2728 when DAST API template2729 with default stages2730 is expected not to be valid2731 with defined stages2732 is expected to be valid2733 require default stages to be included2734 when API Fuzzing template2735 with default stages2736 is expected not to be valid2737 with defined stages2738 is expected to be valid2739 require default stages to be included2740AuditEventService2741 #for_member2742 generates event2743 handles deleted users2744 generates a system event2745 user access expiry2746 generates a system event2747 create user access2748 stores author name2749 updating membership2750 records the change in expiry date2751 #security_event2752 unlicensed2753 does not create an event2754 licensed2755 creates an event2756 on a read-only instance2757 does not create an event2758 admin audit log licensed2759 for an unauthenticated user2760 when request IP address is present2761 has the request IP address2762 when request IP address is not present2763 has the user IP address2764 for an authenticated user2765 when request IP address is present2766 has the request IP address2767 when request IP address is not present2768 has the user IP address2769 tracks exceptions when the event cannot be created2770 for an impersonated user2771 has the impersonator name2772 when request IP address is present2773 has the request IP address2774 when request IP address is not present2775 has the impersonator IP address2776 #enabled?2777 admin_audit_log: true, audit_events: false, extended_audit_events: false, result: true2778 returns the correct result when feature is available2779 admin_audit_log: false, audit_events: true, extended_audit_events: false, result: true2780 returns the correct result when feature is available2781 admin_audit_log: false, audit_events: false, extended_audit_events: true, result: true2782 returns the correct result when feature is available2783 admin_audit_log: false, audit_events: false, extended_audit_events: false, result: false2784 returns the correct result when feature is available2785 #entity_audit_events_enabled?2786 entity is a project2787 returns false when project is unlicensed2788 returns true when project is licensed2789 entity is a group2790 returns false when group is unlicensed2791 returns true when group is licensed2792 entity is a user2793 returns false when unlicensed2794 returns true when licensed with extended events2795 auth event2796 returns true when unlicensed2797 #for_failed_login2798 has the right type2799 has the right author2800 has the right target_details2801 has the right auth method for OAUTH2802 admin audit log licensed2803 has the right IP address2804 admin audit log unlicensed2805 does not have the ip_address2806 on a read-only instance2807 does not create an event record in the database2808 #for_project_group_link2809 sets the target_type attribute2810 #for_user2811 with destroy action2812 sets the details attribute2813 sets the target_id column2814 with create action2815 sets the details attribute2816 sets the target_id column2817 with custom action2818 sets the details attribute2819 sets the target_id column2820 #for_project2821 with destroy action2822 sets the details attribute2823 sets the target_id column2824 with create action2825 sets the details attribute2826 sets the target_id column2827 #for_changes2828 sets the details attribute2829 #for_project2830 sets the details attribute2831 sets the target_type column2832 #for_group2833 sets the details attribute2834 stores target_type in a database column2835 license2836 has the audit_admin feature2837 logs an audit event2838 has the entity_path2839 request IP address is present2840 has the IP address in the details hash2841 has the IP address stored in a separate attribute2842 request IP address is not present2843 has the IP address in the details hash2844 has the IP address stored in a separate attribute2845 has the extended_audit_events feature2846 logs an audit event2847 does not have the entity_path2848 does not have the ip_address2849 entity has the audit_events feature2850 logs an audit event2851 does not have the entity_path2852 does not have the ip_address2853 does not have any audit event feature2854 does not log the audit event2855 save_type2856 with save_type of :database_and_stream2857 saves to database2858 streams the event2859 when the event is created within a transaction2860 does not raise an error about a job being enqueued from within a transaction2861 with save_type of :database2862 saves to database and is not streamed2863 with save_type of :stream2864 does not save to database2865 streams the event2866RequirementsManagement::Requirement2867 associations2868 is expected to belong to project required: false2869 is expected to have many test_reports through requirement_issue2870 is expected to have many recent_test_reports through requirement_issue order => requirements_management_test_reports.created_at DESC2871 behaves like a model with a requirement issue association2872 requirement issue association2873 when the requirement issue is of type requirement2874 is expected to be valid2875 when requirement issue is not of requirement type2876 is expected to include /must be a `requirement`/2877 when requirement issue is invalid but the type field is not dirty2878 is expected to be valid2879 is expected to be valid2880 delegate2881 is expected to delegate #author to the #requirement_issue object, allowing #requirement_issue to return nil2882 is expected to delegate #author_id to the #requirement_issue object, allowing #requirement_issue to return nil2883 is expected to delegate #title to the #requirement_issue object, allowing #requirement_issue to return nil2884 is expected to delegate #title_html to the #requirement_issue object, allowing #requirement_issue to return nil2885 is expected to delegate #description to the #requirement_issue object, allowing #requirement_issue to return nil2886 is expected to delegate #description_html to the #requirement_issue object, allowing #requirement_issue to return nil2887 is expected to delegate #cached_markdown_version to the #requirement_issue object, allowing #requirement_issue to return nil2888 is expected to delegate #created_at to the #requirement_issue object, allowing #requirement_issue to return nil2889 is expected to delegate #updated_at to the #requirement_issue object, allowing #requirement_issue to return nil2890 with nil attributes2891 returns delegated author value2892 returns delegated author_id value2893 returns delegated title value2894 returns delegated title_html value2895 returns delegated description value2896 returns delegated description_html value2897 returns delegated cached_markdown_version value2898 returns delegated created_at value2899 returns delegated updated_at value2900 validations2901 is expected to validate that :issue_id is case-sensitively unique2902 is expected to validate that :project cannot be empty/falsy2903 is expected to validate that :requirement_issue cannot be empty/falsy2904 is limited to a unique requirement_issue2905 must belong to same project of the work item2906 scopes2907 .counts_by_state2908 is expected to contain exactly ["archived", 1] and ["opened", 1]2909 .with_author2910 with one author2911 is expected to contain exactly #<RequirementsManagement::Requirement id: 12, project_id: 1293, iid: 1, issue_id: 122>2912 with multiple authors2913 is expected to contain exactly #<RequirementsManagement::Requirement id: 12, project_id: 1293, iid: 1, issue_id: 122> and #<RequirementsManagement::Requirement id: 13, project_id: 1293, iid: 2, issue_id: 123>2914 .search2915 with a query that covers both2916 is expected to contain exactly #<RequirementsManagement::Requirement id: 14, project_id: 1293, iid: 1, issue_id: 124> and #<RequirementsManagement::Requirement id: 15, project_id: 1293, iid: 2, issue_id: 125>2917 with a query that covers neither2918 is expected to be empty2919 with a query that covers one2920 is expected to contain exactly #<RequirementsManagement::Requirement id: 14, project_id: 1293, iid: 1, issue_id: 124>2921 behaves like a collection filtered by test reports state2922 .with_last_test_report_state2923 for passed state2924 is expected to contain exactly #<RequirementsManagement::Requirement id: 17, project_id: 1305, iid: 1, issue_id: 127> and #<RequirementsManagement::Requirement id: 18, project_id: 1306, iid: 1, issue_id: 128>2925 for failed state2926 is expected to contain exactly #<RequirementsManagement::Requirement id: 16, project_id: 1304, iid: 1, issue_id: 126>2927 .without_test_reports2928 returns requirements without test reports2929 .for_state2930 for opened state2931 is expected to contain exactly #<RequirementsManagement::Requirement id: 20, project_id: 1323, iid: 1, issue_id: 130>2932 for archived state2933 is expected to contain exactly #<RequirementsManagement::Requirement id: 21, project_id: 1324, iid: 1, issue_id: 131>2934 ordering2935 .order_created_desc2936 is expected to eq [#<RequirementsManagement::Requirement id: 24, project_id: 1327, iid: 1, issue_id: 134>, #<Requiremen...ue_id: 133>, #<RequirementsManagement::Requirement id: 22, project_id: 1325, iid: 1, issue_id: 132>]2937 .order_created_asc2938 is expected to eq [#<RequirementsManagement::Requirement id: 22, project_id: 1325, iid: 1, issue_id: 132>, #<Requiremen...ue_id: 133>, #<RequirementsManagement::Requirement id: 24, project_id: 1327, iid: 1, issue_id: 134>]2939 .order_updated_desc2940 is expected to eq [#<RequirementsManagement::Requirement id: 24, project_id: 1327, iid: 1, issue_id: 134>, #<Requiremen...ue_id: 133>, #<RequirementsManagement::Requirement id: 22, project_id: 1325, iid: 1, issue_id: 132>]2941 .order_updated_asc2942 is expected to eq [#<RequirementsManagement::Requirement id: 22, project_id: 1325, iid: 1, issue_id: 132>, #<Requiremen...ue_id: 133>, #<RequirementsManagement::Requirement id: 24, project_id: 1327, iid: 1, issue_id: 134>]2943 #last_test_report_state2944 when latest test report is passing2945 returns passing2946 when latest test report is failing2947 returns failing2948 when there are no test reports2949 returns nil2950 #status_manually_updated2951 when latest test report has a build2952 returns false2953 when latest test report does not have a build2954 returns true2955 sync with requirement issues2956 when destroying a requirement2957 also destroys the associated requirement issue2958 when destroying a requirement issue2959 also destroys the associated requirement2960 #state2961 when linked requirement issue is not present2962 returns nil2963 when linked requirement issue is present2964 returns requirement issue stored state2965 returns mapped value for state2966Gitlab::CodeOwners::Loader2967 #entries2968 returns entries for the matched line2969 only calls out to the repository once2970 loads all users that are members of the project into the entry2971 does not load non members of the project into the entry2972 loads group members of the project into the entry2973 for multiple paths2974 loads 2 entries2975 performs 8 queries for users and groups2976 group as a code owner2977 loads group members as code owners2978 with the request store2979 only calls out to the repository once2980 only processes the file once2981 #members2982 non-sectional codeowners_content2983 behaves like returns users for passed path2984 returns users mentioned for the passed path do2985 when codeowners_content contains sections2986 behaves like returns users for passed path2987 returns users mentioned for the passed path do2988 #code_owners_path2989 when the file exists2990 returns the path to the code_owners file2991 when the file does not exist2992 returns nil2993 #code_owners_sections2994 when CODEOWNERS does not have sections2995 is expected to contain exactly "codeowners"2996 when CODEOWNERS contains sections2997 is expected to contain exactly "codeowners", "Documentation", and "Testing"2998 #empty_code_owners?2999 when file does not exist3000 returns true3001 when file is empty3002 returns true3003 when file content exists3004 returns false3005Analytics::DevopsAdoption::SnapshotCalculator3006 end_time3007 equals to range_end3008 issue_opened3009 is expected to eq false3010 with an issue opened within month3011 is expected to eq true3012 merge_request_opened3013 is expected to eq false3014 with a merge request opened within month3015 is expected to eq true3016 merge_request_approved3017 is expected to eq false3018 with a merge request approved within month3019 is expected to eq true3020 runner_configured3021 is expected to eq false3022 with active runner present3023 is expected to eq true3024 pipeline_succeeded3025 is expected to eq false3026 with successful pipeline within month3027 is expected to eq true3028 deploy_succeeded3029 is expected to eq false3030 with successful deployment within month3031 is expected to eq true3032 total_projects_count3033 is expected to eq 23034 code_owners_used_count3035 is expected to eq 13036 when there is no default branch3037 uses HEAD as default value3038 sast_enabled_count3039 returns number of projects with at least 1 sast CI artifact created in given period3040 dast_enabled_count3041 returns number of projects with at least 1 dast CI artifact created in given period3042 dependency_scanning_enabled_count3043 returns number of projects with at least 1 dependency_scanning CI artifact created in given period3044 coverage_fuzzing_enabled_count3045 returns number of projects with at least 1 coverage_fuzzing CI artifact created in given period3046 vulnerability_management_used_count3047 returns number of projects with at least 1 vulnerability acted upon3048 when snapshot already exists3049 for boolean metrics3050 calculates metrics which are not true yet3051 doesn't change metrics which are true already3052 for numeric metrics3053 always recalculates metric3054Geo::FrameworkRepositorySyncService3055 behaves like geo base sync execution3056 #execute3057 when can acquire exclusive lease3058 executes the synchronization3059 when exclusive lease is not acquired3060 is does not execute synchronization3061 behaves like geo base sync fetch3062 #sync_repository3063 tells registry that sync will start now3064 #fetch_repository3065 cleans up temporary repository3066 syncs the HEAD ref3067 with existing repository3068 fetches repository from geo node3069 with a never synced repository3070 clones repository from geo node3071 reschedules sync due to race condition instead of waiting for backfill3072 #mark_sync_as_successful3073 when UpdatedEvent was processed during a sync3074 reschedules the sync3075 #execute3076 returns the lease when succeed3077 returns the lease when sync fail3078 does not fetch project repository if cannot obtain a lease3079 voids the failure message when it succeeds after an error3080 expires repository caches3081 repository housekeeping3082 when the replicator class supports housekeeping3083 runs housekeeping3084 does not raise an error when a lease can not be taken3085 when the replicator class does not support housekeeping3086 does not run housekeeping3087 with existing repository3088 fetches git repository with JWT credentials3089 rescues when Gitlab::Shell::Error is raised3090 rescues exception and fires after_create hook when Gitlab::Git::Repository::NoRepository is raised3091 increases retry count when Gitlab::Git::Repository::NoRepository is raised3092 marks sync as successful if no repository found3093 marks sync as failed3094 repository housekeeping3095 when the count is high enough3096 does not run any task specifically3097 when there were errors3098 does not run any task specifically3099 when the count is low enough3100 does not run housekeeping3101 when there were errors3102 does not run housekeeping3103 with a never synced repository3104 with geo_use_clone_on_first_sync flag enabled3105 clones repository with JWT credentials3106 repository housekeeping3107 runs the garbage collection task specifically3108 when there were errors3109 does not run housekeeping3110 with geo_use_clone_on_first_sync flag disabled3111 fetches repository with JWT credentials3112 repository housekeeping3113 runs the garbage collection task specifically3114 when there were errors3115 runs the garbage collection task specifically3116 when repository is redownloaded3117 sets the redownload flag to false after success3118 tries to redownload repo3119 with geo_use_clone_on_first_sync flag disabled3120 creates a new repository and fetches with JWT credentials3121 cleans temporary repo after redownload3122 repository housekeeping3123 when the count is high enough3124 runs the garbage collection task specifically3125 when there were errors3126 does not run any task specifically3127 when the count is low enough3128 runs the garbage collection task specifically3129 when there were errors3130 does not run housekeeping3131 with geo_use_clone_on_first_sync flag enabled3132 clones a new repository with JWT credentials3133 cleans temporary repo after redownload3134 repository housekeeping3135 when the count is high enough3136 runs the garbage collection task specifically3137 when there were errors3138 does not run any task specifically3139 when the count is low enough3140 runs the garbage collection task specifically3141 when there were errors3142 does not run housekeeping3143 tracking database3144 temporary repositories3145 there is a leftover repository3146 removes leftover repository3147 when repository sync succeed3148 sets last_synced_at3149 logs success with timings3150 sets retry_count and repository_retry_at to nil3151 with non empty repositories3152 when HEAD change3153 syncs gitattributes to info/attributes (FAILED - 1)3154 updates the default branch3155 when HEAD does not change3156 syncs gitattributes to info/attributes (FAILED - 2)3157 updates the default branch3158 when repository sync fail3159 sets correct values for registry record3160 retries3161 with repository previously synced3162 tries to fetch repo3163 tries to redownload when should_be_redownloaded3164 successfully redownloads the repository even if the retry time exceeds max value3165 no repository3166 does not raise an error3167 behaves like sync retries use the snapshot RPC3168 snapshot synchronization method3169 does not attempt to snapshot for initial sync3170 does not attempt to snapshot for ordinary retries3171 registry is ready to be snapshotted3172 attempts to snapshot3173 attempts to clone if snapshotting raises an exception3174 #should_be_redownloaded?3175 force_to_redownload: false, retry_count: nil, expected: false3176 returns the expected boolean3177 force_to_redownload: false, retry_count: 0, expected: false3178 returns the expected boolean3179 force_to_redownload: false, retry_count: 1, expected: false3180 returns the expected boolean3181 force_to_redownload: false, retry_count: 10, expected: false3182 returns the expected boolean3183 force_to_redownload: false, retry_count: 11, expected: true3184 returns the expected boolean3185 force_to_redownload: false, retry_count: 12, expected: false3186 returns the expected boolean3187 force_to_redownload: false, retry_count: 13, expected: true3188 returns the expected boolean3189 force_to_redownload: false, retry_count: 14, expected: false3190 returns the expected boolean3191 force_to_redownload: false, retry_count: 101, expected: true3192 returns the expected boolean3193 force_to_redownload: false, retry_count: 102, expected: false3194 returns the expected boolean3195 force_to_redownload: true, retry_count: nil, expected: true3196 returns the expected boolean3197 force_to_redownload: true, retry_count: 0, expected: true3198 returns the expected boolean3199 force_to_redownload: true, retry_count: 11, expected: true3200 returns the expected boolean3201Namespaces::FreeUserCap::Enforcement3202 # order random3203 #over_limit?3204 when :free_user_cap is disabled3205 is expected to equal false3206 with a net new namespace3207 when enforcement date is populated3208 when :free_user_cap_new_namespaces is enabled3209 when under the dashboard_limit3210 is expected to equal false3211 when at dashboard_limit3212 is expected to equal false3213 when over the dashboard_limit3214 is expected to equal true3215 when :free_user_cap_new_namespaces is disabled3216 is expected to equal false3217 when enforcement date is not populated3218 is expected to equal false3219 when :free_user_cap is enabled3220 with updating dashboard enforcement_at and notification_at fields3221 when cache has expired or does not exist3222 when under the limit3223 updates the database for non enforcement3224 does not blank out dashboard_notification_at3225 when over the limit3226 updates the database for enforcement3227 blanks out dashboard_notification_at3228 does not update dashboard_notification_at field needlessly3229 when dashboard_enforcement_at is already set3230 does not update dashboard_notification_at field needlessly or update dashboard_enforcement_at3231 when cache exists3232 does not update the database3233 when under the number of free users limit3234 is expected to equal false3235 when at the same number as the free users limit3236 is expected to equal false3237 when over the number of free users limit3238 when it is a free plan3239 is expected to equal true3240 when the namespace is not a group3241 is expected to equal false3242 when the namespace is public3243 is expected to equal false3244 when it is a non free plan3245 is expected to equal false3246 when no plan exists3247 is expected to equal true3248 when namespace is public3249 is expected to equal false3250 when dashboard_limit_enabled is false3251 is expected to equal false3252 with a net new namespace3253 when enforcement date is populated3254 when :free_user_cap_new_namespaces is enabled3255 when under the dashboard_limit3256 is expected to equal false3257 when at dashboard_limit3258 is expected to equal false3259 when over the dashboard_limit3260 is expected to equal true3261 when :free_user_cap_new_namespaces is disabled it honors existing namespace logic3262 is expected to equal true3263 when enforcement date is not populated it honors existing namespace logic3264 is expected to equal true3265 when invoked with request cache3266 returns true3267 does not perform extra queries when over limit has been invoked before3268 benchmarks with and without cache (PENDING: Skipped. To run set env variable BENCHMARK=1)3269 #users_count3270 is expected to eq 03271 caches the result for the same instance3272 #enforce_cap?3273 when :free_user_cap is disabled3274 is expected to equal false3275 with a net new namespace3276 when enforcement date is populated3277 when :free_user_cap_new_namespaces is enabled3278 is expected to equal true3279 when :free_user_cap_new_namespaces is disabled3280 is expected to equal false3281 when enforcement date is not populated3282 is expected to equal false3283 when :free_user_cap is enabled3284 when it is a free plan3285 is expected to equal true3286 when namespace is public3287 is expected to equal false3288 when it is a non free plan3289 is expected to equal false3290 when no plan exists3291 is expected to equal true3292 when namespace is public3293 is expected to equal false3294 when dashboard_limit_enabled is false3295 is expected to equal false3296 #git_check_over_limit!3297 when not over the user limit3298 is expected to be nil3299 when over the user limit3300 raises an error for over user limit3301 when over storage and user limit3302 raises an error for over user and storage limit3303 when block is provided for storage limit3304 when block for storage limit evaluates to true3305 raises an error for over user and storage limit3306 when block for storage limit evaluates to false3307 raises an error for over user limit3308 #remaining_seats3309 when under the number of free users limit3310 is expected to eq 13311 when at the number of free users limit3312 is expected to eq 03313 when over the number of free users limit3314 is expected to eq 03315 when on a new net namespace3316 is expected to eq 13317 #close_to_dashboard_limit?3318 is expected to equal false3319 with a net new namespace3320 when enforcement date is not populated3321 is expected to equal false3322 when enforcement date is populated3323 when :free_user_cap_new_namespaces is enabled3324 when far below the dashboard limit3325 is expected to equal false3326 when close to the dashboard limit3327 is expected to equal true3328 when at dashboard_limit3329 is expected to equal false3330 when over the dashboard_limit3331 is expected to equal false3332 when :free_user_cap_new_namespaces is disabled3333 is expected to equal false3334 #reached_limit?3335 when :free_user_cap is disabled3336 is expected to equal false3337 with a net new namespace3338 when enforcement date is populated3339 when :free_user_cap_new_namespaces is enabled3340 when under the dashboard_limit3341 is expected to equal false3342 when at dashboard_limit3343 is expected to equal true3344 when over the dashboard_limit3345 is expected to equal true3346 when :free_user_cap_new_namespaces is disabled3347 is expected to equal false3348 when enforcement date is not populated3349 is expected to equal false3350 when :free_user_cap is enabled3351 when under the number of free users limit3352 is expected to equal false3353 when at the same number as the free users limit3354 is expected to equal true3355 when over the number of free users limit3356 when it is a free plan3357 is expected to equal true3358 when the namespace is not a group3359 is expected to equal false3360 when it is a non free plan3361 is expected to equal false3362 when no plan exists3363 is expected to equal true3364 when namespace is public3365 is expected to equal false3366 when dashboard_limit_enabled is false3367 is expected to equal false3368 with a net new namespace3369 when enforcement date is populated3370 when :free_user_cap_new_namespaces is enabled3371 when under the dashboard_limit3372 is expected to equal false3373 when at dashboard_limit3374 is expected to equal true3375 when over the dashboard_limit3376 is expected to equal true3377 when :free_user_cap_new_namespaces is disabled it honors existing namespace logic3378 is expected to equal true3379 when enforcement date is not populated it honors existing namespace logic3380 is expected to equal true3381 #seat_available?3382 when :free_user_cap is disabled3383 is expected to equal true3384 with a net new namespace3385 when enforcement date is populated3386 when :free_user_cap_new_namespaces is enabled3387 when under the dashboard_limit3388 is expected to equal true3389 when at dashboard_limit3390 is expected to equal false3391 when over the dashboard_limit3392 is expected to equal false3393 when :free_user_cap_new_namespaces is disabled3394 is expected to equal true3395 when enforcement date is not populated3396 is expected to equal true3397 when :free_user_cap is enabled3398 when under the number of free users limit3399 is expected to equal true3400 when at the same number as the free users limit3401 is expected to equal false3402 behaves like user is an already existing member in the namespace3403 is expected to equal true3404 when over the number of free users limit3405 when it is a free plan3406 is expected to equal false3407 behaves like user is an already existing member in the namespace3408 is expected to equal true3409 when the namespace is not a group3410 is expected to equal true3411 when it is a non free plan3412 is expected to equal true3413 when no plan exists3414 is expected to equal false3415 when namespace is public3416 is expected to equal true3417 when dashboard_limit_enabled is false3418 is expected to equal true3419 with a net new namespace3420 when enforcement date is populated3421 when :free_user_cap_new_namespaces is enabled3422 when under the dashboard_limit3423 is expected to equal true3424 when at dashboard_limit3425 is expected to equal false3426 behaves like user is an already existing member in the namespace3427 is expected to equal true3428 when over the dashboard_limit3429 is expected to equal false3430 behaves like user is an already existing member in the namespace3431 is expected to equal true3432 when :free_user_cap_new_namespaces is disabled it honors existing namespace logic3433 is expected to equal false3434 when enforcement date is not populated it honors existing namespace logic3435 is expected to equal false3436RequirementsManagement::RequirementPolicy3437 behaves like resource with requirement permissions3438 when requirements feature is enabled3439 with admin3440 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3441 with owner3442 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3443 with maintainer3444 behaves like user with manage permissions3445 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements3446 is expected to be disallowed :destroy_requirement3447 with developer3448 behaves like user with manage permissions3449 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements3450 is expected to be disallowed :destroy_requirement3451 with reporter3452 behaves like user with manage permissions3453 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements3454 is expected to be disallowed :destroy_requirement3455 with guest3456 behaves like user with read-only permissions3457 is expected to be allowed :read_requirement3458 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3459 with non member3460 behaves like user with read-only permissions3461 is expected to be allowed :read_requirement3462 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3463 with private resource parent3464 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3465 when access level is disabled3466 with owner3467 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3468 with admin3469 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3470 when access level is private3471 with admin user3472 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3473 with admin mode enabled3474 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3475 with owner3476 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3477 with maintainer3478 behaves like user with manage permissions3479 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements3480 is expected to be disallowed :destroy_requirement3481 with developer3482 behaves like user with manage permissions3483 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements3484 is expected to be disallowed :destroy_requirement3485 with reporter3486 behaves like user with manage permissions3487 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements3488 is expected to be disallowed :destroy_requirement3489 with guest3490 behaves like user with read-only permissions3491 is expected to be allowed :read_requirement3492 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3493 with non member3494 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3495 when requirements feature is disabled3496 with owner3497 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3498 with admin3499 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3500MergeRequests::ResetApprovalsService3501 #execute3502 as default3503 resets all approvals3504 behaves like triggers GraphQL subscription mergeRequestMergeStatusUpdated3505 is expected to receive merge_request_merge_status_updated(#<MergeRequest id:106 group487/project1403!1>) 1 time3506 behaves like triggers GraphQL subscription mergeRequestApprovalStateUpdated3507 is expected to receive merge_request_approval_state_updated(#<MergeRequest id:107 group488/project1404!1>) 1 time3508 when skip_reset_checks: true3509 deletes all approvals directly without additional checks or side-effects3510 will delete approvals in situations where a false setting would not3511 with selective code owner removals3512 resets code owner approvals with changes3513 behaves like triggers GraphQL subscription mergeRequestMergeStatusUpdated3514 is expected to receive merge_request_merge_status_updated(#<MergeRequest id:110 namespace1446/project1407!1>) 1 time3515 behaves like triggers GraphQL subscription mergeRequestApprovalStateUpdated3516 is expected to receive merge_request_approval_state_updated(#<MergeRequest id:110 namespace1446/project1407!1>) 1 time3517ApprovalMergeRequestRule3518 associations3519 is expected to have one approval_project_rule_project through approval_project_rule3520 validations3521 is valid3522 is invalid when the name is missing3523 for report type different than scan_finding3524 is invalid when name not unique within rule type and merge request3525 for scan_finding report type3526 is invalid when name not unique within scan result policy, rule type and merge request3527 approval_project_rule is set3528 when project of approval_project_rule and merge request matches3529 is valid3530 when the project of approval_project_rule and merge request does not match3531 is invalid3532 code owner rules3533 is valid3534 is invalid when reusing the same name within the same merge request3535 allows a regular rule with the same name as the codeowner rule3536 any_approver rules3537 creating only one any_approver rule is allowed3538 .regular_or_any_approver scope3539 returns regular or any-approver rules3540 scopes3541 .not_matching_pattern3542 returns the correct rules3543 .matching_pattern3544 returns the correct rules3545 .code_owners3546 returns the correct rules3547 .license_compliance3548 returns the correct rules3549 .coverage3550 returns the correct rules3551 .find_or_create_code_owner_rule3552 creates a new rule if it does not exist3553 finds an existing rule using rule_type column3554 retries when a record was created between the find and the create3555 when there is an existing rule3556 finds the existing rule3557 when the existing rule matches name but not section3558 creates a new rule3559 when section is present3560 creates a new rule and saves section when present3561 #project3562 returns project of MergeRequest3563 #regular3564 returns true for regular records3565 returns false for code owner records3566 returns false for any approver records3567 #code_owner?3568 rule_type is :code_owner3569 returns true3570 rule_type is :regular3571 returns false3572 #approvers3573 when project merge_requests_author_approval is true3574 contains author3575 when project merge_requests_author_approval is false3576 does not contain author3577 when the rules users have already been loaded3578 does not perform any new queries when all users are loaded already3579 does not contain the author3580 #sync_approved_approvers3581 when not merged3582 does nothing3583 when merged3584 records approved approvers as approved_approvers association3585 stores all the approvals for any-approver rule3586 validations3587 approvals_required3588 is a natural number3589 #refresh_required_approvals!3590 when the rule is a `License-Check` rule3591 when the latest license report violates the compliance policy3592 is expected to equal 943593 when the latest license report adheres to the compliance policy3594 is expected to be zero3595 #vulnerability_states_for_branch3596 with target branch equal to project default branch3597 returns all vulnerability states3598 with target branch different from project default branch3599 returns only newly detected3600 without newly_detected3601 returns empty array3602ProjectsHelper3603 default_clone_protocol3604 when gitlab.config.kerberos is enabled and user is logged in3605 returns krb5 as default protocol3606 #can_admin_project_member?3607 when membership is not locked3608 returns true when membership is not locked3609 when membership is locked3610 returns false when membership is locked3611 #show_compliance_framework_badge?3612 when feature is licensed3613 returns false if compliance framework setting is not present3614 returns true if compliance framework setting is present3615 when feature is unlicensed3616 returns false if compliance framework setting is not present3617 returns false if compliance framework setting is present3618 #membership_locked?3619 when project has no group3620 is false3621 with group_membership_lock enabled3622 is true3623 with global LDAP membership lock enabled3624 and group membership_lock disabled3625 is true3626 #group_project_templates_count3627 is expected to eq 13628 when template project is pending deletion3629 is expected to eq 03630 #project_security_dashboard_config3631 project without vulnerabilities3632 is expected to match {:has_vulnerabilities=>"false", :has_jira_vulnerabilities_integration_enabled=>"true", :empty_state_svg_path=>(start with "/assets/illustrations/security-dashboard_empty"), :operational_configuration_path=>"/group500/project1421/-/security/policies/new", :security_dashboard_empty_svg_path=>(start with "/assets/illustrations/security-dashboard_empty"), :project_full_path=>"group500/project1421", :no_vulnerabilities_svg_path=>(start with "/assets/illustrations/issues-"), :security_configuration_path=>(end with "/configuration"), :can_admin_vulnerability=>"true", :new_vulnerability_path=>(end with "/security/vulnerabilities/new")}3633 project with vulnerabilities3634 without pipeline3635 is expected to match {:has_vulnerabilities=>"true", :has_jira_vulnerabilities_integration_enabled=>"true", :project=>{:id=>1376, :name=>"project1421"}, :project_full_path=>"group500/project1421", :vulnerabilities_export_endpoint=>"/api/v4/security/projects/1376/vulnerability_exports", :no_vulnerabilities_svg_path=>(start with "/assets/illustrations/issues-"), :empty_state_svg_path=>(start with "/assets/illustrations/security-dashboard-empty-state"), :operational_configuration_path=>"/group500/project1421/-/security/policies/new", :security_dashboard_empty_svg_path=>(start with "/assets/illustrations/security-dashboard_empty"), :new_project_pipeline_path=>"/group500/project1421/-/pipelines/new", :auto_fix_mrs_path=>(end with "/merge_requests?label_name=GitLab-auto-fix"), :scanners=>"[{\"id\":123,\"vendor\":\"Security Vendor\",\"report_type\":\"SAST\"}]", :can_admin_vulnerability=>"true", :can_view_false_positive=>"false", :security_configuration_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007fa7e80c2758 @klass=String>, :new_vulnerability_path=>(end with "/security/vulnerabilities/new")}3636 with pipeline3637 is expected to match {:has_vulnerabilities=>"true", :has_jira_vulnerabilities_integration_enabled=>"true", :project=>{:id=>1376, :name=>"project1421"}, :project_full_path=>"group500/project1421", :vulnerabilities_export_endpoint=>"/api/v4/security/projects/1376/vulnerability_exports", :no_vulnerabilities_svg_path=>(start with "/assets/illustrations/issues-"), :empty_state_svg_path=>(start with "/assets/illustrations/security-dashboard-empty-state"), :operational_configuration_path=>"/group500/project1421/-/security/policies/new", :security_dashboard_empty_svg_path=>(start with "/assets/illustrations/security-dashboard_empty"), :new_project_pipeline_path=>"/group500/project1421/-/pipelines/new", :auto_fix_mrs_path=>(end with "/merge_requests?label_name=GitLab-auto-fix"), :scanners=>"[{\"id\":123,\"vendor\":\"Security Vendor\",\"report_type\":\"SAST\"}]", :can_admin_vulnerability=>"true", :can_view_false_positive=>"false", :security_configuration_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007fa7f7f62060 @klass=String>, :new_vulnerability_path=>(end with "/security/vulnerabilities/new"), :pipeline=>{:id=>1139, :path=>"/group500/project1421/-/pipelines/1139", :created_at=>"1881-05-19T00:00:00Z", :has_warnings=>"true", :has_errors=>"false", :security_builds=>{:failed=>{:count=>0, :path=>"/group500/project1421/-/pipelines/1139/failures"}}}}3638 #show_discover_project_security?3639 gitlab_com?: true, user?: true, security_dashboard_feature_available?: true, can_admin_namespace?: true3640 returns the expected value3641 gitlab_com?: true, user?: true, security_dashboard_feature_available?: true, can_admin_namespace?: false3642 returns the expected value3643 gitlab_com?: true, user?: true, security_dashboard_feature_available?: false, can_admin_namespace?: true3644 returns the expected value3645 gitlab_com?: true, user?: true, security_dashboard_feature_available?: false, can_admin_namespace?: false3646 returns the expected value3647 gitlab_com?: true, user?: false, security_dashboard_feature_available?: true, can_admin_namespace?: true3648 returns the expected value3649 gitlab_com?: true, user?: false, security_dashboard_feature_available?: true, can_admin_namespace?: false3650 returns the expected value3651 gitlab_com?: true, user?: false, security_dashboard_feature_available?: false, can_admin_namespace?: true3652 returns the expected value3653 gitlab_com?: true, user?: false, security_dashboard_feature_available?: false, can_admin_namespace?: false3654 returns the expected value3655 gitlab_com?: false, user?: true, security_dashboard_feature_available?: true, can_admin_namespace?: true3656 returns the expected value3657 gitlab_com?: false, user?: true, security_dashboard_feature_available?: true, can_admin_namespace?: false3658 returns the expected value3659 gitlab_com?: false, user?: true, security_dashboard_feature_available?: false, can_admin_namespace?: true3660 returns the expected value3661 gitlab_com?: false, user?: true, security_dashboard_feature_available?: false, can_admin_namespace?: false3662 returns the expected value3663 gitlab_com?: false, user?: false, security_dashboard_feature_available?: true, can_admin_namespace?: true3664 returns the expected value3665 gitlab_com?: false, user?: false, security_dashboard_feature_available?: true, can_admin_namespace?: false3666 returns the expected value3667 gitlab_com?: false, user?: false, security_dashboard_feature_available?: false, can_admin_namespace?: true3668 returns the expected value3669 gitlab_com?: false, user?: false, security_dashboard_feature_available?: false, can_admin_namespace?: false3670 returns the expected value3671 #show_ultimate_feature_removal_banner?3672 when the banner should be shown3673 feature_flag_enabled: false, is_com: false, is_public: false, is_free: false, is_member: false, user_dismissed_banner: true, legacy_open_source_license_available: true, should_show_banner: false3674 shows the banner3675 feature_flag_enabled: true, is_com: false, is_public: false, is_free: false, is_member: false, user_dismissed_banner: true, legacy_open_source_license_available: true, should_show_banner: false3676 shows the banner3677 feature_flag_enabled: true, is_com: true, is_public: false, is_free: false, is_member: false, user_dismissed_banner: true, legacy_open_source_license_available: true, should_show_banner: false3678 shows the banner3679 feature_flag_enabled: true, is_com: true, is_public: true, is_free: false, is_member: false, user_dismissed_banner: true, legacy_open_source_license_available: true, should_show_banner: false3680 shows the banner3681 feature_flag_enabled: true, is_com: true, is_public: true, is_free: true, is_member: false, user_dismissed_banner: true, legacy_open_source_license_available: true, should_show_banner: false3682 shows the banner3683 feature_flag_enabled: true, is_com: true, is_public: true, is_free: true, is_member: true, user_dismissed_banner: true, legacy_open_source_license_available: true, should_show_banner: false3684 shows the banner3685 feature_flag_enabled: true, is_com: true, is_public: true, is_free: true, is_member: true, user_dismissed_banner: false, legacy_open_source_license_available: true, should_show_banner: false3686 shows the banner3687 feature_flag_enabled: true, is_com: true, is_public: true, is_free: true, is_member: true, user_dismissed_banner: false, legacy_open_source_license_available: false, should_show_banner: true3688 shows the banner3689 #remove_project_message3690 when project has delayed deletion enabled3691 is expected to eq "Deleting a project places it into a read-only state until 2022-12-15, at which point the project will be permanently deleted. Are you ABSOLUTELY sure?"3692 when project has delayed deletion disabled3693 is expected to eq "You are going to delete Sidney Jones1922 / project1413. Deleted projects CANNOT be restored! Are you ABSOLUTELY sure?"3694 #marked_for_removal_message3695 when project has delayed deletion feature3696 is expected to eq "This action deletes <code>namespace1452/project1413</code> on 2022-12-15 and everything this project contains."3697 when project does not have delayed deletion feature3698 is expected to eq "This action deletes <code>namespace1452/project1413</code> on 2022-12-15 and everything this project contains. <strong>There is no going back.</strong>"3699 #scheduled_for_deletion?3700 when project is NOT scheduled for deletion3701 is expected to equal false3702 when project is scheduled for deletion3703 is expected to equal true3704 #project_permissions_settings3705 is expected to include {:requirementsAccessLevel => 20, :securityAndComplianceAccessLevel => 10}3706 cveIdRequestEnabled3707 project_attrs: [:public], expected: true3708 has the correct cveIdRequestEnabled value3709 project_attrs: [:internal], expected: false3710 has the correct cveIdRequestEnabled value3711 project_attrs: [:private], expected: false3712 has the correct cveIdRequestEnabled value3713 #project_permissions_panel_data3714 is expected to include {:requirementsAvailable => false}3715 if in Gitlab.com3716 is_gitlab_com: true3717 sets requestCveAvailable to the correct value3718 is_gitlab_com: false3719 sets requestCveAvailable to the correct value3720 #approvals_app_data3721 returns the correct data3722 #status_checks_app_data3723 returns the correct data3724 #project_compliance_framework_app_data3725 when the user cannot edit3726 returns the correct data3727 when the user can edit3728 includes the framework edit path3729Geo::WikiSyncService3730 behaves like geo base sync execution3731 #execute3732 when can acquire exclusive lease3733 executes the synchronization3734 when exclusive lease is not acquired3735 is does not execute synchronization3736 behaves like geo base sync fetch3737 #sync_repository3738 tells registry that sync will start now3739 #fetch_repository3740 cleans up temporary repository3741 syncs the HEAD ref3742 with existing repository3743 fetches repository from geo node3744 with a never synced repository3745 clones repository from geo node3746 behaves like reschedules sync due to race condition instead of waiting for backfill3747 #mark_sync_as_successful3748 when RepositoryUpdatedEvent was processed during a sync3749 reschedules the sync3750 #execute3751 returns the lease when succeed3752 returns the lease when sync fail3753 does not fetch project repository if cannot obtain a lease3754 marks primary_wiki_checksummed as true when wiki has been verified on primary3755 marks primary_wiki_checksummed as false when wiki has not been verified on primary3756 with existing repository3757 fetches wiki repository with JWT credentials3758 voids the failure message when it succeeds after an error3759 rescues exception when Gitlab::Shell::Error is raised3760 rescues exception when Gitlab::Git::Repository::NoRepository is raised3761 increases retry count when Gitlab::Git::Repository::NoRepository is raised3762 marks sync as successful if no repository found3763 marks resync as true after a failure3764 wiki repository presumably exists on primary3765 increases retry count if no wiki repository found3766 tracking database3767 creates a new registry if does not exists3768 does not create a new registry if one exists3769 temporary repositories3770 there is a leftover repository3771 removes leftover repository3772 when repository sync succeed3773 sets last_wiki_synced_at3774 sets last_wiki_successful_sync_at3775 resets the wiki_verification_checksum_sha3776 resets the last_wiki_verification_failure3777 resets the wiki_checksum_mismatch3778 logs success with timings3779 when wiki sync fail3780 sets correct values for registry record3781 no Wiki repository3782 does not raise an error3783 behaves like sync retries use the snapshot RPC3784 snapshot synchronization method3785 does not attempt to snapshot for initial sync3786 does not attempt to snapshot for ordinary retries3787 registry is ready to be snapshotted3788 attempts to snapshot3789 attempts to clone if snapshotting raises an exception3790 when the repository is redownloaded3791 with geo_use_clone_on_first_sync flag disabled3792 creates a new repository and fetches with JWT credentials3793 cleans temporary repo after redownload3794 with geo_use_clone_on_first_sync flag enabled3795 clones a new repository with JWT credentials3796 cleans temporary repo after redownload3797SnippetRepository3798 with 3 groups, 2 projects, and 5 snippets3799 #in_replicables_for_current_secondary?3800 all returns true if all are replicated3801 with selective sync by namespace3802 returns true for snippets in the namespace3803 returns true for personal snippets3804 returns false for project snippets not in an included namespace3805 with selective sync by shard3806 returns true for snippets in the shard3807 returns false for project snippets not in an included shard3808 #replicables_for_current_secondary3809 returns all snippet_repositories without selective sync3810 returns nothing if an unrecognised selective sync type is used3811 with selective sync by namespace3812 returns snippet_repositories that belong to the namespaces + personal snippets3813 with selective sync by shard3814 returns snippet_repositories that belong to the shards3815Ci::AuditVariableChangeService3816 when audits are available3817 when creating group variable3818 behaves like audit creation3819 logs audit event3820 logs variable group creation3821 behaves like sends correct event type in audit event stream3822 sends correct event type in audit event stream3823 when updating group variable protection3824 behaves like audit when updating variable protection3825 logs audit event3826 logs variable protection update3827 behaves like sends correct event type in audit event stream3828 sends correct event type in audit event stream3829 when deleting group variable3830 behaves like audit when updating variable protection3831 logs audit event3832 logs variable protection update3833 behaves like sends correct event type in audit event stream3834 sends correct event type in audit event stream3835 when creating project variable3836 behaves like audit creation3837 logs audit event3838 logs variable group creation3839 behaves like sends correct event type in audit event stream3840 sends correct event type in audit event stream3841 when updating project variable protection3842 behaves like audit when updating variable protection3843 logs audit event3844 logs variable protection update3845 behaves like sends correct event type in audit event stream3846 sends correct event type in audit event stream3847 when deleting project variable3848 behaves like audit when updating variable protection3849 logs audit event3850 logs variable protection update3851 behaves like sends correct event type in audit event stream3852 sends correct event type in audit event stream3853 when audits are not available3854 for group variable3855 behaves like no audit events are created3856 when creating variable3857 does not log an audit event3858 when updating variable protection3859 does not log an audit event3860 when destroying variable3861 does not log an audit event3862 for project variable3863 behaves like no audit events are created3864 when creating variable3865 does not log an audit event3866 when updating variable protection3867 does not log an audit event3868 when destroying variable3869 does not log an audit event3870ElasticCommitIndexerWorker3871 #perform3872 runs indexer3873 logs timing information3874 records the apdex SLI3875 runs indexer in wiki mode if asked to3876 when ES is disabled3877 returns true3878 does not log anything3879 does not record the apdex SLI3880 when the indexer is locked3881 does not run index3882 does not log anything3883 does not record the apdex SLI3884 when the indexer fails3885 does not log anything3886 does not record the apdex SLI3887Arkose::TokenVerificationService3888 # order random3889 #execute3890 when arkose_labs_prevent_login feature flag is enabled3891 behaves like interacting with Arkose verify API3892 when the user did not solve the challenge3893 returns an error response3894 returns an error message3895 when feature arkose_labs_prevent_login is enabled3896 when the user solved the challenge3897 when the risk score is low3898 makes a request to the Verify API3899 logs the event3900 records user's Arkose data3901 behaves like returns success response with the correct payload3902 returns a success response3903 returns payload with correct :low_risk value3904 includes the json response in the payload3905 when the session is allowlisted3906 behaves like returns success response with the correct payload3907 returns a success response3908 returns payload with correct :low_risk value3909 includes the json response in the payload3910 when the risk score is high3911 behaves like returns success response with the correct payload3912 returns a success response3913 returns payload with correct :low_risk value3914 includes the json response in the payload3915 when the response does not include the risk session3916 when the user solved the challenge3917 behaves like returns success response with the correct payload3918 returns a success response3919 returns payload with correct :low_risk value3920 includes the json response in the payload3921 when the user did not solve the challenge3922 returns an error response3923 returns an error message3924 logs the event3925 when response from Arkose is not what we expect3926 behaves like returns success response with correct payload and logs the error3927 returns a success response3928 returns { low_risk: true } payload3929 does not include the json response in the payload3930 logs the error3931 when an error occurs during the Arkose request3932 behaves like returns success response with correct payload and logs the error3933 returns a success response3934 returns { low_risk: true } payload3935 does not include the json response in the payload3936 logs the error3937 when feature arkose_labs_prevent_login is disabled3938 when the risk score is high3939 returns a success response3940 returns { low_risk: true } payload3941MergeRequestApproverPresenter3942 #render3943 displays committers3944 approvals_required is low3945 returns the top n committers3946 #any?3947 returns true if any user exists3948 returns false if no user exists3949 caches loaded users3950 #render_user3951 renders link3952 #show_code_owner_tips?3953 when code_owner feature enabled and code owner is empty3954 returns true3955 when code_owner feature enabled and code owner is not empty3956 returns false3957 when code_owner feature is disabled3958 returns false3959AppSec::Dast::ScannerProfiles::CreateService3960 #execute3961 when a user does not have access to a project3962 returns an error status3963 populates message3964 when the user does not have permission to run a dast scan3965 returns an error status3966 populates message3967 when the user can run a dast scan3968 returns a success status3969 creates a dast_scanner_profile3970 creates a dast_scanner_profile with the given params3971 returns a dast_scanner_profile payload3972 audits the creation3973 when the dast_scanner_profile name exists3974 does not create a new dast_scanner_profile3975 returns an error status3976 populates message3977 when on demand scan licensed feature is not available3978 returns an error status3979 populates message3980BoardsHelper3981 #build_issue_link_base3982 when epic board3983 generates the correct url3984 #board_base_url3985 when epic board3986 generates the correct url3987 #board_data3988 issue board3989 when no iteration3990 serializes board without iteration3991 when board is scoped to an iteration3992 serializes board with iteration3993 group and project-level licensed features3994 when 'multiple_issue_assignees' is available3995 indicates that the feature is available in a boolean string3996 when 'multiple_issue_assignees' is unavailable3997 indicates that the feature is unavailable in a boolean string3998 when 'issue_weights' is available3999 indicates that the feature is available in a boolean string4000 when 'issue_weights' is unavailable4001 indicates that the feature is unavailable in a boolean string4002 when 'board_milestone_lists' is available4003 indicates that the feature is available in a boolean string4004 when 'board_milestone_lists' is unavailable4005 indicates that the feature is unavailable in a boolean string4006 when 'board_assignee_lists' is available4007 indicates that the feature is available in a boolean string4008 when 'board_assignee_lists' is unavailable4009 indicates that the feature is unavailable in a boolean string4010 when 'issuable_health_status' is available4011 indicates that the feature is available in a boolean string4012 when 'issuable_health_status' is unavailable4013 indicates that the feature is unavailable in a boolean string4014 when 'scoped_labels' is available4015 indicates that the feature is available in a boolean string4016 when 'scoped_labels' is unavailable4017 indicates that the feature is unavailable in a boolean string4018 when 'scoped_issue_board' is available4019 indicates that the feature is available in a boolean string4020 when 'scoped_issue_board' is unavailable4021 indicates that the feature is unavailable in a boolean string4022 group-level licensed features4023 when 'board_iteration_lists' is available4024 indicates that the feature is available in a boolean string4025 when 'board_iteration_lists' is unavailable4026 indicates that the feature is unavailable in a boolean string4027 when 'epics' is available4028 indicates that the feature is available in a boolean string4029 when 'epics' is unavailable4030 indicates that the feature is unavailable in a boolean string4031 when 'iterations' is available4032 indicates that the feature is available in a boolean string4033 when 'iterations' is unavailable4034 indicates that the feature is unavailable in a boolean string4035 when 'issuable_health_status' is available4036 indicates that the feature is available in a boolean string4037 when 'issuable_health_status' is unavailable4038 indicates that the feature is unavailable in a boolean string4039 when 'subepics' is available4040 indicates that the feature is available in a boolean string4041 when 'subepics' is unavailable4042 indicates that the feature is unavailable in a boolean string4043 epic board4044 returns the correct permission for creating an epic from board4045 returns the correct permission for updating the board4046 returns the correct permission for administering the boards lists4047 returns the correct permission for administering the boards4048ProtectedEnvironments::CreateService#execute4049 with valid params4050 is expected to be truthy4051 creates a record on ProtectedEnvironment4052 creates a record on ProtectedEnvironment record4053 with invalid params4054 returns a non-persisted Protected Environment record4055 multiple deploy access levels4056 behaves like invalid multiple deployment access levels4057 does not create deploy access level4058 does not create protected environment4059 deploy access level by group4060 behaves like invalid protected environment group4061 does not create deploy access level4062 does not create protected environment4063 behaves like valid protected environment group4064 creates deploy access level4065 creates protected environment4066 deploy access level by user4067 behaves like invalid protected environment user4068 does not create deploy access level4069 does not create protected environment4070 behaves like valid protected environment user4071 creates deploy access level4072 creates protected environment4073Security::Ingestion::Tasks::IngestRemediations4074 #execute4075 creates remediations and updates the associations4076 behaves like bulk insertable task4077 when the validation fails4078 can generate error messages correctly4079Members::UpdateService4080 when current user can update the given member4081 behaves like logs an audit event4082 is expected to change `AuditEvent.count` by 14083 behaves like logs an audit event4084 is expected to change `AuditEvent.count` by 14085 when the update is a noOp4086 behaves like does not log an audit event4087 is expected not to change `AuditEvent.count`4088 behaves like does not log an audit event4089 is expected not to change `AuditEvent.count`4090 when access_level remains the same and expires_at changes4091 behaves like logs an audit event4092 is expected to change `AuditEvent.count` by 14093 when expires_at remains the same and access_level changes4094 behaves like logs an audit event4095 is expected to change `AuditEvent.count` by 14096EE::Gitlab::Auth::Ldap::Sync::Groups4097 #update_permissions4098 when group_base is not present4099 does not call EE::Gitlab::Auth::Ldap::Sync::AdminUsers#execute4100 does not call EE::Gitlab::Auth::Ldap::Sync::ExternalUsers#execute4101 when group_base is present4102 and admin_group and external_groups are not present4103 calls EE::Gitlab::Auth::Ldap::Sync::Group#execute4104 does not call EE::Gitlab::Auth::Ldap::Sync::AdminUsers#execute4105 does not call EE::Gitlab::Auth::Ldap::Sync::ExternalUsers#execute4106 and admin_group is present4107 calls EE::Gitlab::Auth::Ldap::Sync::Group#execute4108 does not call EE::Gitlab::Auth::Ldap::Sync::AdminUsers#execute4109 does not call EE::Gitlab::Auth::Ldap::Sync::ExternalUsers#execute4110 and external_groups is present4111 calls EE::Gitlab::Auth::Ldap::Sync::Group#execute4112 does not call EE::Gitlab::Auth::Ldap::Sync::AdminUsers#execute4113 does not call EE::Gitlab::Auth::Ldap::Sync::ExternalUsers#execute4114PostReceive4115 #process_project_changes4116 after project changes hooks4117 calls Geo::RepositoryUpdatedService when running on a Geo primary node4118 does not call Geo::RepositoryUpdatedService when not running on a Geo primary node4119 #process_wiki_changes4120 calls Git::WikiPushService#execute4121 assuming calls to process_changes are successful4122 calls Geo::RepositoryUpdatedService when running on a Geo primary node4123 does not call Geo::RepositoryUpdatedService when not running on a Geo primary node4124 with a group wiki4125 calls Git::WikiPushService#execute4126 when on a Geo primary node4127 does not call Geo::RepositoryUpdatedService4128 when wiki is a project wiki4129 does not call replicator to update Geo4130 when group_wiki_repository does not exist4131 does not call replicator to update Geo4132 when group_wiki_repository exists4133 calls replicator to update Geo4134 when not on a Geo primary node4135 does not call replicator to update Geo4136RequirementsManagement::RequirementsFinder4137 #execute4138 when requirements are enabled4139 when project is not set4140 does not return any requirements4141 when project is set4142 returns all requirements in the project4143 when state is set4144 returns matched requirements4145 when iid is set4146 returns matched requirements4147 when last_test_report_state is set4148 returns matched requirements4149 when last_test_report_state is not valid4150 does not filter requirements4151 does not raise error4152 when user can not read requirements in the project4153 does not return any requirements4154 filter by author4155 author_username: "projectusername", filtered_requirements: [:requirement1, :requirement2]4156 returns the requirements filtered4157 author_username: "nonexistent_user", filtered_requirements: []4158 returns the requirements filtered4159 author_username: nil, filtered_requirements: [:requirement3, :requirement2, :requirement1]4160 returns the requirements filtered4161 author_username: ["projectusername", "otheruser123"], filtered_requirements: [:requirement3, :requirement2, :requirement1]4162 returns the requirements filtered4163 author_username: ["nonexistentuser", "nonsense"], filtered_requirements: []4164 returns the requirements filtered4165 filter by search4166 query: "nonsense", filtered_requirements: []4167 returns the requirements filtered4168 query: "serverless", filtered_requirements: [:requirement1]4169 returns the requirements filtered4170 query: "with", filtered_requirements: [:requirement1, :requirement3]4171 returns the requirements filtered4172 query: nil, filtered_requirements: [:requirement3, :requirement2, :requirement1]4173 returns the requirements filtered4174 query: "", filtered_requirements: [:requirement3, :requirement2, :requirement1]4175 returns the requirements filtered4176 ordering4177 sort: "id_asc", ordered_requirements: [:requirement1, :requirement2, :requirement3]4178 returns the requirements ordered4179 sort: "id_desc", ordered_requirements: [:requirement3, :requirement2, :requirement1]4180 returns the requirements ordered4181 sort: "updated_at_asc", ordered_requirements: [:requirement1, :requirement3, :requirement2]4182 returns the requirements ordered4183 sort: "updated_at_desc", ordered_requirements: [:requirement2, :requirement3, :requirement1]4184 returns the requirements ordered4185 sort: "err", ordered_requirements: [:requirement3, :requirement2, :requirement1]4186 returns the requirements ordered4187 when requirements are disabled4188 when project is set4189 does not return any requirements4190ComplianceManagement::MergeRequests::ComplianceViolationsFinder4191 #execute4192 when the user is unauthorized4193 returns nil4194 when the user is authorized4195 without any filters or sorting4196 finds all the compliance violations4197 filtering the results4198 when given an array of project IDs4199 finds the filtered compliance violations4200 when given merged at dates4201 merged_params: {:merged_before=>Tue, 06 Dec 2022 10:44:59.595409847 UTC +00:00}, result: lazy { compliance_violation }4202 finds the filtered compliance violations4203 merged_params: {:merged_after=>Tue, 06 Dec 2022 10:44:59.595641697 UTC +00:00}, result: lazy { compliance_violation2 }4204 finds the filtered compliance violations4205 merged_params: {:merged_before=>Thu, 08 Dec 2022, :merged_after=>Tue, 06 Dec 2022 10:44:59.595787437 UTC +00:00}, result: lazy { compliance_violation2 }4206 finds the filtered compliance violations4207 sorting the results4208 direction: "SEVERITY_LEVEL_ASC", result: lazy { [compliance_violation, compliance_violation2] }4209 finds the filtered compliance violations4210 direction: "SEVERITY_LEVEL_DESC", result: lazy { [compliance_violation2, compliance_violation] }4211 finds the filtered compliance violations4212 direction: "VIOLATION_REASON_ASC", result: lazy { [compliance_violation, compliance_violation2] }4213 finds the filtered compliance violations4214 direction: "VIOLATION_REASON_DESC", result: lazy { [compliance_violation2, compliance_violation] }4215 finds the filtered compliance violations4216 direction: "MERGE_REQUEST_TITLE_ASC", result: lazy { [compliance_violation, compliance_violation2] }4217 finds the filtered compliance violations4218 direction: "MERGE_REQUEST_TITLE_DESC", result: lazy { [compliance_violation2, compliance_violation] }4219 finds the filtered compliance violations4220 direction: "MERGED_AT_ASC", result: lazy { [compliance_violation, compliance_violation2] }4221 finds the filtered compliance violations4222 direction: "MERGED_AT_DESC", result: lazy { [compliance_violation2, compliance_violation] }4223 finds the filtered compliance violations4224 direction: "UNKNOWN_SORT", result: lazy { [compliance_violation, compliance_violation2] }4225 finds the filtered compliance violations4226BulkImports::Groups::Pipelines::EpicsPipeline4227 #run4228 imports group epics into destination group4229 imports epic award emoji4230 imports epic notes4231 imports epic labels4232 imports epic system note metadata4233 #load4234 when epic is not persisted4235 saves the epic4236 when epic is missing4237 returns4238 pipeline parts4239 is expected to includes the BulkImports::NdjsonPipeline module4240 is expected to includes the BulkImports::Pipeline::Runner module4241 has extractor4242Security::ScanExecutionPoliciesFinder4243 when actor is Clusters::Agent4244 when agent project has security_orchestration_policy project4245 returns policy matching the given scan type4246 when action_scan_types is given4247 when there are multiple policies4248 returns policy matching the given scan type4249 when there are no matching policies4250 returns empty response4251 behaves like scan policies finder4252 #execute4253 when execute is not implemented in the subclass4254 raises NotImplementedError4255 when feature is not licensed4256 returns empty collection4257 when feature is licensed4258 when configuration is associated to project4259 returns policies with project4260 when configuration is associated to namespace4261 when relationship argument is not provided4262 returns no policies4263 when relationship argument is provided as INHERITED4264 returns scan policies for groups only4265 when configuration is associated to project and namespace4266 when relationship argument is not provided4267 returns scan policies for project only4268 when relationship argument is provided as INHERITED4269 returns policies defined for both project and namespace4270 when relationship argument is provided as INHERITED_ONLY4271 returns policies defined for namespace only4272 when user is unauthorized4273 returns empty collection4274IncidentManagement::IssuableResourceLinks::ZoomLinkService4275 # order random4276 #add_link4277 when issue is incident type4278 appends the new meeting to zoom_meetings4279 tracks the add event4280 behaves like an incident management tracked event4281 .track_event4282 tracks the event using redis4283 with insufficient issue update permissions4284 cannot add the meeting4285 when link text has multiple commas4286 appends the new meeting to zoom_meetings4287 tracks the add event4288 when service fails to create4289 cannot add the meeting4290 with invalid Zoom url4291 cannot add the meeting4292 with issue type issue4293 cannot add the meeting4294 #can_add_link?4295 is expected to eq true4296 with insufficient issue update permissions4297 is expected to eq false4298 #parse_link4299 with valid Zoom links4300 link_params: "https://zoom.us/j/123456789 Demo meeting", link: "https://zoom.us/j/123456789", link_text: "Demo meeting"4301 is expected to eq ["https://zoom.us/j/123456789", "Demo meeting"]4302 link_params: "https://zoom.us/j/123456789 http://example.com Space fire, fire again", link: "https://zoom.us/j/123456789", link_text: "http://example.com Space fire, fire again"4303 is expected to eq ["https://zoom.us/j/123456789", "http://example.com Space fire, fire again"]4304 link_params: "https://zoom.us/my/name https://zoom.us/j/123456789 Fire, fire on!, extinguishe now!", link: "https://zoom.us/my/name", link_text: "https://zoom.us/j/123456789 Fire, fire on!, extinguishe now!"4305 is expected to eq ["https://zoom.us/my/name", "https://zoom.us/j/123456789 Fire, fire on!, extinguishe now!"]4306 link_params: "https://zoom.us/my/name https://zoom.us/j/123456789", link: "https://zoom.us/my/name", link_text: "https://zoom.us/j/123456789"4307 is expected to eq ["https://zoom.us/my/name", "https://zoom.us/j/123456789"]4308 with invalid Zoom links4309 link_params: nil4310 is expected to eq nil4311 link_params: ""4312 is expected to eq nil4313 link_params: "Text only"4314 is expected to eq nil4315 link_params: "Non-Zoom http://example.com"4316 is expected to eq nil4317 link_params: "Almost Zoom http://zoom.us"4318 is expected to eq nil4319Boards::Epics::PositionCreateService4320 #execute4321 with invalid params4322 raises an error when board_id is missing4323 raises an error when list_id is missing4324 with correct params4325 without additional params4326 when there are no positions4327 creates the positions for all epics in the list4328 sets the relative_position based on id4329 when some positions exist4330 when there is still space for new positions4331 creates the positions for non existing epics in the list4332 sets the relative_position based on id after the last existing position4333 does not update the existing epic positions4334 when there is no space for new positions4335 raises an error4336 when all positions exist4337 does not create new positions4338 with additional params4339 for backlog list4340 creates the positions for all epics until the last param4341 sets the relative_position based on id4342 for labeled list4343 creates the positions for all epics until the last param4344 sets the relative_position based on id only for the epis with list label4345BackfillUsers4346 # order random4347 #completed?4348 returns true4349 when the values don't match4350 returns false4351 integration test4352 tracks all user documents4353 with more than one iterations in a batch4354 tracks all user documents in two iterations in one batch4355 with more than one batches4356 tracks all user documents in 4 iterations over two batches4357 #document_type4358 is :user4359AuditEventFinder4360 #execute4361 scoping the results4362 when project level4363 finds all project events4364 when group level4365 when audit_log_group_level feature enabled4366 finds all group and project events4367 when audit_log_group_level feature disabled4368 finds all group events4369 when instance level4370 finds all instance level events4371 when invalid level4372 raises exception4373 filtering by entity_id4374 no entity_type provided4375 behaves like no filtering4376 finds all the events4377 invalid entity_id4378 ignores entity_id and returns all events for given entity_type4379 User Event4380 behaves like finds the right event4381 finds the right event4382 Project Event4383 behaves like finds the right event4384 finds the right event4385 Group Event4386 behaves like finds the right event4387 finds the right event4388 filtering by entity_type4389 User Event4390 finds the right user event4391 Project Event4392 finds the right project event4393 Group Event4394 finds the right group event4395 invalid entity types4396 blank entity_type4397 behaves like no filtering4398 finds all the events4399 invalid entity_type4400 behaves like no filtering4401 finds all the events4402 filtering by author_id4403 no author_id provided4404 behaves like no filtering4405 finds all the events4406 invalid author_id4407 ignores author_id and returns all events irrespective of entity_type4408 Group Event4409 behaves like finds the right event4410 finds the right event4411 Project Event4412 behaves like finds the right event4413 finds the right event4414 filtering by created_at4415 through created_after4416 returns events created on or after the given date4417 through created_before4418 returns events created on or before the given date4419 through created_after and created_before4420 returns events created between the given dates4421 filtering by entity_username4422 User Event4423 finds the right event4424 filtering by author_username4425 username is too short4426 ignores author_username and returns all events irrespective of entity_type4427 username is too long4428 ignores author_username and returns all events irrespective of entity_type4429 Instance Event4430 finds all the events the user authored4431 Group Event4432 behaves like finds the right event4433 finds the right event4434 Project Event4435 behaves like finds the right event4436 finds the right event4437 #find_by!4438 is expected to eq #<AuditEvent id: 103, author_id: 2224, entity_id: 2221, entity_type: "User", details: {:change=>"emai...Jones2325", created_at: "2022-12-05 11:04:11.700482084 +0000", target_type: "User", target_id: 2225>4439 non-existent id provided4440 raises exception4441IncidentManagement::EscalationPolicies::UpdateService4442 # order random4443 #execute4444 when the current_user is anonymous4445 behaves like error response4446 has an informative message4447 when the current_user does not have permissions to update escalation policies4448 behaves like error response4449 has an informative message4450 when license is not enabled4451 behaves like error response4452 has an informative message4453 when only new rules are added4454 behaves like successful update with no errors4455 returns the updated escalation policy4456 with a user-based rule4457 behaves like successful update with no errors4458 returns the updated escalation policy4459 when all old rules are replaced4460 behaves like successful update with no errors4461 returns the updated escalation policy4462 when some rules are preserved, added, and deleted4463 behaves like successful update with no errors4464 returns the updated escalation policy4465 when rules are only deleted4466 behaves like successful update with no errors4467 returns the updated escalation policy4468 when rules are unchanged4469 behaves like successful update with no errors4470 returns the updated escalation policy4471 when rules are excluded4472 behaves like successful update with no errors4473 returns the updated escalation policy4474 when rules are explicitly nil4475 behaves like successful update with no errors4476 returns the updated escalation policy4477 when rules are explicitly empty4478 behaves like error response4479 has an informative message4480 when too many rules are given4481 behaves like error response4482 has an informative message4483 when the on-call schedule is not on the project4484 behaves like error response4485 has an informative message4486 when the rule's user does not have access to the project4487 behaves like error response4488 has an informative message4489 when an error occurs during update4490 behaves like error response4491 has an informative message4492VulnerabilityFeedbackModule::UpdateService#execute4493 when params are valid4494 when new comment is passed4495 adds the comments4496 second user updates the comment4497 sets second user as the comment author4498 when updated comment is passed4499 updates the comments4500 when deleting a comment4501 removes the comment data4502EE::IssueSidebarBasicEntity4503 contains keys related to issuables4504 contains attributes related to the issue4505 contains attributes related to the available features4506 request_cve_enabled_for_user4507 is_gitlab_com: true, is_public: true, is_admin: true, expected_value: true4508 uses the value from request_cve_enabled_for_user4509 is_gitlab_com: true, is_public: false, is_admin: true, expected_value: false4510 uses the value from request_cve_enabled_for_user4511 is_gitlab_com: true, is_public: false, is_admin: false, expected_value: false4512 uses the value from request_cve_enabled_for_user4513 is_gitlab_com: false, is_public: false, is_admin: true, expected_value: false4514 uses the value from request_cve_enabled_for_user4515 is_gitlab_com: false, is_public: false, is_admin: false, expected_value: false4516 uses the value from request_cve_enabled_for_user4517 can_update_escalation_policy4518 is present and true4519 for a standard issue4520 is not present4521 with escalations policies disabled4522 is not present4523 without permissions4524 is present and false4525Analytics::MergeRequestMetricsRefresh4526 #execute4527 updates metric via update_metric! method4528 when metric is already present4529 does not update metric4530 updates metric when forced4531 #execute_async4532 schedules CodeReviewMetricsWorker with params4533Gitlab::Geo::Oauth::LogoutToken4534 #valid?4535 returns false when current user is nil4536 returns false when state is nil4537 returns false when state is empty4538 returns false when token has an incorrect encoding4539 returns false when token could not be found4540 returns false when token has an invalid status4541 returns false when token does not belong to the user4542 returns true when token is valid4543 #return_to4544 returns nil when token is invalid4545 returns nil when there is no Geo node associated with the OAuth application4546 when state return_to param is nil4547 returns the Geo node URL associated with the OAuth application4548 when state return_to param is empty4549 returns the Geo node URL associated with the OAuth application4550 when state return_to param is set4551 returns the full path to the Geo node URL associated with the OAuth application4552 replaces the host with the Geo node associated with the OAuth application4553 handles leading and trailing slashes correctly4554IncidentManagement::EscalationRule4555 # order random4556 validations4557 is expected to be valid4558 is expected to validate that :status cannot be empty/falsy4559 is expected to validate that :elapsed_time_seconds cannot be empty/falsy4560 is expected to validate that :elapsed_time_seconds looks like a number greater than or equal to 0 and less than or equal to 864004561 is expected to validate that :oncall_schedule_id is case-sensitively unique within the scope of :policy_id, :status, and :elapsed_time_seconds, producing a custom validation error on failure4562 user-based rules4563 is expected to be valid4564 is expected to validate that :user_id is case-sensitively unique within the scope of :policy_id, :status, and :elapsed_time_seconds, producing a custom validation error on failure4565 mutually exclusive attributes4566 when user and schedule are both provided4567 is expected to eq ["must have either an on-call schedule or user"]4568 neither user nor schedule are provided4569 is expected to eq ["must have either an on-call schedule or user"]4570 associations4571 is expected to belong to policy required: false4572 is expected to belong to oncall_schedule optional: true4573 is expected to belong to user optional: true4574 is expected to have one project through policy4575 scopes4576 .not_removed4577 is expected to contain exactly #<IncidentManagement::EscalationRule id: 10, policy_id: 4, oncall_schedule_id: 6, status: "acknowledged", elapsed_time_seconds: 300, is_removed: false, user_id: nil> and #<IncidentManagement::EscalationRule id: 12, policy_id: 5, oncall_schedule_id: 8, status: "acknowledged", elapsed_time_seconds: 300, is_removed: false, user_id: nil>4578 .removed4579 is expected to contain exactly #<IncidentManagement::EscalationRule id: 11, policy_id: 4, oncall_schedule_id: 7, status: "acknowledged", elapsed_time_seconds: 300, is_removed: true, user_id: nil>4580 .for_project4581 is expected to contain exactly #<IncidentManagement::EscalationRule id: 12, policy_id: 5, oncall_schedule_id: 8, status: "acknowledged", elapsed_time_seconds: 300, is_removed: false, user_id: nil>4582Banzai::ReferenceParser::IterationParser4583 in project context4584 behaves like parses iteration references4585 #nodes_visible_to_user4586 when the link has a data-iteration attribute4587 behaves like referenced feature visibility4588 when feature is disabled4589 does not create reference4590 when feature is enabled only for team members4591 does not create reference for non member4592 creates reference for member4593 when feature is enabled4594 creates reference4595 when the link references an iteration in parent group4596 behaves like referenced feature visibility4597 when feature is disabled4598 does not create reference4599 when feature is enabled only for team members4600 does not create reference for non member4601 creates reference for member4602 when feature is enabled4603 creates reference4604 #referenced_by4605 when the link has a data-iteration attribute4606 using an existing iteration ID4607 returns an Array of iterations4608 using an iteration from parent group4609 returns an Array of iterations4610 using a non-existing iteration ID4611 returns an empty Array4612 in group context4613 behaves like parses iteration references4614 #nodes_visible_to_user4615 when the link has a data-iteration attribute4616 behaves like referenced feature visibility4617 when feature is disabled4618 does not create reference4619 when feature is enabled only for team members4620 does not create reference for non member4621 creates reference for member4622 when feature is enabled4623 creates reference4624 when the link references an iteration in parent group4625 behaves like referenced feature visibility4626 when feature is disabled4627 does not create reference4628 when feature is enabled only for team members4629 does not create reference for non member4630 creates reference for member4631 when feature is enabled4632 creates reference4633 #referenced_by4634 when the link has a data-iteration attribute4635 using an existing iteration ID4636 returns an Array of iterations4637 using an iteration from parent group4638 returns an Array of iterations4639 using a non-existing iteration ID4640 returns an empty Array4641GitlabSubscriptions::Features4642 License -> Plan mapping4643 bronze plan4644 is mapped to a license tier4645 silver plan4646 is mapped to a license tier4647 premium plan4648 is mapped to a license tier4649 gold plan4650 is mapped to a license tier4651 ultimate plan4652 is mapped to a license tier4653 ultimate_trial plan4654 is mapped to a license tier4655 premium_trial plan4656 is mapped to a license tier4657 opensource plan4658 is mapped to a license tier4659 .plans_with_feature4660 starter feature is in all plans4661 premium feature is in premium and ultimate plans4662 ultimate feature is in ultimate plan4663 when param is a global feature4664 is expected to raise ArgumentError4665 when feature does not exist4666 is expected to be empty4667 .saas_plans_with_feature4668 a Starter feature4669 is present in all paid plans4670 a Premium feature4671 is present in all Premium+ plans4672 an Ultimate feature4673 is present in all top plans4674 a global feature4675 cannot be checked using this method4676 a non existing feature4677 is not in any plan4678 .global?4679 when it is a global feature4680 is expected to equal true4681 when it is not a global feature4682 is expected to equal false4683 .features4684 when plan is Starter4685 includes only Starter features4686 when add-ons are present4687 includes Starter features and add-on features4688 when plan is Premium4689 includes Starter and Premium features4690 when add-ons are present4691 includes Starter and Premium features and add-on features4692 when plan is Ultimate4693 includes Starter, Premium and Ultimate features4694 when add-ons are present4695 includes Starter, Premium and Ultimate features4696 includes also add-on features4697 .usage_ping_feature?4698 when param is a Starter usage ping feature4699 is expected to be truthy4700 when usage ping setting is disabled4701 is expected to be falsey4702 when param is a Premium usage ping feature4703 is expected to be truthy4704 when usage ping setting is disabled4705 is expected to be falsey4706 when param is another usage ping feature4707 is expected to be falsey4708ResourceEvents::ChangeIterationService4709 behaves like timebox(milestone or iteration) resource events creator4710 when milestone/iteration is added4711 creates the expected event record4712 when milestone/iteration is removed4713 creates the expected event records4714 behaves like timebox(milestone or iteration) resource events creator4715 when milestone/iteration is added4716 creates the expected event record4717 when milestone/iteration is removed4718 creates the expected event records4719 events tracking4720 when the resource is a work item4721 tracks work item usage data counters4722 when the resource is not a work item4723 does not track work item usage data counters4724AppSec::Dast::Profiles::CreateAssociationsService4725 #execute4726 when the feature is licensed4727 when the user cannot create dast scans4728 behaves like an error occurred during the dast profile association4729 behaves like an error occurred4730 communicates failure4731 dast_site_profile4732 behaves like it attempts to associate the profile4733 when the profile exists4734 assigns the association4735 when the profile is not provided4736 behaves like it has no effect4737 does not assign the association4738 when the profile does not exist4739 behaves like an error occurred during the dast profile association4740 behaves like an error occurred4741 communicates failure4742 dast_scanner_profile4743 behaves like it attempts to associate the profile4744 when the profile exists4745 assigns the association4746 when the profile is not provided4747 behaves like it has no effect4748 does not assign the association4749 when the profile does not exist4750 behaves like an error occurred during the dast profile association4751 behaves like an error occurred4752 communicates failure4753 when the user cannot create dast scans4754 behaves like an error occurred during the dast profile association4755 behaves like an error occurred4756 communicates failure4757 when the build has multiple dast_configurations4758 with different name and same project4759 associate the associations correctly4760 with same named profiles from different project4761 associate the associations correctly4762 when not licensed4763 behaves like an error occurred during the dast profile association4764 behaves like an error occurred4765 communicates failure4766Resolvers::Geo::SnippetRepositoryRegistriesResolver4767 behaves like a Geo registries resolver4768 #resolve4769 when the parent object is the current node4770 when the user has permission to view Geo data4771 when admin mode is enabled4772 when the ids argument is null4773 returns registries, in order4774 when the ids argument is present4775 returns the requested registries, in order4776 when the replication_state argument is present4777 returns registries with requested replication state, in order4778 with verification enabled4779 when the verification_state argument is present4780 returns registries with requested verification state, in order4781 with verification disabled4782 when the verification_state argument is present4783 raises ArgumentError (PENDING: Skipping because verification is enabled for SnippetRepository)4784 when admin mode is disabled4785 returns nothing4786 when the user does not have permission to view Geo data4787 returns nothing4788 when the parent object is not the current node4789 when the user has permission to view Geo data4790 returns nothing, because we can't query other nodes' tracking databases4791Gitlab::Graphql::Aggregations::Epics::LazyEpicAggregate4792 #initialize4793 requires either :weight_sum, :health_status_sum or :count as a facet4794 adds the epic_id to lazy state4795 adds facets to lazy state4796 with valid facets :weight_sum, :health_status_sum or :count4797 as a symbol4798 as a string4799 #epic_aggregate4800 if the record has already been loaded4801 does not make the query again4802 if the record has not been loaded4803 clears the pending IDs4804 creates the parent-child associations4805 when different facets are passed4806 when health_status_sum facet is requested4807 forwards count_health_status true to aggregate loader4808 when count and weight sum facets are requested4809 forwards negative count_health_status to aggregate loader4810 if a block is provided4811 calls the block4812 for a parent-child relationship4813 assembles recursive sums for the parent4814 for a standalone epic with no issues4815 assembles recursive sums4816 when checking cached counts4817 behaves like no logged mismatch4818 does not log an error if cached counts match4819 when cached count does not match aggregate count4820 does log an error if cached counts do not match4821 when check_epic_cached_values is disabled4822 behaves like no logged mismatch4823 does not log an error if cached counts match4824 when epic is not set4825 behaves like no logged mismatch4826 does not log an error if cached counts match4827Dast::SiteProfileSecretVariable4828 behaves like CI variable4829 is expected to includes the Ci::HasVariable module4830 strips whitespaces when assigning key4831 can convert to runner variable4832 variable type4833 defines variable types4834 defaults variable type to env_var4835 supports variable type file4836 associations4837 is expected to belong to dast_site_profile required: false4838 validations4839 is expected to be valid4840 is expected to includes the Ci::Maskable module4841 is expected to includes the Ci::HasVariable module4842 is expected to validate that :dast_site_profile_id cannot be empty/falsy4843 is expected to validate that :masked is ‹true›4844 is expected to validate that :key is case-sensitively unique within the scope of :dast_site_profile_id, producing a custom validation error on failure4845 only allows records where variable_type=env_var4846 #value4847 when the value is over the limit4848 is not valid4849 raises a database level error4850 when value at the maximum value4851 is valid4852 does not raise database level error4853 when value at the minimum value4854 is valid4855 does not raise database level error4856 when value is under the limit4857 is not valid4858 #masked4859 defaults to true4860 #project4861 delegates to dast_site_profile4862 #raw_value=4863 pre-encodes the value4864 #value=4865 raises an error because #raw_value= should be used instead4866 #variable_type4867 defaults to env_var4868Clusters::EnvironmentsFinder#execute4869 current_user can read cluster environments4870 is expected to include #<Environment id: 3, project_id: 1562, name: "environment3", created_at: "2022-12-08 11:04:57.4486276... slug: "environment3", auto_stop_at: nil, auto_delete_at: nil, tier: "other", merge_request_id: nil>4871 environment is not available4872 is expected not to include #<Environment id: 4, project_id: 1563, name: "environment4", created_at: "2022-12-08 11:04:58.9598333... slug: "environment4", auto_stop_at: nil, auto_delete_at: nil, tier: "other", merge_request_id: nil>4873 current_user cannot read cluster environments4874 is expected to be empty4875ReleaseHighlight4876 .load_items4877 whats new for current tier only4878 returns all items4879 whats new for current tier only4880 with no license4881Skipping ./ee/spec/models/release_highlight_spec.rb[1:1:2:1:1] 'ReleaseHighlight.load_items whats new for current tier only with no license returns items with available_in=Free' because it's flaky.4882 returns items with available_in=Free (PENDING: around hook at ./spec/support/flaky_tests.rb:21 did not execute the example)4883 with Starter license4884Skipping ./ee/spec/models/release_highlight_spec.rb[1:1:2:2:1] 'ReleaseHighlight.load_items whats new for current tier only with Starter license returns items with available_in=Free' because it's flaky.4885 returns items with available_in=Free (PENDING: around hook at ./spec/support/flaky_tests.rb:21 did not execute the example)4886 with Premium license4887 returns items with available_in=Premium4888 with Ultimate license4889 returns items with available_in=Ultimate4890 .current_package4891 returns package for no license4892 returns package for Starter license4893 returns package for Premium license4894 returns package for Ultimate license4895IncidentManagement::OncallRotations::PersistShiftsJob4896 # order random4897 #perform4898 unknown rotation4899 is expected to be nil4900 does not create shifts4901 when rotation has no saved shifts4902 and rotation was created before it "started"4903 creates shift4904 and rotation "started" before it was created4905 creates shift without backfilling4906 and rotation with active period is updated to start in the past instead of the future while no shifts are in progress4907 before the next shift has started4908 does not create shifts4909 once the next shift has started4910 creates only the next shift and does not backfill shifts which did not happen4911 when rotation has saved shifts4912 when current time is during a saved shift4913 does not create shifts4914 when current time is not during a saved shift4915 creates shift4916 when current time is several shifts after the last saved shift4917 creates multiple shifts4918 when current time is after a rotation has re-started after an edit4919 creates only the next shift and does not backfill4920 when rotation has active periods4921 when current time is in the active period4922 creates the next shift4923 when rotation was previously ended but is now in progress4924 creates only the next shift and does not backfill4925 when the current time is not in the active period4926 does not create shifts4927Mutations::SecurityPolicy::UnassignSecurityPolicyProject4928 #resolve4929 when both fullPath and projectPath are not provided4930 raises exception4931 for project4932 behaves like unassigns security policy project4933 when permission is set for user4934 when user is an owner of the project4935 when policy project is assigned to a container4936 unassigns the security policy project4937 when policy project is not assigned to a container4938 respond with an error4939 when user is not an owner4940 raises exception4941 when feature is not licensed4942 raises exception4943 for namespace4944 behaves like unassigns security policy project4945 when permission is set for user4946 when user is an owner of the project4947 when policy project is assigned to a container4948 unassigns the security policy project4949 when policy project is not assigned to a container4950 respond with an error4951 when user is not an owner4952 raises exception4953 when feature is not licensed4954 raises exception4955routes to the proper webhooks controller4956 with a project context4957 routes the test action4958 routes a single record4959 with a group context4960 routes the test action4961 routes a single record4962Epics::UpdateCachedMetadataWorker4963 # order random4964 #perform4965 logs extra params4966 is labeled as idempotent4967 performs multiple times sequentially without raising an exception4968 behaves like successful metadata update4969 updates epic issue cached metadata and changes are propagated to ancestors4970 behaves like successful metadata update4971 updates epic issue cached metadata and changes are propagated to ancestors4972 when epic id not found4973 does nothing4974 when multiple epic ids are passed4975 updates epic issue cached metadata for each epic4976 obtains exclusive lock for each epic4977Security::TrainingProviders::BaseUrlFinder4978 #execute4979 raises an error if allowed_identifier_list is not implemented4980 raises an error if full_url is not implemented4981 when response_url is nil4982 returns a nil url with status pending4983 when a language is used on the finder4984 returns a nil url with status pending4985 when external_type is not present in allowed list4986 returns nil4987 when response_url is not nil4988 returns a url with status completed4989 when a language is used on the finder4990 returns a url with status completed4991 when response_url is not nil, but the url is4992 returns nil4993 when a language is used on the finder4994 returns nil4995 .from_cache4996 returns instance of finder object with expected attributes4997 when a language is used on the finder4998 returns instance of finder object with expected attributes4999 private5000 #id5001 returns a cache key for ReactiveCaching specific to the request trainign urls5002 when a language is used on the finder5003 returns a cache key for ReactiveCaching specific to the request trainign urls and language5004License-Scanning.gitlab-ci.yml5005 # order random5006 the created pipeline5007 when project has no license5008 includes no jobs5009 when project has Ultimate license5010 when branch pipeline5011 includes job5012 when MR pipeline5013 includes job5014 when LICENSE_MANAGEMENT_DISABLED=15015 includes no jobs5016groups/settings/_remove.html.haml5017 render5018 enables the Remove group button and does not show an alert for a group5019 disables the Remove group button and shows an alert for a group with a paid gitlab.com plan5020 disables the Remove group button and shows an alert for a group with a legacy paid gitlab.com plan5021 enables the Remove group button and does not show an alert for a subgroup5022 enables the Remove group button for group with a trial plan5023 when delayed deletes are enabled5024 enables the Remove group button and does not show an alert for a group without a paid gitlab.com plan5025 disables the Remove group button and shows an alert for a group with a paid gitlab.com plan5026 enables the Remove group button and does not show an alert for a subgroup5027Groups::FeatureDiscoveryMomentsHelper5028 #show_cross_stage_fdm?5029 check_namespace_plan?: true, group_is_persisted?: true, group_is_eligible_for_trial?: true, user_can_admin_group?: true, expected_result: true5030 is expected to eq true5031 check_namespace_plan?: false, group_is_persisted?: true, group_is_eligible_for_trial?: true, user_can_admin_group?: true, expected_result: false5032 is expected to eq false5033 check_namespace_plan?: true, group_is_persisted?: false, group_is_eligible_for_trial?: true, user_can_admin_group?: true, expected_result: false5034 is expected to eq false5035 check_namespace_plan?: true, group_is_persisted?: true, group_is_eligible_for_trial?: false, user_can_admin_group?: true, expected_result: false5036 is expected to eq false5037 check_namespace_plan?: true, group_is_persisted?: true, group_is_eligible_for_trial?: true, user_can_admin_group?: false, expected_result: false5038 is expected to eq false5039 when group is nil5040 is expected to eq false5041 #cross_stage_fdm_glm_params5042 is expected to eq {:glm_content=>"cross_stage_fdm", :glm_source=>"gitlab.com"}5043 #cross_stage_fdm_highlighted_features5044 provides a collection of data in the expected structure5045 #cross_stage_fdm_value_statements5046 provides a collection of data in the expected structure5047Ci::PipelineCreation::DropNotRunnableBuildsService5048 #execute5049 with public projects5050 behaves like jobs allowed to run5051 does not drop the jobs5052 when the CI quota is exceeded5053 behaves like jobs allowed to run5054 does not drop the jobs5055 with internal projects5056 behaves like jobs allowed to run5057 does not drop the jobs5058 behaves like quota exceeded5059 drops the job with ci_quota_exceeded reason5060 when shared runners are disabled5061 behaves like jobs allowed to run5062 does not drop the jobs5063 with project runners5064 behaves like jobs allowed to run5065 does not drop the jobs5066 with group runners5067 behaves like jobs allowed to run5068 does not drop the jobs5069 when the pipeline status is running5070 behaves like jobs allowed to run5071 does not drop the jobs5072 with private projects5073 behaves like jobs allowed to run5074 does not drop the jobs5075 behaves like quota exceeded5076 drops the job with ci_quota_exceeded reason5077 when shared runners are disabled5078 behaves like jobs allowed to run5079 does not drop the jobs5080 with project runners5081 behaves like jobs allowed to run5082 does not drop the jobs5083 with group runners5084 behaves like jobs allowed to run5085 does not drop the jobs5086 when the pipeline status is running5087 behaves like jobs allowed to run5088 does not drop the jobs5089Projects::InactiveProjectsDeletionCronWorker5090 #perform5091 does not send deletion warning email for inactive projects that are already marked for deletion5092 invokes Projects::InactiveProjectsDeletionNotificationWorker for inactive projects and logs audit event5093 when adjourned_deletion_for_projects_and_groups feature is not available5094 invokes Projects::DestroyService for projects that are inactive even after being notified5095 when adjourned_deletion_for_projects_and_groups feature is available5096 when adjourned_deletion_configured is not configured for the project5097 invokes Projects::DestroyService if adjourned_deletion_configured not configured for the project5098 when adjourned_deletion_configured is configured for the project5099 invokes Projects::MarkForDeletionService for projects that are inactive even after being notified5100AppSec::Fuzzing::Coverage::Corpuses::CreateService5101 execute5102 when the feature coverage_fuzzing is not available5103 communicates failure5104 when the feature coverage_fuzzing is enabled5105 communicates success5106 creates a corpus5107 audits the creation5108 when a param is missing5109 communicates failure5110 when a param is incorrect5111 communicates failure5112IncidentManagement::OncallSchedules::DestroyService5113 # order random5114 #execute5115 successfully returns the integration5116 when the current_user is anonymous5117 behaves like error response5118 has an informative message5119 when the current_user does not have permissions to remove on-call schedules5120 behaves like error response5121 has an informative message5122 when feature is not available5123 behaves like error response5124 has an informative message5125 when an error occurs during removal5126 behaves like error response5127 has an informative message5128Mutations::Epics::Update5129 #resolve5130 behaves like permission level for epic mutation is correctly verified5131 when the user is not a group member5132 behaves like when the user does not have access to the resource5133 raises an error5134 even if author of the epic5135 raises an error5136 even if assigned to the epic5137 raises an error5138 even if maintainer of the project5139 raises an error5140 when the user is a group member5141 with guest role5142 behaves like when the user does not have access to the resource5143 raises an error5144 even if author of the epic5145 raises an error5146 even if assigned to the epic5147 raises an error5148 even if maintainer of the project5149 raises an error5150LdapGroupSyncWorker5151 #perform5152 with the default license key5153 syncs a single group when group_id is present5154 creates a proxy for syncing a single provider5155 without a license key5156 does not sync groups5157 #sync_groups5158 syncs a group when it was found without a proxy5159 syncs with an existing proxy when one was given5160 #sync_group5161 syncs a single provider when a provider was given5162 syncs all providers when no proxy was given5163ProjectTeam5164 #add_members5165 when group membership is locked5166 does not add the given users to the team5167 #add_member5168 when group membership is locked5169 does not add the given user to the team5170 project bot user5171 adds the project bot user to the team5172Analytics::CycleAnalytics::GroupValueStream5173 associations5174 is expected to belong to group required: false5175 is expected to have many stages5176 validations5177 is expected to validate that :group cannot be empty/falsy5178 is expected to validate that :name cannot be empty/falsy5179 is expected to validate that the length of :name is at most 1005180 validates uniqueness of name5181 ordering of stages5182 stages attribute5183 sorts stages by relative position5184 #custom?5185 when value stream is not persisted5186 when the name of the value stream is default5187 is expected not to be custom5188 when the name of the value stream is not default5189 is expected to be custom5190 when value stream is persisted5191 is expected to be custom5192Mutations::MergeRequests::Accept5193 #resolve5194 can use the MERGE_TRAIN strategy5195 can use the ADD_TO_MERGE_TRAIN_WHEN_PIPELINE_SUCCEEDS strategy5196Projects::SlackApplicationInstallService5197 Slack responds with an error5198 returns error result5199 Slack responds with an access token5200 behaves like success response5201 returns success result and creates all needed records5202 when integration record already exists5203 behaves like success response5204 returns success result and creates all needed records5205 when installation record already exists5206 behaves like success response5207 returns success result and creates all needed records5208 when the team has legacy Slack installation records5209 updates related legacy records5210 behaves like success response5211 returns success result and creates all needed records5212IncidentManagement::OncallSchedules::CreateService5213 # order random5214 #execute5215 when the current_user is anonymous5216 behaves like error response5217 has an informative message5218 when the current_user does not have permissions to create on-call schedules5219 behaves like error response5220 has an informative message5221 when feature is not available5222 behaves like error response5223 has an informative message5224 when an on-call schedule already exists5225 behaves like error response5226 has an informative message5227 with valid params5228 successfully creates an on-call schedule5229Boards::EpicLists::CreateService5230 behaves like board lists create service5231 #execute5232 when board lists is empty5233 creates a new list at beginning of the list5234 when board lists has the done list5235 creates a new list at beginning of the list5236 when board lists has labels lists5237 creates a new list at end of the lists5238 when board lists has label and done lists5239 creates a new list at end of the label lists5240 when provided label does not belong to the parent5241 returns an error5242 when backlog param is sent5243 creates one and only one backlog list5244app/views/shared/labels/_create_label_help_text.html.haml5245 for project label5246 when license has scoped labels feature5247 displays scoped labels hint5248 when license does not have scoped labels feature5249 does not display scoped labels hint5250 for group label5251 when license has scoped labels feature5252 displays scoped labels hint5253 when license does not have scoped labels feature5254 does not display scoped labels hint5255ServiceDeskSetting5256 .issue_template_content5257 when file_template_project_id is present5258 for group templates5259 returns template content5260 for instance templates5261 returns template content5262Gitlab::Geo::LogCursor::Lease5263 .exclusive_lease5264 returns an exclusive lease instance5265 .renew!5266 returns an exclusive lease instance5267 logs with the correct caller class5268 .try_obtain_with_ttl5269 returns zero when there is no lease5270Cannot obtain an exclusive lease. There must be another process already in execution.5271 does not log an error or info message when could not obtain lease5272 returns > 0 if there is a lease5273 returns > 0 if there was an error5274Gitlab::Prometheus::Queries::AdditionalMetricsDeploymentQuery5275 queries using specific time5276 with custom metrics5277 without common metrics5278 return group data for custom metric5279 with common metrics5280 return group data for custom metric5281Security::Ingestion::Tasks::IngestIdentifiers5282 #execute5283 creates new records and updates the existing ones5284 sets the identifier_ids for the finding_map object5285 behaves like bulk insertable task5286 when the validation fails5287 can generate error messages correctly5288projects/security/dast_scanner_profiles/new5289 renders Vue app root5290 passes project's full path5291 passes DAST profiles library URL5292EE::API::Helpers::MembersHelpers5293 .member_sort_options5294 lists all keys available in group member view5295 .billable_member?5296 when member is billable5297 is expected to eq true5298 when member is not billable5299 is expected to eq false5300 .retrieve_members5301 includes user as member5302 with skip_users present5303 does not include user as member5304Gitlab::Geo::LogCursor::Events::HashedStorageAttachmentsEvent5305 #process5306 does not create a new project registry5307 schedules a Geo::HashedStorageAttachmentsMigrationWorker5308 behaves like logs event source info5309 logs `job_id` and `event_id5310Resolvers::Geo::GeoNodeResolver5311 #resolve5312 when the user has permission to view Geo data5313 with a name5314 when the given name matches a node5315 returns the GeoNode5316 when the given name does not match any node5317 returns nil5318 without a name5319 when the GitLab instance has a current Geo node5320 returns the GeoNode5321 when the GitLab instance does not have a current Geo node5322 returns nil5323 when the user does not have permission to view Geo data5324 returns nil5325Geo::PipelineReplicator5326 .model5327 is a pipeline5328 #log_geo_pipeline_ref_created_event5329 without Geo enabled5330 does not publish an event5331 on a Geo primary5332 creates a Geo event5333 on a Geo secondary5334 does not publish an event5335 #consume_event_pipeline_ref_created5336 ensures a pipeline ref exists5337Gitlab::Patch::GeoDatabaseTasks5338 Gitlab::Patch::GeoDatabaseTasks::ActiveRecordDatabaseTasksDumpFilename5339 #dump_filename5340 with geo database config name5341 returns the path for the structure.sql file in the Geo database dir5342 with other database config name5343 calls super5344 #cache_dump_filename5345 with geo database config name5346 returns the path for the schema_cache file in the Geo database dir5347 with other database config name5348 calls super5349 Gitlab::Patch::GeoDatabaseTasks::ActiveRecordMigrationConfiguredMigratePath5350 #configured_migrate_path5351 when super returns nil5352 returns nil5353 when super returns only one regular migration path5354 returns the configured migrate path5355 when super returns only one post migrations path5356 returns nil5357 when super does not include a post migrations path5358 returns the configured migrations path5359 when super includes a post migrations path5360 returns the regular migration path5361Gitlab::StatusPage::Storage5362 # order random5363 MAX_KEYS_PER_PAGE times MAX_PAGES establishes upload limit5364 .upload_path5365 is expected to eq "data/incident/2/50b7a196557cf72a98e86a7ab4b1ac3b/screenshot.png"5366 .uploads_path5367 is expected to eq "data/incident/2/"5368 .details_url5369 when issue is not published5370 is expected to be nil5371 with a published incident5372 without a status page setting5373 is expected to be nil5374 when status page setting is disabled5375 is expected to be nil5376 when status page setting is enabled5377 is expected to eq "https://status.gitlab.com/#/data%2Fincident%2F1.json"5378 when status page setting does not include a url5379 is expected to be nil5380 .details_path5381 is expected to eq "data/incident/123.json"5382 .list_path5383 is expected to eq "data/list.json"5384SeatCountAlertHelper5385 #remaining_seat_count5386 sets remaining seats count to the correct number5387 #show_seat_count_alert?5388 with no seat count data5389 does not show the alert5390 with seat count data5391 does show the alert5392 #total_seat_count5393 when the namespace is nil5394 returns nil5395 when the namespace is present5396 sets total seats count to the correct number5397Analytics::CycleAnalytics::Stages::DeleteService5398 behaves like permission check for Value Stream Analytics Stage services5399 when user has no access5400 is expected to be error5401 is expected to eq :forbidden5402 when license is missing5403 is expected to be error5404 is expected to eq :forbidden5405 when persisted stage is given5406 is expected to be success5407 deletes the stage5408 disallows deletion when default stage is given5409 is expected not to be success5410 is expected to eq :forbidden5411Projects::AfterRenameService5412 #execute5413 when running on a primary node5414 logs the Geo::RepositoryRenamedEvent for project backed by hashed storage5415 logs the Geo::RepositoryRenamedEvent for project backed by legacy storage5416Ci::BatchResetMinutesWorker5417 #perform5418 delegates to Ci::Minutes::BatchResetService5419 behaves like an idempotent worker5420 is labeled as idempotent5421 performs multiple times sequentially without raising an exception5422 does not recalculate purchased minutes for the namespace exceeding the monthly minutes5423 behaves like resets CI minutes and notification5424 resets CI minutes used and notification data5425 behaves like resets CI minutes and notification5426 resets CI minutes used and notification data5427Security::Ingestion::Tasks::IngestVulnerabilities::Create5428 vulnerability state5429 when finding has dismissal feedback5430 sets the state of the vulnerability to `dismissed`5431 when finding has issue feedback5432 sets the state of the vulnerability to `detected`5433 when finding has no dismissal feedback5434 sets the state of the vulnerability to `detected`5435Integrations::SlackEvents::AppHomeOpenedService5436 # order random5437 #execute5438 calls the Slack API correctly and returns a success response5439 when the slack installation is a legacy record5440 behaves like there is no bot token5441 does not call the Slack API, logs info, and returns a success response5442 when the slack installation cannot be found5443 behaves like there is no bot token5444 does not call the Slack API, logs info, and returns a success response5445 when the Slack API call raises an HTTP exception5446 tracks the exception and returns an error response5447 when the Slack API returns an error5448 tracks the exception and returns an error response5449Gitlab::Usage::Metrics::Instrumentations::CountProjectsWithAppliedScanResultPoliciesMetric5450 # order random5451 behaves like a correct instrumented metric value and query5452 behaves like a correct instrumented metric value5453 has correct value5454 behaves like a correct instrumented metric query5455 has correct generate query5456 behaves like a correct instrumented metric value and query5457 behaves like a correct instrumented metric value5458 has correct value5459 behaves like a correct instrumented metric query5460 has correct generate query5461admin/identities/index.html.haml5462 without SCIM or other identities5463 shows information text5464 with SCIM identities5465 shows exactly 5 columns5466 shows identity without provider ID5467 shows no edit or delete identity buttons5468 with SAML identities5469 shows exactly 5 columns5470 shows identity with provider ID or group5471 shows edit and delete identity buttons5472Gitlab::Analytics::CycleAnalytics::Summary::TimeToRestoreService5473 when the DORA service returns non-successful status5474 returns nil5475 when the DORA service returns 0 as value5476 returns "none" value5477 when the DORA service returns the value5478 returns the value in days5479 #links5480 displays documentation link and group dashboard link5481 for project stage5482 displays documentation link and project dashboard link5483Users::Abuse::NamespaceBans::CreateService5484 when passing a root namespace5485 is expected to match {:status=>:success}5486 when passing a nested namespace5487 is expected to match {:status=>:error, :message=>"Namespace must be a root namespace"}5488 when passing an already banned user5489 is expected to match {:status=>:error, :message=>"User already banned from namespace"}5490Gitlab::Ci::Config::Entry::Vault::Secret5491 validation5492 when entry config value is correct5493 when config is a hash5494 #value5495 returns Vault secret configuration5496 #valid?5497 is valid5498 when config is a string with engine path5499 #value5500 returns Vault secret configuration5501 #valid?5502 is valid5503 when config is a string without engine path5504 #value5505 returns Vault secret configuration5506 #valid?5507 is valid5508 when entry value is not correct5509 #errors5510 when there is an unknown key present5511 reports error5512 when path is not present5513 reports error5514 when field is not present5515 reports error5516 when engine is not a hash5517 reports error5518AuditEvents::UserImpersonationGroupAuditEventService5519 when user belongs to a single group5520 creates audit events for both the instance and group level5521 when user belongs to multiple groups5522 creates audit events for both the instance and group level5523 when user does not belong to any group5524 creates audit events at the instance level5525Projects::GroupLinks::UpdateService5526 audit events5527 sends the audit streaming event5528 when only expires_at is updated5529 sends the audit streaming event5530 when expires_at is already same5531 does not send audit streaming event5532 when only access_level is updated5533 sends the audit streaming event5534 when access_level is already same5535 does not send audit streaming event5536LearnGitlabHelper5537 #learn_gitlab_data5538 when in the new action URLs experiment5539 for trial- and subscription-related actions5540 when namespace plans are not enabled5541DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.5542Falling back to an asset that may be in the public folder.5543This behavior is deprecated and will be removed.5544To bypass the asset pipeline and preserve this behavior,5545use the `skip_pipeline: true` option.5546 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5547DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.5548Falling back to an asset that may be in the public folder.5549This behavior is deprecated and will be removed.5550To bypass the asset pipeline and preserve this behavior,5551use the `skip_pipeline: true` option.5552 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5553DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.5554Falling back to an asset that may be in the public folder.5555This behavior is deprecated and will be removed.5556To bypass the asset pipeline and preserve this behavior,5557use the `skip_pipeline: true` option.5558 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5559DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.5560Falling back to an asset that may be in the public folder.5561This behavior is deprecated and will be removed.5562To bypass the asset pipeline and preserve this behavior,5563use the `skip_pipeline: true` option.5564 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5565DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.5566Falling back to an asset that may be in the public folder.5567This behavior is deprecated and will be removed.5568To bypass the asset pipeline and preserve this behavior,5569use the `skip_pipeline: true` option.5570 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5571DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.5572Falling back to an asset that may be in the public folder.5573This behavior is deprecated and will be removed.5574To bypass the asset pipeline and preserve this behavior,5575use the `skip_pipeline: true` option.5576 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5577DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.5578Falling back to an asset that may be in the public folder.5579This behavior is deprecated and will be removed.5580To bypass the asset pipeline and preserve this behavior,5581use the `skip_pipeline: true` option.5582 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5583DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.5584Falling back to an asset that may be in the public folder.5585This behavior is deprecated and will be removed.5586To bypass the asset pipeline and preserve this behavior,5587use the `skip_pipeline: true` option.5588 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5589DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.5590Falling back to an asset that may be in the public folder.5591This behavior is deprecated and will be removed.5592To bypass the asset pipeline and preserve this behavior,5593use the `skip_pipeline: true` option.5594 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5595 provides the default URLs5596 when namespace plans are enabled5597 when namespace has free or no subscription5598DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.5599Falling back to an asset that may be in the public folder.5600This behavior is deprecated and will be removed.5601To bypass the asset pipeline and preserve this behavior,5602use the `skip_pipeline: true` option.5603 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5604DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.5605Falling back to an asset that may be in the public folder.5606This behavior is deprecated and will be removed.5607To bypass the asset pipeline and preserve this behavior,5608use the `skip_pipeline: true` option.5609 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5610DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.5611Falling back to an asset that may be in the public folder.5612This behavior is deprecated and will be removed.5613To bypass the asset pipeline and preserve this behavior,5614use the `skip_pipeline: true` option.5615 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5616DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.5617Falling back to an asset that may be in the public folder.5618This behavior is deprecated and will be removed.5619To bypass the asset pipeline and preserve this behavior,5620use the `skip_pipeline: true` option.5621 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5622DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.5623Falling back to an asset that may be in the public folder.5624This behavior is deprecated and will be removed.5625To bypass the asset pipeline and preserve this behavior,5626use the `skip_pipeline: true` option.5627 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5628DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.5629Falling back to an asset that may be in the public folder.5630This behavior is deprecated and will be removed.5631To bypass the asset pipeline and preserve this behavior,5632use the `skip_pipeline: true` option.5633 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5634DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.5635Falling back to an asset that may be in the public folder.5636This behavior is deprecated and will be removed.5637To bypass the asset pipeline and preserve this behavior,5638use the `skip_pipeline: true` option.5639 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5640DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.5641Falling back to an asset that may be in the public folder.5642This behavior is deprecated and will be removed.5643To bypass the asset pipeline and preserve this behavior,5644use the `skip_pipeline: true` option.5645 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5646DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.5647Falling back to an asset that may be in the public folder.5648This behavior is deprecated and will be removed.5649To bypass the asset pipeline and preserve this behavior,5650use the `skip_pipeline: true` option.5651 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5652 provides URLs to start a trial to namespace admins5653DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.5654Falling back to an asset that may be in the public folder.5655This behavior is deprecated and will be removed.5656To bypass the asset pipeline and preserve this behavior,5657use the `skip_pipeline: true` option.5658 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5659DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.5660Falling back to an asset that may be in the public folder.5661This behavior is deprecated and will be removed.5662To bypass the asset pipeline and preserve this behavior,5663use the `skip_pipeline: true` option.5664 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5665DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.5666Falling back to an asset that may be in the public folder.5667This behavior is deprecated and will be removed.5668To bypass the asset pipeline and preserve this behavior,5669use the `skip_pipeline: true` option.5670 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5671DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.5672Falling back to an asset that may be in the public folder.5673This behavior is deprecated and will be removed.5674To bypass the asset pipeline and preserve this behavior,5675use the `skip_pipeline: true` option.5676 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5677DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.5678Falling back to an asset that may be in the public folder.5679This behavior is deprecated and will be removed.5680To bypass the asset pipeline and preserve this behavior,5681use the `skip_pipeline: true` option.5682 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5683DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.5684Falling back to an asset that may be in the public folder.5685This behavior is deprecated and will be removed.5686To bypass the asset pipeline and preserve this behavior,5687use the `skip_pipeline: true` option.5688 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5689DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.5690Falling back to an asset that may be in the public folder.5691This behavior is deprecated and will be removed.5692To bypass the asset pipeline and preserve this behavior,5693use the `skip_pipeline: true` option.5694 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5695DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.5696Falling back to an asset that may be in the public folder.5697This behavior is deprecated and will be removed.5698To bypass the asset pipeline and preserve this behavior,5699use the `skip_pipeline: true` option.5700 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5701DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.5702Falling back to an asset that may be in the public folder.5703This behavior is deprecated and will be removed.5704To bypass the asset pipeline and preserve this behavior,5705use the `skip_pipeline: true` option.5706 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5707 provides URLs to Gitlab docs to namespace non-admins5708 when namespace has paid subscription5709DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.5710Falling back to an asset that may be in the public folder.5711This behavior is deprecated and will be removed.5712To bypass the asset pipeline and preserve this behavior,5713use the `skip_pipeline: true` option.5714 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5715DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.5716Falling back to an asset that may be in the public folder.5717This behavior is deprecated and will be removed.5718To bypass the asset pipeline and preserve this behavior,5719use the `skip_pipeline: true` option.5720 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5721DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.5722Falling back to an asset that may be in the public folder.5723This behavior is deprecated and will be removed.5724To bypass the asset pipeline and preserve this behavior,5725use the `skip_pipeline: true` option.5726 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5727DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.5728Falling back to an asset that may be in the public folder.5729This behavior is deprecated and will be removed.5730To bypass the asset pipeline and preserve this behavior,5731use the `skip_pipeline: true` option.5732 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5733DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.5734Falling back to an asset that may be in the public folder.5735This behavior is deprecated and will be removed.5736To bypass the asset pipeline and preserve this behavior,5737use the `skip_pipeline: true` option.5738 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5739DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.5740Falling back to an asset that may be in the public folder.5741This behavior is deprecated and will be removed.5742To bypass the asset pipeline and preserve this behavior,5743use the `skip_pipeline: true` option.5744 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5745DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.5746Falling back to an asset that may be in the public folder.5747This behavior is deprecated and will be removed.5748To bypass the asset pipeline and preserve this behavior,5749use the `skip_pipeline: true` option.5750 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5751DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.5752Falling back to an asset that may be in the public folder.5753This behavior is deprecated and will be removed.5754To bypass the asset pipeline and preserve this behavior,5755use the `skip_pipeline: true` option.5756 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5757DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.5758Falling back to an asset that may be in the public folder.5759This behavior is deprecated and will be removed.5760To bypass the asset pipeline and preserve this behavior,5761use the `skip_pipeline: true` option.5762 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5763 provides URLs to Gitlab docs to namespace admins5764DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.5765Falling back to an asset that may be in the public folder.5766This behavior is deprecated and will be removed.5767To bypass the asset pipeline and preserve this behavior,5768use the `skip_pipeline: true` option.5769 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5770DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.5771Falling back to an asset that may be in the public folder.5772This behavior is deprecated and will be removed.5773To bypass the asset pipeline and preserve this behavior,5774use the `skip_pipeline: true` option.5775 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5776DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.5777Falling back to an asset that may be in the public folder.5778This behavior is deprecated and will be removed.5779To bypass the asset pipeline and preserve this behavior,5780use the `skip_pipeline: true` option.5781 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5782DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.5783Falling back to an asset that may be in the public folder.5784This behavior is deprecated and will be removed.5785To bypass the asset pipeline and preserve this behavior,5786use the `skip_pipeline: true` option.5787 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5788DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.5789Falling back to an asset that may be in the public folder.5790This behavior is deprecated and will be removed.5791To bypass the asset pipeline and preserve this behavior,5792use the `skip_pipeline: true` option.5793 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5794DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.5795Falling back to an asset that may be in the public folder.5796This behavior is deprecated and will be removed.5797To bypass the asset pipeline and preserve this behavior,5798use the `skip_pipeline: true` option.5799 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5800DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.5801Falling back to an asset that may be in the public folder.5802This behavior is deprecated and will be removed.5803To bypass the asset pipeline and preserve this behavior,5804use the `skip_pipeline: true` option.5805 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5806DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.5807Falling back to an asset that may be in the public folder.5808This behavior is deprecated and will be removed.5809To bypass the asset pipeline and preserve this behavior,5810use the `skip_pipeline: true` option.5811 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5812DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.5813Falling back to an asset that may be in the public folder.5814This behavior is deprecated and will be removed.5815To bypass the asset pipeline and preserve this behavior,5816use the `skip_pipeline: true` option.5817 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:39)5818 provides URLs to Gitlab docs to namespace non-admins5819Gitlab::Auth::OAuth::User5820 login through kerberos with linkable LDAP user5821 links the LDAP person to the GitLab user5822 #save5823 #activate_user_if_user_cap_not_reached5824 when a user can be activated based on user cap5825 when the user cap has not been reached yet5826 activates the user5827 when the user cap has been reached5828 leaves the user as blocked5829 when a user cannot be activated based on user cap5830 leaves the user as blocked5831Gitlab::Ci::Status::Build::Manual5832 #illustration5833 is expected to include :image, :size, :title, and :content5834 with protected environments5835 when user does not have access5836 is expected to match /This deployment job does not run automatically and must be started manually, but you do not have access to this job's protected environment/5837 when user has access5838 is expected to match /This job requires manual intervention to start/5839 when build prevents rollback deployment5840 is expected to match /This deployment job does not run automatically and must be started manually, but it's older than the latest deployment, and therefore can't run./5841Audit::ProjectFeatureChangesAuditor5842 # order random5843 #execute5844 creates an event when any project feature level changes5845UserRecentEventsFinder5846 #execute5847 epic related activities5848 when profile is public5849 is expected to contain exactly #<Event project_id: nil, author_id: 2509, target_id: 53, created_at: "2022-12-08 11:06:33.711840772 +...11840772 +0000", action: "commented", target_type: "Note", group_id: nil, fingerprint: nil, id: 322> and #<Event project_id: nil, author_id: 2509, target_id: 42, created_at: "2022-12-08 11:06:33.716960632 +...3.716960632 +0000", action: "closed", target_type: "Epic", group_id: nil, fingerprint: nil, id: 323>5850 when profile is private5851 is expected to be empty5852 wehen fetching events from multiple users5853 when filtering for epic events5854 is expected to eq [#<Event project_id: nil, author_id: 2510, target_id: 42, created_at: "2022-12-08 11:06:33.815168348 ....716960632 +0000", action: "closed", target_type: "Epic", group_id: nil, fingerprint: nil, id: 323>]5855GitlabSubscriptions::Reconciliations::CheckSeatUsageAlertsEligibilityService5856 #execute5857 eligible_for_seat_usage_alerts: true, expected_response: true5858 returns the correct value5859 caches the query response5860 eligible_for_seat_usage_alerts: false, expected_response: false5861 returns the correct value5862 caches the query response5863 with an unsuccessful CustomersDot query5864 assumes the subscription is ineligible5865 when called with a group5866 uses the namespace id5867 when the namespace has no plan5868 is expected to equal false5869Boards::EpicListUserPreference5870 relationships5871 is expected to belong to epic_list required: false5872 is expected to belong to user required: false5873 is expected to validate that :epic_list cannot be empty/falsy5874 is expected to validate that :user cannot be empty/falsy5875 is expected to validate that :user_id is case-sensitively unique within the scope of :epic_list_id, producing a custom validation error on failure5876Gitlab::Verify::Uploads5877 includes uploads in object storage5878Arkose::Logger5879 # order random5880 #log_unsolved_challenge5881 behaves like logs the event with the correct payload5882 logs the event with the correct info5883 when user is nil5884 logs the event without username info5885 #log_successful_token_verification5886 behaves like logs the event with the correct payload5887 logs the event with the correct info5888 when user is nil5889 logs the event without username info5890 #log_failed_token_verification5891 logs the event with the correct info5892 when user is nil5893 logs the event with the correct info5894WorkItems::Progress5895 # order random5896 validations5897 ensures progress is an integer greater than to equal to 0 and less than or equal to 1005898 associations5899 is expected to belong to work_item required: false5900Resolvers::PipelineSecurityReportFindingsResolver5901 #resolve5902 when given severities5903 returns vulnerability findings of the given severities5904 when given scanner5905 returns vulnerability findings of the given scanner5906 when given report types5907 returns vulnerabilities of the given report types5908 when given states5909 calls the finder class with given parameters5910 when the finder class raises parsing error5911 does not propagate the error to the client5912EventsHelper5913 #event_note_target_url5914 for epic note events5915 returns an epic url5916 for vulnerability events5917 returns an appropriate URL5918Gitlab::Analytics::CycleAnalytics::DataForDurationChart5919 #average_by_day5920DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 7.0. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/lib/gitlab/analytics/cycle_analytics/data_for_duration_chart_spec.rb:30)5921 returns average duration by day5922AuditEvents::UnregisterRunnerAuditEventService5923 #track_event5924 for instance runner5925 with authentication token author5926 behaves like expected audit event5927 returns audit event attributes5928 with User author5929 behaves like expected audit event5930 returns audit event attributes5931 for group runner5932 with authentication token author5933 behaves like expected audit event5934 returns audit event attributes5935 with User author5936 behaves like expected audit event5937 returns audit event attributes5938 for project runner5939 with authentication token author5940 behaves like expected audit event5941 returns audit event attributes5942 with User author5943 behaves like expected audit event5944 returns audit event attributes5945Resolvers::Admin::CloudLicenses::CurrentLicenseResolver5946 is expected to have nullable GraphQL type CurrentLicense5947 #resolve5948 returns the current license5949 when current user is unauthorized5950 generates an error5951 when there is no current license5952 returns nil5953EE::API::Entities::Analytics::CodeReview::MergeRequest5954 exposes mr attributes5955Gitlab::Ci::Parsers::Security::CoverageFuzzing5956 #parse!5957 parses all identifiers and findings5958 generates expected location5959Gitlab::Patch::DatabaseConfig5960 #database_configuration5961 when config/database.yml does not contain Geo settings5962 returns a hash containing only main:5963 when config/database.yml contains Geo settings5964 returns a hash containing both main: and geo:5965 when SKIP_POST_DEPLOYMENT_MIGRATIONS environment variable set5966 does not include Geo post deployment migrations path5967GroupSaml::SignUpService5968 #execute5969 creates new user5970 links new user to oauth identity5971 when group has enforced_group_managed_accounts enabled5972 creates new user managed by given group5973HistoricalData5974 .during5975 returns the historical data during the specified period5976 .track!5977 creates a new historical data record5978 .max_historical_user_count5979 with data outside of the given period5980 with stats before the given period5981 ignores those records5982 with stats after the given period5983 ignores those records5984 with data inside of the given period5985 returns max value for active_user_count5986KerberosHelper5987 #spnego_credentials!5988 with successful remote call5989 with Kerberos service_principal_name present5990 behaves like a method that decodes a spnego token5991 decodes the given spnego token5992 when gss_result is not true5993 behaves like a method that decodes a spnego token5994 decodes the given spnego token5995 with Kerberos service_principal_name missing5996 behaves like a method that decodes a spnego token5997 decodes the given spnego token5998 when the remote call fails5999 fails to authenticate and logs an error6000ProjectMemberPresenter6001 #group_sso?6002 returns `false`6003 #group_managed_account?6004 returns `false`6005 #can_update?6006 when user cannot update project_member6007 when user can override_project_member6008 is expected to eq true6009 when user cannot override_project_member6010 is expected to eq false6011 #can_unban?6012 is expected to eq false6013Gitlab::LicenseScanning::Report6014 # order random6015 #license_scanning_report6016 when pipeline is blank6017 returns an empty report6018 with license scanning artifact6019 returns a report with licenses6020 #expose_license_scanning_data?6021 when pipeline is blank6022 is expected to be falsey6023 when pipeline exists6024 is expected to be truthy6025Labels::CreateService6026 #execute6027 for scoped labels6028 for a project6029 behaves like records an onboarding progress action6030 is expected to receive execute({:action=>:scoped_label_created}) 1 time6031 for a group6032 behaves like records an onboarding progress action6033 is expected to receive execute({:action=>:scoped_label_created}) 1 time6034 without a group or project6035 behaves like does not record an onboarding progress action6036 is expected not to receive new(*(any args)) 0 times6037 without scoped label6038 behaves like does not record an onboarding progress action6039 is expected not to receive new(*(any args)) 0 times6040NamespaceCiCdSetting6041 .allowing_stale_runner_pruning6042 when there are no runner settings6043 is expected to be empty6044 when there are CI/CD settings6045 allowing stale runner pruning6046 is expected to contain exactly #<NamespaceCiCdSetting namespace_id: 4855, allow_stale_runner_pruning: true>6047 not allowing stale runner pruning6048 is expected to be empty6049ResourceEvents::ChangeLabelsService6050 .execute6051 when adding a label6052 tracks the label change6053 when removing a label6054 tracks the label change6055 when both adding and removing labels6056 tracks the label change6057BulkImports::Common::Pipelines::BoardsPipeline6058 #run6059 imports group boards into destination group and removes tmpdir6060Gitlab::Kerberos::Authentication6061 .kerberos_default_realm6062 returns the default realm exposed by the Kerberos library6063Elastic::Latest::UserConfig6064 # order random6065 .index_name6066 includes6067 .settings6068 behaves like config settings return correct values6069 returns config6070 sets correct shard/replica settings6071 .mappings6072 returns config6073Dora::BaseMetric6074 .all_metric_classes6075 returns list of 4 metric classes6076 .for6077 returns metric class by its metric name6078 raises error if there is no defined metric class6079 #data_queries6080 raises a requirement to overload the method6081Gitlab::Sitemaps::SitemapFile6082 #render6083 returns if no elements has been provided6084 generates a valid sitemap file6085 #save6086 returns if no elements has been provided6087 stores the content in the public root folder6088ExternalStatusChecks::DispatchService6089 #execute6090 service responds with success6091 is successful6092 passes back the http status code6093 service responds with error6094 is unsuccessful6095 passes back the http status code6096Resolvers::Admin::CloudLicenses::SubscriptionFutureEntriesResolver6097 #resolve6098 when current user is unauthorized6099 raises error6100 when no subscriptions exist6101 returns an empty array6102 when future subscriptions exist6103 returns the subscription future entries6104 cloud_license_enabled is false6105 returns type as legacy_license6106 cloud_license_enabled is true and offline_cloud_licensing is true6107 returns type as offline_cloud6108Labels::PromoteService6109 #execute6110 updates board scopes to the new promoted label6111EE::API::Entities::VulnerabilityExport6112 contains vulnerability export properties6113Geo::MetricsUpdateWorker6114 #perform6115 executes MetricsUpdateService6116Gitlab::Ci::Reports::Metrics::Report6117 #add_metric6118 stores given metric6119 correctly stores metric params6120Geo::ResetChecksumEvent6121 relationships6122 is expected to belong to project required: false6123 validations6124 is expected to validate that :project cannot be empty/falsy6125ElasticClusterReindexingCronWorker6126 #perform6127 calls execute method6128 removes old indices if no task is found6129Applications::CreateService6130 #audit_event_service6131 instance application6132 creates AuditEvent with correct entity type6133 group application6134 creates AuditEvent with correct entity type6135 user application6136 creates AuditEvent with correct entity type6137Types::IncidentManagement::EscalationPolicyType6138 # order random6139 is expected to require graphql authorizations :read_incident_management_escalation_policy6140 exposes the expected fields6141 is expected to eq "EscalationPolicyType"6142CreateGithubWebhookWorker6143 #perform6144 creates the webhook6145Types::SecurityOrchestration::SecurityPolicySourceType6146 returns all possible types6147 #resolve_type6148 when source is provided for namespace6149 is expected to eq Types::SecurityOrchestration::GroupSecurityPolicySourceType6150 when source is provided for project6151 is expected to eq Types::SecurityOrchestration::ProjectSecurityPolicySourceType6152Types::Vulnerabilities::ContainerImageType6153 is expected to have graphql fields :name6154Types::Geo::UploadRegistryType6155 has the expected fields (other than those included in RegistryType)6156 behaves like a Geo registry type6157 is expected to require graphql authorizations :read_geo_registry6158 has the expected fields6159Integrations::FieldEntity6160 #as_json6161 with GitHub integration6162 with field with type checkbox6163 exposes correct attributes and casts value to Boolean6164Banzai::Filter::SanitizationFilter6165 custom allowlist6166 sanitizes `class` attribute from a6167 allows `with-attachment-icon` class in `a` elements6168Geo::SyncTimeoutCronWorker6169 uses a cronjob queue6170 #perform6171 calls fail_sync_timeouts6172Gitlab::Graphql::Aggregations::Issuables::LazyLinksAggregate6173 .link_class6174 requires implementation on subclasses6175Gitlab::WebIde::Config::Entry::Schema::Uri6176 validations6177 when uri config value is correct6178 #value6179 returns the url defined6180 #valid?6181 is valid6182 when value has a wrong type6183 reports errors about wrong type6184 .default6185 returns empty string6186Types::NetworkPolicyType6187 is expected to eq "NetworkPolicy"6188 has the expected fields6189EpicsHelper6190 #epic_new_app_data6191 returns the correct data for a new epic6192Gitlab::Tracking6193 .definition6194 fetch EE definitions when prefixed with ee_6195EE::Types::Notes::NoteableInterface6196 .resolve_type6197 knows the correct type for objects6198Gitlab::ImportSources6199 .import_table6200 includes specific EE imports types when the license supports them6201Types::BranchRules::ExternalStatusCheckType6202 # order random6203 is expected to have graphql fields :id, :name, and :external_url6204 is expected to require graphql authorizations :read_external_status_check6205Gitlab::Usage::Metrics::Instrumentations::HistoricalMaxUsersMetric6206 behaves like a correct instrumented metric value6207 has correct value6208Geo::CacheInvalidationEvent6209 validations6210 is expected to validate that :key cannot be empty/falsy6211Knapsack report was generated. Preview:6212{6213 "ee/spec/services/geo/registry_consistency_service_spec.rb": 700.0811958300001,6214 "ee/spec/models/geo/package_file_registry_spec.rb": 38.245760585001335,6215 "ee/spec/models/ee/iteration_spec.rb": 34.37872227099979,6216 "ee/spec/helpers/billing_plans_helper_spec.rb": 19.06114601900117,6217 "ee/spec/elastic/migrate/20220613120500_migrate_commits_to_separate_index_spec.rb": 38.7311430259997,6218 "ee/spec/lib/ee/gitlab/ci/templates/templates_spec.rb": 8.779538255999796,6219 "ee/spec/services/audit_event_service_spec.rb": 10.23058738600048,6220 "ee/spec/models/requirements_management/requirement_spec.rb": 20.532855000999916,6221 "ee/spec/lib/gitlab/code_owners/loader_spec.rb": 22.072233628001413,6222 "ee/spec/lib/analytics/devops_adoption/snapshot_calculator_spec.rb": 18.96539231299903,6223 "ee/spec/services/geo/framework_repository_sync_service_spec.rb": 11.245483236001746,6224 "ee/spec/models/namespaces/free_user_cap/enforcement_spec.rb": 7.073768324000412,6225 "ee/spec/policies/requirements_management/requirement_policy_spec.rb": 15.592012621000322,6226 "ee/spec/services/merge_requests/reset_approvals_service_spec.rb": 14.910528417000023,6227 "ee/spec/models/approval_merge_request_rule_spec.rb": 7.6245394319994375,6228 "ee/spec/helpers/projects_helper_spec.rb": 11.619719890999477,6229 "ee/spec/services/geo/wiki_sync_service_spec.rb": 7.275765266000235,6230 "ee/spec/models/snippet_repository_spec.rb": 19.17554134599959,6231 "ee/spec/services/ci/audit_variable_change_service_spec.rb": 11.316026912998495,6232 "ee/spec/workers/elastic_commit_indexer_worker_spec.rb": 9.598404102000131,6233 "ee/spec/services/arkose/token_verification_service_spec.rb": 5.744331848000002,6234 "ee/spec/presenters/merge_request_approver_presenter_spec.rb": 12.92786304800029,6235 "ee/spec/services/app_sec/dast/scanner_profiles/create_service_spec.rb": 12.626454379998904,6236 "ee/spec/helpers/boards_helper_spec.rb": 3.80936717700024,6237 "ee/spec/services/protected_environments/create_service_spec.rb": 9.795833543999834,6238 "ee/spec/services/security/ingestion/tasks/ingest_remediations_spec.rb": 9.125033722000808,6239 "ee/spec/services/ee/members/update_service_spec.rb": 9.032806024999445,6240 "ee/spec/lib/ee/gitlab/auth/ldap/sync/groups_spec.rb": 5.279826136998963,6241 "ee/spec/workers/post_receive_spec.rb": 9.320727504000388,6242 "ee/spec/finders/requirements_management/requirements_finder_spec.rb": 5.719798289999744,6243 "ee/spec/finders/compliance_management/merge_requests/compliance_violations_finder_spec.rb": 6.4335645099999965,6244 "ee/spec/lib/bulk_imports/groups/pipelines/epics_pipeline_spec.rb": 7.552643815999545,6245 "ee/spec/finders/security/scan_execution_policies_finder_spec.rb": 7.558009574000607,6246 "ee/spec/services/incident_management/issuable_resource_links/zoom_link_service_spec.rb": 4.851981051000621,6247 "ee/spec/services/boards/epics/position_create_service_spec.rb": 4.234143443998619,6248 "ee/spec/elastic/migrate/20221026082700_backfill_users_spec.rb": 6.348973567999565,6249 "ee/spec/finders/audit_event_finder_spec.rb": 2.639976270000261,6250 "ee/spec/services/incident_management/escalation_policies/update_service_spec.rb": 2.580169662998742,6251 "ee/spec/services/ee/vulnerability_feedback_module/update_service_spec.rb": 5.364225627999986,6252 "ee/spec/serializers/ee/issue_sidebar_basic_entity_spec.rb": 4.084822401000565,6253 "ee/spec/lib/analytics/merge_request_metrics_refresh_spec.rb": 4.066055441999197,6254 "ee/spec/lib/gitlab/geo/oauth/logout_token_spec.rb": 4.688734565999766,6255 "ee/spec/models/incident_management/escalation_rule_spec.rb": 2.426063979000901,6256 "ee/spec/lib/banzai/reference_parser/iteration_parser_spec.rb": 3.2951234440006374,6257 "ee/spec/models/gitlab_subscriptions/features_spec.rb": 1.5490081959997042,6258 "ee/spec/services/ee/resource_events/change_iteration_service_spec.rb": 3.115146961001301,6259 "ee/spec/services/app_sec/dast/profiles/create_associations_service_spec.rb": 3.091705971999545,6260 "ee/spec/graphql/resolvers/geo/snippet_repository_registries_resolver_spec.rb": 5.196053415000279,6261 "ee/spec/lib/gitlab/graphql/aggregations/epics/lazy_epic_aggregate_spec.rb": 1.1984559299999091,6262 "ee/spec/models/dast/site_profile_secret_variable_spec.rb": 2.1694375300012325,6263 "ee/spec/finders/clusters/environments_finder_spec.rb": 4.503295035001429,6264 "ee/spec/models/release_highlight_spec.rb": 2.6122216029998526,6265 "ee/spec/workers/incident_management/oncall_rotations/persist_shifts_job_spec.rb": 4.259255673998268,6266 "ee/spec/graphql/mutations/security_policy/unassign_security_policy_project_spec.rb": 3.522264693998295,6267 "ee/spec/routing/webhook_routes_spec.rb": 2.487673547000668,6268 "ee/spec/workers/epics/update_cached_metadata_worker_spec.rb": 1.9569321290000516,6269 "ee/spec/finders/security/training_providers/base_url_finder_spec.rb": 1.46462511000027,6270 "ee/spec/lib/gitlab/ci/templates/license_scanning_latest_gitlab_ci_yaml_spec.rb": 2.5703128339991963,6271 "ee/spec/views/groups/settings/_remove.html.haml_spec.rb": 2.5143547560001025,6272 "ee/spec/helpers/groups/feature_discovery_moments_helper_spec.rb": 1.3336733140004071,6273 "ee/spec/services/ci/pipeline_creation/drop_not_runnable_builds_service_spec.rb": 3.3601939019990823,6274 "ee/spec/workers/ee/projects/inactive_projects_deletion_cron_worker_spec.rb": 2.4096285099985835,6275 "ee/spec/services/app_sec/fuzzing/coverage/corpuses/create_service_spec.rb": 1.4546998200003145,6276 "ee/spec/services/incident_management/oncall_schedules/destroy_service_spec.rb": 1.724130337999668,6277 "ee/spec/graphql/mutations/epics/update_spec.rb": 3.2845394749983825,6278 "ee/spec/workers/ldap_group_sync_worker_spec.rb": 1.3408444950000558,6279 "ee/spec/models/project_team_spec.rb": 2.184248879999359,6280 "ee/spec/models/analytics/cycle_analytics/group_value_stream_spec.rb": 1.1820179620008275,6281 "ee/spec/graphql/mutations/merge_requests/accept_spec.rb": 3.2035541469995223,6282 "ee/spec/services/projects/slack_application_install_service_spec.rb": 1.784816855999452,6283 "ee/spec/services/incident_management/oncall_schedules/create_service_spec.rb": 1.3598586440002691,6284 "ee/spec/services/boards/epic_lists/create_service_spec.rb": 1.558191234998958,6285 "ee/spec/views/shared/labels/_create_label_help_text.html.haml_spec.rb": 1.4995689079987642,6286 "ee/spec/models/ee/service_desk_setting_spec.rb": 1.7377853880007024,6287 "ee/spec/lib/gitlab/geo/log_cursor/lease_spec.rb": 0.7565405180012021,6288 "ee/spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb": 3.267497844999525,6289 "ee/spec/services/security/ingestion/tasks/ingest_identifiers_spec.rb": 2.684206248999544,6290 "ee/spec/views/projects/security/dast_scanner_profiles/new.html.haml_spec.rb": 2.031142746000114,6291 "ee/spec/lib/ee/api/helpers/members_helpers_spec.rb": 1.9155894810010068,6292 "ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_attachments_event_spec.rb": 2.5992699720009114,6293 "ee/spec/graphql/resolvers/geo/geo_node_resolver_spec.rb": 0.7916054870001972,6294 "ee/spec/replicators/geo/pipeline_replicator_spec.rb": 1.2589460170001985,6295 "ee/spec/lib/gitlab/patch/geo_database_tasks_spec.rb": 0.5430363979994581,6296 "ee/spec/lib/gitlab/status_page/storage_spec.rb": 1.4939962680000463,6297 "ee/spec/helpers/seat_count_alert_helper_spec.rb": 1.0883129949997965,6298 "ee/spec/services/analytics/cycle_analytics/stages/delete_service_spec.rb": 1.0932508349997079,6299 "ee/spec/services/projects/after_rename_service_spec.rb": 2.5454444539991528,6300 "ee/spec/workers/ci/batch_reset_minutes_worker_spec.rb": 1.9770795879994694,6301 "ee/spec/services/security/ingestion/tasks/ingest_vulnerabilities/create_spec.rb": 2.5871701030009717,6302 "ee/spec/services/integrations/slack_events/app_home_opened_service_spec.rb": 1.1360371629998554,6303 "ee/spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_applied_scan_result_policies_metric_spec.rb": 1.2977115660014533,6304 "ee/spec/views/admin/identities/index.html.haml_spec.rb": 1.0202868880005553,6305 "ee/spec/lib/gitlab/analytics/cycle_analytics/summary/time_to_restore_service_spec.rb": 0.5400077180001972,6306 "ee/spec/services/users/abuse/namespace_bans/create_service_spec.rb": 0.7084013009989576,6307 "ee/spec/lib/gitlab/ci/config/entry/vault/secret_spec.rb": 0.6190192640005989,6308 "ee/spec/services/audit_events/user_impersonation_group_audit_event_service_spec.rb": 1.4535072600010608,6309 "ee/spec/services/projects/group_links/update_service_spec.rb": 1.6881349599989335,6310 "ee/spec/helpers/ee/learn_gitlab_helper_spec.rb": 1.060130977000881,6311 "ee/spec/lib/gitlab/auth/o_auth/user_spec.rb": 1.6573685120001755,6312 "ee/spec/lib/ee/gitlab/ci/status/build/manual_spec.rb": 1.6910297799986438,6313 "ee/spec/lib/audit/project_feature_changes_auditor_spec.rb": 1.3962060820012994,6314 "ee/spec/finders/ee/user_recent_events_finder_spec.rb": 1.3337264149995463,6315 "ee/spec/services/gitlab_subscriptions/reconciliations/check_seat_usage_alerts_eligibility_service_spec.rb": 0.678953762000674,6316 "ee/spec/models/boards/epic_list_user_preference_spec.rb": 0.9002013229983277,6317 "ee/spec/lib/ee/gitlab/verify/uploads_spec.rb": 1.0402252469993982,6318 "ee/spec/lib/arkose/logger_spec.rb": 0.6271404550006991,6319 "ee/spec/models/work_items/progress_spec.rb": 0.43680408199907106,6320 "ee/spec/graphql/resolvers/pipeline_security_report_findings_resolver_spec.rb": 1.3062605169998278,6321 "ee/spec/helpers/ee/events_helper_spec.rb": 1.7567031380003755,6322 "ee/spec/lib/gitlab/analytics/cycle_analytics/data_for_duration_chart_spec.rb": 1.1847005109993916,6323 "ee/spec/services/audit_events/unregister_runner_audit_event_service_spec.rb": 1.076102646000436,6324 "ee/spec/graphql/resolvers/admin/cloud_licenses/current_license_resolver_spec.rb": 0.6785804720002488,6325 "ee/spec/lib/ee/api/entities/analytics/code_review/merge_request_spec.rb": 1.4201911210002436,6326 "ee/spec/lib/gitlab/ci/parsers/security/coverage_fuzzing_spec.rb": 1.3083918560005259,6327 "ee/spec/lib/gitlab/patch/database_config_spec.rb": 0.6963923109997268,6328 "ee/spec/services/group_saml/sign_up_service_spec.rb": 1.0598605260001932,6329 "ee/spec/models/historical_data_spec.rb": 0.883589443999881,6330 "ee/spec/helpers/kerberos_helper_spec.rb": 0.548249047000354,6331 "ee/spec/presenters/project_member_presenter_spec.rb": 0.49358731000029366,6332 "ee/spec/lib/gitlab/license_scanning/report_spec.rb": 1.7762689060000412,6333 "ee/spec/services/ee/labels/create_service_spec.rb": 1.3228487859996676,6334 "ee/spec/models/ee/namespace_ci_cd_setting_spec.rb": 0.49824403999991773,6335 "ee/spec/services/ee/resource_events/change_labels_service_spec.rb": 0.9627769100006844,6336 "ee/spec/lib/bulk_imports/common/pipelines/boards_pipeline_spec.rb": 1.104982294000365,6337 "ee/spec/lib/gitlab/kerberos/authentication_spec.rb": 0.5347644079993188,6338 "ee/spec/lib/elastic/latest/user_config_spec.rb": 0.44457253200016567,6339 "ee/spec/models/dora/base_metric_spec.rb": 0.5017946389998542,6340 "ee/spec/lib/gitlab/sitemaps/sitemap_file_spec.rb": 0.5154933590001747,6341 "ee/spec/services/external_status_checks/dispatch_service_spec.rb": 0.610645624999961,6342 "ee/spec/graphql/resolvers/admin/cloud_licenses/subscription_future_entries_resolver_spec.rb": 0.6763074620012048,6343 "ee/spec/services/ee/labels/promote_service_spec.rb": 1.6505372320007154,6344 "ee/spec/lib/ee/api/entities/vulnerability_export_spec.rb": 1.1074103939990891,6345 "ee/spec/workers/geo/metrics_update_worker_spec.rb": 0.5481035579996387,6346 "ee/spec/lib/gitlab/ci/reports/metrics/report_spec.rb": 0.3422947950002708,6347 "ee/spec/models/geo/reset_checksum_event_spec.rb": 0.44179902099858737,6348 "ee/spec/workers/elastic_cluster_reindexing_cron_worker_spec.rb": 0.5849172859998362,6349 "ee/spec/services/applications/create_service_spec.rb": 0.5834220359993196,6350 "ee/spec/graphql/types/incident_management/escalation_policy_type_spec.rb": 0.5470992069986096,6351 "ee/spec/workers/create_github_webhook_worker_spec.rb": 0.7229535400001623,6352 "ee/spec/graphql/types/security_orchestration/security_policy_source_type_spec.rb": 0.3766116639999382,6353 "ee/spec/graphql/types/vulnerabilities/container_image_type_spec.rb": 0.3850462240006891,6354 "ee/spec/graphql/types/geo/upload_registry_type_spec.rb": 0.40534720300092886,6355 "ee/spec/serializers/integrations/field_entity_spec.rb": 0.7594970690006448,6356 "ee/spec/lib/ee/banzai/filter/sanitization_filter_spec.rb": 0.48146977000033075,6357 "ee/spec/workers/geo/sync_timeout_cron_worker_spec.rb": 0.3349702060004347,6358 "ee/spec/lib/gitlab/graphql/aggregations/issuables/lazy_links_aggregate_spec.rb": 0.4008210029987822,6359 "ee/spec/lib/gitlab/web_ide/config/entry/schema/uri_spec.rb": 0.4652818409995234,6360 "ee/spec/graphql/types/network_policy_type_spec.rb": 0.5655541670003004,6361 "ee/spec/helpers/epics_helper_spec.rb": 0.410558162999223,6362 "ee/spec/lib/ee/gitlab/tracking_spec.rb": 0.43464895299985074,6363 "ee/spec/graphql/ee/types/notes/noteable_interface_spec.rb": 0.6131087949997891,6364 "ee/spec/lib/gitlab/import_sources_spec.rb": 0.36884359500072605,6365 "ee/spec/graphql/types/branch_rules/external_status_check_type_spec.rb": 0.5089276189992233,6366 "ee/spec/lib/gitlab/usage/metrics/instrumentations/historical_max_users_metrics_spec.rb": 0.37549008399946615,6367 "ee/spec/models/geo/cache_invalidation_event_spec.rb": 0.66360073299983926368}6369Knapsack global time execution for tests: 22m 09s6370Pending: (Failures listed here are expected and do not affect your suite's status)6371 1) Iteration behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when creating an object does not raise an error if the internal id is blank6372 # No reason given6373 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:496374 2) Iteration behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when updating an object does not raise an error if the internal id is blank6375 # No reason given6376 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:576377 3) Namespaces::FreeUserCap::Enforcement#over_limit? when invoked with request cache benchmarks with and without cache6378 # Skipped. To run set env variable BENCHMARK=16379 # ./ee/spec/models/namespaces/free_user_cap/enforcement_spec.rb:2956380 4) Resolvers::Geo::SnippetRepositoryRegistriesResolver behaves like a Geo registries resolver #resolve when the parent object is the current node when the user has permission to view Geo data when admin mode is enabled with verification disabled when the verification_state argument is present raises ArgumentError6381 # Skipping because verification is enabled for SnippetRepository6382 # ./ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb:776383 5) ReleaseHighlight.load_items whats new for current tier only with no license returns items with available_in=Free6384 # around hook at ./spec/support/flaky_tests.rb:21 did not execute the example6385 # ./ee/spec/models/release_highlight_spec.rb:396386 6) ReleaseHighlight.load_items whats new for current tier only with Starter license returns items with available_in=Free6387 # around hook at ./spec/support/flaky_tests.rb:21 did not execute the example6388 # ./ee/spec/models/release_highlight_spec.rb:526389Failures:6390 1) Geo::FrameworkRepositorySyncService#execute tracking database when repository sync succeed with non empty repositories when HEAD change syncs gitattributes to info/attributes6391 Failure/Error: expect(repository).to receive(:copy_gitattributes)6392 (#<Repository:@snippets/29/db/29db0c6782dbd5000559ef4d9e953e300e2b479eed26d887ef3f92b921c06a67>).copy_gitattributes(*(any args))6393 expected: 1 time with any arguments6394 received: 0 times with any arguments6395 # ./ee/spec/services/geo/framework_repository_sync_service_spec.rb:540:in `block (7 levels) in <top (required)>'6396 # ./spec/spec_helper.rb:413:in `block (3 levels) in <top (required)>'6397 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'6398 # ./spec/spec_helper.rb:405:in `block (2 levels) in <top (required)>'6399 # ./spec/spec_helper.rb:401:in `block (3 levels) in <top (required)>'6400 # ./lib/gitlab/application_context.rb:59:in `with_raw_context'6401 # ./spec/spec_helper.rb:401:in `block (2 levels) in <top (required)>'6402 # ./spec/spec_helper.rb:241:in `block (2 levels) in <top (required)>'6403 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'6404 # ./spec/support/redis.rb:17:in `block (3 levels) in <top (required)>'6405 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'6406 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'6407 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'6408 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'6409 2) Geo::FrameworkRepositorySyncService#execute tracking database when repository sync succeed with non empty repositories when HEAD does not change syncs gitattributes to info/attributes6410 Failure/Error: expect(repository).to receive(:copy_gitattributes)6411 (#<Repository:@snippets/29/db/29db0c6782dbd5000559ef4d9e953e300e2b479eed26d887ef3f92b921c06a67>).copy_gitattributes(*(any args))6412 expected: 1 time with any arguments6413 received: 0 times with any arguments6414 # ./ee/spec/services/geo/framework_repository_sync_service_spec.rb:554:in `block (7 levels) in <top (required)>'6415 # ./spec/spec_helper.rb:413:in `block (3 levels) in <top (required)>'6416 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'6417 # ./spec/spec_helper.rb:405:in `block (2 levels) in <top (required)>'6418 # ./spec/spec_helper.rb:401:in `block (3 levels) in <top (required)>'6419 # ./lib/gitlab/application_context.rb:59:in `with_raw_context'6420 # ./spec/spec_helper.rb:401:in `block (2 levels) in <top (required)>'6421 # ./spec/spec_helper.rb:241:in `block (2 levels) in <top (required)>'6422 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'6423 # ./spec/support/redis.rb:17:in `block (3 levels) in <top (required)>'6424 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'6425 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'6426 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'6427 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'6428Finished in 22 minutes 12 seconds (files took 1 minute 9.14 seconds to load)64292345 examples, 2 failures, 6 pending6430Failed examples:6431rspec ./ee/spec/services/geo/framework_repository_sync_service_spec.rb:539 # Geo::FrameworkRepositorySyncService#execute tracking database when repository sync succeed with non empty repositories when HEAD change syncs gitattributes to info/attributes6432rspec ./ee/spec/services/geo/framework_repository_sync_service_spec.rb:553 # Geo::FrameworkRepositorySyncService#execute tracking database when repository sync succeed with non empty repositories when HEAD does not change syncs gitattributes to info/attributes6433Randomized with seed 369706434[TEST PROF INFO] Time spent in factories: 16:36.134 (73.06% of total time)6435Stopped processing SimpleCov as a previous error not related to SimpleCov has been detected6436RSpec exited with 1.6437Retrying the failing examples in a new RSpec process...6438$ gem install junit_merge --no-document --version 0.1.26439Successfully installed nokogiri-1.13.10-x86_64-linux6440Successfully installed junit_merge-0.1.264412 gems installed6442==> 'gem install junit_merge --no-document --version 0.1.2' succeeded in 0 seconds.6443Running RSpec command: bin/rspec -Ispec -rspec_helper --color --format documentation --format RspecJunitFormatter --out rspec/junit_rspec-retry.xml --only-failures --pattern "{ee/}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.rb"6444Run options: include {:last_run_status=>"failed"}6445==> Starting Gitaly set up...6446==> Starting GitLab Elasticsearch Indexer set up...6447Test environment set up in 0.408866723 seconds6448Geo::FrameworkRepositorySyncService6449 #execute6450 tracking database6451 when repository sync succeed6452 with non empty repositories6453 when HEAD change6454 syncs gitattributes to info/attributes6455 when HEAD does not change6456 syncs gitattributes to info/attributes6457Finished in 4.96 seconds (files took 37.81 seconds to load)64582 examples, 0 failures6459[TEST PROF INFO] Time spent in factories: 00:01.956 (26.87% of total time)6460A test was flaky and succeeded after being retried. Checking to see if flaky test is part of this MR...6461Searching flaky tests for spec/frontend/diffs/store/actions_spec.js6462Searching flaky tests for spec/frontend/diffs/utils/merge_request_spec.js6463Flaky test was not part of this MR.6465Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-16 due to policy6466Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-16 due to policy6468Uploading artifacts...6469coverage/: found 4 matching files and directories 6470crystalball/: found 2 matching files and directories 6471deprecations/: found 11 matching files and directories 6472knapsack/: found 3 matching files and directories 6473WARNING: query_recorder/: no matching files. Ensure that the artifact path is relative to the working directory 6474rspec/: found 14 matching files and directories 6475WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 6476log/*.log: found 18 matching files and directories 6477WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3443741088/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com6478WARNING: Retrying... context=artifacts-uploader error=request redirected6479Uploading artifacts as "archive" to coordinator... 201 Created id=3443741088 responseStatus=201 Created token=yu_KhetP6480Uploading artifacts...6481rspec/junit_rspec.xml: found 1 matching files and directories 6482WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3443741088/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com6483WARNING: Retrying... context=artifacts-uploader error=request redirected6484Uploading artifacts as "junit" to coordinator... 201 Created id=3443741088 responseStatus=201 Created token=yu_KhetP6486Job succeeded