rspec-ee unit pg12 12/18
Passed Started
by
@ahegyi
Adam Hegyi
1Running with gitlab-runner 15.6.0~beta.186.ga889181a (a889181a)2 on blue-4.private.runners-manager.gitlab.com/gitlab.com/gitlab-org tDjA3Sp33 feature flags: FF_USE_FASTZIP:true, FF_USE_IMPROVED_URL_MASKING:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:56e1d6dc77b242b5f4f91e7319f0740f7ab8bdf41023fd5d703f412ac87976f5 for postgres:12 with digest postgres@sha256:93fd73e2322241eec204dac54b316bf429670ff6e5292e16f9e2fd3a3374a713 ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:83c577984741ab5b2e78640e0524852998d539ea3961e6d56680f336371f5c83 for redis:6.0-alpine with digest redis@sha256:459e91c5fe54134da1601ef85a4d9bc40c953862737fdfbe8f3c2b2a3eb6b20b ...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-103-yarn-1.22-graphicsmagick-1.3.36 ...19Using docker image sha256:5c5404ecc69273636c3ef49645be715ef30ea99e51ad146a2efbeac2a1875f9c for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12@sha256:b032fe79dc0bf3ebfaeb610c82eacc500fbd0ec6e01889444011cf5a72b4135d ...21Running on runner-tdja3sp3-project-278964-concurrent-0 via runner-tdja3sp3-private-1667561417-96d6889c...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: 135178, done. 28remote: Counting objects: 100% (135178/135178), done. 29remote: Compressing objects: 100% (85462/85462), done. 30remote: Total 135178 (delta 62673), reused 94880 (delta 44892), pack-reused 0 31Receiving objects: 100% (135178/135178), 115.46 MiB | 21.57 MiB/s, done.32Resolving deltas: 100% (62673/62673), done.34 * [new ref] refs/pipelines/685831713 -> refs/pipelines/68583171335 * [new branch] master -> origin/master36Checking out 58c4ca27 as master...37Skipping Git submodules setup38$ git remote set-url origin "${CI_REPOSITORY_URL}"40Checking cache for ruby-gems-debian-bullseye-ruby-2.7-16...41cache.zip is up to date 42Successfully extracted cache43Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-2.7-16...44cache.zip is up to date 45Successfully extracted cache47Downloading artifacts for compile-test-assets (3275962690)...48Downloading artifacts from coordinator... ok id=3275962690 responseStatus=200 OK token=ngWmHX6B49Downloading artifacts for detect-tests (3275962698)...50Downloading artifacts from coordinator... ok id=3275962698 responseStatus=200 OK token=ngWmHX6B51Downloading artifacts for retrieve-tests-metadata (3275962699)...52Downloading artifacts from coordinator... ok id=3275962699 responseStatus=200 OK token=ngWmHX6B53Downloading artifacts for setup-test-env (3275962693)...54Downloading artifacts from coordinator... ok id=3275962693 responseStatus=200 OK token=ngWmHX6B56Using docker image sha256:5c5404ecc69273636c3ef49645be715ef30ea99e51ad146a2efbeac2a1875f9c for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12@sha256:b032fe79dc0bf3ebfaeb610c82eacc500fbd0ec6e01889444011cf5a72b4135d ...57$ echo $FOSS_ONLY58$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb59$ export GOPATH=$CI_PROJECT_DIR/.go60$ mkdir -p $GOPATH61$ source scripts/utils.sh62$ source scripts/prepare_build.sh679Using decomposed database config (config/database.yml.decomposed-postgresql)680$ setup_db_user_only681CREATE ROLE682GRANT683==> 'setup_db_user_only' succeeded in 0 seconds.684$ bundle exec rake db:drop db:create db:schema:load db:migrate685Dropped database 'gitlabhq_test'686Dropped database 'gitlabhq_test_ci'687Dropped database 'gitlabhq_geo_test'688Created database 'gitlabhq_test'689Created database 'gitlabhq_test_ci'690Created database 'gitlabhq_geo_test'691==> 'bundle exec rake db:drop db:create db:schema:load db:migrate' succeeded in 34 seconds.692$ setup_db_praefect693SELECT pg_catalog.set_config('search_path', '', false);694CREATE DATABASE praefect_test ENCODING 'UTF8';695==> 'setup_db_praefect' succeeded in 0 seconds.696$ source ./scripts/rspec_helpers.sh697$ run_timed_command "gem install knapsack --no-document"698$ gem install knapsack --no-document699Successfully installed knapsack-4.0.07001 gem installed701==> 'gem install knapsack --no-document' succeeded in 1 seconds.702$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"816$ rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"817SKIP_FLAKY_TESTS_AUTOMATICALLY: true818RETRY_FAILED_TESTS_IN_NEW_PROCESS: true819KNAPSACK_GENERATE_REPORT: true820FLAKY_RSPEC_GENERATE_REPORT: true821KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{bin,channels,config,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,lib,metrics_server,models,policies,presenters,rack_servers,replicators,routing,rubocop,scripts,serializers,services,sidekiq,sidekiq_cluster,spam,support_specs,tasks,uploaders,validators,views,workers,tooling,components}{,/**/}*_spec.rb822KNAPSACK_LOG_LEVEL: debug823KNAPSACK_REPORT_PATH: knapsack/rspec-ee_unit_pg12_12_18_report.json824FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json825FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_unit_pg12_12_18_report.json826NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_unit_pg12_12_18_report.json827SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec-ee_unit_pg12_12_18_report.txt828RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec-ee_unit_pg12_12_18_report.txt829CRYSTALBALL: 830Knapsack node specs:831ee/spec/models/vulnerabilities/finding_spec.rb832ee/spec/models/group_wiki_spec.rb833ee/spec/workers/elastic/migration_worker_spec.rb834ee/spec/models/ci/minutes/notification_spec.rb835ee/spec/models/ci/pipeline_spec.rb836ee/spec/replicators/geo/upload_replicator_spec.rb837ee/spec/helpers/push_rules_helper_spec.rb838ee/spec/models/merge_request/blocking_spec.rb839ee/spec/services/ee/issues/create_service_spec.rb840ee/spec/lib/gitlab/checks/diff_check_spec.rb841ee/spec/models/geo/upload_registry_spec.rb842ee/spec/services/dashboard/projects/list_service_spec.rb843ee/spec/models/requirements_management/requirement_spec.rb844ee/spec/models/concerns/elastic/project_spec.rb845ee/spec/finders/merge_trains_finder_spec.rb846ee/spec/graphql/resolvers/geo/package_file_registries_resolver_spec.rb847ee/spec/finders/security/vulnerabilities_finder_spec.rb848ee/spec/graphql/resolvers/geo/upload_registries_resolver_spec.rb849ee/spec/workers/update_all_mirrors_worker_spec.rb850ee/spec/lib/ee/gitlab/import_export/group/tree_restorer_spec.rb851ee/spec/lib/gitlab/background_migration/populate_test_reports_issue_id_spec.rb852ee/spec/models/environment_spec.rb853ee/spec/services/ee/members/create_service_spec.rb854ee/spec/workers/geo/prune_event_log_worker_spec.rb855ee/spec/models/concerns/elastic/milestone_spec.rb856ee/spec/services/ee/users/destroy_service_spec.rb857ee/spec/services/iterations/delete_service_spec.rb858ee/spec/lib/gitlab/ci/parsers/security/dependency_list_spec.rb859ee/spec/models/dast_site_token_spec.rb860ee/spec/services/elastic/cluster_reindexing_service_spec.rb861ee/spec/services/ee/members/update_service_spec.rb862ee/spec/lib/gitlab/geo/replication/blob_downloader_spec.rb863ee/spec/finders/requirements_management/requirements_finder_spec.rb864ee/spec/graphql/resolvers/vulnerability_severities_count_resolver_spec.rb865ee/spec/models/namespace_setting_spec.rb866ee/spec/models/app_sec/fuzzing/coverage/corpus_spec.rb867ee/spec/finders/geo/group_wiki_repository_registry_finder_spec.rb868ee/spec/workers/repository_update_mirror_worker_spec.rb869ee/spec/lib/gitlab/import_export/project/object_builder_spec.rb870ee/spec/models/dast/site_profiles_build_spec.rb871ee/spec/lib/gitlab/auth/group_saml/membership_updater_spec.rb872ee/spec/models/concerns/ee/project_security_scanners_information_spec.rb873ee/spec/services/vulnerabilities/findings/find_or_create_from_security_finding_service_spec.rb874ee/spec/lib/ee/gitlab/background_migration/delete_approval_rules_with_vulnerability_spec.rb875ee/spec/lib/banzai/reference_parser/iteration_parser_spec.rb876ee/spec/services/analytics/cycle_analytics/data_loader_service_spec.rb877ee/spec/graphql/resolvers/geo/group_wiki_repository_registries_resolver_spec.rb878ee/spec/models/gitlab_subscriptions/features_spec.rb879ee/spec/services/security/ingestion/tasks/ingest_vulnerabilities/create_spec.rb880ee/spec/models/container_repository_spec.rb881ee/spec/lib/gitlab/code_owners/users_loader_spec.rb882ee/spec/serializers/geo_project_registry_entity_spec.rb883ee/spec/elastic/migrate/20221018125700_create_user_index_spec.rb884ee/spec/models/ee/group_group_link_spec.rb885ee/spec/helpers/ee/groups/group_members_helper_spec.rb886ee/spec/lib/gitlab/ci/templates/dast_api_latest_gitlab_ci_yaml_spec.rb887ee/spec/services/external_status_checks/update_service_spec.rb888ee/spec/graphql/mutations/security/ci_configuration/configure_dependency_scanning_spec.rb889ee/spec/graphql/resolvers/epic_ancestors_resolver_spec.rb890ee/spec/lib/ee/gitlab/ci/config_spec.rb891ee/spec/finders/geo/project_registry_status_finder_spec.rb892ee/spec/views/shared/_mirror_update_button.html.haml_spec.rb893ee/spec/helpers/ee/subscribable_banner_helper_spec.rb894ee/spec/finders/scim_finder_spec.rb895ee/spec/services/ee/two_factor/destroy_service_spec.rb896ee/spec/lib/gitlab/insights/reducers/count_per_label_reducer_spec.rb897ee/spec/graphql/types/dast_scanner_profile_type_spec.rb898ee/spec/lib/gitlab/ci/templates/container_scanning_latest_gitlab_ci_yaml_spec.rb899ee/spec/helpers/projects/project_members_helper_spec.rb900ee/spec/lib/gitlab/graphql/loaders/bulk_epic_aggregate_loader_spec.rb901ee/spec/services/boards/epic_lists/destroy_service_spec.rb902ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb903ee/spec/lib/ee/api/entities/billable_member_spec.rb904ee/spec/services/incident_management/issuable_resource_links/destroy_service_spec.rb905ee/spec/graphql/mutations/security_policy/commit_scan_execution_policy_spec.rb906ee/spec/graphql/mutations/dast/profiles/delete_spec.rb907ee/spec/models/project_team_spec.rb908ee/spec/graphql/mutations/vulnerabilities/resolve_spec.rb909ee/spec/helpers/ee/trial_registration_helper_spec.rb910ee/spec/components/namespaces/storage/project_pre_enforcement_alert_component_spec.rb911ee/spec/workers/vulnerability_exports/export_worker_spec.rb912ee/spec/services/incident_management/incidents/create_sla_service_spec.rb913ee/spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_assigned_security_policy_project_metric_spec.rb914ee/spec/finders/security/training_providers/base_url_finder_spec.rb915ee/spec/workers/requirements_management/import_requirements_csv_worker_spec.rb916ee/spec/models/ee/protected_ref_spec.rb917ee/spec/models/ee/event_collection_spec.rb918ee/spec/graphql/resolvers/dast_site_profile_resolver_spec.rb919ee/spec/lib/gitlab/usage/metrics/instrumentations/count_users_deployment_approvals_spec.rb920ee/spec/services/deploy_keys/create_service_spec.rb921ee/spec/services/ee/quick_actions/target_service_spec.rb922ee/spec/finders/incident_management/issuable_resource_links_finder_spec.rb923ee/spec/services/analytics/devops_adoption/enabled_namespaces/bulk_find_or_create_service_spec.rb924ee/spec/graphql/types/vulnerability_evidence_supporting_message_type_spec.rb925ee/spec/workers/auth/saml_group_sync_worker_spec.rb926ee/spec/lib/gitlab/graphql/aggregations/epics/epic_node_spec.rb927ee/spec/graphql/resolvers/incident_management/issuable_resource_links_resolver_spec.rb928ee/spec/lib/gitlab/audit/levels/group_spec.rb929ee/spec/workers/geo/create_repository_updated_event_worker_spec.rb930ee/spec/lib/ee/api/helpers/members_helpers_spec.rb931ee/spec/presenters/ee/issue_presenter_spec.rb932ee/spec/finders/ee/user_recent_events_finder_spec.rb933ee/spec/services/projects/licenses/create_policy_service_spec.rb934ee/spec/lib/ee/api/entities/scim/user_spec.rb935ee/spec/lib/ee/gitlab/scim/value_parser_spec.rb936ee/spec/lib/gitlab/insights/finders/projects_finder_spec.rb937ee/spec/models/ee/users_statistics_spec.rb938ee/spec/workers/adjourned_project_deletion_worker_spec.rb939ee/spec/graphql/mutations/boards/update_epic_user_preferences_spec.rb940ee/spec/lib/gitlab/web_ide/config/entry/schemas_spec.rb941ee/spec/policies/geo_node_policy_spec.rb942ee/spec/workers/iterations/cadences/schedule_create_iterations_worker_spec.rb943ee/spec/graphql/mutations/incident_management/oncall_schedule/update_spec.rb944ee/spec/finders/ee/work_items/work_items_finder_spec.rb945ee/spec/services/ee/protected_branches/update_service_spec.rb946ee/spec/lib/gitlab/import_export/group/group_and_descendants_repo_restorer_spec.rb947ee/spec/graphql/mutations/gitlab_subscriptions/activate_spec.rb948ee/spec/graphql/types/issue_connection_type_spec.rb949ee/spec/services/ee/terraform/states/destroy_service_spec.rb950ee/spec/views/admin/users/index.html.haml_spec.rb951ee/spec/services/vulnerability_scanners/list_service_spec.rb952ee/spec/services/security/override_uuids_service_spec.rb953ee/spec/models/ee/namespace_ci_cd_setting_spec.rb954ee/spec/lib/ee/gitlab/auth/ldap/config_spec.rb955ee/spec/models/boards/epic_list_user_preference_spec.rb956ee/spec/validators/user_existence_validator_spec.rb957ee/spec/views/subscriptions/buy_minutes.html.haml_spec.rb958ee/spec/models/user_preference_spec.rb959ee/spec/services/projects/open_issues_count_service_spec.rb960ee/spec/serializers/integrations/jira_serializers/issue_serializer_spec.rb961ee/spec/lib/gitlab/usage/metrics/instrumentations/epics_deepest_relationship_level_metric_spec.rb962ee/spec/serializers/fork_namespace_entity_spec.rb963ee/spec/services/group_saml/group_managed_accounts/clean_up_members_service_spec.rb964ee/spec/graphql/types/external_issue_type_spec.rb965ee/spec/lib/gitlab/usage_data_counters/licenses_list_spec.rb966ee/spec/graphql/types/ci/code_coverage_activity_type_spec.rb967ee/spec/models/vulnerabilities/merge_request_link_spec.rb968ee/spec/models/ee/notification_setting_spec.rb969ee/spec/helpers/users/identity_verification_helper_spec.rb970ee/spec/graphql/types/geo/job_artifact_registry_type_spec.rb971ee/spec/lib/bulk_imports/groups/graphql/get_iterations_query_spec.rb972ee/spec/serializers/audit_event_serializer_spec.rb973ee/spec/serializers/analytics/cycle_analytics/stage_entity_spec.rb974ee/spec/graphql/types/metric_image_type_spec.rb975ee/spec/graphql/types/epic_descendant_count_type_spec.rb976ee/spec/lib/ee/gitlab/tracking_spec.rb977ee/spec/graphql/types/requirements_management/test_report_type_spec.rb978ee/spec/models/board_label_spec.rb979ee/spec/graphql/types/security_scanners_spec.rb980ee/spec/elastic/migrate/20201105181100_apply_max_analyzed_offset_spec.rb981ee/spec/graphql/types/compliance_management/merge_requests/compliance_violation_severity_enum_spec.rb982ee/spec/workers/geo/verification_cron_worker_spec.rb983ee/spec/lib/system_check/geo/authorized_keys_flag_check_spec.rb984ee/spec/workers/elastic_cluster_reindexing_cron_worker_spec.rb985ee/spec/models/ee/user_highest_role_spec.rb986ee/spec/graphql/types/security/training_url_type_spec.rb987ee/spec/graphql/ee/types/projects/service_type_enum_spec.rb988ee/spec/serializers/protected_environments/deploy_access_level_entity_spec.rb989ee/spec/graphql/types/ci/minutes/namespace_monthly_usage_type_spec.rb990Filter specs:991Running specs:992Running all node tests without filter993ee/spec/models/vulnerabilities/finding_spec.rb994ee/spec/models/group_wiki_spec.rb995ee/spec/workers/elastic/migration_worker_spec.rb996ee/spec/models/ci/minutes/notification_spec.rb997ee/spec/models/ci/pipeline_spec.rb998ee/spec/replicators/geo/upload_replicator_spec.rb999ee/spec/helpers/push_rules_helper_spec.rb1000ee/spec/models/merge_request/blocking_spec.rb1001ee/spec/services/ee/issues/create_service_spec.rb1002ee/spec/lib/gitlab/checks/diff_check_spec.rb1003ee/spec/models/geo/upload_registry_spec.rb1004ee/spec/services/dashboard/projects/list_service_spec.rb1005ee/spec/models/requirements_management/requirement_spec.rb1006ee/spec/models/concerns/elastic/project_spec.rb1007ee/spec/finders/merge_trains_finder_spec.rb1008ee/spec/graphql/resolvers/geo/package_file_registries_resolver_spec.rb1009ee/spec/finders/security/vulnerabilities_finder_spec.rb1010ee/spec/graphql/resolvers/geo/upload_registries_resolver_spec.rb1011ee/spec/workers/update_all_mirrors_worker_spec.rb1012ee/spec/lib/ee/gitlab/import_export/group/tree_restorer_spec.rb1013ee/spec/lib/gitlab/background_migration/populate_test_reports_issue_id_spec.rb1014ee/spec/models/environment_spec.rb1015ee/spec/services/ee/members/create_service_spec.rb1016ee/spec/workers/geo/prune_event_log_worker_spec.rb1017ee/spec/models/concerns/elastic/milestone_spec.rb1018ee/spec/services/ee/users/destroy_service_spec.rb1019ee/spec/services/iterations/delete_service_spec.rb1020ee/spec/lib/gitlab/ci/parsers/security/dependency_list_spec.rb1021ee/spec/models/dast_site_token_spec.rb1022ee/spec/services/elastic/cluster_reindexing_service_spec.rb1023ee/spec/services/ee/members/update_service_spec.rb1024ee/spec/lib/gitlab/geo/replication/blob_downloader_spec.rb1025ee/spec/finders/requirements_management/requirements_finder_spec.rb1026ee/spec/graphql/resolvers/vulnerability_severities_count_resolver_spec.rb1027ee/spec/models/namespace_setting_spec.rb1028ee/spec/models/app_sec/fuzzing/coverage/corpus_spec.rb1029ee/spec/finders/geo/group_wiki_repository_registry_finder_spec.rb1030ee/spec/workers/repository_update_mirror_worker_spec.rb1031ee/spec/lib/gitlab/import_export/project/object_builder_spec.rb1032ee/spec/models/dast/site_profiles_build_spec.rb1033ee/spec/lib/gitlab/auth/group_saml/membership_updater_spec.rb1034ee/spec/models/concerns/ee/project_security_scanners_information_spec.rb1035ee/spec/services/vulnerabilities/findings/find_or_create_from_security_finding_service_spec.rb1036ee/spec/lib/ee/gitlab/background_migration/delete_approval_rules_with_vulnerability_spec.rb1037ee/spec/lib/banzai/reference_parser/iteration_parser_spec.rb1038ee/spec/services/analytics/cycle_analytics/data_loader_service_spec.rb1039ee/spec/graphql/resolvers/geo/group_wiki_repository_registries_resolver_spec.rb1040ee/spec/models/gitlab_subscriptions/features_spec.rb1041ee/spec/services/security/ingestion/tasks/ingest_vulnerabilities/create_spec.rb1042ee/spec/models/container_repository_spec.rb1043ee/spec/lib/gitlab/code_owners/users_loader_spec.rb1044ee/spec/serializers/geo_project_registry_entity_spec.rb1045ee/spec/elastic/migrate/20221018125700_create_user_index_spec.rb1046ee/spec/models/ee/group_group_link_spec.rb1047ee/spec/helpers/ee/groups/group_members_helper_spec.rb1048ee/spec/lib/gitlab/ci/templates/dast_api_latest_gitlab_ci_yaml_spec.rb1049ee/spec/services/external_status_checks/update_service_spec.rb1050ee/spec/graphql/mutations/security/ci_configuration/configure_dependency_scanning_spec.rb1051ee/spec/graphql/resolvers/epic_ancestors_resolver_spec.rb1052ee/spec/lib/ee/gitlab/ci/config_spec.rb1053ee/spec/finders/geo/project_registry_status_finder_spec.rb1054ee/spec/views/shared/_mirror_update_button.html.haml_spec.rb1055ee/spec/helpers/ee/subscribable_banner_helper_spec.rb1056ee/spec/finders/scim_finder_spec.rb1057ee/spec/services/ee/two_factor/destroy_service_spec.rb1058ee/spec/lib/gitlab/insights/reducers/count_per_label_reducer_spec.rb1059ee/spec/graphql/types/dast_scanner_profile_type_spec.rb1060ee/spec/lib/gitlab/ci/templates/container_scanning_latest_gitlab_ci_yaml_spec.rb1061ee/spec/helpers/projects/project_members_helper_spec.rb1062ee/spec/lib/gitlab/graphql/loaders/bulk_epic_aggregate_loader_spec.rb1063ee/spec/services/boards/epic_lists/destroy_service_spec.rb1064ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb1065ee/spec/lib/ee/api/entities/billable_member_spec.rb1066ee/spec/services/incident_management/issuable_resource_links/destroy_service_spec.rb1067ee/spec/graphql/mutations/security_policy/commit_scan_execution_policy_spec.rb1068ee/spec/graphql/mutations/dast/profiles/delete_spec.rb1069ee/spec/models/project_team_spec.rb1070ee/spec/graphql/mutations/vulnerabilities/resolve_spec.rb1071ee/spec/helpers/ee/trial_registration_helper_spec.rb1072ee/spec/components/namespaces/storage/project_pre_enforcement_alert_component_spec.rb1073ee/spec/workers/vulnerability_exports/export_worker_spec.rb1074ee/spec/services/incident_management/incidents/create_sla_service_spec.rb1075ee/spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_assigned_security_policy_project_metric_spec.rb1076ee/spec/finders/security/training_providers/base_url_finder_spec.rb1077ee/spec/workers/requirements_management/import_requirements_csv_worker_spec.rb1078ee/spec/models/ee/protected_ref_spec.rb1079ee/spec/models/ee/event_collection_spec.rb1080ee/spec/graphql/resolvers/dast_site_profile_resolver_spec.rb1081ee/spec/lib/gitlab/usage/metrics/instrumentations/count_users_deployment_approvals_spec.rb1082ee/spec/services/deploy_keys/create_service_spec.rb1083ee/spec/services/ee/quick_actions/target_service_spec.rb1084ee/spec/finders/incident_management/issuable_resource_links_finder_spec.rb1085ee/spec/services/analytics/devops_adoption/enabled_namespaces/bulk_find_or_create_service_spec.rb1086ee/spec/graphql/types/vulnerability_evidence_supporting_message_type_spec.rb1087ee/spec/workers/auth/saml_group_sync_worker_spec.rb1088ee/spec/lib/gitlab/graphql/aggregations/epics/epic_node_spec.rb1089ee/spec/graphql/resolvers/incident_management/issuable_resource_links_resolver_spec.rb1090ee/spec/lib/gitlab/audit/levels/group_spec.rb1091ee/spec/workers/geo/create_repository_updated_event_worker_spec.rb1092ee/spec/lib/ee/api/helpers/members_helpers_spec.rb1093ee/spec/presenters/ee/issue_presenter_spec.rb1094ee/spec/finders/ee/user_recent_events_finder_spec.rb1095ee/spec/services/projects/licenses/create_policy_service_spec.rb1096ee/spec/lib/ee/api/entities/scim/user_spec.rb1097ee/spec/lib/ee/gitlab/scim/value_parser_spec.rb1098ee/spec/lib/gitlab/insights/finders/projects_finder_spec.rb1099ee/spec/models/ee/users_statistics_spec.rb1100ee/spec/workers/adjourned_project_deletion_worker_spec.rb1101ee/spec/graphql/mutations/boards/update_epic_user_preferences_spec.rb1102ee/spec/lib/gitlab/web_ide/config/entry/schemas_spec.rb1103ee/spec/policies/geo_node_policy_spec.rb1104ee/spec/workers/iterations/cadences/schedule_create_iterations_worker_spec.rb1105ee/spec/graphql/mutations/incident_management/oncall_schedule/update_spec.rb1106ee/spec/finders/ee/work_items/work_items_finder_spec.rb1107ee/spec/services/ee/protected_branches/update_service_spec.rbKnapsack report generator started!1108Run options: exclude {:quarantine=>true, :level=>"migration"}1109Test environment set up in 0.904741788 seconds1110Vulnerabilities::Finding1111 is expected to define :confidence as an enum backed by an integer1112 is expected to define :report_type as an enum backed by an integer1113 is expected to define :severity as an enum backed by an integer1114 is expected to define :detection_method as an enum backed by an integer1115 is expected to have locked schema "d46d9549bf15976ea453d79b81a34cfae0ee9c1d3026b0666b40a333d190a0d3"1116 vulnerability_finding_signatures: true1117 associations1118 is expected to belong to project required: false1119 is expected to belong to primary_identifier class_name => Vulnerabilities::Identifier required: false1120 is expected to belong to scanner class_name => Vulnerabilities::Scanner required: false1121 is expected to belong to vulnerability required: false inverse_of => findings1122 is expected to have many finding_pipelines class_name => Vulnerabilities::FindingPipeline1123 is expected to have many identifiers class_name => Vulnerabilities::Identifier1124 is expected to have many finding_identifiers class_name => Vulnerabilities::FindingIdentifier1125 is expected to have many finding_links class_name => Vulnerabilities::FindingLink1126 is expected to have many finding_remediations class_name => Vulnerabilities::FindingRemediation1127 is expected to have many vulnerability_flags class_name => Vulnerabilities::Flag1128 is expected to have many remediations through finding_remediations1129 is expected to have one finding_evidence class_name => Vulnerabilities::Finding::Evidence1130 is expected to have many feedbacks class_name => Vulnerabilities::Feedback1131 validations1132 is expected to validate that :scanner cannot be empty/falsy1133 is expected to validate that :project cannot be empty/falsy1134 is expected to validate that :uuid cannot be empty/falsy1135 is expected to validate that :project_fingerprint cannot be empty/falsy1136 is expected to validate that :primary_identifier cannot be empty/falsy1137 is expected to validate that :location_fingerprint cannot be empty/falsy1138 is expected to validate that :name cannot be empty/falsy1139 is expected to validate that :report_type cannot be empty/falsy1140 is expected to validate that :metadata_version cannot be empty/falsy1141 is expected to validate that :raw_metadata cannot be empty/falsy1142 is expected to validate that :severity cannot be empty/falsy1143 is expected to validate that :detection_method cannot be empty/falsy1144 is expected to validate that the length of :description is at most 150001145 is expected to validate that the length of :message is at most 30001146 is expected to validate that the length of :solution is at most 70001147 is expected to validate that the length of :cve is at most 484001148 when value for details field is valid1149 is valid1150 when value for details field is invalid1151 returns errors1152 database uniqueness1153 when all index attributes are identical1154 when some parameters are changed1155 key: :primary_identifier, factory_name: :vulnerabilities_identifier1156 is valid1157 key: :scanner, factory_name: :vulnerabilities_scanner1158 is valid1159 key: :project, factory_name: :project1160 is valid1161 order1162 orders by severity and confidence1163 .report_type1164 when finding has the corresponding report type1165 selects the finding1166 when finding does not have security reports1167 does not select the finding1168 .by_report_types1169 with one param1170 returns found record1171 with array of params1172 returns found records1173 without found record1174 returns empty collection1175 .by_projects1176 with found record1177 returns found record1178 .by_scanners1179 with found record1180 returns found record1181 .by_severities1182 with one param1183 returns found record1184 without found record1185 returns empty collection1186 .by_confidences1187 with matching param1188 returns found record1189 with non-matching param1190 returns empty collection1191 .counted_by_severity1192 returns counts1193 when determining dimissal status of findings1194 .undismissed1195 returns all non-dismissed findings1196 returns non-dismissed findings for project1197 .dismissed1198 returns all dismissed findings1199 returns dismissed findings for project1200 .by_location_image1201 returns findings with given image1202 .by_location_cluster1203 returns findings with given cluster_id1204 .by_location_cluster_agent1205 returns findings with given agent_id1206 #false_positive?1207 returns false if the finding does not have any false_positive1208 returns true if the finding has false_positives1209 #links1210 when there are no finding links1211 returns links from raw_metadata1212 when there are finding links assigned to given finding1213 returns links from finding link1214 #remediations1215 when the finding has associated remediation records1216 is expected to eq [{"diff"=>"", "summary"=>"Remediation Summary"}]1217 when reading from the remediation record is diabled1218 is expected to contain exactly {"diff"=>"bar", "summary"=>"foo"}1219 when the finding does not have associated remediation records1220 when the finding has remediations in `raw_metadata`1221 is expected to eq [{"diff"=>"bar", "summary"=>"foo"}]1222 when the finding does not have remediations in `raw_metadata`1223 is expected to be nil1224 feedback1225 #issue_feedback1226 when there is issue link present1227 returns associated feedback1228 when there is no feedback for the vulnerability1229 does not return unassociated feedback1230 when there is no vulnerability associated with the finding1231 does not return feedback1232 when there is no issue link present1233 returns associated feedback1234 #dismissal_feedback1235 returns associated feedback1236 #merge_request_feedback1237 returns associated feedback1238 #load_feedback1239 is expected to eq [#<Vulnerabilities::Feedback id: 12, created_at: "2022-11-04 14:18:47.924068598 +0000", updated_at: "...-5d4d-8658-d91266904b96", dismissal_reason: "acceptable_risk", migrated_to_state_transition: false>]1240 when you have multiple findings1241 is expected to eq [[#<Vulnerabilities::Feedback id: 12, created_at: "2022-11-04 14:18:47.924068598 +0000", updated_at: ...50cb-94fe-6cc25ba6b52d", dismissal_reason: "acceptable_risk", migrated_to_state_transition: false>]]1242 #state1243 returns the expected state for a unresolved finding1244 returns the expected state for a confirmed finding1245 returns the expected state for a resolved finding1246 returns the expected state for a dismissed finding1247 when a vulnerability present for a dismissed finding1248 still reports a dismissed state1249 when a non-dismissal feedback present for a finding belonging to a closed vulnerability1250 reports as resolved1251 #scanner_name1252 is expected to eq "Find Security Bugs"1253 #description1254 when description metadata key is present1255 is expected to eql "The cipher does not provide data integrity update 1"1256 when description data is present1257 is expected to eq "Vulnerability description"1258 #solution1259 when solution metadata key is present1260 is expected to eq "GCM mode introduces an HMAC into the resulting encrypted data, providing integrity of the result."1261 when remediations key is present in finding1262 is expected to eq "Test remediation"1263 when solution data is present1264 is expected to eq "Vulnerability solution"1265 #location1266 when location metadata key is present1267 is expected to eql {"class"=>"com.gitlab.security_products.tests.App", "end_line"=>29, "file"=>"maven/src/main/java/com/gitlab/security_products/tests/App.java", "method"=>"insecureCypher", "start_line"=>29}1268 when location data is present1269 is expected to eq {"class"=>"class", "end_line"=>3, "file"=>"test_file.rb", "start_line"=>1}1270 #image1271 is expected to eq "package-registry/package:tag"1272 #evidence1273 without finding_evidence1274 has an evidence fields1275 matches evidence schema1276 has no evidence summary when evidence is present, summary is not1277 is expected to be nil1278 with finding_evidence1279 matches evidence schema1280 #message1281 when message metadata key is present1282 is expected to eql "The cipher does not provide data integrity"1283 when message data is present1284 is expected to eq "Vulnerability message"1285 #cve_value1286 when cve metadata key is present1287 is expected to eql "CVE-2020-0000"1288 when cve text field is present1289 is expected to eq "CVE-2020-0000"1290 #cwe_value1291 is expected to eql "CWE-0000"1292 #other_identifier_values1293 is expected to contain exactly "ID 1" and "ID 2"1294 #metadata1295 handles bool JSON data1296 handles string JSON data1297 parses JSON data1298 #uuid_v51299 when the finding has a version 4 uuid1300 returns the calculated uuid for the finding1301 when the finding has a version 5 uuid1302 returns the uuid of the finding1303 #eql?1304 matches the finding based on enabled tracking methods (if feature flag enabled)1305 wont match other record types1306 short circuits on the highest priority signature match1307 same_hash: true, same_location: true, create_scope_offset: true, same_scope_offset: true, should_match: true1308 matches correctly1309 same_hash: false, same_location: false, create_scope_offset: true, same_scope_offset: false, should_match: false1310 matches correctly1311 same_hash: true, same_location: true, create_scope_offset: true, same_scope_offset: false, should_match: false1312 matches correctly1313 same_hash: false, same_location: false, create_scope_offset: true, same_scope_offset: true, should_match: true1314 matches correctly1315 same_hash: false, same_location: true, create_scope_offset: false, same_scope_offset: false, should_match: true1316 matches correctly1317 vulnerability_finding_signatures: false1318 associations1319 is expected to belong to project required: false1320 is expected to belong to primary_identifier class_name => Vulnerabilities::Identifier required: false1321 is expected to belong to scanner class_name => Vulnerabilities::Scanner required: false1322 is expected to belong to vulnerability required: false inverse_of => findings1323 is expected to have many finding_pipelines class_name => Vulnerabilities::FindingPipeline1324 is expected to have many identifiers class_name => Vulnerabilities::Identifier1325 is expected to have many finding_identifiers class_name => Vulnerabilities::FindingIdentifier1326 is expected to have many finding_links class_name => Vulnerabilities::FindingLink1327 is expected to have many finding_remediations class_name => Vulnerabilities::FindingRemediation1328 is expected to have many vulnerability_flags class_name => Vulnerabilities::Flag1329 is expected to have many remediations through finding_remediations1330 is expected to have one finding_evidence class_name => Vulnerabilities::Finding::Evidence1331 is expected to have many feedbacks class_name => Vulnerabilities::Feedback1332 validations1333 is expected to validate that :scanner cannot be empty/falsy1334 is expected to validate that :project cannot be empty/falsy1335 is expected to validate that :uuid cannot be empty/falsy1336 is expected to validate that :project_fingerprint cannot be empty/falsy1337 is expected to validate that :primary_identifier cannot be empty/falsy1338 is expected to validate that :location_fingerprint cannot be empty/falsy1339 is expected to validate that :name cannot be empty/falsy1340 is expected to validate that :report_type cannot be empty/falsy1341 is expected to validate that :metadata_version cannot be empty/falsy1342 is expected to validate that :raw_metadata cannot be empty/falsy1343 is expected to validate that :severity cannot be empty/falsy1344 is expected to validate that :detection_method cannot be empty/falsy1345 is expected to validate that the length of :description is at most 150001346 is expected to validate that the length of :message is at most 30001347 is expected to validate that the length of :solution is at most 70001348 is expected to validate that the length of :cve is at most 484001349 when value for details field is valid1350 is valid1351 when value for details field is invalid1352 returns errors1353 database uniqueness1354 when all index attributes are identical1355 when some parameters are changed1356 key: :primary_identifier, factory_name: :vulnerabilities_identifier1357 is valid1358 key: :scanner, factory_name: :vulnerabilities_scanner1359 is valid1360 key: :project, factory_name: :project1361 is valid1362 order1363 orders by severity and confidence1364 .report_type1365 when finding has the corresponding report type1366 selects the finding1367 when finding does not have security reports1368 does not select the finding1369 .by_report_types1370 with one param1371 returns found record1372 with array of params1373 returns found records1374 without found record1375 returns empty collection1376 .by_projects1377 with found record1378 returns found record1379 .by_scanners1380 with found record1381 returns found record1382 .by_severities1383 with one param1384 returns found record1385 without found record1386 returns empty collection1387 .by_confidences1388 with matching param1389 returns found record1390 with non-matching param1391 returns empty collection1392 .counted_by_severity1393 returns counts1394 when determining dimissal status of findings1395 .undismissed1396 returns all non-dismissed findings1397 returns non-dismissed findings for project1398 .dismissed1399 returns all dismissed findings1400 returns dismissed findings for project1401 .by_location_image1402 returns findings with given image1403 .by_location_cluster1404 returns findings with given cluster_id1405 .by_location_cluster_agent1406 returns findings with given agent_id1407 #false_positive?1408 returns false if the finding does not have any false_positive1409 returns true if the finding has false_positives1410 #links1411 when there are no finding links1412 returns links from raw_metadata1413 when there are finding links assigned to given finding1414 returns links from finding link1415 #remediations1416 when the finding has associated remediation records1417 is expected to eq [{"diff"=>"", "summary"=>"Remediation Summary"}]1418 when reading from the remediation record is diabled1419 is expected to contain exactly {"diff"=>"bar", "summary"=>"foo"}1420 when the finding does not have associated remediation records1421 when the finding has remediations in `raw_metadata`1422 is expected to eq [{"diff"=>"bar", "summary"=>"foo"}]1423 when the finding does not have remediations in `raw_metadata`1424 is expected to be nil1425 feedback1426 #issue_feedback1427 when there is issue link present1428 returns associated feedback1429 when there is no feedback for the vulnerability1430 does not return unassociated feedback1431 when there is no vulnerability associated with the finding1432 does not return feedback1433 when there is no issue link present1434 returns associated feedback1435 #dismissal_feedback1436 returns associated feedback1437 #merge_request_feedback1438 returns associated feedback1439 #load_feedback1440 is expected to eq [#<Vulnerabilities::Feedback id: 34, created_at: "2022-11-04 14:21:04.658676818 +0000", updated_at: "...-5b4f-8640-0b85b454a840", dismissal_reason: "acceptable_risk", migrated_to_state_transition: false>]1441 when you have multiple findings1442 is expected to eq [[#<Vulnerabilities::Feedback id: 34, created_at: "2022-11-04 14:21:04.658676818 +0000", updated_at: ...5542-a2b8-c98db8cf19b5", dismissal_reason: "acceptable_risk", migrated_to_state_transition: false>]]1443 #state1444 returns the expected state for a unresolved finding1445 returns the expected state for a confirmed finding1446 returns the expected state for a resolved finding1447 returns the expected state for a dismissed finding1448 when a vulnerability present for a dismissed finding1449 still reports a dismissed state1450 when a non-dismissal feedback present for a finding belonging to a closed vulnerability1451 reports as resolved1452 #scanner_name1453 is expected to eq "Find Security Bugs"1454 #description1455 when description metadata key is present1456 is expected to eql "The cipher does not provide data integrity update 1"1457 when description data is present1458 is expected to eq "Vulnerability description"1459 #solution1460 when solution metadata key is present1461 is expected to eq "GCM mode introduces an HMAC into the resulting encrypted data, providing integrity of the result."1462 when remediations key is present in finding1463 is expected to eq "Test remediation"1464 when solution data is present1465 is expected to eq "Vulnerability solution"1466 #location1467 when location metadata key is present1468 is expected to eql {"class"=>"com.gitlab.security_products.tests.App", "end_line"=>29, "file"=>"maven/src/main/java/com/gitlab/security_products/tests/App.java", "method"=>"insecureCypher", "start_line"=>29}1469 when location data is present1470 is expected to eq {"class"=>"class", "end_line"=>3, "file"=>"test_file.rb", "start_line"=>1}1471 #image1472 is expected to eq "package-registry/package:tag"1473 #evidence1474 without finding_evidence1475 has an evidence fields1476 matches evidence schema1477 has no evidence summary when evidence is present, summary is not1478 is expected to be nil1479 with finding_evidence1480 matches evidence schema1481 #message1482 when message metadata key is present1483 is expected to eql "The cipher does not provide data integrity"1484 when message data is present1485 is expected to eq "Vulnerability message"1486 #cve_value1487 when cve metadata key is present1488 is expected to eql "CVE-2020-0000"1489 when cve text field is present1490 is expected to eq "CVE-2020-0000"1491 #cwe_value1492 is expected to eql "CWE-0000"1493 #other_identifier_values1494 is expected to contain exactly "ID 1" and "ID 2"1495 #metadata1496 handles bool JSON data1497 handles string JSON data1498 parses JSON data1499 #uuid_v51500 when the finding has a version 4 uuid1501 returns the calculated uuid for the finding1502 when the finding has a version 5 uuid1503 returns the uuid of the finding1504 #eql?1505 matches the finding based on enabled tracking methods (if feature flag enabled)1506 wont match other record types1507 short circuits on the highest priority signature match1508 same_hash: true, same_location: true, create_scope_offset: true, same_scope_offset: true, should_match: true1509 matches correctly1510 same_hash: false, same_location: false, create_scope_offset: true, same_scope_offset: false, should_match: false1511 matches correctly1512 same_hash: true, same_location: true, create_scope_offset: true, same_scope_offset: false, should_match: false1513 matches correctly1514 same_hash: false, same_location: false, create_scope_offset: true, same_scope_offset: true, should_match: true1515 matches correctly1516 same_hash: false, same_location: true, create_scope_offset: false, same_scope_offset: false, should_match: true1517 matches correctly1518 .by_location_fingerprints1519 is expected to contain exactly #<Vulnerabilities::Finding id: 215, created_at: "2022-11-04 14:21:37.475741313 +0000", updated_at: "2...tion: nil, cve: nil, location: nil, detection_method: "gitlab_security_report", config_options: nil>1520 .excluding_uuids1521 is expected to contain exactly #<Vulnerabilities::Finding id: 218, created_at: "2022-11-04 14:21:41.096955887 +0000", updated_at: "2...tion: nil, cve: nil, location: nil, detection_method: "gitlab_security_report", config_options: nil>1522GroupWiki1523 behaves like wiki model1524 VALID_USER_MARKUPS contains all valid markups1525 container class includes HasWiki1526 behaves like model with repository1527 container class includes HasRepository1528 #commits_by1529 retrieves several commits from the repository by oid1530 #web_url1531 when given the only_path option1532 when only_path is false1533 returns the full web URL for this repo1534 when only_path is true1535 returns the relative web URL for this repo1536 when only_path is nil1537 returns the full web URL for this repo1538 when not given the only_path option1539 returns the full web URL for this repo1540 #url_to_repo1541 returns the SSH URL to the repository1542 #ssh_url_to_repo1543 returns the SSH URL to the repository1544 #http_url_to_repo1545 returns the HTTP URL to the repository1546 #repository1547 returns valid repo1548 uses the same container1549 #storage1550 returns valid storage1551 #full_path1552 returns valid full_path1553 #lfs_enabled?1554 returns the expected value1555 #empty_repo?1556 when the repo does not exist1557 returns true1558 when the repo exists1559 returns the empty state of the repository1560 #valid_repo?1561 is expected to equal false1562 is expected to equal true1563 #repository_exists?1564 is expected to equal false1565 is expected to equal true1566 #repo_exists?1567 is expected to equal false1568 is expected to equal true1569 #root_ref1570 is expected to equal true1571 is expected to equal false1572 is expected to equal false1573 Respond to1574 is expected to respond to #base_dir1575 is expected to respond to #disk_path1576 is expected to respond to #gitlab_shell1577 #change_head1578 delegates #change_head to repository1579 #after_repository_change_head1580 calls #reload_default_branch1581 .container_class1582 is set to the container class1583 .find_by_id1584 returns a wiki instance if the container is found1585 returns nil if the container is not found1586 #initialize1587 accepts a valid user1588 accepts a blank user1589 raises an error for invalid users1590 #run_after_commit1591 delegates to the container1592 #==1593 returns true for wikis from the same container1594 returns false for wikis from different containers1595 #id1596 returns the ID of the container1597 #to_global_id1598 returns a global ID1599 #repository1600 returns a wiki repository1601 #full_path1602 returns the container path with the .wiki extension1603 #wiki_base_path1604 returns the wiki base path1605 includes the relative URL root1606 #empty?1607 when the wiki repository is empty1608 returns true1609 when the repository does not exist1610 returns true and does not create the repo1611 when the wiki has pages1612 #empty?1613 returns false1614 #list_pages1615 behaves like wiki model #list_pages1616 returns an array of WikiPage instances1617 does not load WikiPage content by default1618 returns all pages by default1619 with limit option1620 returns limited set of pages1621 returns all set of pages if limit is more than the total pages1622 returns all set of pages if limit is 01623 with offset option1624 returns offset-ed set of pages1625 returns all set of pages if offset is 01626 can combines with limit1627 with sorting options1628 returns pages sorted by title by default1629 with load_content option1630 loads WikiPage content1631 #sidebar_entries1632 when the number of pages does not exceed the limit1633 returns all pages grouped by directory and limited is false1634 when the number of pages exceeds the limit1635 returns 15 pages grouped by directory and limited is true1636 #find_page1637 find page with normal repository RPCs1638 behaves like wiki model #find_page1639 returns the latest version of the page if it exists1640 returns nil if the page or version does not exist1641 can find a page by slug1642 returns a WikiPage instance1643 pages with multibyte-character title1644 can find a page by slug1645 pages with invalidly-encoded content1646 can find the page1647 wiki repository's default branch is updated1648 returns the page in the updated default branch1649 wiki repository's HEAD is updated1650 returns the page in the new HEAD1651 pages with relative paths1652 path: "~hello.md", title: "~Hello"1653 can find page with `~Hello` title1654 path: "hello~world.md", title: "Hello~World"1655 can find page with `Hello~World` title1656 path: "~~~hello.md", title: "~~~Hello"1657 can find page with `~~~Hello` title1658 path: "~/hello.md", title: "~/Hello"1659 can find page with `~/Hello` title1660 path: "hello.md", title: "/Hello"1661 can find page with `/Hello` title1662 path: "hello.md", title: "../Hello"1663 can find page with `../Hello` title1664 path: "hello.md", title: "./Hello"1665 can find page with `./Hello` title1666 path: "dir/hello.md", title: "/dir/Hello"1667 can find page with `/dir/Hello` title1668 pages with different file extensions1669 extension: :md, path: "wiki-markdown.md", title: "wiki markdown"1670 can find page with md extension1671 extension: :markdown, path: "wiki-markdown-2.md", title: "wiki markdown 2"1672 can find page with markdown extension1673 extension: :rdoc, path: "wiki-rdoc.rdoc", title: "wiki rdoc"1674 can find page with rdoc extension1675 extension: :asciidoc, path: "wiki-asciidoc.asciidoc", title: "wiki asciidoc"1676 can find page with asciidoc extension1677 extension: :adoc, path: "wiki-asciidoc-2.adoc", title: "wiki asciidoc 2"1678 can find page with adoc extension1679 extension: :org, path: "wiki-org.org", title: "wiki org"1680 can find page with org extension1681 extension: :textile, path: "wiki-textile.textile", title: "wiki textile"1682 can find page with textile extension1683 extension: :creole, path: "wiki-creole.creole", title: "wiki creole"1684 can find page with creole extension1685 extension: :rest, path: "wiki-rest.rest", title: "wiki rest"1686 can find page with rest extension1687 extension: :rst, path: "wiki-rest-2.rst", title: "wiki rest 2"1688 can find page with rst extension1689 extension: :mediawiki, path: "wiki-mediawiki.mediawiki", title: "wiki mediawiki"1690 can find page with mediawiki extension1691 extension: :wiki, path: "wiki-mediawiki-2.wiki", title: "wiki mediawiki 2"1692 can find page with wiki extension1693 extension: :pod, path: "wiki-pod.pod", title: "wiki pod"1694 can find page with pod extension1695 extension: :text, path: "wiki-text.txt", title: "wiki text"1696 can find page with text extension1697 #find_sidebar1698 find sidebar with normal repository RPCs1699 behaves like wiki model #find_sidebar1700 finds the page defined as _sidebar1701 #find_file1702 returns the latest version of the file if it exists1703 returns nil if the page does not exist1704 returns a Gitlab::Git::WikiFile instance1705 returns the whole file1706 when load_content is disabled1707 includes the file data in the Gitlab::Git::WikiFile1708 wiki repository's default branch is updated1709 returns the page in the updated default branch1710 #create_page1711 behaves like create_page tests1712 creates a new wiki page1713 returns false when a duplicate page exists1714 stores an error message when a duplicate page exists1715 sets the correct commit message1716 sets the correct commit email1717 runs after_wiki_activity callbacks1718 cannot create two pages with the same title but different format1719 cannot create two pages with the same title but different capitalization1720 cannot create two pages with the same title, different capitalization, and different format1721 returns false if a page exists already in the repository1722 returns false if it has an invalid format1723 new_file: "foo", format: :markdown, existing_repo_files: [], success: true1724 is expected to eq true1725 new_file: "foo", format: :rdoc, existing_repo_files: [], success: true1726 is expected to eq true1727 new_file: "foo", format: :asciidoc, existing_repo_files: [], success: true1728 is expected to eq true1729 new_file: "foo", format: :org, existing_repo_files: [], success: true1730 is expected to eq true1731 new_file: "foo", format: :textile, existing_repo_files: [], success: false1732 is expected to eq false1733 new_file: "foo", format: :creole, existing_repo_files: [], success: false1734 is expected to eq false1735 new_file: "foo", format: :rest, existing_repo_files: [], success: false1736 is expected to eq false1737 new_file: "foo", format: :mediawiki, existing_repo_files: [], success: false1738 is expected to eq false1739 new_file: "foo", format: :pod, existing_repo_files: [], success: false1740 is expected to eq false1741 new_file: "foo", format: :plaintext, existing_repo_files: [], success: false1742 is expected to eq false1743 new_file: "foo", format: :markdown, existing_repo_files: ["foo.md"], success: false1744 is expected to eq false1745 new_file: "foo", format: :markdown, existing_repo_files: ["foO.md"], success: false1746 is expected to eq false1747 new_file: "foO", format: :markdown, existing_repo_files: ["foo.md"], success: false1748 is expected to eq false1749 new_file: "foo", format: :markdown, existing_repo_files: ["foo.mdfoo"], success: true1750 is expected to eq true1751 new_file: "foo", format: :markdown, existing_repo_files: ["foo.markdown"], success: false1752 is expected to eq false1753 new_file: "foo", format: :markdown, existing_repo_files: ["foo.mkd"], success: false1754 is expected to eq false1755 new_file: "foo", format: :markdown, existing_repo_files: ["foo.mkdn"], success: false1756 is expected to eq false1757 new_file: "foo", format: :markdown, existing_repo_files: ["foo.mdown"], success: false1758 is expected to eq false1759 new_file: "foo", format: :markdown, existing_repo_files: ["foo.adoc"], success: false1760 is expected to eq false1761 new_file: "foo", format: :markdown, existing_repo_files: ["foo.asciidoc"], success: false1762 is expected to eq false1763 new_file: "foo", format: :markdown, existing_repo_files: ["foo.org"], success: false1764 is expected to eq false1765 new_file: "foo", format: :markdown, existing_repo_files: ["foo.rdoc"], success: false1766 is expected to eq false1767 new_file: "foo", format: :markdown, existing_repo_files: ["foo.textile"], success: false1768 is expected to eq false1769 new_file: "foo", format: :markdown, existing_repo_files: ["foo.creole"], success: false1770 is expected to eq false1771 new_file: "foo", format: :markdown, existing_repo_files: ["foo.rest"], success: false1772 is expected to eq false1773 new_file: "foo", format: :markdown, existing_repo_files: ["foo.rest.txt"], success: false1774 is expected to eq false1775 new_file: "foo", format: :markdown, existing_repo_files: ["foo.rst"], success: false1776 is expected to eq false1777 new_file: "foo", format: :markdown, existing_repo_files: ["foo.rst.txt"], success: false1778 is expected to eq false1779 new_file: "foo", format: :markdown, existing_repo_files: ["foo.rst.txtfoo"], success: true1780 is expected to eq true1781 new_file: "foo", format: :markdown, existing_repo_files: ["foo.mediawiki"], success: false1782 is expected to eq false1783 new_file: "foo", format: :markdown, existing_repo_files: ["foo.wiki"], success: false1784 is expected to eq false1785 new_file: "foo", format: :markdown, existing_repo_files: ["foo.pod"], success: false1786 is expected to eq false1787 new_file: "foo", format: :markdown, existing_repo_files: ["foo.txt"], success: false1788 is expected to eq false1789 new_file: "foo", format: :markdown, existing_repo_files: ["foo.Md"], success: false1790 is expected to eq false1791 new_file: "foo", format: :markdown, existing_repo_files: ["foo.jpg"], success: true1792 is expected to eq true1793 new_file: "foo", format: :rdoc, existing_repo_files: ["foo.md"], success: false1794 is expected to eq false1795 new_file: "foo", format: :rdoc, existing_repo_files: ["foO.md"], success: false1796 is expected to eq false1797 new_file: "foO", format: :rdoc, existing_repo_files: ["foo.md"], success: false1798 is expected to eq false1799 new_file: "foo", format: :asciidoc, existing_repo_files: ["foo.md"], success: false1800 is expected to eq false1801 new_file: "foo", format: :org, existing_repo_files: ["foo.md"], success: false1802 is expected to eq false1803 new_file: "foo", format: :markdown, existing_repo_files: ["dir/foo.md"], success: true1804 is expected to eq true1805 new_file: "/foo", format: :markdown, existing_repo_files: ["foo.md"], success: false1806 is expected to eq false1807 new_file: "~foo", format: :markdown, existing_repo_files: [], success: true1808 is expected to eq true1809 new_file: "~~~foo", format: :markdown, existing_repo_files: [], success: true1810 is expected to eq true1811 new_file: "./foo", format: :markdown, existing_repo_files: ["foo.md"], success: false1812 is expected to eq false1813 new_file: "../foo", format: :markdown, existing_repo_files: ["foo.md"], success: false1814 is expected to eq false1815 new_file: "../../foo", format: :markdown, existing_repo_files: ["foo.md"], success: false1816 is expected to eq false1817 new_file: "../../foo", format: :markdown, existing_repo_files: ["dir/foo.md"], success: true1818 is expected to eq true1819 new_file: "dir/foo", format: :markdown, existing_repo_files: ["foo.md"], success: true1820 is expected to eq true1821 new_file: "dir/foo", format: :markdown, existing_repo_files: ["dir/foo.md"], success: false1822 is expected to eq false1823 new_file: "dir/foo", format: :markdown, existing_repo_files: ["dir/foo.rdoc"], success: false1824 is expected to eq false1825 new_file: "/dir/foo", format: :markdown, existing_repo_files: ["dir/foo.rdoc"], success: false1826 is expected to eq false1827 new_file: "./dir/foo", format: :markdown, existing_repo_files: ["dir/foo.rdoc"], success: false1828 is expected to eq false1829 new_file: "../dir/foo", format: :markdown, existing_repo_files: ["dir/foo.rdoc"], success: false1830 is expected to eq false1831 new_file: "../dir/../foo", format: :markdown, existing_repo_files: ["dir/foo.rdoc"], success: true1832 is expected to eq true1833 new_file: "../dir/../foo", format: :markdown, existing_repo_files: ["foo.rdoc"], success: false1834 is expected to eq false1835 new_file: "../dir/../dir/foo", format: :markdown, existing_repo_files: ["dir/foo.rdoc"], success: false1836 is expected to eq false1837 new_file: "../dir/../another/foo", format: :markdown, existing_repo_files: ["dir/foo.rdoc"], success: true1838 is expected to eq true1839 new_file: "another/dir/foo", format: :markdown, existing_repo_files: ["dir/foo.md"], success: true1840 is expected to eq true1841 new_file: "foo bar", format: :markdown, existing_repo_files: ["foo-bar.md"], success: false1842 is expected to eq false1843 new_file: "foo bar", format: :markdown, existing_repo_files: ["foo-bar.md"], success: true1844 is expected to eq true1845 new_file: "f\xF6\xF6", format: :markdown, existing_repo_files: ["f��.md"], success: false1846 is expected to eq false1847 #update_page1848 behaves like update_page tests1849 original_title: "test page", original_format: :markdown, updated_title: "new test page", updated_format: :markdown, expected_title: "new test page", expected_path: "new-test-page.md"1850 aggregate_failures1851 original_title: "test page", original_format: :markdown, updated_title: "test page", updated_format: :markdown, expected_title: "test page", expected_path: "test-page.md"1852 aggregate_failures1853 original_title: "test page", original_format: :markdown, updated_title: "test page", updated_format: :asciidoc, expected_title: "test page", expected_path: "test-page.asciidoc"1854 aggregate_failures1855 original_title: "test page", original_format: :markdown, updated_title: "new dir/new test page", updated_format: :markdown, expected_title: "new dir/new test page", expected_path: "new-dir/new-test-page.md"1856 aggregate_failures1857 original_title: "test page", original_format: :markdown, updated_title: "new dir/test page", updated_format: :markdown, expected_title: "new dir/test page", expected_path: "new-dir/test-page.md"1858 aggregate_failures1859 original_title: "test dir/test page", original_format: :markdown, updated_title: "new dir/new test page", updated_format: :markdown, expected_title: "new dir/new test page", expected_path: "new-dir/new-test-page.md"1860 aggregate_failures1861 original_title: "test dir/test page", original_format: :markdown, updated_title: "test dir/test page", updated_format: :markdown, expected_title: "test dir/test page", expected_path: "test-dir/test-page.md"1862 aggregate_failures1863 original_title: "test dir/test page", original_format: :markdown, updated_title: "test dir/test page", updated_format: :asciidoc, expected_title: "test dir/test page", expected_path: "test-dir/test-page.asciidoc"1864 aggregate_failures1865 original_title: "test dir/test page", original_format: :markdown, updated_title: "new test page", updated_format: :markdown, expected_title: "new test page", expected_path: "new-test-page.md"1866 aggregate_failures1867 original_title: "test dir/test page", original_format: :markdown, updated_title: "test page", updated_format: :markdown, expected_title: "test page", expected_path: "test-page.md"1868 aggregate_failures1869 original_title: "test page", original_format: :markdown, updated_title: nil, updated_format: :markdown, expected_title: "test page", expected_path: "test-page.md"1870 aggregate_failures1871 original_title: "test.page", original_format: :markdown, updated_title: nil, updated_format: :markdown, expected_title: "test.page", expected_path: "test.page.md"1872 aggregate_failures1873 original_title: "testpage", original_format: :markdown, updated_title: "./testpage", updated_format: :markdown, expected_title: "testpage", expected_path: "testpage.md"1874 aggregate_failures1875 original_title: "test page", original_format: :markdown, updated_title: "~new test page", updated_format: :asciidoc, expected_title: "~new test page", expected_path: "~new-test-page.asciidoc"1876 aggregate_failures1877 original_title: "test page", original_format: :markdown, updated_title: "~~~new test page", updated_format: :asciidoc, expected_title: "~~~new test page", expected_path: "~~~new-test-page.asciidoc"1878 aggregate_failures1879 original_title: "test page", original_format: :markdown, updated_title: "new test page", updated_format: :asciidoc, expected_title: "new test page", expected_path: "new-test-page.asciidoc"1880 aggregate_failures1881 original_title: "test page", original_format: :markdown, updated_title: "new dir/new test page", updated_format: :asciidoc, expected_title: "new dir/new test page", expected_path: "new-dir/new-test-page.asciidoc"1882 aggregate_failures1883 original_title: "test dir/test page", original_format: :markdown, updated_title: "new dir/new test page", updated_format: :asciidoc, expected_title: "new dir/new test page", expected_path: "new-dir/new-test-page.asciidoc"1884 aggregate_failures1885 original_title: "test dir/test page", original_format: :markdown, updated_title: "new test page", updated_format: :asciidoc, expected_title: "new test page", expected_path: "new-test-page.asciidoc"1886 aggregate_failures1887 original_title: "test page", original_format: :markdown, updated_title: nil, updated_format: :asciidoc, expected_title: "test page", expected_path: "test-page.asciidoc"1888 aggregate_failures1889 original_title: "test dir/test page", original_format: :markdown, updated_title: nil, updated_format: :asciidoc, expected_title: "test dir/test page", expected_path: "test-dir/test-page.asciidoc"1890 aggregate_failures1891 original_title: "test dir/test page", original_format: :markdown, updated_title: nil, updated_format: :markdown, expected_title: "test dir/test page", expected_path: "test-dir/test-page.md"1892 aggregate_failures1893 original_title: "test page", original_format: :markdown, updated_title: "", updated_format: :markdown, expected_title: "test page", expected_path: "test-page.md"1894 aggregate_failures1895 original_title: "test.page", original_format: :markdown, updated_title: "", updated_format: :markdown, expected_title: "test.page", expected_path: "test.page.md"1896 aggregate_failures1897 original_title: "testpage", original_format: :markdown, updated_title: "../testpage", updated_format: :markdown, expected_title: "testpage", expected_path: "testpage.md"1898 aggregate_failures1899 original_title: "dir/testpage", original_format: :markdown, updated_title: "dir/../testpage", updated_format: :markdown, expected_title: "testpage", expected_path: "testpage.md"1900 aggregate_failures1901 original_title: "dir/testpage", original_format: :markdown, updated_title: "./dir/testpage", updated_format: :markdown, expected_title: "dir/testpage", expected_path: "dir/testpage.md"1902 aggregate_failures1903 original_title: "dir/testpage", original_format: :markdown, updated_title: "../dir/testpage", updated_format: :markdown, expected_title: "dir/testpage", expected_path: "dir/testpage.md"1904 aggregate_failures1905 original_title: "dir/testpage", original_format: :markdown, updated_title: "../dir/../testpage", updated_format: :markdown, expected_title: "testpage", expected_path: "testpage.md"1906 aggregate_failures1907 original_title: "dir/testpage", original_format: :markdown, updated_title: "../dir/../dir/testpage", updated_format: :markdown, expected_title: "dir/testpage", expected_path: "dir/testpage.md"1908 aggregate_failures1909 original_title: "dir/testpage", original_format: :markdown, updated_title: "../dir/../another/testpage", updated_format: :markdown, expected_title: "another/testpage", expected_path: "another/testpage.md"1910 aggregate_failures1911 when format is invalid1912 returns false and sets error message1913 when format is not allowed1914 returns false and sets error message1915 when page path does not have a default extension1916 when format is not different1917 does not change the default extension1918 #delete_page1919 deletes the page1920 sets the correct commit email1921 runs after_wiki_activity callbacks1922 when an error is raised1923 logs the error and returns false1924 #hook_attrs1925 returns a hash with values1926 #default_branch1927 when repository is not created1928 returns the instance default branch1929 when repository is empty1930 returns the instance default branch1931 when repository is not empty1932 returns the repository default branch1933 #create_wiki_repository1934 when repository is not created1935 changes the HEAD reference to the default branch1936 when repository is empty1937 creates the repository with the default branch1938 #preview_slug1939 title: "The Best Thing", file_extension: :md, format: :markdown, expected_slug: "The-Best-Thing"1940 is expected to eq "The-Best-Thing"1941 matches the slug generated by gitaly1942 title: "The Best Thing", file_extension: :txt, format: :plaintext, expected_slug: "The-Best-Thing"1943 is expected to eq "The-Best-Thing"1944 matches the slug generated by gitaly1945 title: "A Subject/Title Here", file_extension: :txt, format: :plaintext, expected_slug: "A-Subject/Title-Here"1946 is expected to eq "A-Subject/Title-Here"1947 matches the slug generated by gitaly1948 title: "A subject", file_extension: :txt, format: :plaintext, expected_slug: "A-subject"1949 is expected to eq "A-subject"1950 matches the slug generated by gitaly1951 title: "A 1/B 2/C 3", file_extension: :txt, format: :plaintext, expected_slug: "A-1/B-2/C-3"1952 is expected to eq "A-1/B-2/C-3"1953 matches the slug generated by gitaly1954 title: "subject/title", file_extension: :txt, format: :plaintext, expected_slug: "subject/title"1955 is expected to eq "subject/title"1956 matches the slug generated by gitaly1957 title: "subject/title.md", file_extension: :txt, format: :plaintext, expected_slug: "subject/title.md"1958 is expected to eq "subject/title.md"1959 matches the slug generated by gitaly1960 title: "foo%2Fbar", file_extension: :txt, format: :plaintext, expected_slug: "foo%2Fbar"1961 is expected to eq "foo%2Fbar"1962 matches the slug generated by gitaly1963 title: "", file_extension: :md, format: :markdown, expected_slug: ".md"1964 is expected to eq ".md"1965 matches the slug generated by gitaly (PENDING: Gitaly cannot generate a slug for an empty title)1966 title: "", file_extension: :txt, format: :plaintext, expected_slug: ".txt"1967 is expected to eq ".txt"1968 matches the slug generated by gitaly (PENDING: Gitaly cannot generate a slug for an empty title)1969 #create_wiki_repository1970 tracks the repository storage in the database1971 #track_wiki_repository1972 when a tracking entry does not exist1973 creates a new entry1974 tracks the storage location1975 on a read-only instance1976 does not attempt to create a new entry1977 when a tracking entry exists1978 does not create a new entry in the database1979 updates the storage location1980 on a read-only instance1981 does not update the storage location1982 #storage1983 uses the group repository prefix1984 #repository_storage1985 gets the repository storage from the container1986 #hashed_storage?1987 returns true1988 #disk_path1989 returns the repository storage path1990 #after_post_receive1991 updates group statistics1992 behaves like EE wiki model1993 does not use Elasticsearch1994 #kerberos_url_to_repo1995 returns valid kerberos url for this repo1996 behaves like can housekeep repository1997 with a clean redis state1998 #pushes_since_gc1999 without any pushes2000 returns 02001 with a number of pushes2002 returns the number of pushes2003 #increment_pushes_since_gc2004 increments the number of pushes since the last GC2005 #reset_pushes_since_gc2006 resets the number of pushes since the last GC2007 #pushes_since_gc_redis_shared_state_key2008 returns the proper redis key format2009 #git_garbage_collect_worker_klass2010 defines a git gargabe collect worker2011Elastic::MigrationWorker2012 #perform2013 Feature Flag `elastic_migration_worker` is disabled2014 returns with no execution2015 indexing is disabled2016 returns without execution2017 unsupported elasticsearch version2018 pauses indexing and does not execute migration2019 indexing is enabled2020 an unexecuted migration present2021 creates an index if it does not exist2022 migration is halted2023 pause_indexing: false, halted_indexing_unpaused: false, unpause: false2024 unpauses indexing2025 pause_indexing: false, halted_indexing_unpaused: true, unpause: false2026 unpauses indexing2027 pause_indexing: true, halted_indexing_unpaused: false, unpause: true2028 unpauses indexing2029 pause_indexing: true, halted_indexing_unpaused: true, unpause: false2030 unpauses indexing2031 executing migration with retry_on_failure set2032 increases previous_attempts on failure2033 fails the migration if max_attempts is exceeded2034 migration process2035 started: false, completed: false, execute_migration: true, batched: false2036 calls migration only when needed2037 handles batched migrations2038 started: false, completed: true, execute_migration: true, batched: false2039 calls migration only when needed2040 handles batched migrations2041 started: false, completed: false, execute_migration: true, batched: true2042 calls migration only when needed2043 handles batched migrations2044 started: false, completed: true, execute_migration: true, batched: true2045 calls migration only when needed2046 handles batched migrations2047 started: true, completed: false, execute_migration: false, batched: false2048 calls migration only when needed2049 handles batched migrations2050 started: true, completed: true, execute_migration: false, batched: false2051 calls migration only when needed2052 handles batched migrations2053 started: true, completed: false, execute_migration: true, batched: true2054 calls migration only when needed2055 handles batched migrations2056 started: true, completed: true, execute_migration: true, batched: true2057 calls migration only when needed2058 handles batched migrations2059 indexing pause2060 started: false, completed: false, expected: false2061 pauses and unpauses indexing2062 started: true, completed: false, expected: false2063 pauses and unpauses indexing2064 started: true, completed: true, expected: true2065 pauses and unpauses indexing2066 checks space required2067 halts the migration if there is not enough space2068 runs the migration if there is enough space2069 when migration is already started2070 does not check space requirements2071 no unexecuted migrations2072 skips execution2073 no executed migrations2074 executes the first migration2075Ci::Minutes::Notification2076 when at project level2077 when eligible to see notifications2078 #show?2079 behaves like queries for notifications2080 without limit2081 is expected to be falsey2082 when limit is defined2083 when limit not yet exceeded2084 is expected to be falsey2085 when minutes are not yet set2086 is expected to be falsey2087 behaves like has notifications2088 when usage has reached a notification level2089 when at the warning level2090 #show?2091 has warning notification2092 behaves like aware of dismission cookie2093 does not show when cookie is set2094 #running_out?2095 is running out of minutes2096 #no_remaining_minutes?2097 has not ran out of minutes2098 #stage_percentage2099 provides percentage for current alert level2100 when at the danger level2101 #show?2102 has danger notification2103 behaves like aware of dismission cookie2104 does not show when cookie is set2105 #running_out?2106 is running out of minutes2107 #no_remaining_minutes?2108 has not ran out of minutes2109 #stage_percentage2110 provides percentage for current alert level2111 when right at the limit for notification2112 #show?2113 has warning notification2114 behaves like aware of dismission cookie2115 does not show when cookie is set2116 #running_out?2117 is running out of minutes2118 #no_remaining_minutes?2119 has not ran out of minutes2120 #stage_percentage2121 provides percentage for current alert level2122 when usage has exceeded the limit2123 #show?2124 has exceeded notification2125 behaves like aware of dismission cookie2126 does not show when cookie is set2127 #running_out?2128 does not have any minutes left2129 #no_remaining_minutes?2130 has run out of minutes out of minutes2131 #stage_percentage2132 provides percentage for current alert level2133 behaves like not eligible to see notifications2134 when not permitted to see notifications2135 #show?2136 has no notifications set2137 when user is not authenticated2138 behaves like not eligible to see notifications2139 when not permitted to see notifications2140 #show?2141 has no notifications set2142 when user is not in the correct role2143 behaves like not eligible to see notifications2144 when not permitted to see notifications2145 #show?2146 has no notifications set2147 when at namespace level2148 when eligible to see notifications2149 with a project that has runners enabled inside namespace2150 #show?2151 behaves like queries for notifications2152 without limit2153 is expected to be falsey2154 when limit is defined2155 when limit not yet exceeded2156 is expected to be falsey2157 when minutes are not yet set2158 is expected to be falsey2159 behaves like has notifications2160 when usage has reached a notification level2161 when at the warning level2162 #show?2163 has warning notification2164 behaves like aware of dismission cookie2165 does not show when cookie is set2166 #running_out?2167 is running out of minutes2168 #no_remaining_minutes?2169 has not ran out of minutes2170 #stage_percentage2171 provides percentage for current alert level2172 when at the danger level2173 #show?2174 has danger notification2175 behaves like aware of dismission cookie2176 does not show when cookie is set2177 #running_out?2178 is running out of minutes2179 #no_remaining_minutes?2180 has not ran out of minutes2181 #stage_percentage2182 provides percentage for current alert level2183 when right at the limit for notification2184 #show?2185 has warning notification2186 behaves like aware of dismission cookie2187 does not show when cookie is set2188 #running_out?2189 is running out of minutes2190 #no_remaining_minutes?2191 has not ran out of minutes2192 #stage_percentage2193 provides percentage for current alert level2194 when usage has exceeded the limit2195 #show?2196 has exceeded notification2197 behaves like aware of dismission cookie2198 does not show when cookie is set2199 #running_out?2200 does not have any minutes left2201 #no_remaining_minutes?2202 has run out of minutes out of minutes2203 #stage_percentage2204 provides percentage for current alert level2205 with no projects that have runners enabled inside namespace2206 behaves like not eligible to see notifications2207 when not permitted to see notifications2208 #show?2209 has no notifications set2210 behaves like not eligible to see notifications2211 when not permitted to see notifications2212 #show?2213 has no notifications set2214 when user is not authenticated2215 behaves like not eligible to see notifications2216 when not permitted to see notifications2217 #show?2218 has no notifications set2219 when user is not in the correct role2220 behaves like not eligible to see notifications2221 when not permitted to see notifications2222 #show?2223 has no notifications set2224Ci::Pipeline2225 associations2226 is expected to have many security_scans class_name => Security::Scan2227 is expected to have many security_findings class_name => Security::Finding through security_scans source => findings2228 is expected to have many downstream_bridges2229 is expected to have many vulnerability_findings class_name => Vulnerabilities::Finding through vulnerabilities_finding_pipelines2230 is expected to have many vulnerabilities_finding_pipelines class_name => Vulnerabilities::FindingPipeline2231 is expected to have one dast_profiles_pipeline class_name => Dast::ProfilesPipeline2232 is expected to have one dast_profile class_name => Dast::Profile through dast_profiles_pipeline2233 .failure_reasons2234 contains failure reasons about exceeded limits2235 #batch_lookup_report_artifact_for_file_type2236 with security report artifact2237 when feature is available2238 returns the dependency_scanning artifact2239 when feature is not available2240 doesn't return the dependency_scanning artifact2241 with license scanning artifact2242 when feature is available2243 returns the license_scanning artifact2244 when feature is not available2245 doesn't return the license_scanning artifact2246 with browser performance artifact2247 when feature is available2248 returns the browser_performance artifact2249 when feature is not available2250 doesn't return the browser_performance artifact2251 with load performance artifact2252 when feature is available2253 returns the load_performance artifact2254 when feature is not available2255 doesn't return the load_performance artifact2256 #expose_license_scanning_data?2257 is expected to be truthy2258 #security_reports2259 when pipeline has multiple builds with security reports2260 assigns pipeline to the reports2261 returns security reports with collected data grouped as expected2262 when builds are retried2263 does not take retried builds into account2264 when the `report_types` parameter is provided2265 returns only the reports which are requested2266 when pipeline does not have any builds with security reports2267 returns empty security reports2268 ::Security::StoreScansWorker2269 when pipeline is succeeded2270 behaves like storing the security scans2271 when the security scans can be stored for the pipeline2272 schedules store security scans job2273 when the security scans can not be stored for the pipeline2274 does not schedule store security scans job2275 when pipeline is dropped2276 behaves like storing the security scans2277 when the security scans can be stored for the pipeline2278 schedules store security scans job2279 when the security scans can not be stored for the pipeline2280 does not schedule store security scans job2281 when pipeline is skipped2282 behaves like storing the security scans2283 when the security scans can be stored for the pipeline2284 schedules store security scans job2285 when the security scans can not be stored for the pipeline2286 does not schedule store security scans job2287 when pipeline is canceled2288 behaves like storing the security scans2289 when the security scans can be stored for the pipeline2290 schedules store security scans job2291 when the security scans can not be stored for the pipeline2292 does not schedule store security scans job2293 ::Sbom::IngestReportsWorker2294 when transitioning to a completed status2295 transition: :succeed2296 behaves like ingesting sbom reports2297 when cyclonedx_sbom_ingestion feature flag is enabled2298 when sbom reports can be ingested for the pipeline2299 schedules ingest sbom reports job2300 when sbom reports can not be ingested for the pipeline2301 does not schedule ingest sbom reports job2302 when cyclonedx_sbom_ingestion feature flag is disabled2303 when the sbom reports can be ingested for the pipeline2304 does not schedule ingest sbom reports job2305 when the sbom report can not be ingested for the pipeline2306 does not schedule ingest sbom reports job2307 transition: :drop2308 behaves like ingesting sbom reports2309 when cyclonedx_sbom_ingestion feature flag is enabled2310 when sbom reports can be ingested for the pipeline2311 schedules ingest sbom reports job2312 when sbom reports can not be ingested for the pipeline2313 does not schedule ingest sbom reports job2314 when cyclonedx_sbom_ingestion feature flag is disabled2315 when the sbom reports can be ingested for the pipeline2316 does not schedule ingest sbom reports job2317 when the sbom report can not be ingested for the pipeline2318 does not schedule ingest sbom reports job2319 transition: :skip2320 behaves like ingesting sbom reports2321 when cyclonedx_sbom_ingestion feature flag is enabled2322 when sbom reports can be ingested for the pipeline2323 schedules ingest sbom reports job2324 when sbom reports can not be ingested for the pipeline2325 does not schedule ingest sbom reports job2326 when cyclonedx_sbom_ingestion feature flag is disabled2327 when the sbom reports can be ingested for the pipeline2328 does not schedule ingest sbom reports job2329 when the sbom report can not be ingested for the pipeline2330 does not schedule ingest sbom reports job2331 transition: :cancel2332 behaves like ingesting sbom reports2333 when cyclonedx_sbom_ingestion feature flag is enabled2334 when sbom reports can be ingested for the pipeline2335 schedules ingest sbom reports job2336 when sbom reports can not be ingested for the pipeline2337 does not schedule ingest sbom reports job2338 when cyclonedx_sbom_ingestion feature flag is disabled2339 when the sbom reports can be ingested for the pipeline2340 does not schedule ingest sbom reports job2341 when the sbom report can not be ingested for the pipeline2342 does not schedule ingest sbom reports job2343 when transitioning to a non-completed status2344 transition: :enqueue2345 does not ingest sbom reports2346 transition: :request_resource2347 does not ingest sbom reports2348 transition: :prepare2349 does not ingest sbom reports2350 transition: :run2351 does not ingest sbom reports2352 transition: :block2353 does not ingest sbom reports2354 transition: :delay2355 does not ingest sbom reports2356 #license_scanning_reports2357 when pipeline has multiple builds with license scanning reports2358 returns a license scanning report with collected data2359 when builds are retried2360 does not take retried builds into account2361 when pipeline does not have any builds with license scanning reports2362 returns an empty license scanning report2363 #dependency_list_reports2364 when pipeline has a build with dependency list reports2365 returns a dependency list report with collected data2366 when builds are retried2367 does not take retried builds into account2368 with failed builds2369 does not runs queries on failed builds2370 when pipeline does not have any builds with dependency_list reports2371 returns an empty dependency_list report2372 #metrics_report2373 when pipeline has multiple builds with metrics reports2374 returns a metrics report with collected data2375 when pipeline has multiple builds with metrics reports that are retried2376 does not take retried builds into account2377 when pipeline does not have any builds with metrics reports2378 returns an empty metrics report2379 #sbom_reports2380 when pipeline has a build with sbom reports2381 returns a list of sbom reports belonging to the artifact2382 when pipeline has multiple builds with sbom reports2383 returns a list of sbom reports belonging to the artifact2384 when pipeline does not have any builds with sbom reports2385 returns an empty reports list2386 state machine transitions2387 on pipeline complete2388 from waiting_for_resource2389 schedules Ci::SyncReportsToReportApprovalRulesWorker2390 from preparing2391 schedules Ci::SyncReportsToReportApprovalRulesWorker2392 from pending2393 schedules Ci::SyncReportsToReportApprovalRulesWorker2394 from running2395 schedules Ci::SyncReportsToReportApprovalRulesWorker2396 when pipeline has downstream bridges2397 when transitioning to success2398 schedules the pipeline bridge worker2399 when transitioning to blocked2400 schedules the pipeline bridge worker2401 when pipeline project has downstream subscriptions2402 when pipeline runs on a tag2403 when feature is not available2404 does not schedule the trigger downstream subscriptions worker2405 when feature is available2406 schedules the trigger downstream subscriptions worker2407 #latest_merged_result_pipeline?2408 is expected to be truthy2409 when pipeline is not merge request pipeline2410 is expected to be falsy2411 when source sha is outdated2412 is expected to be falsy2413 when target sha is outdated2414 is expected to be falsy2415 #retryable?2416 with pipeline for merged results2417 is expected to equal true2418 #merge_train_pipeline?2419 is expected to be truthy2420 when ref is merge ref2421 is expected to be falsy2422 #ensure_persistent_ref2423 when the persistent ref does not exist2424 logs a pipeline ref created event2425 when the persistent ref exists2426 does not log a pipeline ref created event2427 #merge_request_event_type2428 when pipeline is merge train pipeline2429 is expected to eq :merge_train2430 when pipeline is merge request pipeline2431 is expected to eq :merged_result2432 when pipeline is detached merge request pipeline2433 is expected to eq :detached2434 #latest_failed_security_builds2435 is expected to contain exactly #<Ci::Build status: "failed", finished_at: "2022-11-04 08:53:29.000000000 +0000", created_at: "2022-1... processed: false, scheduling_type: "stage", id: 62, stage_id: 22, partition_id: 100, tag_list: nil>2436 #license_scan_completed?2437 pipeline_status: :blocked, build_types: [:container_scanning], expected_status: false2438 is expected to eq false2439 pipeline_status: :blocked, build_types: [:cluster_image_scanning], expected_status: false2440 is expected to eq false2441 pipeline_status: :blocked, build_types: [:license_scan_v2_1, :container_scanning], expected_status: true2442 is expected to eq true2443 pipeline_status: :blocked, build_types: [:license_scan_v2_1], expected_status: true2444 is expected to eq true2445 pipeline_status: :blocked, build_types: [], expected_status: false2446 is expected to eq false2447 pipeline_status: :failed, build_types: [:container_scanning], expected_status: false2448 is expected to eq false2449 pipeline_status: :failed, build_types: [:cluster_image_scanning], expected_status: false2450 is expected to eq false2451 pipeline_status: :failed, build_types: [:license_scan_v2_1, :container_scanning], expected_status: true2452 is expected to eq true2453 pipeline_status: :failed, build_types: [:license_scan_v2_1], expected_status: true2454 is expected to eq true2455 pipeline_status: :failed, build_types: [], expected_status: false2456 is expected to eq false2457 pipeline_status: :running, build_types: [:container_scanning], expected_status: false2458 is expected to eq false2459 pipeline_status: :running, build_types: [:cluster_image_scanning], expected_status: false2460 is expected to eq false2461 pipeline_status: :running, build_types: [:license_scan_v2_1, :container_scanning], expected_status: true2462 is expected to eq true2463 pipeline_status: :running, build_types: [:license_scan_v2_1], expected_status: true2464 is expected to eq true2465 pipeline_status: :running, build_types: [], expected_status: false2466 is expected to eq false2467 pipeline_status: :success, build_types: [:container_scanning], expected_status: false2468 is expected to eq false2469 pipeline_status: :success, build_types: [:cluster_image_scanning], expected_status: false2470 is expected to eq false2471 pipeline_status: :success, build_types: [:license_scan_v2_1, :container_scanning], expected_status: true2472 is expected to eq true2473 pipeline_status: :success, build_types: [:license_scan_v2_1], expected_status: true2474 is expected to eq true2475 pipeline_status: :success, build_types: [], expected_status: false2476 is expected to eq false2477 #can_store_security_reports?2478 when the security reports can not be stored for the project2479 when the pipeline does not have security reports2480 is expected to be falsy2481 when the pipeline has security reports2482 is expected to be falsy2483 when the security reports can be stored for the project2484 when the pipeline does not have security reports2485 is expected to be falsy2486 when the pipeline has security reports2487 is expected to be truthy2488 #can_ingest_sbom_reports?2489 when pipeline has sbom_reports2490 when sbom report ingestion is available2491 is expected to equal true2492 when sbom report ingestion is not available2493 is expected to equal false2494 when pipeline does not have sbom_reports2495 when sbom report ingestion is available2496 is expected to equal false2497 when sbom report ingestion is not available2498 is expected to equal false2499 #security_findings_partition_number2500 when the pipeline already has associated `security_scans`2501 is expected to eq 202502 when the pipeline does not have associated `security_scans`2503 is expected to eq 5552504 #has_security_findings?2505 when the pipeline has security_findings2506 is expected to be truthy2507 when the pipeline does not have security_findings2508 is expected to be falsey2509 #triggered_for_ondemand_dast_scan?2510 when the feature flag is enabled2511 is expected to be truthy2512 when the pipeline only has the correct source2513 is expected to be falsey2514 when the pipeline only has the correct config_source2515 is expected to be falsey2516 #needs_touch?2517 when pipeline was updated less than 5 minutes ago2518 is expected to eq false2519 when pipeline was updated more than 5 minutes ago2520 is expected to eq true2521 #has_security_report_ingestion_warnings?2522 when there are no associated security scans with warnings2523 is expected to be falsey2524 when there is an associated security scan with warnings2525 is expected to be truthy2526 #has_security_report_ingestion_errors?2527 when there are no associated security scans with errors2528 is expected to be falsey2529 when there is an associated security scan with errors2530 is expected to be truthy2531Geo::UploadReplicator2532 invokes replicator.handle_after_create_commit on create2533 behaves like a replicator2534 Geo node status2535 on a primary site2536 .primary_total_count2537 when batch count feature flag is enabled2538 returns the number of available replicables on primary2539 when batch count feature flag is disabled2540 returns the number of available replicables on primary2541 on a secondary site2542 .synced_count2543 returns the number of synced items on secondary2544 .failed_count2545 returns the number of failed items on secondary2546 when replicator is Geo::RegistrySyncWorker compatible2547 has "created" and "deleted" events2548 #replicator2549 is defined and does not raise error2550 .replicables_for_current_secondary2551 when syncing object storage is enabled2552 behaves like is implemented and returns a valid relation2553 is implemented2554 when syncing object storage is disabled2555 behaves like is implemented and returns a valid relation2556 is implemented2557 with selective sync disabled2558 behaves like is implemented and returns a valid relation2559 is implemented2560 with selective sync enabled for namespaces2561 behaves like is implemented and returns a valid relation2562 is implemented2563 with selective sync enabled for shards2564 behaves like is implemented and returns a valid relation2565 is implemented2566 #handle_after_create_commit2567 creates a Geo::Event2568 calls #after_verifiable_update2569 when replication feature flag is disabled2570 does not call #after_verifiable_update2571 does not publish2572 #handle_after_destroy2573 creates a Geo::Event2574 when replication feature flag is disabled2575 does not publish2576 created event consumption2577 when the blob's project is in replicables for this geo node2578 invokes Geo::BlobDownloadService2579 when the blob's project is not in replicables for this geo node2580 does not invoke Geo::BlobDownloadService2581 deleted event consumption2582 when model_record was deleted from the DB and the replicator only has its ID2583 invokes Geo::FileRegistryRemovalService2584 backward compatibility2585 invokes Geo::FileRegistryRemovalService when delete event is in deprecated format2586 when object storage is enabled2587 when GitLab managed replication is enabled2588 deletes the file from object storage2589 when GitLab managed replication is disabled2590 does not delete the file from object storage2591 #carrierwave_uploader2592 is implemented2593 #model2594 is implemented2595 is a Class2596 responds to primary_key2597 #blob_path2598 when the file is locally stored2599 returns a valid path to a file2600 #calculate_checksum2601 when the file is locally stored2602 when the file exists2603 returns hexdigest of the file2604 when the file does not exist2605 raises an error2606 when the file is remotely stored2607 raises an error2608 #file_exists?2609 is expected to be truthy2610 when the file does not exist2611 is expected to be falsey2612 when the file is nil2613 is expected to be falsey2614 .bulk_create_delete_events_async2615 creates events2616 raises error when model_record_id is nil2617 events2618 has checksum_succeeded event2619 .verification_enabled?2620 when replication is enabled2621 when verification_feature_flag_enabled? returns true2622 returns true2623 when verification_feature_flag_enabled? returns false2624 returns false2625 when replication is disabled2626 returns false2627 .checksummed_count2628 when verification is enabled2629 returns the number of available verifiables where verification succeeded2630 excludes non-success verification states2631 when verification is disabled2632 returns nil2633 .checksum_failed_count2634 when verification is enabled2635 returns the number of available verifiables where verification failed2636 excludes other verification states2637 when verification is disabled2638 returns nil2639 .verification_total_count2640 when verification is enabled2641 returns the number of verification_not_disabled registry rows2642 when verification is disabled2643 returns nil2644 .trigger_background_verification2645 when verification is enabled2646 enqueues VerificationBatchWorker2647 enqueues VerificationTimeoutWorker2648 enqueues VerificationStateBackfillWorker2649 for a Geo secondary2650 does not enqueue ReverificationBatchWorker2651 for a Geo primary2652 enqueues ReverificationBatchWorker2653 when verification is disabled2654 does not enqueue VerificationBatchWorker2655 does not enqueue VerificationTimeoutWorker2656 .backfill_verification_state_table2657 calls VerificationStateBackfillService2658 when on secondary2659 returns false2660 .verify_batch2661 when there are records needing verification2662 calls #verify on each replicator2663 .remaining_verification_batch_count2664 converts needs_verification_count to number of batches2665 .remaining_reverification_batch_count2666 converts needs_reverification_count to number of batches2667 .reverify_batch!2668 calls #reverify_batch2669 .replicator_batch_to_verify2670 returns usable Replicator instances2671 .model_record_id_batch_to_verify2672 when the batch is filled by pending rows2673 returns IDs of pending rows2674 does not call .verification_failed_batch2675 when that batch is not filled by pending rows2676 includes IDs of failed rows2677 .verification_pending_batch2678 when current node is a primary2679 delegates to the model class of the replicator2680 when current node is a secondary2681 delegates to the registry class of the replicator2682 .verification_failed_batch2683 when current node is a primary2684 delegates to the model class of the replicator2685 when current node is a secondary2686 delegates to the registry class of the replicator2687 .fail_verification_timeouts2688 when current node is a primary2689 delegates to the model class of the replicator2690 when current node is a secondary2691 delegates to the registry class of the replicator2692 #after_verifiable_update2693 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true2694 calls verify_async only if needed2695 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false2696 calls verify_async only if needed2697 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false2698 calls verify_async only if needed2699 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false2700 calls verify_async only if needed2701 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true2702 calls verify_async only if needed2703 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false2704 calls verify_async only if needed2705 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true2706 calls verify_async only if needed2707 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false2708 calls verify_async only if needed2709 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false2710 calls verify_async only if needed2711 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false2712 calls verify_async only if needed2713 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false2714 calls verify_async only if needed2715 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false2716 calls verify_async only if needed2717 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false2718 calls verify_async only if needed2719 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false2720 calls verify_async only if needed2721 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false2722 calls verify_async only if needed2723 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false2724 calls verify_async only if needed2725 #verify_async2726 on a Geo primary2727 calls verification_started! and enqueues VerificationWorker2728 #verify2729 wraps the checksum calculation in track_checksum_attempt!2730 #verification_state_tracker2731 on a Geo primary2732 returns model_record2733 on a Geo secondary2734 returns registry2735 #handle_after_checksum_succeeded2736 on a Geo primary2737 creates checksum_succeeded event2738 is called on verification success2739 on a Geo secondary2740 does not create an event2741 #consume_event_checksum_succeeded2742 with a persisted model_record2743 on a Geo primary2744 does nothing2745 on a Geo secondary2746 with a persisted registry2747 with a registry which is verified2748 sets state to verification_pending2749 with a registry which is pending verification2750 does not change state from verification_pending2751 with an unpersisted registry2752 does not persist the registry2753 #primary_verification_succeeded?2754 when the model record is verification_succeeded2755 returns true2756 when the model record is verification_succeeded2757 returns false2758 integration tests2759 on a primary2760 background backfill2761 verifies model records2762 triggered by events2763 verifies model records2764 on a secondary2765 background backfill2766 verifies registries2767 triggered by events2768 verifies registries2769PushRulesHelper2770 global_setting: true, enabled_globally: true, enabled_in_project: false, current_user: :admin, help_text: :default_admin_help, invalid_text: nil2771 has the correct help text2772 has the correct help text2773 has the correct help text2774 global_setting: true, enabled_globally: false, enabled_in_project: false, current_user: :admin, help_text: :default_admin_help, invalid_text: nil2775 has the correct help text2776 has the correct help text2777 has the correct help text2778 global_setting: true, enabled_globally: true, enabled_in_project: true, current_user: :admin, help_text: :default_admin_help, invalid_text: nil2779 has the correct help text2780 has the correct help text2781 has the correct help text2782 global_setting: true, enabled_globally: false, enabled_in_project: true, current_user: :admin, help_text: :default_admin_help, invalid_text: nil2783 has the correct help text2784 has the correct help text2785 has the correct help text2786 global_setting: false, enabled_globally: true, enabled_in_project: nil, current_user: :admin, help_text: :setting_can_be_overridden, invalid_text: nil2787 has the correct help text2788 has the correct help text2789 has the correct help text2790 global_setting: false, enabled_globally: true, enabled_in_project: nil, current_user: :owner, help_text: :setting_can_be_overridden, invalid_text: nil2791 has the correct help text2792 has the correct help text2793 has the correct help text2794 global_setting: false, enabled_globally: true, enabled_in_project: nil, current_user: :owner, help_text: :requires_admin_contact, invalid_text: nil2795 has the correct help text2796 has the correct help text2797 has the correct help text2798 global_setting: false, enabled_globally: true, enabled_in_project: false, current_user: :admin, help_text: :setting_has_been_overridden, invalid_text: nil2799 has the correct help text2800 has the correct help text2801 has the correct help text2802 global_setting: false, enabled_globally: true, enabled_in_project: false, current_user: :owner, help_text: :setting_has_been_overridden, invalid_text: nil2803 has the correct help text2804 has the correct help text2805 has the correct help text2806 global_setting: false, enabled_globally: true, enabled_in_project: false, current_user: :owner, help_text: :requires_admin_contact, invalid_text: nil2807 has the correct help text2808 has the correct help text2809 has the correct help text2810 global_setting: false, enabled_globally: true, enabled_in_project: true, current_user: :owner, help_text: :setting_can_be_overridden, invalid_text: nil2811 has the correct help text2812 has the correct help text2813 has the correct help text2814 global_setting: false, enabled_globally: true, enabled_in_project: false, current_user: :owner, help_text: :setting_has_been_overridden, invalid_text: nil2815 has the correct help text2816 has the correct help text2817 has the correct help text2818 global_setting: false, enabled_globally: true, enabled_in_project: true, current_user: :owner, help_text: :requires_admin_contact, invalid_text: :setting_has_been_overridden2819 has the correct help text2820 has the correct help text2821 has the correct help text2822 global_setting: false, enabled_globally: true, enabled_in_project: false, current_user: :owner, help_text: :requires_admin_contact, invalid_text: :setting_can_be_overridden2823 has the correct help text2824 has the correct help text2825 has the correct help text2826 global_setting: false, enabled_globally: false, enabled_in_project: true, current_user: :admin, help_text: :base_help, invalid_text: :setting_can_be_overridden2827 has the correct help text2828 has the correct help text2829 has the correct help text2830 global_setting: false, enabled_globally: false, enabled_in_project: true, current_user: :admin, help_text: :base_help, invalid_text: :setting_has_been_overridden2831 has the correct help text2832 has the correct help text2833 has the correct help text2834MergeRequest2835 associations2836 is expected to contain exactly #<MergeRequestBlock id: 1, blocking_merge_request_id: 12, blocked_merge_request_id: 13, created_at: "2022-11-04 14:29:26.362701722 +0000", updated_at: "2022-11-04 14:29:26.362701722 +0000">2837 is expected to be empty2838 is expected to be empty2839 is expected to contain exactly #<MergeRequestBlock id: 4, blocking_merge_request_id: 18, blocked_merge_request_id: 19, created_at: "2022-11-04 14:29:33.692349452 +0000", updated_at: "2022-11-04 14:29:33.692349452 +0000">2840 is expected to be empty2841 is expected to contain exactly #<MergeRequest id:23 namespace1030/project1071!1>2842 is expected to contain exactly #<MergeRequest id:24 namespace1031/project1072!1>2843 is expected to be empty2844 #merge_blocked_by_other_mrs?2845 licensed2846 is false for the blocking MR2847 is true for the blocked MR when the blocking MR is open2848 is true for the blocked MR when the blocking MR is closed2849 is false for the blocked MR when the blocking MR is merged2850 unlicensed2851 is false for the blocked MR2852 #visible_blocking_merge_requests2853 shows blocking MR to developer2854 hides block from guest2855 hides block from anonymous user2856 #visible_blocking_merge_request_refs2857 returns the references for the result of #visible_blocking_merge_requests2858 #hidden_blocking_merge_requests_count2859 returns 0 when all MRs are visible2860 MR is hidden2861 returns 1 when MR is unmerged by default2862 MR is merged2863 returns 0 by default2864 returns 1 when include_merged: true2865Issues::CreateService2866 #execute2867 when current user cannot admin issues in the project2868 filters out params that cannot be set without the :admin_issue permission2869 when current user can admin issues in the project2870 sets permitted params correctly2871 when epics are enabled2872 behaves like issue with epic_id parameter2873 when epic_id does not exist2874 raises an exception2875 when epic_id is 02876 does not assign any epic2877 when user can not add issues to the epic2878 raises an exception2879 does not send usage data for added epic action2880 when user can add issues to the epic2881 when a project is a direct child of the epic group2882 creates epic issue link2883 calls EpicIssues::CreateService2884 events tracking2885 tracks usage data for added to epic action2886 behaves like issue_edit snowplow tracking2887 behaves like Snowplow event tracking2888 is not emitted if FF is disabled2889 is emitted2890 when epic param is also present2891 when epic_id belongs to another valid epic2892 creates epic issue link based on the epic param2893 when epic_id is empty2894 creates epic issue link based on the epic param2895 when a project is from a subgroup of the epic group2896 creates epic issue link2897 events tracking2898 tracks usage data for added to epic action2899 behaves like issue_edit snowplow tracking2900 behaves like Snowplow event tracking2901 is not emitted if FF is disabled2902 is emitted2903 when using quick actions2904 /epic action2905 adds an issue to the passed epic2906 with epic and milestone in commands only2907 sets epic and milestone to issuable and update epic start and due date2908 generates system notes for adding an epic and milestone2909 when assigning epic raises an exception2910 assigns the issue passed to the provided epic2911 when adding a public issue to confidential epic2912 creates confidential child issue2913 when adding a confidential issue to public epic2914 creates a confidential child issue2915 when iterations are available2916 when sprint_id is provided2917 is successful, and assigns the specified iteration to the issue2918 when iteration_id is provided2919 is successful, and assigns the specified iteration to the issue2920 when iteration_wildcard_id is provided2921 raises a mutually exclusive argument error2922 when user can't read the given iteration2923 is successful but does not assign the iteration2924 when iteration_wildcard_id is provided2925 when iteration_wildcard_id is CURRENT2926 when iteration_cadence_id is provided2927 is successful, and assigns the current iteration to the issue2928 when iteration_cadence_id is not provided2929 always requires iteration cadence id when wildcard is provided2930 when iteration_wildcard_id is invalid2931 is successful, and does not assign an iteration to the issue2932 when no iteration params are provided2933 is successful, and does not assign an iteration to the issue2934 when issue is of requirement_type2935 creates one requirement and one requirement issue2936 creates a requirement object with same parameters2937 when creation of requirement fails2938 does not create issue2939 when creation of issue fails2940 does not create requirement2941 when requirements feature is not available2942 creates a issue work item2943 behaves like new issuable with scoped labels2944 when scoped labels are available2945 when using label_ids parameter2946 adds only last selected exclusive scoped label2947 when using labels parameter2948 adds only last selected exclusive scoped label2949 when scoped labels are not available2950 adds all scoped labels2951Gitlab::Checks::DiffCheck2952 #validate!2953 no push rules active2954 does not attempt to check commits2955 #validate_code_owners?2956 when user can not push to the branch2957 when not updated from web2958 checks if the branch requires code owner approval2959 when updated from the web2960 returns false2961 when a user can push to the branch2962 returns false2963 #validate_code_owners2964 the MR contains a renamed file matching a file path2965 returns an error message2966 the MR contains a matching file path2967 behaves like returns codeowners validation message2968 returns an error message2969 the MR doesn't contain a matching file path2970 returns nil2971 #file_paths_validations2972 when the feature isn't enabled on the project2973 returns an empty array2974 when the feature is enabled on the project2975 updated_from_web? == false2976 returns an array of Proc(s)2977 updated_from_web? == true2978 returns an empty array2979 file name rules2980 file name regex check2981 returns an error if a new or renamed filed doesn't match the file name regex2982 returns an error if the regex is invalid2983 behaves like check ignored when push rule unlicensed2984 is expected to be truthy2985 blacklisted files check2986 returns true if there is no blacklisted files2987 returns an error if a new or renamed filed doesn't match the file name regex2988 behaves like check ignored when push rule unlicensed2989 is expected to be truthy2990 file lock rules2991 memoizes the validate_path_locks? call2992 when file has changes2993 behaves like a locked file2994 and path is locked by another user2995 returns an error2996 and path is locked by current user2997 is allows changes2998 when file is renamed2999 behaves like a locked file3000 and path is locked by another user3001 returns an error3002 and path is locked by current user3003 is allows changes3004 when file is deleted3005 behaves like a locked file3006 and path is locked by another user3007 returns an error3008 and path is locked by current user3009 is allows changes3010 when the branch is being deleted3011 does not run3012 when there is no valid change3013 does not run3014Geo::UploadRegistry3015 factory is valid3016 scopes3017 sync_timed_out3018 return correct records3019 finders3020 .find_registries_never_attempted_sync3021 returns unsynced items3022 returns items that never have an attempt to sync except some specific item ID3023 .find_registries_needs_sync_again3024 returns failed items3025 returns failed items except some specific item ID3026 orders records according to retry_at3027 .fail_sync_timeouts3028 marks started records as failed if they are expired3029 #failed!3030 sets last_sync_failure with message3031 truncates a long last_sync_failure3032 increments retry_count3033 sets retry_at to a time in the future3034 when an error is given3035 includes error.message in last_sync_failure3036 when missing_on_primary is not given3037 caps retry_at to default 1 hour3038 when missing_on_primary is falsey3039 caps retry_at to default 1 hour3040 when missing_on_primary is truthy3041 caps retry_at to 4 hours3042 state machine3043 when transitioning to synced3044 marks verification as pending3045 when the model_record cannot be verified3046 when the registry is already verification_disabled3047 changes verification to disabled3048 when the registry is verification_pending3049 changes verification to disabled3050 verification_state machine3051 when transitioning to verification_failed3052 changes state from synced to failed3053 .verification_pending_batch3054 returns IDs of rows which are synced and pending verification3055 excludes rows which are not synced or are not pending verification3056 marks verification as started3057 .verification_failed_batch3058 with a failed record with retry due3059 returns IDs of rows which are synced and have failed verification3060 excludes rows which are not synced or have not failed verification3061 marks verification as started3062 when verification_retry_at is in the future3063 does not return the row which failed verification3064 .needs_verification_count3065 returns the number of rows which are synced and pending verification3066 includes rows which are synced and failed verification and are due for retry3067 excludes rows which are synced and failed verification and have a future retry time3068 excludes rows which are not synced or are not (pending or failed) verification3069 #verification_succeeded!3070 clears checksum mismatch fields3071 #track_checksum_attempt!3072 yields to the checksum calculation3073 when verification was not yet started3074 starts verification3075 when the model record cannot be verified3076 when the registry is already verification_disabled3077 leaves verification as disabled3078 when the registry is verification_pending3079 changes verification to disabled3080 when the primary site is expected to checksum the model record3081 comparison with primary checksum3082 when the calculated checksum matches the primary checksum3083 transitions to verification_succeeded and updates the checksum3084 when the calculated checksum does not match the primary checksum3085 transitions to verification_failed and updates mismatch fields3086 when verification was started3087 does not update verification_started_at3088 when an error occurs while yielding3089 sets verification_failed3090Dashboard::Projects::ListService3091 #execute3092 when passing a project id3093 behaves like project found3094 returns the project3095 when passing a project record3096 behaves like project found3097 returns the project3098 when passing invalid project id3099 behaves like project not found3100 returns an empty list3101 with insufficient access3102 behaves like project not found3103 returns an empty list3104 checking license3105 plan: "ultimate", trial: false, expired: false, available: true3106 behaves like project found3107 returns the project3108 plan: "ultimate", trial: false, expired: true, available: true3109 behaves like project found3110 returns the project3111 plan: "ultimate", trial: true, expired: false, available: false3112 behaves like project not found3113 returns an empty list3114 plan: "ultimate", trial: true, expired: true, available: false3115 behaves like project not found3116 returns an empty list3117 plan: "premium", trial: false, expired: false, available: true3118 behaves like project found3119 returns the project3120 plan: nil, trial: false, expired: false, available: false3121 behaves like project not found3122 returns an empty list3123 checking plans3124 check_namespace_plan: true, plan: :gold, available: true3125 behaves like project found3126 returns the project3127 if :include_unavailable option is provided3128 behaves like project found3129 returns the project3130 check_namespace_plan: true, plan: :premium, available: true3131 behaves like project found3132 returns the project3133 if :include_unavailable option is provided3134 behaves like project found3135 returns the project3136 check_namespace_plan: true, plan: :ultimate, available: true3137 behaves like project found3138 returns the project3139 if :include_unavailable option is provided3140 behaves like project found3141 returns the project3142 check_namespace_plan: true, plan: nil, available: false3143 behaves like project not found3144 returns an empty list3145 if :include_unavailable option is provided3146 behaves like project found3147 returns the project3148 check_namespace_plan: false, plan: :gold, available: true3149 behaves like project found3150 returns the project3151 if :include_unavailable option is provided3152 behaves like project found3153 returns the project3154 check_namespace_plan: false, plan: :premium, available: true3155 behaves like project found3156 returns the project3157 if :include_unavailable option is provided3158 behaves like project found3159 returns the project3160 check_namespace_plan: false, plan: :ultimate, available: true3161 behaves like project found3162 returns the project3163 if :include_unavailable option is provided3164 behaves like project found3165 returns the project3166 check_namespace_plan: false, plan: nil, available: true3167 behaves like project found3168 returns the project3169 if :include_unavailable option is provided3170 behaves like project found3171 returns the project3172 checking availability of public projects on GitLab.com3173 check_namespace_plan: true, project_visibility: 20, namespace_visibility: 20, available: true3174 behaves like project found3175 returns the project3176 check_namespace_plan: true, project_visibility: 0, namespace_visibility: 20, available: false3177 behaves like project not found3178 returns an empty list3179 check_namespace_plan: true, project_visibility: 20, namespace_visibility: 0, available: false3180 behaves like project not found3181 returns an empty list3182 check_namespace_plan: true, project_visibility: 0, namespace_visibility: 0, available: false3183 behaves like project not found3184 returns an empty list3185 check_namespace_plan: false, project_visibility: 20, namespace_visibility: 20, available: true3186 behaves like project found3187 returns the project3188 check_namespace_plan: false, project_visibility: 0, namespace_visibility: 20, available: true3189 behaves like project found3190 returns the project3191 check_namespace_plan: false, project_visibility: 20, namespace_visibility: 0, available: true3192 behaves like project found3193 returns the project3194 check_namespace_plan: false, project_visibility: 0, namespace_visibility: 0, available: true3195 behaves like project found3196 returns the project3197 when the user is an auditor3198 behaves like project found3199 returns the project3200RequirementsManagement::Requirement3201 associations3202 is expected to belong to project required: false3203 is expected to have many test_reports through requirement_issue3204 is expected to have many recent_test_reports through requirement_issue order => requirements_management_test_reports.created_at DESC3205 behaves like a model with a requirement issue association3206 requirement issue association3207 when the requirement issue is of type requirement3208 is expected to be valid3209 when requirement issue is not of requirement type3210 is expected to include /must be a `requirement`/3211 when requirement issue is invalid but the type field is not dirty3212 is expected to be valid3213 is expected to be valid3214 delegate3215 is expected to delegate #author to the #requirement_issue object, allowing #requirement_issue to return nil3216 is expected to delegate #author_id to the #requirement_issue object, allowing #requirement_issue to return nil3217 is expected to delegate #title to the #requirement_issue object, allowing #requirement_issue to return nil3218 is expected to delegate #title_html to the #requirement_issue object, allowing #requirement_issue to return nil3219 is expected to delegate #description to the #requirement_issue object, allowing #requirement_issue to return nil3220 is expected to delegate #description_html to the #requirement_issue object, allowing #requirement_issue to return nil3221 is expected to delegate #cached_markdown_version to the #requirement_issue object, allowing #requirement_issue to return nil3222 is expected to delegate #created_at to the #requirement_issue object, allowing #requirement_issue to return nil3223 is expected to delegate #updated_at to the #requirement_issue object, allowing #requirement_issue to return nil3224 with nil attributes3225 returns delegated author value3226 returns delegated author_id value3227 returns delegated title value3228 returns delegated title_html value3229 returns delegated description value3230 returns delegated description_html value3231 returns delegated cached_markdown_version value3232 returns delegated created_at value3233 returns delegated updated_at value3234 validations3235 is expected to validate that :issue_id is case-sensitively unique3236 is expected to validate that :project cannot be empty/falsy3237 is expected to validate that :requirement_issue cannot be empty/falsy3238 is limited to a unique requirement_issue3239 must belong to same project of the work item3240 scopes3241 .counts_by_state3242 is expected to contain exactly ["archived", 1] and ["opened", 1]3243 .with_author3244 with one author3245 is expected to contain exactly #<RequirementsManagement::Requirement id: 14, project_id: 1115, iid: 1, issue_id: 61>3246 with multiple authors3247 is expected to contain exactly #<RequirementsManagement::Requirement id: 14, project_id: 1115, iid: 1, issue_id: 61> and #<RequirementsManagement::Requirement id: 15, project_id: 1115, iid: 2, issue_id: 62>3248 .search3249 with a query that covers both3250 is expected to contain exactly #<RequirementsManagement::Requirement id: 16, project_id: 1115, iid: 1, issue_id: 63> and #<RequirementsManagement::Requirement id: 17, project_id: 1115, iid: 2, issue_id: 64>3251 with a query that covers neither3252 is expected to be empty3253 with a query that covers one3254 is expected to contain exactly #<RequirementsManagement::Requirement id: 16, project_id: 1115, iid: 1, issue_id: 63>3255 behaves like a collection filtered by test reports state3256 .with_last_test_report_state3257 for passed state3258 is expected to contain exactly #<RequirementsManagement::Requirement id: 19, project_id: 1127, iid: 1, issue_id: 66> and #<RequirementsManagement::Requirement id: 20, project_id: 1128, iid: 1, issue_id: 67>3259 for failed state3260 is expected to contain exactly #<RequirementsManagement::Requirement id: 18, project_id: 1126, iid: 1, issue_id: 65>3261 .without_test_reports3262 returns requirements without test reports3263 .for_state3264 for opened state3265 is expected to contain exactly #<RequirementsManagement::Requirement id: 22, project_id: 1145, iid: 1, issue_id: 69>3266 for archived state3267 is expected to contain exactly #<RequirementsManagement::Requirement id: 23, project_id: 1146, iid: 1, issue_id: 70>3268 ordering3269 .order_created_desc3270 is expected to eq [#<RequirementsManagement::Requirement id: 26, project_id: 1149, iid: 1, issue_id: 73>, #<Requirement...ssue_id: 72>, #<RequirementsManagement::Requirement id: 24, project_id: 1147, iid: 1, issue_id: 71>]3271 .order_created_asc3272 is expected to eq [#<RequirementsManagement::Requirement id: 24, project_id: 1147, iid: 1, issue_id: 71>, #<Requirement...ssue_id: 72>, #<RequirementsManagement::Requirement id: 26, project_id: 1149, iid: 1, issue_id: 73>]3273 .order_updated_desc3274 is expected to eq [#<RequirementsManagement::Requirement id: 26, project_id: 1149, iid: 1, issue_id: 73>, #<Requirement...ssue_id: 72>, #<RequirementsManagement::Requirement id: 24, project_id: 1147, iid: 1, issue_id: 71>]3275 .order_updated_asc3276 is expected to eq [#<RequirementsManagement::Requirement id: 24, project_id: 1147, iid: 1, issue_id: 71>, #<Requirement...ssue_id: 72>, #<RequirementsManagement::Requirement id: 26, project_id: 1149, iid: 1, issue_id: 73>]3277 #last_test_report_state3278 when latest test report is passing3279 returns passing3280 when latest test report is failing3281 returns failing3282 when there are no test reports3283 returns nil3284 #status_manually_updated3285 when latest test report has a build3286 returns false3287 when latest test report does not have a build3288 returns true3289 sync with requirement issues3290 when destroying a requirement3291 also destroys the associated requirement issue3292 when destroying a requirement issue3293 also destroys the associated requirement3294 #state3295 when linked requirement issue is not present3296 returns nil3297 when linked requirement issue is present3298 returns requirement issue stored state3299 returns mapped value for state3300Project3301 finds projects3302 does not update Elasticsearch if pending_delete is true3303 finds partial matches in project names3304 names elasticsearch queries3305 returns json with all needed elements3306 when limited indexing is on3307 when the project is not enabled specifically3308 #searchable?3309 returns false3310 #use_elasticsearch?3311 returns false3312 when a project is enabled specifically3313 only indexes enabled projects3314 #searchable?3315 returns true3316 #use_elasticsearch?3317 returns true3318 when a group is enabled3319 indexes only projects under the group3320 #searchable?3321 returns true3322 default_operator3323 feature flag is enabled3324 uses correct operator3325 feature flag is disabled3326 uses correct operator3327 when projects and snippets co-exist3328 when searching with a wildcard3329 only returns projects (FAILED - 1)33311st Try error in ./ee/spec/models/concerns/elastic/project_spec.rb:153:3332expected: 13333 got: 173334(compared using ==)3336RSpec::Retry: 2nd try ./ee/spec/models/concerns/elastic/project_spec.rb:1533337MergeTrainsFinder3338 #execute3339 returns merge trains ordered by id3340 when sort is asc3341 returns merge trains in ascending order3342 when sort is asc3343 returns merge trains in descending order3344 when user is a guest3345 returns an empty list3346 when scope is given3347 when scope is active3348 returns active merge train3349 when scope is complete3350 returns complete merge train3351Resolvers::Geo::PackageFileRegistriesResolver3352 behaves like a Geo registries resolver3353 #resolve3354 when the parent object is the current node3355 when the user has permission to view Geo data3356 when admin mode is enabled3357 when the ids argument is null3358 returns registries, in order3359 when the ids argument is present3360 returns the requested registries, in order3361 when the replication_state argument is present3362 returns registries with requested replication state, in order3363 with verification enabled3364 when the verification_state argument is present3365 returns registries with requested verification state, in order3366 with verification disabled3367 when the verification_state argument is present3368 raises ArgumentError (PENDING: Skipping because verification is enabled for Packages::PackageFile)3369 when admin mode is disabled3370 returns nothing3371 when the user does not have permission to view Geo data3372 returns nothing3373 when the parent object is not the current node3374 when the user has permission to view Geo data3375 returns nothing, because we can't query other nodes' tracking databases3376Security::VulnerabilitiesFinder3377 returns vulnerabilities of a project3378 when not given a second argument3379 does not filter the vulnerability list3380 when filtered by report type3381 only returns vulnerabilities matching the given report types3382 when filtered by severity3383 only returns vulnerabilities matching the given severities3384 when filtered by state3385 only returns vulnerabilities matching the given states3386 when filtered by scanner external ID3387 only returns vulnerabilities matching the given scanner IDs3388 when filtered by scanner_id3389 only returns vulnerabilities matching the given scanner IDs3390 when filtered by project3391 only returns vulnerabilities matching the given projects3392 when sorted3393 ascending by severity3394 is expected to eq [#<Vulnerability id:41 [vulnerability:group321/project1358/41]>, #<Vulnerability id:43 [vulnerability:group321/project1358/43]>, #<Vulnerability id:42 [vulnerability:group321/project1358/42]>]3395 descending by severity3396 is expected to eq [#<Vulnerability id:42 [vulnerability:group321/project1358/42]>, #<Vulnerability id:43 [vulnerability:group321/project1358/43]>, #<Vulnerability id:41 [vulnerability:group321/project1358/41]>]3397 when filtered by has_issues argument3398 when has_issues is set to true3399 only returns vulnerabilities that have issues3400 when has_issues is set to false3401 only returns vulnerabilities that does not have issues3402 when filtered by has_resolution argument3403 when has_resolution is set to true3404 only returns vulnerabilities that have resolution3405 when has_resolution is set to false3406 only returns vulnerabilities that do not have resolution3407 when filtered by more than one property3408 only returns vulnerabilities matching all of the given filters3409 when filtered by image3410 only returns vulnerabilities matching the given image3411 when different report_type is passed3412 returns empty list3413 when vulnerable is InstanceSecurityDashboard3414 does not include cluster vulnerability3415 when filtered by cluster_id3416 only returns vulnerabilities matching the given cluster_id3417 when different report_type is passed3418 returns empty list3419 when filtered by cluster_agent_id3420 only returns vulnerabilities matching the given agent_id3421 when different report_type is passed3422 returns empty list3423 when there are vulnerabilities on non default branches3424 when deprecate_vulnerabilities_feedback feature flag is enabled3425 only returns vulnerabilities on the default branch by default3426 when present_on_default_branch is passed3427 returns vulnerabilities on all branches3428 when deprecate_vulnerabilities_feedback feature flag is disabled3429 returns vulnerabilities in all branches3430Resolvers::Geo::UploadRegistriesResolver3431 behaves like a Geo registries resolver3432 #resolve3433 when the parent object is the current node3434 when the user has permission to view Geo data3435 when admin mode is enabled3436 when the ids argument is null3437 returns registries, in order3438 when the ids argument is present3439 returns the requested registries, in order3440 when the replication_state argument is present3441 returns registries with requested replication state, in order3442 with verification enabled3443 when the verification_state argument is present3444 returns registries with requested verification state, in order3445 with verification disabled3446 when the verification_state argument is present3447 raises ArgumentError (PENDING: Skipping because verification is enabled for Upload)3448 when admin mode is disabled3449 returns nothing3450 when the user does not have permission to view Geo data3451 returns nothing3452 when the parent object is not the current node3453 when the user has permission to view Geo data3454 returns nothing, because we can't query other nodes' tracking databases3455UpdateAllMirrorsWorker3456 behaves like worker with data consistency3457 .get_data_consistency_feature_flag_enabled?3458 returns true3459 .get_data_consistency3460 returns correct data consistency3461 #perform3462 does nothing if the database is read-only3463 does not execute if cannot get the lease3464 removes metadata except correlation_id from the application context before scheduling mirrors3465 schedules mirrors3466 when updates were scheduled3467 waits until ProjectImportScheduleWorker job tracker returns 03468 sleeps a bit after scheduling mirrors3469 if capacity is available3470 reschedules the job3471 if no capacity is available3472 does not reschedule the job3473 when no updates were scheduled3474 does not reschedule the job3475 does not wait3476 #schedule_mirrors!3477 when the instance is unlicensed3478 does not schedule when project does not have repository mirrors available3479 when the instance is licensed3480 when capacity is in excess3481 schedules all available mirrors3482 when the instance checks namespace plans3483 when checking licenses on each record individually3484 when capacity is in excess3485 schedules all available mirrors3486 requests as many batches as necessary3487 does not schedule a mirror of an archived project3488 does not schedule a mirror of an pending_delete project3489 when capacity is exactly sufficient3490 schedules all available mirrors3491 requests as many batches as necessary3492 when capacity is insufficient3493 schedules mirrors by next_execution_timestamp3494 requests as many batches as necessary3495 when capacity is insufficient and the first batch is empty3496 schedules mirrors by next_execution_timestamp3497 requests as many batches as necessary3498Gitlab::ImportExport::Group::TreeRestorer3499 restore group tree3500 epics3501 has group epics3502 has award emoji3503 preserves epic state3504 epic notes3505 has epic notes3506 has award emoji on epic notes3507 has system note metadata3508 epic labels3509 has epic labels3510 epic resource state events3511 has resource state events3512 board lists3513 has milestone & assignee lists3514 boards3515 has user generated milestones3516 does not have predefined milestones3517 iteration candences3518 has cadence information3519 has iterations within cadences3520Environment3521 is expected to have many dora_daily_metrics3522 .deployed_to_cluster3523 when there is no deployment3524 returns nothing3525 when there is a deployment for the cluster3526 returns the environment for the last deployment3527 when there is a non-cluster deployment3528 returns nothing3529 when the non-cluster deployment is latest3530 returns nothing3531 #protected?3532 when Protected Environments feature is not available on the project3533 is expected to be falsy3534 when Protected Environments feature is available on the project3535 when the environment is protected3536 is expected to be truthy3537 when the environment is not protected3538 is expected to be falsy3539 #protected_from?3540 when Protected Environments feature is not available on the project3541 is expected to be falsy3542 when Protected Environments feature is available on the project3543 when the environment is not protected3544 is expected to be falsy3545 when the user is nil3546 is expected to be truthy3547 when environment is protected and user dont have access to it3548 is expected to be truthy3549 when environment is protected and user have access to it3550 is expected to be falsy3551 caches result3552 #protected_by?3553 when Protected Environments feature is not available on the project3554 is expected to be falsy3555 when Protected Environments feature is available on the project3556 when the environment is not protected3557 is expected to be falsy3558 when the user is nil3559 is expected to be falsy3560 when environment is protected and user dont have access to it3561 is expected to be falsy3562 when environment is protected and user have access to it3563 is expected to be truthy3564 #reactive_cache_updated3565 expires the environments path for the project3566 with a group cluster3567 expires the environments path for the group cluster3568 with an instance cluster3569 expires the environments path for the group cluster3570 #needs_approval?3571 when Protected Environments feature is available3572 with unified access level3573 with some approvals required3574 is expected to be truthy3575 with no approvals required3576 is expected to be falsey3577 with multi access levels3578 with some approvals required3579 is expected to be truthy3580 with no approvals required3581 is expected to be falsey3582 when Protected Environments feature is not available3583 is expected to be falsey3584 #required_approval_count3585 when Protected Environments feature is not available3586 is expected to eq 03587 when Protected Environments feature is available3588 and no associated protected environments exist3589 is expected to eq 03590 with unified approval setting3591 with one associated protected environment3592 returns the required_approval_count of the protected environment3593 with multiple associated protected environments3594 returns the highest required_approval_count of the protected environments3595 with multiple approval rules3596 returns the sum of required approvals for all approval rules3597 #has_approval_rules?3598 is expected to eq false3599 with approval rules3600 is expected to eq true3601 #find_approval_rule_for3602 is expected to be nil3603 with approval rules3604 when user belongs to QA group3605 is expected to eq #<ProtectedEnvironments::ApprovalRule id: 5, protected_environment_id: 16, user_id: nil, group_id: 33...1-04 14:35:20.102929704 +0000", access_level: nil, required_approvals: 1, group_inheritance_type: 0>3606 when user belongs to Security group3607 is expected to eq #<ProtectedEnvironments::ApprovalRule id: 8, protected_environment_id: 16, user_id: nil, group_id: 33...1-04 14:35:20.191299894 +0000", access_level: nil, required_approvals: 1, group_inheritance_type: 0>3608 when user belongs to both groups3609 returns one of the rules3610 when represented as QA group3611 is expected to eq #<ProtectedEnvironments::ApprovalRule id: 11, protected_environment_id: 16, user_id: nil, group_id: 3...1-04 14:35:20.347806547 +0000", access_level: nil, required_approvals: 1, group_inheritance_type: 0>3612 when represented as Security group3613 is expected to eq #<ProtectedEnvironments::ApprovalRule id: 14, protected_environment_id: 16, user_id: nil, group_id: 3...1-04 14:35:20.431063178 +0000", access_level: nil, required_approvals: 1, group_inheritance_type: 0>3614Members::CreateService3615 with group plan observing quota limits3616 already exceeded invite quota limit3617 behaves like quota limit exceeded3618 is expected to include {:status => :error, :message => "Invite limit of 2 per day exceeded"}3619 is expected not to change `Member.count`3620 will exceed invite quota limit3621 behaves like quota limit exceeded3622 is expected to include {:status => :error, :message => "Invite limit of 3 per day exceeded"}3623 is expected not to change `Member.count`3624 within invite quota limit3625 is expected to eq {:status=>:success}3626 is expected to include #<User id:1678 @user391> and #<User id:1679 @user392>3627 infinite invite quota limit3628 is expected to eq {:status=>:success}3629 is expected to include #<User id:1678 @user391> and #<User id:1679 @user392>3630 without a plan3631 is expected to eq {:status=>:success}3632 is expected to include #<User id:1678 @user391> and #<User id:1679 @user392>3633 when assigning tasks to be done3634 when passing many user ids3635 creates 2 task issues3636 streaming audit event3637 sends the audit streaming event3638 with seat availability concerns3639 when creating3640 when seat is available3641 with existing user that is a member in our hierarchy3642 adds the member3643 when under the dashboard limit3644 adds the members3645 when seat is not available3646 does not add members3647 when updating with no seats left3648 allows updating existing invited member3649Geo::PruneEventLogWorker3650 #perform3651 current node secondary3652 does nothing3653 current node primary3654 does nothing when database is not feeling healthy3655 does checks if it should prune3656 deletes also associated event table rows3657 delegates pruning to Geo::PruneEventLogService3658 no Geo secondary nodes3659 deletes everything from the Geo event log3660 no Geo primary node3661 deletes everything from the Geo event log3662 multiple secondary nodes3663 aborts when there is a node without status3664 aborts when there is an unhealthy node3665 aborts when there is a node with an old status3666 aborts when there is a node with a healthy status without timestamp3667 takes the integer-minimum value of all cursor_last_event_ids3668 #log_error3669 calls the Geo logger3670Milestone3671 searches milestones3672 returns json with all needed elements3673 behaves like limited indexing is enabled3674 when the project is not enabled specifically3675 #searchable?3676 returns false3677 when a project is enabled specifically3678 #searchable?3679 returns true3680 when a group is enabled3681 #searchable?3682 returns true3683 behaves like no results when the user cannot read cross project3684 returns the record if a single project was passed3685 does not return anything when trying to search cross project3686Users::DestroyService3687 #execute3688 when admin mode is disabled3689 raises access denied3690 when admin mode is enabled3691 when project is a mirror3692 disables mirror and does not assign a new mirror_user3693 when user has oncall rotations3694 in their own project3695 deletes the project and the schedule3696 in a group project3697 calls IncidentManagement::OncallRotations::RemoveParticipantsService3698 sends an email about the user being removed from the rotation3699 when user_destroy_with_limited_execution_time_worker is disabled3700 deletes the participant from the rotation3701 when user has escalation rules3702 deletes the escalation rules and notifies owners of group projects3703 when user_destroy_with_limited_execution_time_worker is disabled3704 when admin mode is enabled3705 returns result3706 migrating associated records3707 when hard_delete option is given3708 will ghost certain records3709 audit events3710 when licensed3711 does not log audit event if operation fails3712 does not log audit event if operation results in no change3713 when operation succeeds3714 logs an audit event3715 logs the audit event info3716 when not licensed3717 does not log audit event3718Iterations::DeleteService3719 #execute3720 when iterations feature enabled3721 when user is authorized3722 when deleting a past iteration3723 behaves like successfully deletes an iteration3724 is expected to be success3725 deletes the iteration and associated records3726 returns the iteration group as part of the response3727 when deleting the current iteration3728 behaves like iteration delete fails with message3729 is expected to be error3730 returns not allowed message3731 returns the iteration group as part of the response3732 when deleting a upcoming iteration that is not the last one3733 behaves like iteration delete fails with message3734 is expected to be error3735 returns not allowed message3736 returns the iteration group as part of the response3737 when deleting the last upcoming iteration3738 behaves like successfully deletes an iteration3739 is expected to be success3740 deletes the iteration and associated records3741 returns the iteration group as part of the response3742 when deleting the current iteration in another cadence3743 behaves like successfully deletes an iteration3744 is expected to be success3745 deletes the iteration and associated records3746 returns the iteration group as part of the response3747 when user is not authorized3748 behaves like iteration delete fails with message3749 is expected to be error3750 returns not allowed message3751 returns the iteration group as part of the response3752 when iterations feature disabled3753 when user is authorized3754 behaves like iteration delete fails with message3755 is expected to be error3756 returns not allowed message3757 returns the iteration group as part of the response3758 when user is not authorized3759 behaves like iteration delete fails with message3760 is expected to be error3761 returns not allowed message3762 returns the iteration group as part of the response3763Gitlab::Ci::Parsers::Security::DependencyList3764 #parse!3765 with dependency_list artifact3766 parses all files3767 with dependency_scanning dependencies3768 does not causes N+1 query3769 merges vulnerability data3770 with newfound dependency3771 adds new dependency and vulnerability to the report3772 with container_scanning dependencies3773 adds new dependency and vulnerability to the report with modified path3774 with null dependencies3775 ignores null dependencies3776 #parse_licenses!3777 with existing license3778 apply license to dependency3779 without existing license3780 does not apply any license if name mismatch3781DastSiteToken3782 associations3783 is expected to belong to project required: false3784 validations3785 is expected to be valid3786 is expected to validate that :project_id cannot be empty/falsy3787 is expected to validate that the length of :token is at most 2553788 is expected to validate that the length of :url is at most 2553789 is expected to validate that :token cannot be empty/falsy3790 is expected to validate that :url cannot be empty/falsy3791 is expected to validate that :token is case-sensitively unique3792 is expected to validate that :url is case-sensitively unique within the scope of :project_id3793 behaves like dast url addressable3794 includes UrlAddressable3795 when the url is not public3796 is valid3797 #dast_site3798 when dast_site exists3799 finds the associated dast_site3800 when dast_site does not exist3801 returns nil3802Elastic::ClusterReindexingService3803 state: initial3804 aborts if the main index does not use aliases3805 aborts if there are pending ES migrations3806 errors when there is not enough space3807 pauses elasticsearch indexing3808 state: indexing_paused3809 when targets are empty3810 creates subtasks and slices3811 when targets are provided3812 targets set to issue and repository3813 creates multiple indices3814 targets do not include repository3815 does not create the main index3816 state: reindexing3817 errors are raised3818 errors if task is not found3819 documents count3820 errors if documents count is different3821 reindexing slice failed3822 when retry limit is reached on a slice3823 errors and changes task state from reindexing to failed3824 before retry limit reached3825 increases retry_attempt and reindexes the slice again3826 slice totals do not match3827 when retry limit is reached on a slice3828 errors and changes task state from reindexing to failed3829 before retry limit reached3830 increases retry_attempt and reindexes the slice again3831 slice batching3832 kicks off the next set of slices if the current slice is finished3833 task finishes correctly3834 refresh_interval: nil, current_settings: {}3835 launches all state steps3836 refresh_interval: "60s", current_settings: {:refresh_interval=>"60s"}3837 launches all state steps3838Members::UpdateService3839 when current user can update the given member3840 behaves like logs an audit event3841 is expected to change `AuditEvent.count` by 13842 behaves like logs an audit event3843 is expected to change `AuditEvent.count` by 13844 when the update is a noOp3845 behaves like does not log an audit event3846 is expected not to change `AuditEvent.count`3847 behaves like does not log an audit event3848 is expected not to change `AuditEvent.count`3849 when access_level remains the same and expires_at changes3850 behaves like logs an audit event3851 is expected to change `AuditEvent.count` by 13852 when expires_at remains the same and access_level changes3853 behaves like logs an audit event3854 is expected to change `AuditEvent.count` by 13855Gitlab::Geo::Replication::BlobDownloader3856 #execute3857 precondition failures3858 not a Geo secondary3859 returns failure3860 no Geo primary exists3861 returns failure3862 when the file is locally stored3863 ensures the file destination directory exists (PENDING: Temporarily skipped with xit)3864 when the file destination is already taken by a directory3865 returns failure3866 when the file is on Object Storage3867 with object storage sync enabled3868 when the primary proxies remote storage3869 returns success3870 when the primary redirects to remote storage3871 returns success3872 with object storage disabled3873 returns failure3874 with object storage sync disabled3875 returns failure3876 when an error occurs while getting a Tempfile3877 returns failure3878 when the HTTP response is unsuccessful3879 when the HTTP response indicates a missing file on the primary3880 returns a failed result indicating primary_missing_file3881 when the HTTP response does not indicate a missing file on the primary3882 returns a failed result3883 when the HTTP response is successful3884 returns success3885 when the checksum of the downloaded file does not match3886 returns a failed result3887 when the primary has not stored a checksum for the file3888 returns a successful result3889RequirementsManagement::RequirementsFinder3890 #execute3891 when requirements are enabled3892 when project is not set3893 does not return any requirements3894 when project is set3895 returns all requirements in the project3896 when state is set3897 returns matched requirements3898 when iid is set3899 returns matched requirements3900 when last_test_report_state is set3901 returns matched requirements3902 when last_test_report_state is not valid3903 does not filter requirements3904 does not raise error3905 when user can not read requirements in the project3906 does not return any requirements3907 filter by author3908 author_username: "projectusername", filtered_requirements: [:requirement1, :requirement2]3909 returns the requirements filtered3910 author_username: "nonexistent_user", filtered_requirements: []3911 returns the requirements filtered3912 author_username: nil, filtered_requirements: [:requirement3, :requirement2, :requirement1]3913 returns the requirements filtered3914 author_username: ["projectusername", "otheruser123"], filtered_requirements: [:requirement3, :requirement2, :requirement1]3915 returns the requirements filtered3916 author_username: ["nonexistentuser", "nonsense"], filtered_requirements: []3917 returns the requirements filtered3918 filter by search3919 query: "nonsense", filtered_requirements: []3920 returns the requirements filtered3921 query: "serverless", filtered_requirements: [:requirement1]3922 returns the requirements filtered3923 query: "with", filtered_requirements: [:requirement1, :requirement3]3924 returns the requirements filtered3925 query: nil, filtered_requirements: [:requirement3, :requirement2, :requirement1]3926 returns the requirements filtered3927 query: "", filtered_requirements: [:requirement3, :requirement2, :requirement1]3928 returns the requirements filtered3929 ordering3930 sort: "id_asc", ordered_requirements: [:requirement1, :requirement2, :requirement3]3931 returns the requirements ordered3932 sort: "id_desc", ordered_requirements: [:requirement3, :requirement2, :requirement1]3933 returns the requirements ordered3934 sort: "updated_at_asc", ordered_requirements: [:requirement1, :requirement3, :requirement2]3935 returns the requirements ordered3936 sort: "updated_at_desc", ordered_requirements: [:requirement2, :requirement3, :requirement1]3937 returns the requirements ordered3938 sort: "err", ordered_requirements: [:requirement3, :requirement2, :requirement1]3939 returns the requirements ordered3940 when requirements are disabled3941 when project is set3942 does not return any requirements3943Resolvers::VulnerabilitySeveritiesCountResolver3944 #resolve3945 when the user does not have access3946 is redacted3947 when the user has access3948 when given severities3949 only returns count for low severity vulnerability3950 when given states3951 only returns count for high severity vulnerability3952 when given scanner3953 only returns count for high severity vulnerability3954 when given image3955 only returns count for medium severity vulnerability3956 when given cluster agent id3957 only returns count for medium severity vulnerability3958 when given scanner ID3959 only returns count for vulnerabilities with scanner ID3960 when given report types3961 only returns count for vulnerabilities of the given report types3962 when resolving vulnerabilities for a project3963 returns the project's vulnerabilities3964 when filtering vulnerabilities with issues3965 only returns count for vulnerabilities with issues3966 when filtering vulnerabilities with issues3967 only returns count for vulnerabilities with issues3968 when filtering resolved vulnerabilities3969 only returns count for resolved vulnerabilities3970 when filtering resolved vulnerabilities3971 only returns count for resolved vulnerabilities3972 when resolving vulnerabilities for an instance security dashboard3973 when there is a current user3974 returns vulnerabilities for all projects on the current user's instance security dashboard3975 without a current user3976 returns no vulnerabilities3977NamespaceSetting3978 validations3979 is expected to validate that :unique_project_download_limit cannot be empty/falsy3980 is expected to validate that :unique_project_download_limit_interval_in_seconds cannot be empty/falsy3981 is expected to validate that :unique_project_download_limit looks like an integer greater than or equal to 0 and less than or equal to 100003982 is expected to validate that :unique_project_download_limit_interval_in_seconds looks like an integer greater than or equal to 0 and less than or equal to 8640003983 unique_project_download_limit_allowlist3984 is expected to allow :unique_project_download_limit_allowlist to be ‹[]›3985 is expected to allow :unique_project_download_limit_allowlist to be ‹["user456"]›3986 is expected not to allow :unique_project_download_limit_allowlist to be ‹nil›3987 is expected not to allow :unique_project_download_limit_allowlist to be ‹["unknown_user"]›3988 when maximum length is exceeded3989 is not valid3990 #prevent_forking_outside_group?3991 with feature available3992 group with no associated saml provider3993 returns namespace setting3994 group with associated saml provider3995 when it is configured to true on saml level3996 returns true3997 when it is configured to false on saml level3998 returns false3999 when setting is configured on namespace level4000 returns namespace setting4001 without feature available4002 returns false4003 when saml setting is available4004 when it is configured to true on saml level4005 returns true4006 when it is configured to false on saml level4007 returns false4008 validating new_user_signup_cap4009 feature_available: true, old_value: nil, new_value: 10, expectation: true4010 returns the expected response4011 feature_available: true, old_value: 0, new_value: 10, expectation: true4012 returns the expected response4013 feature_available: true, old_value: 0, new_value: 0, expectation: true4014 returns the expected response4015 feature_available: false, old_value: nil, new_value: 10, expectation: false4016 returns the expected response4017 feature_available: false, old_value: 10, new_value: 10, expectation: true4018 returns the expected response4019 when enabling the setting4020 when the group is a subgroup4021 behaves like user cap is not available4022 is invalid4023 when the group is shared externally4024 behaves like user cap is not available4025 is invalid4026 when the namespace is a user4027 behaves like user cap is not available4028 is invalid4029 hooks related to group user cap update4030 when updating a group with a user cap4031 also sets share_with_group_lock and prevent_sharing_groups_outside_hierarchy to true4032 has share_with_group_lock and prevent_sharing_groups_outside_hierarchy returning true for descendent groups4033 when removing a user cap from namespace settings4034 leaves share_with_group_lock and prevent_sharing_groups_outside_hierarchy set to true to the related group4035 .allowed_namespace_settings_params4036 includes attributes used for limiting unique project downloads4037AppSec::Fuzzing::Coverage::Corpus4038 associations4039 is expected to belong to package class_name => Packages::Package required: false4040 is expected to belong to user optional: true4041 is expected to belong to project required: false4042 validate4043 project_same_as_package_project4044 raises the error on adding the package of a different project4045 package_with_package_file4046 without a package file associated to the package4047 raises the error4048 with a package file associated to the package4049 saves the record successfully4050 validate_file_format4051 with an invalid last package file4052 raises the error on adding the package file with different format4053 with a valid last package file4054 saves the record successfully4055 validates4056 is expected to validate that :package_id is case-sensitively unique4057 scopes4058 .by_project_id_and_status_hidden4059 with another_corpus having different project_id4060 includes the correct records4061 with another_corpus having same project with different status apart from hidden4062 includes the correct records4063Geo::GroupWikiRepositoryRegistryFinder4064 behaves like a framework registry finder4065 #execute4066 when user cannot read all Geo4067 is expected to be empty4068 when user can read all Geo4069 when admin mode is disabled4070 is expected to be empty4071 when admin mode is enabled4072 with an ids param4073 returns specified registries4074 with an ids param empty4075 returns all registries4076 with a replication_state param4077 returns registries with requested replication state4078 with a replication_state param empty4079 returns all registries4080 with verification enabled4081 with a verification_state param4082 returns registries with requested verification state (PENDING: Skipping because verification is not enabled for GroupWikiRepository)4083 with a verification_state param empty4084 returns all registries (PENDING: Skipping because verification is not enabled for GroupWikiRepository)4085 with verification disabled4086 with a verification_state param4087 raises ArgumentError4088 with a verification_state param empty4089 raises ArgumentError4090 with no params4091 returns all registries4092RepositoryUpdateMirrorWorker4093 #perform4094 sets status as finished when update mirror service executes successfully4095 sets status as failed when update mirror service executes with errors4096 marks mirror as failed when an error occurs4097 behaves like worker with data consistency4098 .get_data_consistency_feature_flag_enabled?4099 returns true4100 when feature flag :delayed_repository_update_mirror_worker is disabled4101 returns false4102 .get_data_consistency4103 returns correct data consistency4104 with association preloading4105 loads association before the first write operation4106 with another worker already running4107 returns nil4108 when worker was reset without cleanup4109 sets status as finished when update mirror service executes successfully4110 behaves like an idempotent worker4111 is labeled as idempotent4112 performs multiple times sequentially without raising an exception4113Gitlab::ImportExport::Project::ObjectBuilder4114 epics4115 finds the existing epic4116 finds the existing epic in root ancestor4117 creates a new epic4118 iterations4119 finds existing iteration based on iterations cadence title4120 when existing iteration does not exist4121 does not create a new iteration4122Dast::SiteProfilesBuild4123 associations4124 is expected to belong to ci_build class_name => Ci::Build required: true4125 is expected to belong to dast_site_profile class_name => DastSiteProfile required: true4126 validations4127 is expected to be valid4128 is expected to validate that :ci_build_id cannot be empty/falsy4129 is expected to validate that :dast_site_profile_id cannot be empty/falsy4130 when the ci_build.project_id and dast_site_profile.project_id do not match4131 is not valid4132 behaves like cleanup by a loose foreign key4133 cleans up (delete or nullify) the model4134Gitlab::Auth::GroupSaml::MembershipUpdater4135 adds the user to the group4136 adds the member with the specified `default_membership_role`4137 doesn't duplicate group membership4138 doesn't overwrite existing membership level4139 logs an audit event4140 does not enqueue group sync4141 when SAML group links exist4142 when group sync is not available4143 does not enqueue group sync4144 when group sync is available4145 enqueues group sync4146 with a group link outside the top-level group4147 enqueues group sync without the outside group4148 when auth hash contains no groups4149 enqueues group sync4150 when auth hash groups do not match group links4151 enqueues group sync4152EE::ProjectSecurityScannersInformation4153 #available_scanners4154 returns a list of all scanners available for the project4155 #enabled_scanners4156 returns a list of all scanners enabled for the project4157 #scanners_run_by_last_pipeline4158 returns a list of all scanners which were run successfully in the latest pipeline4159 does not include non-security scanners4160 when pipeline has no build reports4161 is expected to be empty4162Vulnerabilities::Findings::FindOrCreateFromSecurityFindingService#execute4163 # order random4164 when there is no report finding for the security finding4165 returns an error4166 when there is an existing vulnerability and vulnerability finding for the security finding4167 returns the existing Vulnerability::Finding with the existing vulnerability id4168 when the report finding has signatures4169 associates the signatures4170 behaves like create vulnerability finding4171 creates a new vulnerability finding4172 when the report finding has evidences4173 associates the signatures4174 behaves like create vulnerability finding4175 creates a new vulnerability finding4176 when security finding not found4177 returns an error4178 when there is no vulnerability for the security finding4179 creates a new Vulnerability::Finding without Vulnerability4180 when sast_fp_reduction feature is available4181 associates the vulnerabilities flags4182 behaves like create vulnerability finding4183 creates a new vulnerability finding4184 when there is an error saving the security finding4185 returns an error4186Banzai::ReferenceParser::IterationParser4187 in project context4188 behaves like parses iteration references4189 #nodes_visible_to_user4190 when the link has a data-iteration attribute4191 behaves like referenced feature visibility4192 when feature is disabled4193 does not create reference4194 when feature is enabled only for team members4195 does not create reference for non member4196 creates reference for member4197 when feature is enabled4198 creates reference4199 when the link references an iteration in parent group4200 behaves like referenced feature visibility4201 when feature is disabled4202 does not create reference4203 when feature is enabled only for team members4204 does not create reference for non member4205 creates reference for member4206 when feature is enabled4207 creates reference4208 #referenced_by4209 when the link has a data-iteration attribute4210 using an existing iteration ID4211 returns an Array of iterations4212 using an iteration from parent group4213 returns an Array of iterations4214 using a non-existing iteration ID4215 returns an empty Array4216 in group context4217 behaves like parses iteration references4218 #nodes_visible_to_user4219 when the link has a data-iteration attribute4220 behaves like referenced feature visibility4221 when feature is disabled4222 does not create reference4223 when feature is enabled only for team members4224 does not create reference for non member4225 creates reference for member4226 when feature is enabled4227 creates reference4228 when the link references an iteration in parent group4229 behaves like referenced feature visibility4230 when feature is disabled4231 does not create reference4232 when feature is enabled only for team members4233 does not create reference for non member4234 creates reference for member4235 when feature is enabled4236 creates reference4237 #referenced_by4238 when the link has a data-iteration attribute4239 using an existing iteration ID4240 returns an Array of iterations4241 using an iteration from parent group4242 returns an Array of iterations4243 using a non-existing iteration ID4244 returns an empty Array4245Analytics::CycleAnalytics::DataLoaderService4246 validations4247 when wrong model is passed4248 returns service error response4249 when license is missing4250 returns service error response4251 when sub-group is given4252 returns service error response4253 data loading into stage tables4254 loads nothing for Issue model4255 loads nothing for MergeRequest model4256 when MergeRequest data is present4257 inserts stage records4258 inserts nothing for group outside of the hierarchy4259 when all records are processed4260 finishes with model_processed reason4261 when MAX_UPSERT_COUNT is reached4262 finishes with limit_reached reason4263 when cursor is given4264 continues processing the records from the cursor4265 when Issue data is present4266 inserts stage records4267Resolvers::Geo::GroupWikiRepositoryRegistriesResolver4268 behaves like a Geo registries resolver4269 #resolve4270 when the parent object is the current node4271 when the user has permission to view Geo data4272 when admin mode is enabled4273 when the ids argument is null4274 returns registries, in order4275 when the ids argument is present4276 returns the requested registries, in order4277 when the replication_state argument is present4278 returns registries with requested replication state, in order4279 with verification enabled4280 when the verification_state argument is present4281 returns registries with requested verification state, in order (PENDING: Skipping because verification is not enabled for GroupWikiRepository)4282 with verification disabled4283 when the verification_state argument is present4284 raises ArgumentError4285 when admin mode is disabled4286 returns nothing4287 when the user does not have permission to view Geo data4288 returns nothing4289 when the parent object is not the current node4290 when the user has permission to view Geo data4291 returns nothing, because we can't query other nodes' tracking databases4292GitlabSubscriptions::Features4293 License -> Plan mapping4294 bronze plan4295 is mapped to a license tier4296 silver plan4297 is mapped to a license tier4298 premium plan4299 is mapped to a license tier4300 gold plan4301 is mapped to a license tier4302 ultimate plan4303 is mapped to a license tier4304 ultimate_trial plan4305 is mapped to a license tier4306 premium_trial plan4307 is mapped to a license tier4308 opensource plan4309 is mapped to a license tier4310 .plans_with_feature4311 starter feature is in all plans4312 premium feature is in premium and ultimate plans4313 ultimate feature is in ultimate plan4314 when param is a global feature4315 is expected to raise ArgumentError4316 when feature does not exist4317 is expected to be empty4318 .saas_plans_with_feature4319 a Starter feature4320 is present in all paid plans4321 a Premium feature4322 is present in all Premium+ plans4323 an Ultimate feature4324 is present in all top plans4325 a global feature4326 cannot be checked using this method4327 a non existing feature4328 is not in any plan4329 .global?4330 when it is a global feature4331 is expected to equal true4332 when it is not a global feature4333 is expected to equal false4334 .features4335 when plan is Starter4336 includes only Starter features4337 when add-ons are present4338 includes Starter features and add-on features4339 when plan is Premium4340 includes Starter and Premium features4341 when add-ons are present4342 includes Starter and Premium features and add-on features4343 when plan is Ultimate4344 includes Starter, Premium and Ultimate features4345 when add-ons are present4346 includes Starter, Premium and Ultimate features4347 includes also add-on features4348 .usage_ping_feature?4349 when param is a Starter usage ping feature4350 is expected to be truthy4351 when usage ping setting is disabled4352 is expected to be falsey4353 when param is a Premium usage ping feature4354 is expected to be truthy4355 when usage ping setting is disabled4356 is expected to be falsey4357 when param is another usage ping feature4358 is expected to be falsey4359Security::Ingestion::Tasks::IngestVulnerabilities::Create4360 vulnerability state4361 when finding has dismissal feedback4362 sets the state of the vulnerability to `dismissed`4363 when finding has no dismissal feedback4364 sets the state of the vulnerability to `detected`4365ContainerRepository4366 .with_target_import_tier4367 all_plans disabled4368 limit_gitlab_org enabled4369 is expected to contain exactly #<ContainerRepository id: 2, project_id: 1560, name: "test_image_2", created_at: "2022-11-04 14:38:56...efault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>4370 with sub group named gitlab-org4371 is expected to contain exactly #<ContainerRepository id: 2, project_id: 1560, name: "test_image_2", created_at: "2022-11-04 14:38:56...efault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>4372 with no gitlab root namespace4373 is expected to be empty4374 limit_gitlab_org disabled4375 is expected to contain exactly #<ContainerRepository id: 1, project_id: 1559, name: "test_image_1", created_at: "2022-11-04 14:38:55...ult", migration_aborted_in_state: nil, migration_plan: "free", last_cleanup_deleted_tags_count: nil> and #<ContainerRepository id: 2, project_id: 1560, name: "test_image_2", created_at: "2022-11-04 14:38:56...efault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>4376 all_plans and limit_gitlab_org enabled4377 is expected to contain exactly #<ContainerRepository id: 1, project_id: 1559, name: "test_image_1", created_at: "2022-11-04 14:38:55...ult", migration_aborted_in_state: nil, migration_plan: "free", last_cleanup_deleted_tags_count: nil>, #<ContainerRepository id: 3, project_id: 1561, name: "test_image_3", created_at: "2022-11-04 14:38:56..., migration_aborted_in_state: nil, migration_plan: "ultimate", last_cleanup_deleted_tags_count: nil>, and #<ContainerRepository id: 2, project_id: 1560, name: "test_image_2", created_at: "2022-11-04 14:38:56...efault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>4378 .ready_for_import4379 is expected to contain exactly #<ContainerRepository id: 5, project_id: 1563, name: "test_image_5", created_at: "2022-11-02 14:38:57...ult", migration_aborted_in_state: nil, migration_plan: "free", last_cleanup_deleted_tags_count: nil> and #<ContainerRepository id: 6, project_id: 1564, name: "test_image_6", created_at: "2021-11-04 14:38:57...ult", migration_aborted_in_state: nil, migration_plan: "free", last_cleanup_deleted_tags_count: nil>4380Gitlab::CodeOwners::UsersLoader4381 #load_to4382 returns the user case insensitive for usernames4383 returns users for confirmed primary emails4384 returns users for unconfirmed primary emails4385 returns users for confirmed secondary emails4386 does not return users for unconfirmed secondary emails4387 input has no matching e-mail or usernames4388 returns an empty list of users4389 nil input4390 returns an empty relation when nil was passed4391 input as array of strings4392 is treated as one string4393GeoProjectRegistryEntity4394 is expected to have key :project_id4395 is expected to have key :last_repository_synced_at4396 is expected to have key :last_repository_successful_sync_at4397 is expected to have key :last_wiki_synced_at4398 is expected to have key :last_wiki_successful_sync_at4399 is expected to have key :repository_retry_count4400 is expected to have key :wiki_retry_count4401 is expected to have key :last_repository_sync_failure4402 is expected to have key :last_wiki_sync_failure4403CreateUserIndex4404 # order random4405 #completed?4406 delegates to helper.index_exists?4407 #retry_on_failure?4408 is true4409 #migrate4410 creates a new index4411GroupGroupLink4412 scopes4413 .in_shared_group4414 provides correct link records4415 .not_in_shared_with_group4416 provides correct link records4417 validations4418 #group_with_allowed_email_domains4419 shared group is the root ancestor4420 behaves like restricted membership by email domain4421 shared group has membership restricted by allowed email domains4422 shared with group with a subset of allowed email domains4423 is expected to be valid4424 shared with group containing domains outside the shared group allowed email domains4425 is expected to be invalid4426 shared with group does not have membership restricted by allowed domains4427 is expected to be invalid4428 shared group does not have membership restricted by allowed domains4429 shared with group has membership restricted by allowed email domains4430 is expected to be valid4431 shared with group does not have membership restricted by allowed domains4432 is expected to be valid4433 shared group is a subgroup4434 behaves like restricted membership by email domain4435 shared group has membership restricted by allowed email domains4436 shared with group with a subset of allowed email domains4437 is expected to be valid4438 shared with group containing domains outside the shared group allowed email domains4439 is expected to be invalid4440 shared with group does not have membership restricted by allowed domains4441 is expected to be invalid4442 shared group does not have membership restricted by allowed domains4443 shared with group has membership restricted by allowed email domains4444 is expected to be valid4445 shared with group does not have membership restricted by allowed domains4446 is expected to be valid4447 shared with group is a subgroup4448 behaves like restricted membership by email domain4449 shared group has membership restricted by allowed email domains4450 shared with group with a subset of allowed email domains4451 is expected to be valid4452 shared with group containing domains outside the shared group allowed email domains4453 is expected to be invalid4454 shared with group does not have membership restricted by allowed domains4455 is expected to be invalid4456 shared group does not have membership restricted by allowed domains4457 shared with group has membership restricted by allowed email domains4458 is expected to be valid4459 shared with group does not have membership restricted by allowed domains4460 is expected to be valid4461 shared and shared with group are subgroups4462 behaves like restricted membership by email domain4463 shared group has membership restricted by allowed email domains4464 shared with group with a subset of allowed email domains4465 is expected to be valid4466 shared with group containing domains outside the shared group allowed email domains4467 is expected to be invalid4468 shared with group does not have membership restricted by allowed domains4469 is expected to be invalid4470 shared group does not have membership restricted by allowed domains4471 shared with group has membership restricted by allowed email domains4472 is expected to be valid4473 shared with group does not have membership restricted by allowed domains4474 is expected to be valid4475Groups::GroupMembersHelper4476 #group_members_app_data4477 adds `ldap_override_path`4478 adds `can_export_members`4479 adds `export_csv_path`4480 adds `can_filter_by_enterprise`4481 banned members4482 returns `members` property that matches json schema4483 sets `member_path` property4484 #group_member_header_subtext4485 can_admin_member: true, enforce_free_user_cap: true, subtext: enforcement_subtext4486 contains expected text4487 can_admin_member: true, enforce_free_user_cap: false, subtext: standard_subtext4488 contains expected text4489 can_admin_member: false, enforce_free_user_cap: true, subtext: standard_subtext4490 contains expected text4491 can_admin_member: false, enforce_free_user_cap: false, subtext: standard_subtext4492 contains expected text4493DAST-API.latest.gitlab-ci.yml4494 is expected not to be nil4495 the template file4496 uses the production repository4497 doesn't use the staging repository4498 the created pipeline4499 when no stages4500 when project has no stages4501 includes no jobs4502 when stages includes dast4503 when project has no license4504 includes job to display error4505 when project has Ultimate license4506 behaves like acts as branch pipeline4507 when branch pipeline4508 includes a job4509 behaves like acts as MR pipeline4510 when MR pipeline4511 includes a job4512 when DAST_API_DISABLED=14513 includes no jobs4514 when CI_GITLAB_FIPS_MODE=false4515 sets DAST_API_IMAGE_SUFFIX to ""4516 when CI_GITLAB_FIPS_MODE=true4517 sets DAST_API_IMAGE_SUFFIX to "-fips"4518ExternalStatusChecks::UpdateService4519 when current user is project owner4520 updates an approval rule4521 is successful4522 when current user is not a project owner4523 does not change an approval rule4524 is unsuccessful4525 returns an unauthorized status4526 contains an appropriate message and error4527 audit events4528 executes ExternalStatusCheckChangesAuditor4529 when licensed4530 when a branch is added4531 when a new branch is added4532 logs an audit event4533 when another branch is added4534 logs an audit event4535 when a branch is removed4536 when the only branch is removed4537 logs an audit event4538 when a branch is removed4539 logs an audit event4540 behaves like does not create audit event when not licensed4541 does not log any audit event4542Mutations::Security::CiConfiguration::ConfigureDependencyScanning4543 is expected to require graphql authorizations :push_code4544 #resolve4545 generates an error if the resource is not accessible to the user4546 when user does not have enough permissions4547 generates an error4548 when user is a maintainer of a different project4549 generates an error4550 when the user does not have permission to create a new branch4551 returns an array of errors4552 when the user can create a merge request4553 when service successfully generates a path to create a new merge request4554 returns a success path4555 when service can not generate any path to create a new merge request4556 returns an array of errors4557Resolvers::EpicAncestorsResolver4558 #resolve4559 returns nothing when feature disabled4560 does not return ancestor epics when user has no access to group epics4561 when user has access to the group epics4562 returns non confidential ancestor epics4563 returns confidential ancestors4564 with subgroups4565 returns all ancestors in the correct order4566 does not return parent group epics when include_ancestor_groups is false4567 when user is a guest4568 returns non confidential ancestor epics4569 does not return confidential epics4570Gitlab::Ci::Config4571 with required instance template4572 processes the required includes4573 with security orchestration policy4574 when feature is not licensed4575 does not modify the config4576 when feature is licensed4577 when policy is not applicable on branch from the pipeline4578 does not modify the config4579 when policy is applicable on branch from the pipeline4580 when DAST profiles are not found4581 adds a job with error message4582 when DAST profiles are found4583 extends config with additional jobs4584 when source is ondemand_dast_scan4585 does not modify the config4586Geo::ProjectRegistryStatusFinder4587 #all_projects4588 returns all registries4589 #synced_projects4590 returns only synced registry4591 #pending_projects4592 returns only pending registry4593 #failed_projects4594 returns only failed registry4595shared/mirror_update_button4596 renders a notification if the last update succeeded4597 renders no notification if the last update did not succeed4598 renders nothing if the user can't push code4599 mirror update can be triggered4600 user is owner4601 renders a working update button4602 user is developer4603 renders a disabled update button4604 user is anonymous4605 renders nothing4606 mirror update due4607 renders a disabled update button4608 mirror is currently updating4609 renders a disabled update button4610 project is not a mirror4611 renders nothing4612EE::SubscribableBannerHelper4613 #renew_subscription_path4614 does not raise error if available project is not persisted4615 does not raise error if entity is not available4616 #gitlab_subscription_or_license4617 when instance variable true4618 when should_check_namespace_plan is true4619 when a project exists4620 behaves like when a subscription exists4621 returns a decorator4622 when a group exists4623 behaves like when a subscription exists4624 returns a decorator4625 when should_check_namespace_plan is false4626 returns the current license4627 when instance variable false4628 returns the current license4629 with a future dated license4630 returns the current license4631 #gitlab_subscription_message_or_license_message4632 when instance variable true4633 when should_check_namespace_plan is true4634 when a project is present4635 behaves like subscription message4636 calls Gitlab::ExpiringSubscriptionMessage and SubscriptionPresenter if is Gitlab.com?4637 when a group is present4638 behaves like subscription message4639 calls Gitlab::ExpiringSubscriptionMessage and SubscriptionPresenter if is Gitlab.com?4640 when should_check_namespace_plan is false4641 calls Gitlab::ExpiringSubscriptionMessage to get expiring message4642 when instance variable false4643 returns the license message4644 #display_subscription_banner!4645 sets @display_subscription_banner to true4646 #link_to_button_style4647 return correct link with path and track property4648ScimFinder4649 #search4650 without a SAML provider4651 returns an empty scim identity relation4652 SCIM/SAML is not enabled4653 returns an empty scim identity relation4654 with SCIM enabled4655 raises an error if the filter is unsupported4656 raises an error if the attribute path is unsupported4657 with an eq filter4658 allows identity lookup by id/externalId4659 allows lookup by userName4660 allows lookup by userName4661 finds user by an email address4662 finds user by using local part of email address as username4663 finds user by username4664 finds user by extern_uid4665 with no filter4666 returns all related scim_identities4667TwoFactor::DestroyService4668 when feature flag is disabled4669 behaves like throws unauthorized error4670 returns error4671 when feature flag is enabled4672 when current user is a group owner4673 when unlicensed4674 does not track audit event4675 when licensed4676 creates an audit event4677 when user is not provisioned by current group4678 behaves like throws unauthorized error4679 returns error4680 when group is non root4681 behaves like throws unauthorized error4682 returns error4683 when user is not provisioned by group4684 behaves like throws unauthorized error4685 returns error4686 when user is not a group owner4687 behaves like throws unauthorized error4688 returns error4689 when group is nil4690 behaves like throws unauthorized error4691 returns error4692 when user passed is nil4693 behaves like throws unauthorized error4694 returns error4695 when disabling two-factor authentication fails4696 does not create an audit event4697Gitlab::Insights::Reducers::CountPerLabelReducer4698 raises an error for an unknown :issuable_type option4699 returns issuables with only the needed fields4700 avoids N + 1 queries4701Types::DastScannerProfileType4702 is expected to eq "DastScannerProfile"4703 is expected to require graphql authorizations :read_on_demand_dast_scan4704 is expected to have graphql fields :id, :profileName, :spiderTimeout, :targetTimeout, :editPath, :scanType, :useAjaxSpider, :showDebugMessages, and :referencedInSecurityPolicies4705 dast_scanner_profiles4706 profile_name field4707 is expected to eq "Auto Portable Adapter b231c13a - 1"4708 when security policies are enabled4709 only calls Gitaly twice when multiple profiles are present4710Container-Scanning.latest.gitlab-ci.yml4711 # order random4712 the created pipeline4713 when project has no license4714 when branch pipeline4715 includes job4716 when MR pipeline4717 creates a pipeline with the expected jobs4718 with CS_MAJOR_VERSION greater than 34719 includes job4720 when CONTAINER_SCANNING_DISABLED=14721 includes no jobs4722Projects::ProjectMembersHelper4723 #project_members_app_data_json4724 does not execute N+14725 #project_member_header_subtext4726 can_admin_member: true, enforce_free_user_cap: true, subtext: standard_subtext, current_project: project4727 contains expected text4728 can_admin_member: true, enforce_free_user_cap: true, subtext: enforcement_subtext, current_project: project_with_group4729 contains expected text4730 can_admin_member: true, enforce_free_user_cap: false, subtext: standard_subtext, current_project: project_with_group4731 contains expected text4732 can_admin_member: false, enforce_free_user_cap: true, subtext: standard_subtext, current_project: project_with_group4733 contains expected text4734 can_admin_member: false, enforce_free_user_cap: false, subtext: standard_subtext, current_project: project_with_group4735 contains expected text4736Gitlab::Graphql::Loaders::BulkEpicAggregateLoader4737 when epic ids with issues is provided4738 sums all the weights, even confidential, or in private groups4739 contains results for all epics, even if they do not have issues4740 loads epic issues metadata in batches4741 errors when the number of retrieved records exceeds the maximum4742 errors when the number of retrieved epics exceeds the maximum4743 testing for a single database query4744 does not repeat database queries for subepics4745 avoids N+14746 when an epic without issues is provided4747 returns a placeholder4748 when no epic ids are provided4749 returns an empty set4750 returns an empty set4751 returns an empty set4752Boards::EpicLists::DestroyService4753 when user does not have permission4754 returns an error4755 when user has permission4756 behaves like lists destroy service4757 does not remove list from board when list type is closed4758 when list type is label4759 removes list from board4760 decrements position of higher lists4761 when epic feature is unavailable4762 returns an error4763Gitlab::Geo::Oauth::LoginState4764 .from_state4765 returns a invalid instance when state is nil4766 returns a invalid instance when state is empty4767 returns a valid instance when state is valid4768 #valid?4769 returns false when return_to is nil4770 returns false when return_to is empty4771 returns false when token is nil4772 returns false when token is empty4773 returns false when salt not match4774 returns false when token does not match4775 returns false when token's expired4776 returns true when token matches4777 #encode4778 does not raise an error when return_to is nil4779 returns a string with salt, token, and return_to colon separated4780 #return_to4781 returns nil when return_to is nil4782 returns an empty string when return_to is empty4783 returns the full path of the return_to URL4784EE::API::Entities::BillableMember4785 returns the last_activity_on attribute4786 exposes the last_login_at field4787 exposes the created_at field4788 exposes the is_last_owner field4789 when the user has a public_email assigned4790 exposes public_email instead of email4791 when the user has no public_email assigned4792 returns a nil value for email4793 with different group membership types4794 user_ids: :group_member_user_ids, membership_type: "group_member", removable: true4795 returns the expected membership_type value4796 returns the expected removable value4797 user_ids: :project_member_user_ids, membership_type: "project_member", removable: true4798 returns the expected membership_type value4799 returns the expected removable value4800 user_ids: :shared_group_user_ids, membership_type: "group_invite", removable: false4801 returns the expected membership_type value4802 returns the expected removable value4803 user_ids: :shared_project_user_ids, membership_type: "project_invite", removable: false4804 returns the expected membership_type value4805 returns the expected removable value4806 with a missing membership type4807 does not raise an error4808IncidentManagement::IssuableResourceLinks::DestroyService4809 #execute4810 when current user is anonymous4811 behaves like error response4812 has an informative message4813 behaves like does not track incident management event4814 does not track the event4815 when user does not have permissions to remove issuable_resource_link4816 behaves like error response4817 has an informative message4818 behaves like does not track incident management event4819 does not track the event4820 when feature is not available4821 behaves like error response4822 has an informative message4823 behaves like does not track incident management event4824 does not track the event4825 when an error occurs during removal4826 behaves like error response4827 has an informative message4828 behaves like does not track incident management event4829 does not track the event4830 with success response4831 successfully returns the issuable resource link4832 creates a system note notification4833 behaves like an incident management tracked event4834 .track_event4835 tracks the event using redis4836Mutations::SecurityPolicy::CommitScanExecutionPolicy4837 #resolve4838 when both fullPath and projectPath are not provided4839 raises exception4840 for project4841 behaves like commits scan execution policies4842 when permission is set for user4843 returns branch name4844 when permission is not enabled4845 raises exception4846 for namespace4847 behaves like commits scan execution policies4848 when permission is set for user4849 returns branch name4850 when permission is not enabled4851 raises exception4852Mutations::Dast::Profiles::Delete4853 is expected to require graphql authorizations :create_on_demand_dast_scan4854 #resolve4855 when the user cannot read the project4856 raises an exception4857 when the user can destroy a DAST profile4858 deletes the profile4859 when the dast_profile does not exist4860 raises an exception4861 when DAST profile belongs to a project the user does not have access to4862 raises an exception4863 when deletion fails4864 returns an error4865ProjectTeam4866 #add_members4867 when group membership is locked4868 does not add the given users to the team4869 #add_member4870 when group membership is locked4871 does not add the given user to the team4872 project bot user4873 adds the project bot user to the team4874Mutations::Vulnerabilities::Resolve4875 #resolve4876 when the user can resolve the vulnerability4877 when user doe not have access to the project4878 raises an error4879 when user has access to the project4880 returns the resolveed vulnerability4881EE::TrialRegistrationHelper4882 #social_signin_enabled?4883 com: true, omniauth_enabled: true, omniauthable: true, button_based_providers_enabled: true4884 is expected to eq true4885 com: true, omniauth_enabled: true, omniauthable: true, button_based_providers_enabled: false4886 is expected to eq false4887 com: true, omniauth_enabled: true, omniauthable: false, button_based_providers_enabled: true4888 is expected to eq false4889 com: true, omniauth_enabled: true, omniauthable: false, button_based_providers_enabled: false4890 is expected to eq false4891 com: true, omniauth_enabled: false, omniauthable: true, button_based_providers_enabled: true4892 is expected to eq false4893 com: true, omniauth_enabled: false, omniauthable: true, button_based_providers_enabled: false4894 is expected to eq false4895 com: true, omniauth_enabled: false, omniauthable: false, button_based_providers_enabled: true4896 is expected to eq false4897 com: true, omniauth_enabled: false, omniauthable: false, button_based_providers_enabled: false4898 is expected to eq false4899 com: false, omniauth_enabled: true, omniauthable: true, button_based_providers_enabled: true4900 is expected to eq false4901 com: false, omniauth_enabled: true, omniauthable: true, button_based_providers_enabled: false4902 is expected to eq false4903 com: false, omniauth_enabled: true, omniauthable: false, button_based_providers_enabled: true4904 is expected to eq false4905 com: false, omniauth_enabled: true, omniauthable: false, button_based_providers_enabled: false4906 is expected to eq false4907 com: false, omniauth_enabled: false, omniauthable: true, button_based_providers_enabled: true4908 is expected to eq false4909 com: false, omniauth_enabled: false, omniauthable: true, button_based_providers_enabled: false4910 is expected to eq false4911 com: false, omniauth_enabled: false, omniauthable: false, button_based_providers_enabled: true4912 is expected to eq false4913 com: false, omniauth_enabled: false, omniauthable: false, button_based_providers_enabled: false4914 is expected to eq false4915Namespaces::Storage::ProjectPreEnforcementAlertComponent4916 # order random4917 with project in a group4918 includes the correct project info in the banner text4919 with project belonging to user4920 includes the correct project info in the banner text4921VulnerabilityExports::ExportWorker4922 #perform4923 when vulnerability export does not exist4924 does not raise any error4925 does not call VulnerabilityExports::ExportService::export4926 when vulnerability export exists4927 calls VulnerabilityExports::ExportService::export with the vulnerability_export object4928 sidekiq_retries_exhausted callback4929 when the max retry count is not reached4930 does not mark the vulnerability export object as failed4931 when the max retry count is reached4932 marks the vulnerability export object as failed4933IncidentManagement::Incidents::CreateSlaService4934 #execute4935 incident setting not created4936 behaves like no issuable sla created4937 does not create the issuable sla4938 does not return a sla4939 incident setting exists4940 creates the issuable sla with the given offset4941 returns a success with the sla4942 project does not have incident_sla feature4943 behaves like no issuable sla created4944 does not create the issuable sla4945 does not return a sla4946 sla timer setting is disabled4947 behaves like no issuable sla created4948 does not create the issuable sla4949 does not return a sla4950 issuable sla already exists4951 returns a success with the sla4952 errors when saving4953 does not create the issuable sla4954 returns an error4955Gitlab::Usage::Metrics::Instrumentations::CountProjectsWithAssignedSecurityPolicyProjectMetric4956 # order random4957 behaves like a correct instrumented metric value and query4958 behaves like a correct instrumented metric value4959 has correct value4960 behaves like a correct instrumented metric query4961 has correct generate query4962 behaves like a correct instrumented metric value and query4963 behaves like a correct instrumented metric value4964 has correct value4965 behaves like a correct instrumented metric query4966 has correct generate query4967Security::TrainingProviders::BaseUrlFinder4968 #execute4969 raises an error if allowed_identifier_list is not implemented4970 raises an error if full_url is not implemented4971 when response_url is nil4972 returns a nil url with status pending4973 when a language is used on the finder4974 returns a nil url with status pending4975 when external_type is not present in allowed list4976 returns nil4977 when response_url is not nil4978 returns a url with status completed4979 when a language is used on the finder4980 returns a url with status completed4981 when response_url is not nil, but the url is4982 returns nil4983 when a language is used on the finder4984 returns nil4985 .from_cache4986 returns instance of finder object with expected attributes4987 when a language is used on the finder4988 returns instance of finder object with expected attributes4989 private4990 #id4991 returns a cache key for ReactiveCaching specific to the request trainign urls4992 when a language is used on the finder4993 returns a cache key for ReactiveCaching specific to the request trainign urls and language4994RequirementsManagement::ImportRequirementsCsvWorker4995 #perform4996 calls #execute on Requirements::ImportCsvService and destroys upload4997 behaves like an idempotent worker4998 is labeled as idempotent4999 performs multiple times sequentially without raising an exception5000EE::ProtectedRef5001 for protected branches5002 deletes all related access levels5003EventCollection5004 when the optimized_project_and_group_activity_queries FF is on5005 behaves like EventCollection examples5006 #to_a5007 with group events5008 group exclusive event types5009 queries only group events for epic filter5010 when the optimized_project_and_group_activity_queries FF is off5011 behaves like EventCollection examples5012 #to_a5013 with group events5014 group exclusive event types5015 queries only group events for epic filter5016Resolvers::DastSiteProfileResolver5017 is expected to have nullable GraphQL type DastSiteProfileConnection5018 when resolving a single DAST site profile5019 is expected to eq #<DastSiteProfile id: 10, project_id: 1653, dast_site_id: 11, created_at: "2022-11-04 14:40:45.005648...mple.org", target_type: "website", scan_method: "site", auth_submit_field: nil, scan_file_path: nil>5020 when resolving multiple DAST site profiles5021 is expected to contain exactly #<DastSiteProfile id: 10, project_id: 1653, dast_site_id: 11, created_at: "2022-11-04 14:40:45.005648...mple.org", target_type: "website", scan_method: "site", auth_submit_field: nil, scan_file_path: nil>, #<DastSiteProfile id: 11, project_id: 1653, dast_site_id: 12, created_at: "2022-11-04 14:40:45.160329...mple.org", target_type: "website", scan_method: "site", auth_submit_field: nil, scan_file_path: nil>, and #<DastSiteProfile id: 12, project_id: 1653, dast_site_id: 13, created_at: "2022-11-04 14:40:45.262963...mple.org", target_type: "website", scan_method: "site", auth_submit_field: nil, scan_file_path: nil>5022 when the feature is disabled5023 is expected to be empty5024 when the user does not have access5025 is expected to be empty5026Gitlab::Usage::Metrics::Instrumentations::CountUsersDeploymentApprovals5027 behaves like a correct instrumented metric value and query5028 behaves like a correct instrumented metric value5029 has correct value5030 behaves like a correct instrumented metric query5031 has correct generate query5032DeployKeys::CreateService5033 creates a deploy key5034 records an audit event5035 behaves like sends correct event type in audit event stream5036 sends correct event type in audit event stream5037QuickActions::TargetService5038 #execute5039 for epic5040 finds target with valid id5041 builds a new target if id from a different group passed5042IncidentManagement::IssuableResourceLinksFinder5043 #execute5044 when feature is available5045 when user has permissions5046 returns issuable resource links5047 when incident is nil5048 is expected to eq #<ActiveRecord::Relation []>5049 when user has no permissions5050 is expected to eq #<ActiveRecord::Relation []>5051 when feature is not available5052 is expected to eq #<ActiveRecord::Relation []>5053Analytics::DevopsAdoption::EnabledNamespaces::BulkFindOrCreateService5054 authorizes for manage_devops_adoption5055 returns existing enabled_namespaces for namespaces and creates new one if none exists5056 when the user cannot manage enabled_namespaces at least for one namespace5057 returns forbidden error5058Types::VulnerabilityEvidenceSupportingMessageType5059 is expected to eq "VulnerabilityEvidenceSupportingMessage"5060 is expected to have graphql fields :name, :request, and :response5061 checking field contents5062 checks the contents of the evidence.suportingMessages array5063Auth::SamlGroupSyncWorker5064 #perform5065 when saml_group_sync feature is not licensed5066 does not call the sync service5067 when the saml_group_sync feature is licensed5068 when SAML is not enabled5069 does not call the sync service5070 when SAML is enabled5071 calls the sync service with the group links5072 does not call the sync service when the user does not exist5073 when group links exist in hierarchies which the user should not be a member of5074 calls the service for top level groups with links that the user should not be a member of5075 with a group in the hierarchy that has no group links5076 is not included in manage_group_ids5077 when the worker receives no group link ids5078 calls the sync service5079Gitlab::Graphql::Aggregations::Epics::EpicNode5080 #initialize5081 behaves like setting attributes based on the first record5082 sets epic attributes based on the first record5083 behaves like setting attributes based on the first record5084 sets epic attributes based on the first record5085 recursive totals5086 an epic with no child epics5087 with no child issues5088 has the correct aggregates5089 behaves like has_issues?5090 returns false5091 with an issue with 0 weight5092 has the correct aggregates5093 behaves like has_issues?5094 returns true5095 with an open issue with nonzero weight5096 has the correct aggregates5097 behaves like has_issues?5098 returns true5099 with a closed issue with nonzero weight5100 behaves like has_issues?5101 returns true5102 an epic with child epics5103 with a child that has issues of nonzero weight5104 has the correct aggregates5105 behaves like has_issues?5106 returns false5107Resolvers::IncidentManagement::IssuableResourceLinksResolver5108 is expected to have nullable GraphQL type IssuableResourceLinkConnection5109 returns issuable resource links5110 when user does not have permissions5111 returns no resource links5112Gitlab::Audit::Levels::Group5113 #apply5114 when audit_log_group_level feature enabled5115 finds all group and project events5116 when audit_log_group_level feature disabled5117 finds all group events5118Geo::CreateRepositoryUpdatedEventWorker5119 on a Geo primary site5120 behaves like subscribes to event5121 consumes the published event5122 behaves like an idempotent worker5123 is labeled as idempotent5124 performs multiple times sequentially without raising an exception5125 on a Geo secondary site5126 does not create a Geo::RepositoryUpdatedEvent5127EE::API::Helpers::MembersHelpers5128 .member_sort_options5129 lists all keys available in group member view5130 .billable_member?5131 when member is billable5132 is expected to eq true5133 when member is not billable5134 is expected to eq false5135 .retrieve_members5136 includes user as member5137 with skip_users present5138 does not include user as member5139IssuePresenter5140 #sla_due_at5141 issue sla available5142 is expected to eq 2022-11-04 15:41:10.244915031 +00005143 issue sla not available5144 is expected to eq nil5145 #web_url5146 when issue has default type5147 is expected to eq "http://localhost/namespace1755/project1785/-/issues/1"5148 when issue has test_case type5149 is expected to eq "http://localhost/namespace1756/project1786/-/quality/test_cases/1"5150UserRecentEventsFinder5151 #execute5152 epic related activities5153 when profile is public5154 is expected to contain exactly #<Event project_id: nil, author_id: 2239, target_id: 34, created_at: "2022-11-04 14:41:12.522440622 +...22440622 +0000", action: "commented", target_type: "Note", group_id: nil, fingerprint: nil, id: 236> and #<Event project_id: nil, author_id: 2239, target_id: 66, created_at: "2022-11-04 14:41:12.527060571 +...2.527060571 +0000", action: "closed", target_type: "Epic", group_id: nil, fingerprint: nil, id: 237>5155 when profile is private5156 is expected to be empty5157 wehen fetching events from multiple users5158 when filtering for epic events5159 is expected to eq [#<Event project_id: nil, author_id: 2240, target_id: 66, created_at: "2022-11-04 14:41:12.620915511 ....527060571 +0000", action: "closed", target_type: "Epic", group_id: nil, fingerprint: nil, id: 237>]5160Projects::Licenses::CreatePolicyService5161 #execute5162 when creating a policy for a software license by the software license database id5163 creates a new policy5164 when creating a policy for a software license by the software license SPDX identifier5165 creates a new policy5166 when the software license is not specified5167 returns an error5168 when the classification is invalid5169 returns an error5170EE::API::Entities::Scim::User5171 contains the schemas5172 contains the extern UID5173 contains the active flag5174 contains the name5175 contains the first name5176 contains the last name5177 contains the email5178 contains the username5179 contains the resource type5180 with a SCIM identity5181 contains active false when the identity is not active5182EE::Gitlab::Scim::ValueParser5183 #type_cast5184 input: "True", expected_output: true5185 is expected to eq true5186 input: "true", expected_output: true5187 is expected to eq true5188 input: "False", expected_output: false5189 is expected to eq false5190 input: "false", expected_output: false5191 is expected to eq false5192 input: "\"Quoted String\"", expected_output: "Quoted String"5193 is expected to eq "Quoted String"5194 input: true, expected_output: true5195 is expected to eq true5196 input: false, expected_output: false5197 is expected to eq false5198 input: 123, expected_output: 1235199 is expected to eq 1235200Gitlab::Insights::Finders::ProjectsFinder5201 when using ids5202 is expected to contain exactly #<Project id:1672 namespace1759/project1789>> and #<Project id:1674 namespace1761/project1791>>5203 when using paths5204 is expected to contain exactly #<Project id:1672 namespace1759/project1789>> and #<Project id:1673 namespace1760/project1790>>5205 when using mixed types5206 is expected to contain exactly #<Project id:1672 namespace1759/project1789>> and #<Project id:1674 namespace1761/project1791>>5207 when using unknown references5208 is expected to contain exactly #<Project id:1674 namespace1761/project1791>>5209 when empty array is given5210 is expected to eq nil5211UsersStatistics5212 #billable5213 sums users statistics values excluding blocked users and bots5214 when there is an ultimate license5215 excludes blocked users, bots, guest users, users without a group or project and minimal access users5216 #active5217 includes minimal access roles5218 .create_current_stats!5219 includes minimal access in current statistics values5220AdjournedProjectDeletionWorker5221 #perform5222 executes destroying project5223 stops execution if user was deleted5224Mutations::Boards::UpdateEpicUserPreferences5225 #resolve5226 returns an error if the board is not accessible by the user5227 when user can access the board5228 returns an error if the epic is not accessible by the user5229 when user can access the epic5230 returns updated preferences5231Gitlab::WebIde::Config::Entry::Schemas5232 validations5233 when entry config value is correct5234 is valid5235 when entry config value is incorrect5236 is not valid5237 #errors5238 reports error about a config type5239 when composed5240 #value5241 when entry is correct5242 returns correct value5243GeoNodePolicy5244 when the user is an admin5245 when admin mode is enabled5246 allows read_geo_node for any GeoNode5247 when admin mode is disabled5248 disallows read_geo_node for any GeoNode5249 when the user is not an admin5250 disallows read_geo_node for any GeoNode5251Iterations::Cadences::ScheduleCreateIterationsWorker5252 is labeled as idempotent5253 performs multiple times sequentially without raising an exception5254 #perform5255 in batches5256 run in batches5257 when cadences need to be scheduled5258 when cadence with NULL next_run_date exists5259 behaves like CreateIterationsWorker is scheduled on the correct cadence5260 schedules CreateIterationsWorker on the correct cadence5261 when cadence with next_run_date < CURRENT_DATE exists5262 behaves like CreateIterationsWorker is scheduled on the correct cadence5263 schedules CreateIterationsWorker on the correct cadence5264Mutations::IncidentManagement::OncallSchedule::Update5265 is expected to require graphql authorizations :admin_incident_management_oncall_schedule5266 #resolve5267 user has access to project5268 when OncallSchedules::UpdateService responds with success5269 returns the on-call schedule with no errors5270 when OncallSchedules::UpdateService responds with an error5271 returns errors5272 when resource is not accessible to the user5273 raises an error5274WorkItems::WorkItemsFinder5275 # order random5276 when filtering work items5277 with status widget5278 returns correct results5279ProtectedBranches::UpdateService5280 #execute5281 with invalid params5282 does not add a security audit event entry5283 with valid params5284 adds security audit event entries5285Gitlab::ImportExport::Group::GroupAndDescendantsRepoRestorer5286 when group wiki license feature is enabled5287 imports the group and subgroups wiki repo and returns true5288 if any of the wiki imports fails5289 returns false and stops importing other groups5290 when group is not inside group mappings5291 avoids calling the restorer, continue importing, and returns true5292 when group mapping is empty5293 does not try to import wikis and returns true5294 when group wiki license feature is not enabled5295 does not try to import wikis and returns true5296Mutations::GitlabSubscriptions::Activate5297 #resolve5298 when successful5299 returns no errors, a license and no future subscriptions5300 when there are future subscriptions5301 returns the no errors, a license and the future subscriptions5302 when failure5303 returns errors5304 when non-admin5305 raises errors5306Types::IssueConnection5307 #weight5308 returns sum of all weights5309Terraform::States::DestroyService5310 #execute5311 creates deletion events for associated state versions5312admin/users/index5313 includes "Send email to users" link5314 when Gitlab::CurrentSettings.should_check_namespace_plan is true5315 includes "Send email to users" link5316VulnerabilityScanners::ListService5317 when looking for scanners for group5318 is expected to eq [{:id=>123, :report_type=>"SAST", :vendor=>"Security Vendor"}]5319 when looking for scanners for project5320 is expected to eq [{:id=>123, :report_type=>"SAST", :vendor=>"Security Vendor"}]5321Security::OverrideUuidsService5322 #execute5323 overrides finding uuids and prioritizes the existing findings5324NamespaceCiCdSetting5325 .allowing_stale_runner_pruning5326 when there are no runner settings5327 is expected to be empty5328 when there are CI/CD settings5329 allowing stale runner pruning5330 is expected to contain exactly #<NamespaceCiCdSetting namespace_id: 4563, allow_stale_runner_pruning: true>5331 not allowing stale runner pruning5332 is expected to be empty5333Gitlab::Auth::Ldap::Config5334 .available_providers5335 when multiple LDAP servers are licensed5336 returns multiple configured providers5337 ._available_servers5338 when no database connection occurs5339 returns an empty array5340Boards::EpicListUserPreference5341 relationships5342 is expected to belong to epic_list required: false5343 is expected to belong to user required: false5344 is expected to validate that :epic_list cannot be empty/falsy5345 is expected to validate that :user cannot be empty/falsy5346 is expected to validate that :user_id is case-sensitively unique within the scope of :epic_list_id, producing a custom validation error on failure5347UserExistenceValidator5348 with nil value5349 behaves like does not add an error5350 does not add an error5351 with non-array value5352 behaves like does not add an error5353 does not add an error5354 with empty array value5355 behaves like does not add an error5356 does not add an error5357 with array containing valid usernames5358 behaves like does not add an error5359 does not add an error5360 with array containing invalid usernames5361 does adds an error5362subscriptions/buy_minutes5363 behaves like buy minutes addon form data5364 is expected to have visible css "#js-buy-minutes[data-active-subscription-name='S-000000000']"5365 is expected to have visible css "#js-buy-minutes[data-group-data='[{\"id\":\"ci_minutes_plan_id\",\"code\":\"ci_minutes\",\"price_per_year\":10.0}]']"5366 is expected to have visible css "#js-buy-minutes[data-plan-id='ci_minutes_plan_id']"5367 is expected to have visible css "#js-buy-minutes[data-namespace-id='1']"5368 is expected to have visible css "#js-buy-minutes[data-source='some_source']"5369 is expected to have visible css "#js-buy-minutes[data-redirect-after-success='/groups/my-ci-minutes-group/-/usage_quotas#pipelines-quota-tab']"5370UserPreference5371 roadmap_epics_state5372 when set to open epics5373 behaves like updates roadmap_epics_state5374 saves roadmap_epics_state in user_preference5375 when set to closed epics5376 behaves like updates roadmap_epics_state5377 saves roadmap_epics_state in user_preference5378 when reset to all epics5379 behaves like updates roadmap_epics_state5380 saves roadmap_epics_state in user_preference5381Projects::OpenIssuesCountService5382 #count5383 includes all issue types5384Integrations::JiraSerializers::IssueSerializer5385 #represent5386 when an empty array is being serialized5387 returns an empty array5388 when multiple objects are being serialized5389 serializes the array of jira issues5390Gitlab::Usage::Metrics::Instrumentations::EpicsDeepestRelationshipLevelMetric5391 # order random5392 behaves like a correct instrumented metric value5393 has correct value5394ForkNamespaceEntity5395 exposes marked_for_deletion state5396GroupSaml::GroupManagedAccounts::CleanUpMembersService5397 removes non-owner members without dedicated accounts from the group5398 returns true5399 unlinks identities for accounts not managed by given group5400 when at least one non-owner member was not removed5401 returns false5402 for last group owner identity5403 does not remove the identity5404Types::ExternalIssueType5405 is expected to have graphql fields :title, :relative_reference, :status, :external_tracker, :web_url, :created_at, and :updated_at5406Gitlab::UsageDataCounters::LicensesList5407 behaves like a redis usage counter5408 .count(views)5409 increments the LicensesList views counter by 15410 .read(views)5411 returns the total number of views events5412 behaves like a redis usage counter with totals5413 totals5414 can report all totals5415 unknown events5416 cannot increment5417 cannot read5418Types::Ci::CodeCoverageActivityType5419 is expected to eq "CodeCoverageActivity"5420 is expected to have graphql fields :average_coverage, :coverage_count, :project_count, and :date5421Vulnerabilities::MergeRequestLink5422 associations and fields5423 is expected to belong to vulnerability required: false5424 is expected to belong to merge_request required: false5425NotificationSetting5426 .email_events5427 group5428 appends EE specific events5429 project5430 returns CE list5431 global5432 appends EE specific events5433Users::IdentityVerificationHelper5434 # order random5435 #identity_verification_data5436 returns the expected data5437Types::Geo::JobArtifactRegistryType5438 has the expected fields (other than those included in RegistryType)5439 behaves like a Geo registry type5440 is expected to require graphql authorizations :read_geo_registry5441 has the expected fields5442BulkImports::Groups::Graphql::GetIterationsQuery5443 has a valid query5444 #data_path5445 returns data path5446 #page_info_path5447 returns pagination information path5448AuditEventSerializer5449 .represent5450 returns an empty array when there are no audit events5451 includes audit event attributes5452Analytics::CycleAnalytics::StageEntity5453 when label based event is given5454 includes the label reference in the description5455Types::MetricImageType5456 is expected to eq "MetricImage"5457 is expected to require graphql authorizations :read_issuable_metric_image5458 has the expected fields5459Types::EpicDescendantCountType5460 is expected to eq "EpicDescendantCount"5461 has specific fields5462Gitlab::Tracking5463 .definition5464 fetch EE definitions when prefixed with ee_5465Types::RequirementsManagement::TestReportType5466 is expected to eq "TestReport"5467 is expected to have graphql fields :id, :state, :author, and :created_at5468BoardLabel5469 validations5470 is expected to validate that :board cannot be empty/falsy5471 is expected to validate that :label cannot be empty/falsy5472 associations5473 is expected to belong to label required: false5474Types::SecurityScanners5475 is expected to eq "SecurityScanners"5476 has specific fields5477ApplyMaxAnalyzedOffset5478 behaves like a deprecated Advanced Search migration5479 #migrate5480 logs a message and halts the migration5481 #completed?5482 returns false5483 #obsolete?5484 returns true5485Types::ComplianceManagement::MergeRequests::ComplianceViolationSeverityEnum5486 is expected to eq "ComplianceViolationSeverity"5487 is expected to contain exactly "INFO", "LOW", "MEDIUM", "HIGH", and "CRITICAL"5488Geo::VerificationCronWorker5489 uses a cronjob queue5490 #perform5491 calls trigger_background_verification on enabled Replicators5492SystemCheck::Geo::AuthorizedKeysFlagCheck5493 #check?5494 fails when write to authorized_keys still enabled5495 succeed when write to authorized_keys is disabled5496ElasticClusterReindexingCronWorker5497 #perform5498 calls execute method5499 removes old indices if no task is found5500UserHighestRole5501 validations5502 is expected to validate that :highest_access_level is either ‹nil›, ‹10›, ‹20›, ‹30›, ‹40›, ‹50›, or ‹5›5503Types::Security::TrainingUrlType5504 is expected to have graphql fields :name, :url, :status, and :identifier5505Types::Projects::ServiceTypeEnum5506 GitLabSlackApplicationService5507 appends a note to the description5508ProtectedEnvironments::DeployAccessLevelEntity5509 #as_json5510 includes the exposed fields5511Types::Ci::Minutes::NamespaceMonthlyUsageType5512 is expected to have graphql fields :minutes, :month, :month_iso8601, :projects, and :shared_runners_duration5513Knapsack report was generated. Preview:5514{5515 "ee/spec/models/vulnerabilities/finding_spec.rb": 275.93777206400046,5516 "ee/spec/models/group_wiki_spec.rb": 129.1448128000011,5517 "ee/spec/workers/elastic/migration_worker_spec.rb": 117.7986918459992,5518 "ee/spec/models/ci/minutes/notification_spec.rb": 60.99957237799936,5519 "ee/spec/models/ci/pipeline_spec.rb": 57.100645104999785,5520 "ee/spec/replicators/geo/upload_replicator_spec.rb": 45.663461419999294,5521 "ee/spec/helpers/push_rules_helper_spec.rb": 51.842449970001326,5522 "ee/spec/models/merge_request/blocking_spec.rb": 52.64658434100056,5523 "ee/spec/services/ee/issues/create_service_spec.rb": 34.693744612000955,5524 "ee/spec/lib/gitlab/checks/diff_check_spec.rb": 36.68442493400107,5525 "ee/spec/models/geo/upload_registry_spec.rb": 37.53566968099949,5526 "ee/spec/services/dashboard/projects/list_service_spec.rb": 28.57331951999913,5527 "ee/spec/models/requirements_management/requirement_spec.rb": 24.11054442800014,5528 "ee/spec/models/concerns/elastic/project_spec.rb": 22.44718205800018,5529 "ee/spec/finders/merge_trains_finder_spec.rb": 21.724987917999897,5530 "ee/spec/graphql/resolvers/geo/package_file_registries_resolver_spec.rb": 16.661827141000686,5531 "ee/spec/finders/security/vulnerabilities_finder_spec.rb": 14.49473107799895,5532 "ee/spec/graphql/resolvers/geo/upload_registries_resolver_spec.rb": 14.962852636999742,5533 "ee/spec/workers/update_all_mirrors_worker_spec.rb": 16.58005074799985,5534 "ee/spec/lib/ee/gitlab/import_export/group/tree_restorer_spec.rb": 22.469996046000233,5535 "ee/spec/models/environment_spec.rb": 13.253180473000612,5536 "ee/spec/services/ee/members/create_service_spec.rb": 12.547572530000252,5537 "ee/spec/workers/geo/prune_event_log_worker_spec.rb": 14.407792456999232,5538 "ee/spec/models/concerns/elastic/milestone_spec.rb": 10.186612347999471,5539 "ee/spec/services/ee/users/destroy_service_spec.rb": 15.70393960599904,5540 "ee/spec/services/iterations/delete_service_spec.rb": 9.8764648209999,5541 "ee/spec/lib/gitlab/ci/parsers/security/dependency_list_spec.rb": 11.058856222000031,5542 "ee/spec/models/dast_site_token_spec.rb": 7.635834795999472,5543 "ee/spec/services/elastic/cluster_reindexing_service_spec.rb": 10.28435559799982,5544 "ee/spec/services/ee/members/update_service_spec.rb": 9.472218164999504,5545 "ee/spec/lib/gitlab/geo/replication/blob_downloader_spec.rb": 8.680080842999814,5546 "ee/spec/finders/requirements_management/requirements_finder_spec.rb": 6.557684135001182,5547 "ee/spec/graphql/resolvers/vulnerability_severities_count_resolver_spec.rb": 9.951753444000133,5548 "ee/spec/models/namespace_setting_spec.rb": 5.717512805000297,5549 "ee/spec/models/app_sec/fuzzing/coverage/corpus_spec.rb": 7.464105465000102,5550 "ee/spec/finders/geo/group_wiki_repository_registry_finder_spec.rb": 7.068534727999577,5551 "ee/spec/workers/repository_update_mirror_worker_spec.rb": 8.67193507400043,5552 "ee/spec/lib/gitlab/import_export/project/object_builder_spec.rb": 7.188860636000754,5553 "ee/spec/models/dast/site_profiles_build_spec.rb": 7.927870264000376,5554 "ee/spec/lib/gitlab/auth/group_saml/membership_updater_spec.rb": 6.821265675000177,5555 "ee/spec/models/concerns/ee/project_security_scanners_information_spec.rb": 6.6441312249990006,5556 "ee/spec/services/vulnerabilities/findings/find_or_create_from_security_finding_service_spec.rb": 5.976601877999201,5557 "ee/spec/lib/banzai/reference_parser/iteration_parser_spec.rb": 3.9484068180008762,5558 "ee/spec/services/analytics/cycle_analytics/data_loader_service_spec.rb": 6.282580142998995,5559 "ee/spec/graphql/resolvers/geo/group_wiki_repository_registries_resolver_spec.rb": 5.529560296999989,5560 "ee/spec/models/gitlab_subscriptions/features_spec.rb": 1.8720154849997925,5561 "ee/spec/services/security/ingestion/tasks/ingest_vulnerabilities/create_spec.rb": 7.14519534000101,5562 "ee/spec/models/container_repository_spec.rb": 3.931179429999247,5563 "ee/spec/lib/gitlab/code_owners/users_loader_spec.rb": 5.723703604999173,5564 "ee/spec/serializers/geo_project_registry_entity_spec.rb": 5.061973338000826,5565 "ee/spec/elastic/migrate/20221018125700_create_user_index_spec.rb": 4.612501706998955,5566 "ee/spec/models/ee/group_group_link_spec.rb": 2.869736706999902,5567 "ee/spec/helpers/ee/groups/group_members_helper_spec.rb": 3.10345966100067,5568 "ee/spec/lib/gitlab/ci/templates/dast_api_latest_gitlab_ci_yaml_spec.rb": 4.576755830001275,5569 "ee/spec/services/external_status_checks/update_service_spec.rb": 3.940465719999338,5570 "ee/spec/graphql/mutations/security/ci_configuration/configure_dependency_scanning_spec.rb": 2.9805384749997756,5571 "ee/spec/graphql/resolvers/epic_ancestors_resolver_spec.rb": 3.5315719039990654,5572 "ee/spec/lib/ee/gitlab/ci/config_spec.rb": 4.631377194000379,5573 "ee/spec/finders/geo/project_registry_status_finder_spec.rb": 3.6798118379992957,5574 "ee/spec/views/shared/_mirror_update_button.html.haml_spec.rb": 2.8899738149993937,5575 "ee/spec/helpers/ee/subscribable_banner_helper_spec.rb": 2.082815402000051,5576 "ee/spec/finders/scim_finder_spec.rb": 1.7332093410004745,5577 "ee/spec/services/ee/two_factor/destroy_service_spec.rb": 2.6714461680003296,5578 "ee/spec/lib/gitlab/insights/reducers/count_per_label_reducer_spec.rb": 3.0384877090000373,5579 "ee/spec/graphql/types/dast_scanner_profile_type_spec.rb": 2.594560317000287,5580 "ee/spec/lib/gitlab/ci/templates/container_scanning_latest_gitlab_ci_yaml_spec.rb": 2.969734876000075,5581 "ee/spec/helpers/projects/project_members_helper_spec.rb": 2.2699702420013637,5582 "ee/spec/lib/gitlab/graphql/loaders/bulk_epic_aggregate_loader_spec.rb": 2.343509164000352,5583 "ee/spec/services/boards/epic_lists/destroy_service_spec.rb": 2.8223599120010476,5584 "ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb": 2.0776511730000493,5585 "ee/spec/lib/ee/api/entities/billable_member_spec.rb": 2.7550710889991024,5586 "ee/spec/services/incident_management/issuable_resource_links/destroy_service_spec.rb": 2.244856384999366,5587 "ee/spec/graphql/mutations/security_policy/commit_scan_execution_policy_spec.rb": 4.1458385370006,5588 "ee/spec/graphql/mutations/dast/profiles/delete_spec.rb": 2.317785326999001,5589 "ee/spec/models/project_team_spec.rb": 2.6288793229996372,5590 "ee/spec/graphql/mutations/vulnerabilities/resolve_spec.rb": 2.9016283840010146,5591 "ee/spec/helpers/ee/trial_registration_helper_spec.rb": 0.9967801309994684,5592 "ee/spec/components/namespaces/storage/project_pre_enforcement_alert_component_spec.rb": 1.7463626589997148,5593 "ee/spec/workers/vulnerability_exports/export_worker_spec.rb": 2.453297261999978,5594 "ee/spec/services/incident_management/incidents/create_sla_service_spec.rb": 1.3676190009991842,5595 "ee/spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_assigned_security_policy_project_metric_spec.rb": 2.463341181000942,5596 "ee/spec/finders/security/training_providers/base_url_finder_spec.rb": 1.3522078419991885,5597 "ee/spec/workers/requirements_management/import_requirements_csv_worker_spec.rb": 1.8517628680001508,5598 "ee/spec/models/ee/protected_ref_spec.rb": 2.050881445999039,5599 "ee/spec/models/ee/event_collection_spec.rb": 1.5524676800014277,5600 "ee/spec/graphql/resolvers/dast_site_profile_resolver_spec.rb": 1.5741167880005378,5601 "ee/spec/lib/gitlab/usage/metrics/instrumentations/count_users_deployment_approvals_spec.rb": 2.742962730999352,5602 "ee/spec/services/deploy_keys/create_service_spec.rb": 2.4215836149996903,5603 "ee/spec/services/ee/quick_actions/target_service_spec.rb": 2.4642122109999036,5604 "ee/spec/finders/incident_management/issuable_resource_links_finder_spec.rb": 1.622681142998772,5605 "ee/spec/services/analytics/devops_adoption/enabled_namespaces/bulk_find_or_create_service_spec.rb": 2.1838673610000114,5606 "ee/spec/graphql/types/vulnerability_evidence_supporting_message_type_spec.rb": 1.8562758379994193,5607 "ee/spec/workers/auth/saml_group_sync_worker_spec.rb": 2.9949661530008598,5608 "ee/spec/lib/gitlab/graphql/aggregations/epics/epic_node_spec.rb": 0.5670878580003773,5609 "ee/spec/graphql/resolvers/incident_management/issuable_resource_links_resolver_spec.rb": 2.05447172499953,5610 "ee/spec/lib/gitlab/audit/levels/group_spec.rb": 1.7928006940001069,5611 "ee/spec/workers/geo/create_repository_updated_event_worker_spec.rb": 1.4504976120006177,5612 "ee/spec/lib/ee/api/helpers/members_helpers_spec.rb": 1.2876925190012116,5613 "ee/spec/presenters/ee/issue_presenter_spec.rb": 1.998115181000685,5614 "ee/spec/finders/ee/user_recent_events_finder_spec.rb": 1.5428066519998538,5615 "ee/spec/services/projects/licenses/create_policy_service_spec.rb": 1.6210798930005694,5616 "ee/spec/lib/ee/api/entities/scim/user_spec.rb": 1.293468728001244,5617 "ee/spec/lib/ee/gitlab/scim/value_parser_spec.rb": 0.5818831369997497,5618 "ee/spec/lib/gitlab/insights/finders/projects_finder_spec.rb": 1.3587408009989304,5619 "ee/spec/models/ee/users_statistics_spec.rb": 0.7104621229991608,5620 "ee/spec/workers/adjourned_project_deletion_worker_spec.rb": 1.5432996710005682,5621 "ee/spec/graphql/mutations/boards/update_epic_user_preferences_spec.rb": 1.4971915259993693,5622 "ee/spec/lib/gitlab/web_ide/config/entry/schemas_spec.rb": 0.5136034930001188,5623 "ee/spec/policies/geo_node_policy_spec.rb": 0.8502528970002459,5624 "ee/spec/workers/iterations/cadences/schedule_create_iterations_worker_spec.rb": 0.596578695000062,5625 "ee/spec/graphql/mutations/incident_management/oncall_schedule/update_spec.rb": 1.2596764420013642,5626 "ee/spec/finders/ee/work_items/work_items_finder_spec.rb": 1.7529252279982757,5627 "ee/spec/services/ee/protected_branches/update_service_spec.rb": 1.3992041579986108,5628 "ee/spec/lib/gitlab/import_export/group/group_and_descendants_repo_restorer_spec.rb": 0.7524826979988575,5629 "ee/spec/graphql/mutations/gitlab_subscriptions/activate_spec.rb": 0.8290531499987992,5630 "ee/spec/graphql/types/issue_connection_type_spec.rb": 0.9595840649999445,5631 "ee/spec/services/ee/terraform/states/destroy_service_spec.rb": 1.5129075349996128,5632 "ee/spec/views/admin/users/index.html.haml_spec.rb": 1.0582999839989498,5633 "ee/spec/services/vulnerability_scanners/list_service_spec.rb": 1.456300060999638,5634 "ee/spec/services/security/override_uuids_service_spec.rb": 1.1883027410003706,5635 "ee/spec/models/ee/namespace_ci_cd_setting_spec.rb": 0.7047673230008513,5636 "ee/spec/lib/ee/gitlab/auth/ldap/config_spec.rb": 0.3688882589995046,5637 "ee/spec/models/boards/epic_list_user_preference_spec.rb": 1.820312740999725,5638 "ee/spec/validators/user_existence_validator_spec.rb": 1.012749370000165,5639 "ee/spec/views/subscriptions/buy_minutes.html.haml_spec.rb": 0.8305217689994606,5640 "ee/spec/models/user_preference_spec.rb": 0.9517698159997963,5641 "ee/spec/services/projects/open_issues_count_service_spec.rb": 0.9818594330008636,5642 "ee/spec/serializers/integrations/jira_serializers/issue_serializer_spec.rb": 0.8852328339999076,5643 "ee/spec/lib/gitlab/usage/metrics/instrumentations/epics_deepest_relationship_level_metric_spec.rb": 0.7232312510004704,5644 "ee/spec/serializers/fork_namespace_entity_spec.rb": 1.2504798640002264,5645 "ee/spec/services/group_saml/group_managed_accounts/clean_up_members_service_spec.rb": 0.3457185130009748,5646 "ee/spec/graphql/types/external_issue_type_spec.rb": 0.6155124619999697,5647 "ee/spec/lib/gitlab/usage_data_counters/licenses_list_spec.rb": 0.6237599409996619,5648 "ee/spec/graphql/types/ci/code_coverage_activity_type_spec.rb": 0.3008006979998754,5649 "ee/spec/models/vulnerabilities/merge_request_link_spec.rb": 0.7504209489998175,5650 "ee/spec/models/ee/notification_setting_spec.rb": 0.35390500199901,5651 "ee/spec/helpers/users/identity_verification_helper_spec.rb": 5.281578083000568,5652 "ee/spec/graphql/types/geo/job_artifact_registry_type_spec.rb": 0.6039288140000281,5653 "ee/spec/lib/bulk_imports/groups/graphql/get_iterations_query_spec.rb": 0.9054240610003035,5654 "ee/spec/serializers/audit_event_serializer_spec.rb": 0.7426104589994793,5655 "ee/spec/serializers/analytics/cycle_analytics/stage_entity_spec.rb": 0.3741447889988194,5656 "ee/spec/graphql/types/metric_image_type_spec.rb": 0.6219601520006108,5657 "ee/spec/graphql/types/epic_descendant_count_type_spec.rb": 0.3352488929995161,5658 "ee/spec/lib/ee/gitlab/tracking_spec.rb": 0.39264357699903485,5659 "ee/spec/graphql/types/requirements_management/test_report_type_spec.rb": 0.509652703998654,5660 "ee/spec/models/board_label_spec.rb": 0.4304813729995658,5661 "ee/spec/graphql/types/security_scanners_spec.rb": 0.7973377729995264,5662 "ee/spec/elastic/migrate/20201105181100_apply_max_analyzed_offset_spec.rb": 0.5449510200014629,5663 "ee/spec/graphql/types/compliance_management/merge_requests/compliance_violation_severity_enum_spec.rb": 0.24193420400115428,5664 "ee/spec/workers/geo/verification_cron_worker_spec.rb": 0.377263419000883,5665 "ee/spec/lib/system_check/geo/authorized_keys_flag_check_spec.rb": 0.5257769030013151,5666 "ee/spec/workers/elastic_cluster_reindexing_cron_worker_spec.rb": 0.6988675640004658,5667 "ee/spec/models/ee/user_highest_role_spec.rb": 0.7328828199988493,5668 "ee/spec/graphql/types/security/training_url_type_spec.rb": 0.5653458289998525,5669 "ee/spec/graphql/ee/types/projects/service_type_enum_spec.rb": 0.40167284600101993,5670 "ee/spec/serializers/protected_environments/deploy_access_level_entity_spec.rb": 0.39984376600114047,5671 "ee/spec/graphql/types/ci/minutes/namespace_monthly_usage_type_spec.rb": 0.69722734400056655672}5673Knapsack global time execution for tests: 24m 58s5674Pending: (Failures listed here are expected and do not affect your suite's status)5675 1) GroupWiki behaves like wiki model #preview_slug title: "", file_extension: :md, format: :markdown, expected_slug: ".md" matches the slug generated by gitaly5676 # Gitaly cannot generate a slug for an empty title5677 # ./spec/support/shared_examples/models/wiki_shared_examples.rb:9545678 2) GroupWiki behaves like wiki model #preview_slug title: "", file_extension: :txt, format: :plaintext, expected_slug: ".txt" matches the slug generated by gitaly5679 # Gitaly cannot generate a slug for an empty title5680 # ./spec/support/shared_examples/models/wiki_shared_examples.rb:9545681 3) Resolvers::Geo::PackageFileRegistriesResolver 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 ArgumentError5682 # Skipping because verification is enabled for Packages::PackageFile5683 # ./ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb:775684 4) Resolvers::Geo::UploadRegistriesResolver 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 ArgumentError5685 # Skipping because verification is enabled for Upload5686 # ./ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb:775687 5) Gitlab::Geo::Replication::BlobDownloader#execute precondition failures when the file is locally stored ensures the file destination directory exists5688 # Temporarily skipped with xit5689 # ./ee/spec/lib/gitlab/geo/replication/blob_downloader_spec.rb:545690 6) Geo::GroupWikiRepositoryRegistryFinder behaves like a framework registry finder #execute when user can read all Geo when admin mode is enabled with verification enabled with a verification_state param returns registries with requested verification state5691 # Skipping because verification is not enabled for GroupWikiRepository5692 # ./ee/spec/support/shared_examples/finders/geo/framework_registry_finder_shared_examples.rb:755693 7) Geo::GroupWikiRepositoryRegistryFinder behaves like a framework registry finder #execute when user can read all Geo when admin mode is enabled with verification enabled with a verification_state param empty returns all registries5694 # Skipping because verification is not enabled for GroupWikiRepository5695 # ./ee/spec/support/shared_examples/finders/geo/framework_registry_finder_shared_examples.rb:835696 8) Resolvers::Geo::GroupWikiRepositoryRegistriesResolver 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 enabled when the verification_state argument is present returns registries with requested verification state, in order5697 # Skipping because verification is not enabled for GroupWikiRepository5698 # ./ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb:625699Failures:5700 1) Project when projects and snippets co-exist when searching with a wildcard only returns projects5701 Failure/Error: expect(response.total_count).to eq(1)5702 expected: 15703 got: 185704 (compared using ==)5705 # ./ee/spec/models/concerns/elastic/project_spec.rb:157:in `block (4 levels) in <top (required)>'5706 # ./spec/spec_helper.rb:416:in `block (3 levels) in <top (required)>'5707 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'5708 # ./spec/spec_helper.rb:408:in `block (2 levels) in <top (required)>'5709 # ./spec/spec_helper.rb:404:in `block (3 levels) in <top (required)>'5710 # ./lib/gitlab/application_context.rb:58:in `with_raw_context'5711 # ./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'5712 # ./spec/spec_helper.rb:240:in `block (2 levels) in <top (required)>'5713 # ./spec/support/sidekiq.rb:21:in `block (3 levels) in <top (required)>'5714 # ./spec/support/sidekiq.rb:8:in `gitlab_sidekiq_inline'5715 # ./spec/support/sidekiq.rb:21:in `block (2 levels) in <top (required)>'5716 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'5717 # ./spec/support/redis.rb:17:in `block (3 levels) in <top (required)>'5718 # ./spec/support/redis.rb:17:in `block (3 levels) in <top (required)>'5719 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'5720 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'5721 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'5722 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'5723 # ./ee/spec/support/elastic.rb:80:in `block (2 levels) in <top (required)>'5724Finished in 25 minutes 2 seconds (files took 48.17 seconds to load)57252059 examples, 1 failure, 8 pending5726Failed examples:5727rspec ./ee/spec/models/concerns/elastic/project_spec.rb:153 # Project when projects and snippets co-exist when searching with a wildcard only returns projects5728Randomized with seed 436035729[TEST PROF INFO] Time spent in factories: 16:00.843 (63.73% of total time)5730Stopped processing SimpleCov as a previous error not related to SimpleCov has been detected5731RSpec exited with 1.5732Retrying the failing examples in a new RSpec process...5733$ gem install junit_merge --no-document --version 0.1.25734Successfully installed nokogiri-1.13.9-x86_64-linux5735Successfully installed junit_merge-0.1.257362 gems installed5737==> 'gem install junit_merge --no-document --version 0.1.2' succeeded in 1 seconds.5738Running 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,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"5739Run options: include {:last_run_status=>"failed"}5740Test environment set up in 1.394636358 seconds5741Project5742 when projects and snippets co-exist5743 when searching with a wildcard5744 only returns projects5745Finished in 10.16 seconds (files took 47.76 seconds to load)57461 example, 0 failures5747[TEST PROF INFO] Time spent in factories: 00:02.078 (16.5% of total time)5749Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-16 due to policy5750Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-16 due to policy5752Uploading artifacts...5753coverage/: found 4 matching files and directories 5754crystalball/: found 2 matching files and directories 5755WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory 5756knapsack/: found 3 matching files and directories 5757rspec/: found 11 matching files and directories 5758WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 5759log/*.log: found 19 matching files and directories 5760WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3275963066/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com5761WARNING: Retrying... context=artifacts-uploader error=request redirected5762Uploading artifacts as "archive" to coordinator... 201 Created id=3275963066 responseStatus=201 Created token=ngWmHX6B5763Uploading artifacts...5764rspec/junit_rspec.xml: found 1 matching files and directories 5765WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3275963066/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com5766WARNING: Retrying... context=artifacts-uploader error=request redirected5767Uploading artifacts as "junit" to coordinator... 201 Created id=3275963066 responseStatus=201 Created token=ngWmHX6B5769Job succeeded