rspec-ee unit pg12 15/16
Passed Started
by
@.luke

Luke Duncalfe
1Running with gitlab-runner 15.3.0~beta.42.gdb7789ca (db7789ca)2 on green-2.private.runners-manager.gitlab.com/gitlab.com/gitlab-org GaSD-S1F3 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:ffc079081fed116f7ec22097d3e0308ab568536216cdebf45a8cab78fe30ee8f for postgres:12 with digest postgres@sha256:ca17935b3df07cb09f6ceab07913f6fee0e5f349102fe0a7922a8969c3593ae0 ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:374ca386513ad781c1aa2f52c9379052723b49ab188b8517167f0b24055518bf for redis:6.0-alpine with digest redis@sha256:8f94750b64abe7fcb118c2e6706be5e186efc54a62b80fe1d21b8d7a91c0f547 ...13Starting service elasticsearch:7.17.0 ...14Pulling docker image elasticsearch:7.17.0 ...15Using docker image sha256:6fe993d6e7ed5e00a18f9b146d867b77559bf9948e6596bbf880ddbefeec46f7 for elasticsearch:7.17.0 with digest elasticsearch@sha256:332c6d416808f6e9a2cbcbe0170d9a9bb14bfe772180d37de5084c223dd8948b ...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.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 ...19Using docker image sha256:a9a70e41d030f83cde0068df3d11170dec855e8a8bf3a020e27b85ad5b20d11b for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-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.17-node-16.14-postgresql-12@sha256:b017ecabd2a1190405dc62cb97a82b18482bf812ceeeee2c3f4200b890c43fde ...21Running on runner-gasd-s1f-project-278964-concurrent-0 via runner-gasd-s1f-private-1659389550-b2b7d2fc...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: 127308, done. 28remote: Counting objects: 100% (127308/127308), done. 29remote: Compressing objects: 100% (86137/86137), done. 30remote: Total 127308 (delta 56589), reused 83753 (delta 36275), pack-reused 0 31Receiving objects: 100% (127308/127308), 114.35 MiB | 24.15 MiB/s, done.32Resolving deltas: 100% (56589/56589), done.34 * [new ref] refs/pipelines/602249477 -> refs/pipelines/60224947735Checking out a33057a2 as refs/merge-requests/93624/merge...36Skipping Git submodules setup37$ git remote set-url origin "${CI_REPOSITORY_URL}"39Checking cache for ruby-gems-debian-bullseye-ruby-2.7-14...40cache.zip is up to date 41Successfully extracted cache42Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-2.7-14...43cache.zip is up to date 44Successfully extracted cache46Downloading artifacts for compile-test-assets (2799740965)...47Downloading artifacts from coordinator... ok id=2799740965 responseStatus=200 OK token=K447c3E548Downloading artifacts for detect-tests (2799740974)...49Downloading artifacts from coordinator... ok id=2799740974 responseStatus=200 OK token=K447c3E550Downloading artifacts for retrieve-tests-metadata (2799740978)...51Downloading artifacts from coordinator... ok id=2799740978 responseStatus=200 OK token=K447c3E552Downloading artifacts for setup-test-env (2799740970)...53Downloading artifacts from coordinator... ok id=2799740970 responseStatus=200 OK token=K447c3E555Using docker image sha256:a9a70e41d030f83cde0068df3d11170dec855e8a8bf3a020e27b85ad5b20d11b for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-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.17-node-16.14-postgresql-12@sha256:b017ecabd2a1190405dc62cb97a82b18482bf812ceeeee2c3f4200b890c43fde ...56$ echo $FOSS_ONLY57$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb58$ export GOPATH=$CI_PROJECT_DIR/.go59$ mkdir -p $GOPATH60$ source scripts/utils.sh61$ source scripts/prepare_build.sh623.2.3363Bundler version 2.2.3364Successfully installed bundler-2.3.15651 gem installed66production:development67Settings are listed in order of priority. The top value will be used.68clean69Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): true70frozen71Set via BUNDLE_FROZEN: true72install_flags73Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"74path75Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): "/builds/gitlab-org/gitlab/vendor"76without77Set via BUNDLE_WITHOUT: [:production, :development]78$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check79Don't run Bundler as root. Bundler can ask for sudo if it is needed, and80installing your bundle as root will break this application for all non-root81users on this machine.82The Gemfile's dependencies are satisfied83==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 1 seconds.84$ bundle pristine pg85Installing pg 1.4.1 with native extensions86==> 'bundle pristine pg' succeeded in 9 seconds.87Using decomposed database config (config/database.yml.decomposed-postgresql)88$ setup_db_user_only89CREATE ROLE90GRANT91==> 'setup_db_user_only' succeeded in 0 seconds.92$ bundle exec rake db:drop db:create db:schema:load db:migrate93Dropped database 'gitlabhq_test'94Dropped database 'gitlabhq_test_ci'95Dropped database 'gitlabhq_geo_test'96Created database 'gitlabhq_test'97Created database 'gitlabhq_test_ci'98Created database 'gitlabhq_geo_test'99==> 'bundle exec rake db:drop db:create db:schema:load db:migrate' succeeded in 36 seconds.100$ setup_db_praefect101SELECT pg_catalog.set_config('search_path', '', false);102CREATE DATABASE praefect_test ENCODING 'UTF8';103==> 'setup_db_praefect' succeeded in 0 seconds.104$ run_timed_command "gem install knapsack --no-document"105$ gem install knapsack --no-document106Successfully installed knapsack-4.0.01071 gem installed108==> 'gem install knapsack --no-document' succeeded in 1 seconds.109$ run_timed_command "scripts/gitaly-test-spawn"110$ scripts/gitaly-test-spawn111find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory112find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory113find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory114find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory115find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory116Don't run Bundler as root. Bundler can ask for sudo if it is needed, and117installing your bundle as root will break this application for all non-root118users on this machine.119Using abstract_type 0.0.7120Using concurrent-ruby 1.1.10121Using i18n 1.12.0122Using minitest 5.16.2123Using tzinfo 2.0.5124Using zeitwerk 2.6.0125Using activesupport 6.1.6.1126Using builder 3.2.4127Using erubi 1.10.0128Using mini_portile2 2.8.0129Using racc 1.6.0130Using nokogiri 1.13.6 (x86_64-linux)131Using rails-dom-testing 2.0.3132Using crass 1.0.6133Using loofah 2.16.0134Using rails-html-sanitizer 1.4.2135Using actionview 6.1.6.1136Using rack 2.2.3137Using rack-test 1.1.0138Using actionpack 6.1.6.1139Using ice_nine 0.11.2140Using thread_safe 0.3.6141Using memoizable 0.4.2142Using adamantium 0.2.0143Using public_suffix 4.0.6144Using addressable 2.7.0145Using ast 2.4.2146Using binding_ninja 0.2.3147Using bundler 2.3.15148Using charlock_holmes 0.7.7149Using coderay 1.1.2150Using equalizer 0.0.11151Using concord 0.1.5152Using diff-lcs 1.3153Using dotenv 2.7.6154Using escape_utils 1.2.2155Using factory_bot 5.0.2156Using multipart-post 2.1.1157Using faraday 1.0.1158Using ffi 1.15.3159Using json 2.5.1160Using gemojione 3.3.0161Using mini_mime 1.1.2162Using rugged 1.2.0163Using github-linguist 7.20.0164Using github-markup 1.7.0165Using mime-types-data 3.2020.1104166Using mime-types 3.3.1167Using gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1168Using rouge 3.27.0169Using sanitize 6.0.0170Using stringex 2.8.5171Using gitlab-gollum-lib 4.2.7.10.gitlab.2172Using google-protobuf 3.21.3 (x86_64-linux)173Using googleapis-common-protos-types 1.3.0174Using grpc 1.42.0 (x86_64-linux)175Using opentracing 0.5.0176Using thrift 0.15.0177Using jaeger-client 1.1.0178Using pg_query 2.1.1179Using redis 4.4.0180Using gitlab-labkit 0.23.0181Using rubyzip 2.3.2182Using thor 1.1.0183Using tomlrb 2.0.1184Using with_env 1.1.0185Using rexml 3.2.5186Using xml-simple 1.1.9187Using gitlab-license_finder 6.14.2.1188Using gitlab-markup 1.7.1189Using grpc-tools 1.42.0190Using sawyer 0.8.2191Using octokit 4.20.0192Using reverse_markdown 1.4.0193Using licensee 9.14.1194Using method_source 0.9.2195Using msgpack 1.3.3196Using optimist 3.0.1197Using parallel 1.19.2198Using parser 3.0.3.2199Using procto 0.0.3200Using unparser 0.4.7201Using proc_to_ast 0.1.0202Using pry 0.12.2203Using rainbow 3.0.0204Using rbtrace 0.4.14205Using rdoc 6.3.2206Using regexp_parser 1.8.1207Using rspec-support 3.8.0208Using rspec-core 3.8.0209Using rspec-expectations 3.8.3210Using rspec-mocks 3.8.0211Using rspec 3.8.0212Using rspec-parameterized 0.4.2213Using rubocop-ast 0.2.0214Using ruby-progressbar 1.10.1215Using unicode-display_width 1.7.0216Using rubocop 0.86.0217Using sentry-raven 3.0.4218Using timecop 0.9.1219Bundle complete! 22 Gemfile dependencies, 100 gems now installed.220Gems in the groups 'production' and 'development' were not installed.221Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`222Checking gitaly-ruby Gemfile...223Checking gitaly-ruby bundle...224The Gemfile's dependencies are satisfied225Trying to connect to gitaly: .......................................... OK226Trying to connect to gitaly2: ........................................................ OK227Starting Praefect with in-memory election strategyTrying to connect to praefect: ....... OK228==> 'scripts/gitaly-test-spawn' succeeded in 12 seconds.229$ source ./scripts/rspec_helpers.sh230$ rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"231SKIP_FLAKY_TESTS_AUTOMATICALLY: true232RETRY_FAILED_TESTS_IN_NEW_PROCESS: true233KNAPSACK_GENERATE_REPORT: true234FLAKY_RSPEC_GENERATE_REPORT: true235KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{bin,channels,config,db,dependencies,elastic,elastic_integration,experiments,events,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.rb236KNAPSACK_LOG_LEVEL: debug237KNAPSACK_REPORT_PATH: knapsack/rspec-ee_unit_pg12_15_16_report.json238FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json239FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_unit_pg12_15_16_report.json240NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_unit_pg12_15_16_report.json241SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec-ee_unit_pg12_15_16_report.txt242RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec-ee_unit_pg12_15_16_report.txt243CRYSTALBALL: 244Knapsack node specs:245ee/spec/models/ee/group_spec.rb246ee/spec/models/concerns/elastic/note_spec.rb247ee/spec/models/license_spec.rb248ee/spec/lib/ee/gitlab/middleware/read_only_spec.rb249ee/spec/lib/gitlab/custom_file_templates_spec.rb250ee/spec/lib/compliance_management/merge_request_approval_settings/resolver_spec.rb251ee/spec/services/epics/update_service_spec.rb252ee/spec/models/elastic/migration_record_spec.rb253ee/spec/models/geo/package_file_registry_spec.rb254ee/spec/lib/ee/gitlab/import_export/project/tree_restorer_spec.rb255ee/spec/services/ee/issues/create_service_spec.rb256ee/spec/services/start_pull_mirroring_service_spec.rb257ee/spec/services/groups/update_service_spec.rb258ee/spec/models/requirements_management/requirement_spec.rb259ee/spec/policies/note_policy_spec.rb260ee/spec/lib/gitlab/ci/minutes/cost_factor_spec.rb261ee/spec/services/auto_merge/merge_train_service_spec.rb262ee/spec/models/productivity_analytics_spec.rb263ee/spec/lib/ee/gitlab/background_migration/fix_incorrect_max_seats_used_spec.rb264ee/spec/workers/geo/repository_verification/primary/shard_worker_spec.rb265ee/spec/services/requirements_management/update_requirement_service_spec.rb266ee/spec/services/ci/minutes/track_live_consumption_service_spec.rb267ee/spec/services/dashboard/operations/list_service_spec.rb268ee/spec/lib/ee/gitlab/background_migration/create_security_setting_spec.rb269ee/spec/models/visible_approvable_spec.rb270ee/spec/lib/audit/group_push_rules_changes_auditor_spec.rb271ee/spec/models/concerns/geo/verification_state_spec.rb272ee/spec/services/analytics/cycle_analytics/aggregator_service_spec.rb273ee/spec/services/ee/issues/create_from_vulnerability_data_service_spec.rb274ee/spec/lib/gitlab/ci/parsers/security/formatters/dependency_list_spec.rb275ee/spec/services/iterations/delete_service_spec.rb276ee/spec/services/security/ingestion/tasks/attach_findings_to_vulnerabilities_spec.rb277ee/spec/services/security/vulnerability_counting_service_spec.rb278ee/spec/services/security/security_orchestration_policies/policy_commit_service_spec.rb279ee/spec/models/ee/pages_deployment_spec.rb280ee/spec/models/protected_environment/deploy_access_level_spec.rb281ee/spec/lib/gitlab/subscription_portal/clients/rest_spec.rb282ee/spec/services/security/merge_reports_service_spec.rb283ee/spec/graphql/mutations/dast/profiles/create_spec.rb284ee/spec/services/iterations/cadences/update_service_spec.rb285ee/spec/graphql/mutations/issues/create_spec.rb286ee/spec/graphql/resolvers/dora_metrics_resolver_spec.rb287ee/spec/services/vulnerabilities/findings/create_from_security_finding_service_spec.rb288ee/spec/models/boards/epic_list_spec.rb289ee/spec/services/vulnerabilities/finding_dismiss_service_spec.rb290ee/spec/workers/geo/container_repository_sync_dispatch_worker_spec.rb291ee/spec/lib/ee/api/entities/billable_member_spec.rb292ee/spec/models/deployment_spec.rb293ee/spec/models/incident_management/escalation_policy_spec.rb294ee/spec/serializers/merge_request_poll_widget_entity_spec.rb295ee/spec/lib/ee/sidebars/projects/menus/security_compliance_menu_spec.rb296ee/spec/finders/boards/boards_finder_spec.rb297ee/spec/lib/gitlab/code_owners/entry_spec.rb298ee/spec/workers/elastic_remove_expired_namespace_subscriptions_from_index_cron_worker_spec.rb299ee/spec/finders/notes_finder_spec.rb300ee/spec/services/security/ingestion/tasks/ingest_finding_identifiers_spec.rb301ee/spec/lib/ee/api/entities/deployment_extended_spec.rb302ee/spec/services/personal_access_tokens/rotation_verifier_service_spec.rb303ee/spec/services/vulnerability_exports/create_service_spec.rb304ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_closed_spec.rb305ee/spec/policies/dast_scanner_profile_policy_spec.rb306ee/spec/finders/ee/ci/daily_build_group_report_results_finder_spec.rb307ee/spec/lib/ee/gitlab/ci/pipeline/quota/job_activity_spec.rb308ee/spec/graphql/mutations/incident_management/issuable_resource_link/create_spec.rb309ee/spec/models/sbom/occurrence_spec.rb310ee/spec/views/search/_category.html.haml_spec.rb311ee/spec/views/projects/security/dast_profiles/show.html.haml_spec.rb312ee/spec/services/audit_events/export_csv_service_spec.rb313ee/spec/lib/ee/gitlab/scim/params_parser_spec.rb314ee/spec/lib/gem_extensions/elasticsearch/model/adapter/active_record/records_spec.rb315ee/spec/services/ci/runners/stale_group_runners_prune_service_spec.rb316ee/spec/workers/ci/minutes/update_project_and_namespace_usage_worker_spec.rb317ee/spec/tasks/gitlab/geo_rake_spec.rb318ee/spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb319ee/spec/lib/gitlab/status_page/storage_spec.rb320ee/spec/services/app_sec/dast/scan_configs/fetch_service_spec.rb321ee/spec/services/security/ingestion/tasks/ingest_finding_pipelines_spec.rb322ee/spec/lib/gitlab/ci/templates/secret_detection_latest_gitlab_ci_yaml_spec.rb323ee/spec/services/ee/quick_actions/target_service_spec.rb324ee/spec/serializers/clusters/environment_entity_spec.rb325ee/spec/finders/boards/milestones_finder_spec.rb326ee/spec/services/elastic/indexing_control_service_spec.rb327ee/spec/models/vulnerabilities/finding/evidence_spec.rb328ee/spec/graphql/resolvers/dast_site_validation_resolver_spec.rb329ee/spec/services/groups/epics_count_service_spec.rb330ee/spec/services/licenses/destroy_service_spec.rb331ee/spec/graphql/types/dast_scanner_profile_type_spec.rb332ee/spec/services/geo/hashed_storage_attachments_migration_service_spec.rb333ee/spec/services/incident_management/escalation_policies/destroy_service_spec.rb334ee/spec/services/external_status_checks/destroy_service_spec.rb335ee/spec/presenters/epic_issue_presenter_spec.rb336ee/spec/services/push_rules/create_or_update_service_spec.rb337ee/spec/models/ee/event_collection_spec.rb338ee/spec/lib/ee/gitlab/rack_attack/request_spec.rb339ee/spec/models/ee/members_preloader_spec.rb340ee/spec/lib/gitlab/audit/levels/group_spec.rb341ee/spec/services/compliance_management/merge_requests/create_compliance_violations_service_spec.rb342ee/spec/serializers/member_user_entity_spec.rb343ee/spec/services/iterations/update_service_spec.rb344ee/spec/models/ee/protected_ref_spec.rb345ee/spec/finders/ee/alert_management/http_integrations_finder_spec.rb346ee/spec/models/dast/branch_spec.rb347ee/spec/helpers/ee/learn_gitlab_helper_spec.rb348ee/spec/graphql/types/vulnerability_location/coverage_fuzzing_type_spec.rb349ee/spec/finders/autocomplete/group_subgroups_finder_spec.rb350ee/spec/services/gitlab_subscriptions/fetch_purchase_eligible_namespaces_service_spec.rb351ee/spec/models/issuable_sla_spec.rb352ee/spec/serializers/integrations/zentao_serializers/issue_entity_spec.rb353ee/spec/helpers/groups/feature_discovery_moments_helper_spec.rb354ee/spec/workers/incident_management/pending_escalations/alert_check_worker_spec.rb355ee/spec/workers/sync_seat_link_worker_spec.rb356ee/spec/lib/gitlab/usage/metrics/instrumentations/count_event_streaming_destinations_metric_spec.rb357ee/spec/services/audit_events/release_artifacts_downloaded_audit_event_service_spec.rb358ee/spec/graphql/mutations/todos/create_spec.rb359ee/spec/services/vulnerability_external_issue_links/destroy_service_spec.rb360ee/spec/services/app_sec/dast/profile_schedules/audit/update_service_spec.rb361ee/spec/models/ee/system_note_metadata_spec.rb362ee/spec/policies/geo_node_policy_spec.rb363ee/spec/services/status_page/unpublish_details_service_spec.rb364ee/spec/graphql/types/geo/pipeline_artifact_registry_type_spec.rb365ee/spec/services/vulnerabilities/historical_statistics/adjustment_service_spec.rb366ee/spec/lib/system_check/geo/license_check_spec.rb367ee/spec/models/ee/resource_state_event_spec.rb368ee/spec/services/projects/import_export/export_service_spec.rb369ee/spec/services/path_locks/unlock_service_spec.rb370ee/spec/routing/groups/cadences_routing_spec.rb371ee/spec/models/ee/analytics/cycle_analytics/stage_event_hash_spec.rb372ee/spec/lib/gitlab/ci/templates/coverage_fuzzing_gitlab_ci_yaml_spec.rb373ee/spec/graphql/types/incident_management/oncall_shift_type_spec.rb374ee/spec/views/shared/_clone_panel.html.haml_spec.rb375ee/spec/services/projects/group_links/update_service_spec.rb376ee/spec/views/groups/security/discover/show.html.haml_spec.rb377ee/spec/lib/gitlab/insights/serializers/chartjs/multi_series_serializer_spec.rb378ee/spec/views/admin/application_settings/_git_abuse_rate_limit.html.haml_spec.rb379ee/spec/lib/banzai/filter/jira_private_image_link_filter_spec.rb380ee/spec/lib/gitlab/customers_dot/jwt_spec.rb381ee/spec/services/geo/graphql_request_service_spec.rb382ee/spec/views/subscriptions/new.html.haml_spec.rb383ee/spec/graphql/ee/types/namespace_type_spec.rb384ee/spec/lib/gitlab/ci/reports/license_scanning/reports_comparer_spec.rb385ee/spec/elastic/migrate/20201116142400_add_new_data_to_issues_documents_spec.rb386ee/spec/workers/geo/verification_batch_worker_spec.rb387ee/spec/lib/bulk_imports/common/pipelines/wiki_pipeline_spec.rb388ee/spec/services/ee/alert_management/http_integrations/create_service_spec.rb389ee/spec/services/boards/epic_boards/visits/create_service_spec.rb390ee/spec/lib/elastic/latest/project_instance_proxy_spec.rb391ee/spec/workers/geo/scheduler/scheduler_worker_spec.rb392ee/spec/graphql/types/dora_type_spec.rb393ee/spec/elastic/migrate/20201105181100_apply_max_analyzed_offset_spec.rb394ee/spec/graphql/types/iterations/cadence_type_spec.rb395ee/spec/workers/groups/export_memberships_worker_spec.rb396ee/spec/helpers/groups/ldap_sync_helper_spec.rb397ee/spec/models/concerns/ee/milestoneable_spec.rb398ee/spec/serializers/group_vulnerability_autocomplete_entity_spec.rb399ee/spec/lib/gitlab/auth/o_auth/auth_hash_spec.rb400ee/spec/graphql/types/merge_requests/approval_state_type_spec.rb401ee/spec/serializers/metrics_reports_comparer_entity_spec.rb402ee/spec/lib/ee/gitlab/auth/ldap/config_spec.rb403ee/spec/graphql/ee/types/issuable_type_spec.rb404ee/spec/graphql/types/app_sec/fuzzing/api/scan_mode_enum_spec.rb405ee/spec/graphql/types/ci/code_coverage_summary_spec.rb406ee/spec/services/gitlab_subscriptions/create_hand_raise_lead_service_spec.rb407ee/spec/graphql/types/group_stats_type_spec.rb408ee/spec/graphql/types/vulnerable_kubernetes_resource_type_spec.rb409ee/spec/graphql/types/vulnerability_severity_enum_spec.rb410ee/spec/graphql/types/vulnerability_identifier_input_type_spec.rb411ee/spec/services/ee/auto_merge_service_spec.rb412ee/spec/lib/gitlab/import_sources_spec.rb413Filter specs:414Running specs:415Running all node tests without filter416ee/spec/models/ee/group_spec.rb417ee/spec/models/concerns/elastic/note_spec.rb418ee/spec/models/license_spec.rb419ee/spec/lib/ee/gitlab/middleware/read_only_spec.rb420ee/spec/lib/gitlab/custom_file_templates_spec.rb421ee/spec/lib/compliance_management/merge_request_approval_settings/resolver_spec.rb422ee/spec/services/epics/update_service_spec.rb423ee/spec/models/elastic/migration_record_spec.rb424ee/spec/models/geo/package_file_registry_spec.rb425ee/spec/lib/ee/gitlab/import_export/project/tree_restorer_spec.rb426ee/spec/services/ee/issues/create_service_spec.rb427ee/spec/services/start_pull_mirroring_service_spec.rb428ee/spec/services/groups/update_service_spec.rb429ee/spec/models/requirements_management/requirement_spec.rb430ee/spec/policies/note_policy_spec.rb431ee/spec/lib/gitlab/ci/minutes/cost_factor_spec.rb432ee/spec/services/auto_merge/merge_train_service_spec.rb433ee/spec/models/productivity_analytics_spec.rb434ee/spec/lib/ee/gitlab/background_migration/fix_incorrect_max_seats_used_spec.rb435ee/spec/workers/geo/repository_verification/primary/shard_worker_spec.rb436ee/spec/services/requirements_management/update_requirement_service_spec.rb437ee/spec/services/ci/minutes/track_live_consumption_service_spec.rb438ee/spec/services/dashboard/operations/list_service_spec.rb439ee/spec/lib/ee/gitlab/background_migration/create_security_setting_spec.rb440ee/spec/models/visible_approvable_spec.rb441ee/spec/lib/audit/group_push_rules_changes_auditor_spec.rb442ee/spec/models/concerns/geo/verification_state_spec.rb443ee/spec/services/analytics/cycle_analytics/aggregator_service_spec.rb444ee/spec/services/ee/issues/create_from_vulnerability_data_service_spec.rb445ee/spec/lib/gitlab/ci/parsers/security/formatters/dependency_list_spec.rb446ee/spec/services/iterations/delete_service_spec.rb447ee/spec/services/security/ingestion/tasks/attach_findings_to_vulnerabilities_spec.rb448ee/spec/services/security/vulnerability_counting_service_spec.rb449ee/spec/services/security/security_orchestration_policies/policy_commit_service_spec.rb450ee/spec/models/ee/pages_deployment_spec.rb451ee/spec/models/protected_environment/deploy_access_level_spec.rb452ee/spec/lib/gitlab/subscription_portal/clients/rest_spec.rb453ee/spec/services/security/merge_reports_service_spec.rb454ee/spec/graphql/mutations/dast/profiles/create_spec.rb455ee/spec/services/iterations/cadences/update_service_spec.rb456ee/spec/graphql/mutations/issues/create_spec.rb457ee/spec/graphql/resolvers/dora_metrics_resolver_spec.rb458ee/spec/services/vulnerabilities/findings/create_from_security_finding_service_spec.rb459ee/spec/models/boards/epic_list_spec.rb460ee/spec/services/vulnerabilities/finding_dismiss_service_spec.rb461ee/spec/workers/geo/container_repository_sync_dispatch_worker_spec.rb462ee/spec/lib/ee/api/entities/billable_member_spec.rb463ee/spec/models/deployment_spec.rb464ee/spec/models/incident_management/escalation_policy_spec.rb465ee/spec/serializers/merge_request_poll_widget_entity_spec.rb466ee/spec/lib/ee/sidebars/projects/menus/security_compliance_menu_spec.rb467ee/spec/finders/boards/boards_finder_spec.rb468ee/spec/lib/gitlab/code_owners/entry_spec.rb469ee/spec/workers/elastic_remove_expired_namespace_subscriptions_from_index_cron_worker_spec.rb470ee/spec/finders/notes_finder_spec.rb471ee/spec/services/security/ingestion/tasks/ingest_finding_identifiers_spec.rb472ee/spec/lib/ee/api/entities/deployment_extended_spec.rb473ee/spec/services/personal_access_tokens/rotation_verifier_service_spec.rb474ee/spec/services/vulnerability_exports/create_service_spec.rb475ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_closed_spec.rb476ee/spec/policies/dast_scanner_profile_policy_spec.rb477ee/spec/finders/ee/ci/daily_build_group_report_results_finder_spec.rb478ee/spec/lib/ee/gitlab/ci/pipeline/quota/job_activity_spec.rb479ee/spec/graphql/mutations/incident_management/issuable_resource_link/create_spec.rb480ee/spec/models/sbom/occurrence_spec.rb481ee/spec/views/search/_category.html.haml_spec.rb482ee/spec/views/projects/security/dast_profiles/show.html.haml_spec.rb483ee/spec/services/audit_events/export_csv_service_spec.rb484ee/spec/lib/ee/gitlab/scim/params_parser_spec.rb485ee/spec/lib/gem_extensions/elasticsearch/model/adapter/active_record/records_spec.rb486ee/spec/services/ci/runners/stale_group_runners_prune_service_spec.rb487ee/spec/workers/ci/minutes/update_project_and_namespace_usage_worker_spec.rb488ee/spec/tasks/gitlab/geo_rake_spec.rb489ee/spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb490ee/spec/lib/gitlab/status_page/storage_spec.rb491ee/spec/services/app_sec/dast/scan_configs/fetch_service_spec.rb492ee/spec/services/security/ingestion/tasks/ingest_finding_pipelines_spec.rb493ee/spec/lib/gitlab/ci/templates/secret_detection_latest_gitlab_ci_yaml_spec.rb494ee/spec/services/ee/quick_actions/target_service_spec.rb495ee/spec/serializers/clusters/environment_entity_spec.rb496ee/spec/finders/boards/milestones_finder_spec.rb497ee/spec/services/elastic/indexing_control_service_spec.rb498ee/spec/models/vulnerabilities/finding/evidence_spec.rb499ee/spec/graphql/resolvers/dast_site_validation_resolver_spec.rb500ee/spec/services/groups/epics_count_service_spec.rb501ee/spec/services/licenses/destroy_service_spec.rb502ee/spec/graphql/types/dast_scanner_profile_type_spec.rb503ee/spec/services/geo/hashed_storage_attachments_migration_service_spec.rb504ee/spec/services/incident_management/escalation_policies/destroy_service_spec.rb505ee/spec/services/external_status_checks/destroy_service_spec.rb506ee/spec/presenters/epic_issue_presenter_spec.rb507ee/spec/services/push_rules/create_or_update_service_spec.rb508ee/spec/models/ee/event_collection_spec.rb509ee/spec/lib/ee/gitlab/rack_attack/request_spec.rb510ee/spec/models/ee/members_preloader_spec.rb511ee/spec/lib/gitlab/audit/levels/group_spec.rb512ee/spec/services/compliance_management/merge_requests/create_compliance_violations_service_spec.rb513ee/spec/serializers/member_user_entity_spec.rb514ee/spec/services/iterations/update_service_spec.rb515ee/spec/models/ee/protected_ref_spec.rb516ee/spec/finders/ee/alert_management/http_integrations_finder_spec.rb517ee/spec/models/dast/branch_spec.rb518ee/spec/helpers/ee/learn_gitlab_helper_spec.rb519ee/spec/graphql/types/vulnerability_location/coverage_fuzzing_type_spec.rb520ee/spec/finders/autocomplete/group_subgroups_finder_spec.rbKnapsack report generator started!521/builds/gitlab-org/gitlab/spec/support/shared_contexts/features/integrations/integrations_shared_context.rb:69: warning: found `= literal' in conditional, should be ==522Run options: exclude {:quarantine=>true, :level=>"migration"}523Test environment set up in 0.608148249 seconds524Group525 is expected to includes the EE::Group module526 is expected to be a kind of ReactiveCaching527 associations528 is expected to have many audit_events dependent => false529 is expected to belong to file_template_project class_name => Project530 is expected to have many cycle_analytics_stages531 is expected to have many value_streams532 is expected to have many ip_restrictions533 is expected to have many allowed_email_domains534 is expected to have many compliance_management_frameworks535 is expected to have one deletion_schedule536 is expected to have one group_wiki_repository537 is expected to belong to push_rule required: false inverse_of => group538 is expected to have many saml_group_links539 is expected to have many epics540 is expected to have many epic_boards inverse_of => group541 is expected to have many provisioned_user_details inverse_of => provisioned_by_group542 is expected to have many provisioned_users543 is expected to have one group_merge_request_approval_setting544 is expected to have many repository_storage_moves545 is expected to have many iterations546 is expected to have many iterations_cadences547 is expected to have many epic_board_recent_visits inverse_of => group548 is expected to have many external_audit_event_destinations549 behaves like model with wiki550 #create_wiki551 returns true if the wiki repository already exists552 returns true if the wiki repository was created553 when the repository cannot be created554 returns false and adds a validation error555 #wiki_repository_exists?556 returns true when the wiki repository exists557 returns false when the wiki repository does not exist558 wiki path conflict559 when the new path has been used by the wiki of other Project560 has an error on the name attribute561 when the new wiki path has been used by the path of other Project562 has an error on the name attribute563 when the new path has been used by the wiki of other Group564 has an error on the name attribute565 when the new wiki path has been used by the path of other Group566 has an error on the name attribute567 scopes568 .with_custom_file_templates569 is expected to contain exactly #<Group id:26 @group22>570 preloads everything needed to show a valid checked_file_template_project571 .with_saml_provider572 preloads saml_providers573 .aimed_for_deletion574 only includes groups that are marked for deletion on or before the specified date575 .for_epics576 returns groups only for selected epics577 .with_managed_accounts_enabled578 includes the groups that has managed accounts enabled579 .with_no_pat_expiry_policy580 includes the groups that has no PAT expiry policy set581 .user_is_member582 returns only groups where user is direct or indirect member ignoring inheritance and minimal access level583 validations584 max_personal_access_token_lifetime585 is expected to allow :max_personal_access_token_lifetime to be ‹1›586 is expected to allow :max_personal_access_token_lifetime to be ‹nil›587 is expected to allow :max_personal_access_token_lifetime to be ‹10›588 is expected to allow :max_personal_access_token_lifetime to be ‹365›589 is expected not to allow :max_personal_access_token_lifetime to be ‹"value"›590 is expected not to allow :max_personal_access_token_lifetime to be ‹2.5›591 is expected not to allow :max_personal_access_token_lifetime to be ‹-5›592 is expected not to allow :max_personal_access_token_lifetime to be ‹366›593 validates if custom_project_templates_group_id is allowed594 rejects change if the assigned group is not a subgroup595 allows value if the assigned value is from a subgroup596 rejects change if the assigned value is from a subgroup's descendant group597 allows value when it is blank598 states599 is expected to be ldap sync ready600 after the start transition601 sets the last sync timestamp602 after the finish transition603 sets the state to started604 sets last update and last successful update to the same timestamp605 clears previous error message on success606 after the fail transition607 sets the state to failed608 sets last update timestamp but not last successful update timestamp609 .groups_user_can610 for :read_epic permission611 when user has minimal access to group612 behaves like a filter for permissioned groups613 with epics enabled614 uses filter optmization to return groups with access615 when groups array is empty616 does not use filter optimization617 when use_traversal_ids is disabled618 does not use filter optimization619 when find_epics_performance_improvement is disabled620 does not use filter optimization621 with epics disabled622 returns an empty list623 when user is a group member624 behaves like a filter for permissioned groups625 with epics enabled626 uses filter optmization to return groups with access627 when groups array is empty628 does not use filter optimization629 when use_traversal_ids is disabled630 does not use filter optimization631 when find_epics_performance_improvement is disabled632 does not use filter optimization633 with epics disabled634 returns an empty list635 when user is not member of any group636 behaves like a filter for permissioned groups637 with epics enabled638 uses filter optmization to return groups with access639 when groups array is empty640 does not use filter optimization641 when use_traversal_ids is disabled642 does not use filter optimization643 when find_epics_performance_improvement is disabled644 does not use filter optimization645 with epics disabled646 returns an empty list647 for :read_confidential_epic permission648 behaves like a filter for permissioned groups649 with epics enabled650 uses filter optmization to return groups with access651 when groups array is empty652 does not use filter optimization653 when use_traversal_ids is disabled654 does not use filter optimization655 when find_epics_performance_improvement is disabled656 does not use filter optimization657 with epics disabled658 returns an empty list659 when action is not allowed to use filtering optmization660 returns an empty list661 getting group root ancestor662 when same_root is false663 behaves like group root ancestor664 does not exceed SQL queries count665 when same_root is true666 behaves like group root ancestor667 does not exceed SQL queries count668 #vulnerabilities669 returns vulnerabilities for all non-archived, non-deleted projects in the group and its subgroups670 #vulnerability_reads671 returns vulnerabilities for all non-archived, non-deleted projects in the group and its subgroups672 #vulnerability_scanners673 returns vulnerability scanners for all non-archived, non-deleted projects in the group and its subgroups674 #vulnerability_historical_statistics675 returns vulnerability scanners for all non-archived, non-deleted projects in the group and its subgroups676 #mark_ldap_sync_as_failed677 sets the state to failed678 sets the error message679 is graceful when current state is not valid for the fail transition680 #actual_size_limit681 returns the value set globally682 returns the value set locally683 #repository_size_limit column684 support values up to 8 exabytes685 #file_template_project686 is expected to include :file_template_project687 validation688 is cleared if invalid689 is permitted if valid690 #ip_restriction_ranges691 group with no associated ip_restriction records692 returns nil693 group with associated ip_restriction records694 returns a comma separated string of ranges of its ip_restriction records695 #root_ancestor_ip_restrictions696 returns the ip restrictions configured for the root group697 #allowed_email_domains_list698 group with no associated allowed_email_domains records699 returns nil700 group with associated allowed_email_domains records701 returns a comma separated string of domains of its allowed_email_domains records702 #root_ancestor_allowed_email_domains703 returns the email domain restrictions configured for the root group704 #predefined_push_rule705 group with no associated push_rules record706 returns instance push rule707 group with associated push_rules record708 with its own push rule709 returns its own push rule710 with push rule from ancestor711 returns push rule from closest ancestor712 there are no push rules713 returns nil714 #checked_file_template_project715 licensed716 returns nil for an invalid project717 returns a valid project718 unlicensed719 returns nil for a valid project720 #checked_file_template_project_id721 licensed722 returns nil for an invalid project723 returns the ID for a valid project724 unlicensed725 returns nil for a valid project726 #group_project_template_available?727 licensed728 returns true for licensed instance729 when in need of checking plan730 returns true for groups in proper plan731 returns false for groups with group template already set but not in proper plan732 unlicensed733 returns false for unlicensed instance734 #scoped_variables_available?735 licensed feature is available736 is expected to equal true737 licensed feature is not available738 is expected to equal false739 #minimal_access_role_allowed?740 licensed741 returns true for licensed instance742 returns false for subgroup in licensed instance743 unlicensed744 returns false unlicensed instance745 #member?746 with `minimal_access_role` not licensed747 is expected to be falsey748 with `minimal_access_role` licensed749 when group is a subgroup750 is expected to be falsey751 when group is a top-level group752 is expected to be truthy753 accepts higher level as argument754 #billed_user_ids755 returns a breakdown of billable user ids756 with a ultimate plan757 behaves like ultimate plan758 does not include guest users and only active users759 when group has a project and users are invited to it760 includes invited active users except guests to the group761 with bot users for project762 is expected not to include 114763 is expected not to include 115764 with bot users for group765 is expected not to include 116766 is expected not to include 117767 when group is invited to the project768 when group is invited as non guest769 includes only active users except guests of the invited groups770 the invited group contains bot users771 is expected not to include 122772 is expected not to include 123773 when group is invited as a guest to the project774 does not include any members from the invited group775 when group has been shared with another group776 includes active users from the shared group to the billed members777 the shared group contains bot users778 is expected not to include 128779 is expected not to include 129780 when subgroup invited another group to collaborate781 when subgroup invites another group as non guest782 includes all the active and non guest users from the shared group783 the shared group contains bot users784 is expected not to include 134785 is expected not to include 135786 when subgroup invites another group as guest787 does not include any user from the shared group from the subgroup788 with an ultimate trial plan789 behaves like ultimate plan790 does not include guest users and only active users791 when group has a project and users are invited to it792 includes invited active users except guests to the group793 with bot users for project794 is expected not to include 141795 is expected not to include 142796 with bot users for group797 is expected not to include 143798 is expected not to include 144799 when group is invited to the project800 when group is invited as non guest801 includes only active users except guests of the invited groups802 the invited group contains bot users803 is expected not to include 149804 is expected not to include 150805 when group is invited as a guest to the project806 does not include any members from the invited group807 when group has been shared with another group808 includes active users from the shared group to the billed members809 the shared group contains bot users810 is expected not to include 155811 is expected not to include 156812 when subgroup invited another group to collaborate813 when subgroup invites another group as non guest814 includes all the active and non guest users from the shared group815 the shared group contains bot users816 is expected not to include 161817 is expected not to include 162818 when subgroup invites another group as guest819 does not include any user from the shared group from the subgroup820 with other plans821 includes active guest users822 includes active guest users823 when group has a project and users invited to it824 includes invited active users to the group825 with bot users for project826 is expected not to include 168827 is expected not to include 169828 with bot users for group829 is expected not to include 170830 is expected not to include 171831 when group is invited to the project832 includes the unique active users and guests of the invited groups833 the invited group contains bot users834 is expected not to include 176835 is expected not to include 177836 when group has been shared with another group837 includes active users from the shared group including guests838 the shared group contains bot users839 is expected not to include 182840 is expected not to include 183841 when group has a project and users invited to it842 includes invited active users to the group843 with bot users for project844 is expected not to include 189845 is expected not to include 190846 with bot users for group847 is expected not to include 191848 is expected not to include 192849 when group is invited to the project850 includes the unique active users and guests of the invited groups851 the invited group contains bot users852 is expected not to include 197853 is expected not to include 198854 when group has been shared with another group855 includes active users from the shared group including guests856 the shared group contains bot users857 is expected not to include 203858 is expected not to include 204859 #awaiting_user_ids860 when awaiting user is member of the group861 is expected to contain exactly 205862 when awaiting user is member of a sub-group within the group863 is expected to contain exactly 205864 when awaiting user is member of a project in the group865 is expected to contain exactly 205866 when other group with awaiting users is member of the group867 is expected to contain exactly 205868 when other group with awaiting users is member of a project in the group869 is expected to contain exactly 205870 when a user is member multiple times871 is expected to contain exactly 205872 when there are multiple awaiting users873 is expected to contain exactly 205, 209, and 210874 #billable_members_count875 with an ultimate plan876 counts only active users with an active membership with an access level higher than guest877 when group has a project with invited users878 includes invited active users except guests and awaiting members879 with bot users for project and group880 does not include bot users in the count881 when another group is invited to the project882 includes active users in the invited group with an access level higher than guest883 when group has been shared with another group884 includes active users from the other group in the billed members count885 with other plans886 counts active guest users887 counts active guest users888 when group has a project and users invited to it889 includes invited active users to the group890 with bot users for project and group891 does not include bot users in the count892 when another group is invited to the project893 counts the unique active users including guests of the invited groups894 when group has been shared with another group895 includes active users from the other group including guests in the billed members count896 when group has a project and users invited to it897 includes invited active users to the group898 with bot users for project and group899 does not include bot users in the count900 when another group is invited to the project901 counts the unique active users including guests of the invited groups902 when group has been shared with another group903 includes active users from the other group including guests in the billed members count904 for free group905 when free_user_cap is enabled906 includes awaiting members907 when free_user_cap is disabled908 does not include awaiting members909 #exclude_guests?910 actual_plan_name: :free, requested_plan_name: nil, result: false911 returns the expected result912 actual_plan_name: :premium, requested_plan_name: nil, result: false913 returns the expected result914 actual_plan_name: :ultimate, requested_plan_name: nil, result: true915 returns the expected result916 actual_plan_name: :ultimate_trial, requested_plan_name: nil, result: true917 returns the expected result918 actual_plan_name: :gold, requested_plan_name: nil, result: true919 returns the expected result920 actual_plan_name: :free, requested_plan_name: "premium", result: false921 returns the expected result922 actual_plan_name: :free, requested_plan_name: "ultimate", result: true923 returns the expected result924 actual_plan_name: :premium, requested_plan_name: "ultimate", result: true925 returns the expected result926 actual_plan_name: :ultimate, requested_plan_name: "ultimate", result: true927 returns the expected result928 #users_count929 with `minimal_access_role` not licensed930 does not count the minimal access user931 with `minimal_access_role` licensed932 counts the minimal access user933 #last_billed_user_created_at934 without billed users935 is expected to equal nil936 with guest users937 is expected to equal nil938 with billed users939 returns the last added billed member940 #saml_discovery_token941 returns existing tokens942 when missing on read943 generates a token944 saves the generated token945 in read-only mode946 doesn't raise an error as that could expose group existance947 returns a random value to prevent access948 #saml_enabled?949 when a SAML provider does not exist950 is expected to eq false951 when a SAML provider exists and is persisted952 is expected to eq true953 when a SAML provider is not persisted954 is expected to eq false955 when global SAML is enabled956 is expected to eq true957 #saml_group_sync_available?958 is expected to eq false959 with group_saml_group_sync feature licensed960 is expected to eq false961 with saml enabled962 is expected to eq true963 when the group is a subgroup964 is expected to eq true965 #insights_config966 when group has no Insights project configured967 returns the default config968 when group has an Insights project configured without a config file969 returns the default config970 when group has an Insights project configured971 with a valid config file972 returns the insights config data973 with an invalid config file974 returns nil975 when group has an Insights project configured which is in a nested group976 returns the insights config data977 #execute_hooks978 group_webhooks979 when group_webhooks feature is enabled980 execution981 executes the hook for self and ancestor groups by default982 when a hook is not executable983 does not execute the disabled hook984 when group_webhooks feature is disabled985 does not execute the hook986 subgroup hooks987 when a subgroup is added to the parent group988 executes the webhook989 when a subgroup is removed from the parent group990 executes the webhook991 when the subgroup has subgroup webhooks enabled992 does not execute the webhook on itself993 ancestor groups994 fires webhook twice when both parent & grandparent group has subgroup_events enabled995 when parent group does not have subgroup_events enabled996 fires webhook once for the grandparent group when it has subgroup_events enabled997 when the group is not a subgroup998 does not proceed to firing any webhooks999 when group webhooks are unlicensed1000 does not execute the webhook1001 #self_or_ancestor_marked_for_deletion1002 delayed deletion feature is not available1003 returns nil1004 delayed deletion feature is available1005 the group has been marked for deletion1006 returns the group1007 the parent group has been marked for deletion1008 returns the parent group1009 no group has been marked for deletion1010 returns nil1011 ordering1012 returns the first group that is marked for deletion, up its ancestry chain1013 #marked_for_deletion?1014 delayed deletion feature is available1015 when the group is marked for delayed deletion1016 is expected to be truthy1017 when the group is not marked for delayed deletion1018 is expected to be falsey1019 delayed deletion feature is not available1020 when the group is marked for delayed deletion1021 is expected to be falsey1022 when the group is not marked for delayed deletion1023 is expected to be falsey1024 #adjourned_deletion?1025 delayed deletion feature is available1026 adjourned_period: 0, delayed_group_deletion: true, expected: false1027 is expected to be falsey1028 adjourned_period: 0, delayed_group_deletion: false, expected: false1029 is expected to be falsey1030 adjourned_period: 1, delayed_group_deletion: true, expected: true1031 is expected to be truthy1032 adjourned_period: 1, delayed_group_deletion: false, expected: false1033 is expected to be falsey1034 delayed deletion feature is not available1035 when delayed deletion period is set to more than 01036 behaves like returns false1037 is expected to be falsey1038 #personal_access_token_expiration_policy_available?1039 when the group does not enforce managed accounts1040 is expected to be falsey1041 when the group enforces managed accounts1042 with `personal_access_token_expiration_policy` licensed1043 is expected to be truthy1044 with `personal_access_token_expiration_policy` not licensed1045 is expected to be falsey1046 #update_personal_access_tokens_lifetime1047 when the group does not enforce managed accounts1048 behaves like it does not call the update lifetime service1049 doesn not call the update lifetime service1050 when the group enforces managed accounts1051 with `personal_access_token_expiration_policy` not licensed1052 behaves like it does not call the update lifetime service1053 doesn not call the update lifetime service1054 with `personal_access_token_expiration_policy` licensed1055 when the group does not enforce a PAT expiry policy1056 behaves like it does not call the update lifetime service1057 doesn not call the update lifetime service1058 when the group enforces a PAT expiry policy1059 executes the update lifetime service1060 #max_personal_access_token_lifetime_from_now1061 when max_personal_access_token_lifetime is defined1062 is a date time1063 is in the future1064 is in days_from_now1065 when max_personal_access_token_lifetime is nil1066 is nil1067 #owners_emails1068 is expected to match ["bob@example.com"]1069 Releases Stats1070 when there are no releases1071 #releases_count1072 returns 01073 #releases_percentage1074 returns 0 and does not attempt to divide by 01075 when there are some releases1076 #releases_count1077 counts all releases for group and descendants1078 #releases_percentage1079 calculates projects with releases percentage for group and descendants1080 #repository_storage1081 when wiki does not have a tracked repository storage1082 returns the default shard1083 when wiki has a tracked repository storage1084 returns the persisted shard1085 #iteration_cadences_feature_flag_enabled?1086 behaves like checks self and root ancestor feature flag1087 when FF is enabled for the root group1088 is expected to be truthy1089 when FF is enabled for the group1090 is expected to be truthy1091 when root_group is the actor1092 is not enabled if the FF is enabled for a child1093 when FF is disabled globally1094 is expected to be falsey1095 when FF is enabled globally1096 is expected to be truthy1097 #user_cap_reached?1098 when user cap feature is not available1099 is expected to be falsey1100 when user cap feature is available1101 when the :saas_user_caps feature flag is not enabled1102 is expected to be falsey1103 when the :saas_user_caps feature flag is enabled1104 when this group has no root ancestor1105 behaves like returning the right value for user_cap_reached?1106 when no user cap has been set to that root ancestor1107 is expected to be falsey1108 when a user cap has been set to that root ancestor1109 when this cap is higher than the number of billable members1110 is expected to be falsey1111 when this cap is the same as the number of billable members1112 is expected to be truthy1113 when this cap is lower than the number of billable members1114 is expected to be truthy1115 when this group has a root ancestor1116 behaves like returning the right value for user_cap_reached?1117 when no user cap has been set to that root ancestor1118 is expected to be falsey1119 when a user cap has been set to that root ancestor1120 when this cap is higher than the number of billable members1121 is expected to be falsey1122 when this cap is the same as the number of billable members1123 is expected to be truthy1124 when this cap is lower than the number of billable members1125 is expected to be truthy1126 #calculate_reactive_cache1127 returns cache data for the free plan members count1128 #user_limit_reached?1129 user_cap_reached: false, reached_free_limit: false, result: false1130 is expected to eq false1131 user_cap_reached: false, reached_free_limit: true, result: true1132 is expected to eq true1133 user_cap_reached: true, reached_free_limit: false, result: true1134 is expected to eq true1135 user_cap_reached: true, reached_free_limit: true, result: true1136 is expected to eq true1137 #free_plan_members_count1138 has the correct count1139 #shared_externally?1140 returns false when the group is not shared outside of the namespace hierarchy1141 returns true when the group is shared outside of the namespace hierarchy1142 returns false when the group is shared internally within the namespace hierarchy1143 returns true when a subgroup is shared outside of the namespace hierarchy1144 returns false when the only shared groups are outside of the namespace hierarchy1145 returns true when the group project is shared outside of the namespace hierarchy1146 returns false when the group project is only shared internally within the namespace hierarchy1147 #recent_activity_by_users_in_hierarchy1148 returns a separate hash for another group1149 behaves like can move repository storage1150 #set_repository_read_only!1151 makes the repository read-only1152 raises an error if the project is already read-only1153 raises an error when there is an existing git transfer in progress1154 skip_git_transfer_check is true1155 makes the project read-only when git transfers are in progress1156 #set_repository_writable!1157 sets repository_read_only to false1158 #reference_counter1159 returns a Gitlab::ReferenceCounter object1160 #memberships_to_be_deactivated1161 returns all but 5 memberships in groups and projects1162 with some awaiting members1163 returns only active members ignoring awaiting ones1164 #trimmable_user_ids1165 only includes users from projects of a group and the owners of the group1166 #cluster_agents1167 is expected to contain exactly #<Clusters::Agent id: 2, created_at: "2022-08-01 23:34:17.589664426 +0000", updated_at: "2022-08-01 2...64426 +0000", project_id: 120, name: "agent-2", created_by_user_id: 389, has_vulnerabilities: false> and #<Clusters::Agent id: 3, created_at: "2022-08-01 23:34:17.672731607 +0000", updated_at: "2022-08-01 2...31607 +0000", project_id: 121, name: "agent-3", created_by_user_id: 390, has_vulnerabilities: false>1168 #unique_project_download_limit_enabled?1169 is expected to eq true1170 when feature flag is disabled1171 is expected to eq false1172 when licensed feature is not available1173 is expected to eq false1174 when sub-group1175 is expected to eq false1176Note1177 searches notes1178 names elasticsearch queries1179 indexes && searches diff notes1180 does not track system note updates1181 uses same index for Note subclasses1182 behaves like limited indexing is enabled1183 when the project is not enabled specifically1184 #searchable?1185 returns false1186 when a project is enabled specifically1187 #searchable?1188 returns true1189 when a group is enabled1190 #searchable?1191 returns true1192 #searchable?1193 also works on diff notes1194 json serialization1195 returns json with all needed elements1196 raises Elastic::Latest::DocumentShouldBeDeletedFromIndexError when noteable is nil1197 note_type: :note_on_issue, project_feature_permission: 20, access_level: "issues_access_level"1198 contains the correct permissions1199 when the project does not exist1200 has DISABLED access_level1201 note_type: :note_on_project_snippet, project_feature_permission: 0, access_level: "snippets_access_level"1202 contains the correct permissions1203 when the project does not exist1204 has DISABLED access_level1205 note_type: :note_on_personal_snippet, project_feature_permission: nil, access_level: nil1206 contains the correct permissions1207 when the project does not exist1208 has DISABLED access_level1209 note_type: :note_on_merge_request, project_feature_permission: 30, access_level: "merge_requests_access_level"1210 contains the correct permissions1211 when the project does not exist1212 has DISABLED access_level1213 note_type: :note_on_commit, project_feature_permission: 10, access_level: "repository_access_level"1214 contains the correct permissions1215 when the project does not exist1216 has DISABLED access_level1217 note_type: :diff_note_on_merge_request, project_feature_permission: 30, access_level: "merge_requests_access_level"1218 contains the correct permissions1219 when the project does not exist1220 has DISABLED access_level1221 note_type: :diff_note_on_commit, project_feature_permission: 10, access_level: "repository_access_level"1222 contains the correct permissions1223 when the project does not exist1224 has DISABLED access_level1225 note_type: :diff_note_on_design, project_feature_permission: 20, access_level: nil1226 contains the correct permissions1227 when the project does not exist1228 has DISABLED access_level1229 note_type: :legacy_diff_note_on_merge_request, project_feature_permission: 30, access_level: "merge_requests_access_level"1230 contains the correct permissions1231 when the project does not exist1232 has DISABLED access_level1233 note_type: :legacy_diff_note_on_commit, project_feature_permission: 10, access_level: "repository_access_level"1234 contains the correct permissions1235 when the project does not exist1236 has DISABLED access_level1237 note_type: :note_on_alert, project_feature_permission: 10, access_level: nil1238 contains the correct permissions1239 when the project does not exist1240 has DISABLED access_level1241 note_type: :note_on_design, project_feature_permission: 20, access_level: nil1242 contains the correct permissions1243 when the project does not exist1244 has DISABLED access_level1245 note_type: :note_on_epic, project_feature_permission: nil, access_level: nil1246 contains the correct permissions1247 when the project does not exist1248 has DISABLED access_level1249 note_type: :note_on_vulnerability, project_feature_permission: 10, access_level: nil1250 contains the correct permissions1251 when the project does not exist1252 has DISABLED access_level1253 note_type: :discussion_note_on_vulnerability, project_feature_permission: 10, access_level: nil1254 contains the correct permissions1255 when the project does not exist1256 has DISABLED access_level1257 note_type: :discussion_note_on_merge_request, project_feature_permission: 30, access_level: "merge_requests_access_level"1258 contains the correct permissions1259 when the project does not exist1260 has DISABLED access_level1261 note_type: :discussion_note_on_issue, project_feature_permission: 20, access_level: "issues_access_level"1262 contains the correct permissions1263 when the project does not exist1264 has DISABLED access_level1265 note_type: :discussion_note_on_project_snippet, project_feature_permission: 0, access_level: "snippets_access_level"1266 contains the correct permissions1267 when the project does not exist1268 has DISABLED access_level1269 note_type: :discussion_note_on_personal_snippet, project_feature_permission: nil, access_level: nil1270 contains the correct permissions1271 when the project does not exist1272 has DISABLED access_level1273 note_type: :discussion_note_on_commit, project_feature_permission: 10, access_level: "repository_access_level"1274 contains the correct permissions1275 when the project does not exist1276 has DISABLED access_level1277 note_type: :track_mr_picking_note, project_feature_permission: nil, access_level: nil1278 contains the correct permissions1279 when the project does not exist1280 has DISABLED access_level1281 notes to confidential issues1282 does not find note1283 finds note when user is authorized to see it1284 return notes with matching content for project members1285 does not return notes with matching content for project members with guest role1286 when admin mode is enabled1287 behaves like notes finder1288 finds 1 notes for admin1289 behaves like notes finder1290 finds 0 notes for admin1291 behaves like notes finder1292 finds 1 notes for auditor1293 behaves like no results when the user cannot read cross project1294 returns the record if a single project was passed1295 does not return anything when trying to search cross project1296License1297 validations1298 #valid_license1299 when the license is provided1300 is expected to be valid1301 with online cloud license1302 behaves like an invalid license1303 adds an error1304 with offline cloud license1305 behaves like an invalid license1306 adds an error1307 when no license is provided1308 adds an error1309 #check_trueup1310 when reconciliation_completed is true on the license1311 is expected to be valid1312 when reconciliation_completed is false on the license1313 adds errors for invalid true up figures1314 when reconciliation_completed is not present on the license1315 adds errors for invalid true up figures1316 when quantity with threshold is more than the required quantity1317 is expected to be valid1318 but active users with threshold exceeds restricted user count1319 is expected not to be valid1320 when quantity with threshold is equal to the required quantity1321 is expected to be valid1322 but active users with threshold exceeds restricted user count1323 is expected not to be valid1324 when quantity with threshold is less than the required quantity1325 is expected not to be valid1326 when previous user count is not present1327 uses current active user count to calculate the expected true-up1328 with wrong true-up quantity1329 is expected not to be valid1330 when previous user count is present1331 is expected to be valid1332 #check_restricted_user_count1333 when reconciliation_completed is true1334 when restricted_user_count with threshold is more than active_user_count1335 is expected to be valid1336 when restricted_user_count with threshold is equal than active_user_count1337 is expected to be valid1338 when the restricted_user_count with threshold is less than active_user_count1339 add limit error1340 validates only if the new record1341 when reconciliation_completed is false1342 when the restricted_user_count with threshold is less than active_user_count1343 add limit error1344 #check_users_limit1345 for each plan1346 gl_plan: "starter", valid: false1347 when license has restricted users1348 is expected to eq false1349 when license has unlimited users1350 is always valid1351 gl_plan: "premium", valid: false1352 when license has restricted users1353 is expected to eq false1354 when license has unlimited users1355 is always valid1356 gl_plan: "ultimate", valid: true1357 when license has restricted users1358 is expected to eq true1359 when license has unlimited users1360 is always valid1361 when license is a cloud license1362 is expected to be valid1363 when no restriction is set1364 is expected to be valid1365 without historical data1366 with previous user count1367 when prior historical max is less than previous user count1368 when daily billable users count is less than the restricted user count1369 is expected to be valid1370 when daily billable users count is equal to the restricted user count1371 is expected to be valid1372 when daily billable users count is equal to the restricted user count with threshold1373 is expected to be valid1374 when daily billable users count is greater than the restricted user count1375 is expected not to be valid1376 includes the correct error message1377 when prior historical max is equal to previous user count1378 when daily billable users count is less than the restricted user count1379 is expected to be valid1380 when daily billable users count is equal to the restricted user count1381 is expected to be valid1382 when daily billable users count is equal to the restricted user count with threshold1383 is expected to be valid1384 when daily billable users count is greater than the restricted user count1385 is expected not to be valid1386 includes the correct error message1387 without previous user count1388 when prior historical max is less than the restricted user count1389 is expected to be valid1390 when prior historical max is equal to the restricted user count1391 is expected to be valid1392 when prior historical max is equal to the restricted user count with threshold1393 is expected to be valid1394 with historical data in the term of an existing current license1395 with previous user count1396 when prior historical max is less than previous user count1397 when daily billable users count is less than the restricted user count1398 is expected to be valid1399 when daily billable users count is equal to the restricted user count1400 is expected to be valid1401 when daily billable users count is equal to the restricted user count with threshold1402 is expected to be valid1403 when daily billable users count is greater than the restricted user count1404 is expected not to be valid1405 includes the correct error message1406 when prior historical max is equal to previous user count1407 when daily billable users count is less than the restricted user count1408 is expected to be valid1409 when daily billable users count is equal to the restricted user count1410 is expected to be valid1411 when daily billable users count is equal to the restricted user count with threshold1412 is expected to be valid1413 when daily billable users count is greater than the restricted user count1414 is expected not to be valid1415 includes the correct error message1416 when prior historical max is greater than previous user count1417 when prior historical max is less than the restricted user count1418 is expected to be valid1419 when prior historical max is equal to the restricted user count1420 is expected to be valid1421 when prior historical max is equal to the restricted user count with threshold1422 is expected to be valid1423 when prior historical max is greater than the restricted user count1424 is expected not to be valid1425 includes the correct error message1426 without previous user count1427 when prior historical max is less than the restricted user count1428 is expected to be valid1429 when prior historical max is equal to the restricted user count1430 is expected to be valid1431 when prior historical max is equal to the restricted user count with threshold1432 is expected to be valid1433 when prior historical max is greater than the restricted user count1434 is expected not to be valid1435 includes the correct error message1436 with historical data in the term of the new license (no current license exists)1437 when new license has an expiration date1438 with previous user count1439 when prior historical max is less than previous user count1440 when daily billable users count is less than the restricted user count1441 is expected to be valid1442 when daily billable users count is equal to the restricted user count1443 is expected to be valid1444 when daily billable users count is equal to the restricted user count with threshold1445 is expected to be valid1446 when daily billable users count is greater than the restricted user count1447 is expected not to be valid1448 includes the correct error message1449 when prior historical max is equal to previous user count1450 when daily billable users count is less than the restricted user count1451 is expected to be valid1452 when daily billable users count is equal to the restricted user count1453 is expected to be valid1454 when daily billable users count is equal to the restricted user count with threshold1455 is expected to be valid1456 when daily billable users count is greater than the restricted user count1457 is expected not to be valid1458 includes the correct error message1459 when prior historical max is greater than previous user count1460 when prior historical max is less than the restricted user count1461 is expected to be valid1462 when prior historical max is equal to the restricted user count1463 is expected to be valid1464 when prior historical max is equal to the restricted user count with threshold1465 is expected to be valid1466 when prior historical max is greater than the restricted user count1467 is expected not to be valid1468 includes the correct error message1469 without previous user count1470 when prior historical max is less than the restricted user count1471 is expected to be valid1472 when prior historical max is equal to the restricted user count1473 is expected to be valid1474 when prior historical max is equal to the restricted user count with threshold1475 is expected to be valid1476 when prior historical max is greater than the restricted user count1477 is expected not to be valid1478 includes the correct error message1479 when new license has no expiration1480 with previous user count1481 when prior historical max is less than previous user count1482 when daily billable users count is less than the restricted user count1483 is expected to be valid1484 when daily billable users count is equal to the restricted user count1485 is expected to be valid1486 when daily billable users count is equal to the restricted user count with threshold1487 is expected to be valid1488 when daily billable users count is greater than the restricted user count1489 is expected not to be valid1490 includes the correct error message1491 when prior historical max is equal to previous user count1492 when daily billable users count is less than the restricted user count1493 is expected to be valid1494 when daily billable users count is equal to the restricted user count1495 is expected to be valid1496 when daily billable users count is equal to the restricted user count with threshold1497 is expected to be valid1498 when daily billable users count is greater than the restricted user count1499 is expected not to be valid1500 includes the correct error message1501 when prior historical max is greater than previous user count1502 when prior historical max is less than the restricted user count1503 is expected to be valid1504 when prior historical max is equal to the restricted user count1505 is expected to be valid1506 when prior historical max is equal to the restricted user count with threshold1507 is expected to be valid1508 when prior historical max is greater than the restricted user count1509 is expected not to be valid1510 includes the correct error message1511 without previous user count1512 when prior historical max is less than the restricted user count1513 is expected to be valid1514 when prior historical max is equal to the restricted user count1515 is expected to be valid1516 when prior historical max is equal to the restricted user count with threshold1517 is expected to be valid1518 when prior historical max is greater than the restricted user count1519 is expected not to be valid1520 includes the correct error message1521 downgrade1522 when more users were added in previous period1523 is invalid without a true-up1524 when no users were added in the previous period1525 is expected to be valid1526 #not_expired1527 when the license doesn't expire1528 is expected to be valid1529 when the license has expired1530 is expected not to be valid1531 when the license has yet to expire1532 is expected to be valid1533 Callbacks1534 #reset_current1535 when a license is created1536 expires the current_license cached value1537 when a license is updated1538 expires the current_license cached value1539 when a license is destroyed1540 expires the current_license cached value1541 #reset_future_dated1542 when a license is created1543 deletes the future_dated_license value in Gitlab::SafeRequestStore1544 when a license is destroyed1545 deletes the future_dated_license value in Gitlab::SafeRequestStore1546 Scopes1547 .cloud1548 includes cloud licenses1549 Class methods1550 .current1551 when licenses table does not exist1552 returns nil1553 when there is no license1554 returns nil1555 when the license is invalid1556 returns nil1557 when the license is valid1558 returns the most recent valid and started but not expired license1559 caches the license1560 when the last uploaded license is expired1561 returns the most recent valid and started but not expired license1562 when all uploaded license are expired1563 returns the most recent valid and started and expired license1564 when the last uploaded license is future dated1565 returns the most recent valid and started but not expired license1566 .future_dated1567 when licenses table does not exist1568 returns nil1569 when there is no license1570 returns nil1571 when the license is invalid1572 returns false1573 when the license is valid1574 returns the true1575 .block_changes?1576 when there is no current license1577 returns false1578 with an expired trial license1579 returns false1580 with an expired normal license1581 returns true1582 when the current license is set to block changes1583 returns true1584 when the current license doesn't block changes1585 returns false1586 .with_valid_license1587 when license trial1588 does not yield block1589 when license nil1590 does not yield block1591 when license is valid1592 yields block1593 .current_cloud_license?1594 when current license is not set1595 is expected to equal false1596 when current license is not a cloud license1597 is expected to equal false1598 when current license is a cloud license but key does not match current1599 is expected to equal false1600 when current license is a cloud license and key matches current1601 is expected to equal true1602 #data_filename1603 when licensee includes company information1604 is expected to eq "ExamplePartnerInc2.gitlab-license"1605 when licensee does not include company information1606 is expected to eq "UserExample.gitlab-license"1607 #normalized_data1608 replaces carriage returns1609 adds a trailing newline1610 replaces multiple trailing newlines with a single trailing newline1611 #md51612 returns the same MD5 for licenses with carriage returns and those without1613 returns the same MD5 for licenses with trailing newlines and those without1614 returns the same MD5 for licenses with multiple trailing newlines and those with a single trailing newline1615 when in FIPS mode1616 returns nil1617 #sha2561618 returns the same SHA256 for licenses with carriage returns and those without1619 returns the same SHA256 for licenses with trailing newlines and those without1620 returns the same SHA256 for licenses with multiple trailing newlines and those with a single trailing newline1621 #license1622 when no data is provided1623 returns nil1624 when corrupt license data is provided1625 returns nil1626 when valid license data is provided1627 returns the license1628 reading add-ons1629 #plan1630 {:restrictions=>{}, :plan=>"starter"}1631 is expected to eq "starter"1632 {:restrictions=>{:plan=>nil}, :plan=>"starter"}1633 is expected to eq "starter"1634 {:restrictions=>{:plan=>""}, :plan=>"starter"}1635 is expected to eq "starter"1636 {:restrictions=>{:plan=>"unknown"}, :plan=>"unknown"}1637 is expected to eq "unknown"1638 #feature_available?1639 returns true if add-on exists and have a quantity greater than 01640 returns true if the feature is included in the plan do1641 returns false if add-on exists but have a quantity of 01642 returns false if add-on does not exists1643 with an expired trial license1644 returns false for audit_events1645 returns false for blocked_issues1646 returns false for board_iteration_lists1647 returns false for code_owners1648 returns false for code_review_analytics1649 returns false for contribution_analytics1650 returns false for description_diffs1651 returns false for elastic_search1652 returns false for full_codequality_report1653 returns false for group_activity_analytics1654 returns false for group_bulk_edit1655 returns false for group_webhooks1656 returns false for issuable_default_templates1657 returns false for issue_weights1658 returns false for iterations1659 returns false for ldap_group_sync1660 returns false for member_lock1661 returns false for merge_request_approvers1662 returns false for milestone_charts1663 returns false for multiple_issue_assignees1664 returns false for multiple_ldap_servers1665 returns false for multiple_merge_request_assignees1666 returns false for multiple_merge_request_reviewers1667 returns false for project_merge_request_analytics1668 returns false for protected_refs_for_users1669 returns false for push_rules1670 returns false for repository_mirrors1671 returns false for resource_access_token1672 returns false for seat_link1673 returns false for scoped_issue_board1674 returns false for usage_quotas1675 returns false for visual_review_app1676 returns false for wip_limits1677 returns false for send_emails_from_admin_area1678 returns false for repository_size_limit1679 #subscription_id1680 has correct subscription_id1681 #daily_billable_users_count1682 when license is not for Ultimate plan1683 includes guests in the count1684 when license is for Ultimate plan1685 excludes guests in the count1686 #overage1687 returns 0 if restricted_user_count is nil1688 returns the difference between user_count and restricted_user_count1689 returns the difference using daily_billable_users_count as user_count if no user_count argument provided1690 returns 0 if the difference is a negative number1691 #historical_data1692 with using parameters1693 returns correct number of records within the given range1694 with a license that has a start and end date1695 returns correct number of records within the license range1696 with a license that has no start date1697 returns correct number of records starting a year ago to license\s expiration date1698 with a license that has no end date1699 returns correct number of records from the license's start date to today1700 #historical_max1701 when using parameters1702 returns max user count for the given time range1703 with different plans for the license1704 gl_plan: "starter", expected_count: 21705 does not count guest users1706 gl_plan: "premium", expected_count: 21707 does not count guest users1708 gl_plan: "ultimate", expected_count: 11709 does not count guest users1710 with data inside and outside of the license period1711 returns max value for active_user_count for within the license period only1712 when license has no start date1713 returns max value for active_user_count from up to a year ago1714 when license has no expiration date1715 returns max value for active_user_count until today1716 #maximum_user_count1717 returns zero when there is no data1718 returns historical data1719 returns the billable users count1720 returns the daily billable users count when it is higher than historical data1721 returns historical data when it is higher than the billable users count1722 returns the correct value when historical data and billable users are equal1723 returns the highest value from historical data1724 uses only the most recent billable users entry1725 returns the highest historical data since the license started for a 1 year license1726 returns the highest historical data since the license started for a license that lasts 6 months1727 returns the highest historical data since the license started for a license that lasts two years1728 returns the highest historical data during the license period for an expired license1729 #ultimate?1730 plan: nil, expected: false1731 is expected to eq false1732 plan: "starter", expected: false1733 is expected to eq false1734 plan: "premium", expected: false1735 is expected to eq false1736 plan: "ultimate", expected: true1737 is expected to eq true1738 Trial Licenses1739 Update trial setting1740 when the license is not trial1741 does nothing1742 when the license is the very first trial1743 is eligible for trial1744 updates the trial setting during create1745 when the license is a repeated trial1746 does not update existing trial setting1747 is not eligible for trial1748 .history1749 does not include the undecryptable license1750 returns the licenses sorted by created_at, starts_at and expires_at descending1751 #edition1752 have expected values1753 #paid?1754 plan: "starter", paid_result: true1755 is expected to eq true1756 plan: "premium", paid_result: true1757 is expected to eq true1758 plan: "ultimate", paid_result: true1759 is expected to eq true1760 plan: nil, paid_result: true1761 is expected to eq true1762 #started?1763 starts_at: Fri, 01 Jul 2022, result: true1764 is expected to eq true1765 starts_at: Mon, 01 Aug 2022, result: true1766 is expected to eq true1767 starts_at: Thu, 01 Sep 2022, result: false1768 is expected to eq false1769 #future_dated?1770 starts_at: Fri, 01 Jul 2022, result: false1771 is expected to eq false1772 starts_at: Mon, 01 Aug 2022, result: false1773 is expected to eq false1774 starts_at: Thu, 01 Sep 2022, result: true1775 is expected to eq true1776 #cloud_license?1777 when no license provided1778 is expected to equal false1779 when the license has cloud licensing disabled1780 is expected to equal false1781 when the license has cloud licensing enabled1782 is expected to equal true1783 #offline_cloud_license?1784 when no license provided1785 is expected to equal false1786 when the license has offline cloud licensing disabled1787 is expected to equal false1788 when the license has offline cloud licensing enabled1789 is expected to equal true1790 when the license offline cloud licensing is not set1791 is expected to equal false1792 #online_cloud_license?1793 when no license provided1794 is expected to equal false1795 when the license has cloud licensing and offline cloud licensing enabled1796 is expected to equal false1797 when the license has cloud licensing enabled and offline cloud licensing disabled1798 is expected to equal true1799 when the license has cloud licensing and offline cloud licensing disabled1800 is expected to equal false1801 #customer_service_enabled?1802 when no license provided1803 is expected to equal false1804 when the license has usage ping required metrics disabled1805 is expected to equal false1806 when the license has usage ping required metrics enabled1807 is expected to equal true1808 #current?1809 when the license is not persisted1810 is expected to equal false1811 when the license is persisted1812 when the license is the current license1813 is expected to equal true1814 when the license is not the current license1815 is expected to equal false1816 when there is no current license1817 is expected to equal false1818 #license_type1819 when the license is not a cloud license1820 is expected to eq "legacy_license"1821 when the license is an online cloud license1822 is expected to eq "online_cloud"1823 when the license is an offline cloud license1824 is expected to eq "offline_cloud"1825 #auto_renew1826 is false1827 #active_user_count_threshold1828 returns nil for license with unlimited user count1829 for license with users1830 restricted_user_count: 3, active_user_count: 2, percentage: false, threshold_value: 11831 is expected not to be nil1832 is expected to include {:value => 1, :percentage => false}1833 restricted_user_count: 20, active_user_count: 18, percentage: false, threshold_value: 21834 is expected not to be nil1835 is expected to include {:value => 2, :percentage => false}1836 restricted_user_count: 90, active_user_count: 80, percentage: true, threshold_value: 101837 is expected not to be nil1838 is expected to include {:value => 10, :percentage => true}1839 restricted_user_count: 300, active_user_count: 275, percentage: true, threshold_value: 81840 is expected not to be nil1841 is expected to include {:value => 8, :percentage => true}1842 restricted_user_count: 1200, active_user_count: 1100, percentage: true, threshold_value: 51843 is expected not to be nil1844 is expected to include {:value => 5, :percentage => true}1845 #active_user_count_threshold_reached?1846 restricted_user_count: 10, daily_billable_users_count: 9, result: true1847 is expected to eq true1848 restricted_user_count: nil, daily_billable_users_count: 9, result: false1849 is expected to eq false1850 restricted_user_count: 10, daily_billable_users_count: 15, result: false1851 is expected to eq false1852 restricted_user_count: 100, daily_billable_users_count: 95, result: true1853 is expected to eq true1854 #restricted_user_count?1855 restricted_user_count: nil, result: false1856 is expected to eq false1857 restricted_user_count: 0, result: false1858 is expected to eq false1859 restricted_user_count: 1, result: true1860 is expected to eq true1861 restricted_user_count: 10, result: true1862 is expected to eq true1863 #licensee_name1864 is expected to eq "User Example"1865 #licensee_email1866 is expected to eq "user@example.com"1867 #licensee_company1868 is expected to eq "Example Inc."1869 #activated_at1870 when activated_at is set within the license data1871 is expected to eq Sun, 31 Jul 2022 00:00:00.000000000 +00001872 when activated_at is not set within the license data1873 is expected to eq 2022-07-27 23:40:31.463483213 +00001874 #notify_admins?1875 when license has expired1876 is expected to eq true1877 when license has no expiration1878 is expected to eq false1879 when license has not expired1880 when license is a trial1881 when license expiration is more than a week from today1882 is expected to eq false1883 when license expiration is a week from today1884 is expected to eq true1885 when license expiration is less than a week from today1886 is expected to eq true1887 when license is not a trial1888 when license expiration is more than 15 days from today1889 is expected to eq false1890 when license expiration is 15 days from today1891 is expected to eq true1892 when license expiration is less than 15 days from today1893 is expected to eq true1894 #notify_users?1895 when license has no expiration1896 is expected to eq false1897 when license is a trial1898 when license expiration is more than a week from today1899 is expected to eq false1900 when license expiration is a week from today1901 is expected to eq true1902 when license expiration is less than a week from today1903 is expected to eq true1904 when license is not a trial1905 when license block changes date is before today1906 is expected to eq true1907 when license block changes date is today1908 is expected to eq true1909 when license block changes date is after today1910 is expected to eq false1911Gitlab::Middleware::ReadOnly1912 when maintenance mode is on1913 behaves like write access for a read-only GitLab (EE) instance in maintenance mode1914 normal requests to a read-only GitLab instance1915 expects a PUT request to /api/v4/application/settings to be allowed1916 expects a POST request to /admin/application_settings/general to be allowed1917 behaves like allowlisted /admin/geo requests1918 allowlisted requests1919 behaves like allowlisted request1920 expects a PATCH request to /admin/geo/sites/1 to be allowed1921 behaves like allowlisted request1922 expects a DELETE request to /admin/geo/replication/projects/1 to be allowed1923 behaves like allowlisted request1924 expects a POST request to /admin/geo/replication/projects/1/resync to be allowed1925 behaves like allowlisted request1926 expects a POST request to /admin/geo/replication/projects/1/reverify to be allowed1927 behaves like allowlisted request1928 expects a POST request to /admin/geo/replication/projects/reverify_all to be allowed1929 behaves like allowlisted request1930 expects a POST request to /admin/geo/replication/projects/resync_all to be allowed1931 behaves like allowlisted request1932 expects a POST request to /admin/geo/replication/projects/1/force_redownload to be allowed1933 without Geo enabled1934 behaves like LFS changes are disallowed1935 description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify"1936 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL not to be allowed1937 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL with trailing backslash not to be allowed1938 description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks"1939 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL not to be allowed1940 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL with trailing backslash not to be allowed1941 description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock"1942 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL not to be allowed1943 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL with trailing backslash not to be allowed1944 behaves like sign in/out and OAuth are allowed1945 description: "sign in route", path: "/users/sign_in"1946 expects a POST to description: "sign in route", path: "/users/sign_in" URL to be allowed1947 expects a POST to description: "sign in route", path: "/users/sign_in" URL with trailing slash to be allowed1948 description: "sign out route", path: "/users/sign_out"1949 expects a POST to description: "sign out route", path: "/users/sign_out" URL to be allowed1950 expects a POST to description: "sign out route", path: "/users/sign_out" URL with trailing slash to be allowed1951 description: "oauth token route", path: "/oauth/token"1952 expects a POST to description: "oauth token route", path: "/oauth/token" URL to be allowed1953 expects a POST to description: "oauth token route", path: "/oauth/token" URL with trailing slash to be allowed1954 description: "SSO callback route", path: "/users/auth/gitlab/callback"1955 expects a POST to description: "SSO callback route", path: "/users/auth/gitlab/callback" URL to be allowed1956 expects a POST to description: "SSO callback route", path: "/users/auth/gitlab/callback" URL with trailing slash to be allowed1957 description: "LDAP callback route", path: "/users/auth/ldapmain/callback"1958 expects a POST to description: "LDAP callback route", path: "/users/auth/ldapmain/callback" URL to be allowed1959 expects a POST to description: "LDAP callback route", path: "/users/auth/ldapmain/callback" URL with trailing slash to be allowed1960 description: "SAML regular route", path: "/users/auth/saml"1961 expects a POST to description: "SAML regular route", path: "/users/auth/saml" URL to be allowed1962 expects a POST to description: "SAML regular route", path: "/users/auth/saml" URL with trailing slash to be allowed1963 on Geo primary1964 allows Geo node status updates from Geo secondaries1965 behaves like LFS changes are disallowed1966 description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify"1967 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL not to be allowed1968 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL with trailing backslash not to be allowed1969 description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks"1970 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL not to be allowed1971 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL with trailing backslash not to be allowed1972 description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock"1973 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL not to be allowed1974 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL with trailing backslash not to be allowed1975 behaves like sign in/out and OAuth are allowed1976 description: "sign in route", path: "/users/sign_in"1977 expects a POST to description: "sign in route", path: "/users/sign_in" URL to be allowed1978 expects a POST to description: "sign in route", path: "/users/sign_in" URL with trailing slash to be allowed1979 description: "sign out route", path: "/users/sign_out"1980 expects a POST to description: "sign out route", path: "/users/sign_out" URL to be allowed1981 expects a POST to description: "sign out route", path: "/users/sign_out" URL with trailing slash to be allowed1982 description: "oauth token route", path: "/oauth/token"1983 expects a POST to description: "oauth token route", path: "/oauth/token" URL to be allowed1984 expects a POST to description: "oauth token route", path: "/oauth/token" URL with trailing slash to be allowed1985 description: "SSO callback route", path: "/users/auth/gitlab/callback"1986 expects a POST to description: "SSO callback route", path: "/users/auth/gitlab/callback" URL to be allowed1987 expects a POST to description: "SSO callback route", path: "/users/auth/gitlab/callback" URL with trailing slash to be allowed1988 description: "LDAP callback route", path: "/users/auth/ldapmain/callback"1989 expects a POST to description: "LDAP callback route", path: "/users/auth/ldapmain/callback" URL to be allowed1990 expects a POST to description: "LDAP callback route", path: "/users/auth/ldapmain/callback" URL with trailing slash to be allowed1991 description: "SAML regular route", path: "/users/auth/saml"1992 expects a POST to description: "SAML regular route", path: "/users/auth/saml" URL to be allowed1993 expects a POST to description: "SAML regular route", path: "/users/auth/saml" URL with trailing slash to be allowed1994 on Geo secondary1995 expects a PUT request to /api/v4/application/settings to not be allowed1996 allows Geo POST GraphQL requests1997 description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch"1998 expects a POST description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch" URL to be allowed1999 expects a POST description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch" URL with trailing slash to be allowed2000 description: "to geo replication node api", path: "/api/v4/geo_replication/designs/resync"2001 expects a POST description: "to geo replication node api", path: "/api/v4/geo_replication/designs/resync" URL to be allowed2002 expects a POST description: "to geo replication node api", path: "/api/v4/geo_replication/designs/resync" URL with trailing slash to be allowed2003 description: "Geo sign in", path: "/users/auth/geo/sign_in"2004 expects a POST description: "Geo sign in", path: "/users/auth/geo/sign_in" URL to be allowed2005 expects a POST description: "Geo sign in", path: "/users/auth/geo/sign_in" URL with trailing slash to be allowed2006 description: "Geo sign out", path: "/users/auth/geo/sign_out"2007 expects a POST description: "Geo sign out", path: "/users/auth/geo/sign_out" URL to be allowed2008 expects a POST description: "Geo sign out", path: "/users/auth/geo/sign_out" URL with trailing slash to be allowed2009 description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify"2010 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL to not be allowed2011 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL with traling slash to not be allowed2012 description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks"2013 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL to not be allowed2014 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL with traling slash to not be allowed2015 description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock"2016 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL to not be allowed2017 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL with traling slash to not be allowed2018 description: "git-receive-pack", path: "/root/rouge.git/git-receive-pack"2019 expects a POST description: "git-receive-pack", path: "/root/rouge.git/git-receive-pack" URL to not be allowed2020 expects a POST description: "git-receive-pack", path: "/root/rouge.git/git-receive-pack" URL with traling slash to not be allowed2021 description: "application settings", path: "/admin/application_settings/general"2022 expects a POST description: "application settings", path: "/admin/application_settings/general" URL to not be allowed2023 expects a POST description: "application settings", path: "/admin/application_settings/general" URL with traling slash to not be allowed2024 when maintenance mode is not on2025 behaves like write access for a read-only GitLab (EE) instance2026 normal requests to a read-only GitLab instance2027 behaves like allowlisted /admin/geo requests2028 allowlisted requests2029 behaves like allowlisted request2030 expects a PATCH request to /admin/geo/sites/1 to be allowed2031 behaves like allowlisted request2032 expects a DELETE request to /admin/geo/replication/projects/1 to be allowed2033 behaves like allowlisted request2034 expects a POST request to /admin/geo/replication/projects/1/resync to be allowed2035 behaves like allowlisted request2036 expects a POST request to /admin/geo/replication/projects/1/reverify to be allowed2037 behaves like allowlisted request2038 expects a POST request to /admin/geo/replication/projects/reverify_all to be allowed2039 behaves like allowlisted request2040 expects a POST request to /admin/geo/replication/projects/resync_all to be allowed2041 behaves like allowlisted request2042 expects a POST request to /admin/geo/replication/projects/1/force_redownload to be allowed2043 on Geo secondary2044 description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch"2045 expects a POST description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch" URL to be allowed2046 expects a POST description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch" URL with a trailing slash to be allowed2047 description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify"2048 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL to be allowed2049 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL with a trailing slash to be allowed2050 description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks"2051 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL to be allowed2052 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL with a trailing slash to be allowed2053 description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock"2054 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL to be allowed2055 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL with a trailing slash to be allowed2056 description: "to geo replication node api", path: "/api/v4/geo_replication/designs/resync"2057 expects a POST description: "to geo replication node api", path: "/api/v4/geo_replication/designs/resync" URL to be allowed2058 expects a POST description: "to geo replication node api", path: "/api/v4/geo_replication/designs/resync" URL with a trailing slash to be allowed2059 description: "git-receive-pack", path: "/root/rouge.git/git-receive-pack"2060 expects a POST description: "git-receive-pack", path: "/root/rouge.git/git-receive-pack" URL to be allowed2061 expects a POST description: "git-receive-pack", path: "/root/rouge.git/git-receive-pack" URL with a trailing slash to be allowed2062Gitlab::CustomFileTemplates2063 #enabled?2064 instance_licensed: false, namespace_licensed: false, instance_enabled: false, namespace_enabled: false2065 is expected to eq false2066 instance_licensed: false, namespace_licensed: false, instance_enabled: false, namespace_enabled: true2067 is expected to eq false2068 instance_licensed: false, namespace_licensed: false, instance_enabled: true, namespace_enabled: false2069 is expected to eq false2070 instance_licensed: false, namespace_licensed: false, instance_enabled: true, namespace_enabled: true2071 is expected to eq false2072 instance_licensed: false, namespace_licensed: true, instance_enabled: false, namespace_enabled: false2073 is expected to eq false2074 instance_licensed: false, namespace_licensed: true, instance_enabled: false, namespace_enabled: true2075 is expected to eq true2076 instance_licensed: false, namespace_licensed: true, instance_enabled: true, namespace_enabled: false2077 is expected to eq false2078 instance_licensed: false, namespace_licensed: true, instance_enabled: true, namespace_enabled: true2079 is expected to eq true2080 instance_licensed: true, namespace_licensed: false, instance_enabled: false, namespace_enabled: false2081 is expected to eq false2082 instance_licensed: true, namespace_licensed: false, instance_enabled: false, namespace_enabled: true2083 is expected to eq false2084 instance_licensed: true, namespace_licensed: false, instance_enabled: true, namespace_enabled: false2085 is expected to eq true2086 instance_licensed: true, namespace_licensed: false, instance_enabled: true, namespace_enabled: true2087 is expected to eq true2088 instance_licensed: true, namespace_licensed: true, instance_enabled: false, namespace_enabled: false2089 is expected to eq false2090 instance_licensed: true, namespace_licensed: true, instance_enabled: false, namespace_enabled: true2091 is expected to eq true2092 instance_licensed: true, namespace_licensed: true, instance_enabled: true, namespace_enabled: false2093 is expected to eq true2094 instance_licensed: true, namespace_licensed: true, instance_enabled: true, namespace_enabled: true2095 is expected to eq true2096 #all2097 template_finder: Gitlab::Template::CustomDockerfileTemplate, type: :dockerfile2098 unlicensed2099 is expected to be empty2100 licensed2101 in a toplevel group2102 orders results from most specific to least specific2103 in a subgroup2104 orders results from most specific to least specific2105 template_finder: Gitlab::Template::CustomGitignoreTemplate, type: :gitignore2106 unlicensed2107 is expected to be empty2108 licensed2109 in a toplevel group2110 orders results from most specific to least specific2111 in a subgroup2112 orders results from most specific to least specific2113 template_finder: Gitlab::Template::CustomGitlabCiYmlTemplate, type: :gitlab_ci_yml2114 unlicensed2115 is expected to be empty2116 licensed2117 in a toplevel group2118 orders results from most specific to least specific2119 in a subgroup2120 orders results from most specific to least specific2121 template_finder: Gitlab::Template::CustomLicenseTemplate, type: :license2122 unlicensed2123 is expected to be empty2124 licensed2125 in a toplevel group2126 orders results from most specific to least specific2127 in a subgroup2128 orders results from most specific to least specific2129 #find2130 template_finder: Gitlab::Template::CustomDockerfileTemplate, type: :dockerfile2131 unlicensed2132 is expected to be nil2133 is expected to be nil2134 licensed2135 in a toplevel group2136 finds a group template2137 finds an instance template2138 returns nil for an unknown key2139 in a subgroup2140 finds a template from the subgroup2141 finds a template from the parent group2142 finds an instance template2143 returns nil for an unknown key2144 when subgroup template names overlap with ancestor2145 returns a template from the subgroup2146 finds a template from the parent group with specified project2147 when looking for template for a specific project2148 finds a valid template when looking into group template project2149 finds a valid template when looking into instance template project2150 does not find a template when given project does not have the template2151 template_finder: Gitlab::Template::CustomGitignoreTemplate, type: :gitignore2152 unlicensed2153 is expected to be nil2154 is expected to be nil2155 licensed2156 in a toplevel group2157 finds a group template2158 finds an instance template2159 returns nil for an unknown key2160 in a subgroup2161 finds a template from the subgroup2162 finds a template from the parent group2163 finds an instance template2164 returns nil for an unknown key2165 when subgroup template names overlap with ancestor2166 returns a template from the subgroup2167 finds a template from the parent group with specified project2168 when looking for template for a specific project2169 finds a valid template when looking into group template project2170 finds a valid template when looking into instance template project2171 does not find a template when given project does not have the template2172 template_finder: Gitlab::Template::CustomGitlabCiYmlTemplate, type: :gitlab_ci_yml2173 unlicensed2174 is expected to be nil2175 is expected to be nil2176 licensed2177 in a toplevel group2178 finds a group template2179 finds an instance template2180 returns nil for an unknown key2181 in a subgroup2182 finds a template from the subgroup2183 finds a template from the parent group2184 finds an instance template2185 returns nil for an unknown key2186 when subgroup template names overlap with ancestor2187 returns a template from the subgroup2188 finds a template from the parent group with specified project2189 when looking for template for a specific project2190 finds a valid template when looking into group template project2191 finds a valid template when looking into instance template project2192 does not find a template when given project does not have the template2193 template_finder: Gitlab::Template::CustomLicenseTemplate, type: :license2194 unlicensed2195 is expected to be nil2196 is expected to be nil2197 licensed2198 in a toplevel group2199 finds a group template2200 finds an instance template2201 returns nil for an unknown key2202 in a subgroup2203 finds a template from the subgroup2204 finds a template from the parent group2205 finds an instance template2206 returns nil for an unknown key2207 when subgroup template names overlap with ancestor2208 returns a template from the subgroup2209 finds a template from the parent group with specified project2210 when looking for template for a specific project2211 finds a valid template when looking into group template project2212 finds a valid template when looking into instance template project2213 does not find a template when given project does not have the template2214 #all_template_names2215 template_finder: Gitlab::Template::CustomDockerfileTemplate, type: :dockerfile2216 unlicensed2217 is expected to be empty2218 licensed2219 in a toplevel group2220 has the group names and instance as category2221 orders results from most specific to least specific2222 in a subgroup2223 with nested group templates2224 has the group names and instance as category2225 orders results from most specific to least specific2226 with templates missing for a nested group2227 when subgroup template config points to a project that has no templates2228 behaves like does not list an empty category2229 misses subgroup category2230 misses subgroup templates2231 when subgroup template config is not setup2232 behaves like does not list an empty category2233 misses subgroup category2234 misses subgroup templates2235 template_finder: Gitlab::Template::CustomGitignoreTemplate, type: :gitignore2236 unlicensed2237 is expected to be empty2238 licensed2239 in a toplevel group2240 has the group names and instance as category2241 orders results from most specific to least specific2242 in a subgroup2243 with nested group templates2244 has the group names and instance as category2245 orders results from most specific to least specific2246 with templates missing for a nested group2247 when subgroup template config points to a project that has no templates2248 behaves like does not list an empty category2249 misses subgroup category2250 misses subgroup templates2251 when subgroup template config is not setup2252 behaves like does not list an empty category2253 misses subgroup category2254 misses subgroup templates2255 template_finder: Gitlab::Template::CustomGitlabCiYmlTemplate, type: :gitlab_ci_yml2256 unlicensed2257 is expected to be empty2258 licensed2259 in a toplevel group2260 has the group names and instance as category2261 orders results from most specific to least specific2262 in a subgroup2263 with nested group templates2264 has the group names and instance as category2265 orders results from most specific to least specific2266 with templates missing for a nested group2267 when subgroup template config points to a project that has no templates2268 behaves like does not list an empty category2269 misses subgroup category2270 misses subgroup templates2271 when subgroup template config is not setup2272 behaves like does not list an empty category2273 misses subgroup category2274 misses subgroup templates2275 template_finder: Gitlab::Template::CustomLicenseTemplate, type: :license2276 unlicensed2277 is expected to be empty2278 licensed2279 in a toplevel group2280 has the group names and instance as category2281 orders results from most specific to least specific2282 in a subgroup2283 with nested group templates2284 has the group names and instance as category2285 orders results from most specific to least specific2286 with templates missing for a nested group2287 when subgroup template config points to a project that has no templates2288 behaves like does not list an empty category2289 misses subgroup category2290 misses subgroup templates2291 when subgroup template config is not setup2292 behaves like does not list an empty category2293 misses subgroup category2294 misses subgroup templates2295ComplianceManagement::MergeRequestApprovalSettings::Resolver2296 is initialized2297 #allow_author_approval2298 instance_prevents_approval: true, group_allows_approval: true, project_allows_approval: nil, value: false, locked: true, inherited_from: :instance2299 behaves like a MR approval setting2300 has the correct value2301 has the correct locked status2302 has the correct inheritance2303 instance_prevents_approval: true, group_allows_approval: false, project_allows_approval: nil, value: false, locked: true, inherited_from: :instance2304 behaves like a MR approval setting2305 has the correct value2306 has the correct locked status2307 has the correct inheritance2308 instance_prevents_approval: false, group_allows_approval: true, project_allows_approval: nil, value: true, locked: false, inherited_from: nil2309 behaves like a MR approval setting2310 has the correct value2311 has the correct locked status2312 has the correct inheritance2313 instance_prevents_approval: false, group_allows_approval: false, project_allows_approval: nil, value: false, locked: false, inherited_from: nil2314 behaves like a MR approval setting2315 has the correct value2316 has the correct locked status2317 has the correct inheritance2318 instance_prevents_approval: false, group_allows_approval: nil, project_allows_approval: true, value: true, locked: false, inherited_from: nil2319 behaves like a MR approval setting2320 has the correct value2321 has the correct locked status2322 has the correct inheritance2323 instance_prevents_approval: false, group_allows_approval: nil, project_allows_approval: false, value: false, locked: false, inherited_from: nil2324 behaves like a MR approval setting2325 has the correct value2326 has the correct locked status2327 has the correct inheritance2328 instance_prevents_approval: true, group_allows_approval: nil, project_allows_approval: false, value: false, locked: true, inherited_from: :instance2329 behaves like a MR approval setting2330 has the correct value2331 has the correct locked status2332 has the correct inheritance2333 instance_prevents_approval: false, group_allows_approval: true, project_allows_approval: true, value: true, locked: false, inherited_from: nil2334 behaves like a MR approval setting2335 has the correct value2336 has the correct locked status2337 has the correct inheritance2338 instance_prevents_approval: false, group_allows_approval: false, project_allows_approval: true, value: false, locked: true, inherited_from: :group2339 behaves like a MR approval setting2340 has the correct value2341 has the correct locked status2342 has the correct inheritance2343 instance_prevents_approval: true, group_allows_approval: true, project_allows_approval: true, value: false, locked: true, inherited_from: :instance2344 behaves like a MR approval setting2345 has the correct value2346 has the correct locked status2347 has the correct inheritance2348 instance_prevents_approval: false, group_allows_approval: true, project_allows_approval: false, value: false, locked: false, inherited_from: nil2349 behaves like a MR approval setting2350 has the correct value2351 has the correct locked status2352 has the correct inheritance2353 #allow_committer_approval2354 instance_prevents_approval: true, group_allows_approval: true, project_prevents_approval: nil, value: false, locked: true, inherited_from: :instance2355 behaves like a MR approval setting2356 has the correct value2357 has the correct locked status2358 has the correct inheritance2359 instance_prevents_approval: true, group_allows_approval: false, project_prevents_approval: nil, value: false, locked: true, inherited_from: :instance2360 behaves like a MR approval setting2361 has the correct value2362 has the correct locked status2363 has the correct inheritance2364 instance_prevents_approval: false, group_allows_approval: true, project_prevents_approval: nil, value: true, locked: false, inherited_from: nil2365 behaves like a MR approval setting2366 has the correct value2367 has the correct locked status2368 has the correct inheritance2369 instance_prevents_approval: false, group_allows_approval: false, project_prevents_approval: nil, value: false, locked: false, inherited_from: nil2370 behaves like a MR approval setting2371 has the correct value2372 has the correct locked status2373 has the correct inheritance2374 instance_prevents_approval: false, group_allows_approval: nil, project_prevents_approval: true, value: false, locked: false, inherited_from: nil2375 behaves like a MR approval setting2376 has the correct value2377 has the correct locked status2378 has the correct inheritance2379 instance_prevents_approval: true, group_allows_approval: nil, project_prevents_approval: false, value: false, locked: true, inherited_from: :instance2380 behaves like a MR approval setting2381 has the correct value2382 has the correct locked status2383 has the correct inheritance2384 instance_prevents_approval: false, group_allows_approval: true, project_prevents_approval: true, value: false, locked: false, inherited_from: nil2385 behaves like a MR approval setting2386 has the correct value2387 has the correct locked status2388 has the correct inheritance2389 instance_prevents_approval: false, group_allows_approval: false, project_prevents_approval: false, value: false, locked: true, inherited_from: :group2390 behaves like a MR approval setting2391 has the correct value2392 has the correct locked status2393 has the correct inheritance2394 instance_prevents_approval: true, group_allows_approval: true, project_prevents_approval: false, value: false, locked: true, inherited_from: :instance2395 behaves like a MR approval setting2396 has the correct value2397 has the correct locked status2398 has the correct inheritance2399 #allow_overrides_to_approver_list_per_merge_request2400 instance_prevents_approval: true, group_allows_approval: true, project_prevents_approval: nil, value: false, locked: true, inherited_from: :instance2401 behaves like a MR approval setting2402 has the correct value2403 has the correct locked status2404 has the correct inheritance2405 instance_prevents_approval: true, group_allows_approval: false, project_prevents_approval: nil, value: false, locked: true, inherited_from: :instance2406 behaves like a MR approval setting2407 has the correct value2408 has the correct locked status2409 has the correct inheritance2410 instance_prevents_approval: false, group_allows_approval: true, project_prevents_approval: nil, value: true, locked: false, inherited_from: nil2411 behaves like a MR approval setting2412 has the correct value2413 has the correct locked status2414 has the correct inheritance2415 instance_prevents_approval: false, group_allows_approval: false, project_prevents_approval: nil, value: false, locked: false, inherited_from: nil2416 behaves like a MR approval setting2417 has the correct value2418 has the correct locked status2419 has the correct inheritance2420 instance_prevents_approval: false, group_allows_approval: nil, project_prevents_approval: true, value: false, locked: false, inherited_from: nil2421 behaves like a MR approval setting2422 has the correct value2423 has the correct locked status2424 has the correct inheritance2425 instance_prevents_approval: true, group_allows_approval: nil, project_prevents_approval: false, value: false, locked: true, inherited_from: :instance2426 behaves like a MR approval setting2427 has the correct value2428 has the correct locked status2429 has the correct inheritance2430 instance_prevents_approval: false, group_allows_approval: true, project_prevents_approval: true, value: false, locked: false, inherited_from: nil2431 behaves like a MR approval setting2432 has the correct value2433 has the correct locked status2434 has the correct inheritance2435 instance_prevents_approval: false, group_allows_approval: false, project_prevents_approval: false, value: false, locked: true, inherited_from: :group2436 behaves like a MR approval setting2437 has the correct value2438 has the correct locked status2439 has the correct inheritance2440 instance_prevents_approval: true, group_allows_approval: true, project_prevents_approval: false, value: false, locked: true, inherited_from: :instance2441 behaves like a MR approval setting2442 has the correct value2443 has the correct locked status2444 has the correct inheritance2445 #retain_approvals_on_push2446 group_retains_approvals: true, project_resets_approvals: nil, value: true, locked: false, inherited_from: nil2447 behaves like a MR approval setting2448 has the correct value2449 has the correct locked status2450 has the correct inheritance2451 group_retains_approvals: false, project_resets_approvals: nil, value: false, locked: false, inherited_from: nil2452 behaves like a MR approval setting2453 has the correct value2454 has the correct locked status2455 has the correct inheritance2456 group_retains_approvals: nil, project_resets_approvals: true, value: false, locked: false, inherited_from: nil2457 behaves like a MR approval setting2458 has the correct value2459 has the correct locked status2460 has the correct inheritance2461 group_retains_approvals: nil, project_resets_approvals: false, value: true, locked: false, inherited_from: nil2462 behaves like a MR approval setting2463 has the correct value2464 has the correct locked status2465 has the correct inheritance2466 group_retains_approvals: true, project_resets_approvals: false, value: true, locked: false, inherited_from: nil2467 behaves like a MR approval setting2468 has the correct value2469 has the correct locked status2470 has the correct inheritance2471 group_retains_approvals: false, project_resets_approvals: true, value: false, locked: true, inherited_from: :group2472 behaves like a MR approval setting2473 has the correct value2474 has the correct locked status2475 has the correct inheritance2476 group_retains_approvals: false, project_resets_approvals: false, value: false, locked: true, inherited_from: :group2477 behaves like a MR approval setting2478 has the correct value2479 has the correct locked status2480 has the correct inheritance2481 group_retains_approvals: true, project_resets_approvals: true, value: false, locked: false, inherited_from: nil2482 behaves like a MR approval setting2483 has the correct value2484 has the correct locked status2485 has the correct inheritance2486 #require_password_to_approve2487 group_requires_password: true, project_requires_password: nil, value: true, locked: false, inherited_from: nil2488 behaves like a MR approval setting2489 has the correct value2490 has the correct locked status2491 has the correct inheritance2492 group_requires_password: false, project_requires_password: nil, value: false, locked: false, inherited_from: nil2493 behaves like a MR approval setting2494 has the correct value2495 has the correct locked status2496 has the correct inheritance2497 group_requires_password: nil, project_requires_password: true, value: true, locked: false, inherited_from: nil2498 behaves like a MR approval setting2499 has the correct value2500 has the correct locked status2501 has the correct inheritance2502 group_requires_password: nil, project_requires_password: false, value: false, locked: false, inherited_from: nil2503 behaves like a MR approval setting2504 has the correct value2505 has the correct locked status2506 has the correct inheritance2507 group_requires_password: true, project_requires_password: false, value: true, locked: true, inherited_from: :group2508 behaves like a MR approval setting2509 has the correct value2510 has the correct locked status2511 has the correct inheritance2512 group_requires_password: true, project_requires_password: true, value: true, locked: true, inherited_from: :group2513 behaves like a MR approval setting2514 has the correct value2515 has the correct locked status2516 has the correct inheritance2517 group_requires_password: false, project_requires_password: false, value: false, locked: false, inherited_from: nil2518 behaves like a MR approval setting2519 has the correct value2520 has the correct locked status2521 has the correct inheritance2522 group_requires_password: false, project_requires_password: true, value: true, locked: false, inherited_from: nil2523 behaves like a MR approval setting2524 has the correct value2525 has the correct locked status2526 has the correct inheritance2527Epics::UpdateService2528 #execute2529 multiple values update2530 updates the epic correctly2531 updates the last_edited_at value2532 when title has changed2533 creates system note about title change2534 records epic title changed after saving2535 when description has changed2536 creates system note about description change2537 records epic description changed after saving2538 when repositioning an epic on a board2539 when board position records exist for all epics2540 behaves like board repositioning2541 when moving between 2 epics on the board2542 moves the epic correctly2543 when moving the epic to the end2544 moves the epic correctly2545 when moving beetween 2 epics on the board2546 keeps epic3 on top of the board2547 when moving the epic to the beginning2548 moves the epic correctly2549 when moving the epic to the end2550 keeps epic3 on top of the board2551 when board position records are missing2552 when the position does not exist for any record2553 behaves like board repositioning2554 when moving between 2 epics on the board2555 moves the epic correctly2556 when moving the epic to the end2557 moves the epic correctly2558 when the list is closed2559 behaves like board repositioning2560 when moving between 2 epics on the board2561 moves the epic correctly2562 when moving the epic to the end2563 moves the epic correctly2564 when the epic is in a subgroup2565 behaves like board repositioning2566 when moving between 2 epics on the board2567 moves the epic correctly2568 when moving the epic to the end2569 moves the epic correctly2570 when the position does not exist for the record being moved2571 behaves like board repositioning2572 when moving between 2 epics on the board2573 moves the epic correctly2574 when moving the epic to the end2575 moves the epic correctly2576 when the position exists for the above and moving records but not for higher ids2577 moves the epic correctly2578 does not create new position records2579 when the position does not exist for the records around the one being moved2580 behaves like board repositioning2581 when moving between 2 epics on the board2582 moves the epic correctly2583 when moving the epic to the end2584 moves the epic correctly2585 after_save callback to store_mentions2586 when mentionable attributes change2587 saves mentions2588 when mentionable attributes do not change2589 does not call store_mentions!2590 when save fails2591 does not call store_mentions!2592 todos2593 creating todos2594 creates todos for only newly mentioned users2595 adding a label2596 marks todo as done for a user who added a label2597 does not mark todos as done for other users2598 tracks the label change2599 mentioning a group in epic description2600 when the group is public2601 creates todos for only newly mentioned users2602 when the group is private2603 creates todos for only newly mentioned users that are group members2604 when the epic becomes confidential2605 schedules deletion of todos2606 tracks the epic becoming confidential2607 when the epic becomes visible2608 does not schedule deletion of todos2609 tracks the epic becoming visible2610 when Epic has tasks2611 is expected to eq true2612 behaves like updating a single task2613 usage counters2614 update as expected2615 when a task is marked as completed2616 creates system note about task status change2617 when a task is marked as incomplete2618 creates system note about task status change2619 when the task position has been modified2620 raises an exception2621 when the content changes but not task line number2622 creates system note about task status change2623 when tasks are marked as completed2624 creates system note about task status change2625 counts the change correctly2626 when tasks are marked as incomplete2627 creates system note about task status change2628 counts the change correctly2629 filter out start_date and end_date2630 ignores start_date and end_date2631 refresh epic dates2632 date fields are updated2633 calls UpdateDatesService2634 epic start date fixed or inherited2635 tracks the user action to set as fixed2636 tracks the user action to set as inherited2637 epic due date fixed or inherited2638 tracks the user action to set as fixed2639 tracks the user action to set as inherited2640 date fields are not updated2641 does not call UpdateDatesService2642 behaves like existing issuable with scoped labels2643 when scoped labels are available2644 when using label_ids parameter2645 adds only last selected exclusive scoped label2646 when using label_ids parameter2647 adds only last selected exclusive scoped label2648 when only removing labels2649 preserves multiple exclusive scoped labels2650 when scoped labels are not available2651 adds all scoped labels2652 labels are updated2653 behaves like keeps issuable labels sorted after update2654 when label is changed2655 keeps the labels sorted by title ASC2656 behaves like broadcasting issuable labels updates2657 when label is added2658 triggers the GraphQL subscription2659 when label is removed2660 triggers the GraphQL subscription2661 when label is unchanged2662 does not trigger the GraphQL subscription2663 with quick actions in the description2664 for /label2665 adds labels to the epic2666 for /parent_epic2667 assigns parent epic2668 when parent epic cannot be assigned2669 does not update parent epic2670 for /child_epic2671 sets a child epic2672 when child epic cannot be assigned2673 does not set child epic2674Elastic::MigrationRecord2675 #save!2676 creates an index if it is not found2677 sets the started_at2678 does not update started_at on subsequent saves2679 sets completed_at when completed2680 does not set completed_at when not completed2681 #load_from_index2682 does not raise an exception when connection refused2683 does not raise an exception when record does not exist2684 #halt2685 sets state for halted and halted_indexing_unpaused2686 sets state with additional options if passed2687 #fail2688 calls halt with failed: true2689 #started?2690 changes on object save2691 .load_versions2692 loads all records2693 raises an exception if no index present2694 raises an exception when exception is raised2695 #current_migration2696 when there is an unexecuted migration2697 returns the correct migration2698 when there are no uncompleted migrations2699 returns nil2700 #running?2701 started: false, halted: false, completed: false, expected: false2702 returns the expected result2703 started: true, halted: false, completed: false, expected: true2704 returns the expected result2705 started: true, halted: true, completed: false, expected: false2706 returns the expected result2707 started: true, halted: true, completed: true, expected: false2708 returns the expected result2709 started: true, halted: false, completed: true, expected: false2710 returns the expected result2711 #stopped?2712 halted: false, completed: false, expected: false2713 returns the expected result2714 halted: false, completed: true, expected: true2715 returns the expected result2716 halted: true, completed: false, expected: true2717 returns the expected result2718 halted: true, completed: true, expected: true2719 returns the expected result2720Geo::PackageFileRegistry2721 behaves like a BulkInsertSafe model2722 when calling class methods directly2723 raises an error when method is not bulk-insert safe2724 does not raise an error when method is bulk-insert safe2725 .bulk_insert!2726 when all items are valid2727 inserts them all2728 returns an empty array2729 when some items are invalid2730 does not insert any of them and raises an error2731 inserts them anyway when bypassing validations2732 scopes2733 sync_timed_out2734 return correct records2735 finders2736 .find_registries_never_attempted_sync2737 returns unsynced items2738 returns items that never have an attempt to sync except some specific item ID2739 .find_registries_needs_sync_again2740 returns failed items2741 returns failed items except some specific item ID2742 orders records according to retry_at2743 .fail_sync_timeouts2744 marks started records as failed if they are expired2745 #failed!2746 sets last_sync_failure with message2747 truncates a long last_sync_failure2748 increments retry_count2749 sets retry_at to a time in the future2750 when an error is given2751 includes error.message in last_sync_failure2752 when missing_on_primary is not given2753 caps retry_at to default 1 hour2754 when missing_on_primary is falsey2755 caps retry_at to default 1 hour2756 when missing_on_primary is truthy2757 caps retry_at to 4 hours2758 state machine2759 when transitioning to synced2760 marks verification as pending2761 when the model_record cannot be verified2762 when the registry is already verification_disabled2763 changes verification to disabled2764 when the registry is verification_pending2765 changes verification to disabled2766 verification_state machine2767 when transitioning to verification_failed2768 changes state from synced to failed2769 .verification_pending_batch2770 returns IDs of rows which are synced and pending verification2771 excludes rows which are not synced or are not pending verification2772 marks verification as started2773 .verification_failed_batch2774 with a failed record with retry due2775 returns IDs of rows which are synced and have failed verification2776 excludes rows which are not synced or have not failed verification2777 marks verification as started2778 when verification_retry_at is in the future2779 does not return the row which failed verification2780 .needs_verification_count2781 returns the number of rows which are synced and pending verification2782 includes rows which are synced and failed verification and are due for retry2783 excludes rows which are synced and failed verification and have a future retry time2784 excludes rows which are not synced or are not (pending or failed) verification2785 #verification_succeeded!2786 clears checksum mismatch fields2787 #track_checksum_attempt!2788 yields to the checksum calculation2789 when verification was not yet started2790 starts verification2791 when the model record cannot be verified2792 when the registry is already verification_disabled2793 leaves verification as disabled2794 when the registry is verification_pending2795 changes verification to disabled2796 when the primary site is expected to checksum the model record2797 comparison with primary checksum2798 when the calculated checksum matches the primary checksum2799 transitions to verification_succeeded and updates the checksum2800 when the calculated checksum does not match the primary checksum2801 transitions to verification_failed and updates mismatch fields2802 when verification was started2803 does not update verification_started_at2804 when an error occurs while yielding2805 sets verification_failed2806 .find_registry_differences2807 with selective sync disabled2808 finds unused and untracked items2809 with selective sync by shard2810 finds unused and untracked items2811 with selective sync by namespace2812 finds unused and untracked items2813Gitlab::ImportExport::Project::TreeRestorer2814 epics2815 with group2816 with pre-existing epic2817 associates epics2818 without pre-existing epic2819 creates epic2820 with personal namespace2821 ignores epic relation2822 restores `protected_environments` with `deploy_access_levels`2823 is expected to eq 12824 security_settings2825 creates security setting2826 push_rules2827 creates push rules2828 boards2829 has milestone associated with the issue board2830 has milestone associated with the issue board list2831Issues::CreateService2832 #execute2833 when current user cannot admin issues in the project2834 filters out params that cannot be set without the :admin_issue permission2835 when current user can admin issues in the project2836 sets permitted params correctly2837 when epics are enabled2838 behaves like issue with epic_id parameter2839 when epic_id does not exist2840 raises an exception2841 when epic_id is 02842 does not assign any epic2843 when user can not add issues to the epic2844 raises an exception2845 does not send usage data for added epic action2846 when user can add issues to the epic2847 when a project is a direct child of the epic group2848 creates epic issue link2849 calls EpicIssues::CreateService2850 events tracking2851 tracks usage data for added to epic action2852 behaves like Snowplow event tracking2853 is not emitted if FF is disabled2854 is emitted2855 when epic param is also present2856 when epic_id belongs to another valid epic2857 creates epic issue link based on the epic param2858 when epic_id is empty2859 creates epic issue link based on the epic param2860 when a project is from a subgroup of the epic group2861 creates epic issue link2862 events tracking2863 tracks usage data for added to epic action2864 behaves like Snowplow event tracking2865 is not emitted if FF is disabled2866 is emitted2867 when using quick actions2868 /epic action2869 adds an issue to the passed epic2870 with epic and milestone in commands only2871 sets epic and milestone to issuable and update epic start and due date2872 generates system notes for adding an epic and milestone2873 when assigning epic raises an exception2874 assigns the issue passed to the provided epic2875 when adding a public issue to confidential epic2876 creates confidential child issue2877 when adding a confidential issue to public epic2878 creates a confidential child issue2879 when iterations are available2880 when sprint_id is provided2881 is successful, and assigns the specified iteration to the issue2882 when iteration_id is provided2883 is successful, and assigns the specified iteration to the issue2884 when iteration_wildcard_id is provided2885 raises a mutually exclusive argument error2886 when user can't read the given iteration2887 is successful but does not assign the iteration2888 when iteration_wildcard_id is provided2889 when iteration_wildcard_id is CURRENT2890 when iteration_cadence_id is provided2891 is successful, and assigns the current iteration to the issue2892 when iteration_cadence_id is not provided2893 always requires iteration cadence id when wildcard is provided2894 when iteration_wildcard_id is invalid2895 is successful, and does not assign an iteration to the issue2896 when no iteration params are provided2897 is successful, and does not assign an iteration to the issue2898 when issue is of requirement_type2899 creates one requirement and one requirement issue2900 creates a requirement object with same parameters2901 when creation of requirement fails2902 does not create issue2903 when creation of issue fails2904 does not create requirement2905 behaves like new issuable with scoped labels2906 when scoped labels are available2907 when using label_ids parameter2908 adds only last selected exclusive scoped label2909 when using labels parameter2910 adds only last selected exclusive scoped label2911 when scoped labels are not available2912 adds all scoped labels2913StartPullMirroringService2914 when pause_on_hard_failure is false2915 when retried more than 14 times2916 resets the import state retry_count2917 behaves like pull mirroring has started2918 behaves like force mirror update2919 enqueues UpdateAllMirrorsWorker2920 with default interval2921 behaves like mirrors using interval2922 when project mirror has been updated in the interval2923 schedules next execution2924 when project mirror has been updated outside of the interval2925 behaves like force mirror update2926 enqueues UpdateAllMirrorsWorker2927 when project mirror has been updated in interval but has never been successfully updated2928 behaves like force mirror update2929 enqueues UpdateAllMirrorsWorker2930 with a custom interval2931 behaves like mirrors using interval2932 when project mirror has been updated in the interval2933 schedules next execution2934 when project mirror has been updated outside of the interval2935 behaves like force mirror update2936 enqueues UpdateAllMirrorsWorker2937 when project mirror has been updated in interval but has never been successfully updated2938 behaves like force mirror update2939 enqueues UpdateAllMirrorsWorker2940 when mirror is due to be updated2941 behaves like pull mirroring has started2942 behaves like force mirror update2943 enqueues UpdateAllMirrorsWorker2944 with default interval2945 behaves like mirrors using interval2946 when project mirror has been updated in the interval2947 schedules next execution2948 when project mirror has been updated outside of the interval2949 behaves like force mirror update2950 enqueues UpdateAllMirrorsWorker2951 when project mirror has been updated in interval but has never been successfully updated2952 behaves like force mirror update2953 enqueues UpdateAllMirrorsWorker2954 with a custom interval2955 behaves like mirrors using interval2956 when project mirror has been updated in the interval2957 schedules next execution2958 when project mirror has been updated outside of the interval2959 behaves like force mirror update2960 enqueues UpdateAllMirrorsWorker2961 when project mirror has been updated in interval but has never been successfully updated2962 behaves like force mirror update2963 enqueues UpdateAllMirrorsWorker2964 when does not reach the max retry limit yet2965 behaves like pull mirroring has started2966 behaves like force mirror update2967 enqueues UpdateAllMirrorsWorker2968 with default interval2969 behaves like mirrors using interval2970 when project mirror has been updated in the interval2971 schedules next execution2972 when project mirror has been updated outside of the interval2973 behaves like force mirror update2974 enqueues UpdateAllMirrorsWorker2975 when project mirror has been updated in interval but has never been successfully updated2976 behaves like force mirror update2977 enqueues UpdateAllMirrorsWorker2978 with a custom interval2979 behaves like mirrors using interval2980 when project mirror has been updated in the interval2981 schedules next execution2982 when project mirror has been updated outside of the interval2983 behaves like force mirror update2984 enqueues UpdateAllMirrorsWorker2985 when project mirror has been updated in interval but has never been successfully updated2986 behaves like force mirror update2987 enqueues UpdateAllMirrorsWorker2988 behaves like retry count did not reset2989 does not reset import state retry_count2990 when mirror is due to be updated2991 behaves like pull mirroring has not started2992 does not start pull mirroring2993 when pause_on_hard_failure is true2994 when retried more than 14 times2995 behaves like retry count did not reset2996 does not reset import state retry_count2997 behaves like pull mirroring has not started2998 does not start pull mirroring2999 when does not reach the max retry limit yet3000 behaves like pull mirroring has started3001 behaves like force mirror update3002 enqueues UpdateAllMirrorsWorker3003 with default interval3004 behaves like mirrors using interval3005 when project mirror has been updated in the interval3006 schedules next execution3007 when project mirror has been updated outside of the interval3008 behaves like force mirror update3009 enqueues UpdateAllMirrorsWorker3010 when project mirror has been updated in interval but has never been successfully updated3011 behaves like force mirror update3012 enqueues UpdateAllMirrorsWorker3013 with a custom interval3014 behaves like mirrors using interval3015 when project mirror has been updated in the interval3016 schedules next execution3017 when project mirror has been updated outside of the interval3018 behaves like force mirror update3019 enqueues UpdateAllMirrorsWorker3020 when project mirror has been updated in interval but has never been successfully updated3021 behaves like force mirror update3022 enqueues UpdateAllMirrorsWorker3023 behaves like retry count did not reset3024 does not reset import state retry_count3025 when mirror is due to be updated3026 behaves like pull mirroring has not started3027 does not start pull mirroring3028Groups::UpdateService#execute3029 audit events3030 #visibility3031 when licensed3032 does not log audit event if operation fails3033 when operation succeeds3034 logs an audit event3035 logs the audit event info3036 when not licensed3037 does not log audit event3038 ip restrictions3039 when IP restrictions were changed3040 when licensed3041 does not log audit event if operation fails3042 when operation succeeds3043 logs an audit event3044 logs the audit event info3045 when not licensed3046 does not log audit event3047 sub group3048 sends the audit streaming event3049 changing file_template_project_id3050 as a group maintainer3051 does not allow a project to be removed3052 does not allow a project to be set3053 as a group owner3054 allows a project to be removed3055 allows a valid project to be set3056 does not allow a project outwith the group to be set3057 does not allow a non-existent project to be set3058 in a subgroup3059 does not allow a project the group owner cannot see to be set3060 allows a project in the subgroup to be set3061 repository_size_limit assignment as Bytes3062 when param present3063 converts from MB to Bytes3064 when param not present3065 assign nil value3066 setting ip_restriction3067 when ip_restriction already exists3068 empty ip restriction param3069 deletes ip restriction3070 setting allowed email domain3071 when allowed_email_domain already exists3072 allowed_email_domains_list param is not specified3073 does not call EE::AllowedEmailDomains::UpdateService#execute3074 allowed_email_domains_list param is blank3075 as a group owner3076 calls EE::AllowedEmailDomains::UpdateService#execute3077 update is successful3078 deletes existing allowed_email_domain record3079 as a normal user3080 calls EE::AllowedEmailDomains::UpdateService#execute3081 update is not successful3082 registers an error3083 does not delete existing allowed_email_domain record3084 updating protected params3085 as an admin3086 updates the attributes3087 as a regular user3088 ignores the attributes3089 updating insight_attributes.project_id param3090 when project is not in the group3091 when user can read the project3092 behaves like ignorance of the Insights project ID3093 ignores the Insights project ID3094 when user cannot read the project3095 behaves like ignorance of the Insights project ID3096 ignores the Insights project ID3097 when project is in the group3098 when user can read the project3099 behaves like successful update of the Insights project3100 updates the Insights project3101 when user cannot read the project3102 behaves like ignorance of the Insights project ID3103 ignores the Insights project ID3104 updating `max_personal_access_token_lifetime` param3105 updates the attribute3106 when the group does not enforce managed accounts3107 behaves like it does not call the update lifetime service3108 doesn not call the update lifetime service3109 when the group enforces managed accounts3110 without `personal_access_token_expiration_policy` licensed3111 behaves like it does not call the update lifetime service3112 doesn not call the update lifetime service3113 with personal_access_token_expiration_policy licensed3114 when `max_personal_access_token_lifetime` is updated to null value3115 behaves like it does not call the update lifetime service3116 doesn not call the update lifetime service3117 when `max_personal_access_token_lifetime` is updated to a non-null value3118 executes the update lifetime service3119RequirementsManagement::Requirement3120 associations3121 is expected to belong to author class_name => User required: false3122 is expected to belong to project required: false3123 is expected to have many test_reports through requirement_issue3124 is expected to have many recent_test_reports through requirement_issue order => requirements_management_test_reports.created_at DESC3125 behaves like a model with a requirement issue association3126 requirement issue association3127 when the requirement issue is of type requirement3128 is expected to be valid3129 when requirement issue is not of requirement type3130 is expected to include /must be a `requirement`/3131 when requirement issue is invalid but the type field is not dirty3132 is expected to be valid3133 is expected to be valid3134 delegate3135 is expected to delegate #author to the #requirement_issue object, allowing #requirement_issue to return nil3136 is expected to delegate #author_id to the #requirement_issue object, allowing #requirement_issue to return nil3137 is expected to delegate #title to the #requirement_issue object, allowing #requirement_issue to return nil3138 is expected to delegate #title_html to the #requirement_issue object, allowing #requirement_issue to return nil3139 is expected to delegate #description to the #requirement_issue object, allowing #requirement_issue to return nil3140 is expected to delegate #description_html to the #requirement_issue object, allowing #requirement_issue to return nil3141 is expected to delegate #cached_markdown_version to the #requirement_issue object, allowing #requirement_issue to return nil3142 with nil attributes3143 returns delegated author value3144 returns delegated author_id value3145 returns delegated title_html value3146 returns delegated description value3147 returns delegated description_html value3148 returns delegated cached_markdown_version value3149 validations3150 is expected to validate that :issue_id is case-sensitively unique3151 is expected to validate that :project cannot be empty/falsy3152 is expected to validate that :requirement_issue cannot be empty/falsy3153 is limited to a unique requirement_issue3154 scopes3155 .counts_by_state3156 is expected to contain exactly ["archived", 1] and ["opened", 1]3157 .with_author3158 with one author3159 is expected to contain exactly #<RequirementsManagement::Requirement id: 10, created_at: "2022-08-01 23:49:43.452098854 +0000", upda...itle: [FILTERED], title_html: "My title 244", description: nil, description_html: "", issue_id: 109>3160 with multiple authors3161 is expected to contain exactly #<RequirementsManagement::Requirement id: 10, created_at: "2022-08-01 23:49:43.452098854 +0000", upda...itle: [FILTERED], title_html: "My title 244", description: nil, description_html: "", issue_id: 109> and #<RequirementsManagement::Requirement id: 11, created_at: "2022-08-01 23:49:43.510665128 +0000", upda...itle: [FILTERED], title_html: "My title 245", description: nil, description_html: "", issue_id: 110>3162 .search3163 with a query that covers both3164 is expected to contain exactly #<RequirementsManagement::Requirement id: 12, created_at: "2022-08-01 23:49:43.904934562 +0000", upda...RED], title_html: "it needs to do the thing", description: nil, description_html: "", issue_id: 111> and #<RequirementsManagement::Requirement id: 13, created_at: "2022-08-01 23:49:44.114692343 +0000", upda...LTERED], title_html: "it needs to not break", description: nil, description_html: "", issue_id: 112>3165 with a query that covers neither3166 is expected to be empty3167 with a query that covers one3168 is expected to contain exactly #<RequirementsManagement::Requirement id: 12, created_at: "2022-08-01 23:49:43.904934562 +0000", upda...RED], title_html: "it needs to do the thing", description: nil, description_html: "", issue_id: 111>3169 .with_last_test_report_state3170 for passed state3171 is expected to contain exactly #<RequirementsManagement::Requirement id: 15, created_at: "2022-08-01 23:49:45.420090794 +0000", upda...itle: [FILTERED], title_html: "My title 247", description: nil, description_html: "", issue_id: 114> and #<RequirementsManagement::Requirement id: 16, created_at: "2022-08-01 23:49:46.038494607 +0000", upda...itle: [FILTERED], title_html: "My title 248", description: nil, description_html: "", issue_id: 115>3172 for failed state3173 is expected to contain exactly #<RequirementsManagement::Requirement id: 14, created_at: "2022-08-01 23:49:44.941508168 +0000", upda...itle: [FILTERED], title_html: "My title 246", description: nil, description_html: "", issue_id: 113>3174 .for_state3175 for opened state3176 is expected to contain exactly #<RequirementsManagement::Requirement id: 17, created_at: "2022-08-01 23:49:53.647558661 +0000", upda...itle: [FILTERED], title_html: "My title 249", description: nil, description_html: "", issue_id: 116>3177 for archived state3178 is expected to contain exactly #<RequirementsManagement::Requirement id: 18, created_at: "2022-08-01 23:49:54.194713601 +0000", upda...itle: [FILTERED], title_html: "My title 250", description: nil, description_html: "", issue_id: 117>3179 ordering3180 .order_created_desc3181 is expected to eq [#<RequirementsManagement::Requirement id: 21, created_at: "2022-07-28 23:49:55.536505308 +0000", upd...tle: [FILTERED], title_html: "My title 251", description: nil, description_html: "", issue_id: 118>]3182 .order_created_asc3183 is expected to eq [#<RequirementsManagement::Requirement id: 19, created_at: "2022-07-26 23:49:54.376358384 +0000", upd...tle: [FILTERED], title_html: "My title 253", description: nil, description_html: "", issue_id: 120>]3184 .order_updated_desc3185 is expected to eq [#<RequirementsManagement::Requirement id: 21, created_at: "2022-07-28 23:49:55.536505308 +0000", upd...tle: [FILTERED], title_html: "My title 251", description: nil, description_html: "", issue_id: 118>]3186 .order_updated_asc3187 is expected to eq [#<RequirementsManagement::Requirement id: 19, created_at: "2022-07-26 23:49:54.376358384 +0000", upd...tle: [FILTERED], title_html: "My title 253", description: nil, description_html: "", issue_id: 120>]3188 .without_test_reports3189 returns requirements without test reports3190 #last_test_report_state3191 when latest test report is passing3192 returns passing3193 when latest test report is failing3194 returns failing3195 when there are no test reports3196 returns nil3197 #status_manually_updated3198 when latest test report has a build3199 returns false3200 when latest test report does not have a build3201 returns true3202 sync with requirement issues3203 when destroying a requirement3204 also destroys the associated requirement issue3205 when destroying a requirement issue3206 also destroys the associated requirement3207 #state3208 when linked requirement issue is not present3209 returns nil3210 when linked requirement issue is present3211 returns requirement issue stored state3212 returns mapped value for state3213NotePolicy3214 #rules3215 for epics in a public group3216 with non-confidential notes3217 allows non members to read notes3218 allows guests only to read notes3219 allows reporters only to read notes3220 allows developers only to read notes3221 allows maintainers to read notes and admin them3222 allows noteable author to read notes3223 with confidential notes3224 does not allow guests to read confidential notes and replies3225 allows noteable author to read all notes3226 behaves like private notes3227 does not allow non members to read notes3228 allows reporter to read notes3229 allows developer to read notes3230 allows maintainers to read notes and admin them3231 for epics in a private group3232 does not allow guests to read notes3233 behaves like private notes3234 does not allow non members to read notes3235 allows reporter to read notes3236 allows developer to read notes3237 allows maintainers to read notes and admin them3238Gitlab::Ci::Minutes::CostFactor3239 .new3240 raises errors when initialized with a runner object3241 #enabled?3242 when the cost factor is zero3243 is expected to be falsey3244 when the cost factor is positive3245 is expected to be truthy3246 #disabled?3247 when the cost factor is zero3248 is expected to be truthy3249 when the cost factor is positive3250 is expected to be falsey3251 #for_project3252 runner_type: :project, visibility_level: 0, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: nil, instance_limit: 400, result: 03253 is expected to eq 03254 runner_type: :project, visibility_level: 10, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: nil, instance_limit: 400, result: 03255 is expected to eq 03256 runner_type: :project, visibility_level: 20, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: nil, instance_limit: 400, result: 03257 is expected to eq 03258 runner_type: :project, visibility_level: 20, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: 0, instance_limit: 0, result: 03259 is expected to eq 03260 runner_type: :project, visibility_level: 20, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: nil, instance_limit: nil, result: 03261 is expected to eq 03262 runner_type: :group, visibility_level: 0, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: nil, instance_limit: 400, result: 03263 is expected to eq 03264 runner_type: :group, visibility_level: 10, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: nil, instance_limit: 400, result: 03265 is expected to eq 03266 runner_type: :group, visibility_level: 20, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: nil, instance_limit: 400, result: 03267 is expected to eq 03268 runner_type: :group, visibility_level: 20, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: 0, instance_limit: 0, result: 03269 is expected to eq 03270 runner_type: :group, visibility_level: 20, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: nil, instance_limit: nil, result: 03271 is expected to eq 03272 runner_type: :instance, visibility_level: 20, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: 400, result: 03273 is expected to eq 03274 runner_type: :instance, visibility_level: 20, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: nil, result: 03275 is expected to eq 03276 runner_type: :instance, visibility_level: 20, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: 0, result: 03277 is expected to eq 03278 runner_type: :instance, visibility_level: 20, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: 0, instance_limit: 400, result: 03279 is expected to eq 03280 runner_type: :instance, visibility_level: 20, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: 400, instance_limit: 0, result: 03281 is expected to eq 03282 runner_type: :instance, visibility_level: 20, public_cost_factor: 2, private_cost_factor: 5, namespace_limit: 400, instance_limit: 0, result: 23283 is expected to eq 23284 runner_type: :instance, visibility_level: 20, public_cost_factor: 2, private_cost_factor: 5, namespace_limit: nil, instance_limit: 400, result: 23285 is expected to eq 23286 runner_type: :instance, visibility_level: 20, public_cost_factor: 2, private_cost_factor: 5, namespace_limit: nil, instance_limit: 0, result: 03287 is expected to eq 03288 runner_type: :instance, visibility_level: 10, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: 400, result: 53289 is expected to eq 53290 runner_type: :instance, visibility_level: 10, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: nil, result: 03291 is expected to eq 03292 runner_type: :instance, visibility_level: 10, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: 0, result: 03293 is expected to eq 03294 runner_type: :instance, visibility_level: 10, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: 0, instance_limit: 400, result: 03295 is expected to eq 03296 runner_type: :instance, visibility_level: 10, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: 400, instance_limit: 0, result: 53297 is expected to eq 53298 runner_type: :instance, visibility_level: 10, public_cost_factor: 0, private_cost_factor: 0, namespace_limit: 400, instance_limit: 0, result: 03299 is expected to eq 03300 runner_type: :instance, visibility_level: 0, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: 400, result: 53301 is expected to eq 53302 runner_type: :instance, visibility_level: 0, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: nil, result: 03303 is expected to eq 03304 runner_type: :instance, visibility_level: 0, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: 0, result: 03305 is expected to eq 03306 runner_type: :instance, visibility_level: 0, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: 0, instance_limit: 400, result: 03307 is expected to eq 03308 runner_type: :instance, visibility_level: 0, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: 400, instance_limit: 0, result: 53309 is expected to eq 53310 runner_type: :instance, visibility_level: 0, public_cost_factor: 0, private_cost_factor: 0, namespace_limit: 400, instance_limit: 0, result: 03311 is expected to eq 03312 plan based cost factor3313 when project has an Open Source plan3314 when runner cost factor is standard3315 returns a lower cost factor3316 when runner cost factor is custom3317 returns the runner cost factor3318 when project does not have an Open Source plan3319 when runner cost factor is standard3320 returns the runner cost factor3321 when runner cost factor is custom3322 returns the runner cost factor3323 #for_visibility3324 runner_type: :project, visibility_level: 0, public_cost_factor: 1, private_cost_factor: 1, result: 03325 is expected to eq 03326 runner_type: :project, visibility_level: 10, public_cost_factor: 1, private_cost_factor: 1, result: 03327 is expected to eq 03328 runner_type: :project, visibility_level: 20, public_cost_factor: 1, private_cost_factor: 1, result: 03329 is expected to eq 03330 runner_type: :group, visibility_level: 0, public_cost_factor: 1, private_cost_factor: 1, result: 03331 is expected to eq 03332 runner_type: :group, visibility_level: 10, public_cost_factor: 1, private_cost_factor: 1, result: 03333 is expected to eq 03334 runner_type: :group, visibility_level: 20, public_cost_factor: 1, private_cost_factor: 1, result: 03335 is expected to eq 03336 runner_type: :instance, visibility_level: 20, public_cost_factor: 1, private_cost_factor: 5, result: 13337 is expected to eq 13338 runner_type: :instance, visibility_level: 10, public_cost_factor: 1, private_cost_factor: 5, result: 53339 is expected to eq 53340 runner_type: :instance, visibility_level: 0, public_cost_factor: 1, private_cost_factor: 5, result: 53341 is expected to eq 53342 with invalid visibility level3343 raises an error3344AutoMerge::MergeTrainService3345 #execute3346 enables auto merge on the merge request3347 creates merge train3348 creates system note3349 returns result code3350 when failed to save the record3351 returns result code3352 when statement timeout happened on system note creation3353 returns failed status3354 rollback the transaction3355 tracks the exception3356 #process3357 calls RefreshWorker3358 when merge request is not on a merge train3359 does not call RefreshWorker3360 #cancel3361 cancels auto merge on the merge request3362 writes system note to the merge request3363 when pipeline exists3364 cancels the jobs in the pipeline3365 when train ref exists3366 deletes train ref3367 when train ref does not exist3368 does not raise an error3369 when the other merge request is following the merge request3370 processes the train by default3371 when the status is stale already3372 does not do anything3373 when statement timeout happened on system note creation3374 returns error3375 rollback the transaction3376 tracks the exception3377 #abort3378 aborts auto merge on the merge request3379 writes system note to the merge request3380 when the other merge request is following the merge request3381 processes the train3382 when process_next is false3383 does not process the next merge request on the train3384 when statement timeout happened on system note creation3385 returns error3386 rollback the transaction3387 tracks the exception3388 #available_for?3389 is expected to be truthy3390 memoizes the result3391 when merge trains flag is disabled3392 is expected to be falsy3393 when merge train ci setting is disabled3394 is expected to be falsy3395 when merge request is not mergeable3396 is expected to be falsy3397 when the user does not have permission to merge3398 is expected to be falsy3399 when the head pipeline of the merge request has not finished3400 is expected to be falsy3401ProductivityAnalytics3402 metrics data3403 #histogram_data3404 metric: "days_to_merge", expected_result: {3=>2, 14=>1, 30=>1}3405 calculates correctly3406 metric: "time_to_first_comment", expected_result: {0=>3, 24=>1}3407 calculates correctly3408 metric: "time_to_last_commit", expected_result: {312=>1, 696=>1, 48=>2}3409 calculates correctly3410 metric: "time_to_merge", expected_result: {24=>3, 0=>1}3411 calculates correctly3412 metric: "commits_count", expected_result: {1=>2, 5=>1, 20=>1}3413 calculates correctly3414 metric: "loc_per_commit", expected_result: {15=>1, 16=>1, 14=>1, 5=>1}3415 calculates correctly3416 metric: "files_touched", expected_result: {15=>1, 3=>2, 1=>1}3417 calculates correctly3418 metric: "something_invalid", expected_result: nil3419 calculates correctly3420 for multiple labeled mrs3421 returns aggregated data3422 #scatterplot_data3423 returns metric values for each MR3424 for multiple labeled mrs3425 properly returns MRs with metrics calculated3426 #merge_requests_extended3427 returns MRs data with all the metrics calculated3428 with custom sorting3429 reorders MRs according to custom sorting3430 with unknown sorting3431 sorts by id desc3432 for multiple labeled mrs3433 properly returns MRs with metrics calculated3434 .start_date3435 delegates to ApplicationSetting3436Geo::RepositoryVerification::Primary::ShardWorker3437 #perform3438 performs Geo::RepositoryVerification::Primary::SingleWorker for each project3439 performs Geo::RepositoryVerification::Primary::SingleWorker for verified projects updated recently3440 performs Geo::RepositoryVerification::Primary::SingleWorker for projects missing repository verification3441 performs Geo::RepositoryVerification::Primary::SingleWorker for projects missing wiki verification3442 performs Geo::RepositoryVerification::Primary::SingleWorker for projects where repository verification failed3443 performs Geo::RepositoryVerification::Primary::SingleWorker for projects where wiki verification failed3444 does not perform Geo::RepositoryVerification::Primary::SingleWorker when shard becomes unhealthy3445 does not perform Geo::RepositoryVerification::Primary::SingleWorker when not running on a primary3446 does not schedule jobs when number of scheduled jobs exceeds capacity3447 does not perform Geo::RepositoryVerification::Primary::SingleWorker for projects on unhealthy shards3448 shard worker scheduler3449 acquires lock namespacing it per shard name3450 reverification3451 feature geo_repository_reverification flag is enabled3452 performs Geo::RepositoryVerification::Primary::SingleWorker for projects where repository should be reverified3453 performs Geo::RepositoryVerification::Primary::SingleWorker for projects where wiki should be reverified3454 feature geo_repository_reverification flag is disabled3455 does not perform Geo::RepositoryVerification::Primary::SingleWorker for projects where repository should be reverified3456 does not Geo::RepositoryVerification::Primary::SingleWorker for projects where wiki should be reverified3457 backoff time3458 sets the back off time when there are no pending items3459 does not perform Geo::RepositoryVerification::Primary::SingleWorker when the backoff time is set3460 resource loading3461 handles multiple batches of projects needing verification3462 handles multiple batches of projects needing verification3463RequirementsManagement::UpdateRequirementService3464 #execute3465 when user can update requirements3466 updates the requirement with only permitted params3467 when updating title, description or state3468 does not call the Issues::UpdateService when requirement is invalid3469 if there is an associated requirement_issue3470 updates the synced requirement_issue with title and description3471 when updating title3472 updates requirement's issue title3473 behaves like keeps requirement and its requirement_issue in sync3474 keeps title and description in sync3475 when updating description3476 updates requirement's issue description3477 behaves like keeps requirement and its requirement_issue in sync3478 keeps title and description in sync3479 when updating state3480 to archived3481 closes issue3482 to opened3483 reopens issue3484 if update fails3485 behaves like does not persist any changes3486 does not update the requirement3487 does not update the requirement issue3488 behaves like keeps requirement and its requirement_issue in sync3489 keeps title and description in sync3490 if update of requirement succeeds but update of issue fails3491 adds an informative sync error to issue3492 behaves like keeps requirement and its requirement_issue in sync3493 keeps title and description in sync3494 behaves like does not persist any changes3495 does not update the requirement3496 does not update the requirement issue3497 when updating last test report state3498 as passing3499 creates passing test report with null build_id3500 as failed3501 creates failing test report with null build_id3502 when user cannot create test reports3503 does not create test report3504 when user is not allowed to update requirements3505 raises an exception3506Ci::Minutes::TrackLiveConsumptionService3507 #execute3508 when build is not running3509 behaves like returns early3510 returns an error response3511 when runner is not of instance type3512 behaves like returns early3513 returns an error response3514 when cost factor is not enabled for build3515 behaves like returns early3516 returns an error response3517 when namespace has unlimited minutes3518 behaves like returns early3519 returns an error response3520 when build has not been tracked recently3521 considers the current consumption as zero3522 when build has been tracked recently3523 behaves like limit not exceeded3524 does not drop the build3525 when current consumption exceeds the limit but not the grace period3526 behaves like limit not exceeded3527 does not drop the build3528 when current consumption exceeds the limit and the grace period3529 behaves like limit exceeded3530 drops the build3531 logs event3532 when namespace is on a trial hosted plan3533 behaves like limit exceeded3534 drops the build3535 logs event3536 when namespace is on a paid plan3537 behaves like limit exceeded3538 drops the build3539 logs event3540 #live_consumption3541 when build has not been tracked3542 is expected to be zero3543 when build has been tracked once3544 returns the consumption since last update3545 when build has been tracked multiple times3546 accumulates the consumption over different runs3547Dashboard::Operations::ListService3548 #execute3549 with added projects3550 returns a list of projects3551 has some project information3552 behaves like no deployment information3553 has no information3554 with `production` deployment3555 provides information about the `production` deployment3556 with alerts3557 provides information about alerts3558 behaves like avoiding N+1 queries3559 ensures a fixed amount of queries3560 with more projects3561 behaves like avoiding N+1 queries3562 ensures a fixed amount of queries3563 without any `production` deployments3564 behaves like no deployment information3565 has no information3566 without deployments3567 behaves like no deployment information3568 has no information3569 without added projects3570 behaves like no projects3571 returns an empty list3572 ensures only a single query3573VisibleApprovable3574 #overall_approvers3575 returns a list of all the project approvers3576 when exclude_code_owners is true3577 excludes code owners3578 when approvers are overwritten3579 returns the list of all the merge request level approvers3580 when author is an approver3581 excludes author if author cannot approve3582 includes author if author is able to approve3583 when a committer is an approver3584 excludes the committer if committers cannot approve3585 includes the committer if committers are able to approve3586 #authors_can_approve?3587 returns false when merge_requests_author_approval flag is off3588 returns true when merge_requests_author_approval flag is turned on3589Audit::GroupPushRulesChangesAuditor3590 auditing group-level changes3591 key: :commit_committer_check, old_value: false, new_value: true3592 audits the change in push rule correctly3593 key: :commit_committer_check, old_value: true, new_value: false3594 audits the change in push rule correctly3595 key: :reject_unsigned_commits, old_value: false, new_value: true3596 audits the change in push rule correctly3597 key: :reject_unsigned_commits, old_value: true, new_value: false3598 audits the change in push rule correctly3599 key: :deny_delete_tag, old_value: false, new_value: true3600 audits the change in push rule correctly3601 key: :deny_delete_tag, old_value: true, new_value: false3602 audits the change in push rule correctly3603 key: :member_check, old_value: false, new_value: true3604 audits the change in push rule correctly3605 key: :member_check, old_value: true, new_value: false3606 audits the change in push rule correctly3607 key: :prevent_secrets, old_value: false, new_value: true3608 audits the change in push rule correctly3609 key: :prevent_secrets, old_value: true, new_value: false3610 audits the change in push rule correctly3611 key: :branch_name_regex, old_value: nil, new_value: "\\Asecurity-.*\\z"3612 audits the change in push rule correctly3613 key: :branch_name_regex, old_value: ".*\\w{2}", new_value: "\\Asecurity-.*\\z"3614 audits the change in push rule correctly3615 key: :commit_message_regex, old_value: nil, new_value: "\\Asecurity-.*\\z"3616 audits the change in push rule correctly3617 key: :commit_message_regex, old_value: ".*\\w{2}", new_value: "\\Asecurity-.*\\z"3618 audits the change in push rule correctly3619 key: :commit_message_negative_regex, old_value: nil, new_value: "\\Asecurity-.*\\z"3620 audits the change in push rule correctly3621 key: :commit_message_negative_regex, old_value: ".*\\w{2}", new_value: "\\Asecurity-.*\\z"3622 audits the change in push rule correctly3623 key: :author_email_regex, old_value: nil, new_value: "\\Asecurity-.*\\z"3624 audits the change in push rule correctly3625 key: :author_email_regex, old_value: ".*\\w{2}", new_value: "\\Asecurity-.*\\z"3626 audits the change in push rule correctly3627 key: :file_name_regex, old_value: nil, new_value: "\\Asecurity-.*\\z"3628 audits the change in push rule correctly3629 key: :file_name_regex, old_value: ".*\\w{2}", new_value: "\\Asecurity-.*\\z"3630 audits the change in push rule correctly3631 key: :max_file_size, old_value: 0, new_value: 1323632 audits the change in push rule correctly3633 key: :max_file_size, old_value: 12, new_value: 423634 audits the change in push rule correctly3635Geo::VerificationState3636 for Model classes3637 when verification state is stored in the model table3638-- create_table(:_test_dummy_models, {:force=>true})3639 -> 0.0073s3640 state machine3641 when failed3642 and transitioning to pending3643 marks verification as pending3644 does not clear retry attributes3645 .verification_pending_batch3646 returns IDs of rows pending verification3647 marks verification as started3648 limits with batch_size and orders records by verified_at with NULLs first3649 other verification states3650 does not include them3651 .verification_failed_batch3652 with a failed record with retry due3653 returns IDs of rows pending verification3654 marks verification as started3655 limits with batch_size and orders records by verification_retry_at with NULLs first3656 other verification states3657 does not include them3658 when verification_retry_at is in the future3659 does not return the row3660 .needs_verification3661 includes verification_pending3662 includes verification_failed and verification_retry_due3663 excludes verification_failed with future verification_retry_at3664 .needs_reverification3665 includes verification_succeeded with expired checksum3666 excludes non-success verification states and fresh checksums3667 .reverify_batch3668 sets pending status to records with outdated verification3669 limits the update with batch_size3670 .fail_verification_timeouts3671 when verification has not timed out for a record3672 does not update verification state3673 when verification has timed out for a record3674 sets verification state to failed3675 #track_checksum_attempt!3676 yields to the checksum calculation3677 when verification was not yet started3678 starts verification3679 sets verification_succeeded3680 when verification was started3681 does not update verification_started_at3682 when an error occurs while yielding3683 when the record was failed3684 sets verification_failed and increments verification_retry_count3685 when the yielded block returns nil3686 when the record was pending3687 sets verification_failed and sets verification_retry_count to 13688 when the record was failed3689 sets verification_failed and increments verification_retry_count3690 #verification_succeeded_with_checksum!3691 when the resource was updated during checksum calculation3692 sets state to pending3693 when the resource was not updated during checksum calculation3694 saves the checksum3695 primary node3696 calls replicator.handle_after_checksum_succeeded3697 secondary node3698 does not call replicator.handle_after_checksum_succeeded3699 #verification_failed_with_message!3700 saves the error message and increments retry counter3701 #verification_started!3702 flips the state to started state3703-- drop_table(:_test_dummy_models, {:force=>true})3704 -> 0.0094s3705 when verification state is stored in a separate table3706-- create_table(:_test_dummy_model_with_separate_states, {:force=>true})3707 -> 0.0035s3708-- create_table(:_test_dummy_model_states, {:id=>false, :force=>true})3709 -> 0.0029s3710 .fail_verification_timeouts3711 sets verification state to failed3712 #verification_started!3713 flips the state to started state without reseting/reloading the original object (only state record)3714-- drop_table(:_test_dummy_model_with_separate_states, {:force=>true})3715 -> 0.0021s3716-- drop_table(:_test_dummy_model_states, {:force=>true})3717 -> 0.0014s3718 for registry classes3719 .fail_verification_timeouts3720 sets verification state to failed3721 .verification_not_disabled3722 returns available verifiables, excluding verification_disabled3723 #verification_started!3724 flips the state to started state3725Analytics::CycleAnalytics::AggregatorService3726 when invalid mode is given3727 raises error3728 when the group is not licensed3729 sets the aggregation record disabled3730 calls the DataLoaderService only once3731 when a subgroup is given3732 sets the aggregation record disabled3733 when the aggregation succeeds3734 when nothing to aggregate3735 updates the aggregation record with metadata3736 when the aggregation already contains metadata about the previous runs3737 updates the statistical columns3738 when merge requests and issues are present for the configured VSA stages3739 updates the aggregation record with record count and the last cursor3740 when running a full aggregation3741 when aggregation is not finished3742 persists the cursor attributes3743 when aggregation is finished during the second run3744 resets the cursor attributes so the aggregation starts from the beginning3745Issues::CreateFromVulnerabilityDataService#execute3746 when user does not have permission to create issue3747 returns expected error3748 when issues are disabled on project3749 returns expected error3750 when params are valid3751 when category is SAST3752 when a description is present3753 behaves like a created issue3754 creates the issue with the given params3755 when a description is NOT present3756 behaves like a created issue3757 creates the issue with the given params3758 when scan is NOT present but scanner is3759 behaves like a created issue3760 creates the issue with the given params3761 when category is dependency scanning3762 when a description is present3763 behaves like a created issue3764 creates the issue with the given params3765 when a description is NOT present3766 behaves like a created issue3767 creates the issue with the given params3768 when category is container scanning3769 when a description is present3770 behaves like a created issue3771 creates the issue with the given params3772 when a description is NOT present3773 behaves like a created issue3774 creates the issue with the given params3775 when category is DAST3776 behaves like a created issue3777 creates the issue with the given params3778 when params are invalid3779 when category is unknown3780 return expected error3781 when category is missing3782 return expected error3783Gitlab::Ci::Parsers::Security::Formatters::DependencyList3784 #format3785 with secure dependency3786 with top-level dependency3787 formats the dependency3788 with dependency path included3789 formats the dependency3790 without dependency path3791 formats the dependency3792 with vulnerable dependency3793 merge vulnerabilities data3794 packager3795 packager: "bundler", expected: "Ruby (Bundler)"3796 substitutes with right values3797 packager: "yarn", expected: "JavaScript (Yarn)"3798 substitutes with right values3799 packager: "npm", expected: "JavaScript (npm)"3800 substitutes with right values3801 packager: "pip", expected: "Python (pip)"3802 substitutes with right values3803 packager: "maven", expected: "Java (Maven)"3804 substitutes with right values3805 packager: "composer", expected: "PHP (Composer)"3806 substitutes with right values3807 packager: "conan", expected: "C/C++ (Conan)"3808 substitutes with right values3809 packager: "sbt", expected: "Scala (Sbt)"3810 substitutes with right values3811 packager: "nuget", expected: "C# (Nuget)"3812 substitutes with right values3813 packager: "go", expected: "Go (Go modules)"3814 substitutes with right values3815 packager: "gradle", expected: "Java (Gradle)"3816 substitutes with right values3817 packager: "pipenv", expected: "Python (Pipenv)"3818 substitutes with right values3819 packager: "setuptools", expected: "Python (Setuptools)"3820 substitutes with right values3821 packager: "", expected: ""3822 substitutes with right values3823Iterations::DeleteService3824 #execute3825 when iterations feature enabled3826 when user is authorized3827 when deleting a past iteration3828 behaves like successfully deletes an iteration3829 is expected to be success3830 deletes the iteration and associated records3831 returns the iteration group as part of the response3832 when deleting the current iteration3833 behaves like iteration delete fails with message3834 is expected to be error3835 returns not allowed message3836 returns the iteration group as part of the response3837 when deleting a upcoming iteration that is not the last one3838 behaves like iteration delete fails with message3839 is expected to be error3840 returns not allowed message3841 returns the iteration group as part of the response3842 when deleting the last upcoming iteration3843 behaves like successfully deletes an iteration3844 is expected to be success3845 deletes the iteration and associated records3846 returns the iteration group as part of the response3847 when deleting the current iteration in another cadence3848 behaves like successfully deletes an iteration3849 is expected to be success3850 deletes the iteration and associated records3851 returns the iteration group as part of the response3852 when user is not authorized3853 behaves like iteration delete fails with message3854 is expected to be error3855 returns not allowed message3856 returns the iteration group as part of the response3857 when iterations feature disabled3858 when user is authorized3859 behaves like iteration delete fails with message3860 is expected to be error3861 returns not allowed message3862 returns the iteration group as part of the response3863 when user is not authorized3864 behaves like iteration delete fails with message3865 is expected to be error3866 returns not allowed message3867 returns the iteration group as part of the response3868Security::Ingestion::Tasks::AttachFindingsToVulnerabilities3869 #execute3870 associates the findings with vulnerabilities for the new records3871Security::VulnerabilityCountingService#execute3872 The pipeline has security builds3873 All report types are requested3874 is expected to match (a hash including {"sast" => 5, "dast" => 20, "container_scanning" => 8, "dependency_scanning" => 4})3875 Only the report type dast is requested3876 is expected to eq {"dast"=>20}3877 The Pipeline has no security builds3878 is expected to match (a hash including {"sast" => 0, "dast" => 0, "container_scanning" => 0, "dependency_scanning" => 0})3879 performance3880 performs only one query3881Security::SecurityOrchestrationPolicies::PolicyCommitService3882 #execute3883 when service is used for project3884 behaves like commits policy to associated project3885 when policy_yaml is invalid3886 returns error3887 when defined branch is missing3888 returns error3889 when security_orchestration_policies_configuration does not exist for container3890 does not create new project3891 when policy already exists in policy project3892 append3893 does not create branch3894 replace3895 creates branch with updated policy3896 remove3897Skipping ./ee/spec/services/security/security_orchestration_policies/policy_commit_service_spec.rb[1:1:1:1:4:3:1] 'Security::SecurityOrchestrationPolicies::PolicyCommitService#execute when service is used for project behaves like commits policy to associated project when policy already exists in policy project remove creates branch with removed policy' because it's flaky.3898 creates branch with removed policy (PENDING: around hook at ./spec/support/flaky_tests.rb:21 did not execute the example)3899 with branch_name as parameter3900 returns error3901 with user as a member of security project3902 returns success3903 when service is used for namespace3904 behaves like commits policy to associated project3905 when policy_yaml is invalid3906 returns error3907 when defined branch is missing3908 returns error3909 when security_orchestration_policies_configuration does not exist for container3910 does not create new project3911 when policy already exists in policy project3912 append3913 does not create branch3914 replace3915 creates branch with updated policy3916 remove3917 creates branch with removed policy3918 with branch_name as parameter3919 returns error3920 with user as a member of security project3921 returns success3922PagesDeployment3923 #save_verification_details3924 when model_record is part of available_verifiables scope3925 creates verification details3926 .replicables_for_current_secondary3927 selective_sync_enabled: true, object_storage_sync_enabled: true, pages_object_storage_enabled: true, synced_pages: 53928 returns the proper number of pages deployments3929 selective_sync_enabled: true, object_storage_sync_enabled: true, pages_object_storage_enabled: false, synced_pages: 53930 returns the proper number of pages deployments3931 selective_sync_enabled: true, object_storage_sync_enabled: false, pages_object_storage_enabled: true, synced_pages: 03932 returns the proper number of pages deployments3933 selective_sync_enabled: true, object_storage_sync_enabled: false, pages_object_storage_enabled: false, synced_pages: 53934 returns the proper number of pages deployments3935 selective_sync_enabled: false, object_storage_sync_enabled: true, pages_object_storage_enabled: true, synced_pages: 103936 returns the proper number of pages deployments3937 selective_sync_enabled: false, object_storage_sync_enabled: true, pages_object_storage_enabled: false, synced_pages: 103938 returns the proper number of pages deployments3939 selective_sync_enabled: false, object_storage_sync_enabled: false, pages_object_storage_enabled: true, synced_pages: 03940 returns the proper number of pages deployments3941 selective_sync_enabled: false, object_storage_sync_enabled: false, pages_object_storage_enabled: false, synced_pages: 103942 returns the proper number of pages deployments3943ProtectedEnvironment::DeployAccessLevel3944 validations3945 is expected to validate that :access_level cannot be empty/falsy3946 is expected to validate that :group_inheritance_type is either ‹0› or ‹1›3947 behaves like authorizable for protected environments3948 associations3949 is expected to belong to protected_environment required: false3950 is expected to belong to user required: false3951 is expected to belong to group required: false3952 validations3953 is expected to validate that :access_level is either ‹20›, ‹30›, or ‹40›3954 #check_access3955 anonymous access3956 is expected to be falsy3957 admin access3958 when admin user does have specific access3959 is expected to be truthy3960 when admin user does not have specific access3961 is expected to be truthy3962 user access3963 when specific access has been assigned to a user3964 is expected to be truthy3965 when no permissions have been given to a user3966 is expected to be falsy3967 group access3968 when specific access has been assigned to a group3969 is expected to be truthy3970 when no permissions have been given to a group3971 is expected to be falsy3972 when there is an inherited member of a group3973 when group inheritance type is direct3974 is expected to be falsey3975 when group inheritance type is all inheritance3976 is expected to be truthy3977 access level3978 with a permitted access level3979 when user is project member above the permitted access level3980 is expected to be truthy3981 when user is project member below the permitted access level3982 is expected to be falsy3983 when the access level is not permitted3984 does not save the record3985 #humanize3986 when is related to a user3987 is expected to eq "Sidney Jones2984"3988 when is related to a group3989 is expected to eq "group508"3990 when is set to have a role3991 for developer access3992 is expected to eq "Developers + Maintainers"3993 for maintainer access3994 is expected to eq "Maintainers"3995 #type3996 with role type3997 is expected to eq :role3998 with user type3999 is expected to eq :user4000 with group type4001 is expected to eq :group4002 #role?4003 with role type4004 is expected to eq true4005 with user type4006 is expected to eq false4007Gitlab::SubscriptionPortal::Clients::Rest4008 #generate_trial4009 nests in the trial_user param if needed4010 behaves like when response is successful4011 has a successful status4012 behaves like when response code is 4224013 has a unprocessable entity status4014 behaves like when response code is 5004015 has a server error status4016 behaves like when http call raises an exception4017 overrides the error message4018 #generate_lead4019 behaves like when response is successful4020 has a successful status4021 behaves like when response code is 4224022 has a unprocessable entity status4023 behaves like when response code is 5004024 has a server error status4025 behaves like when http call raises an exception4026 overrides the error message4027 #extend_reactivate_trial4028 behaves like when response is successful4029 has a successful status4030 behaves like when response code is 4224031 has a unprocessable entity status4032 behaves like when response code is 5004033 has a server error status4034 behaves like when http call raises an exception4035 overrides the error message4036 #create_subscription4037 behaves like when response is successful4038 has a successful status4039 behaves like when response code is 4224040 has a unprocessable entity status4041 behaves like when response code is 5004042 has a server error status4043 behaves like when http call raises an exception4044 overrides the error message4045 #create_customer4046 behaves like when response is successful4047 has a successful status4048 behaves like when response code is 4224049 has a unprocessable entity status4050 behaves like when response code is 5004051 has a server error status4052 behaves like when http call raises an exception4053 overrides the error message4054 #payment_form_params4055 behaves like when response is successful4056 has a successful status4057 behaves like when response code is 4224058 has a unprocessable entity status4059 behaves like when response code is 5004060 has a server error status4061 behaves like when http call raises an exception4062 overrides the error message4063 #payment_method4064 behaves like when response is successful4065 has a successful status4066 behaves like when response code is 4224067 has a unprocessable entity status4068 behaves like when response code is 5004069 has a server error status4070 behaves like when http call raises an exception4071 overrides the error message4072 #validate_payment_method4073 behaves like when response is successful4074 has a successful status4075 behaves like when response code is 4224076 has a unprocessable entity status4077 behaves like when response code is 5004078 has a server error status4079 behaves like when http call raises an exception4080 overrides the error message4081 #customers_oauth_app_uid4082 behaves like when response is successful4083 has a successful status4084 behaves like when response code is 4224085 has a unprocessable entity status4086 behaves like when response code is 5004087 has a server error status4088 behaves like when http call raises an exception4089 overrides the error message4090Security::MergeReportsService#execute4091 ordering reports for dependency scanning analyzers4092 when reports are gathered in an unprioritized order4093 is expected to eql #<Gitlab::Ci::Reports::Security::Scanner:0x00007f28026929a0 @external_id="bundler_audit", @name="bund...dor", @version="1.0.0", @sort_keys=[1, "bundler_audit", "bundler-audit", "Security Scanner Vendor"]>, #<Gitlab::Ci::Reports::Security::Scanner:0x00007f2840159ea0 @external_id="retire.js", @name="Retire.j...nner Vendor", @version="1.0.0", @sort_keys=[2, "retire.js", "Retire.js", "Security Scanner Vendor"]>, and #<Gitlab::Ci::Reports::Security::Scanner:0x00007f28236b0ba0 @external_id="gemnasium", @name="gemnasiu...nner Vendor", @version="1.0.0", @sort_keys=[3, "gemnasium", "gemnasium", "Security Scanner Vendor"]>4094 is expected to eq 24095 is expected to contain exactly #<Gitlab::Ci::Reports::Security::Identifier:0x00007f281f6b9e70 @external_id="CVE-2019-123", @external...="cve", @name="cve-CVE-2019-123", @url=nil, @fingerprint="6d834ff5767ac7544bef36b0e9996a9a3d6da5f1">4096 is expected to contain exactly #<Gitlab::Ci::Reports::Security::Identifier:0x00007f281b9e07b0 @external_id="NPM-13", @external_type="npm", @name="npm-NPM-13", @url=nil, @fingerprint="ca12d3bf327f69eb5ccc69dc5c164630b1f4fd36">4097 when a custom analyzer is completed before the known analyzers4098 is expected to eql #<Gitlab::Ci::Reports::Security::Scanner:0x00007f284e5ece28 @external_id="bundler_audit", @name="bund...dor", @version="1.0.0", @sort_keys=[1, "bundler_audit", "bundler-audit", "Security Scanner Vendor"]>, #<Gitlab::Ci::Reports::Security::Scanner:0x00007f28225064b8 @external_id="retire.js", @name="Retire.j...nner Vendor", @version="1.0.0", @sort_keys=[2, "retire.js", "Retire.js", "Security Scanner Vendor"]>, and #<Gitlab::Ci::Reports::Security::Scanner:0x00007f28324f4988 @external_id="scanner-2", @name="Scanner ...ndor", @version="1.0.0", @sort_keys=[Infinity, "scanner-2", "Scanner 2", "Security Scanner Vendor"]>4099 is expected to eq 34100 is expected to contain exactly #<Gitlab::Ci::Reports::Security::Identifier:0x00007f281e82a968 @external_id="VULN-2", @external_type=...ner-2", @name="scanner-2-VULN-2", @url=nil, @fingerprint="8e683704c05c3d223f7572623a39cdf39ecc5f15"> and #<Gitlab::Ci::Reports::Security::Identifier:0x00007f281e807968 @external_id="CVE-2019-456", @external...="cve", @name="cve-CVE-2019-456", @url=nil, @fingerprint="47c8c718e4355e29c0b8e87fd62c2c7da65911dd">4101 merging reports step by step4102 keeps the finding from `retirejs` as it has higher priority4103Mutations::Dast::Profiles::Create4104 is expected to require graphql authorizations :create_on_demand_dast_scan4105 #resolve4106 when the feature is licensed4107 when the user can run a dast scan4108 returns the dast_profile4109 returns the dast_profile_schedule4110 when run_after_create=true4111 behaves like it checks branch permissions before creating a DAST on-demand scan pipeline4112 when the user does not have access to the branch4113 communicates failure4114 behaves like it creates a DAST on-demand scan pipeline4115 creates a new ci_pipeline for the given project4116 creates a single build associated with the ci_pipeline4117 creates an association between the dast_profile and the ci_pipeline4118 returns the pipeline_url4119 behaves like it delegates scan creation to another service4120 calls AppSec::Dast::Scans::CreateService4121Iterations::Cadences::UpdateService4122 #execute4123 when iterations feature enabled4124 when user is authorized4125 is expected to be success4126 updates cadence values4127 returns the cadence as part of the response4128 when provided invalid params4129 behaves like cadence update fails with message4130 is expected to be error4131 returns not allowed message4132 does not update cadence values4133 when user is not authorized4134 behaves like cadence update fails with message4135 is expected to be error4136 returns not allowed message4137 does not update cadence values4138 when iterations feature disabled4139 when user is authorized4140 behaves like cadence update fails with message4141 is expected to be error4142 returns not allowed message4143 does not update cadence values4144 when user is not authorized4145 behaves like cadence update fails with message4146 is expected to be error4147 returns not allowed message4148 does not update cadence values4149 when iteration cadences feature flag disabled4150 when user is authorized4151 behaves like cadence update fails with message4152 is expected to be error4153 returns not allowed message4154 does not update cadence values4155 when user is not authorized4156 behaves like cadence update fails with message4157 is expected to be error4158 returns not allowed message4159 does not update cadence values4160Mutations::Issues::Create4161 is expected to require graphql authorizations :create_issue4162 #resolve4163 when user can create issues4164 creates issue with correct EE values4165 when iterations are available4166 when iteration_id is provided4167 is successful, and assigns the current iteration to the issue4168 when iteration_wildcard_id is provided4169 raises a mutually exclusive argument error4170 when iteration cadences feature flag is disabled4171 is successful, and assigns the current iteration to the issue4172 when iteration_wildcard_id is CURRENT4173 when iteration_cadence_id is provided4174 is successful, and assigns the current iteration to the issue4175 when iteration_cadence_id is not provided4176 always requires iteration cadence id when wildcard is provided4177 when iterations are not available4178 when iteration_wildcard_id is provided4179 is successful, but it does not add the iteration4180 when iteration_id is provided4181 is successful, but it does not add the iteration4182 when the epic_id parameter is passed4183 epics are available4184 is successful, and assigns the issue to the epic4185 the project is not in a group4186 is successful, but it does not add the epic4187 epics are unavailable4188 is unsuccessful4189 does not create an issue4190Resolvers::DoraMetricsResolver4191 when the user is querying for project-level metrics4192 behaves like dora metrics4193 #resolve4194 when the current users does not have access to query DORA metrics4195 returns no metrics4196 when DORA metrics are not licensed4197 returns no metrics4198 with metric: "deployment_frequency"4199 returns metrics from production for the last 3 months from the production environment, grouped by day4200 with interval: "daily"4201 returns the metrics grouped by day (the default)4202 with interval: "monthly"4203 returns the metrics grouped by month4204 with interval: "all"4205 returns the metrics grouped into a single bucket with a nil date4206 with a start_date4207 returns metrics for data on or after the provided date4208 with an end_date4209 returns metrics for data on or before the provided date4210 with both a start_date and an end_date4211 returns metrics between the provided dates (inclusive)4212 when the requested date range is too large4213 generates an error4214 when the start date equal to or later than the end date4215 generates an error4216 with no metric parameter4217 raises an error4218 with metric: "lead_time_for_changes"4219 returns lead time metrics4220 with interval: "all"4221 returns the metrics grouped into a single bucket with a nil date4222 with multiple environment_tiers4223 returns metrics for all environments combined4224 backwards compatibility for environment_tier4225 returns metrics for the staging environment4226 when the user is querying for group-level metrics4227 behaves like dora metrics4228 #resolve4229 when the current users does not have access to query DORA metrics4230 returns no metrics4231 when DORA metrics are not licensed4232 returns no metrics4233 with metric: "deployment_frequency"4234 returns metrics from production for the last 3 months from the production environment, grouped by day4235 with interval: "daily"4236 returns the metrics grouped by day (the default)4237 with interval: "monthly"4238 returns the metrics grouped by month4239 with interval: "all"4240 returns the metrics grouped into a single bucket with a nil date4241 with a start_date4242 returns metrics for data on or after the provided date4243 with an end_date4244 returns metrics for data on or before the provided date4245 with both a start_date and an end_date4246 returns metrics between the provided dates (inclusive)4247 when the requested date range is too large4248 generates an error4249 when the start date equal to or later than the end date4250 generates an error4251 with no metric parameter4252 raises an error4253 with metric: "lead_time_for_changes"4254 returns lead time metrics4255 with interval: "all"4256 returns the metrics grouped into a single bucket with a nil date4257 with multiple environment_tiers4258 returns metrics for all environments combined4259 backwards compatibility for environment_tier4260 returns metrics for the staging environment4261Vulnerabilities::Findings::CreateFromSecurityFindingService#execute4262 when security finding not found4263 returns an error4264 when there is an existing vulnerability and vulnerability finding for the security finding4265 returns the existing Vulnerability::Finding with the existing vulnerability id4266 when there is no vulnerability for the security finding4267 creates a new Vulnerability::Finding without Vulnerability4268 when there is an error saving the security finding4269 returns an error4270 when the report finding has signatures4271 associates the signatures4272 behaves like create vulnerability finding4273 creates a new vulnerability finding4274 when the report finding has evidences4275 associates the signatures4276 behaves like create vulnerability finding4277 creates a new vulnerability finding4278 when there is no report finding for the security finding4279 returns an error4280 when sast_fp_reduction feature is available4281 associates the vulnerabilities flags4282 behaves like create vulnerability finding4283 creates a new vulnerability finding4284Boards::EpicList4285 behaves like boards listable model4286 associations4287 is expected to validate that :position cannot be empty/falsy4288 is expected to validate that :position looks like an integer greater than or equal to 04289 when list_type is set to closed4290 is expected not to validate that :label cannot be empty/falsy4291 is expected not to validate that :position cannot be empty/falsy4292 scopes4293 .ordered4294 returns lists ordered by type and position4295 .without_types4296 excludes lists of given types4297 #destroyable?4298 returns true when list_type is set to label4299 returns false when list_type is set to closed4300 #movable?4301 returns true when list_type is set to label4302 returns false when list_type is set to closed4303 #title4304 returns label name when list_type is set to label4305 returns Open when list_type is set to backlog4306 returns Closed when list_type is set to closed4307 #destroy4308 can be destroyed when list_type is set to label4309 can not be destroyed when list_type is set to closed4310 behaves like list_preferences_for user4311 #preferences_for4312 when user is nil4313 returns not persisted preferences4314 when a user preference already exists4315 loads preference for user4316 when preferences for user does not exist4317 returns not persisted preferences4318 #update_preferences_for4319 when user is present4320 when there are no preferences for user4321 creates new user preferences4322 when there are preferences for user4323 updates user preferences4324 when user is nil4325 does not create user preferences4326 associations4327 is expected to belong to epic_board required: true inverse_of => epic_lists4328 is expected to belong to label required: false inverse_of => epic_lists4329 is expected to have many epic_list_user_preferences inverse_of => epic_list4330 is expected to validate that :label_id is case-sensitively unique within the scope of :epic_board_id4331 validations4332 is expected to validate that :label cannot be empty/falsy4333Vulnerabilities::FindingDismissService4334 with an authorized user with proper permissions4335 when comment is added4336 dismisses a finding with comment4337 when the dismissal_reason is added4338 dismisses a finding4339 when Vulnerabilities::Feedback creation fails4340 returns the error4341 when security dashboard feature is disabled4342 raises an "access denied" error4343Geo::ContainerRepositorySyncDispatchWorker4344 does not schedule anything when tracking database is not configured4345 does not schedule anything when node is disabled4346 does not schedule anything when registry replication is disabled4347 performs Geo::ContainerRepositorySyncWorker4348 performs Geo::ContainerRepositorySyncWorker for failed syncs4349 does not perform Geo::ContainerRepositorySyncWorker for synced repositories4350 with a failed sync4351 does not stall backfill4352 does not retry failed files when retry_at is tomorrow4353 retries failed files when retry_at is in the past4354EE::API::Entities::BillableMember4355 returns the last_activity_on attribute4356 exposes the created_at field4357 exposes the is_last_owner field4358 when the user has a public_email assigned4359 exposes public_email instead of email4360 membership_state4361 key: :group_member_user_ids, result: "active"4362 is expected to eq "active"4363 key: :project_member_user_ids, result: "active"4364 is expected to eq "active"4365 key: :shared_group_user_ids, result: "active"4366 is expected to eq "active"4367 key: :shared_project_user_ids, result: "active"4368 is expected to eq "active"4369 key: :awaiting_user_ids, result: "awaiting"4370 is expected to eq "awaiting"4371 with multiple states4372 returns the expected membership status4373 when the user has no public_email assigned4374 returns a nil value for email4375 with different group membership types4376 user_ids: :group_member_user_ids, membership_type: "group_member", removable: true4377 returns the expected membership_type value4378 returns the expected removable value4379 user_ids: :project_member_user_ids, membership_type: "project_member", removable: true4380 returns the expected membership_type value4381 returns the expected removable value4382 user_ids: :shared_group_user_ids, membership_type: "group_invite", removable: false4383 returns the expected membership_type value4384 returns the expected removable value4385 user_ids: :shared_project_user_ids, membership_type: "project_invite", removable: false4386 returns the expected membership_type value4387 returns the expected removable value4388 user_ids: :awaiting_user_ids, membership_type: nil, removable: true4389 returns the expected membership_type value4390 returns the expected removable value4391 with a missing membership type4392 does not raise an error4393Deployment4394 is expected to have many approvals4395 is expected to delegate #needs_approval? to the #environment object4396 state machine4397 when deployment succeeded4398 schedules Dora::DailyMetrics::RefreshWorker4399 #pending_approval_count4400 when Protected Environments feature is available4401 with no approvals4402 returns the number of approvals required by the environment4403 with some approvals4404 returns the number of pending approvals4405 with all approvals satisfied4406 returns zero4407 with a deployment that is not blocked4408 returns zero4409 loading approval count4410 does not perform an extra query when approvals are loaded4411 when Protected Environments feature is not available4412 returns zero4413IncidentManagement::EscalationPolicy4414 is expected to be valid4415 associations4416 is expected to belong to project required: false4417 is expected to have many rules4418 is expected to have many active_rules class_name => EscalationRule order => {:elapsed_time_seconds=>:asc, :status=>:asc} inverse_of => policy4419 .active_rules4420 is expected to contain exactly #<IncidentManagement::EscalationRule id: 1, policy_id: 1, oncall_schedule_id: 1, status: "acknowledged", elapsed_time_seconds: 300, is_removed: false, user_id: nil>4421 validations4422 is expected to validate that :name cannot be empty/falsy4423 is expected to validate that :project_id is case-sensitively unique, producing a custom validation error on failure4424 is expected to validate that :name is case-sensitively unique within the scope of :project_id4425 is expected to validate that the length of :name is at most 724426 is expected to validate that the length of :description is at most 1604427 delegations4428 is expected to delegate #project_name to the #project object as #name4429 scopes4430 .for_project4431 is expected to contain exactly #<IncidentManagement::EscalationPolicy id: 4, project_id: 927, name: "EscalationPolicy 12", description: [FILTERED]>4432 .search_by_name4433 does a case-insenstive search4434 #hook_attrs4435 is expected to eq {:id=>nil, :name=>"EscalationPolicy 13"}4436 #find_by_name4437 with valid name4438 is expected to eq #<IncidentManagement::EscalationPolicy id: 6, project_id: 929, name: "Other Policy Name", description: [FILTERED]>4439 with name as nil4440 is expected to be nil4441MergeRequestPollWidgetEntity4442 Merge Trains4443 has merge train entity4444 when the merge train feature is disabled4445 does not have merge trains count4446 when the merge request is not on a merge train4447 does not have merge train index4448Sidebars::Projects::Menus::SecurityComplianceMenu4449 #link4450 show_discover_project_security: true, security_dashboard_feature: true, dependency_scanning_feature: true, audit_events_feature: true, expected_link: "/-/security/discover"4451 returns the expected link4452 show_discover_project_security: false, security_dashboard_feature: true, dependency_scanning_feature: true, audit_events_feature: true, expected_link: "/-/security/dashboard"4453 returns the expected link4454 show_discover_project_security: false, security_dashboard_feature: false, dependency_scanning_feature: true, audit_events_feature: true, expected_link: "/-/dependencies"4455 returns the expected link4456 show_discover_project_security: false, security_dashboard_feature: false, dependency_scanning_feature: false, audit_events_feature: true, expected_link: "/-/audit_events"4457 returns the expected link4458 show_discover_project_security: false, security_dashboard_feature: false, dependency_scanning_feature: false, audit_events_feature: false, expected_link: "/-/security/configuration"4459 returns the expected link4460 when no security menu item and show promotions4461 returns nil4462 Menu items4463 Configuration4464 #sidebar_security_configuration_paths4465 includes all the security configuration paths4466 Discover Security & Compliance4467 when show_discover_project_security is true4468 is expected not to be nil4469 when show_discover_project_security is not true4470 is expected to be nil4471 Security Dashboard4472 when user can access security dashboard4473 is expected not to be nil4474 when user cannot access security dashboard4475 is expected to be nil4476 Vulnerability Report4477 when user can access vulnerabilities report4478 is expected not to be nil4479 when user cannot access vulnerabilities report4480 is expected to be nil4481 On Demand Scans4482 when user can access vulnerabilities report4483 is expected not to be nil4484 when user cannot access vulnerabilities report4485 is expected to be nil4486 Dependency List4487 when user can access dependency list4488 is expected not to be nil4489 when user cannot access dependency list4490 is expected to be nil4491 License Compliance4492 when user can access license compliance4493 is expected not to be nil4494 when user cannot access license compliance4495 is expected to be nil4496 Policies4497 when user can access policies tab4498 is expected not to be nil4499 when user cannot access policies tab4500 is expected to be nil4501 Audit Events4502 when user can access audit events4503 is expected not to be nil4504 when feature audit events is licensed4505 is expected not to be nil4506 when feature audit events is not licensed4507 when show promotions is enabled4508 is expected not to be nil4509 when show promotions is disabled4510 is expected to be nil4511 when user cannot access audit events4512 is expected to be nil4513Boards::BoardsFinder4514 behaves like multiple boards list service4515 #execute4516 returns all issue boards4517 returns boards ordered by name4518 when wanting a specific board4519 returns board specified by id4520 raises exception when board is not found4521 behaves like multiple boards list service4522 returns the first issue board when multiple issue boards is disabled4523 #execute4524 returns all issue boards4525 returns boards ordered by name4526 when wanting a specific board4527 returns board specified by id4528 raises exception when board is not found4529Gitlab::CodeOwners::Entry4530 is uniq by the pattern and owner line4531 #users4532 raises an error if no users have been added4533 returns the users in an array4534 #all_users4535 raises an error if users have not been loaded for groups4536 returns users and users from groups4537 #groups4538 raises an error if no groups have been added4539 returns mentioned groups4540 #add_matching_groups_from4541 returns only mentioned groups, case-insensitively4542 #add_matching_users_from4543 does not add the same user twice4544 raises an error when adding a user without emails preloaded4545 only adds users mentioned in the owner line4546 adds users by username, case-insensitively4547 adds users by primary email, case-insensitively4548 adding users by secondary email, case-insensitively4549 finds both users when the email address is confirmed/verified4550 finds only the first user when the email address for the second is unconfirmed/unverified4551ElasticRemoveExpiredNamespaceSubscriptionsFromIndexCronWorker4552 behaves like an idempotent worker4553 is labeled as idempotent4554 performs multiple times sequentially without raising an exception4555 finds the subscriptions that expired over a week ago that are in the index and deletes them4556 when not com?4557 does nothing4558 when the exclusive lease is already locked4559 does nothing4560NotesFinder4561 #target4562 returns an epic4563 fails if group id is missing4564 #execute4565 when using target id and type of epics4566 returns the expected notes4567 fails if group id is missing4568 when using an explicit epic target4569 returns the expected notes4570Security::Ingestion::Tasks::IngestFindingIdentifiers4571 #execute4572 associates findings with the identifiers4573 behaves like bulk insertable task4574 when the validation fails4575 can generate error messages correctly4576EE::API::Entities::DeploymentExtended4577 #as_json4578 includes fields from deployment entity4579 includes pending_approval_count4580 includes approvals4581 includes approval summary4582PersonalAccessTokens::RotationVerifierService4583 #expired?4584 when no new token was created after notification for expired token started4585 behaves like rotation required4586 is expected to equal true4587 cache4588 behaves like stores in cache4589 is expected to eq true4590 when token was created after notification for expired token started4591 behaves like rotation NOT required4592 is expected to equal false4593 cache4594 behaves like stores in cache4595 is expected to eq false4596 with multiple expired tokens4597 when no new token was created after notification for expired token started4598 behaves like rotation required4599 is expected to equal true4600 when new token was created after notification for ONLY first expired token started4601 behaves like rotation required4602 is expected to equal true4603 when new token was created after notification for most recent expired token started4604 behaves like rotation NOT required4605 is expected to equal false4606 For user with no PATs4607 behaves like rotation NOT required4608 is expected to equal false4609 #expiring_soon?4610 when no new token was created after notification for recent expiring token started4611 behaves like rotation required4612 is expected to equal true4613 cache4614 behaves like stores in cache4615 is expected to eq true4616 when token was created after notification for recent expiring token started4617 behaves like rotation NOT required4618 is expected to equal false4619 cache4620 behaves like stores in cache4621 is expected to eq false4622 with multiple expiring tokens4623 when no new token was created after notification for expiring token started4624 behaves like rotation required4625 is expected to equal true4626 when new token was created after notification for ONLY first expiring token started4627 behaves like rotation required4628 is expected to equal true4629 when new token was created after notification for most recent expiring token started4630 behaves like rotation NOT required4631 is expected to equal false4632 For user with no PATs4633 behaves like rotation NOT required4634 is expected to equal false4635 #clear_cache4636 clears cache4637VulnerabilityExports::CreateService4638 #execute4639 when security dashboard feature is disabled4640 raises an "access denied" error4641 when security dashboard feature is enabled4642 does not raise an "access denied" error4643 creates new Vulnerabilities::Export4644 schedules ::VulnerabilityExports::ExportWorker background job4645 returns new Vulnerabilities::Export with project and format assigned4646Gitlab::Analytics::CycleAnalytics::StageEvents::MergeRequestClosed4647 behaves like value stream analytics event4648 is expected to be a kind of String4649 is expected to be a kind of Symbol4650 is expected to include ApplicationRecord(abstract)4651 is expected to respond to #timestamp_projection4652 is expected to respond to #html_description4653 is expected to be a kind of Array4654 #apply_query_customization4655 expects an ActiveRecord::Relation object as argument and returns a modified version of it4656 #hash_code4657 returns a hash that uniquely identifies an event4658 does not differ when the same object is built with the same params4659 behaves like LEFT JOIN-able value stream analytics event4660 can use the event as LEFT JOIN4661 when looking at the record with data4662 contains the timestamp expression4663 when looking at the record without data4664 returns nil for the timestamp expression4665DastScannerProfilePolicy4666 behaves like a dast on-demand scan policy4667 dast on-demand policies4668 when a user does not have access to the project4669 is expected to be disallowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4670 when the user is a guest4671 is expected to be disallowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4672 when the user is a reporter4673 is expected to be disallowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4674 when the user is a developer4675 is expected to be allowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4676 when the user is a maintainer4677 is expected to be allowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4678 when the user is an owner4679 is expected to be allowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4680 when the user is allowed4681 when on demand scan licensed feature is not available4682 is expected to be disallowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4683Ci::DailyBuildGroupReportResultsFinder4684 #execute4685 with permissions4686 when sort is true4687 returns coverages belonging to the group4688 with a limit below 10004689 uses the provided limit4690 with a limit above 10004691 returns MAX_ITEMS as a limit4692 without a limit4693 returns MAX_ITEMS as a limit4694 with group_activity4695 returns the group activity aggregated data4696 without permmissions4697 returns an empty result4698EE::Gitlab::Ci::Pipeline::Quota::JobActivity4699 #enabled?4700 when limit is enabled in plan4701 is enabled4702 when limit is not enabled4703 is not enabled4704 when limit does not exist4705 is not enabled4706 #exceeded?4707 when pipelines created recently4708 and pipelines are running4709 when count of jobs in alive pipelines is below the limit4710 is not exceeded4711 when count of jobs in alive pipelines is above the limit4712 is exceeded4713 and pipelines are completed4714 is not exceeded4715 when pipelines are older than 24 hours4716 is not exceeded4717 #message4718 when limit is exceeded4719 returns info about pipeline activity limit exceeded4720Mutations::IncidentManagement::IssuableResourceLink::Create4721 is expected to require graphql authorizations :admin_issuable_resource_link4722 #resolve4723 when a user has permissions to create a resource link4724 when IssuableResourceLink::CreateService responds with success4725 adds issuable resource link to database4726 adds associated resource link with incident4727 when IssuableResourceLink::CreateService responds with an error4728 returns error4729 when incorrect link is passed4730 returns error4731 when incorrect link type is passed4732 raises an error4733 when issue type is not incident4734 raises an error4735 when feature flag is disabled4736 raises an error4737 when a user has no permissions to create issuable resource link4738 raises an error4739 when issuable resource link feature is not avaiable4740 raises an error4741Sbom::Occurrence4742 associations4743 is expected to belong to component required: true4744 is expected to belong to component_version required: false4745 is expected to belong to project required: true4746 is expected to belong to pipeline required: false4747 is expected to belong to source required: false4748 loose foreign key on sbom_occurrences.pipeline_id4749 behaves like cleanup by a loose foreign key4750 cleans up (delete or nullify) the model4751 validations4752 is expected to validate that :commit_sha cannot be empty/falsy4753 #component_version_belongs_to_component4754 when component_version belongs to the same component4755 is expected to be valid4756 when component_version is null4757 is expected to be valid4758 when component_version belongs to a different component4759 does not validate4760search/_category4761 feature flags4762 feature_flag: :global_search_code_tab, tab_name: "Code"4763 global search4764 shows the tab if FF is enabled4765 hides the tab if FF is disabled4766 group search4767 shows the tab even if FF is disabled for group search4768 feature_flag: :global_search_issues_tab, tab_name: "Issues"4769 global search4770 shows the tab if FF is enabled4771 hides the tab if FF is disabled4772 group search4773 shows the tab even if FF is disabled for group search4774 feature_flag: :global_search_merge_requests_tab, tab_name: "Merge requests"4775 global search4776 shows the tab if FF is enabled4777 hides the tab if FF is disabled4778 group search4779 shows the tab even if FF is disabled for group search4780 feature_flag: :global_search_wiki_tab, tab_name: "Wiki"4781 global search4782 shows the tab if FF is enabled4783 hides the tab if FF is disabled4784 group search4785 shows the tab even if FF is disabled for group search4786 feature_flag: :global_search_commits_tab, tab_name: "Commits"4787 global search4788 shows the tab if FF is enabled4789 hides the tab if FF is disabled4790 group search4791 shows the tab even if FF is disabled for group search4792projects/security/dast_profiles/show4793 renders Vue app root4794 passes new dast site profile path4795 passes new dast scanner profile path4796 passes project's full path4797AuditEvents::ExportCsvService4798 includes the appropriate headers4799 data verification4800 ID4801 Author ID4802 Author Name4803 Entity ID4804 Entity Type4805 Entity Path4806 Target ID4807 Target Type4808 Target Details4809 Action4810 IP Address4811 Created At (UTC)4812EE::Gitlab::Scim::ParamsParser4813 #filter_params4814 returns the correct filter attributes4815 returns an empty hash for the wrong filter4816 #filter_operator4817 returns the operator as a symbol4818 returns nil if the filter is invalid4819 #update_params4820 when path key is present4821 behaves like scim operation active false4822 returns the correct operation attributes4823 behaves like scim operation empty4824 returns an empty hash for the wrong operations4825 behaves like scim operation update name4826 can update name from displayName4827 when path key is not present4828 behaves like scim operation active false4829 returns the correct operation attributes4830 behaves like scim operation empty4831 returns an empty hash for the wrong operations4832 behaves like scim operation update name4833 can update name from displayName4834 with capitalized op values for Azure4835 behaves like scim operation active false4836 returns the correct operation attributes4837 #post_params4838 returns a parsed hash for POST params4839 can construct a name from givenName and familyName4840 falls back to displayName when other names are missing4841 #deprovision_user?4842 returns true when deprovisioning4843 returns false when not deprovisioning4844 returns true when deprovisioning without a path key4845 #reprovision_user?4846 returns true when reprovisioning4847 returns false when not reprovisioning4848Elasticsearch::Model::Adapter::ActiveRecord::Records4849 #records4850 returns results in the same sorted order as they come back from Elasticsearch4851Ci::Runners::StaleGroupRunnersPruneService4852 on self-managed instance4853 behaves like perform on empty groups relation does not prune any runners4854 with empty groups relation4855 does not prune any runners and returns :success status4856 when stale_runner_cleanup_for_namespace licensed feature is available4857 with some stale group runners on group14858 behaves like pruning is executed on stale runners4859 prunes all runners in batches4860 when stale_runner_cleanup_for_namespace licensed feature is unavailable4861 with some stale group runners on group14862 behaves like pruning is not executed on stale runners4863 does not prune any runners4864 on .com4865 behaves like perform on empty groups relation does not prune any runners4866 with empty groups relation4867 does not prune any runners and returns :success status4868 with some stale group runners on group14869 behaves like pruning is executed on stale runners4870 prunes all runners in batches4871 with premium plan4872 behaves like pruning is not executed on stale runners4873 does not prune any runners4874Ci::Minutes::UpdateProjectAndNamespaceUsageWorker4875 #perform4876 when duration param is not passed in4877 does not behave idempotently for legacy statistics update4878 behaves idempotently for monthly usage update4879 executes UpdateProjectAndNamespaceUsageService4880 updates monthly usage but not shared_runners_duration4881 when duration param is passed in4882 does not behave idempotently for legacy statistics update4883 behaves idempotently for monthly usage update4884 executes UpdateProjectAndNamespaceUsageService4885 updates monthly usage and shared_runners_duration4886gitlab:geo rake tasks4887 gitlab:geo:check_replication_verification_status4888 when replication is up-to-date4889 prints a success message4890 when replication is not up-to-date4891 prints an error message4892 exits with a 14893 gitlab:geo:check_database_replication_working4894 when DB replication is enabled4895 when DB replication is working4896 prints a success message4897 when DB replication is not working4898 exits with non-success code4899 when DB replication is not enabled4900 exits with non-success code4901Projects::HashedStorage::MigrateAttachmentsService4902 #execute4903 on success4904 returns true4905 creates a Geo::HashedStorageAttachmentsEvent4906 on failure4907 does not create a Geo event when skipped4908 does not create a Geo event on failure4909Gitlab::StatusPage::Storage4910 MAX_KEYS_PER_PAGE times MAX_PAGES establishes upload limit4911 .details_path4912 is expected to eq "data/incident/123.json"4913 .details_url4914 when issue is not published4915 is expected to be nil4916 with a published incident4917 without a status page setting4918 is expected to be nil4919 when status page setting is disabled4920 is expected to be nil4921 when status page setting is enabled4922 is expected to eq "https://status.gitlab.com/#/data%2Fincident%2F1.json"4923 when status page setting does not include a url4924 is expected to be nil4925 .list_path4926 is expected to eq "data/list.json"4927 .upload_path4928 is expected to eq "data/incident/2/50b7a196557cf72a98e86a7ab4b1ac3b/screenshot.png"4929 .uploads_path4930 is expected to eq "data/incident/2/"4931AppSec::Dast::ScanConfigs::FetchService4932 #execute4933 when site profile and scanner profile is not configured in ci yml file4934 behaves like an error occurred4935 communicates failure4936 when site profile and scanner profile is configured in ci yml file4937 with an invalid .gitlab-ci.yml4938 behaves like an error occurred4939 communicates failure4940 with a valid .gitlab-ci.yml4941 returns configured profile values4942 when site profile and scanner profile is configured in security policy4943 and site profile and scanner profile is configured in ci yml file4944 returns configured profile values from policy4945 and site profile and scanner profile is not configured in ci yml file4946 returns configured profile values from policy4947 and when profile data is missing4948 behaves like an error occurred4949 communicates failure4950 and when multiple actions are there4951 returns the correct action4952 when on demand scan licensed feature is not available4953 behaves like an error occurred4954 communicates failure4955Security::Ingestion::Tasks::IngestFindingPipelines4956 #execute4957 associates the findings with pipeline4958 behaves like bulk insertable task4959 when the validation fails4960 can generate error messages correctly4961Secret-Detection.gitlab-ci.yml4962 the created pipeline4963 when project has no license4964 when SECRET_DETECTION_DISABLED=14965 includes no jobs4966 when branch pipeline4967 creates a pipeline with the expected jobs4968 when MR pipeline4969 creates a pipeline with the expected jobs4970QuickActions::TargetService4971 #execute4972 for epic4973 finds target with valid id4974 builds a new target if id from a different group passed4975Clusters::EnvironmentEntity4976 inherits from API::Entities::EnvironmentBasic4977 #as_json4978 with maintainer access4979 deploy board available4980 matches expected schema4981 exposes rollout_status4982 deploy board not available4983 matches expected schema4984 does not expose rollout_status4985Boards::MilestonesFinder4986 #execute4987 when project board4988 returns milestones from board project and ancestors groups4989 when group board4990 returns milestones from board group and its ancestors4991Elastic::IndexingControlService4992 .initialize4993 raises an exception when passed wrong worker4994 .add_to_waiting_queue!4995 calls an instance method4996 .has_jobs_in_waiting_queue?4997 calls an instance method4998 .resume_processing!4999 calls an instance method5000 .queue_size5001 reports the queue size5002 #add_to_waiting_queue!5003 adds a job to the set5004 adds only one unique job to the set5005 only stores `project` context information5006 #has_jobs_in_waiting_queue?5007 checks set existence5008 #resume_processing!5009 puts jobs back into the queue and respects order5010 drops a set after execution5011 concurrent changes to different queues5012 allows to use queues independently of each other5013Vulnerabilities::Finding::Evidence5014 is expected to validate that :data cannot be empty/falsy5015 is expected to validate that the length of :data is at most 160000005016Resolvers::DastSiteValidationResolver5017 is expected to have nullable GraphQL type DastSiteValidationConnection5018 when resolving multiple DAST site validations5019 when there is no filtering5020 behaves like there is no filtering5021 is expected to contain exactly #<DastSiteValidation id: 4, dast_site_token_id: 4, created_at: "2022-08-01 23:58:07.261379106 +0000",... "http://example46.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "failed">, #<DastSiteValidation id: 3, dast_site_token_id: 3, created_at: "2022-08-01 23:58:07.103105420 +0000",... "http://example45.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "passed">, #<DastSiteValidation id: 2, dast_site_token_id: 2, created_at: "2022-08-01 23:58:07.029033337 +0000",...tp://example44.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "inprogress">, and #<DastSiteValidation id: 1, dast_site_token_id: 1, created_at: "2022-08-01 23:58:06.953514414 +0000",..."http://example43.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "pending">5022 when multiple normalized_target_urls are specified5023 is expected to contain exactly #<DastSiteValidation id: 3, dast_site_token_id: 3, created_at: "2022-08-01 23:58:07.103105420 +0000",... "http://example45.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "passed"> and #<DastSiteValidation id: 1, dast_site_token_id: 1, created_at: "2022-08-01 23:58:06.953514414 +0000",..."http://example43.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "pending">5024 when one normalized_target_url is specified5025 is expected to contain exactly #<DastSiteValidation id: 2, dast_site_token_id: 2, created_at: "2022-08-01 23:58:07.029033337 +0000",...tp://example44.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "inprogress">5026 when an empty array is specified5027 is expected to be empty5028 when status is specified5029 when filtering by pending5030 is expected to contain exactly #<DastSiteValidation id: 1, dast_site_token_id: 1, created_at: "2022-08-01 23:58:06.953514414 +0000",..."http://example43.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "pending">5031 when filtering by in progress5032 is expected to contain exactly #<DastSiteValidation id: 2, dast_site_token_id: 2, created_at: "2022-08-01 23:58:07.029033337 +0000",...tp://example44.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "inprogress">5033 when filtering by passed5034 is expected to contain exactly #<DastSiteValidation id: 3, dast_site_token_id: 3, created_at: "2022-08-01 23:58:07.103105420 +0000",... "http://example45.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "passed">5035 when filtering by failed5036 is expected to contain exactly #<DastSiteValidation id: 4, dast_site_token_id: 4, created_at: "2022-08-01 23:58:07.261379106 +0000",... "http://example46.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "failed">5037Groups::EpicsCountService5038 #relation_for_count5039 uses the EpicsFinder to scope epics5040 behaves like a counter caching service with threshold5041 when cache is empty5042 refreshes cache if value over threshold5043 does not refresh cache if value under threshold5044 when cached count is under the threshold value5045 does not refresh cache5046 when cached count is over the threshold value5047 does not refresh cache5048Licenses::DestroyService5049 raises an error if license is nil5050 raises an error if the user is not an admin5051 when admin mode is enabled5052 behaves like license destroy5053 destroys a license5054 behaves like clear future subscriptions application setting5055 clears the future_subscriptions application setting5056 with cloud license5057 behaves like license destroy5058 destroys a license5059 behaves like clear future subscriptions application setting5060 clears the future_subscriptions application setting5061 with an active license that is not the current one5062 does not clear the future_subscriptions application setting5063 behaves like license destroy5064 destroys a license5065 when admin mode is disabled5066 raises not allowed error5067Types::DastScannerProfileType5068 is expected to eq "DastScannerProfile"5069 is expected to require graphql authorizations :read_on_demand_dast_scan5070 is expected to have graphql fields :id, :profileName, :spiderTimeout, :targetTimeout, :editPath, :scanType, :useAjaxSpider, :showDebugMessages, and :referencedInSecurityPolicies5071 dast_scanner_profiles5072 profile_name field5073 is expected to eq "Electric Remote Controller 4d95038a - 3"5074 when security policies are enabled5075 only calls Gitaly twice when multiple profiles are present5076Geo::HashedStorageAttachmentsMigrationService5077 #execute5078 when succeeds5079 moves attachments to hashed storage layout5080 when original folder does not exist anymore5081 skips moving folders and go to next5082 when target folder already exists5083 raises AttachmentMigrationError5084 #async_execute5085 starts the worker5086 returns job id5087IncidentManagement::EscalationPolicies::DestroyService5088 #execute5089 successfully returns the escalation policy5090 when the current_user is anonymous5091 behaves like error response5092 has an informative message5093 when the current_user does not have permissions to remove escalation policies5094 behaves like error response5095 has an informative message5096 when license is not enabled5097 behaves like error response5098 has an informative message5099 when an error occurs during removal5100 behaves like error response5101 has an informative message5102ExternalStatusChecks::DestroyService5103 when current user is project owner5104 deletes an approval rule5105 is successful5106 when current user is not a project owner5107 does not delete an approval rule5108 is unsuccessful5109 returns an unauthorized status5110 contains an appropriate message and error5111 audit events5112 when licensed5113 when rule destroy operation succeeds5114 logs an audit event5115 when rule destroy operation fails5116 does not log any audit event5117 behaves like does not create audit event when not licensed5118 does not log any audit event5119EpicIssuePresenter5120 #group_epic_issue_path5121 returns correct path5122 returns nil without proper permission5123PushRules::CreateOrUpdateService#execute5124 with existing push rule5125 updates existing push rule5126 responds with a successful service response5127 when container is a group5128 audits the changes5129 behaves like a failed update5130 responds with an error service response5131 without existing push rule5132 creates a new push rule5133 responds with a successful service response5134 behaves like a failed update5135 responds with an error service response5136EventCollection5137 when the optimized_project_and_group_activity_queries FF is on5138 behaves like EventCollection examples5139 #to_a5140 with group events5141 group exclusive event types5142 queries only group events for epic filter5143 when the optimized_project_and_group_activity_queries FF is off5144 behaves like EventCollection examples5145 #to_a5146 with group events5147 group exclusive event types5148 queries only group events for epic filter5149Gitlab::RackAttack::Request5150 #should_be_skipped?5151 super_value: true, geo: true5152 returns true if any condition is true5153 super_value: true, geo: false5154 returns true if any condition is true5155 super_value: false, geo: true5156 returns true if any condition is true5157 super_value: false, geo: false5158 returns true if any condition is true5159 #geo?5160 env: {}, geo_auth_attempt: false, expected: false5161 is expected to equal false5162 env: {}, geo_auth_attempt: true, expected: false5163 is expected to equal false5164 env: {"HTTP_AUTHORIZATION"=>"secret"}, geo_auth_attempt: false, expected: false5165 is expected to equal false5166 env: {"HTTP_AUTHORIZATION"=>"secret"}, geo_auth_attempt: true, expected: true5167 is expected to equal true5168EE::MembersPreloader5169 #preload_all5170 preloads associations to avoid N+1 queries5171Gitlab::Audit::Levels::Group5172 #apply5173 when audit_log_group_level feature enabled5174 finds all group and project events5175 when audit_log_group_level feature disabled5176 finds all group events5177ComplianceManagement::MergeRequests::CreateComplianceViolationsService5178 when the compliance report feature is disabled5179 behaves like does not call process_merge_request5180 aggregate_failures5181 when the compliance report feature is enabled5182 and the merge request is not merged5183 does not call process_merge_request5184 and the merge request is merged5185 calls process_merge_request5186MemberUserEntity5187 matches json schema5188 when using on-call management5189 with oncall schedules5190 with no source given5191 is expected to eq []5192 source is project5193 is expected to contain exactly {:name=>"On-call Schedule #24", :project_name=>"project1066", :project_url=>"http://localhost/group65...1/project1066/-/oncall_schedules", :url=>"http://localhost/group651/project1066/-/oncall_schedules"}5194 source is group5195 is expected to contain exactly {:name=>"On-call Schedule #24", :project_name=>"project1066", :project_url=>"http://localhost/group65...1/project1066/-/oncall_schedules", :url=>"http://localhost/group651/project1066/-/oncall_schedules"} and {:name=>"On-call Schedule #25", :project_name=>"project1067", :project_url=>"http://localhost/group65...1/project1067/-/oncall_schedules", :url=>"http://localhost/group651/project1067/-/oncall_schedules"}5196 with escalation policies5197 with no source given5198 is expected to eq []5199 source is project5200 is expected to contain exactly {:name=>"EscalationPolicy 20", :project_name=>"project1066", :project_url=>"http://localhost/group651/project1066", :url=>"http://localhost/group651/project1066/-/escalation_policies"}5201 source is group5202 is expected to contain exactly {:name=>"EscalationPolicy 20", :project_name=>"project1066", :project_url=>"http://localhost/group651/project1066", :url=>"http://localhost/group651/project1066/-/escalation_policies"} and {:name=>"EscalationPolicy 21", :project_name=>"project1067", :project_url=>"http://localhost/group651/project1067", :url=>"http://localhost/group651/project1067/-/escalation_policies"}5203Iterations::UpdateService5204 #execute5205 valid params5206 is expected to be success5207 is expected to eq "new_title"5208 ignores state change attempts5209EE::ProtectedRef5210 for protected branches5211 deletes all related access levels5212AlertManagement::HttpIntegrationsFinder5213 #execute5214 empty params5215 is expected to contain exactly #<AlertManagement::HttpIntegration id: 1, created_at: "2022-08-01 23:58:40.905674638 +0000", updated_...entifier: "abc123", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil>, #<AlertManagement::HttpIntegration id: 2, created_at: "2022-08-01 23:58:40.914323337 +0000", updated_...entifier: "abc123", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil>, and #<AlertManagement::HttpIntegration id: 3, created_at: "2022-08-01 23:58:40.920776856 +0000", updated_...tifier: "5231d89d", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil>5216 endpoint_identifier given5217 is expected to contain exactly #<AlertManagement::HttpIntegration id: 1, created_at: "2022-08-01 23:58:40.905674638 +0000", updated_...entifier: "abc123", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil> and #<AlertManagement::HttpIntegration id: 2, created_at: "2022-08-01 23:58:40.914323337 +0000", updated_...entifier: "abc123", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil>5218 but unknown5219 is expected to be empty5220 but blank5221 is expected to contain exactly #<AlertManagement::HttpIntegration id: 1, created_at: "2022-08-01 23:58:40.905674638 +0000", updated_...entifier: "abc123", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil>, #<AlertManagement::HttpIntegration id: 2, created_at: "2022-08-01 23:58:40.914323337 +0000", updated_...entifier: "abc123", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil>, and #<AlertManagement::HttpIntegration id: 3, created_at: "2022-08-01 23:58:40.920776856 +0000", updated_...tifier: "5231d89d", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil>5222 active param given5223 is expected to contain exactly #<AlertManagement::HttpIntegration id: 1, created_at: "2022-08-01 23:58:40.905674638 +0000", updated_...entifier: "abc123", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil> and #<AlertManagement::HttpIntegration id: 3, created_at: "2022-08-01 23:58:40.920776856 +0000", updated_...tifier: "5231d89d", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil>5224 but blank5225 is expected to contain exactly #<AlertManagement::HttpIntegration id: 1, created_at: "2022-08-01 23:58:40.905674638 +0000", updated_...entifier: "abc123", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil>, #<AlertManagement::HttpIntegration id: 2, created_at: "2022-08-01 23:58:40.914323337 +0000", updated_...entifier: "abc123", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil>, and #<AlertManagement::HttpIntegration id: 3, created_at: "2022-08-01 23:58:40.920776856 +0000", updated_...tifier: "5231d89d", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil>5226Dast::Branch5227 when repository does not exist5228 #name5229 returns nil5230 #exists5231 returns false5232 when repository exists5233 #name5234 returns profile.branch_name5235 when branch exists5236 returns true5237 when branch does not exist5238 returns false5239LearnGitlabHelper5240 #learn_gitlab_data5241 when in the new action URLs experiment5242 for trial- and subscription-related actions5243 when namespace plans are not enabled5244DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.5245Falling back to an asset that may be in the public folder.5246This behavior is deprecated and will be removed.5247To bypass the asset pipeline and preserve this behavior,5248use the `skip_pipeline: true` option.5249 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5250DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.5251Falling back to an asset that may be in the public folder.5252This behavior is deprecated and will be removed.5253To bypass the asset pipeline and preserve this behavior,5254use the `skip_pipeline: true` option.5255 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5256DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.5257Falling back to an asset that may be in the public folder.5258This behavior is deprecated and will be removed.5259To bypass the asset pipeline and preserve this behavior,5260use the `skip_pipeline: true` option.5261 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5262DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.5263Falling back to an asset that may be in the public folder.5264This behavior is deprecated and will be removed.5265To bypass the asset pipeline and preserve this behavior,5266use the `skip_pipeline: true` option.5267 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5268DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.5269Falling back to an asset that may be in the public folder.5270This behavior is deprecated and will be removed.5271To bypass the asset pipeline and preserve this behavior,5272use the `skip_pipeline: true` option.5273 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5274DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.5275Falling back to an asset that may be in the public folder.5276This behavior is deprecated and will be removed.5277To bypass the asset pipeline and preserve this behavior,5278use the `skip_pipeline: true` option.5279 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5280DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.5281Falling back to an asset that may be in the public folder.5282This behavior is deprecated and will be removed.5283To bypass the asset pipeline and preserve this behavior,5284use the `skip_pipeline: true` option.5285 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5286DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.5287Falling back to an asset that may be in the public folder.5288This behavior is deprecated and will be removed.5289To bypass the asset pipeline and preserve this behavior,5290use the `skip_pipeline: true` option.5291 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5292DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.5293Falling back to an asset that may be in the public folder.5294This behavior is deprecated and will be removed.5295To bypass the asset pipeline and preserve this behavior,5296use the `skip_pipeline: true` option.5297 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5298 provides the default URLs5299 when namespace plans are enabled5300 when namespace has free or no subscription5301DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.5302Falling back to an asset that may be in the public folder.5303This behavior is deprecated and will be removed.5304To bypass the asset pipeline and preserve this behavior,5305use the `skip_pipeline: true` option.5306 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5307DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.5308Falling back to an asset that may be in the public folder.5309This behavior is deprecated and will be removed.5310To bypass the asset pipeline and preserve this behavior,5311use the `skip_pipeline: true` option.5312 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5313DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.5314Falling back to an asset that may be in the public folder.5315This behavior is deprecated and will be removed.5316To bypass the asset pipeline and preserve this behavior,5317use the `skip_pipeline: true` option.5318 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5319DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.5320Falling back to an asset that may be in the public folder.5321This behavior is deprecated and will be removed.5322To bypass the asset pipeline and preserve this behavior,5323use the `skip_pipeline: true` option.5324 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5325DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.5326Falling back to an asset that may be in the public folder.5327This behavior is deprecated and will be removed.5328To bypass the asset pipeline and preserve this behavior,5329use the `skip_pipeline: true` option.5330 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5331DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.5332Falling back to an asset that may be in the public folder.5333This behavior is deprecated and will be removed.5334To bypass the asset pipeline and preserve this behavior,5335use the `skip_pipeline: true` option.5336 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5337DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.5338Falling back to an asset that may be in the public folder.5339This behavior is deprecated and will be removed.5340To bypass the asset pipeline and preserve this behavior,5341use the `skip_pipeline: true` option.5342 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5343DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.5344Falling back to an asset that may be in the public folder.5345This behavior is deprecated and will be removed.5346To bypass the asset pipeline and preserve this behavior,5347use the `skip_pipeline: true` option.5348 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5349DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.5350Falling back to an asset that may be in the public folder.5351This behavior is deprecated and will be removed.5352To bypass the asset pipeline and preserve this behavior,5353use the `skip_pipeline: true` option.5354 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5355 provides URLs to start a trial to namespace admins5356DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.5357Falling back to an asset that may be in the public folder.5358This behavior is deprecated and will be removed.5359To bypass the asset pipeline and preserve this behavior,5360use the `skip_pipeline: true` option.5361 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5362DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.5363Falling back to an asset that may be in the public folder.5364This behavior is deprecated and will be removed.5365To bypass the asset pipeline and preserve this behavior,5366use the `skip_pipeline: true` option.5367 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5368DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.5369Falling back to an asset that may be in the public folder.5370This behavior is deprecated and will be removed.5371To bypass the asset pipeline and preserve this behavior,5372use the `skip_pipeline: true` option.5373 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5374DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.5375Falling back to an asset that may be in the public folder.5376This behavior is deprecated and will be removed.5377To bypass the asset pipeline and preserve this behavior,5378use the `skip_pipeline: true` option.5379 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5380DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.5381Falling back to an asset that may be in the public folder.5382This behavior is deprecated and will be removed.5383To bypass the asset pipeline and preserve this behavior,5384use the `skip_pipeline: true` option.5385 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5386DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.5387Falling back to an asset that may be in the public folder.5388This behavior is deprecated and will be removed.5389To bypass the asset pipeline and preserve this behavior,5390use the `skip_pipeline: true` option.5391 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5392DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.5393Falling back to an asset that may be in the public folder.5394This behavior is deprecated and will be removed.5395To bypass the asset pipeline and preserve this behavior,5396use the `skip_pipeline: true` option.5397 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5398DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.5399Falling back to an asset that may be in the public folder.5400This behavior is deprecated and will be removed.5401To bypass the asset pipeline and preserve this behavior,5402use the `skip_pipeline: true` option.5403 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5404DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.5405Falling back to an asset that may be in the public folder.5406This behavior is deprecated and will be removed.5407To bypass the asset pipeline and preserve this behavior,5408use the `skip_pipeline: true` option.5409 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5410 provides URLs to Gitlab docs to namespace non-admins5411 when namespace has paid subscription5412DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.5413Falling back to an asset that may be in the public folder.5414This behavior is deprecated and will be removed.5415To bypass the asset pipeline and preserve this behavior,5416use the `skip_pipeline: true` option.5417 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5418DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.5419Falling back to an asset that may be in the public folder.5420This behavior is deprecated and will be removed.5421To bypass the asset pipeline and preserve this behavior,5422use the `skip_pipeline: true` option.5423 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5424DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.5425Falling back to an asset that may be in the public folder.5426This behavior is deprecated and will be removed.5427To bypass the asset pipeline and preserve this behavior,5428use the `skip_pipeline: true` option.5429 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5430DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.5431Falling back to an asset that may be in the public folder.5432This behavior is deprecated and will be removed.5433To bypass the asset pipeline and preserve this behavior,5434use the `skip_pipeline: true` option.5435 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5436DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.5437Falling back to an asset that may be in the public folder.5438This behavior is deprecated and will be removed.5439To bypass the asset pipeline and preserve this behavior,5440use the `skip_pipeline: true` option.5441 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5442DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.5443Falling back to an asset that may be in the public folder.5444This behavior is deprecated and will be removed.5445To bypass the asset pipeline and preserve this behavior,5446use the `skip_pipeline: true` option.5447 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5448DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.5449Falling back to an asset that may be in the public folder.5450This behavior is deprecated and will be removed.5451To bypass the asset pipeline and preserve this behavior,5452use the `skip_pipeline: true` option.5453 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5454DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.5455Falling back to an asset that may be in the public folder.5456This behavior is deprecated and will be removed.5457To bypass the asset pipeline and preserve this behavior,5458use the `skip_pipeline: true` option.5459 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5460DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.5461Falling back to an asset that may be in the public folder.5462This behavior is deprecated and will be removed.5463To bypass the asset pipeline and preserve this behavior,5464use the `skip_pipeline: true` option.5465 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5466 provides URLs to Gitlab docs to namespace admins5467DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.5468Falling back to an asset that may be in the public folder.5469This behavior is deprecated and will be removed.5470To bypass the asset pipeline and preserve this behavior,5471use the `skip_pipeline: true` option.5472 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5473DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.5474Falling back to an asset that may be in the public folder.5475This behavior is deprecated and will be removed.5476To bypass the asset pipeline and preserve this behavior,5477use the `skip_pipeline: true` option.5478 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5479DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.5480Falling back to an asset that may be in the public folder.5481This behavior is deprecated and will be removed.5482To bypass the asset pipeline and preserve this behavior,5483use the `skip_pipeline: true` option.5484 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5485DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.5486Falling back to an asset that may be in the public folder.5487This behavior is deprecated and will be removed.5488To bypass the asset pipeline and preserve this behavior,5489use the `skip_pipeline: true` option.5490 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5491DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.5492Falling back to an asset that may be in the public folder.5493This behavior is deprecated and will be removed.5494To bypass the asset pipeline and preserve this behavior,5495use the `skip_pipeline: true` option.5496 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5497DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.5498Falling back to an asset that may be in the public folder.5499This behavior is deprecated and will be removed.5500To bypass the asset pipeline and preserve this behavior,5501use the `skip_pipeline: true` option.5502 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5503DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.5504Falling back to an asset that may be in the public folder.5505This behavior is deprecated and will be removed.5506To bypass the asset pipeline and preserve this behavior,5507use the `skip_pipeline: true` option.5508 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5509DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.5510Falling back to an asset that may be in the public folder.5511This behavior is deprecated and will be removed.5512To bypass the asset pipeline and preserve this behavior,5513use the `skip_pipeline: true` option.5514 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5515DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.5516Falling back to an asset that may be in the public folder.5517This behavior is deprecated and will be removed.5518To bypass the asset pipeline and preserve this behavior,5519use the `skip_pipeline: true` option.5520 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)5521 provides URLs to Gitlab docs to namespace non-admins5522Types::VulnerabilityLocation::CoverageFuzzingType5523 is expected to have graphql fields :vulnerable_class, :end_line, :file, :vulnerable_method, :start_line, :blob_path, :crash_type, :crash_address, and :stacktrace_snippet5524 is expected to eq "VulnerabilityLocationCoverageFuzzing"5525 checking field contents5526 checks the contents of the VulnerabilityLocationCoverageFuzzing fields5527Autocomplete::GroupSubgroupsFinder5528 #execute5529 returns subgroups5530 when the number of groups exceeds the limit5531 limits the result5532 when user does not have an access to the group5533 raises an error5534GitlabSubscriptions::FetchPurchaseEligibleNamespacesService5535 #execute5536 when no namespaces are supplied5537 returns an array with an empty hash5538 when no plan_id or any_self_service_plan flag is supplied5539 logs and returns an error message5540 when no user is supplied5541 logs and returns an error message5542 when the http request fails5543 returns an error message5544 when all the namespaces are eligible5545 does not filter any namespaces5546 when the user has a namespace ineligible5547 is filtered from the results5548 when supplied the any_self_service_plan flag5549 filters the results by eligibility for any self service plan5550IssuableSla5551 associations5552 is expected to belong to issue required: true5553 validations5554 is expected to validate that :due_at cannot be empty/falsy5555 scopes5556 .exceeded5557 is expected to contain exactly #<IssuableSla id: 3, issue_id: 194, due_at: "2022-08-01 22:58:49.473579176 +0000", label_applied: false, issuable_closed: false>5558 marked as issuable closed5559 is expected to be empty5560 due_at has not passed5561 is expected to be empty5562 label applied5563 is expected to be empty5564Integrations::ZentaoSerializers::IssueEntity5565 when status is "opened"5566 returns the ZenTao issues attributes5567 when status is "closed"5568 returns the ZenTao issues attributes5569Groups::FeatureDiscoveryMomentsHelper5570 #show_cross_stage_fdm?5571 check_namespace_plan?: true, group_is_persisted?: true, group_is_eligible_for_trial?: true, user_can_admin_group?: true, expected_result: true5572 is expected to eq true5573 check_namespace_plan?: false, group_is_persisted?: true, group_is_eligible_for_trial?: true, user_can_admin_group?: true, expected_result: false5574 is expected to eq false5575 check_namespace_plan?: true, group_is_persisted?: false, group_is_eligible_for_trial?: true, user_can_admin_group?: true, expected_result: false5576 is expected to eq false5577 check_namespace_plan?: true, group_is_persisted?: true, group_is_eligible_for_trial?: false, user_can_admin_group?: true, expected_result: false5578 is expected to eq false5579 check_namespace_plan?: true, group_is_persisted?: true, group_is_eligible_for_trial?: true, user_can_admin_group?: false, expected_result: false5580 is expected to eq false5581 when group is nil5582 is expected to eq false5583 #cross_stage_fdm_glm_params5584 is expected to eq {:glm_content=>"cross_stage_fdm", :glm_source=>"gitlab.com"}5585 #cross_stage_fdm_highlighted_features5586 provides a collection of data in the expected structure5587 #cross_stage_fdm_value_statements5588 provides a collection of data in the expected structure5589IncidentManagement::PendingEscalations::AlertCheckWorker5590 #perform5591 with valid escalation5592 processes the escalation5593 without valid escalation5594 does nothing5595SyncSeatLinkWorker5596 #perform5597 when current, paid license is active5598 executes the SyncSeatLinkRequestWorker with expected params5599 when the timezone makes date one day in advance5600 executes the SyncSeatLinkRequestWorker with expected params5601 when the timezone makes date one day before than UTC5602 executes the SyncSeatLinkRequestWorker with expected params5603 license checks5604 when license is missing5605 does not execute the SyncSeatLinkRequestWorker5606 when using a trial license5607 does not execute the SyncSeatLinkRequestWorker5608 when the license has no expiration date5609 does not execute the SyncSeatLinkRequestWorker5610 when using an expired license5611 executes the SyncSeatLinkRequestWorker5612 with a non cloud license5613 does not execute the SyncSeatLinkRequestWorker5614Gitlab::Usage::Metrics::Instrumentations::CountEventStreamingDestinationsMetric5615 behaves like a correct instrumented metric value and query5616 behaves like a correct instrumented metric value5617 has correct value5618 behaves like a correct instrumented metric query5619 has correct generate query5620AuditEvents::ReleaseArtifactsDownloadedAuditEventService5621 #security_event5622 logs the event to file5623Mutations::Todos::Create5624 with epics as target5625 behaves like create todo mutation5626 when user does not have permission to create todo5627 raises error5628 when user has permission to create todo5629 creates a todo5630VulnerabilityExternalIssueLinks::DestroyService5631 deletes the specified vulnerability-external issue link5632AppSec::Dast::ProfileSchedules::Audit::UpdateService5633 #execute5634 creates audit events for the changed properties5635EE::SystemNoteMetadata5636 when action type is valid5637 is expected to be valid5638 when action type is valid5639 is expected to be valid5640 when action type is valid5641 is expected to be valid5642 when action type is valid5643 is expected to be valid5644GeoNodePolicy5645 when the user is an admin5646 when admin mode is enabled5647 allows read_geo_node for any GeoNode5648 when admin mode is disabled5649 disallows read_geo_node for any GeoNode5650 when the user is not an admin5651 disallows read_geo_node for any GeoNode5652StatusPage::UnpublishDetailsService5653 #execute5654 when deletion succeeds5655 removes files from the CDN (incident first)5656 returns service success5657 untracks the issue5658 when delete fails due to exception5659 when json delete fails5660 propagates the exception5661 when image delete fails5662 propagates the exception5663 when status page setting is not enabled5664 returns feature not available error5665Types::Geo::PipelineArtifactRegistryType5666 has the expected fields (other than those included in RegistryType)5667 behaves like a Geo registry type5668 is expected to require graphql authorizations :read_geo_registry5669 has the expected fields5670Vulnerabilities::HistoricalStatistics::AdjustmentService5671 .execute5672 instantiates the service object for given project ids and calls `execute` on them5673 #execute5674 when more than 1000 projects is provided5675 raises error5676 when there is no vulnerability_statistic record for project5677 does not create a new record in database5678 when there is vulnerability_statistic record for project5679 when there is no vulnerability_historical_statistic record for project5680 creates a new record5681 sets the correct values for the record5682 when there is already a vulnerability_historical_statistic record for project5683 does not create a new record in database5684 sets the correct values for the record5685SystemCheck::Geo::LicenseCheck5686 #check?5687 primary: true, geo_enabled: true, license_allows: true, check_result: true, pass_message: ""5688 checks the license5689 primary: true, geo_enabled: true, license_allows: false, check_result: false, pass_message: ""5690 checks the license5691 primary: true, geo_enabled: false, license_allows: true, check_result: true, pass_message: "License supports Geo, but Geo is not enabled"5692 checks the license5693 primary: true, geo_enabled: false, license_allows: false, check_result: true, pass_message: "License does not support Geo, and Geo is not enabled"5694 checks the license5695 primary: false, geo_enabled: true, license_allows: true, check_result: true, pass_message: ""5696 checks the license5697 primary: false, geo_enabled: true, license_allows: false, check_result: true, pass_message: "License only required on a primary site"5698 checks the license5699 primary: false, geo_enabled: false, license_allows: true, check_result: true, pass_message: ""5700 checks the license5701 primary: false, geo_enabled: false, license_allows: false, check_result: true, pass_message: ""5702 checks the license5703ResourceStateEvent5704 is expected to belong to epic required: false5705 validations5706 Issuable validation5707 is valid if only epic is set5708 is invalid if an epic and an issue is set5709Projects::ImportExport::ExportService5710 #execute5711 project templates5712 instance-level custom project templates5713 succeeds5714 group-level custom project templates5715 succeeds5716PathLocks::UnlockService5717 unlocks path5718 raises exception if user has no permissions5719cadences routing5720 routes to show cadences list5721 routes to new cadence5722 routes to edit cadence5723 routes to list iterations within cadence5724 routes to show iteration within cadence5725 routes to edit iteration within cadence5726 routes to new iteration within cadence5727Analytics::CycleAnalytics::StageEventHash5728 associations5729 is expected to have many cycle_analytics_group_stages5730 .cleanup_if_unused5731 removes the record if there is no project or group stages with given stage events hash5732 does not remove the record if at least 1 group stage for the given stage events hash exists5733Coverage-Fuzzing.gitlab-ci.yml5734 the created pipeline5735 when project has Ultimate license5736 by default5737 includes no job5738 when COVFUZZ_DISABLED=15739 includes no jobs5740Types::IncidentManagement::OncallShiftType5741 is expected to eq "IncidentManagementOncallShift"5742 exposes the expected fields5743shared/_clone_panel5744 without Geo enabled5745 behaves like has no geo-specific instructions5746 has no geo-specific instructions5747 On a Geo primary node5748 behaves like has no geo-specific instructions5749 has no geo-specific instructions5750 On a Geo secondary node5751 behaves like has no geo-specific instructions5752 has no geo-specific instructions5753Projects::GroupLinks::UpdateService5754 audit events5755 sends the audit streaming event5756groups/security/discover/show5757 renders vue app root with correct link5758 candidate for pql_three_cta_test5759 renders vue app root with candidate url5760 candidate for showcase_free_security_features5761 renders showcase and not security discover element5762Gitlab::Insights::Serializers::Chartjs::MultiSeriesSerializer5763 returns the correct format5764 wrong input formats5765 input: []5766 raises an error if the input is not in the correct format5767 input: [1, 2, 3]5768 raises an error if the input is not in the correct format5769 input: {:a=>:b}5770 raises an error if the input is not in the correct format5771 input: {:a=>[:a, "b"]}5772 raises an error if the input is not in the correct format5773admin/application_settings/_git_abuse_rate_limit5774 git abuse rate limit settings5775 when page loads5776 renders the settings app root5777 when data is saved in the database5778 renders the settings app root with pre-saved data5779Banzai::Filter::JiraPrivateImageLinkFilter5780 with a Jira private image5781 replaces the Jira private images with the link to the image5782 includes the Atlassian referrer on gitlab.com5783 with other image5784 keeps the original image5785Gitlab::CustomersDot::Jwt5786 #payload5787 has correct values for JWT attributes5788 #encoded5789 generates encoded token5790 with no signing key5791 raises error5792Geo::GraphqlRequestService5793 #execute5794 sends a request with the authenticating user id in the headers5795 when the node is nil5796 fails and not make a request5797 when the user is nil5798 makes an unauthenticated request5799subscriptions/new5800 behaves like subscription form data5801 is expected to have visible css "#js-new-subscription[data-setup-for-company='true']"5802 is expected to have visible css "#js-new-subscription[data-full-name='First Last']"5803 is expected to have visible css "#js-new-subscription[data-plan-data='[{\"id\":\"bronze_id\",\"code\":\"bronze\",\"price_per_year\":48.0}]']"5804 is expected to have visible css "#js-new-subscription[data-plan-id='bronze_id']"5805 is expected to have visible css "#js-new-subscription[data-source='some_source']"5806Types::NamespaceType5807 has specific fields5808 Customized fields5809 returns the expected values for customized fields defined in NamespaceType5810Gitlab::Ci::Reports::LicenseScanning::ReportsComparer5811 #new_licenses5812 is expected to contain exactly "Apache 2.0"5813 #existing_licenses5814 is expected to contain exactly "MIT" and "BSD"5815 #removed_licenses5816 is expected to contain exactly "WTFPL"5817AddNewDataToIssuesDocuments5818 behaves like a deprecated Advanced Search migration5819 #migrate5820 logs a message and halts the migration5821 #completed?5822 returns false5823 #obsolete?5824 returns true5825Geo::VerificationBatchWorker5826 uses a Geo queue5827 #perform5828 calls verify_batch5829 #remaining_work_count5830 returns remaining_verification_batch_count5831 #max_running_jobs5832 returns verification_max_capacity_per_replicator_class5833BulkImports::Common::Pipelines::WikiPipeline5834 #run5835 behaves like wiki pipeline imports a wiki for an entity5836 #run5837 when wiki exists5838 imports new wiki into destination project5839 when wiki does not exist5840 does not import wiki5841AlertManagement::HttpIntegrations::CreateService5842 #execute5843 with multiple HTTP integrations feature available5844 successfully creates a new integration with the custom mappings5845 when an integration already exists5846 successfully creates a new integration5847Boards::EpicBoards::Visits::CreateService5848 #execute5849 with epic board5850 behaves like boards recent visit create service5851 returns nil when there is no user5852 returns nil when database is read only5853 records the visit5854Elastic::Latest::ProjectInstanceProxy5855 #as_indexed_json5856 serializes project as hash5857 raises an error for a project with an empty project_feature5858Geo::Scheduler::SchedulerWorker5859 includes ::Gitlab::Geo::LogHelpers5860 needs many other specs (PENDING: Not yet implemented)5861 #take_batch5862 without batch_size5863 returns a batch of jobs5864 with batch_size5865 returns a batch of jobs5866Types::DoraType5867 has the expected fields5868 metrics field5869 is expected to have graphql resolver Resolvers::DoraMetricsResolver5870ApplyMaxAnalyzedOffset5871 behaves like a deprecated Advanced Search migration5872 #migrate5873 logs a message and halts the migration5874 #completed?5875 returns false5876 #obsolete?5877 returns true5878Types::Iterations::CadenceType5879 is expected to eq "IterationCadence"5880 is expected to have graphql fields :id, :title, :duration_in_weeks, :iterations_in_advance, :start_date, :automatic, :active, :roll_over, and :description5881 is expected to require graphql authorizations :read_iteration_cadence5882Groups::ExportMembershipsWorker5883 enqueues an email5884Groups::LdapSyncHelper5885 #ldap_sync_now_button_data5886 sets `path` key correctly5887 sets `modal_attributes` key to valid json5888EE::Milestoneable5889 #milestone_available?5890 for epics5891 returns true5892 #supports_milestone?5893 for epics5894 returns false5895GroupVulnerabilityAutocompleteEntity5896 #represent5897 includes the id, title, and reference5898Gitlab::Auth::OAuth::AuthHash5899 #uid5900 contains a kerberos realm5901 preserves the canonical uid5902 does not contain a kerberos realm5903 canonicalizes uid with kerberos realm5904Types::MergeRequests::ApprovalStateType5905 is expected to have graphql fields :approval_rules_overwritten and :rules5906 is expected to require graphql authorizations :read_merge_request5907MetricsReportsComparerEntity5908 #as_json5909 contains the new metrics5910 contains existing metrics5911 contains removed metrics5912Gitlab::Auth::Ldap::Config5913 .available_providers5914 when multiple LDAP servers are licensed5915 returns multiple configured providers5916 ._available_servers5917 when no database connection occurs5918 returns an empty array5919Types::IssuableType5920 returns possible types5921 .resolve_type5922 resolves epics5923Types::AppSec::Fuzzing::API::ScanModeEnum5924 exposes all API fuzzing scan modes5925Types::Ci::CodeCoverageSummaryType5926 is expected to eq "CodeCoverageSummary"5927 fields5928 is expected to have graphql fields :average_coverage, :coverage_count, and :last_updated_on5929GitlabSubscriptions::CreateHandRaiseLeadService5930 #execute5931 hand raise lead call is made successfully5932 returns success: true5933 error while creating hand raise lead call is made successful5934 returns success: false with errors5935Types::GroupStatsType5936 is expected to require graphql authorizations :read_group5937 has the expected fields5938Types::VulnerableKubernetesResourceType5939 is expected to have graphql fields :namespace, :kind, :name, :container_name, :agent, and :cluster_id5940Types::VulnerabilitySeverityEnum5941 exposes all vulnerability severities5942Types::VulnerabilityIdentifierInputType5943 is expected to eq "VulnerabilityIdentifierInput"5944 has the correct arguments5945AutoMergeService5946 .all_strategies_ordered_by_preference5947 returns all strategies in preference order5948Gitlab::ImportSources5949 .import_table5950 includes specific EE imports types when the license supports them5951Knapsack report was generated. Preview:5952{5953 "ee/spec/models/ee/group_spec.rb": 177.30886504799946,5954 "ee/spec/models/concerns/elastic/note_spec.rb": 227.39162902299995,5955 "ee/spec/models/license_spec.rb": 147.34781047699926,5956 "ee/spec/lib/ee/gitlab/middleware/read_only_spec.rb": 106.13585512000009,5957 "ee/spec/lib/gitlab/custom_file_templates_spec.rb": 52.90913577399988,5958 "ee/spec/lib/compliance_management/merge_request_approval_settings/resolver_spec.rb": 58.32416801399995,5959 "ee/spec/services/epics/update_service_spec.rb": 63.36934474699956,5960 "ee/spec/models/elastic/migration_record_spec.rb": 60.49748056000044,5961 "ee/spec/models/geo/package_file_registry_spec.rb": 51.18883670700052,5962 "ee/spec/lib/ee/gitlab/import_export/project/tree_restorer_spec.rb": 47.27815788600037,5963 "ee/spec/services/ee/issues/create_service_spec.rb": 33.4862231269999,5964 "ee/spec/services/start_pull_mirroring_service_spec.rb": 42.723185801999534,5965 "ee/spec/services/groups/update_service_spec.rb": 26.64546049299952,5966 "ee/spec/models/requirements_management/requirement_spec.rb": 27.059148545000426,5967 "ee/spec/policies/note_policy_spec.rb": 31.732140097999945,5968 "ee/spec/lib/gitlab/ci/minutes/cost_factor_spec.rb": 19.934224806000202,5969 "ee/spec/services/auto_merge/merge_train_service_spec.rb": 22.074748364000698,5970 "ee/spec/models/productivity_analytics_spec.rb": 19.843994062999627,5971 "ee/spec/workers/geo/repository_verification/primary/shard_worker_spec.rb": 21.401196584998615,5972 "ee/spec/services/requirements_management/update_requirement_service_spec.rb": 19.786133417999736,5973 "ee/spec/services/ci/minutes/track_live_consumption_service_spec.rb": 20.510247821999656,5974 "ee/spec/services/dashboard/operations/list_service_spec.rb": 14.0391561739998,5975 "ee/spec/models/visible_approvable_spec.rb": 14.975637892999657,5976 "ee/spec/lib/audit/group_push_rules_changes_auditor_spec.rb": 6.681425552000292,5977 "ee/spec/models/concerns/geo/verification_state_spec.rb": 8.323068309000519,5978 "ee/spec/services/analytics/cycle_analytics/aggregator_service_spec.rb": 12.125930847998461,5979 "ee/spec/services/ee/issues/create_from_vulnerability_data_service_spec.rb": 12.622777732000031,5980 "ee/spec/lib/gitlab/ci/parsers/security/formatters/dependency_list_spec.rb": 10.022050828998545,5981 "ee/spec/services/iterations/delete_service_spec.rb": 10.991178555999795,5982 "ee/spec/services/security/ingestion/tasks/attach_findings_to_vulnerabilities_spec.rb": 11.04730451099931,5983 "ee/spec/services/security/vulnerability_counting_service_spec.rb": 16.648040994999974,5984 "ee/spec/services/security/security_orchestration_policies/policy_commit_service_spec.rb": 8.17313398999977,5985 "ee/spec/models/ee/pages_deployment_spec.rb": 8.89748454400069,5986 "ee/spec/models/protected_environment/deploy_access_level_spec.rb": 6.214515027999369,5987 "ee/spec/lib/gitlab/subscription_portal/clients/rest_spec.rb": 1.9542150020006375,5988 "ee/spec/services/security/merge_reports_service_spec.rb": 9.535426356000244,5989 "ee/spec/graphql/mutations/dast/profiles/create_spec.rb": 6.257143811999413,5990 "ee/spec/services/iterations/cadences/update_service_spec.rb": 3.499754166999992,5991 "ee/spec/graphql/mutations/issues/create_spec.rb": 8.761477971000204,5992 "ee/spec/graphql/resolvers/dora_metrics_resolver_spec.rb": 5.5266343100011,5993 "ee/spec/services/vulnerabilities/findings/create_from_security_finding_service_spec.rb": 7.681355210001129,5994 "ee/spec/models/boards/epic_list_spec.rb": 4.594639236000148,5995 "ee/spec/services/vulnerabilities/finding_dismiss_service_spec.rb": 6.949732437999046,5996 "ee/spec/workers/geo/container_repository_sync_dispatch_worker_spec.rb": 6.539662615999987,5997 "ee/spec/lib/ee/api/entities/billable_member_spec.rb": 2.450838582999495,5998 "ee/spec/models/deployment_spec.rb": 4.713151845000539,5999 "ee/spec/models/incident_management/escalation_policy_spec.rb": 3.5976330079993204,6000 "ee/spec/serializers/merge_request_poll_widget_entity_spec.rb": 5.436830166998334,6001 "ee/spec/lib/ee/sidebars/projects/menus/security_compliance_menu_spec.rb": 3.793257609999273,6002 "ee/spec/finders/boards/boards_finder_spec.rb": 5.50880429100107,6003 "ee/spec/lib/gitlab/code_owners/entry_spec.rb": 4.350887618000343,6004 "ee/spec/workers/elastic_remove_expired_namespace_subscriptions_from_index_cron_worker_spec.rb": 5.183095861000766,6005 "ee/spec/finders/notes_finder_spec.rb": 3.8937266709999676,6006 "ee/spec/services/security/ingestion/tasks/ingest_finding_identifiers_spec.rb": 8.169409734999135,6007 "ee/spec/lib/ee/api/entities/deployment_extended_spec.rb": 5.622119329998895,6008 "ee/spec/services/personal_access_tokens/rotation_verifier_service_spec.rb": 1.9628644490003353,6009 "ee/spec/services/vulnerability_exports/create_service_spec.rb": 4.048454425999807,6010 "ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_closed_spec.rb": 3.4246037940010865,6011 "ee/spec/policies/dast_scanner_profile_policy_spec.rb": 2.9616965259992867,6012 "ee/spec/finders/ee/ci/daily_build_group_report_results_finder_spec.rb": 4.0639814649985055,6013 "ee/spec/lib/ee/gitlab/ci/pipeline/quota/job_activity_spec.rb": 2.637343256999884,6014 "ee/spec/graphql/mutations/incident_management/issuable_resource_link/create_spec.rb": 2.740649426001255,6015 "ee/spec/models/sbom/occurrence_spec.rb": 4.563407969000764,6016 "ee/spec/views/search/_category.html.haml_spec.rb": 3.8172649569987698,6017 "ee/spec/views/projects/security/dast_profiles/show.html.haml_spec.rb": 2.232902883999486,6018 "ee/spec/services/audit_events/export_csv_service_spec.rb": 1.3654975530007505,6019 "ee/spec/lib/ee/gitlab/scim/params_parser_spec.rb": 1.3865642529999604,6020 "ee/spec/lib/gem_extensions/elasticsearch/model/adapter/active_record/records_spec.rb": 4.2940926529990975,6021 "ee/spec/services/ci/runners/stale_group_runners_prune_service_spec.rb": 2.9293964890002826,6022 "ee/spec/workers/ci/minutes/update_project_and_namespace_usage_worker_spec.rb": 1.6924648940002953,6023 "ee/spec/tasks/gitlab/geo_rake_spec.rb": 4.031579938000505,6024 "ee/spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb": 2.3667208920014673,6025 "ee/spec/lib/gitlab/status_page/storage_spec.rb": 1.2405748660003155,6026 "ee/spec/services/app_sec/dast/scan_configs/fetch_service_spec.rb": 3.0880039839994424,6027 "ee/spec/services/security/ingestion/tasks/ingest_finding_pipelines_spec.rb": 3.39672298700134,6028 "ee/spec/lib/gitlab/ci/templates/secret_detection_latest_gitlab_ci_yaml_spec.rb": 3.5207430760001444,6029 "ee/spec/services/ee/quick_actions/target_service_spec.rb": 3.157477769000252,6030 "ee/spec/serializers/clusters/environment_entity_spec.rb": 2.3634529920000205,6031 "ee/spec/finders/boards/milestones_finder_spec.rb": 4.926601155000753,6032 "ee/spec/services/elastic/indexing_control_service_spec.rb": 0.46374736800134997,6033 "ee/spec/models/vulnerabilities/finding/evidence_spec.rb": 0.8998043270003109,6034 "ee/spec/graphql/resolvers/dast_site_validation_resolver_spec.rb": 3.157552709000811,6035 "ee/spec/services/groups/epics_count_service_spec.rb": 1.5667900249991362,6036 "ee/spec/services/licenses/destroy_service_spec.rb": 2.2092423459998827,6037 "ee/spec/graphql/types/dast_scanner_profile_type_spec.rb": 3.452691110998785,6038 "ee/spec/services/geo/hashed_storage_attachments_migration_service_spec.rb": 2.4929830799992487,6039 "ee/spec/services/incident_management/escalation_policies/destroy_service_spec.rb": 1.3092170399995666,6040 "ee/spec/services/external_status_checks/destroy_service_spec.rb": 1.7405215690014302,6041 "ee/spec/presenters/epic_issue_presenter_spec.rb": 3.3575693200000387,6042 "ee/spec/services/push_rules/create_or_update_service_spec.rb": 1.1397062940013711,6043 "ee/spec/models/ee/event_collection_spec.rb": 1.8736889869996958,6044 "ee/spec/lib/ee/gitlab/rack_attack/request_spec.rb": 0.443596470000557,6045 "ee/spec/models/ee/members_preloader_spec.rb": 2.879690613999628,6046 "ee/spec/lib/gitlab/audit/levels/group_spec.rb": 1.7788170560015715,6047 "ee/spec/services/compliance_management/merge_requests/create_compliance_violations_service_spec.rb": 2.3557460519987217,6048 "ee/spec/serializers/member_user_entity_spec.rb": 1.5949681730016891,6049 "ee/spec/services/iterations/update_service_spec.rb": 1.0808578999985912,6050 "ee/spec/models/ee/protected_ref_spec.rb": 1.9256910820004123,6051 "ee/spec/finders/ee/alert_management/http_integrations_finder_spec.rb": 1.0756891410001117,6052 "ee/spec/models/dast/branch_spec.rb": 1.9997697150010936,6053 "ee/spec/helpers/ee/learn_gitlab_helper_spec.rb": 1.2249144870002056,6054 "ee/spec/graphql/types/vulnerability_location/coverage_fuzzing_type_spec.rb": 1.7714585160010756,6055 "ee/spec/finders/autocomplete/group_subgroups_finder_spec.rb": 1.441551896999954,6056 "ee/spec/services/gitlab_subscriptions/fetch_purchase_eligible_namespaces_service_spec.rb": 0.5858093850001751,6057 "ee/spec/models/issuable_sla_spec.rb": 1.215635647000454,6058 "ee/spec/serializers/integrations/zentao_serializers/issue_entity_spec.rb": 1.3948320809995494,6059 "ee/spec/helpers/groups/feature_discovery_moments_helper_spec.rb": 0.9078215160006948,6060 "ee/spec/workers/incident_management/pending_escalations/alert_check_worker_spec.rb": 0.847784720999698,6061 "ee/spec/workers/sync_seat_link_worker_spec.rb": 1.4318615379997937,6062 "ee/spec/lib/gitlab/usage/metrics/instrumentations/count_event_streaming_destinations_metric_spec.rb": 0.45914476699908846,6063 "ee/spec/services/audit_events/release_artifacts_downloaded_audit_event_service_spec.rb": 1.0143392970003333,6064 "ee/spec/graphql/mutations/todos/create_spec.rb": 1.0051831569999194,6065 "ee/spec/services/vulnerability_external_issue_links/destroy_service_spec.rb": 1.6598790469997766,6066 "ee/spec/services/app_sec/dast/profile_schedules/audit/update_service_spec.rb": 1.6408966880007938,6067 "ee/spec/models/ee/system_note_metadata_spec.rb": 0.6931070159989758,6068 "ee/spec/policies/geo_node_policy_spec.rb": 0.7970056070007558,6069 "ee/spec/services/status_page/unpublish_details_service_spec.rb": 0.6698249479995866,6070 "ee/spec/graphql/types/geo/pipeline_artifact_registry_type_spec.rb": 0.21830885900089925,6071 "ee/spec/services/vulnerabilities/historical_statistics/adjustment_service_spec.rb": 1.2289728770010697,6072 "ee/spec/lib/system_check/geo/license_check_spec.rb": 0.4078547220015025,6073 "ee/spec/models/ee/resource_state_event_spec.rb": 0.3625189960002899,6074 "ee/spec/services/projects/import_export/export_service_spec.rb": 1.2477324150004279,6075 "ee/spec/services/path_locks/unlock_service_spec.rb": 1.256554554000104,6076 "ee/spec/routing/groups/cadences_routing_spec.rb": 0.7676231390014436,6077 "ee/spec/models/ee/analytics/cycle_analytics/stage_event_hash_spec.rb": 0.3042703420014732,6078 "ee/spec/lib/gitlab/ci/templates/coverage_fuzzing_gitlab_ci_yaml_spec.rb": 0.9428905629993096,6079 "ee/spec/graphql/types/incident_management/oncall_shift_type_spec.rb": 0.3601111870011664,6080 "ee/spec/views/shared/_clone_panel.html.haml_spec.rb": 0.8044887960004417,6081 "ee/spec/services/projects/group_links/update_service_spec.rb": 0.8376092620001145,6082 "ee/spec/views/groups/security/discover/show.html.haml_spec.rb": 0.5656870079983491,6083 "ee/spec/lib/gitlab/insights/serializers/chartjs/multi_series_serializer_spec.rb": 0.4176822310000716,6084 "ee/spec/views/admin/application_settings/_git_abuse_rate_limit.html.haml_spec.rb": 0.2973813530006737,6085 "ee/spec/lib/banzai/filter/jira_private_image_link_filter_spec.rb": 0.6622937289994297,6086 "ee/spec/lib/gitlab/customers_dot/jwt_spec.rb": 0.5219139109995012,6087 "ee/spec/services/geo/graphql_request_service_spec.rb": 0.9305270340009884,6088 "ee/spec/views/subscriptions/new.html.haml_spec.rb": 0.5447380700006761,6089 "ee/spec/graphql/ee/types/namespace_type_spec.rb": 1.292974451000191,6090 "ee/spec/lib/gitlab/ci/reports/license_scanning/reports_comparer_spec.rb": 0.26595633599936264,6091 "ee/spec/elastic/migrate/20201116142400_add_new_data_to_issues_documents_spec.rb": 0.5420782410001266,6092 "ee/spec/workers/geo/verification_batch_worker_spec.rb": 0.5107040530001541,6093 "ee/spec/lib/bulk_imports/common/pipelines/wiki_pipeline_spec.rb": 1.128692215999763,6094 "ee/spec/services/ee/alert_management/http_integrations/create_service_spec.rb": 1.110981546999028,6095 "ee/spec/services/boards/epic_boards/visits/create_service_spec.rb": 0.6566896099993755,6096 "ee/spec/lib/elastic/latest/project_instance_proxy_spec.rb": 1.3535006050005904,6097 "ee/spec/workers/geo/scheduler/scheduler_worker_spec.rb": 0.17272394399878976,6098 "ee/spec/graphql/types/dora_type_spec.rb": 0.37046304599971336,6099 "ee/spec/elastic/migrate/20201105181100_apply_max_analyzed_offset_spec.rb": 0.33694756899967615,6100 "ee/spec/graphql/types/iterations/cadence_type_spec.rb": 0.5289153910016466,6101 "ee/spec/workers/groups/export_memberships_worker_spec.rb": 0.7222218730003078,6102 "ee/spec/helpers/groups/ldap_sync_helper_spec.rb": 0.23262246800004505,6103 "ee/spec/models/concerns/ee/milestoneable_spec.rb": 0.2797499649987003,6104 "ee/spec/serializers/group_vulnerability_autocomplete_entity_spec.rb": 0.21637106999878597,6105 "ee/spec/lib/gitlab/auth/o_auth/auth_hash_spec.rb": 0.3944427630012797,6106 "ee/spec/graphql/types/merge_requests/approval_state_type_spec.rb": 0.17293215399877226,6107 "ee/spec/serializers/metrics_reports_comparer_entity_spec.rb": 0.5009216540001944,6108 "ee/spec/lib/ee/gitlab/auth/ldap/config_spec.rb": 0.12318927900014387,6109 "ee/spec/graphql/ee/types/issuable_type_spec.rb": 0.30796713100062334,6110 "ee/spec/graphql/types/app_sec/fuzzing/api/scan_mode_enum_spec.rb": 0.1479086469989852,6111 "ee/spec/graphql/types/ci/code_coverage_summary_spec.rb": 0.18645780199949513,6112 "ee/spec/services/gitlab_subscriptions/create_hand_raise_lead_service_spec.rb": 0.23032997900008922,6113 "ee/spec/graphql/types/group_stats_type_spec.rb": 0.3127831910005625,6114 "ee/spec/graphql/types/vulnerable_kubernetes_resource_type_spec.rb": 0.1424848770002427,6115 "ee/spec/graphql/types/vulnerability_severity_enum_spec.rb": 0.3267196689994307,6116 "ee/spec/graphql/types/vulnerability_identifier_input_type_spec.rb": 0.19491540200033342,6117 "ee/spec/services/ee/auto_merge_service_spec.rb": 0.20933319100004155,6118 "ee/spec/lib/gitlab/import_sources_spec.rb": 0.389970393998737566119}6120Knapsack global time execution for tests: 28m 07s6121Pending: (Failures listed here are expected and do not affect your suite's status)6122 1) Security::SecurityOrchestrationPolicies::PolicyCommitService#execute when service is used for project behaves like commits policy to associated project when policy already exists in policy project remove creates branch with removed policy6123 # around hook at ./spec/support/flaky_tests.rb:21 did not execute the example6124 # ./ee/spec/services/security/security_orchestration_policies/policy_commit_service_spec.rb:1166125 2) Geo::Scheduler::SchedulerWorker needs many other specs6126 # Not yet implemented6127 # ./ee/spec/workers/geo/scheduler/scheduler_worker_spec.rb:126128Finished in 28 minutes 11 seconds (files took 1 minute 21.37 seconds to load)61292484 examples, 0 failures, 2 pending6130RSpec exited with 0.6131No examples to retry, congrats!6133Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-14 due to policy6134Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-14 due to policy6136Uploading artifacts...6137coverage/: found 5 matching files and directories 6138crystalball/: found 2 matching files and directories 6139deprecations/: found 6 matching files and directories 6140knapsack/: found 3 matching files and directories 6141rspec/: found 9 matching files and directories 6142WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 6143log/*.log: found 20 matching files and directories 6144WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2799741121/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com6145WARNING: Retrying... context=artifacts-uploader error=request redirected6146Uploading artifacts as "archive" to coordinator... 201 Created id=2799741121 responseStatus=201 Created token=K447c3E56147Uploading artifacts...6148rspec/junit_rspec.xml: found 1 matching files and directories 6149WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2799741121/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com6150WARNING: Retrying... context=artifacts-uploader error=request redirected6151Uploading artifacts as "junit" to coordinator... 201 Created id=2799741121 responseStatus=201 Created token=K447c3E56153Job succeeded