rspec-ee unit pg12 13/16
Passed Started
by
@dbalexandre

Douglas Barbosa Alexandre
1Running with gitlab-runner 15.4.0~beta.5.gdefc7017 (defc7017)2 on blue-1.private.runners-manager.gitlab.com/gitlab.com/gitlab-org 1zzGUpzq3 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-103-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:f2f1f275f1a1dff86079a737d24a925772f06910c3559b43f32ef6b0dd23b152 for postgres:12 with digest postgres@sha256:afc79f5499a589f3130bd8666c1743db6748aa43083b52f823db72dd3af89785 ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:648aa889c697d1745a25a82475ee0df2c22ffe74dc3b7e11d2785b7738f1bcaa for redis:6.0-alpine with digest redis@sha256:4af27048227d6f68911c0098f56fff75d2e0af41d424536a571c604a5a2aa85f ...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-103-yarn-1.22-graphicsmagick-1.3.36 ...19Using docker image sha256:0de04b8fae6d288f2674c8ee330dead655389b1f4c48fa027d76f2d798deadaf 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-103-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12@sha256:3632d3da2a61b74f7c4724eb8752b609c16b498daf20e9800a9c44629adab0bc ...21Running on runner-1zzgupzq-project-278964-concurrent-0 via runner-1zzgupzq-private-1661357913-124af977...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: 115695, done. 28remote: Counting objects: 100% (115695/115695), done. 29remote: Compressing objects: 100% (77168/77168), done. 30remote: Total 115695 (delta 47763), reused 80641 (delta 34098), pack-reused 0 31Receiving objects: 100% (115695/115695), 110.34 MiB | 22.51 MiB/s, done.32Resolving deltas: 100% (47763/47763), done.34 * [new ref] refs/pipelines/621982466 -> refs/pipelines/62198246635Checking out 63997366 as refs/merge-requests/95971/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 (2929379408)...47Downloading artifacts from coordinator... ok id=2929379408 responseStatus=200 OK token=ymPBmHMR48Downloading artifacts for detect-tests (2929379414)...49Downloading artifacts from coordinator... ok id=2929379414 responseStatus=200 OK token=ymPBmHMR50Downloading artifacts for retrieve-tests-metadata (2929379417)...51Downloading artifacts from coordinator... ok id=2929379417 responseStatus=200 OK token=ymPBmHMR52Downloading artifacts for setup-test-env (2929379411)...53Downloading artifacts from coordinator... ok id=2929379411 responseStatus=200 OK token=ymPBmHMR55Using docker image sha256:0de04b8fae6d288f2674c8ee330dead655389b1f4c48fa027d76f2d798deadaf 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-103-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12@sha256:3632d3da2a61b74f7c4724eb8752b609c16b498daf20e9800a9c44629adab0bc ...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 2 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 1 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 directory116find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory117Don't run Bundler as root. Bundler can ask for sudo if it is needed, and118installing your bundle as root will break this application for all non-root119users on this machine.120Using abstract_type 0.0.7121Using concurrent-ruby 1.1.10122Using i18n 1.12.0123Using minitest 5.16.2124Using tzinfo 2.0.5125Using zeitwerk 2.6.0126Using activesupport 6.1.6.1127Using builder 3.2.4128Using erubi 1.10.0129Using mini_portile2 2.8.0130Using racc 1.6.0131Using nokogiri 1.13.8 (x86_64-linux)132Using rails-dom-testing 2.0.3133Using crass 1.0.6134Using loofah 2.18.0135Using rails-html-sanitizer 1.4.3136Using actionview 6.1.6.1137Using rack 2.2.4138Using rack-test 1.1.0139Using actionpack 6.1.6.1140Using ice_nine 0.11.2141Using thread_safe 0.3.6142Using memoizable 0.4.2143Using adamantium 0.2.0144Using public_suffix 4.0.7145Using addressable 2.8.0146Using ast 2.4.2147Using binding_ninja 0.2.3148Using bundler 2.3.15149Using charlock_holmes 0.7.7150Using coderay 1.1.2151Using equalizer 0.0.11152Using concord 0.1.5153Using diff-lcs 1.3154Using dotenv 2.7.6155Using escape_utils 1.2.2156Using factory_bot 5.0.2157Using multipart-post 2.1.1158Using faraday 1.0.1159Using ffi 1.15.5160Using json 2.5.1161Using gemojione 3.3.0162Using mini_mime 1.1.2163Using rugged 1.2.0164Using github-linguist 7.20.0165Using github-markup 1.7.0166Using mime-types-data 3.2020.1104167Using mime-types 3.3.1168Using gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1169Using rouge 3.30.0170Using sanitize 6.0.0171Using stringex 2.8.5172Using gitlab-gollum-lib 4.2.7.10.gitlab.2173Using google-protobuf 3.21.3 (x86_64-linux)174Using googleapis-common-protos-types 1.3.0175Using grpc 1.42.0 (x86_64-linux)176Using opentracing 0.5.0177Using thrift 0.15.0178Using jaeger-client 1.1.0179Using pg_query 2.1.3180Using redis 4.4.0181Using gitlab-labkit 0.23.0182Using rubyzip 2.3.2183Using thor 1.1.0184Using tomlrb 2.0.1185Using with_env 1.1.0186Using rexml 3.2.5187Using xml-simple 1.1.9188Using gitlab-license_finder 6.14.2.1189Using gitlab-markup 1.7.1190Using grpc-tools 1.42.0191Using sawyer 0.8.2192Using octokit 4.20.0193Using reverse_markdown 1.4.0194Using licensee 9.15.2195Using method_source 0.9.2196Using msgpack 1.3.3197Using optimist 3.0.1198Using parallel 1.19.2199Using parser 3.0.3.2200Using procto 0.0.3201Using unparser 0.4.7202Using proc_to_ast 0.1.0203Using pry 0.12.2204Using rainbow 3.0.0205Using rbtrace 0.4.14206Using rdoc 6.3.2207Using regexp_parser 1.8.1208Using rspec-support 3.8.0209Using rspec-core 3.8.0210Using rspec-expectations 3.8.3211Using rspec-mocks 3.8.0212Using rspec 3.8.0213Using rspec-parameterized 0.4.2214Using rubocop-ast 0.2.0215Using ruby-progressbar 1.10.1216Using unicode-display_width 1.7.0217Using rubocop 0.86.0218Using sentry-raven 3.0.4219Using timecop 0.9.1220Bundle complete! 22 Gemfile dependencies, 100 gems now installed.221Gems in the groups 'production' and 'development' were not installed.222Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`223Checking gitaly-ruby Gemfile...224Checking gitaly-ruby bundle...225The Gemfile's dependencies are satisfied226Trying to connect to gitaly: ............................................ OK227Trying to connect to gitaly2: ............................................................. OK228Starting Praefect with in-memory election strategyTrying to connect to praefect: ....... OK229==> 'scripts/gitaly-test-spawn' succeeded in 12 seconds.230$ source ./scripts/rspec_helpers.sh231$ rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"232SKIP_FLAKY_TESTS_AUTOMATICALLY: true233RETRY_FAILED_TESTS_IN_NEW_PROCESS: true234KNAPSACK_GENERATE_REPORT: true235FLAKY_RSPEC_GENERATE_REPORT: true236KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{bin,channels,config,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,lib,metrics_server,models,policies,presenters,rack_servers,replicators,routing,rubocop,scripts,serializers,services,sidekiq,sidekiq_cluster,spam,support_specs,tasks,uploaders,validators,views,workers,tooling,components}{,/**/}*_spec.rb237KNAPSACK_LOG_LEVEL: debug238KNAPSACK_REPORT_PATH: knapsack/rspec-ee_unit_pg12_13_16_report.json239FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json240FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_unit_pg12_13_16_report.json241NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_unit_pg12_13_16_report.json242SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec-ee_unit_pg12_13_16_report.txt243RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec-ee_unit_pg12_13_16_report.txt244CRYSTALBALL: 245Knapsack node specs:246ee/spec/lib/ee/gitlab/usage_data_spec.rb247ee/spec/lib/gitlab/git_access_spec.rb248ee/spec/models/geo/project_registry_spec.rb249ee/spec/services/ee/users/migrate_to_ghost_user_service_spec.rb250ee/spec/serializers/ee/ci/job_entity_spec.rb251ee/spec/replicators/geo/job_artifact_replicator_spec.rb252ee/spec/models/ee/terraform/state_version_spec.rb253ee/spec/replicators/geo/pages_deployment_replicator_spec.rb254ee/spec/services/projects/create_from_template_service_spec.rb255ee/spec/lib/gitlab/ci/templates/sast_gitlab_ci_yaml_spec.rb256ee/spec/replicators/geo/package_file_replicator_spec.rb257ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb258ee/spec/models/protected_environment_spec.rb259ee/spec/graphql/resolvers/geo/terraform_state_version_registries_resolver_spec.rb260ee/spec/services/elastic/data_migration_service_spec.rb261ee/spec/lib/banzai/reference_parser/iteration_parser_spec.rb262ee/spec/policies/requirements_management/requirement_policy_spec.rb263ee/spec/workers/store_security_reports_worker_spec.rb264ee/spec/services/geo/repository_verification_secondary_service_spec.rb265ee/spec/finders/geo/package_file_registry_finder_spec.rb266ee/spec/models/environment_spec.rb267ee/spec/workers/geo/verification_state_backfill_worker_spec.rb268ee/spec/lib/gitlab/analytics/cycle_analytics/summary/stage_time_summary_spec.rb269ee/spec/services/timebox_report_service_spec.rb270ee/spec/graphql/resolvers/geo/package_file_registries_resolver_spec.rb271ee/spec/lib/gitlab/geo/log_cursor/events/design_repository_updated_event_spec.rb272ee/spec/lib/gitlab/ci/templates/secure_binaries_ci_yaml_spec.rb273ee/spec/services/projects/destroy_service_spec.rb274ee/spec/graphql/mutations/issues/set_iteration_spec.rb275ee/spec/services/ee/boards/issues/list_service_spec.rb276ee/spec/services/epics/transfer_service_spec.rb277ee/spec/services/epics/update_dates_service_spec.rb278ee/spec/services/protected_environments/create_service_spec.rb279ee/spec/models/dast_scanner_profile_spec.rb280ee/spec/services/analytics/cycle_analytics/stages/update_service_spec.rb281ee/spec/graphql/ee/types/group_type_spec.rb282ee/spec/models/app_sec/fuzzing/coverage/corpus_spec.rb283ee/spec/graphql/mutations/issues/create_spec.rb284ee/spec/services/ee/issue_links/create_service_spec.rb285ee/spec/services/approval_rules/merge_request_rule_destroy_service_spec.rb286ee/spec/lib/gitlab/template/custom_templates_spec.rb287ee/spec/models/ee/personal_access_token_spec.rb288ee/spec/services/projects/mark_for_deletion_service_spec.rb289ee/spec/services/vulnerability_exports/export_service_spec.rb290ee/spec/services/ee/system_notes/issuables_service_spec.rb291ee/spec/models/protected_environment/deploy_access_level_spec.rb292ee/spec/serializers/vulnerabilities/feedback_entity_spec.rb293ee/spec/models/vulnerabilities/finding_identifier_spec.rb294ee/spec/graphql/mutations/dast_site_profiles/update_spec.rb295ee/spec/services/epics/reopen_service_spec.rb296ee/spec/finders/audit_event_finder_spec.rb297ee/spec/services/geo/node_update_service_spec.rb298ee/spec/services/group_saml/identity/destroy_service_spec.rb299ee/spec/workers/incident_management/apply_incident_sla_exceeded_label_worker_spec.rb300ee/spec/lib/gitlab/ci/pipeline/chain/limit/size_spec.rb301ee/spec/models/ci/minutes/additional_pack_spec.rb302ee/spec/graphql/mutations/merge_requests/set_assignees_spec.rb303ee/spec/lib/gitlab/insights/reducers/count_per_label_reducer_spec.rb304ee/spec/helpers/groups/security_features_helper_spec.rb305ee/spec/lib/gitlab/com_spec.rb306ee/spec/graphql/resolvers/board_groupings/epics_resolvers_spec.rb307ee/spec/models/ee/namespace/storage/notification_spec.rb308ee/spec/services/security/update_training_service_spec.rb309ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_label_removed_spec.rb310ee/spec/models/allowed_email_domain_spec.rb311ee/spec/graphql/resolvers/ci/code_coverage_activities_resolver_spec.rb312ee/spec/services/epics/close_service_spec.rb313ee/spec/models/saml_group_link_spec.rb314ee/spec/services/issues/build_service_spec.rb315ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb316ee/spec/finders/ee/projects_finder_spec.rb317ee/spec/models/sbom/occurrence_spec.rb318ee/spec/services/app_sec/dast/site_validations/runner_service_spec.rb319ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_label_removed_spec.rb320ee/spec/services/geo/container_repository_updated_event_store_spec.rb321ee/spec/services/boards/user_preferences/update_service_spec.rb322ee/spec/models/elastic/index_setting_spec.rb323ee/spec/services/elastic/indexing_control_service_spec.rb324ee/spec/lib/gitlab/spdx/catalogue_spec.rb325ee/spec/services/audit_events/build_service_spec.rb326ee/spec/lib/gitlab/geo/oauth/logout_state_spec.rb327ee/spec/lib/gitlab/ci/reports/security/locations/dependency_scanning_spec.rb328ee/spec/services/ci/pipeline_bridge_status_service_spec.rb329ee/spec/lib/ee/api/helpers/members_helpers_spec.rb330ee/spec/services/issues/duplicate_service_spec.rb331ee/spec/finders/incident_management/oncall_schedules_finder_spec.rb332ee/spec/graphql/types/dast_scanner_profile_type_spec.rb333ee/spec/helpers/ee/trial_registration_helper_spec.rb334ee/spec/workers/auth/saml_group_sync_worker_spec.rb335ee/spec/graphql/resolvers/geo/lfs_object_registries_resolver_spec.rb336ee/spec/lib/gitlab/compliance_management/violations/approved_by_merge_request_author_spec.rb337ee/spec/lib/gitlab/insights/executors/dora_executor_spec.rb338ee/spec/lib/sidebars/groups/menus/administration_menu_spec.rb339ee/spec/components/namespaces/free_user_cap/preview_alert_component_spec.rb340ee/spec/lib/gitlab/instrumentation_helper_spec.rb341ee/spec/models/ee/ci/pending_build_spec.rb342ee/spec/lib/ee/gitlab/analytics/cycle_analytics/aggregated/base_query_builder_spec.rb343ee/spec/graphql/mutations/boards/epic_boards/destroy_spec.rb344ee/spec/lib/gitlab/import_export/group/group_and_descendants_repo_restorer_spec.rb345ee/spec/workers/security/orchestration_policy_rule_schedule_namespace_worker_spec.rb346ee/spec/services/ee/quick_actions/target_service_spec.rb347ee/spec/views/shared/milestones/_milestone.html.haml_spec.rb348ee/spec/workers/requirements_management/import_requirements_csv_worker_spec.rb349ee/spec/lib/gitlab/exclusive_lease_spec.rb350ee/spec/validators/user_existence_validator_spec.rb351ee/spec/lib/gitlab/graphql/loaders/oncall_participant_loader_spec.rb352ee/spec/graphql/resolvers/dast_site_profile_resolver_spec.rb353ee/spec/models/ee/namespace_statistics_spec.rb354ee/spec/lib/ee/gitlab/hook_data/issue_builder_spec.rb355ee/spec/views/projects/show.html.haml_spec.rb356ee/spec/lib/gitlab/ci/templates/coverage_fuzzing_gitlab_ci_yaml_spec.rb357ee/spec/views/trial_registrations/new.html.haml_spec.rb358ee/spec/services/geo/node_create_service_spec.rb359ee/spec/services/analytics/devops_adoption/snapshots/update_service_spec.rb360ee/spec/lib/gitlab/auth/group_saml/auth_hash_spec.rb361ee/spec/serializers/license_entity_spec.rb362ee/spec/lib/gitlab/usage/metrics/instrumentations/count_users_associating_group_milestones_to_releases_metric_spec.rb363ee/spec/graphql/types/dast_site_validation_type_spec.rb364ee/spec/workers/sync_seat_link_worker_spec.rb365ee/spec/serializers/audit_event_serializer_spec.rb366ee/spec/finders/app_sec/fuzzing/coverage/corpuses_finder_spec.rb367ee/spec/lib/ee/sidebars/projects/menus/repository_menu_spec.rb368ee/spec/lib/gitlab/import_sources_spec.rb369ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/abilities_spec.rb370ee/spec/services/status_page/publish_attachments_service_spec.rb371ee/spec/helpers/ee/groups/analytics/cycle_analytics_helper_spec.rb372ee/spec/lib/gitlab/usage/metrics/instrumentations/count_saml_group_links_metric_spec.rb373ee/spec/graphql/types/metric_image_type_spec.rb374ee/spec/services/audit_events/custom_audit_event_service_spec.rb375ee/spec/graphql/resolvers/boards/epic_lists_resolvers_spec.rb376ee/spec/workers/dora/daily_metrics/refresh_worker_spec.rb377ee/spec/workers/requirements_management/process_requirements_reports_worker_spec.rb378ee/spec/views/groups/hooks/edit.html.haml_spec.rb379ee/spec/lib/ee/audit/project_feature_changes_auditor_spec.rb380ee/spec/workers/app_sec/dast/scanner_profiles_builds/consistency_worker_spec.rb381ee/spec/lib/gitlab/insights/reducers/dora_reducer_spec.rb382ee/spec/views/projects/security/dast_site_profiles/edit.html.haml_spec.rb383ee/spec/lib/gitlab/path_locks_finder_spec.rb384ee/spec/helpers/ee/ci/pipeline_editor_helper_spec.rb385ee/spec/lib/gitlab/tracking/standard_context_spec.rb386ee/spec/graphql/ee/types/boards/board_issue_input_type_spec.rb387ee/spec/workers/incident_management/oncall_rotations/persist_all_rotations_shifts_job_spec.rb388ee/spec/lib/gitlab/ci/config/entry/secret_spec.rb389ee/spec/lib/elastic/latest/config_spec.rb390ee/spec/lib/gitlab/auth/saml/config_spec.rb391ee/spec/workers/groups/export_memberships_worker_spec.rb392ee/spec/models/concerns/scim_paginatable_spec.rb393ee/spec/lib/ee/sidebars/projects/menus/ci_cd_menu_spec.rb394ee/spec/lib/gitlab/rack_attack_spec.rb395ee/spec/lib/ee/gitlab/metrics/samplers/database_sampler_spec.rb396ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/lucene_version_metric_spec.rb397ee/spec/lib/gitlab/bullet/exclusions_spec.rb398ee/spec/services/boards/epic_boards/visits/create_service_spec.rb399ee/spec/services/personal_access_tokens/revoke_service_audit_log_spec.rb400ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/version_metric_spec.rb401ee/spec/lib/gitlab/web_ide/config/entry/schemas_spec.rb402ee/spec/services/web_hook_service_spec.rb403ee/spec/lib/gitlab/search/aggregation_spec.rb404ee/spec/graphql/types/vulnerability_location/sast_type_spec.rb405ee/spec/graphql/types/requirements_management/requirement_state_enum_spec.rb406ee/spec/lib/gitlab/insights/serializers/chartjs/bar_time_series_serializer_spec.rb407ee/spec/graphql/types/iteration_type_spec.rb408ee/spec/graphql/types/vulnerability_details/commit_type_spec.rb409ee/spec/graphql/types/vulnerability_grade_enum_spec.rb410ee/spec/lib/gitlab/kerberos/authentication_spec.rb411ee/spec/graphql/types/incident_management/escalation_rule_type_spec.rb412ee/spec/workers/vulnerabilities/historical_statistics/deletion_worker_spec.rb413ee/spec/views/operations/environments.html.haml_spec.rb414ee/spec/graphql/types/dast/scan_method_type_enum_spec.rb415ee/spec/lib/gitlab/graphql/aggregations/issuables/lazy_links_aggregate_spec.rb416Filter specs:417Running specs:418Running all node tests without filter419ee/spec/lib/ee/gitlab/usage_data_spec.rb420ee/spec/lib/gitlab/git_access_spec.rb421ee/spec/models/geo/project_registry_spec.rb422ee/spec/services/ee/users/migrate_to_ghost_user_service_spec.rb423ee/spec/serializers/ee/ci/job_entity_spec.rb424ee/spec/replicators/geo/job_artifact_replicator_spec.rb425ee/spec/models/ee/terraform/state_version_spec.rb426ee/spec/replicators/geo/pages_deployment_replicator_spec.rb427ee/spec/services/projects/create_from_template_service_spec.rb428ee/spec/lib/gitlab/ci/templates/sast_gitlab_ci_yaml_spec.rb429ee/spec/replicators/geo/package_file_replicator_spec.rb430ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb431ee/spec/models/protected_environment_spec.rb432ee/spec/graphql/resolvers/geo/terraform_state_version_registries_resolver_spec.rb433ee/spec/services/elastic/data_migration_service_spec.rb434ee/spec/lib/banzai/reference_parser/iteration_parser_spec.rb435ee/spec/policies/requirements_management/requirement_policy_spec.rb436ee/spec/workers/store_security_reports_worker_spec.rb437ee/spec/services/geo/repository_verification_secondary_service_spec.rb438ee/spec/finders/geo/package_file_registry_finder_spec.rb439ee/spec/models/environment_spec.rb440ee/spec/workers/geo/verification_state_backfill_worker_spec.rb441ee/spec/lib/gitlab/analytics/cycle_analytics/summary/stage_time_summary_spec.rb442ee/spec/services/timebox_report_service_spec.rb443ee/spec/graphql/resolvers/geo/package_file_registries_resolver_spec.rb444ee/spec/lib/gitlab/geo/log_cursor/events/design_repository_updated_event_spec.rb445ee/spec/lib/gitlab/ci/templates/secure_binaries_ci_yaml_spec.rb446ee/spec/services/projects/destroy_service_spec.rb447ee/spec/graphql/mutations/issues/set_iteration_spec.rb448ee/spec/services/ee/boards/issues/list_service_spec.rb449ee/spec/services/epics/transfer_service_spec.rb450ee/spec/services/epics/update_dates_service_spec.rb451ee/spec/services/protected_environments/create_service_spec.rb452ee/spec/models/dast_scanner_profile_spec.rb453ee/spec/services/analytics/cycle_analytics/stages/update_service_spec.rb454ee/spec/graphql/ee/types/group_type_spec.rb455ee/spec/models/app_sec/fuzzing/coverage/corpus_spec.rb456ee/spec/graphql/mutations/issues/create_spec.rb457ee/spec/services/ee/issue_links/create_service_spec.rb458ee/spec/services/approval_rules/merge_request_rule_destroy_service_spec.rb459ee/spec/lib/gitlab/template/custom_templates_spec.rb460ee/spec/models/ee/personal_access_token_spec.rb461ee/spec/services/projects/mark_for_deletion_service_spec.rb462ee/spec/services/vulnerability_exports/export_service_spec.rb463ee/spec/services/ee/system_notes/issuables_service_spec.rb464ee/spec/models/protected_environment/deploy_access_level_spec.rb465ee/spec/serializers/vulnerabilities/feedback_entity_spec.rb466ee/spec/models/vulnerabilities/finding_identifier_spec.rb467ee/spec/graphql/mutations/dast_site_profiles/update_spec.rb468ee/spec/services/epics/reopen_service_spec.rb469ee/spec/finders/audit_event_finder_spec.rb470ee/spec/services/geo/node_update_service_spec.rb471ee/spec/services/group_saml/identity/destroy_service_spec.rb472ee/spec/workers/incident_management/apply_incident_sla_exceeded_label_worker_spec.rb473ee/spec/lib/gitlab/ci/pipeline/chain/limit/size_spec.rb474ee/spec/models/ci/minutes/additional_pack_spec.rb475ee/spec/graphql/mutations/merge_requests/set_assignees_spec.rb476ee/spec/lib/gitlab/insights/reducers/count_per_label_reducer_spec.rb477ee/spec/helpers/groups/security_features_helper_spec.rb478ee/spec/lib/gitlab/com_spec.rb479ee/spec/graphql/resolvers/board_groupings/epics_resolvers_spec.rb480ee/spec/models/ee/namespace/storage/notification_spec.rb481ee/spec/services/security/update_training_service_spec.rb482ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_label_removed_spec.rb483ee/spec/models/allowed_email_domain_spec.rb484ee/spec/graphql/resolvers/ci/code_coverage_activities_resolver_spec.rb485ee/spec/services/epics/close_service_spec.rb486ee/spec/models/saml_group_link_spec.rb487ee/spec/services/issues/build_service_spec.rb488ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb489ee/spec/finders/ee/projects_finder_spec.rb490ee/spec/models/sbom/occurrence_spec.rb491ee/spec/services/app_sec/dast/site_validations/runner_service_spec.rb492ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_label_removed_spec.rb493ee/spec/services/geo/container_repository_updated_event_store_spec.rb494ee/spec/services/boards/user_preferences/update_service_spec.rb495ee/spec/models/elastic/index_setting_spec.rb496ee/spec/services/elastic/indexing_control_service_spec.rb497ee/spec/lib/gitlab/spdx/catalogue_spec.rb498ee/spec/services/audit_events/build_service_spec.rb499ee/spec/lib/gitlab/geo/oauth/logout_state_spec.rb500ee/spec/lib/gitlab/ci/reports/security/locations/dependency_scanning_spec.rb501ee/spec/services/ci/pipeline_bridge_status_service_spec.rb502ee/spec/lib/ee/api/helpers/members_helpers_spec.rb503ee/spec/services/issues/duplicate_service_spec.rb504ee/spec/finders/incident_management/oncall_schedules_finder_spec.rb505ee/spec/graphql/types/dast_scanner_profile_type_spec.rb506ee/spec/helpers/ee/trial_registration_helper_spec.rb507ee/spec/workers/auth/saml_group_sync_worker_spec.rb508ee/spec/graphql/resolvers/geo/lfs_object_registries_resolver_spec.rb509ee/spec/lib/gitlab/compliance_management/violations/approved_by_merge_request_author_spec.rb510ee/spec/lib/gitlab/insights/executors/dora_executor_spec.rb511ee/spec/lib/sidebars/groups/menus/administration_menu_spec.rb512ee/spec/components/namespaces/free_user_cap/preview_alert_component_spec.rb513ee/spec/lib/gitlab/instrumentation_helper_spec.rb514ee/spec/models/ee/ci/pending_build_spec.rb515ee/spec/lib/ee/gitlab/analytics/cycle_analytics/aggregated/base_query_builder_spec.rb516ee/spec/graphql/mutations/boards/epic_boards/destroy_spec.rb517ee/spec/lib/gitlab/import_export/group/group_and_descendants_repo_restorer_spec.rb518ee/spec/workers/security/orchestration_policy_rule_schedule_namespace_worker_spec.rb519ee/spec/services/ee/quick_actions/target_service_spec.rb520ee/spec/views/shared/milestones/_milestone.html.haml_spec.rb521ee/spec/workers/requirements_management/import_requirements_csv_worker_spec.rb522ee/spec/lib/gitlab/exclusive_lease_spec.rb523ee/spec/validators/user_existence_validator_spec.rb524ee/spec/lib/gitlab/graphql/loaders/oncall_participant_loader_spec.rb525ee/spec/graphql/resolvers/dast_site_profile_resolver_spec.rbKnapsack report generator started!526Run options: exclude {:quarantine=>true, :level=>"migration"}527Test environment set up in 1.71297624 seconds528Gitlab::UsageData529 clears memoized values530 .data531/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH532/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here533 gathers usage data534/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH535/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here536 gathers usage counts537/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH538/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here539 gathers security products usage data540/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH541/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here542 gathers group overview preferences usage data543/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH544/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here545 includes a recording_ee_finished_at timestamp546 when not in FIPS mode547/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH548/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here549 includes MD5550 .features_usage_data_ee551 gathers feature usage data of EE552 .license_usage_data553 gathers license data554 when not in FIPS mode555 includes MD5556 .components_usage_data557 gathers components usage data558 .requirements_counts559 when requirements are disabled560 returns empty hash561 when requirements are enabled562 returns created requirements count563 merge requests merged using approval rules564 counts the approval rules for merged merge requests565 .operations_dashboard_usage566 gathers data on operations dashboard567 bases counts on active users568 usage_activity_by_stage_configure569 includes accurate usage_activity_by_stage data570 usage_activity_by_stage_create571 includes accurate usage_activity_by_stage data572 usage_data_by_stage_enablement573 returns empty hash if geo is not enabled574 geo enabled575 excludes data outside of the date range576 node status fields577 only includes active secondary nodes578 includes all resource status fields579 usage_activity_by_stage_manage580 includes accurate usage_activity_by_stage data581 usage_activity_by_stage_monitor582 includes accurate usage_activity_by_stage data583 usage_activity_by_stage_plan584 includes accurate usage_activity_by_stage data585 usage_activity_by_stage_release586 includes accurate usage_activity_by_stage data587 usage_activity_by_stage_secure588 includes accurate usage_activity_by_stage data589 counts pipelines that have security jobs590 counts unique users correctly across multiple scanners591 combines license_scanning into license_management592 when count fails593 with should_raise_for_dev? true594 raises an error595 with should_raise_for_dev? false596 has to resort to 0 for counting license scan597 usage_activity_by_stage_verify598 includes accurate usage_activity_by_stage data599Gitlab::GitAccess600 #check_project_accessibility!601 with ip restriction602 group with restriction603 address is within the range604 when actor is a DeployKey with access to project605 allows pull, push access606 when actor is DeployToken with access to project607 allows pull access608 when actor is user with access to project609 allows push, pull access610 when actor is instance admin611 allows push, pull access612 address is outside the range613 when actor is a DeployKey with access to project614 blocks pull, push with "not found"615 when actor is DeployToken with access to project616 blocks pull, push with "not found"617 when actor is user with access to project618 blocks pull, push with "not found"619 when actor is instance admin620 allows push, pull access621 group without restriction622 when actor is a DeployKey with access to project623 allows pull, push access624 when actor is DeployToken with access to project625 allows pull access626 when actor is user with access to project627 allows push, pull access628 when actor is instance admin629 allows push, pull access630 when in a read-only GitLab instance631 behaves like git access for a read-only GitLab instance632 denies push access633 for a Geo setup634 that is incorrectly set up635 denies push access with primary present636 that is correctly set up637 for a git clone/pull638 attempts to proxy to the primary639 for a git push640 attempts to proxy to the primary641 push_rule_check642 author email check643 returns true644 returns false when a commit message is missing required matches (positive regex match)645 returns false when a commit message contains forbidden characters (negative regex match)646 returns true for tags647 allows githook for new branch with an old bad commit648 allows githook for any change with an old bad commit649 does not allow any change from Web UI with bad commit650 member_check651 returns false for non-member user652 returns true if committer is a gitlab member653 file names check654 returns false when filename is prohibited655 returns true if file name is allowed656 max file size check657 returns false when size is too large658 returns true when size is allowed659 repository size restrictions660 when GIT_OBJECT_DIRECTORY_RELATIVE env var is set661 when repository size is over limit662 behaves like a push to repository over the limit663 rejects the push664 when deleting a branch665 accepts the operation666 when namespace storage size is below the limit667 behaves like a push to repository over the limit668 rejects the push669 when deleting a branch670 accepts the operation671 when repository size is below the limit672 behaves like a push to repository below the limit673 when trying to authenticate the user674 does not raise an error675 when pushing a new branch676 accepts the push677 when object directory (quarantine) size exceeds the limit678 rejects the push679 when object directory (quarantine) size does not exceed the limit680 accepts the push681 when namespace storage size is over the limit682 behaves like a push to repository below the limit683 when trying to authenticate the user684 does not raise an error685 when pushing a new branch686 accepts the push687 when GIT_OBJECT_DIRECTORY_RELATIVE env var is not set and git-rev-list is used for checking against the repository size limit688 when repository size is over limit689 behaves like a push to repository over the limit690 rejects the push691 when deleting a branch692 accepts the operation693 when namespace storage size is below the limit694 behaves like a push to repository over the limit695 rejects the push696 when deleting a branch697 accepts the operation698 when repository size is below the limit699 behaves like a push to repository below the limit700 when trying to authenticate the user701 does not raise an error702 when pushing a new branch703 accepts the push704 when new change exceeds the limit705 rejects the push706 when new change does not exceed the limit707 accepts the push708 when namespace storage size is over the limit709 behaves like a push to repository below the limit710 when trying to authenticate the user711 does not raise an error712 when pushing a new branch713 accepts the push714 Geo715 git pull716 is expected not to raise Exception717 for non-Geo with maintenance mode718 does not return a replication lag message nor call the lag check719 for a secondary720 for a repository that has been replicated721 that has no DB replication lag722 does not return a replication lag message in the console messages723 that has DB replication lag > 0724 returns a replication lag message in the console messages725 for a repository that has yet to be replicated726 returns a custom action727 git push728 is expected to raise Gitlab::GitAccess::ForbiddenError with "You are not allowed to upload code for this project."729 for a secondary730 returns a custom action731 #check_push_access!732 user-specific access control733 when a specific user is allowed to push into the exact protected branch734 has the correct permissions for admin_with_admin_modes735 has the correct permissions for admin_without_admin_modes736 has the correct permissions for maintainers737 has the correct permissions for developers738 has the correct permissions for reporters739 has the correct permissions for guests740 when a specific user is allowed to merge into the exact protected branch741 has the correct permissions for admin_with_admin_modes742 has the correct permissions for admin_without_admin_modes743 has the correct permissions for maintainers744 has the correct permissions for developers745 has the correct permissions for reporters746 has the correct permissions for guests747 when a specific user is allowed to push & merge into the exact protected branch748 has the correct permissions for admin_with_admin_modes749 has the correct permissions for admin_without_admin_modes750 has the correct permissions for maintainers751 has the correct permissions for developers752 has the correct permissions for reporters753 has the correct permissions for guests754 when license blocks changes755 raises an error756 group-specific access control757 when a specific group is allowed to push into the exact protected branch758 has the correct permissions for group maintainers759 has the correct permissions for group developers760 has the correct permissions for group reporters761 has the correct permissions for group guests762 when a specific group is allowed to merge into the exact protected branch763 has the correct permissions for group maintainers764 has the correct permissions for group developers765 has the correct permissions for group reporters766 has the correct permissions for group guests767 when a specific group is allowed to push & merge into the exact protected branch768 has the correct permissions for group maintainers769 has the correct permissions for group developers770 has the correct permissions for group reporters771 has the correct permissions for group guests772 user-specific access control773 when a specific user is allowed to push into the wildcard protected branch774 has the correct permissions for admin_with_admin_modes775 has the correct permissions for admin_without_admin_modes776 has the correct permissions for maintainers777 has the correct permissions for developers778 has the correct permissions for reporters779 has the correct permissions for guests780 when a specific user is allowed to merge into the wildcard protected branch781 has the correct permissions for admin_with_admin_modes782 has the correct permissions for admin_without_admin_modes783 has the correct permissions for maintainers784 has the correct permissions for developers785 has the correct permissions for reporters786 has the correct permissions for guests787 when a specific user is allowed to push & merge into the wildcard protected branch788 has the correct permissions for admin_with_admin_modes789 has the correct permissions for admin_without_admin_modes790 has the correct permissions for maintainers791 has the correct permissions for developers792 has the correct permissions for reporters793 has the correct permissions for guests794 when license blocks changes795 raises an error796 group-specific access control797 when a specific group is allowed to push into the wildcard protected branch798 has the correct permissions for group maintainers799 has the correct permissions for group developers800 has the correct permissions for group reporters801 has the correct permissions for group guests802 when a specific group is allowed to merge into the wildcard protected branch803 has the correct permissions for group maintainers804 has the correct permissions for group developers805 has the correct permissions for group reporters806 has the correct permissions for group guests807 when a specific group is allowed to push & merge into the wildcard protected branch808 has the correct permissions for group maintainers809 has the correct permissions for group developers810 has the correct permissions for group reporters811 has the correct permissions for group guests812 #check_smartcard_access!813 user with a smartcard session814 allows pull changes815 allows push changes816 user without a smartcard session817 does not allow pull changes818 does not allow push changes819 with the setting off820 allows pull changes821 allows push changes822 #check_otp_session!823 with an OTP session824 allows push and pull access825 based on the duration set by the `git_two_factor_session_expiry` setting826 at a time before the stipulated expiry827 allows push and pull access828 at a time after the stipulated expiry829 does not allow push and pull access830 without OTP session831 does not allow push or pull access832 when protocol is HTTP833 allows push and pull access834 when actor is not an SSH key835 allows push and pull access836 when 2FA is not enabled for the user837 allows push and pull access838 when feature flag is disabled839 allows push and pull access840 when licensed feature is not available841 allows push and pull access842 #check_sso_session!843 with project without group844 allows pull and push changes845 with project with group846 user with a sso session847 allows pull and push changes848 user without a sso session849 when the request is made directly by the user850 does not allow pull or push changes with proper url in the message851 with a subgroup852 does not allow pull or push changes with proper url in the message853 when the request is made from CI builds854 allows pull and push changes855 when legacy CI credentials are used856 allows pull and push changes857 #check_maintenance_mode!858 when maintenance mode is enabled859 blocks git push860 when maintenance mode is disabled861 allows git push862 #check_valid_actor!863 key expiration is enforced864 does not allow expired keys865 #check_download_access!866 disallows hidden projects to be to pulled867Geo::ProjectRegistry868 behaves like a BulkInsertSafe model869 when calling class methods directly870 raises an error when method is not bulk-insert safe871 does not raise an error when method is bulk-insert safe872 .bulk_insert!873 when all items are valid874 inserts them all875 returns an empty array876 when some items are invalid877 does not insert any of them and raises an error878 inserts them anyway when bypassing validations879 relationships880 is expected to belong to project required: false881 validations882 is expected to validate that :project cannot be empty/falsy883 is expected to validate that :project is case-sensitively unique884 .find_registry_differences885 untracked IDs886 includes project IDs without an entry on the tracking database887 excludes projects outside the ID range888 with selective sync by namespace889 excludes project IDs that are not in selectively synced projects890 with selective sync by shard891 excludes project IDs that are not in selectively synced projects892 unused tracked IDs893 with an orphaned registry894 includes tracked IDs that do not exist in the model table895 excludes IDs outside the ID range896 with selective sync by namespace897 with a tracked project898 excluded from selective sync899 includes tracked project IDs that exist but are not in a selectively synced project900 included in selective sync901 excludes tracked project IDs that are in selectively synced projects902 with selective sync by shard903 with a tracked project904 excluded from selective sync905 includes tracked project IDs that exist but are not in a selectively synced project906 included in selective sync907 excludes tracked project IDs that are in selectively synced projects908 .synced_repos909 returns clean projects where last attempt to sync succeeded910 .synced_wikis911 returns clean projects where last attempt to sync succeeded912 .failed_repos913 returns projects where last attempt to sync failed914 .failed_wikis915 returns projects where last attempt to sync failed916 .verified_repos917 returns projects that verified918 .verification_failed_repos919 returns projects where last attempt to verify failed920 .verified_wikis921 returns projects that verified922 .verification_failed_wikis923 returns projects where last attempt to verify failed924 .checksum_mismatch925 returns projects where there is a checksum mismatch926 .retry_due927 returns projects that should be synced928 .with_search929 returns project registries that refers to projects with a matching name930 returns project registries that refers to projects with a matching name regardless of the casing931 returns project registries that refers to projects with a matching description932 returns project registries that refers to projects with a partially matching description933 returns project registries that refers to projects with a matching description regardless of the casing934 returns project registries that refers to projects with a matching path935 returns project registries that refers to projects with a partially matching path936 returns project registries that refers to projects with a matching path regardless of the casing937 .flag_repositories_for_reverify!938 modified record to a reverify state939 .flag_repositories_for_resync!940 modified record to a resync state941 .repository_out_of_date?942 for a non-Geo setup943 returns false944 for a Geo setup945 for a Geo Primary946 returns false947 for a Geo secondary948 where Primary node is not configured949 returns false950 where Primary node is configured951 where project_registry entry does not exist952 returns true953 where project_registry entry does exist954 where last_repository_updated_at is not set955 returns false956 where last_repository_updated_at is set957 where last_repository_successful_sync_at is not set958 returns true959 where last_repository_successful_sync_at is set960 project_last_updated: Wed, 24 Aug 2022 17:12:29.899111434 UTC +00:00, project_state_last_updated: nil, project_registry_last_synced: Wed, 24 Aug 2022 17:10:29.899287764 UTC +00:00, expected_out_of_date?: true961 returns the expected value962 project_last_updated: Wed, 24 Aug 2022 17:12:29.899320224 UTC +00:00, project_state_last_updated: nil, project_registry_last_synced: Wed, 24 Aug 2022 17:14:29.899359014 UTC +00:00, expected_out_of_date?: false963 returns the expected value964 project_last_updated: Wed, 24 Aug 2022 17:12:29.899387334 UTC +00:00, project_state_last_updated: Wed, 24 Aug 2022 17:15:29.899411264 UTC +00:00, project_registry_last_synced: Wed, 24 Aug 2022 17:14:29.899425404 UTC +00:00, expected_out_of_date?: true965 returns the expected value966 project_last_updated: Wed, 24 Aug 2022 17:12:29.899451154 UTC +00:00, project_state_last_updated: Wed, 24 Aug 2022 17:13:29.899475594 UTC +00:00, project_registry_last_synced: Wed, 24 Aug 2022 17:14:29.899505184 UTC +00:00, expected_out_of_date?: false967 returns the expected value968 project_last_updated: Wed, 24 Aug 2022 17:12:29.899530704 UTC +00:00, project_state_last_updated: Wed, 24 Aug 2022 17:15:29.899554264 UTC +00:00, project_registry_last_synced: Wed, 24 Aug 2022 17:10:29.899568914 UTC +00:00, expected_out_of_date?: true969 returns the expected value970 #repository_sync_due?971 last_synced_at: nil, resync: false, retry_at: nil, expected: true972 is expected to eq true973 last_synced_at: nil, resync: true, retry_at: nil, expected: true974 is expected to eq true975 last_synced_at: nil, resync: true, retry_at: Tue, 24 Aug 2021 17:15:29.908497463 UTC +00:00, expected: true976 is expected to eq true977 last_synced_at: nil, resync: true, retry_at: Thu, 24 Aug 2023 17:15:29.908497463 UTC +00:00, expected: true978 is expected to eq true979 last_synced_at: Tue, 24 Aug 2021 17:15:29.908497463 UTC +00:00, resync: false, retry_at: nil, expected: false980 is expected to eq false981 last_synced_at: Tue, 24 Aug 2021 17:15:29.908497463 UTC +00:00, resync: true, retry_at: nil, expected: true982 is expected to eq true983 last_synced_at: Tue, 24 Aug 2021 17:15:29.908497463 UTC +00:00, resync: true, retry_at: Tue, 24 Aug 2021 17:15:29.908497463 UTC +00:00, expected: true984 is expected to eq true985 last_synced_at: Tue, 24 Aug 2021 17:15:29.908497463 UTC +00:00, resync: true, retry_at: Thu, 24 Aug 2023 17:15:29.908497463 UTC +00:00, expected: false986 is expected to eq false987 last_synced_at: Thu, 24 Aug 2023 17:15:29.908497463 UTC +00:00, resync: false, retry_at: nil, expected: false988 is expected to eq false989 last_synced_at: Thu, 24 Aug 2023 17:15:29.908497463 UTC +00:00, resync: true, retry_at: nil, expected: false990 is expected to eq false991 last_synced_at: Thu, 24 Aug 2023 17:15:29.908497463 UTC +00:00, resync: true, retry_at: Tue, 24 Aug 2021 17:15:29.908497463 UTC +00:00, expected: false992 is expected to eq false993 last_synced_at: Thu, 24 Aug 2023 17:15:29.908497463 UTC +00:00, resync: true, retry_at: Thu, 24 Aug 2023 17:15:29.908497463 UTC +00:00, expected: false994 is expected to eq false995 #wiki_sync_due?996 last_synced_at: nil, resync: false, retry_at: nil, expected: true997 is expected to eq true998 last_synced_at: nil, resync: true, retry_at: nil, expected: true999 is expected to eq true1000 last_synced_at: nil, resync: true, retry_at: Tue, 24 Aug 2021 17:15:29.926211531 UTC +00:00, expected: true1001 is expected to eq true1002 last_synced_at: nil, resync: true, retry_at: Thu, 24 Aug 2023 17:15:29.926211531 UTC +00:00, expected: true1003 is expected to eq true1004 last_synced_at: Tue, 24 Aug 2021 17:15:29.926211531 UTC +00:00, resync: false, retry_at: nil, expected: false1005 is expected to eq false1006 last_synced_at: Tue, 24 Aug 2021 17:15:29.926211531 UTC +00:00, resync: true, retry_at: nil, expected: true1007 is expected to eq true1008 last_synced_at: Tue, 24 Aug 2021 17:15:29.926211531 UTC +00:00, resync: true, retry_at: Tue, 24 Aug 2021 17:15:29.926211531 UTC +00:00, expected: true1009 is expected to eq true1010 last_synced_at: Tue, 24 Aug 2021 17:15:29.926211531 UTC +00:00, resync: true, retry_at: Thu, 24 Aug 2023 17:15:29.926211531 UTC +00:00, expected: false1011 is expected to eq false1012 last_synced_at: Thu, 24 Aug 2023 17:15:29.926211531 UTC +00:00, resync: false, retry_at: nil, expected: false1013 is expected to eq false1014 last_synced_at: Thu, 24 Aug 2023 17:15:29.926211531 UTC +00:00, resync: true, retry_at: nil, expected: false1015 is expected to eq false1016 last_synced_at: Thu, 24 Aug 2023 17:15:29.926211531 UTC +00:00, resync: true, retry_at: Tue, 24 Aug 2021 17:15:29.926211531 UTC +00:00, expected: false1017 is expected to eq false1018 last_synced_at: Thu, 24 Aug 2023 17:15:29.926211531 UTC +00:00, resync: true, retry_at: Thu, 24 Aug 2023 17:15:29.926211531 UTC +00:00, expected: false1019 is expected to eq false1020 redis shared state1021 #syncs_since_gc1022 without any sync1023 returns 01024 with a number of syncs1025 returns the number of syncs1026 #increment_syncs_since_gc1027 increments the number of syncs since the last GC1028 #reset_syncs_since_gc1029 resets the number of syncs since the last GC1030 #start_sync!1031 for a repository1032 sets last_repository_synced_at to now1033 when repository_retry_count is nil1034 sets repository_retry_count to 01035 for a wiki1036 sets last_wiki_synced_at to now1037 when wiki_retry_count is nil1038 sets wiki_retry_count to 01039 #finish_sync!1040 for a repository1041 sets last_repository_successful_sync_at to now1042 resets sync state1043 resets verification state1044 does not reset repository_verification_retry_count1045 when a repository was missing on primary1046 sets repository_missing_on_primary as true1047 when a repository sync was scheduled after the last sync began1048 does not reset resync_repository1049 resets the other sync state fields1050 resets the verification state1051 does not reset repository_verification_retry_count1052 for a wiki1053 sets last_wiki_successful_sync_at to now1054 resets sync state1055 resets verification state1056 does not reset wiki_verification_retry_count1057 when a wiki was missing on primary1058 sets wiki_missing_on_primary as true1059 when a wiki sync was scheduled after the last sync began1060 does not reset resync_wiki1061 resets the other sync state fields1062 resets the verification state1063 does not reset wiki_verification_retry_count1064 #fail_sync!1065 for a repository1066 sets repository_retry_at to a future time1067 ensures repository_retry_at is capped at one hour1068 sets resync_repository to true1069 includes message in last_repository_sync_failure1070 includes error message in last_repository_sync_failure1071 increments repository_retry_count1072 optionally updates other attributes1073 when repository_retry_count is 01074 increments repository_retry_count1075 when repository_retry_count is 11076 increments repository_retry_count1077 for a wiki1078 sets wiki_retry_at to a future time1079 ensures wiki_retry_at is capped at one hour1080 sets resync_wiki to true1081 includes message in last_wiki_sync_failure1082 includes error message in last_wiki_sync_failure1083 increments wiki_retry_count1084 optionally updates other attributes1085 when wiki_retry_count is 01086 increments wiki_retry_count1087 when wiki_retry_count is 11088 increments wiki_retry_count1089 #repository_created!1090 sets resync_repository to true1091 when the RepositoryCreatedEvent wiki_path is present1092 sets resync_wiki to true1093 when the RepositoryCreatedEvent wiki_path is blank1094 sets resync_wiki to false1095 #repository_updated!1096 for a repository1097 resets sync state1098 resets verification state1099 for a wiki1100 resets sync state1101 resets verification state1102 #reset_checksum!1103 resets repository/wiki verification state1104 #repository_verification_pending?1105 returns true when outdated1106 returns true when we are missing checksum sha1107 returns false when checksum is present1108 #wiki_verification_pending?1109 returns true when outdated1110 returns true when we are missing checksum sha1111 returns false when checksum is present1112 pending_verification?1113 returns true when either wiki or repository verification is pending1114 returns false when both wiki and repository verification is present1115 pending_synchronization?1116 returns true when either wiki or repository synchronization is pending1117 returns false when both wiki and repository synchronization is present1118 #flag_repository_for_reverify!1119 modified record to a reverify state1120 #flag_repository_for_resync!1121 modified record to a resync state1122 #flag_repository_for_redownload!1123 modified record to a redownload state1124 #candidate_for_redownload?1125 returns false when repository_retry_count is 1 or less1126 returns true when repository_retry_count is > 11127 #synchronization_state1128 returns :never when no attempt to sync has ever been done1129 returns :failed when there is an existing error logged1130 returns :pending when there is an existing error logged1131 returns :synced when its fully synced and there is no pending action or existing error1132 repository_has_successfully_synced?1133 when repository has never successfully synced1134 returns false1135 when repository has successfully synced1136 returns true1137 should_be_redownloaded?1138 when type is invalid1139 raises ArgumentError1140 when type is repository1141 force_to_redownload_repository: false, repository_retry_count: nil, expected: false1142 returns the expected boolean1143 force_to_redownload_repository: false, repository_retry_count: 0, expected: false1144 returns the expected boolean1145 force_to_redownload_repository: false, repository_retry_count: 1, expected: false1146 returns the expected boolean1147 force_to_redownload_repository: false, repository_retry_count: 10, expected: false1148 returns the expected boolean1149 force_to_redownload_repository: false, repository_retry_count: 11, expected: true1150 returns the expected boolean1151 force_to_redownload_repository: false, repository_retry_count: 12, expected: false1152 returns the expected boolean1153 force_to_redownload_repository: false, repository_retry_count: 13, expected: true1154 returns the expected boolean1155 force_to_redownload_repository: false, repository_retry_count: 14, expected: false1156 returns the expected boolean1157 force_to_redownload_repository: false, repository_retry_count: 101, expected: true1158 returns the expected boolean1159 force_to_redownload_repository: false, repository_retry_count: 102, expected: false1160 returns the expected boolean1161 force_to_redownload_repository: true, repository_retry_count: nil, expected: true1162 returns the expected boolean1163 force_to_redownload_repository: true, repository_retry_count: 0, expected: true1164 returns the expected boolean1165 force_to_redownload_repository: true, repository_retry_count: 11, expected: true1166 returns the expected boolean1167 when type is wiki1168 force_to_redownload_wiki: false, wiki_retry_count: nil, expected: false1169 returns the expected boolean1170 force_to_redownload_wiki: false, wiki_retry_count: 0, expected: false1171 returns the expected boolean1172 force_to_redownload_wiki: false, wiki_retry_count: 1, expected: false1173 returns the expected boolean1174 force_to_redownload_wiki: false, wiki_retry_count: 10, expected: false1175 returns the expected boolean1176 force_to_redownload_wiki: false, wiki_retry_count: 11, expected: true1177 returns the expected boolean1178 force_to_redownload_wiki: false, wiki_retry_count: 12, expected: false1179 returns the expected boolean1180 force_to_redownload_wiki: false, wiki_retry_count: 13, expected: true1181 returns the expected boolean1182 force_to_redownload_wiki: false, wiki_retry_count: 14, expected: false1183 returns the expected boolean1184 force_to_redownload_wiki: false, wiki_retry_count: 101, expected: true1185 returns the expected boolean1186 force_to_redownload_wiki: false, wiki_retry_count: 102, expected: false1187 returns the expected boolean1188 force_to_redownload_wiki: true, wiki_retry_count: nil, expected: true1189 returns the expected boolean1190 force_to_redownload_wiki: true, wiki_retry_count: 0, expected: true1191 returns the expected boolean1192 force_to_redownload_wiki: true, wiki_retry_count: 11, expected: true1193 returns the expected boolean1194Users::MigrateToGhostUserService1195 epics1196 deleted user is present as both author and edited_user1197 for a epic the user has created1198 does not delete the epic1199 blocks the user before migrating epics to the 'Ghost User'1200 migrates all associated fields to the "Ghost user"1201 will only migrate specific records during a hard_delete1202 race conditions1203 blocks the user before epic migration begins1204 when epic migration fails and is rolled back1205 rolls back the user block1206 doesn't unblock a previously-blocked user1207 deleted user is present only as edited_user1208 for a epic the user has created1209 does not delete the epic1210 blocks the user before migrating epics to the 'Ghost User'1211 migrates all associated fields to the "Ghost user"1212 will only migrate specific records during a hard_delete1213 race conditions1214 blocks the user before epic migration begins1215 when epic migration fails and is rolled back1216 rolls back the user block1217 doesn't unblock a previously-blocked user1218 vulnerability_feedback author1219 for a vulnerabilities/feedback the user has created1220 does not delete the vulnerabilities/feedback1221 blocks the user before migrating vulnerabilities/feedbacks to the 'Ghost User'1222 migrates all associated fields to the "Ghost user"1223 will only migrate specific records during a hard_delete1224 race conditions1225 blocks the user before vulnerabilities/feedback migration begins1226 when vulnerabilities/feedback migration fails and is rolled back1227 rolls back the user block1228 doesn't unblock a previously-blocked user1229 vulnerability_feedback comment author1230 for a vulnerabilities/feedback the user has created1231 does not delete the vulnerabilities/feedback1232 blocks the user before migrating vulnerabilities/feedbacks to the 'Ghost User'1233 migrates all associated fields to the "Ghost user"1234 will only migrate specific records during a hard_delete1235 race conditions1236 blocks the user before vulnerabilities/feedback migration begins1237 when vulnerabilities/feedback migration fails and is rolled back1238 rolls back the user block1239 doesn't unblock a previously-blocked user1240 vulnerability author1241 for a vulnerability the user has created1242 does not delete the vulnerability1243 blocks the user before migrating vulnerabilitys to the 'Ghost User'1244 migrates all associated fields to the "Ghost user"1245 will only migrate specific records during a hard_delete1246 race conditions1247 blocks the user before vulnerability migration begins1248 when vulnerability migration fails and is rolled back1249 rolls back the user block1250 doesn't unblock a previously-blocked user1251 vulnerability_external_issue_link author1252 for a vulnerabilities/external issue link the user has created1253 does not delete the vulnerabilities/external issue link1254 blocks the user before migrating vulnerabilities/external issue links to the 'Ghost User'1255 migrates all associated fields to the "Ghost user"1256 will only migrate specific records during a hard_delete1257 race conditions1258 blocks the user before vulnerabilities/external issue link migration begins1259 when vulnerabilities/external issue link migration fails and is rolled back1260 rolls back the user block1261 doesn't unblock a previously-blocked user1262 vulnerability_state_transitions author1263 for a vulnerabilities/state transition the user has created1264 does not delete the vulnerabilities/state transition1265 blocks the user before migrating vulnerabilities/state transitions to the 'Ghost User'1266 migrates all associated fields to the "Ghost user"1267 will only migrate specific records during a hard_delete1268 race conditions1269 blocks the user before vulnerabilities/state transition migration begins1270 when vulnerabilities/state transition migration fails and is rolled back1271 rolls back the user block1272 doesn't unblock a previously-blocked user1273 requirements1274 for a requirements management/requirement the user has created1275 does not delete the requirements management/requirement1276 blocks the user before migrating requirements management/requirements to the 'Ghost User'1277 migrates all associated fields to the "Ghost user"1278 will only migrate specific records during a hard_delete1279 race conditions1280 blocks the user before requirements management/requirement migration begins1281 when requirements management/requirement migration fails and is rolled back1282 rolls back the user block1283 doesn't unblock a previously-blocked user1284 resource_iteration_events1285 for a resource iteration event the user has created1286 does not delete the resource iteration event1287 blocks the user before migrating resource iteration events to the 'Ghost User'1288 migrates all associated fields to the "Ghost user"1289 will only migrate specific records during a hard_delete1290 race conditions1291 blocks the user before resource iteration event migration begins1292 when resource iteration event migration fails and is rolled back1293 rolls back the user block1294 doesn't unblock a previously-blocked user1295Ci::JobEntity1296 #playable?1297 behaves like protected environments access1298 when Protected Environments feature is not available in the project1299 access_level: :guest, result: false1300 is expected to eq false1301 access_level: :reporter, result: false1302 is expected to eq false1303 access_level: :developer, result: true1304 is expected to eq true1305 access_level: :maintainer, result: true1306 is expected to eq true1307 access_level: :admin, result: true1308 is expected to eq true1309 when Protected Environments feature is available in the project1310 when environment is protected with project-level protection1311 behaves like authorize correctly per access type1312 when user does not have access to the environment1313 access_level: :guest, result: false1314 is expected to eq false1315 access_level: :reporter, result: false1316 is expected to eq false1317 access_level: :developer, result: false1318 is expected to eq false1319 access_level: :maintainer, result: false1320 is expected to eq false1321 access_level: :admin, result: true1322 is expected to eq true1323 when user has access to the environment1324 access_level: :reporter, result: true1325 is expected to eq true1326 access_level: :developer, result: true1327 is expected to eq true1328 access_level: :maintainer, result: true1329 is expected to eq true1330 access_level: :admin, result: true1331 is expected to eq true1332 when the user has access via a group1333 is expected to eq true1334 when environment is protected with group-level protection1335 behaves like authorize correctly per access type1336 when user does not have access to the environment1337 access_level: :guest, result: false1338 is expected to eq false1339 access_level: :reporter, result: false1340 is expected to eq false1341 access_level: :developer, result: false1342 is expected to eq false1343 access_level: :maintainer, result: false1344 is expected to eq false1345 access_level: :admin, result: true1346 is expected to eq true1347 when user has access to the environment1348 access_level: :reporter, result: true1349 is expected to eq true1350 access_level: :developer, result: true1351 is expected to eq true1352 access_level: :maintainer, result: true1353 is expected to eq true1354 access_level: :admin, result: true1355 is expected to eq true1356 when the user has access via a group1357 is expected to eq true1358 when environment is not protected1359 access_level: :guest, result: false1360 is expected to eq false1361 access_level: :reporter, result: false1362 is expected to eq false1363 access_level: :developer, result: true1364 is expected to eq true1365 access_level: :maintainer, result: true1366 is expected to eq true1367 access_level: :admin, result: true1368 is expected to eq true1369 #retryable?1370 behaves like protected environments access1371 when Protected Environments feature is not available in the project1372 access_level: :guest, result: false1373 is expected to eq false1374 access_level: :reporter, result: false1375 is expected to eq false1376 access_level: :developer, result: true1377 is expected to eq true1378 access_level: :maintainer, result: true1379 is expected to eq true1380 access_level: :admin, result: true1381 is expected to eq true1382 when Protected Environments feature is available in the project1383 when environment is protected with project-level protection1384 behaves like authorize correctly per access type1385 when user does not have access to the environment1386 access_level: :guest, result: false1387 is expected to eq false1388 access_level: :reporter, result: false1389 is expected to eq false1390 access_level: :developer, result: false1391 is expected to eq false1392 access_level: :maintainer, result: false1393 is expected to eq false1394 access_level: :admin, result: true1395 is expected to eq true1396 when user has access to the environment1397 access_level: :reporter, result: true1398 is expected to eq true1399 access_level: :developer, result: true1400 is expected to eq true1401 access_level: :maintainer, result: true1402 is expected to eq true1403 access_level: :admin, result: true1404 is expected to eq true1405 when the user has access via a group1406 is expected to eq true1407 when environment is protected with group-level protection1408 behaves like authorize correctly per access type1409 when user does not have access to the environment1410 access_level: :guest, result: false1411 is expected to eq false1412 access_level: :reporter, result: false1413 is expected to eq false1414 access_level: :developer, result: false1415 is expected to eq false1416 access_level: :maintainer, result: false1417 is expected to eq false1418 access_level: :admin, result: true1419 is expected to eq true1420 when user has access to the environment1421 access_level: :reporter, result: true1422 is expected to eq true1423 access_level: :developer, result: true1424 is expected to eq true1425 access_level: :maintainer, result: true1426 is expected to eq true1427 access_level: :admin, result: true1428 is expected to eq true1429 when the user has access via a group1430 is expected to eq true1431 when environment is not protected1432 access_level: :guest, result: false1433 is expected to eq false1434 access_level: :reporter, result: false1435 is expected to eq false1436 access_level: :developer, result: true1437 is expected to eq true1438 access_level: :maintainer, result: true1439 is expected to eq true1440 access_level: :admin, result: true1441 is expected to eq true1442Geo::JobArtifactReplicator1443 invokes replicator.handle_after_create_commit on create1444 behaves like a replicator1445 Geo node status1446 on a primary site1447 .primary_total_count1448 when batch count feature flag is enabled1449 returns the number of available replicables on primary1450 when batch count feature flag is disabled1451 returns the number of available replicables on primary1452 on a secondary site1453 .synced_count1454 returns the number of synced items on secondary1455 .failed_count1456 returns the number of failed items on secondary1457 #replicator1458 is defined and does not raise error1459 .replicables_for_current_secondary1460 when syncing object storage is enabled1461 behaves like is implemented and returns a valid relation1462 is implemented1463 when syncing object storage is disabled1464 behaves like is implemented and returns a valid relation1465 is implemented1466 with selective sync disabled1467 behaves like is implemented and returns a valid relation1468 is implemented1469 with selective sync enabled for namespaces1470 behaves like is implemented and returns a valid relation1471 is implemented1472 with selective sync enabled for shards1473 behaves like is implemented and returns a valid relation1474 is implemented1475 #handle_after_create_commit1476 creates a Geo::Event1477 calls #after_verifiable_update1478 when replication feature flag is disabled1479 does not call #after_verifiable_update1480 does not publish1481 #handle_after_destroy1482 creates a Geo::Event1483 when replication feature flag is disabled1484 does not publish1485 created event consumption1486 when the blob's project is in replicables for this geo node1487 invokes Geo::BlobDownloadService1488 when the blob's project is not in replicables for this geo node1489 does not invoke Geo::BlobDownloadService1490 deleted event consumption1491 when model_record was deleted from the DB and the replicator only has its ID1492 invokes Geo::FileRegistryRemovalService1493 backward compatibility1494 invokes Geo::FileRegistryRemovalService when delete event is in deprecated format1495 when object storage is enabled1496 when GitLab managed replication is enabled1497 deletes the file from object storage1498 when GitLab managed replication is disabled1499 does not delete the file from object storage1500 #carrierwave_uploader1501 is implemented1502 #model1503 is implemented1504 is a Class1505 responds to primary_key1506 #blob_path1507 when the file is locally stored1508 returns a valid path to a file1509 #calculate_checksum1510 when the file is locally stored1511 when the file exists1512 returns hexdigest of the file1513 when the file does not exist1514 raises an error1515 when the file is remotely stored1516 raises an error1517 #file_exists?1518 is expected to be truthy1519 when the file does not exist1520 is expected to be falsey1521 when the file is nil1522 is expected to be falsey1523 .bulk_create_delete_events_async1524 creates events1525 raises error when model_record_id is nil1526 events1527 has checksum_succeeded event1528 .verification_enabled?1529 when replication is enabled1530 when verification_feature_flag_enabled? returns true1531 returns true1532 when verification_feature_flag_enabled? returns false1533 returns false1534 when replication is disabled1535 returns false1536 .checksummed_count1537 when verification is enabled1538 returns the number of available verifiables where verification succeeded1539 excludes non-success verification states1540 when verification is disabled1541 returns nil1542 .checksum_failed_count1543 when verification is enabled1544 returns the number of available verifiables where verification failed1545 excludes other verification states1546 when verification is disabled1547 returns nil1548 .verification_total_count1549 when verification is enabled1550 returns the number of verification_not_disabled registry rows1551 when verification is disabled1552 returns nil1553 .trigger_background_verification1554 when verification is enabled1555 enqueues VerificationBatchWorker1556 enqueues VerificationTimeoutWorker1557 enqueues VerificationStateBackfillWorker1558 for a Geo secondary1559 does not enqueue ReverificationBatchWorker1560 for a Geo primary1561 enqueues ReverificationBatchWorker1562 when verification is disabled1563 does not enqueue VerificationBatchWorker1564 does not enqueue VerificationTimeoutWorker1565 .backfill_verification_state_table1566 calls VerificationStateBackfillService1567 when on secondary1568 returns false1569 .verify_batch1570 when there are records needing verification1571 calls #verify on each replicator1572 .remaining_verification_batch_count1573 converts needs_verification_count to number of batches1574 .remaining_reverification_batch_count1575 converts needs_reverification_count to number of batches1576 .reverify_batch!1577 calls #reverify_batch1578 .replicator_batch_to_verify1579 returns usable Replicator instances1580 .model_record_id_batch_to_verify1581 when the batch is filled by pending rows1582 returns IDs of pending rows1583 does not call .verification_failed_batch1584 when that batch is not filled by pending rows1585 includes IDs of failed rows1586 .verification_pending_batch1587 when current node is a primary1588 delegates to the model class of the replicator1589 when current node is a secondary1590 delegates to the registry class of the replicator1591 .verification_failed_batch1592 when current node is a primary1593 delegates to the model class of the replicator1594 when current node is a secondary1595 delegates to the registry class of the replicator1596 .fail_verification_timeouts1597 when current node is a primary1598 delegates to the model class of the replicator1599 when current node is a secondary1600 delegates to the registry class of the replicator1601 #after_verifiable_update1602 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true1603 calls verify_async only if needed1604 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false1605 calls verify_async only if needed1606 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false1607 calls verify_async only if needed1608 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false1609 calls verify_async only if needed1610 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true1611 calls verify_async only if needed1612 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false1613 calls verify_async only if needed1614 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true1615 calls verify_async only if needed1616 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false1617 calls verify_async only if needed1618 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false1619 calls verify_async only if needed1620 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false1621 calls verify_async only if needed1622 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false1623 calls verify_async only if needed1624 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false1625 calls verify_async only if needed1626 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false1627 calls verify_async only if needed1628 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false1629 calls verify_async only if needed1630 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false1631 calls verify_async only if needed1632 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false1633 calls verify_async only if needed1634 #verify_async1635 on a Geo primary1636 calls verification_started! and enqueues VerificationWorker1637 #verify1638 wraps the checksum calculation in track_checksum_attempt!1639 #verification_state_tracker1640 on a Geo primary1641 returns model_record1642 on a Geo secondary1643 returns registry1644 #handle_after_checksum_succeeded1645 on a Geo primary1646 creates checksum_succeeded event1647 is called on verification success1648 on a Geo secondary1649 does not create an event1650 #consume_event_checksum_succeeded1651 with a persisted model_record1652 on a Geo primary1653 does nothing1654 on a Geo secondary1655 with a persisted registry1656 with a registry which is verified1657 sets state to verification_pending1658 with a registry which is pending verification1659 does not change state from verification_pending1660 with an unpersisted registry1661 does not persist the registry1662 #primary_verification_succeeded?1663 when the model record is verification_succeeded1664 returns true1665 when the model record is verification_succeeded1666 returns false1667 integration tests1668 on a primary1669 background backfill1670 verifies model records1671 triggered by events1672 verifies model records1673 on a secondary1674 background backfill1675 verifies registries1676 triggered by events1677 verifies registries1678Terraform::StateVersion1679 .replicables_for_current_secondary1680 selective_sync_enabled: true, object_storage_sync_enabled: true, terraform_object_storage_enabled: true, synced_states: 51681 returns the proper number of terraform states1682 selective_sync_enabled: true, object_storage_sync_enabled: true, terraform_object_storage_enabled: false, synced_states: 51683 returns the proper number of terraform states1684 selective_sync_enabled: true, object_storage_sync_enabled: false, terraform_object_storage_enabled: true, synced_states: 01685 returns the proper number of terraform states1686 selective_sync_enabled: true, object_storage_sync_enabled: false, terraform_object_storage_enabled: false, synced_states: 51687 returns the proper number of terraform states1688 selective_sync_enabled: false, object_storage_sync_enabled: false, terraform_object_storage_enabled: false, synced_states: 101689 returns the proper number of terraform states1690 selective_sync_enabled: false, object_storage_sync_enabled: false, terraform_object_storage_enabled: true, synced_states: 01691 returns the proper number of terraform states1692 selective_sync_enabled: false, object_storage_sync_enabled: true, terraform_object_storage_enabled: true, synced_states: 101693 returns the proper number of terraform states1694 selective_sync_enabled: false, object_storage_sync_enabled: true, terraform_object_storage_enabled: false, synced_states: 101695 returns the proper number of terraform states1696 selective_sync_enabled: true, object_storage_sync_enabled: true, terraform_object_storage_enabled: false, synced_states: 51697 returns the proper number of terraform states1698Geo::PagesDeploymentReplicator1699 invokes replicator.handle_after_create_commit on create1700 behaves like a replicator1701 Geo node status1702 on a primary site1703 .primary_total_count1704 when batch count feature flag is enabled1705 returns the number of available replicables on primary1706 when batch count feature flag is disabled1707 returns the number of available replicables on primary1708 on a secondary site1709 .synced_count1710 returns the number of synced items on secondary1711 .failed_count1712 returns the number of failed items on secondary1713 #replicator1714 is defined and does not raise error1715 .replicables_for_current_secondary1716 when syncing object storage is enabled1717 behaves like is implemented and returns a valid relation1718 is implemented1719 when syncing object storage is disabled1720 behaves like is implemented and returns a valid relation1721 is implemented1722 with selective sync disabled1723 behaves like is implemented and returns a valid relation1724 is implemented1725 with selective sync enabled for namespaces1726 behaves like is implemented and returns a valid relation1727 is implemented1728 with selective sync enabled for shards1729 behaves like is implemented and returns a valid relation1730 is implemented1731 #handle_after_create_commit1732 creates a Geo::Event1733 calls #after_verifiable_update1734 when replication feature flag is disabled1735 does not call #after_verifiable_update1736 does not publish1737 #handle_after_destroy1738 creates a Geo::Event1739 when replication feature flag is disabled1740 does not publish1741 created event consumption1742 when the blob's project is in replicables for this geo node1743 invokes Geo::BlobDownloadService1744 when the blob's project is not in replicables for this geo node1745 does not invoke Geo::BlobDownloadService1746 deleted event consumption1747 when model_record was deleted from the DB and the replicator only has its ID1748 invokes Geo::FileRegistryRemovalService1749 backward compatibility1750 invokes Geo::FileRegistryRemovalService when delete event is in deprecated format1751 when object storage is enabled1752 when GitLab managed replication is enabled1753 deletes the file from object storage1754 when GitLab managed replication is disabled1755 does not delete the file from object storage1756 #carrierwave_uploader1757 is implemented1758 #model1759 is implemented1760 is a Class1761 responds to primary_key1762 #blob_path1763 when the file is locally stored1764 returns a valid path to a file1765 #calculate_checksum1766 when the file is locally stored1767 when the file exists1768 returns hexdigest of the file1769 when the file does not exist1770 raises an error1771 when the file is remotely stored1772 raises an error1773 #file_exists?1774 is expected to be truthy1775 when the file does not exist1776 is expected to be falsey1777 when the file is nil1778 is expected to be falsey1779 .bulk_create_delete_events_async1780 creates events1781 raises error when model_record_id is nil1782 events1783 has checksum_succeeded event1784 .verification_enabled?1785 when replication is enabled1786 when verification_feature_flag_enabled? returns true1787 returns true1788 when verification_feature_flag_enabled? returns false1789 returns false1790 when replication is disabled1791 returns false1792 .checksummed_count1793 when verification is enabled1794 returns the number of available verifiables where verification succeeded1795 excludes non-success verification states1796 when verification is disabled1797 returns nil1798 .checksum_failed_count1799 when verification is enabled1800 returns the number of available verifiables where verification failed1801 excludes other verification states1802 when verification is disabled1803 returns nil1804 .verification_total_count1805 when verification is enabled1806 returns the number of verification_not_disabled registry rows1807 when verification is disabled1808 returns nil1809 .trigger_background_verification1810 when verification is enabled1811 enqueues VerificationBatchWorker1812 enqueues VerificationTimeoutWorker1813 enqueues VerificationStateBackfillWorker1814 for a Geo secondary1815 does not enqueue ReverificationBatchWorker1816 for a Geo primary1817 enqueues ReverificationBatchWorker1818 when verification is disabled1819 does not enqueue VerificationBatchWorker1820 does not enqueue VerificationTimeoutWorker1821 .backfill_verification_state_table1822 calls VerificationStateBackfillService1823 when on secondary1824 returns false1825 .verify_batch1826 when there are records needing verification1827 calls #verify on each replicator1828 .remaining_verification_batch_count1829 converts needs_verification_count to number of batches1830 .remaining_reverification_batch_count1831 converts needs_reverification_count to number of batches1832 .reverify_batch!1833 calls #reverify_batch1834 .replicator_batch_to_verify1835 returns usable Replicator instances1836 .model_record_id_batch_to_verify1837 when the batch is filled by pending rows1838 returns IDs of pending rows1839 does not call .verification_failed_batch1840 when that batch is not filled by pending rows1841 includes IDs of failed rows1842 .verification_pending_batch1843 when current node is a primary1844 delegates to the model class of the replicator1845 when current node is a secondary1846 delegates to the registry class of the replicator1847 .verification_failed_batch1848 when current node is a primary1849 delegates to the model class of the replicator1850 when current node is a secondary1851 delegates to the registry class of the replicator1852 .fail_verification_timeouts1853 when current node is a primary1854 delegates to the model class of the replicator1855 when current node is a secondary1856 delegates to the registry class of the replicator1857 #after_verifiable_update1858 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true1859 calls verify_async only if needed1860 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false1861 calls verify_async only if needed1862 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false1863 calls verify_async only if needed1864 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false1865 calls verify_async only if needed1866 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true1867 calls verify_async only if needed1868 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false1869 calls verify_async only if needed1870 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true1871 calls verify_async only if needed1872 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false1873 calls verify_async only if needed1874 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false1875 calls verify_async only if needed1876 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false1877 calls verify_async only if needed1878 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false1879 calls verify_async only if needed1880 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false1881 calls verify_async only if needed1882 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false1883 calls verify_async only if needed1884 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false1885 calls verify_async only if needed1886 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false1887 calls verify_async only if needed1888 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false1889 calls verify_async only if needed1890 #verify_async1891 on a Geo primary1892 calls verification_started! and enqueues VerificationWorker1893 #verify1894 wraps the checksum calculation in track_checksum_attempt!1895 #verification_state_tracker1896 on a Geo primary1897 returns model_record1898 on a Geo secondary1899 returns registry1900 #handle_after_checksum_succeeded1901 on a Geo primary1902 creates checksum_succeeded event1903 is called on verification success1904 on a Geo secondary1905 does not create an event1906 #consume_event_checksum_succeeded1907 with a persisted model_record1908 on a Geo primary1909 does nothing1910 on a Geo secondary1911 with a persisted registry1912 with a registry which is verified1913 sets state to verification_pending1914 with a registry which is pending verification1915 does not change state from verification_pending1916 with an unpersisted registry1917 does not persist the registry1918 #primary_verification_succeeded?1919 when the model record is verification_succeeded1920 returns true1921 when the model record is verification_succeeded1922 returns false1923 integration tests1924 on a primary1925 background backfill1926 verifies model records1927 triggered by events1928 verifies model records1929 on a secondary1930 background backfill1931 verifies registries1932 triggered by events1933 verifies registries1934Projects::CreateFromTemplateService1935 #execute1936 does not create project from custom template1937 when use_custom_template is not present or false1938 creates an empty project1939 when custom_project_templates feature is not enabled1940 creates an empty project1941 when custom_project_template does not exist1942 does not attempt to import a project1943 use_template_name: true1944 returns the created project1945 the result project1946 overrides template description1947 overrides template visibility_level1948 creating project from a Group project template1949 when the namespace is not a descendant of the Group owning the template1950 when project is created under a group that is outside the hierarchy its root ancestor group1951 behaves like a project that isn't persisted1952 isn't persisted1953 when project is created under a group that is a descendant of its root ancestor group1954 behaves like a project that isn't persisted1955 isn't persisted1956 when project is created under a subgroup that is a descendant of its root ancestor group1957 behaves like a project that isn't persisted1958 isn't persisted1959 when project is created outside of group hierarchy1960 behaves like a project that isn't persisted1961 isn't persisted1962 when the namespace is inside the hierarchy of the Group owning the template1963 when project is created under its parent group1964 behaves like a persisted project1965 is persisted1966 when project is created under the same group1967 behaves like a persisted project1968 is persisted1969 when project is created under its descendant group1970 behaves like a persisted project1971 is persisted1972 when project is created under a group that is a descendant of its parent group1973 behaves like a persisted project1974 is persisted1975 when project is created under a subgroup that is a descendant of its parent group1976 behaves like a persisted project1977 is persisted1978 use_template_name: false1979 returns the created project1980 the result project1981 overrides template description1982 overrides template visibility_level1983 creating project from a Group project template1984 when the namespace is not a descendant of the Group owning the template1985 when project is created under a group that is outside the hierarchy its root ancestor group1986 behaves like a project that isn't persisted1987 isn't persisted1988 when project is created under a group that is a descendant of its root ancestor group1989 behaves like a project that isn't persisted1990 isn't persisted1991 when project is created under a subgroup that is a descendant of its root ancestor group1992 behaves like a project that isn't persisted1993 isn't persisted1994 when project is created outside of group hierarchy1995 behaves like a project that isn't persisted1996 isn't persisted1997 when the namespace is inside the hierarchy of the Group owning the template1998 when project is created under its parent group1999 behaves like a persisted project2000 is persisted2001 when project is created under the same group2002 behaves like a persisted project2003 is persisted2004 when project is created under its descendant group2005 behaves like a persisted project2006 is persisted2007 when project is created under a group that is a descendant of its parent group2008 behaves like a persisted project2009 is persisted2010 when project is created under a subgroup that is a descendant of its parent group2011 behaves like a persisted project2012 is persisted2013SAST.gitlab-ci.yml2014 the created pipeline2015 when project has no license2016 when SAST_DISABLED=12017 includes no jobs2018 when SAST_EXPERIMENTAL_FEATURES is disabled for iOS projects2019 includes no jobs2020 by default2021 language detection2022 Android2023 creates a pipeline with the expected jobs2024 Android2025 creates a pipeline with the expected jobs2026 Android2027 creates a pipeline with the expected jobs2028 Android2029 creates a pipeline with the expected jobs2030 Android2031 creates a pipeline with the expected jobs2032 Apex2033 creates a pipeline with the expected jobs2034 C2035 creates a pipeline with the expected jobs2036 C++2037 creates a pipeline with the expected jobs2038 C#2039 creates a pipeline with the expected jobs2040 Elixir2041 creates a pipeline with the expected jobs2042 Golang2043 creates a pipeline with the expected jobs2044 Groovy2045 creates a pipeline with the expected jobs2046 iOS2047 creates a pipeline with the expected jobs2048 iOS2049 creates a pipeline with the expected jobs2050 Java2051 creates a pipeline with the expected jobs2052 Java with MobSF2053 creates a pipeline with the expected jobs2054 Java without MobSF2055 creates a pipeline with the expected jobs2056 Javascript2057 creates a pipeline with the expected jobs2058 JSX2059 creates a pipeline with the expected jobs2060 Javascript Node2061 creates a pipeline with the expected jobs2062 HTML2063 creates a pipeline with the expected jobs2064 Kubernetes Manifests2065 creates a pipeline with the expected jobs2066 Multiple languages2067 creates a pipeline with the expected jobs2068 PHP2069 creates a pipeline with the expected jobs2070 Python2071 creates a pipeline with the expected jobs2072 Ruby2073 creates a pipeline with the expected jobs2074 Scala2075 creates a pipeline with the expected jobs2076 Typescript2077 creates a pipeline with the expected jobs2078 Typescript JSX2079 creates a pipeline with the expected jobs2080 Visual Basic2081 creates a pipeline with the expected jobs2082 when setting image tag dynamically2083 security-code-scan-sast2084 creates a build with the expected tag2085 security-code-scan-sast2086 creates a build with the expected tag2087Geo::PackageFileReplicator2088 invokes replicator.handle_after_create_commit on create2089 behaves like a replicator2090 Geo node status2091 on a primary site2092 .primary_total_count2093 when batch count feature flag is enabled2094 returns the number of available replicables on primary2095 when batch count feature flag is disabled2096 returns the number of available replicables on primary2097 on a secondary site2098 .synced_count2099 returns the number of synced items on secondary2100 .failed_count2101 returns the number of failed items on secondary2102 #replicator2103 is defined and does not raise error2104 .replicables_for_current_secondary2105 when syncing object storage is enabled2106 behaves like is implemented and returns a valid relation2107 is implemented2108 when syncing object storage is disabled2109 behaves like is implemented and returns a valid relation2110 is implemented2111 with selective sync disabled2112 behaves like is implemented and returns a valid relation2113 is implemented2114 with selective sync enabled for namespaces2115 behaves like is implemented and returns a valid relation2116 is implemented2117 with selective sync enabled for shards2118 behaves like is implemented and returns a valid relation2119 is implemented2120 #handle_after_create_commit2121 creates a Geo::Event2122 calls #after_verifiable_update2123 when replication feature flag is disabled2124 does not call #after_verifiable_update2125 does not publish2126 #handle_after_destroy2127 creates a Geo::Event2128 when replication feature flag is disabled2129 does not publish2130 created event consumption2131 when the blob's project is in replicables for this geo node2132 invokes Geo::BlobDownloadService2133 when the blob's project is not in replicables for this geo node2134 does not invoke Geo::BlobDownloadService2135 deleted event consumption2136 when model_record was deleted from the DB and the replicator only has its ID2137 invokes Geo::FileRegistryRemovalService2138 backward compatibility2139 invokes Geo::FileRegistryRemovalService when delete event is in deprecated format2140 when object storage is enabled2141 when GitLab managed replication is enabled2142 deletes the file from object storage2143 when GitLab managed replication is disabled2144 does not delete the file from object storage2145 #carrierwave_uploader2146 is implemented2147 #model2148 is implemented2149 is a Class2150 responds to primary_key2151 #blob_path2152 when the file is locally stored2153 returns a valid path to a file2154 #calculate_checksum2155 when the file is locally stored2156 when the file exists2157 returns hexdigest of the file2158 when the file does not exist2159 raises an error2160 when the file is remotely stored2161 raises an error2162 #file_exists?2163 is expected to be truthy2164 when the file does not exist2165 is expected to be falsey2166 when the file is nil2167 is expected to be falsey2168 .bulk_create_delete_events_async2169 creates events2170 raises error when model_record_id is nil2171 behaves like a verifiable replicator2172 events2173 has checksum_succeeded event2174 .verification_enabled?2175 when replication is enabled2176 when verification_feature_flag_enabled? returns true2177 returns true2178 when verification_feature_flag_enabled? returns false2179 returns false2180 when replication is disabled2181 returns false2182 .checksummed_count2183 when verification is enabled2184 returns the number of available verifiables where verification succeeded2185 excludes non-success verification states2186 when verification is disabled2187 returns nil2188 .checksum_failed_count2189 when verification is enabled2190 returns the number of available verifiables where verification failed2191 excludes other verification states2192 when verification is disabled2193 returns nil2194 .verification_total_count2195 when verification is enabled2196 returns the number of verification_not_disabled registry rows2197 when verification is disabled2198 returns nil2199 .trigger_background_verification2200 when verification is enabled2201 enqueues VerificationBatchWorker2202 enqueues VerificationTimeoutWorker2203 enqueues VerificationStateBackfillWorker2204 for a Geo secondary2205 does not enqueue ReverificationBatchWorker2206 for a Geo primary2207 enqueues ReverificationBatchWorker2208 when verification is disabled2209 does not enqueue VerificationBatchWorker2210 does not enqueue VerificationTimeoutWorker2211 .backfill_verification_state_table2212 calls VerificationStateBackfillService2213 when on secondary2214 returns false2215 .verify_batch2216 when there are records needing verification2217 calls #verify on each replicator2218 .remaining_verification_batch_count2219 converts needs_verification_count to number of batches2220 .remaining_reverification_batch_count2221 converts needs_reverification_count to number of batches2222 .reverify_batch!2223 calls #reverify_batch2224 .replicator_batch_to_verify2225 returns usable Replicator instances2226 .model_record_id_batch_to_verify2227 when the batch is filled by pending rows2228 returns IDs of pending rows2229 does not call .verification_failed_batch2230 when that batch is not filled by pending rows2231 includes IDs of failed rows2232 .verification_pending_batch2233 when current node is a primary2234 delegates to the model class of the replicator2235 when current node is a secondary2236 delegates to the registry class of the replicator2237 .verification_failed_batch2238 when current node is a primary2239 delegates to the model class of the replicator2240 when current node is a secondary2241 delegates to the registry class of the replicator2242 .fail_verification_timeouts2243 when current node is a primary2244 delegates to the model class of the replicator2245 when current node is a secondary2246 delegates to the registry class of the replicator2247 #after_verifiable_update2248 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true2249 calls verify_async only if needed2250 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false2251 calls verify_async only if needed2252 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false2253 calls verify_async only if needed2254 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false2255 calls verify_async only if needed2256 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true2257 calls verify_async only if needed2258 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false2259 calls verify_async only if needed2260 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true2261 calls verify_async only if needed2262 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false2263 calls verify_async only if needed2264 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false2265 calls verify_async only if needed2266 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false2267 calls verify_async only if needed2268 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false2269 calls verify_async only if needed2270 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false2271 calls verify_async only if needed2272 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false2273 calls verify_async only if needed2274 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false2275 calls verify_async only if needed2276 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false2277 calls verify_async only if needed2278 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false2279 calls verify_async only if needed2280 #verify_async2281 on a Geo primary2282 calls verification_started! and enqueues VerificationWorker2283 #verify2284 wraps the checksum calculation in track_checksum_attempt!2285 #verification_state_tracker2286 on a Geo primary2287 returns model_record2288 on a Geo secondary2289 returns registry2290 #handle_after_checksum_succeeded2291 on a Geo primary2292 creates checksum_succeeded event2293 is called on verification success2294 on a Geo secondary2295 does not create an event2296 #consume_event_checksum_succeeded2297 with a persisted model_record2298 on a Geo primary2299 does nothing2300 on a Geo secondary2301 with a persisted registry2302 with a registry which is verified2303 sets state to verification_pending2304 with a registry which is pending verification2305 does not change state from verification_pending2306 with an unpersisted registry2307 does not persist the registry2308 #primary_verification_succeeded?2309 when the model record is verification_succeeded2310 returns true2311 when the model record is verification_succeeded2312 returns false2313 integration tests2314 on a primary2315 background backfill2316 verifies model records2317 triggered by events2318 verifies model records2319 on a secondary2320 background backfill2321 verifies registries2322 triggered by events2323 verifies registries2324EE::Gitlab::Auth::Ldap::Sync::Group2325 .execute_all_providers2326 uses the ldap sync state machine2327 fails a stuck group older than 1 hour2328 when the group ldap sync has already started2329 logs a debug message2330 does not update permissions2331 when ldap connection fails2332 logs a debug message2333 ensures group state returns to failed_ldap_sync2334 .execute2335 uses the ldap sync state machine2336 fails a stuck group older than 1 hour2337 when the group ldap sync has already started2338 logs a debug message2339 does not update permissions2340 when ldap connection fails2341 logs a debug message2342 ensures group state returns to failed_ldap_sync2343 .fail_stuck_group2344 handles nil ldap_sync_last_sync_at2345 .ldap_sync_ready?2346 returns false when ldap sync started2347 returns true when ldap sync pending2348 #update_permissions2349 with all functionality against one LDAP group type2350 with basic add/update actions2351 does not update permissions unless ldap sync status is started2352 adds new members and sets ldap attribute to true2353 converts an existing membership access request to a real member2354 downgrades existing member access2355 upgrades existing member access2356 sets an existing member ldap attribute to true2357 does not alter an ldap member that has a permission override2358 when existing user is no longer in LDAP group2359 removes the user from the group2360 refuses to delete the last owner2361 updates projects authorizations2362 when the user is the last owner2363 downgrades one user but not the other2364 when user inherits higher permissions from parent2365 adds member with the inherited higher permission2366 upgrades existing member to the inherited higher permission2367 does not alter an ldap member that has a permission override2368 when user inherits lower permissions from parent2369 adds member with the ldap group link's access level2370 downgrades existing member access to the ldap group link's access level2371 does not alter an ldap member that has a permission override2372 when user has a pending access request in a parent group2373 does not propagate the access level of the pending access request2374 when user inherits permissions from parent and user is no longer in LDAP group2375 removes existing member2376 when permissions are inherited from a complex ancestry2377 applies the permission inherited from the closest ancestor when it's higher2378 when the extern_uid and group member DNs have different case2379 does not revert the overrides2380 does not update permissions when group base is missing2381 with different LDAP group types2382 with groupOfNames style LDAP group2383 adds the user to the group2384 with posixGroup style LDAP group2385 adds the user to the group2386 with groupOfUniqueNames style LDAP group2387 adds the user to the group2388 with an empty LDAP group2389 does nothing, without failure2390 filter2391 #update_permissions2392 with all functionality against one LDAP group type2393 with basic add/update actions2394 does not update permissions unless ldap sync status is started2395 adds new members and sets ldap attribute to true2396 updates permissions when group base is missing2397ProtectedEnvironment2398 associations2399 is expected to belong to project required: false2400 is expected to have many deploy_access_levels2401 is expected to have many approval_rules class_name => ProtectedEnvironments::ApprovalRule inverse_of => protected_environment2402 validation2403 is expected to validate that :name cannot be empty/falsy2404 is expected to validate that the length of :deploy_access_levels2405 is expected to validate that :required_approval_count looks like an integer greater than or equal to 0 and less than or equal to 52406 can not belong to both group and project2407 must belong to one of group or project2408 group-level protected environment2409 passes the validation when the name is listed in the tiers2410 fails the validation when the name is not listed in the tiers2411 #accessible_to?2412 when user is admin2413 is expected to be truthy2414 when access has been granted to user2415 is expected to be truthy2416 when specific access has been assigned to a group2417 allows members of the group2418 rejects non-members of the group2419 when access has been granted to maintainers2420 allows maintainers2421 rejects developers2422 when access has been granted to developers2423 allows maintainers2424 allows developers2425 #container_access_level2426 with project-level protected environment2427 behaves like correct access levels2428 for project maintainer2429 is expected to eq 402430 for project developer2431 is expected to eq 302432 when user is nil2433 is expected to eq 02434 with group-level protected environment2435 behaves like correct access levels2436 for project maintainer2437 is expected to eq 402438 for project developer2439 is expected to eq 302440 when user is nil2441 is expected to eq 02442 #project_level?2443 for a project-level protected environment2444 is expected to be truthy2445 for a group-level protected environment2446 is expected to be falsey2447 #group_level?2448 for a group-level protected environment2449 is expected to be truthy2450 for a project-level protected environment2451 is expected to be falsey2452 .sorted_by_name2453 sorts protected environments by name2454 .with_environment_id2455 sets corresponding environment id if there is environment matching by name and project2456 .revoke_user2457 deletes matching deploy access levels for the given user2458 when user is assigned to protected environment in the other project2459 deletes matching deploy access levels for the given user in the specific project2460 .revoke_group2461 deletes matching deploy access levels for the given group2462 when user is assigned to protected environment in the other project2463 returns matching deploy access levels for the given group in the specific project2464 .for_environment2465 is expected to contain exactly #<ProtectedEnvironment id: 72, project_id: 1147, created_at: "2022-08-24 17:38:14.385912569 +0000", u...2022-08-24 17:38:14.385912569 +0000", name: "production", group_id: nil, required_approval_count: 0>2466 caches result2467 calls .for_environments with the environment2468 when environment does not exist2469 raises an error2470 .for_environments2471 is expected to contain exactly #<ProtectedEnvironment id: 76, project_id: 1148, created_at: "2022-08-24 17:38:16.060614029 +0000", u...2022-08-24 17:38:16.060614029 +0000", name: "production", group_id: nil, required_approval_count: 0>2472 raises an error if environments belong to more than one project2473 when environment is a different name2474 is expected to be empty2475 when environment exists in a different project2476 is expected to be empty2477 with group-level protected environment2478 with project-level production environment2479 has multiple protections2480 when project-level protection does not exist2481 has only group-level protection2482 with staging environment2483 does not have any protections2484 with multiple environments2485 is expected to contain exactly #<ProtectedEnvironment id: 85, project_id: 1148, created_at: "2022-08-24 17:38:20.646614456 +0000", u...2022-08-24 17:38:20.646614456 +0000", name: "production", group_id: nil, required_approval_count: 0> and #<ProtectedEnvironment id: 86, project_id: 1148, created_at: "2022-08-24 17:38:20.775756117 +0000", u...t: "2022-08-24 17:38:20.775756117 +0000", name: "canary", group_id: nil, required_approval_count: 0>2486Resolvers::Geo::TerraformStateVersionRegistriesResolver2487 behaves like a Geo registries resolver2488 #resolve2489 when the parent object is the current node2490 when the user has permission to view Geo data2491 when admin mode is enabled2492 when the ids argument is null2493 returns registries, in order2494 when the ids argument is present2495 returns the requested registries, in order2496 when the replication_state argument is present2497 returns registries with requested replication state, in order2498 with verification enabled2499 when the verification_state argument is present2500 returns registries with requested verification state, in order2501 with verification disabled2502 when the verification_state argument is present2503 raises ArgumentError (PENDING: Skipping because verification is enabled for Terraform::StateVersion)2504 when admin mode is disabled2505 returns nothing2506 when the user does not have permission to view Geo data2507 returns nothing2508 when the parent object is not the current node2509 when the user has permission to view Geo data2510 returns nothing, because we can't query other nodes' tracking databases2511Elastic::DataMigrationService2512 .migrations2513 all migration names are unique2514 migration_files stubbed2515 creates migration records2516 .migration_has_finished_uncached?2517 returns true if migration has finished2518 .migration_has_finished?2519 calls the uncached method only once2520 .mark_all_as_completed!2521 creates all migration versions2522 drops all cache keys2523 .drop_migration_has_finished_cache!2524 drops cache2525 .migration_halted?2526 calls the uncached method only once2527 .migration_halted_uncached?2528 returns true if migration has been halted2529 .drop_migration_halted_cache!2530 drops cache2531 .halted_migration2532 returns a migration when it is halted2533 pending_migrations?2534 when there is a pending migration2535 returns true2536 when there is no pending migration2537 returns false2538 pending_migrations2539 returns only pending migrations2540Banzai::ReferenceParser::IterationParser2541 in project context2542 behaves like parses iteration references2543 #nodes_visible_to_user2544 when the link has a data-iteration attribute2545 behaves like referenced feature visibility2546 when feature is disabled2547 does not create reference2548 when feature is enabled only for team members2549 does not create reference for non member2550 creates reference for member2551 when feature is enabled2552 creates reference2553 when the link references an iteration in parent group2554 behaves like referenced feature visibility2555 when feature is disabled2556 does not create reference2557 when feature is enabled only for team members2558 does not create reference for non member2559 creates reference for member2560 when feature is enabled2561 creates reference2562 #referenced_by2563 when the link has a data-iteration attribute2564 using an existing iteration ID2565 returns an Array of iterations2566 using an iteration from parent group2567 returns an Array of iterations2568 using a non-existing iteration ID2569 returns an empty Array2570 in group context2571 behaves like parses iteration references2572 #nodes_visible_to_user2573 when the link has a data-iteration attribute2574 behaves like referenced feature visibility2575 when feature is disabled2576 does not create reference2577 when feature is enabled only for team members2578 does not create reference for non member2579 creates reference for member2580 when feature is enabled2581 creates reference2582 when the link references an iteration in parent group2583 behaves like referenced feature visibility2584 when feature is disabled2585 does not create reference2586 when feature is enabled only for team members2587 does not create reference for non member2588 creates reference for member2589 when feature is enabled2590 creates reference2591 #referenced_by2592 when the link has a data-iteration attribute2593 using an existing iteration ID2594 returns an Array of iterations2595 using an iteration from parent group2596 returns an Array of iterations2597 using a non-existing iteration ID2598 returns an empty Array2599RequirementsManagement::RequirementPolicy2600 behaves like resource with requirement permissions2601 when requirements feature is enabled2602 with admin2603 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements2604 with owner2605 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements2606 with maintainer2607 behaves like user with manage permissions2608 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements2609 is expected to be disallowed :destroy_requirement2610 with developer2611 behaves like user with manage permissions2612 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements2613 is expected to be disallowed :destroy_requirement2614 with reporter2615 behaves like user with manage permissions2616 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements2617 is expected to be disallowed :destroy_requirement2618 with guest2619 behaves like user with read-only permissions2620 is expected to be allowed :read_requirement2621 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements2622 with non member2623 behaves like user with read-only permissions2624 is expected to be allowed :read_requirement2625 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements2626 with private resource parent2627 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements2628 when access level is disabled2629 with owner2630 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements2631 with admin2632 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements2633 when access level is private2634 with admin user2635 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements2636 with admin mode enabled2637 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements2638 with owner2639 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements2640 with maintainer2641 behaves like user with manage permissions2642 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements2643 is expected to be disallowed :destroy_requirement2644 with developer2645 behaves like user with manage permissions2646 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements2647 is expected to be disallowed :destroy_requirement2648 with reporter2649 behaves like user with manage permissions2650 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements2651 is expected to be disallowed :destroy_requirement2652 with guest2653 behaves like user with read-only permissions2654 is expected to be allowed :read_requirement2655 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements2656 with non member2657 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements2658 when requirements feature is disabled2659 with owner2660 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements2661 with admin2662 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements2663StoreSecurityReportsWorker2664 #secret_detection_vulnerability_found?2665 is expected to equal true2666 #revoke_secret_detection_token?2667 visibility: :public, token_revocation_enabled: true, secret_detection_vulnerability_found: true2668 is expected to eql true2669 visibility: :public, token_revocation_enabled: true, secret_detection_vulnerability_found: false2670 is expected to eql false2671 visibility: :public, token_revocation_enabled: false, secret_detection_vulnerability_found: true2672 is expected to eql false2673 visibility: :public, token_revocation_enabled: false, secret_detection_vulnerability_found: false2674 is expected to eql false2675 visibility: :private, token_revocation_enabled: true, secret_detection_vulnerability_found: true2676 is expected to eql false2677 visibility: :private, token_revocation_enabled: true, secret_detection_vulnerability_found: false2678 is expected to eql false2679 visibility: :private, token_revocation_enabled: false, secret_detection_vulnerability_found: true2680 is expected to eql false2681 visibility: :private, token_revocation_enabled: false, secret_detection_vulnerability_found: false2682 is expected to eql false2683 visibility: nil, token_revocation_enabled: true, secret_detection_vulnerability_found: true2684 is expected to eql false2685 visibility: nil, token_revocation_enabled: true, secret_detection_vulnerability_found: false2686 is expected to eql false2687 visibility: nil, token_revocation_enabled: false, secret_detection_vulnerability_found: true2688 is expected to eql false2689 visibility: nil, token_revocation_enabled: false, secret_detection_vulnerability_found: false2690 is expected to eql false2691 #perform2692 when there is no pipeline with the given ID2693 does not raise an error2694 when at least one security report feature is enabled2695 report_type: :sast2696 scans security reports for token revocation2697 executes IngestReportsService for given pipeline2698 report_type: :dast2699 scans security reports for token revocation2700 executes IngestReportsService for given pipeline2701 report_type: :dependency_scanning2702 scans security reports for token revocation2703 executes IngestReportsService for given pipeline2704 report_type: :container_scanning2705 scans security reports for token revocation2706 executes IngestReportsService for given pipeline2707 report_type: :cluster_image_scanning2708 scans security reports for token revocation2709 executes IngestReportsService for given pipeline2710 when running SAST analyzers that produce duplicate vulnerabilities2711 vulnerability_finding_signatures_enabled: true2712 and prefers original analyzer over semgrep when deduplicating2713 does not duplicate vulnerabilities2714 and prefers semgrep over original analyzer when deduplicating2715 when update_vuln_identifiers_flag is on2716 does not duplicate vulnerabilities2717 when update_vuln_identifiers_flag is off2718 duplicates vulnerabilities2719 vulnerability_finding_signatures_enabled: false2720 and prefers original analyzer over semgrep when deduplicating2721 does not duplicate vulnerabilities2722 and prefers semgrep over original analyzer when deduplicating2723 when update_vuln_identifiers_flag is on2724 does not duplicate vulnerabilities2725 when update_vuln_identifiers_flag is off2726 duplicates vulnerabilities2727 when security reports feature is not available2728 does not execute IngestReportsService2729Geo::RepositoryVerificationSecondaryService2730 #execute2731 for a repository2732 does not calculate the checksum when not running on a secondary2733 does not verify the checksum if resync is needed2734 does not verify the checksum if primary was never verified2735 does not verify the checksum if the current checksum matches2736 sets checksum when the checksum matches2737 does not mark the verification as failed when there is no repo2738 when the checksum mismatch2739 keeps track of failures2740 ensures the next retry time is capped properly2741 when checksum calculation fails2742 keeps track of failures2743 ensures the next retry time is capped properly2744 for a wiki2745 does not calculate the checksum when not running on a secondary2746 does not verify the checksum if resync is needed2747 does not verify the checksum if primary was never verified2748 does not verify the checksum if the current checksum matches2749 sets checksum when the checksum matches2750 does not mark the verification as failed when there is no repo2751 when the checksum mismatch2752 keeps track of failures2753 ensures the next retry time is capped properly2754 when checksum calculation fails2755 keeps track of failures2756 ensures the next retry time is capped properly2757Geo::PackageFileRegistryFinder2758 behaves like a framework registry finder2759 #execute2760 when user cannot read all Geo2761 is expected to be empty2762 when user can read all Geo2763 when admin mode is disabled2764 is expected to be empty2765 when admin mode is enabled2766 with an ids param2767 returns specified registries2768 with an ids param empty2769 returns all registries2770 with a replication_state param2771 returns registries with requested replication state2772 with a replication_state param empty2773 returns all registries2774 with verification enabled2775 with a verification_state param2776 returns registries with requested verification state2777 with a verification_state param empty2778 returns all registries2779 with verification disabled2780 with a verification_state param2781 raises ArgumentError (PENDING: Skipping because verification is enabled for Packages::PackageFile)2782 with a verification_state param empty2783 raises ArgumentError (PENDING: Skipping because verification is enabled for Packages::PackageFile)2784 with no params2785 returns all registries2786Environment2787 is expected to have many dora_daily_metrics2788 .deployed_to_cluster2789 when there is no deployment2790 returns nothing2791 when there is a deployment for the cluster2792 returns the environment for the last deployment2793 when there is a non-cluster deployment2794 returns nothing2795 when the non-cluster deployment is latest2796 returns nothing2797 #protected?2798 when Protected Environments feature is not available on the project2799 is expected to be falsy2800 when Protected Environments feature is available on the project2801 when the environment is protected2802 is expected to be truthy2803 when the environment is not protected2804 is expected to be falsy2805 #protected_from?2806 when Protected Environments feature is not available on the project2807 is expected to be falsy2808 when Protected Environments feature is available on the project2809 when the environment is not protected2810 is expected to be falsy2811 when the user is nil2812 is expected to be truthy2813 when environment is protected and user dont have access to it2814 is expected to be truthy2815 when environment is protected and user have access to it2816 is expected to be falsy2817 caches result2818 #protected_by?2819 when Protected Environments feature is not available on the project2820 is expected to be falsy2821 when Protected Environments feature is available on the project2822 when the environment is not protected2823 is expected to be falsy2824 when the user is nil2825 is expected to be falsy2826 when environment is protected and user dont have access to it2827 is expected to be falsy2828 when environment is protected and user have access to it2829 is expected to be truthy2830 #reactive_cache_updated2831 expires the environments path for the project2832 with a group cluster2833 expires the environments path for the group cluster2834 with an instance cluster2835 expires the environments path for the group cluster2836 #needs_approval?2837 when Protected Environments feature is available2838 with unified access level2839 with some approvals required2840 is expected to be truthy2841 with no approvals required2842 is expected to be falsey2843 with multi access levels2844 with some approvals required2845 is expected to be truthy2846 with no approvals required2847 is expected to be falsey2848 when Protected Environments feature is not available2849 is expected to be falsey2850 #required_approval_count2851 when Protected Environments feature is not available2852 is expected to eq 02853 when Protected Environments feature is available2854 and no associated protected environments exist2855 is expected to eq 02856 with unified approval setting2857 with one associated protected environment2858 returns the required_approval_count of the protected environment2859 with multiple associated protected environments2860 returns the highest required_approval_count of the protected environments2861 with multiple approval rules2862 returns the sum of required approvals for all approval rules2863 #has_approval_rules?2864 is expected to eq false2865 with approval rules2866 is expected to eq true2867 #find_approval_rule_for2868 is expected to be nil2869 with approval rules2870 when user belongs to QA group2871 is expected to eq #<ProtectedEnvironments::ApprovalRule id: 5, protected_environment_id: 102, user_id: nil, group_id: 3...8-24 17:42:13.888651182 +0000", access_level: nil, required_approvals: 1, group_inheritance_type: 0>2872 when user belongs to Security group2873 is expected to eq #<ProtectedEnvironments::ApprovalRule id: 8, protected_environment_id: 102, user_id: nil, group_id: 3...8-24 17:42:14.030694463 +0000", access_level: nil, required_approvals: 1, group_inheritance_type: 0>2874 when user belongs to both groups2875 returns one of the rules2876 when represented as QA group2877 is expected to eq #<ProtectedEnvironments::ApprovalRule id: 11, protected_environment_id: 102, user_id: nil, group_id: ...8-24 17:42:14.315638644 +0000", access_level: nil, required_approvals: 1, group_inheritance_type: 0>2878 when represented as Security group2879 is expected to eq #<ProtectedEnvironments::ApprovalRule id: 14, protected_environment_id: 102, user_id: nil, group_id: ...8-24 17:42:14.464761064 +0000", access_level: nil, required_approvals: 1, group_inheritance_type: 0>2880Geo::VerificationStateBackfillWorker2881 uses a geo queue2882 #perform2883 behaves like reenqueuer2884 implements lease_timeout2885 uses the :none deduplication strategy2886 #perform2887 tries to obtain a lease2888 behaves like #perform is rate limited to 1 call per2889 when the work finishes in 0 seconds2890 sleeps exactly the minimum duration2891 when the work finishes in 10% of minimum duration2892 sleeps 90% of minimum duration2893 when the work finishes in 90% of minimum duration2894 sleeps 10% of minimum duration2895 when the work finishes exactly at minimum duration2896 does not sleep2897 when the work takes 10% longer than minimum duration2898 does not sleep2899 when the work takes twice as long as minimum duration2900 does not sleep2901 when service is executed2902 when Geo::VerificationStateBackfillService#execute returns true2903 returns true2904 worker gets reenqueued2905 when VerificationStateBackfillService#execute returns false2906 returns false2907 worker does not get reenqueued (we will wait until next cronjob)2908Gitlab::Analytics::CycleAnalytics::Summary::StageTimeSummary2909 #identifier2910 returns identifiers for each metric2911 when the use_aggregated_data_collector option is given2912 when aggregated data is available yet2913 shows no value2914 when aggregated data is present2915 loads the lead and cycle time2916 #lead_time2917 issuable filter parameters2918 when `author_username` is given2919 returns the correct lead time2920 when unknown `author_username` is given2921 returns `-`2922 when `label_name` is given2923 returns the correct lead time2924 when unknown `label_name` is given2925 returns `-`2926 with `from` date2927 finds the lead time of issues created after it2928 with subgroups2929 finds the lead time of issues from them2930 with projects specified in options2931 finds the lead time of issues from those projects2932 when `from` and `to` parameters are provided2933 finds the lead time of issues from 3 days ago2934 with other projects2935 does not find the lead time of issues from them2936 #cycle_time2937 with `from` date2938 finds the cycle time of issues created after it2939 with subgroups2940 finds the cycle time of issues from them2941 with projects specified in options2942 finds the cycle time of issues from those projects2943 when `from` and `to` parameters are provided2944 finds the cycle time of issues created between `from` and `to`2945 with other projects2946 does not find the cycle time of issues from them2947 dora4 metrics2948 when no data available2949 returns no data2950 when feature is not available2951 does not return any dora4 metrics2952 with present data2953 returns 3 metrics2954 when project ids filter is given2955 filters metrics subset by project2956TimeboxReportService2957 milestone charts2958 behaves like timebox chart2959 when license is not available2960 returns an error message2961 when license is available2962 returns an error when the number of events exceeds the limit2963 aggregates events before the start date to the start date2964 updates counts and weight when the milestone is added or removed2965 updates the completed counts when issue state is changed2966 updates the weight totals when issue weight is changed2967 when milestone does not have a start and due date2968 returns an error message2969 when events have the same timestamp for created_at2970 fetches events ordered by created_at and id2971 handles events for the same issue with exactly the same timestamp2972 when timebox is removed and then added back2973 event_types: [:add, :add], scope_count: 12974 updates the counts correspondingly2975 event_types: [:remove, :remove], scope_count: 02976 updates the counts correspondingly2977 event_types: [:add, :add, :remove], scope_count: 02978 updates the counts correspondingly2979 event_types: [:add, :remove, :remove], scope_count: 02980 updates the counts correspondingly2981 event_types: [:add, :remove, :add], scope_count: 12982 updates the counts correspondingly2983 event_types: [:add, :remove, :remove, :add], scope_count: 12984 updates the counts correspondingly2985 event_types: [:add, :add, :remove, :add, :add], scope_count: 12986 updates the counts correspondingly2987 with scoped_projects2988 scoped_projects is blank2989 scoped_projects: []2990 returns an empty response2991 scoped_projects: #<ActiveRecord::Relation []>2992 returns an empty response2993 scoped_projects: lazy { [project] }, expected_count: 2, expected_weight: 22994 aggregates events scoped to the given projects2995 scoped_projects: lazy { [other_project] }, expected_count: 1, expected_weight: 22996 aggregates events scoped to the given projects2997 scoped_projects: lazy { [subgroup_project] }, expected_count: 1, expected_weight: 32998 aggregates events scoped to the given projects2999 scoped_projects: lazy { [project, other_project, subgroup_project] }, expected_count: 4, expected_weight: 73000 aggregates events scoped to the given projects3001 iteration charts3002 behaves like timebox chart3003 when license is not available3004 returns an error message3005 when license is available3006 returns an error when the number of events exceeds the limit3007 aggregates events before the start date to the start date3008 updates counts and weight when the milestone is added or removed3009 updates the completed counts when issue state is changed3010 updates the weight totals when issue weight is changed3011 when milestone does not have a start and due date3012 returns an error message3013 when events have the same timestamp for created_at3014 fetches events ordered by created_at and id3015 handles events for the same issue with exactly the same timestamp3016 when timebox is removed and then added back3017 event_types: [:add, :add], scope_count: 13018 updates the counts correspondingly3019 event_types: [:remove, :remove], scope_count: 03020 updates the counts correspondingly3021 event_types: [:add, :add, :remove], scope_count: 03022 updates the counts correspondingly3023 event_types: [:add, :remove, :remove], scope_count: 03024 updates the counts correspondingly3025 event_types: [:add, :remove, :add], scope_count: 13026 updates the counts correspondingly3027 event_types: [:add, :remove, :remove, :add], scope_count: 13028 updates the counts correspondingly3029 event_types: [:add, :add, :remove, :add, :add], scope_count: 13030 updates the counts correspondingly3031 with scoped_projects3032 scoped_projects is blank3033 scoped_projects: []3034 returns an empty response3035 scoped_projects: #<ActiveRecord::Relation []>3036 returns an empty response3037 scoped_projects: lazy { [project] }, expected_count: 2, expected_weight: 23038 aggregates events scoped to the given projects3039 scoped_projects: lazy { [other_project] }, expected_count: 1, expected_weight: 23040 aggregates events scoped to the given projects3041 scoped_projects: lazy { [subgroup_project] }, expected_count: 1, expected_weight: 33042 aggregates events scoped to the given projects3043 scoped_projects: lazy { [project, other_project, subgroup_project] }, expected_count: 4, expected_weight: 73044 aggregates events scoped to the given projects3045Resolvers::Geo::PackageFileRegistriesResolver3046 behaves like a Geo registries resolver3047 #resolve3048 when the parent object is the current node3049 when the user has permission to view Geo data3050 when admin mode is enabled3051 when the ids argument is null3052 returns registries, in order3053 when the ids argument is present3054 returns the requested registries, in order3055 when the replication_state argument is present3056 returns registries with requested replication state, in order3057 with verification enabled3058 when the verification_state argument is present3059 returns registries with requested verification state, in order3060 with verification disabled3061 when the verification_state argument is present3062 raises ArgumentError (PENDING: Skipping because verification is enabled for Packages::PackageFile)3063 when admin mode is disabled3064 returns nothing3065 when the user does not have permission to view Geo data3066 returns nothing3067 when the parent object is not the current node3068 when the user has permission to view Geo data3069 returns nothing, because we can't query other nodes' tracking databases3070Gitlab::Geo::LogCursor::Events::DesignRepositoryUpdatedEvent3071 #process3072 when the associated shard is healthy3073 when the design repository is not excluded by selective sync3074 behaves like event should trigger a sync3075 when a registry does not yet exist3076 behaves like event creates a registry3077 creates a registry with pending state3078 behaves like event schedules a sync worker3079 schedules a sync worker3080 behaves like logs event source info3081 logs `job_id` and `event_id3082 when a registry exists3083 behaves like event transitions a registry to pending3084 transitions the registry to pending3085 behaves like event schedules a sync worker3086 schedules a sync worker3087 behaves like logs event source info3088 logs `job_id` and `event_id3089 when the project is included in selective sync but there is no design3090 when a registry does not yet exist3091 behaves like event does not create a registry3092 does not create a registry3093 behaves like event does not schedule a sync worker3094 does not schedule a sync worker3095 behaves like logs event source info3096 logs `job_id` and `event_id3097 when the design repository is excluded by selective sync3098 when a registry does not yet exist3099 behaves like event does not create a registry3100 does not create a registry3101 behaves like event does not schedule a sync worker3102 does not schedule a sync worker3103 behaves like logs event source info3104 logs `job_id` and `event_id3105 when a registry exists3106 behaves like event transitions a registry to pending3107 transitions the registry to pending3108 behaves like event schedules a sync worker3109 schedules a sync worker3110 behaves like logs event source info3111 logs `job_id` and `event_id3112 when associated shard is unhealthy3113 when a registry does not yet exist3114 behaves like event creates a registry3115 creates a registry with pending state3116 behaves like event does not schedule a sync worker3117 does not schedule a sync worker3118 behaves like logs event source info3119 logs `job_id` and `event_id3120 when a registry exists3121 behaves like event transitions a registry to pending3122 transitions the registry to pending3123 behaves like event does not schedule a sync worker3124 does not schedule a sync worker3125 behaves like logs event source info3126 logs `job_id` and `event_id3127Secure-Binaries.gitlab-ci.yml3128 is expected not to be nil3129 template content3130 when compared to DAST-API template3131 includes the same DAST API image prefix3132 includes the DAST API image name in secure binary analyzers3133 includes a job named after the DAST API image name3134 includes the same DAST API image version3135 filters the secure binary analyzers by the DAST API image name3136 when compared to DAST-API.latest template3137 includes the same DAST API image prefix3138 includes the DAST API image name in secure binary analyzers3139 includes a job named after the DAST API image name3140 includes the same DAST API image version3141 filters the secure binary analyzers by the DAST API image name3142 when compared to API-Fuzzing template3143 includes the same API Fuzzing image prefix3144 includes the API Fuzzing image name in secure binary analyzers3145 includes a job named after the API Fuzzing image name3146 includes the same API Fuzzing image version3147 filters the secure binary analyzers by the API Fuzzing image name3148 when compared to API-Fuzzing.latest template3149 includes the same API Fuzzing image prefix3150 includes the API Fuzzing image name in secure binary analyzers3151 includes a job named after the API Fuzzing image name3152 includes the same API Fuzzing image version3153 filters the secure binary analyzers by the API Fuzzing image name3154 the created pipeline3155 dast3156 behaves like an offline image download job3157 creates the job3158 sets SECURE_BINARIES_ANALYZER_VERSION to the correct version3159 dast-runner-validation3160 behaves like an offline image download job3161 creates the job3162 sets SECURE_BINARIES_ANALYZER_VERSION to the correct version3163 sets SECURE_BINARIES_IMAGE explicitly3164 api-security3165 behaves like an offline image download job3166 creates the job3167 sets SECURE_BINARIES_ANALYZER_VERSION to the correct version3168 sets SECURE_BINARIES_ANALYZER_VERSION explicitly3169Projects::DestroyService3170 when project is a mirror3171 decrements capacity if mirror was scheduled3172 when running on a primary node3173 logs an event to the Geo event log3174 does not log event to the Geo log if project deletion fails3175 audit events3176 when licensed3177 does not log audit event if operation fails3178 when operation succeeds3179 logs an audit event3180 logs the audit event info3181 when not licensed3182 does not log audit event3183 streaming audit event3184 sends the audit streaming event with json format3185 system hooks exception3186 logs an audit event3187 when project has an associated ProjectNamespace3188 destroys the associated ProjectNamespace also3189Mutations::Issues::SetIteration3190 #resolve3191 behaves like permission level for issue mutation is correctly verified3192 when the user is not a project member3193 behaves like when the user does not have access to the resource3194 raises an error3195 even if assigned to the issue3196 does not modify issue3197 even if author of the issue3198 does not modify issue3199 when the user is a project member3200 with guest role3201 behaves like when the user does not have access to the resource3202 raises an error3203 even if assigned to the issue3204 does not modify issue3205 even if author of the issue3206 does not modify issue3207 when the user can update the issue3208 returns the issue with the iteration3209 returns errors issue could not be updated3210 when passing iteration_id as nil3211 removes the iteration3212 does not do anything if the issue already does not have a iteration3213Boards::Issues::ListService3214 #execute3215 with assignee, milestone, iteration and label lists present3216 milestone lists3217 returns issues from milestone persisted in the list3218 backlog list context3219 returns issues without milestones and without milestones from other lists3220 iteration lists3221 returns issues from iteration persisted in the list3222 backlog list3223 excludes issues in the iteration list3224 when feature is disabled3225 includes issues in the iteration list3226 #metadata3227 returns issues count and weight for list3228 returns 0 when filtering by labels and issues are not present3229 when total_issue_weight is not included in the required_fields3230 returns only issue count3231 when required_fields array is empty3232 returns empty hash3233 when list_id is missing3234 when board is not scoped by milestone3235 returns opened issues without board labels and assignees applied3236 when board is scoped by milestone3237 returns opened issues without board labels, assignees, or milestone applied3238 when milestone is predefined3239 as upcoming3240 returns open issue for backlog without board label or assignees3241 as started3242 returns open issue for backlog without board label or assignees3243 when :all_lists param is set3244 returns matching issues in all board lists3245 when search param is present3246 returns correct issues3247 returns correct issues using 2 characters3248 when test cases are present3249 filters out test cases3250Epics::TransferService3251 #execute3252 when old_group is present3253 when user can create epics in the new group3254 recreates the missing group epics in the new group3255 does not recreate missing epics that are not applied to issues3256 when rate limiting is in effect3257 transfers both epics3258 when epic is from an descendant group3259 recreates the missing epic in the new group3260 when epic is from an ascending group3261 does not recreate the epics in the new group3262 when create_epic returns nil3263 removes issues epic3264 when assigned epic is confidential3265 creates a new confidential epic in the new group3266 when user is a guest of the new group3267 does not create a new epic but removes assigned epic3268 when epics are disabled3269 does not create a new epic3270 when old_group is not present3271 returns nil3272 when project group is not present3273 returns nil3274Epics::UpdateDatesService3275 #execute3276 fixed date is set3277 updates to fixed date3278 fixed date is not set3279 multiple milestones3280 complete start and due dates3281 updates to milestone dates3282 without due date3283 updates to milestone dates3284 without any dates3285 updates to milestone dates3286 without milestone3287 updates to milestone dates3288 single milestone3289 complete start and due dates3290 updates to milestone dates3291 without due date3292 updates to milestone dates3293 without any dates3294 updates to milestone dates3295 #when updating multiple epics3296 updates in bulk3297 query count check3298 does not increase query count when adding epics without milestones3299 does not increase query count when adding epics belongs to same milestones3300 when epic dates are inherited3301 when epic has no issues3302 epic dates are nil3303 when epic has issues assigned to milestones3304 returns inherited milestone dates3305 when epic has child epics3306 returns inherited dates from child epics and milestones3307 when epic dates are propagated upwards3308 propagates date changes to parent epics3309ProtectedEnvironments::CreateService#execute3310 with valid params3311 is expected to be truthy3312 creates a record on ProtectedEnvironment3313 creates a record on ProtectedEnvironment record3314 with invalid params3315 returns a non-persisted Protected Environment record3316 multiple deploy access levels3317 behaves like invalid multiple deployment access levels3318 does not create deploy access level3319 does not create protected environment3320 deploy access level by group3321 behaves like invalid protected environment group3322 does not create deploy access level3323 does not create protected environment3324 behaves like valid protected environment group3325 creates deploy access level3326 creates protected environment3327 deploy access level by user3328 behaves like invalid protected environment user3329 does not create deploy access level3330 does not create protected environment3331 behaves like valid protected environment user3332 creates deploy access level3333 creates protected environment3334DastScannerProfile3335 behaves like sanitizable3336 includes Sanitizable3337 #name3338 when input includes javascript tags3339 gets sanitized3340 #name validation3341 when input contains pre-escaped html entities3342 is not valid3343 associations3344 is expected to belong to project required: false3345 validations3346 is expected to be valid3347 is expected to validate that the length of :name is at most 2553348 is expected to validate that :name is case-sensitively unique within the scope of :project_id3349 is expected to validate that :project_id cannot be empty/falsy3350 is expected to validate that :name cannot be empty/falsy3351 scopes3352 .project_id_in3353 returns the dast_scanner_profiles for given projects3354 .with_name3355 returns the dast_scanner_profiles with given name3356 .names3357 returns the names for the DAST scanner profiles with the given IDs3358 when a profile is not found3359 rescues the error and returns an empty array3360 #ci_variables3361 returns a collection of variables3362 when optional fields are set3363 returns a collection of variables including these3364 when the scan_type is active3365 returns a collection of variables with the passive profile3366 when the target_type is api3367 when the scan_type is active3368 returns a collection of variables with the passive profile3369 when the scan_type is passive3370 returns a collection of variables with the passive profile3371 #referenced_in_security_policies3372 there is no security_orchestration_policy_configuration assigned to project3373 returns the referenced policy name3374 there is security_orchestration_policy_configuration assigned to project3375 calls security_orchestration_policy_configuration.active_policy_names_with_dast_scanner_profile with profile name3376 returns empty array3377Analytics::CycleAnalytics::Stages::UpdateService3378 behaves like permission check for Value Stream Analytics Stage services3379 when user has no access3380 is expected to be error3381 is expected to eq :forbidden3382 when license is missing3383 is expected to be error3384 is expected to eq :forbidden3385 when updating a default stage3386 when hiding a default stage3387 is expected to be success3388 is expected to be persisted3389 is expected to be hidden3390 when other parameters than "hidden" are given3391 is expected to be success3392 is expected not to eq "should not be updated"3393 when the first update happens on a default stage3394 is expected to be success3395 persists all default stages3396 matches with the configured default stage name3397 when the update fails3398 returns unsuccessful service response3399 does not persist the default stages if the stage is invalid3400 when updating an already persisted default stage3401 is expected to be persisted3402 is expected not to be hidden3403 when updating a custom stage3404 is expected to be success3405 is expected to eq :ok3406 is expected to eq "my new stage name"3407 when params are invalid3408 is expected to be error3409 is expected to eq :unprocessable_entity3410 is expected to eq [:name]3411 when positioning a stage3412 when there are stages without position3413 when moving the stage down3414 when moving the stage down3415 changes the stage positions correctly3416 when moving the stage to the middle3417 changes the stage positions correctly3418 when bogus `move_before_id` is given3419 is expected to raise ActiveRecord::RecordNotFound3420 when bogus `move_after_id` is given3421 is expected to raise ActiveRecord::RecordNotFound3422 when `move_before_id` points to a stage within a different group3423 is expected to raise ActiveRecord::RecordNotFound3424Types::GroupType3425 is expected to have graphql field :iterations3426 is expected to have graphql field :iteration_cadences3427 is expected to have graphql field :vulnerabilities3428 is expected to have graphql field :vulnerability_scanners3429 is expected to have graphql field :vulnerabilities_count_by_day3430 is expected to have graphql field :vulnerability_grades3431 is expected to have graphql field :code_coverage_activities3432 is expected to have graphql field :stats3433 is expected to have graphql field :billable_members_count3434 is expected to have graphql field :external_audit_event_destinations3435 is expected to have graphql field :merge_request_violations3436 is expected to have graphql field :allow_stale_runner_pruning3437 is expected to have graphql field :cluster_agents3438 is expected to have graphql field :enforce_free_user_cap3439 nested epic request3440 is expected to have graphql field :epicsEnabled3441 is expected to have graphql field :epic3442 is expected to have graphql field :epics3443 is expected to have graphql field :epic_board3444 is expected to have graphql field :epic_boards3445 vulnerabilities3446 returns the vulnerabilities for all projects in the group and its subgroups3447 billable members count3448 when no plan is provided3449 returns billable users count including guests3450 when a plan is provided3451 with a plan that should include guests is provided3452 returns billable users count including guests3453 with a plan that should exclude guests is provided3454 returns billable users count excluding guests when a plan that should exclude guests is provided3455 without owner authorization3456 does not return the billable members count3457 dora field3458 is expected to have graphql type Types::DoraType3459AppSec::Fuzzing::Coverage::Corpus3460 associations3461 is expected to belong to package class_name => Packages::Package required: false3462 is expected to belong to user optional: true3463 is expected to belong to project required: false3464 validate3465 project_same_as_package_project3466 raises the error on adding the package of a different project3467 package_with_package_file3468 without a package file associated to the package3469 raises the error3470 with a package file associated to the package3471 saves the record successfully3472 validate_file_format3473 with an invalid last package file3474 raises the error on adding the package file with different format3475 with a valid last package file3476 saves the record successfully3477 validates3478 is expected to validate that :package_id is case-sensitively unique3479 scopes3480 .by_project_id_and_status_hidden3481 with another_corpus having different project_id3482 includes the correct records3483 with another_corpus having same project with different status apart from hidden3484 includes the correct records3485Mutations::Issues::Create3486 is expected to require graphql authorizations :create_issue3487 #resolve3488 when user can create issues3489 creates issue with correct EE values3490 when iterations are available3491 when iteration_id is provided3492 is successful, and assigns the current iteration to the issue3493 when iteration_wildcard_id is provided3494 raises a mutually exclusive argument error3495 when iteration cadences feature flag is disabled3496 is successful, and assigns the current iteration to the issue3497 when iteration_wildcard_id is CURRENT3498 when iteration_cadence_id is provided3499 is successful, and assigns the current iteration to the issue3500 when iteration_cadence_id is not provided3501 always requires iteration cadence id when wildcard is provided3502 when iterations are not available3503 when iteration_wildcard_id is provided3504 is successful, but it does not add the iteration3505 when iteration_id is provided3506 is successful, but it does not add the iteration3507 when the epic_id parameter is passed3508 epics are available3509 is successful, and assigns the issue to the epic3510 the project is not in a group3511 is successful, but it does not add the epic3512 epics are unavailable3513 is unsuccessful3514 does not create an issue3515IssueLinks::CreateService3516 #execute3517 when there is an issue to relate3518 returns success status and created links3519 when feature is not available3520 returns error3521 no relationship is created3522 behaves like issuable link creation with blocking link_type3523 when is_blocked_by relation is used3524 creates `blocks` relation with swapped source and target3525 when blocks relation is used3526 creates `blocks` relation3527 when reference of any already related issue is present3528 sets the same type of relation for selected references3529ApprovalRules::MergeRequestRuleDestroyService3530 user cannot edit approval rule3531 returns error status3532 user can edit approval rule3533 when rule successfully deleted3534 returns successful status3535 tracks delete event via a usage counter3536 when rule not successfully deleted3537 returns error status3538 does not track delete event via a usage counter3539Custom file template classes3540 Gitlab::Template::CustomDockerfileTemplate3541 .all3542 returns all valid templates3543 .find3544 finds a valid template3545 sets the category correctly (PENDING: {:class_name=>Gitlab::Template::CustomDockerfileTemplate, :category=>"Custom"}.find does not set category correctly)3546 does not find a template with the wrong extension3547 does not find a template in a subdirectory3548 Gitlab::Template::CustomGitignoreTemplate3549 .all3550 returns all valid templates3551 .find3552 finds a valid template3553 sets the category correctly (PENDING: {:class_name=>Gitlab::Template::CustomGitignoreTemplate, :category=>"Custom"}.find does not set category correctly)3554 does not find a template with the wrong extension3555 does not find a template in a subdirectory3556 Gitlab::Template::CustomGitlabCiYmlTemplate3557 .all3558 returns all valid templates3559 .find3560 finds a valid template3561 sets the category correctly (PENDING: {:class_name=>Gitlab::Template::CustomGitlabCiYmlTemplate, :category=>"Custom"}.find does not set category correctly)3562 does not find a template with the wrong extension3563 does not find a template in a subdirectory3564 Gitlab::Template::CustomLicenseTemplate3565 .all3566 returns all valid templates3567 .find3568 finds a valid template3569 sets the category correctly (PENDING: {:class_name=>Gitlab::Template::CustomLicenseTemplate, :category=>"Custom"}.find does not set category correctly)3570 does not find a template with the wrong extension3571 does not find a template in a subdirectory3572 Gitlab::Template::CustomMetricsDashboardYmlTemplate3573 .all3574 returns all valid templates3575 .find3576 finds a valid template3577 sets the category correctly (PENDING: {:class_name=>Gitlab::Template::CustomMetricsDashboardYmlTemplate, :category=>"Custom"}.find does not set category correctly)3578 does not find a template with the wrong extension3579 does not find a template in a subdirectory3580 Gitlab::Template::IssueTemplate3581 .all3582 returns all valid templates3583 .find3584 finds a valid template3585 sets the category correctly (PENDING: {:class_name=>Gitlab::Template::IssueTemplate, :category=>"Project Templates"}.find does not set category correctly)3586 does not find a template with the wrong extension3587 does not find a template in a subdirectory3588 Gitlab::Template::MergeRequestTemplate3589 .all3590 returns all valid templates3591 .find3592 finds a valid template3593 sets the category correctly (PENDING: {:class_name=>Gitlab::Template::MergeRequestTemplate, :category=>"Project Templates"}.find does not set category correctly)3594 does not find a template with the wrong extension3595 does not find a template in a subdirectory3596PersonalAccessToken3597 scopes3598 with_expires_at_after3599 includes the tokens with higher than the lifetime expires_at value3600 doesn't contain expired tokens3601 doesn't contain tokens within the expiration time3602 with_no_expires_at3603 includes the tokens with nil expires_at3604 doesn't contain expired tokens3605 doesn't contain tokens within the expiration time3606 expires_in3607 only includes one token3608 validations3609 allows to define expires_at3610 allows to don't define expires_at3611 with expiration policy3612 when the feature is licensed3613 when the user does not belong to a managed group3614 behaves like PAT expiry rules are enforced3615 requires to be less or equal than the max_personal_access_token_lifetime3616 can't be blank3617 when the user belongs to a managed group3618 when the group has enforced a PAT expiry rule3619 behaves like PAT expiry rules are enforced3620 requires to be less or equal than the max_personal_access_token_lifetime3621 can't be blank3622 when the group has not enforced a PAT expiry setting3623 when the instance has enforced a PAT expiry setting3624 behaves like PAT expiry rules are enforced3625 requires to be less or equal than the max_personal_access_token_lifetime3626 can't be blank3627 when the instance does not enforce a PAT expiry setting3628 behaves like PAT expiry rules are not enforced3629 allows expiry to be after the max_personal_access_token_lifetime3630 can be blank3631 when the feature is not available3632 behaves like PAT expiry rules are not enforced3633 allows expiry to be after the max_personal_access_token_lifetime3634 can be blank3635 .pluck_names3636 returns the names of the tokens3637 .with_invalid_expires_at3638 includes the tokens with invalid expires_at3639 doesn't include valid tokens3640 doesn't include revoked tokens3641 doesn't include expired tokens3642 #revoke3643 clears cache on revoke access3644 after create callback3645 clears cache for the user3646Projects::MarkForDeletionService3647 with delayed delete feature turned on3648 marking project for deletion3649 marks project as archived and marked for deletion3650 renames project name3651 renames project path3652 marking project for deletion once again3653 does not change original date3654 audit events3655 saves audit event3656 with delayed delete feature turned off3657 marking project for deletion3658 does not change project attributes3659 #project_update_service_params3660 when delayed deletion feature is not available3661 creates the params for project update service3662 when delayed deletion feature is available3663 creates the params for project update service3664VulnerabilityExports::ExportService3665 ::export3666 instantiates a new instance of the service class and sends export message to it3667 #export3668 generating the export file3669 runs synchronized with distributed semaphore3670 when the vulnerability_export is not in `created` state3671 does not execute export file generation logic3672 when the vulnerability_export is in `created` state3673 when the export generation fails3674 sets the state of export back to `created`3675 schedules the export deletion background job3676 when the export generation succeeds3677 marks the state of export object as `started` and then `finished`3678 schedules the export deletion background job3679 when the export format is csv3680 calls the VulnerabilityExports::Exporters::CsvService which sets the file and filename3681SystemNotes::IssuablesService3682 #change_health_status_note3683 when health_status changed3684 sets the note text3685 behaves like a system note3686 has the correct attributes3687 when health_status removed3688 sets the note text3689 behaves like a system note3690 has the correct attributes3691 events tracking3692 tracks the issue event in usage ping3693 behaves like issue_edit snowplow tracking3694 behaves like Snowplow event tracking3695 is not emitted if FF is disabled3696 is emitted3697 #publish_issue_to_status_page3698 sets the note text3699 behaves like a system note3700 has the correct attributes3701 #cross_reference3702 when noteable is an epic3703 tracks epic cross reference event in usage ping3704 behaves like a system note3705 has the correct attributes3706 when notable is not an epic3707 does not tracks epic cross reference event in usage ping3708 #relate_issuable3709 creates system notes when relating epics3710 #unrelate_issuable3711 creates system notes when epic gets unrelated3712ProtectedEnvironment::DeployAccessLevel3713 validations3714 is expected to validate that :access_level cannot be empty/falsy3715 is expected to validate that :group_inheritance_type is either ‹0› or ‹1›3716 behaves like authorizable for protected environments3717 associations3718 is expected to belong to protected_environment required: false3719 is expected to belong to user required: false3720 is expected to belong to group required: false3721 validations3722 is expected to validate that :access_level is either ‹20›, ‹30›, or ‹40›3723 #check_access3724 anonymous access3725 is expected to be falsy3726 admin access3727 when admin user does have specific access3728 is expected to be truthy3729 when admin user does not have specific access3730 is expected to be truthy3731 user access3732 when specific access has been assigned to a user3733 is expected to be truthy3734 when no permissions have been given to a user3735 is expected to be falsy3736 group access3737 when specific access has been assigned to a group3738 is expected to be truthy3739 when no permissions have been given to a group3740 is expected to be falsy3741 when there is an inherited member of a group3742 when group inheritance type is direct3743 is expected to be falsey3744 when group inheritance type is all inheritance3745 is expected to be truthy3746 access level3747 with a permitted access level3748 when user is project member above the permitted access level3749 is expected to be truthy3750 when user is project member below the permitted access level3751 is expected to be falsy3752 when the access level is not permitted3753 does not save the record3754 #humanize3755 when is related to a user3756 is expected to eq "Sidney Jones2546"3757 when is related to a group3758 is expected to eq "group423"3759 when is set to have a role3760 for developer access3761 is expected to eq "Developers + Maintainers"3762 for maintainer access3763 is expected to eq "Maintainers"3764 #type3765 with role type3766 is expected to eq :role3767 with user type3768 is expected to eq :user3769 with group type3770 is expected to eq :group3771 #role?3772 with role type3773 is expected to eq true3774 with user type3775 is expected to eq false3776Vulnerabilities::FeedbackEntity3777 #as_json3778 is expected to include :created_at, :project_id, :author, :category, and :feedback_type3779 when feedback type is issue3780 when issue is present3781 exposes the issue iid3782 when user can view issues3783 exposes issue url3784 when user cannot view issues3785 does not expose issue url3786 when there is no current user3787 does not include fields related to current user3788 when issue is not present3789 does not expose issue information3790 when allowed to destroy vulnerability feedback3791 does not contain destroy vulnerability feedback dismissal path3792 when feedback type is merge_request3793 when merge request is present3794 exposes the merge request iid3795 when user can view merge requests3796 exposes merge request url3797 when user cannot view merge requests3798 does not expose merge request url3799 when merge request is not present3800 does not expose merge request information3801 when allowed to destroy vulnerability feedback3802 does not contain destroy vulnerability feedback dismissal path3803 when feedback type is dismissal3804 when not allowed to destroy vulnerability feedback3805 does not contain destroy vulnerability feedback dismissal path3806 when allowed to destroy vulnerability feedback3807 contains destroy vulnerability feedback dismissal path3808 when comment is not present3809 is expected not to include :comment_details3810 when comment is present3811 exposes comment information3812 when finding_uuid is not present3813 has a nil finding_uuid3814 when finding_uuid is present3815 exposes finding_uuid3816 when dismissal_reason is not present3817 returns nil3818 when dismissal_reason is present3819 exposes dismissal_reason3820Vulnerabilities::FindingIdentifier3821 associations3822 is expected to belong to finding class_name => Vulnerabilities::Finding required: false3823 is expected to belong to identifier class_name => Vulnerabilities::Identifier required: false3824 validations3825 is expected to validate that :finding cannot be empty/falsy3826 is expected to validate that :identifier cannot be empty/falsy3827 is expected to validate that :identifier_id is case-sensitively unique within the scope of :occurrence_id3828Mutations::DastSiteProfiles::Update3829 is expected to require graphql authorizations :create_on_demand_dast_scan3830 #resolve3831 when on demand scan feature is enabled3832 when the user can run a dast scan3833 calls the dast_site_profile update service3834 updates the dast_site_profile3835 returns the complete dast_site_profile3836 when secret variables already exist3837 when the arguments are omitted3838 does not delete the secret variable3839 when the arguments are empty strings3840 deletes secret variables3841 when variable creation fails3842 returns an error and the dast_site_profile3843 when the feature flag dast_api_scanner is disabled3844 does not update the scan_method and uses the default value according to the target_type3845Epics::ReopenService3846 #execute3847 when epics are disabled3848 does not reopen the epic3849 when epics are enabled3850 when a user has permissions to update the epic3851 when reopening a closed epic3852 reopens the epic3853 removes closed_by3854 removes closed_at3855 creates a resource state event3856 notifies the subscribers3857 creates new event3858 tracks reopening the epic3859 when trying to reopen an opened epic3860 does not change the epic state3861 does not change closed_at3862 does not change closed_by3863 does not create a resource state event3864 does not send any emails3865 does not create an event3866 does not track reopening the epic3867 when a user does not have permissions to update epic3868 does not reopen the epic3869AuditEventFinder3870 #execute3871 scoping the results3872 when project level3873 finds all project events3874 when group level3875 when audit_log_group_level feature enabled3876 finds all group and project events3877 when audit_log_group_level feature disabled3878 finds all group events3879 when instance level3880 finds all instance level events3881 when invalid level3882 raises exception3883 filtering by entity_id3884 no entity_type provided3885 behaves like no filtering3886 finds all the events3887 invalid entity_id3888 ignores entity_id and returns all events for given entity_type3889 User Event3890 behaves like finds the right event3891 finds the right event3892 Project Event3893 behaves like finds the right event3894 finds the right event3895 Group Event3896 behaves like finds the right event3897 finds the right event3898 filtering by entity_type3899 User Event3900 finds the right user event3901 Project Event3902 finds the right project event3903 Group Event3904 finds the right group event3905 invalid entity types3906 blank entity_type3907 behaves like no filtering3908 finds all the events3909 invalid entity_type3910 behaves like no filtering3911 finds all the events3912 filtering by author_id3913 no author_id provided3914 behaves like no filtering3915 finds all the events3916 invalid author_id3917 ignores author_id and returns all events irrespective of entity_type3918 Group Event3919 behaves like finds the right event3920 finds the right event3921 Project Event3922 behaves like finds the right event3923 finds the right event3924 filtering by created_at3925 through created_after3926 returns events created on or after the given date3927 through created_before3928 returns events created on or before the given date3929 through created_after and created_before3930 returns events created between the given dates3931 filtering by entity_username3932 User Event3933 finds the right event3934 filtering by author_username3935 username is too short3936 ignores author_username and returns all events irrespective of entity_type3937 username is too long3938 ignores author_username and returns all events irrespective of entity_type3939 Instance Event3940 finds all the events the user authored3941 Group Event3942 behaves like finds the right event3943 finds the right event3944 Project Event3945 behaves like finds the right event3946 finds the right event3947 #find_by!3948 is expected to eq #<AuditEvent id: 80, author_id: 2486, entity_id: 2483, entity_type: "User", details: {:change=>"email...Jones2601", created_at: "2022-08-21 17:47:17.002618992 +0000", target_type: "User", target_id: 2487>3949 non-existent id provided3950 raises exception3951Geo::NodeUpdateService3952 #execute3953 updates the node3954 returns true when update succeeds3955 returns false when update fails3956 selective sync disabled3957 does not log an event to the Geo event log when adding restrictions3958 selective sync by namespaces3959 logs an event to the Geo event log when adding namespace restrictions3960 does not log an event to the Geo event log when removing namespace restrictions3961 does not log an event to the Geo event log when node is a primary node3962 selective sync by shards3963 logs an event to the Geo event log when adding shard restrictions3964 does not log an event to the Geo event log when removing shard restrictions3965 does not log an event to the Geo event log when node is a primary node3966GroupSaml::Identity::DestroyService3967 prevents future Group SAML logins3968 does not use a transaction3969 uses a transaction when transactional is set3970 removes access to the group3971 doesn't remove the last group owner3972 logs an audit event3973IncidentManagement::ApplyIncidentSlaExceededLabelWorker3974 adds a label to the incident3975 sets the label applied boolean3976 adds a note that the label was added3977 label exists already3978 does not add a label3979 label is already added3980 does not add a label3981 sets the label applied boolean3982 for plain issues3983 does not add a label3984 without license3985 does not add a label3986Gitlab::Ci::Pipeline::Chain::Limit::Size3987 when pipeline size limit is exceeded3988 when saving incomplete pipelines3989 drops the pipeline3990 persists the pipeline3991 breaks the chain3992 sets a valid failure reason3993 appends validation error3994 logs the error3995 when not saving incomplete pipelines3996 does not drop the pipeline3997 breaks the chain3998 increments the error metric3999 when pipeline size limit is not exceeded4000 does not break the chain4001 does not persist the pipeline4002 does not log any error4003 when pipeline size limit is disabled4004 when global pipeline size limit is exceeded4005 logs the pipeline4006Ci::Minutes::AdditionalPack4007 associations4008 is expected to belong to namespace required: false4009 validations4010 is expected to validate that :namespace cannot be empty/falsy4011 is expected to validate that :number_of_minutes cannot be empty/falsy4012 is expected to validate that the length of :purchase_xid is at most 504013 when GitLab.com4014 is expected to validate that :expires_at cannot be empty/falsy4015 is expected to validate that :purchase_xid cannot be empty/falsy4016 is expected to validate that :purchase_xid is case-sensitively unique4017 when self-managed4018 is expected not to validate that :purchase_xid cannot be empty/falsy4019 is expected not to validate that :expires_at cannot be empty/falsy4020 is expected not to validate that :purchase_xid is case-sensitively unique4021 behaves like cleanup by a loose foreign key4022 cleans up (delete or nullify) the model4023Mutations::MergeRequests::SetAssignees4024 behaves like a multi-assignable resource4025 #resolve4026 when the user can update the resource4027 sets the assignees4028 removes assignees not in the list4029 when passing "append" as true4030 does not remove assignees not in the list4031Gitlab::Insights::Reducers::CountPerLabelReducer4032 raises an error for an unknown :issuable_type option4033 returns issuables with only the needed fields4034 avoids N + 1 queries4035Groups::SecurityFeaturesHelper4036 #group_level_security_dashboard_available?4037 group_level_compliance_dashboard_enabled: false, read_group_compliance_dashboard_permission: false, result: false4038 returns the expected result4039 group_level_compliance_dashboard_enabled: true, read_group_compliance_dashboard_permission: false, result: false4040 returns the expected result4041 group_level_compliance_dashboard_enabled: false, read_group_compliance_dashboard_permission: true, result: false4042 returns the expected result4043 group_level_compliance_dashboard_enabled: true, read_group_compliance_dashboard_permission: true, result: true4044 returns the expected result4045 #group_level_credentials_inventory_available?4046 credentials_inventory_feature_enabled: true, enforced_group_managed_accounts: false, read_group_credentials_inventory_permission: false, result: false4047 returns the expected result4048 credentials_inventory_feature_enabled: true, enforced_group_managed_accounts: true, read_group_credentials_inventory_permission: false, result: false4049 returns the expected result4050 credentials_inventory_feature_enabled: true, enforced_group_managed_accounts: false, read_group_credentials_inventory_permission: true, result: false4051 returns the expected result4052 credentials_inventory_feature_enabled: true, enforced_group_managed_accounts: true, read_group_credentials_inventory_permission: true, result: true4053 returns the expected result4054 credentials_inventory_feature_enabled: false, enforced_group_managed_accounts: false, read_group_credentials_inventory_permission: false, result: false4055 returns the expected result4056 credentials_inventory_feature_enabled: false, enforced_group_managed_accounts: false, read_group_credentials_inventory_permission: false, result: false4057 returns the expected result4058 credentials_inventory_feature_enabled: false, enforced_group_managed_accounts: false, read_group_credentials_inventory_permission: true, result: false4059 returns the expected result4060 credentials_inventory_feature_enabled: false, enforced_group_managed_accounts: true, read_group_credentials_inventory_permission: true, result: false4061 returns the expected result4062 #group_level_security_dashboard_data4063 when it does not have projects4064 is expected to eq {:can_admin_vulnerability=>"true", :can_view_false_positive=>"false", :empty_state_svg_path=>"/assets...af0108.svg", :vulnerabilities_export_endpoint=>"/api/v4/security/groups/4509/vulnerability_exports"}4065 when it has projects4066 is expected to eq {:can_admin_vulnerability=>"true", :can_view_false_positive=>"false", :empty_state_svg_path=>"/assets...af0108.svg", :vulnerabilities_export_endpoint=>"/api/v4/security/groups/4509/vulnerability_exports"}4067 when it does not have projects but has subgroups that do4068 is expected to eq {:can_admin_vulnerability=>"true", :can_view_false_positive=>"false", :empty_state_svg_path=>"/assets...af0108.svg", :vulnerabilities_export_endpoint=>"/api/v4/security/groups/4509/vulnerability_exports"}4069 #group_security_showcase_data4070 builds correct hash4071 #group_security_discover_data4072 builds correct hash4073 candidate for pql_three_cta_test4074 renders a hash with pqltest content4075Gitlab::Com4076 is expected to eq #<ActiveSupport::Cache::MemoryStore entries=0, size=0, options={:compress=>false}>4077 is expected to eq <ActiveSupport::Cache::NullStore>4078 .gitlab_com_group_member_id?4079 when user is a gitlab team member4080 is expected to equal true4081 caching of allowed user IDs4082 behaves like allowed user IDs are cached4083 caches the allowed user IDs in cache4084 caches the allowed user IDs in L1 cache for 1 minute4085 caches the allowed user IDs in L2 cache for 5 minutes4086 when user is not a gitlab team member4087 is expected to equal false4088 caching of allowed user IDs4089 behaves like allowed user IDs are cached4090 caches the allowed user IDs in cache4091 caches the allowed user IDs in L1 cache for 1 minute4092 caches the allowed user IDs in L2 cache for 5 minutes4093 when user is nil4094 is expected to equal false4095 when gitlab-com group does not exist4096 is expected to equal false4097 when feature flag is turned off4098 is expected to equal false4099Resolvers::BoardGroupings::EpicsResolver4100 #resolve4101 when user can not see epics4102 does not return epics4103 when user can access the group4104 finds all epics for issues in the project board4105 finds all epics for issues in the group board4106 finds only epics for issues matching issue filters4107 finds only epics for issues matching search param4108 accepts negated issue params4109 generates an error if both epic_id and epic_wildcard_id are present4110 accepts epic global id4111 accepts epic wildcard id4112EE::Namespace::Storage::Notification4113 #show?4114 returns true if all conditions are met4115 when not SaaS4116 is expected to equal false4117 when the user is not provided4118 is expected to equal false4119 when the user does not have at least maintainer access to the group4120 is expected to equal false4121 when alert level is none4122 is expected to equal false4123 #payload4124 with repository usage4125 when additional_purchased_storage_size is 04126 returns proper usage_message4127 returns proper explanation_message4128 when additional_purchased_storage_size exists4129 returns usage_message when there is additional_purchased_storage_size4130 returns usage_message with singular version if its just 1 locked project4131 returns explanation_message when there is additional_purchased_storage_size4132 when namespace does not have locked projects4133 behaves like namespace usage_message4134 returns correct usage_message4135 with namespace usage4136 when above the limit4137 returns above the limit messages4138 behaves like namespace usage_message4139 returns correct usage_message4140 when below the limit4141 returns below the limit messages4142Security::UpdateTrainingService4143 #execute4144 when there is no provider with the given id4145 does not raise error4146 when `is_enabled` argument is false4147 when the deletion fails4148 is expected to match {:status=>:error, :message=>"Updating security training failed!", :training=>(an instance of Security::Training)}4149 when there is no training4150 is expected to match {:status=>:success, :training=>(an instance of Security::Training)}4151 when there is a training4152 is expected to eq {:status=>:success, :training=>#<Security::Training id: 1, project_id: 1545, provider_id: 1, is_prima...eated_at: "2022-08-24 17:48:07.847520290 +0000", updated_at: "2022-08-24 17:48:07.847520290 +0000">}4153 deletes the existing training4154 when `is_enabled` argument is true4155 when updating the training fails4156 is expected to match {:status=>:error, :message=>"Updating security training failed!", :training=>(an instance of Security::Training)}4157 when `is_primary` argument is false4158 when there is no security training for the project with given provider4159 creates a new security training record for the project4160 when there is a security training for the project with given provider4161 updates the `is_primary` attribute of the existing security training records to false4162 when `is_primary` argument is true4163 when there is already a primary training for the project4164 when there is no security training for the project with given provider4165 creates a new security training record for the project4166 when there is a security training for the project with given provider4167 updates the `is_primary` attribute of the security training records4168 when there is not a primary training for the project4169 when there is no security training for the project with given provider4170 creates a new security training record for the project4171 when there is a security training for the project with given provider4172 updates the `is_primary` attribute of the existing security training record to true4173Gitlab::Analytics::CycleAnalytics::StageEvents::IssueLabelRemoved4174 behaves like value stream analytics event4175 is expected to be a kind of String4176 is expected to be a kind of Symbol4177 is expected to include ApplicationRecord(abstract)4178 is expected to respond to #timestamp_projection4179 is expected to respond to #html_description4180 is expected to be a kind of Array4181 #apply_query_customization4182 expects an ActiveRecord::Relation object as argument and returns a modified version of it4183 #hash_code4184 returns a hash that uniquely identifies an event4185 does not differ when the same object is built with the same params4186 behaves like LEFT JOIN-able value stream analytics event4187 can use the event as LEFT JOIN4188 when looking at the record with data4189 contains the timestamp expression4190 when looking at the record without data4191 returns nil for the timestamp expression4192AllowedEmailDomain4193 relations4194 is expected to belong to group required: false4195 .domain_names4196 returns the array of domain names4197 validations4198 is expected to validate that :domain cannot be empty/falsy4199 is expected to validate that :group_id cannot be empty/falsy4200 #valid domain4201 valid domain4202 succeeds4203 invalid domain4204 fails4205 domain from excluded list4206 fails4207 #allow_root_group_only4208 top-level group4209 succeeds4210 subgroup4211 fails4212 #email_matches_domain?4213 with matching domain4214 returns true4215 with not matching domain4216 returns false4217 #email_domain4218 returns formatted domain4219Resolvers::Ci::CodeCoverageActivitiesResolver4220 is expected to eq Types::Ci::CodeCoverageActivityType4221 is expected to be truthy4222 #resolve4223 when group has projects with coverage4224 returns coverage activity for the group4225 when group has projects without coverage4226 returns an empty collection4227 when coverage is included within start date4228 returns coverage from the start_date4229 when coverage is not included within start date4230 returns an empty collection4231Epics::CloseService4232 #execute4233 when epics are disabled4234 does not close the epic4235 when epics are enabled4236 when a user has permissions to update the epic4237 when closing an opened epic4238 closes the epic4239 changes closed_by4240 changes closed_at4241 creates a resource state event4242 notifies the subscribers4243 creates new event4244 tracks closing the epic4245 when trying to close a closed epic4246 does not change the epic state4247 does not change closed_at4248 does not change closed_by4249 does not create a resource state event4250 does not send any emails4251 does not create an event4252 does not track closing the epic4253 when a user does not have permissions to update epic4254 does not close the epic4255SamlGroupLink4256 associations4257 is expected to belong to group required: false4258 validations4259 is expected to validate that :group cannot be empty/falsy4260 is expected to validate that :access_level cannot be empty/falsy4261 is expected to validate that :saml_group_name cannot be empty/falsy4262 is expected to validate that the length of :saml_group_name is at most 2554263 group name uniqueness4264 is expected to validate that :saml_group_name is case-sensitively unique within the scope of :group_id4265 saml_group_name with whitespaces4266 saves group link name without whitespace4267 minimal access role4268 allows the role at the top level group4269 does not allow the role for subgroups4270 .by_id_and_group_id4271 finds the group link4272 with multiple groups and group links4273 finds group links within the given groups4274 does not find group links outside the given groups4275 .by_saml_group_name4276 finds the group link4277 with multiple groups and group links4278 finds group links within the given groups4279Issues::BuildService4280 with an issue template4281 #execute4282 fills in the template in the description4283 fills in the template, followed by the query parameter, in the description4284 for a single thread4285 #execute4286 with an issue template4287 picks the thread description over the issue template4288 #execute4289 as guest4290 setting issue type4291 cannot set the issue type to test_case4292 cannot set the issue type to requirement4293Gitlab::Geo::Oauth::LoginState4294 .from_state4295 returns a invalid instance when state is nil4296 returns a invalid instance when state is empty4297 returns a valid instance when state is valid4298 #valid?4299 returns false when return_to is nil4300 returns false when return_to is empty4301 returns false when token is nil4302 returns false when token is empty4303 returns false when salt not match4304 returns false when token does not match4305 returns false when token's expired4306 returns true when token matches4307 #encode4308 does not raise an error when return_to is nil4309 returns a string with salt, token, and return_to colon separated4310 #return_to4311 returns nil when return_to is nil4312 returns an empty string when return_to is empty4313 returns the full path of the return_to URL4314ProjectsFinder4315 #execute4316 filter by plans4317 with ultimate plan4318 is expected to contain exactly #<Project id:1560 namespace1549/project1642>> and #<Project id:1561 namespace1550/project1643>>4319 with multiple plans4320 is expected to contain exactly #<Project id:1560 namespace1549/project1642>>, #<Project id:1561 namespace1550/project1643>>, and #<Project id:1562 namespace1551/project1644>>4321 with other plans4322 is expected to be empty4323 without plans4324 is expected to contain exactly #<Project id:1560 namespace1549/project1642>>, #<Project id:1561 namespace1550/project1643>>, #<Project id:1562 namespace1551/project1644>>, and #<Project id:1563 namespace1552/project1645>>4325 with empty plans4326 is expected to contain exactly #<Project id:1560 namespace1549/project1642>>, #<Project id:1561 namespace1550/project1643>>, #<Project id:1562 namespace1551/project1644>>, and #<Project id:1563 namespace1552/project1645>>4327 filter by aimed for deletion4328 is expected to contain exactly #<Project id:1564 namespace1553/project1646>>4329 filter by not aimed for deletion4330 is expected to contain exactly #<Project id:1560 namespace1549/project1642>>, #<Project id:1561 namespace1550/project1643>>, #<Project id:1562 namespace1551/project1644>>, and #<Project id:1563 namespace1552/project1645>>4331 filter by hidden4332 when include hidden is true4333 is expected to contain exactly #<Project id:1560 namespace1549/project1642>>, #<Project id:1561 namespace1550/project1643>>, #<Project id:1562 namespace1551/project1644>>, #<Project id:1563 namespace1552/project1645>>, and #<Project id:1568 namespace1557/project1650>>4334 when include hidden is false4335 is expected to contain exactly #<Project id:1560 namespace1549/project1642>>, #<Project id:1561 namespace1550/project1643>>, #<Project id:1562 namespace1551/project1644>>, and #<Project id:1563 namespace1552/project1645>>4336Sbom::Occurrence4337 associations4338 is expected to belong to component required: true4339 is expected to belong to component_version required: false4340 is expected to belong to project required: true4341 is expected to belong to pipeline required: false4342 is expected to belong to source required: false4343 loose foreign key on sbom_occurrences.pipeline_id4344 behaves like cleanup by a loose foreign key4345 cleans up (delete or nullify) the model4346 validations4347 is expected to validate that :commit_sha cannot be empty/falsy4348 #component_version_belongs_to_component4349 when component_version belongs to the same component4350 is expected to be valid4351 when component_version is null4352 is expected to be valid4353 when component_version belongs to a different component4354 does not validate4355AppSec::Dast::SiteValidations::RunnerService4356 execute4357 when on demand scan licensed feature is not available4358 behaves like a failure4359 communicates failure4360 when the feature is enabled4361 communicates success4362 creates a ci_pipeline with an appropriate source4363 makes the correct variables available to the ci_build4364 when pipeline creation fails4365 transitions the dast_site_validation to a failure state4366Gitlab::Analytics::CycleAnalytics::StageEvents::MergeRequestLabelRemoved4367 behaves like value stream analytics event4368 is expected to be a kind of String4369 is expected to be a kind of Symbol4370 is expected to include ApplicationRecord(abstract)4371 is expected to respond to #timestamp_projection4372 is expected to respond to #html_description4373 is expected to be a kind of Array4374 #apply_query_customization4375 expects an ActiveRecord::Relation object as argument and returns a modified version of it4376 #hash_code4377 returns a hash that uniquely identifies an event4378 does not differ when the same object is built with the same params4379 behaves like LEFT JOIN-able value stream analytics event4380 can use the event as LEFT JOIN4381 when looking at the record with data4382 contains the timestamp expression4383 when looking at the record without data4384 returns nil for the timestamp expression4385Geo::ContainerRepositoryUpdatedEventStore4386 #create4387 behaves like a Geo event store4388 when running on a secondary node4389 does not create an event4390 when running on a primary node4391 does not create an event if there are no secondary nodes4392 creates an event4393 when file subject is not on local store4394 creates an event (PENDING: No file subject defined, skipping)4395 when running on a primary node4396 refers to a container repository4397 logs an error message when event creation fail4398Boards::UserPreferences::UpdateService4399 #execute4400 when user is not present4401 does not create user preference record4402 when user is present4403 when there is no user preference4404 creates user preference4405 when there is an user preference4406 does not duplicate user preference4407 does not update user_id4408 does not update board_id4409Elastic::IndexSetting4410 validations4411 is expected to allow :number_of_shards to be ‹10›4412 is expected not to allow :number_of_shards to be ‹nil›4413 is expected not to allow :number_of_shards to be ‹0›4414 is expected not to allow :number_of_shards to be ‹1.1›4415 is expected not to allow :number_of_shards to be ‹-1›4416 is expected to allow :number_of_replicas to be ‹10›4417 is expected to allow :number_of_replicas to be ‹0›4418 is expected not to allow :number_of_replicas to be ‹nil›4419 is expected not to allow :number_of_replicas to be ‹1.1›4420 is expected not to allow :number_of_replicas to be ‹-1›4421 is expected to allow :alias_name to be ‹"a"›4422 is expected not to allow :alias_name to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›4423 .[]4424 returns existing record4425 creates a new record4426 .default4427 returns index_setting record for the default index4428 .number_of_replicas4429 returns default number of replicas4430 .number_of_shards4431 returns default number of shards4432Elastic::IndexingControlService4433 .initialize4434 raises an exception when passed wrong worker4435 .add_to_waiting_queue!4436 calls an instance method4437 .has_jobs_in_waiting_queue?4438 calls an instance method4439 .resume_processing!4440 calls an instance method4441 .queue_size4442 reports the queue size4443 #add_to_waiting_queue!4444 adds a job to the set4445 adds only one unique job to the set4446 only stores `project` context information4447 #has_jobs_in_waiting_queue?4448 checks set existence4449 #resume_processing!4450 puts jobs back into the queue and respects order4451 drops a set after execution4452 concurrent changes to different queues4453 allows to use queues independently of each other4454Gitlab::SPDX::Catalogue4455 #version4456 is expected to eql "9c000b0d-5da4-44a8-b97c-79bfff76aa1e"4457 #each4458 is expected to eql 3964459 is expected to contain exactly "0BSD", "AAL", "ADSL", "AFL-1.1", "AFL-1.2", "AFL-2.0", "AFL-2.1", "AFL-3.0", "AGPL-1.0", "AGPL-1.0-only", "AGPL-1.0-or-later", "AGPL-3.0", "AGPL-3.0-only", "AGPL-3.0-or-later", "AMDPLPA", "AML", "AMPAS", "ANTLR-PD", "APAFML", "APL-1.0", "APSL-1.0", "APSL-1.1", "APSL-1.2", "APSL-2.0", "Abstyles", "Adobe-2006", "Adobe-Glyph", "Afmparse", "Aladdin", "Apache-1.0", "Apache-1.1", "Apache-2.0", "Artistic-1.0", "Artistic-1.0-Perl", "Artistic-1.0-cl8", "Artistic-2.0", "BSD-1-Clause", "BSD-2-Clause", "BSD-2-Clause-FreeBSD", "BSD-2-Clause-NetBSD", "BSD-2-Clause-Patent", "BSD-3-Clause", "BSD-3-Clause-Attribution", "BSD-3-Clause-Clear", "BSD-3-Clause-LBNL", "BSD-3-Clause-No-Nuclear-License", "BSD-3-Clause-No-Nuclear-License-2014", "BSD-3-Clause-No-Nuclear-Warranty", "BSD-3-Clause-Open-MPI", "BSD-4-Clause", "BSD-4-Clause-UC", "BSD-Protection", "BSD-Source-Code", "BSL-1.0", "Bahyph", "Barr", "Beerware", "BitTorrent-1.0", "BitTorrent-1.1", "BlueOak-1.0.0", "Borceux", "CATOSL-1.1", "CC-BY-1.0", "CC-BY-2.0", "CC-BY-2.5", "CC-BY-3.0", "CC-BY-4.0", "CC-BY-NC-1.0", "CC-BY-NC-2.0", "CC-BY-NC-2.5", "CC-BY-NC-3.0", "CC-BY-NC-4.0", "CC-BY-NC-ND-1.0", "CC-BY-NC-ND-2.0", "CC-BY-NC-ND-2.5", "CC-BY-NC-ND-3.0", "CC-BY-NC-ND-4.0", "CC-BY-NC-SA-1.0", "CC-BY-NC-SA-2.0", "CC-BY-NC-SA-2.5", "CC-BY-NC-SA-3.0", "CC-BY-NC-SA-4.0", "CC-BY-ND-1.0", "CC-BY-ND-2.0", "CC-BY-ND-2.5", "CC-BY-ND-3.0", "CC-BY-ND-4.0", "CC-BY-SA-1.0", "CC-BY-SA-2.0", "CC-BY-SA-2.5", "CC-BY-SA-3.0", "CC-BY-SA-4.0", "CC-PDDC", "CC0-1.0", "CDDL-1.0", "CDDL-1.1", "CDLA-Permissive-1.0", "CDLA-Sharing-1.0", "CECILL-1.0", "CECILL-1.1", "CECILL-2.0", "CECILL-2.1", "CECILL-B", "CECILL-C", "CERN-OHL-1.1", "CERN-OHL-1.2", "CNRI-Jython", "CNRI-Python", "CNRI-Python-GPL-Compatible", "CPAL-1.0", "CPL-1.0", "CPOL-1.02", "CUA-OPL-1.0", "Caldera", "ClArtistic", "Condor-1.1", "Crossword", "CrystalStacker", "Cube", "D-FSL-1.0", "DOC", "DSDP", "Dotseqn", "ECL-1.0", "ECL-2.0", "EFL-1.0", "EFL-2.0", "EPL-1.0", "EPL-2.0", "EUDatagrid", "EUPL-1.0", "EUPL-1.1", "EUPL-1.2", "Entessa", "ErlPL-1.1", "Eurosym", "FSFAP", "FSFUL", "FSFULLR", "FTL", "Fair", "Frameworx-1.0", "FreeImage", "GFDL-1.1", "GFDL-1.1-only", "GFDL-1.1-or-later", "GFDL-1.2", "GFDL-1.2-only", "GFDL-1.2-or-later", "GFDL-1.3", "GFDL-1.3-only", "GFDL-1.3-or-later", "GL2PS", "GPL-1.0", "GPL-1.0+", "GPL-1.0-only", "GPL-1.0-or-later", "GPL-2.0", "GPL-2.0+", "GPL-2.0-only", "GPL-2.0-or-later", "GPL-2.0-with-GCC-exception", "GPL-2.0-with-autoconf-exception", "GPL-2.0-with-bison-exception", "GPL-2.0-with-classpath-exception", "GPL-2.0-with-font-exception", "GPL-3.0", "GPL-3.0+", "GPL-3.0-only", "GPL-3.0-or-later", "GPL-3.0-with-GCC-exception", "GPL-3.0-with-autoconf-exception", "Giftware", "Glide", "Glulxe", "HPND", "HPND-sell-variant", "HaskellReport", "IBM-pibs", "ICU", "IJG", "IPA", "IPL-1.0", "ISC", "ImageMagick", "Imlib2", "Info-ZIP", "Intel", "Intel-ACPI", "Interbase-1.0", "JPNIC", "JSON", "JasPer-2.0", "LAL-1.2", "LAL-1.3", "LGPL-2.0", "LGPL-2.0+", "LGPL-2.0-only", "LGPL-2.0-or-later", "LGPL-2.1", "LGPL-2.1+", "LGPL-2.1-only", "LGPL-2.1-or-later", "LGPL-3.0", "LGPL-3.0+", "LGPL-3.0-only", "LGPL-3.0-or-later", "LGPLLR", "LPL-1.0", "LPL-1.02", "LPPL-1.0", "LPPL-1.1", "LPPL-1.2", "LPPL-1.3a", "LPPL-1.3c", "Latex2e", "Leptonica", "LiLiQ-P-1.1", "LiLiQ-R-1.1", "LiLiQ-Rplus-1.1", "Libpng", "Linux-OpenIB", "MIT", "MIT-0", "MIT-CMU", "MIT-advertising", "MIT-enna", "MIT-feh", "MITNFA", "MPL-1.0", "MPL-1.1", "MPL-2.0", "MPL-2.0-no-copyleft-exception", "MS-PL", "MS-RL", "MTLL", "MakeIndex", "MirOS", "Motosoto", "Multics", "Mup", "NASA-1.3", "NBPL-1.0", "NCSA", "NGPL", "NLOD-1.0", "NLPL", "NOSL", "NPL-1.0", "NPL-1.1", "NPOSL-3.0", "NRL", "NTP", "Naumen", "Net-SNMP", "NetCDF", "Newsletr", "Nokia", "Noweb", "Nunit", "OCCT-PL", "OCLC-2.0", "ODC-By-1.0", "ODbL-1.0", "OFL-1.0", "OFL-1.1", "OGL-UK-1.0", "OGL-UK-2.0", "OGL-UK-3.0", "OGTSL", "OLDAP-1.1", "OLDAP-1.2", "OLDAP-1.3", "OLDAP-1.4", "OLDAP-2.0", "OLDAP-2.0.1", "OLDAP-2.1", "OLDAP-2.2", "OLDAP-2.2.1", "OLDAP-2.2.2", "OLDAP-2.3", "OLDAP-2.4", "OLDAP-2.5", "OLDAP-2.6", "OLDAP-2.7", "OLDAP-2.8", "OML", "OPL-1.0", "OSET-PL-2.1", "OSL-1.0", "OSL-1.1", "OSL-2.0", "OSL-2.1", "OSL-3.0", "OpenSSL", "PDDL-1.0", "PHP-3.0", "PHP-3.01", "Parity-6.0.0", "Plexus", "PostgreSQL", "Python-2.0", "QPL-1.0", "Qhull", "RHeCos-1.1", "RPL-1.1", "RPL-1.5", "RPSL-1.0", "RSA-MD", "RSCPL", "Rdisc", "Ruby", "SAX-PD", "SCEA", "SGI-B-1.0", "SGI-B-1.1", "SGI-B-2.0", "SHL-0.5", "SHL-0.51", "SISSL", "SISSL-1.2", "SMLNJ", "SMPPL", "SNIA", "SPL-1.0", "SSPL-1.0", "SWL", "Saxpath", "Sendmail", "Sendmail-8.23", "SimPL-2.0", "Sleepycat", "Spencer-86", "Spencer-94", "Spencer-99", "StandardML-NJ", "SugarCRM-1.1.3", "TAPR-OHL-1.0", "TCL", "TCP-wrappers", "TMate", "TORQUE-1.1", "TOSL", "TU-Berlin-1.0", "TU-Berlin-2.0", "UPL-1.0", "Unicode-DFS-2015", "Unicode-DFS-2016", "Unicode-TOU", "Unlicense", "VOSTROM", "VSL-1.0", "Vim", "W3C", "W3C-19980720", "W3C-20150513", "WTFPL", "Watcom-1.0", "Wsuipa", "X11", "XFree86-1.1", "XSkat", "Xerox", "Xnet", "YPL-1.0", "YPL-1.1", "ZPL-1.1", "ZPL-2.0", "ZPL-2.1", "Zed", "Zend-2.0", "Zimbra-1.3", "Zimbra-1.4", "Zlib", "blessing", "bzip2-1.0.5", "bzip2-1.0.6", "copyleft-next-0.3.0", "copyleft-next-0.3.1", "curl", "diffmark", "dvipdfm", "eCos-2.0", "eGenix", "gSOAP-1.3b", "gnuplot", "iMatix", "libpng-2.0", "libtiff", "mpich2", "psfrag", "psutils", "wxWindows", "xinetd", "xpp", and "zlib-acknowledgement"4460 is expected to contain exactly "BSD Zero Clause License", "Attribution Assurance License", "Amazon Digital Services License", "Academic Free License v1.1", "Academic Free License v1.2", "Academic Free License v2.0", "Academic Free License v2.1", "Academic Free License v3.0", "Affero General Public License v1.0", "Affero General Public License v1.0 only", "Affero General Public License v1.0 or later", "GNU Affero General Public License v3.0", "GNU Affero General Public License v3.0 only", "GNU Affero General Public License v3.0 or later", "AMD's plpa_map.c License", "Apple MIT License", "Academy of Motion Picture Arts and Sciences BSD", "ANTLR Software Rights Notice", "Adobe Postscript AFM License", "Adaptive Public License 1.0", "Apple Public Source License 1.0", "Apple Public Source License 1.1", "Apple Public Source License 1.2", "Apple Public Source License 2.0", "Abstyles License", "Adobe Systems Incorporated Source Code License Agreement", "Adobe Glyph List License", "Afmparse License", "Aladdin Free Public License", "Apache License 1.0", "Apache License 1.1", "Apache License 2.0", "Artistic License 1.0", "Artistic License 1.0 (Perl)", "Artistic License 1.0 w/clause 8", "Artistic License 2.0", "BSD 1-Clause License", "BSD 2-Clause \"Simplified\" License", "BSD 2-Clause FreeBSD License", "BSD 2-Clause NetBSD License", "BSD-2-Clause Plus Patent License", "BSD 3-Clause \"New\" or \"Revised\" License", "BSD with attribution", "BSD 3-Clause Clear License", "Lawrence Berkeley National Labs BSD variant license", "BSD 3-Clause No Nuclear License", "BSD 3-Clause No Nuclear License 2014", "BSD 3-Clause No Nuclear Warranty", "BSD 3-Clause Open MPI variant", "BSD 4-Clause \"Original\" or \"Old\" License", "BSD-4-Clause (University of California-Specific)", "BSD Protection License", "BSD Source Code Attribution", "Boost Software License 1.0", "Bahyph License", "Barr License", "Beerware License", "BitTorrent Open Source License v1.0", "BitTorrent Open Source License v1.1", "Blue Oak Model License 1.0.0", "Borceux license", "Computer Associates Trusted Open Source License 1.1", "Creative Commons Attribution 1.0 Generic", "Creative Commons Attribution 2.0 Generic", "Creative Commons Attribution 2.5 Generic", "Creative Commons Attribution 3.0 Unported", "Creative Commons Attribution 4.0 International", "Creative Commons Attribution Non Commercial 1.0 Generic", "Creative Commons Attribution Non Commercial 2.0 Generic", "Creative Commons Attribution Non Commercial 2.5 Generic", "Creative Commons Attribution Non Commercial 3.0 Unported", "Creative Commons Attribution Non Commercial 4.0 International", "Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic", "Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic", "Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic", "Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported", "Creative Commons Attribution Non Commercial No Derivatives 4.0 International", "Creative Commons Attribution Non Commercial Share Alike 1.0 Generic", "Creative Commons Attribution Non Commercial Share Alike 2.0 Generic", "Creative Commons Attribution Non Commercial Share Alike 2.5 Generic", "Creative Commons Attribution Non Commercial Share Alike 3.0 Unported", "Creative Commons Attribution Non Commercial Share Alike 4.0 International", "Creative Commons Attribution No Derivatives 1.0 Generic", "Creative Commons Attribution No Derivatives 2.0 Generic", "Creative Commons Attribution No Derivatives 2.5 Generic", "Creative Commons Attribution No Derivatives 3.0 Unported", "Creative Commons Attribution No Derivatives 4.0 International", "Creative Commons Attribution Share Alike 1.0 Generic", "Creative Commons Attribution Share Alike 2.0 Generic", "Creative Commons Attribution Share Alike 2.5 Generic", "Creative Commons Attribution Share Alike 3.0 Unported", "Creative Commons Attribution Share Alike 4.0 International", "Creative Commons Public Domain Dedication and Certification", "Creative Commons Zero v1.0 Universal", "Common Development and Distribution License 1.0", "Common Development and Distribution License 1.1", "Community Data License Agreement Permissive 1.0", "Community Data License Agreement Sharing 1.0", "CeCILL Free Software License Agreement v1.0", "CeCILL Free Software License Agreement v1.1", "CeCILL Free Software License Agreement v2.0", "CeCILL Free Software License Agreement v2.1", "CeCILL-B Free Software License Agreement", "CeCILL-C Free Software License Agreement", "CERN Open Hardware License v1.1", "CERN Open Hardware Licence v1.2", "CNRI Jython License", "CNRI Python License", "CNRI Python Open Source GPL Compatible License Agreement", "Common Public Attribution License 1.0", "Common Public License 1.0", "Code Project Open License 1.02", "CUA Office Public License v1.0", "Caldera License", "Clarified Artistic License", "Condor Public License v1.1", "Crossword License", "CrystalStacker License", "Cube License", "Deutsche Freie Software Lizenz", "DOC License", "DSDP License", "Dotseqn License", "Educational Community License v1.0", "Educational Community License v2.0", "Eiffel Forum License v1.0", "Eiffel Forum License v2.0", "Eclipse Public License 1.0", "Eclipse Public License 2.0", "EU DataGrid Software License", "European Union Public License 1.0", "European Union Public License 1.1", "European Union Public License 1.2", "Entessa Public License v1.0", "Erlang Public License v1.1", "Eurosym License", "FSF All Permissive License", "FSF Unlimited License", "FSF Unlimited License (with License Retention)", "Freetype Project License", "Fair License", "Frameworx Open License 1.0", "FreeImage Public License v1.0", "GNU Free Documentation License v1.1", "GNU Free Documentation License v1.1 only", "GNU Free Documentation License v1.1 or later", "GNU Free Documentation License v1.2", "GNU Free Documentation License v1.2 only", "GNU Free Documentation License v1.2 or later", "GNU Free Documentation License v1.3", "GNU Free Documentation License v1.3 only", "GNU Free Documentation License v1.3 or later", "GL2PS License", "GNU General Public License v1.0 only", "GNU General Public License v1.0 or later", "GNU General Public License v1.0 only", "GNU General Public License v1.0 or later", "GNU General Public License v2.0 only", "GNU General Public License v2.0 or later", "GNU General Public License v2.0 only", "GNU General Public License v2.0 or later", "GNU General Public License v2.0 w/GCC Runtime Library exception", "GNU General Public License v2.0 w/Autoconf exception", "GNU General Public License v2.0 w/Bison exception", "GNU General Public License v2.0 w/Classpath exception", "GNU General Public License v2.0 w/Font exception", "GNU General Public License v3.0 only", "GNU General Public License v3.0 or later", "GNU General Public License v3.0 only", "GNU General Public License v3.0 or later", "GNU General Public License v3.0 w/GCC Runtime Library exception", "GNU General Public License v3.0 w/Autoconf exception", "Giftware License", "3dfx Glide License", "Glulxe License", "Historical Permission Notice and Disclaimer", "Historical Permission Notice and Disclaimer - sell variant", "Haskell Language Report License", "IBM PowerPC Initialization and Boot Software", "ICU License", "Independent JPEG Group License", "IPA Font License", "IBM Public License v1.0", "ISC License", "ImageMagick License", "Imlib2 License", "Info-ZIP License", "Intel Open Source License", "Intel ACPI Software License Agreement", "Interbase Public License v1.0", "Japan Network Information Center License", "JSON License", "JasPer License", "Licence Art Libre 1.2", "Licence Art Libre 1.3", "GNU Library General Public License v2 only", "GNU Library General Public License v2 or later", "GNU Library General Public License v2 only", "GNU Library General Public License v2 or later", "GNU Lesser General Public License v2.1 only", "GNU Library General Public License v2.1 or later", "GNU Lesser General Public License v2.1 only", "GNU Lesser General Public License v2.1 or later", "GNU Lesser General Public License v3.0 only", "GNU Lesser General Public License v3.0 or later", "GNU Lesser General Public License v3.0 only", "GNU Lesser General Public License v3.0 or later", "Lesser General Public License For Linguistic Resources", "Lucent Public License Version 1.0", "Lucent Public License v1.02", "LaTeX Project Public License v1.0", "LaTeX Project Public License v1.1", "LaTeX Project Public License v1.2", "LaTeX Project Public License v1.3a", "LaTeX Project Public License v1.3c", "Latex2e License", "Leptonica License", "Licence Libre du Québec – Permissive version 1.1", "Licence Libre du Québec – Réciprocité version 1.1", "Licence Libre du Québec – Réciprocité forte version 1.1", "libpng License", "Linux Kernel Variant of OpenIB.org license", "MIT License", "MIT No Attribution", "CMU License", "Enlightenment License (e16)", "enna License", "feh License", "MIT +no-false-attribs license", "Mozilla Public License 1.0", "Mozilla Public License 1.1", "Mozilla Public License 2.0", "Mozilla Public License 2.0 (no copyleft exception)", "Microsoft Public License", "Microsoft Reciprocal License", "Matrix Template Library License", "MakeIndex License", "MirOS License", "Motosoto License", "Multics License", "Mup License", "NASA Open Source Agreement 1.3", "Net Boolean Public License v1", "University of Illinois/NCSA Open Source License", "Nethack General Public License", "Norwegian Licence for Open Government Data", "No Limit Public License", "Netizen Open Source License", "Netscape Public License v1.0", "Netscape Public License v1.1", "Non-Profit Open Software License 3.0", "NRL License", "NTP License", "Naumen Public License", "Net-SNMP License", "NetCDF license", "Newsletr License", "Nokia Open Source License", "Noweb License", "Nunit License", "Open CASCADE Technology Public License", "OCLC Research Public License 2.0", "Open Data Commons Attribution License v1.0", "ODC Open Database License v1.0", "SIL Open Font License 1.0", "SIL Open Font License 1.1", "Open Government Licence v1.0", "Open Government Licence v2.0", "Open Government Licence v3.0", "Open Group Test Suite License", "Open LDAP Public License v1.1", "Open LDAP Public License v1.2", "Open LDAP Public License v1.3", "Open LDAP Public License v1.4", "Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)", "Open LDAP Public License v2.0.1", "Open LDAP Public License v2.1", "Open LDAP Public License v2.2", "Open LDAP Public License v2.2.1", "Open LDAP Public License 2.2.2", "Open LDAP Public License v2.3", "Open LDAP Public License v2.4", "Open LDAP Public License v2.5", "Open LDAP Public License v2.6", "Open LDAP Public License v2.7", "Open LDAP Public License v2.8", "Open Market License", "Open Public License v1.0", "OSET Public License version 2.1", "Open Software License 1.0", "Open Software License 1.1", "Open Software License 2.0", "Open Software License 2.1", "Open Software License 3.0", "OpenSSL License", "ODC Public Domain Dedication & License 1.0", "PHP License v3.0", "PHP License v3.01", "The Parity Public License 6.0.0", "Plexus Classworlds License", "PostgreSQL License", "Python License 2.0", "Q Public License 1.0", "Qhull License", "Red Hat eCos Public License v1.1", "Reciprocal Public License 1.1", "Reciprocal Public License 1.5", "RealNetworks Public Source License v1.0", "RSA Message-Digest License ", "Ricoh Source Code Public License", "Rdisc License", "Ruby License", "Sax Public Domain Notice", "SCEA Shared Source License", "SGI Free Software License B v1.0", "SGI Free Software License B v1.1", "SGI Free Software License B v2.0", "Solderpad Hardware License v0.5", "Solderpad Hardware License, Version 0.51", "Sun Industry Standards Source License v1.1", "Sun Industry Standards Source License v1.2", "Standard ML of New Jersey License", "Secure Messaging Protocol Public License", "SNIA Public License 1.1", "Sun Public License v1.0", "Server Side Public License, v 1", "Scheme Widget Library (SWL) Software License Agreement", "Saxpath License", "Sendmail License", "Sendmail License 8.23", "Simple Public License 2.0", "Sleepycat License", "Spencer License 86", "Spencer License 94", "Spencer License 99", "Standard ML of New Jersey License", "SugarCRM Public License v1.1.3", "TAPR Open Hardware License v1.0", "TCL/TK License", "TCP Wrappers License", "TMate Open Source License", "TORQUE v2.5+ Software License v1.1", "Trusster Open Source License", "Technische Universitaet Berlin License 1.0", "Technische Universitaet Berlin License 2.0", "Universal Permissive License v1.0", "Unicode License Agreement - Data Files and Software (2015)", "Unicode License Agreement - Data Files and Software (2016)", "Unicode Terms of Use", "The Unlicense", "VOSTROM Public License for Open Source", "Vovida Software License v1.0", "Vim License", "W3C Software Notice and License (2002-12-31)", "W3C Software Notice and License (1998-07-20)", "W3C Software Notice and Document License (2015-05-13)", "Do What The F*ck You Want To Public License", "Sybase Open Watcom Public License 1.0", "Wsuipa License", "X11 License", "XFree86 License 1.1", "XSkat License", "Xerox License", "X.Net License", "Yahoo! Public License v1.0", "Yahoo! Public License v1.1", "Zope Public License 1.1", "Zope Public License 2.0", "Zope Public License 2.1", "Zed License", "Zend License v2.0", "Zimbra Public License v1.3", "Zimbra Public License v1.4", "zlib License", "SQLite Blessing", "bzip2 and libbzip2 License v1.0.5", "bzip2 and libbzip2 License v1.0.6", "copyleft-next 0.3.0", "copyleft-next 0.3.1", "curl License", "diffmark license", "dvipdfm License", "eCos license version 2.0", "eGenix.com Public License 1.1.0", "gSOAP Public License v1.3b", "gnuplot License", "iMatix Standard Function Library Agreement", "PNG Reference Library version 2", "libtiff License", "mpich2 License", "psfrag License", "psutils License", "wxWindows Library License", "xinetd License", "XPP License", and "zlib/libpng License with Acknowledgement"4461 is expected to be truthy4462 is expected to be falsey4463 when some of the licenses are missing an identifier4464 is expected to equal 14465 is expected to contain exactly "valid"4466 when the schema of each license changes4467 is expected to be zero4468 when the schema of the catalogue changes4469 is expected to be zero4470 .latest4471 when the licenses.json endpoint is healthy4472 is expected to equal #<InstanceDouble(Gitlab::SPDX::Catalogue) (anonymous)>4473AuditEvents::BuildService4474 #execute4475 when licensed4476 sets correct attributes4477 when IP address is not provided4478 uses author current_sign_in_ip4479 when author is impersonated4480 sets author to impersonated user4481 includes impersonator name in message4482 when IP address is not provided4483 uses impersonator current_sign_in_ip4484 when overriding target details4485 uses correct target details4486 when deploy token is passed as author4487 expect author to be user4488 when deploy key is passed as author4489 expect author to be deploy key4490 when author is passed as UnauthenticatedAuthor4491 sets author as unauthenticated user4492 when not licensed4493 sets correct attributes4494 when author is impersonated4495 does not includes impersonator name in message4496Gitlab::Geo::Oauth::LogoutState4497 #encode4498 returns nil when token is nil4499 returns nil when encryption fails4500 returns a string with salt, tag, encrypted access token, and return_to full path colon separated4501 includes a empty value for return_to into state when return_to is nil4502 #decode4503 returns nil when salt is nil4504 returns nil when salt has invalid base644505 returns nil when tag is nil4506 returns nil when encrypted token has invalid base644507 returns nil when encrypted token is nil4508 returns nil when decryption fails4509 returns nil when tag has an invalid byte size4510 returns nil when tag has been modified4511 returns nil when return_to has been modified4512 returns access_token when token is recoverable4513 #return_to4514 returns nil when return_to is nil4515 returns an empty string when return_to is empty4516 returns the full path of the return_to URL4517Gitlab::Ci::Reports::Security::Locations::DependencyScanning4518 behaves like vulnerability location4519 #initialize4520 when all params are given4521 initializes an instance4522 param: :file_path4523 when param file_path is missing4524 raises an error4525 param: :package_name4526 when param package_name is missing4527 raises an error4528 #fingerprint4529 generates expected fingerprint4530 #fingerprint_path4531 generates expected fingerprint4532 #==4533 returns true when fingerprints are equal4534 returns false when fingerprints are different4535Ci::PipelineBridgeStatusService4536 #execute4537 when pipeline has downstream bridges4538 calls inherit_status_from_upstream on downstream bridges4539 when pipeline has both downstream and upstream bridge4540 only calls inherit_status_from_downstream on upstream bridge4541 only calls inherit_status_from_upstream on downstream bridge4542EE::API::Helpers::MembersHelpers4543 .member_sort_options4544 lists all keys available in group member view4545 .billable_member?4546 when member is billable4547 is expected to eq true4548 when member is not billable4549 is expected to eq false4550 .retrieve_members4551 includes user as member4552 with skip_users present4553 does not include user as member4554Issues::DuplicateService4555 #execute4556 relates the duplicate issues4557IncidentManagement::OncallSchedulesFinder4558 #execute4559 when feature is available4560 when user has permissions4561 returns project on-call schedules4562 when iid given4563 returns an on-call schedule for iid4564 when user has no permissions4565 is expected to eq #<ActiveRecord::Relation []>4566 when feature is not avaiable4567 is expected to eq #<ActiveRecord::Relation []>4568Types::DastScannerProfileType4569 is expected to eq "DastScannerProfile"4570 is expected to require graphql authorizations :read_on_demand_dast_scan4571 is expected to have graphql fields :id, :profileName, :spiderTimeout, :targetTimeout, :editPath, :scanType, :useAjaxSpider, :showDebugMessages, and :referencedInSecurityPolicies4572 dast_scanner_profiles4573 profile_name field4574 is expected to eq "HD Gel Receiver 99c2a3f8 - 17"4575 when security policies are enabled4576 only calls Gitaly twice when multiple profiles are present4577EE::TrialRegistrationHelper4578 #social_signin_enabled?4579 com: true, omniauth_enabled: true, omniauthable: true, button_based_providers_enabled: true4580 is expected to eq true4581 com: true, omniauth_enabled: true, omniauthable: true, button_based_providers_enabled: false4582 is expected to eq false4583 com: true, omniauth_enabled: true, omniauthable: false, button_based_providers_enabled: true4584 is expected to eq false4585 com: true, omniauth_enabled: true, omniauthable: false, button_based_providers_enabled: false4586 is expected to eq false4587 com: true, omniauth_enabled: false, omniauthable: true, button_based_providers_enabled: true4588 is expected to eq false4589 com: true, omniauth_enabled: false, omniauthable: true, button_based_providers_enabled: false4590 is expected to eq false4591 com: true, omniauth_enabled: false, omniauthable: false, button_based_providers_enabled: true4592 is expected to eq false4593 com: true, omniauth_enabled: false, omniauthable: false, button_based_providers_enabled: false4594 is expected to eq false4595 com: false, omniauth_enabled: true, omniauthable: true, button_based_providers_enabled: true4596 is expected to eq false4597 com: false, omniauth_enabled: true, omniauthable: true, button_based_providers_enabled: false4598 is expected to eq false4599 com: false, omniauth_enabled: true, omniauthable: false, button_based_providers_enabled: true4600 is expected to eq false4601 com: false, omniauth_enabled: true, omniauthable: false, button_based_providers_enabled: false4602 is expected to eq false4603 com: false, omniauth_enabled: false, omniauthable: true, button_based_providers_enabled: true4604 is expected to eq false4605 com: false, omniauth_enabled: false, omniauthable: true, button_based_providers_enabled: false4606 is expected to eq false4607 com: false, omniauth_enabled: false, omniauthable: false, button_based_providers_enabled: true4608 is expected to eq false4609 com: false, omniauth_enabled: false, omniauthable: false, button_based_providers_enabled: false4610 is expected to eq false4611Auth::SamlGroupSyncWorker4612 #perform4613 when saml_group_sync feature is not licensed4614 does not call the sync service4615 when the saml_group_sync feature is licensed4616 when SAML is not enabled4617 does not call the sync service4618 when SAML is enabled4619 calls the sync service with the group links4620 does not call the sync service when the user does not exist4621 when group links exist in hierarchies which the user should not be a member of4622 calls the service for top level groups with links that the user should not be a member of4623 with a group in the hierarchy that has no group links4624 is not included in manage_group_ids4625 when the worker receives no group link ids4626 calls the sync service4627Resolvers::Geo::LfsObjectRegistriesResolver4628 behaves like a Geo registries resolver4629 #resolve4630 when the parent object is the current node4631 when the user has permission to view Geo data4632 when admin mode is enabled4633 when the ids argument is null4634 returns registries, in order4635 when the ids argument is present4636 returns the requested registries, in order4637 when the replication_state argument is present4638 returns registries with requested replication state, in order4639 with verification enabled4640 when the verification_state argument is present4641 returns registries with requested verification state, in order4642 with verification disabled4643 when the verification_state argument is present4644 raises ArgumentError (PENDING: Skipping because verification is enabled for LfsObject)4645 when admin mode is disabled4646 returns nothing4647 when the user does not have permission to view Geo data4648 returns nothing4649 when the parent object is not the current node4650 when the user has permission to view Geo data4651 returns nothing, because we can't query other nodes' tracking databases4652Gitlab::ComplianceManagement::Violations::ApprovedByMergeRequestAuthor4653 #execute4654 when merge request is approved by someone other than the author4655 does not create a ComplianceViolation4656 when merge request is also approved by the author4657 behaves like violation4658 creates a ComplianceViolation4659 when merge request is approved by its author4660 behaves like violation4661 creates a ComplianceViolation4662Gitlab::Insights::Executors::DoraExecutor4663 when Dora::AggregateMetricsService fails4664 raises an error4665 when executing for a group4666 behaves like serialized_data examples4667 returns correctly aggregated data4668 when filtering environment tiers4669 behaves like serialized_data examples4670 returns correctly aggregated data4671 when filtering projects4672 when filtering by id4673 behaves like serialized_data examples4674 returns correctly aggregated data4675 when filtering by full path4676 behaves like serialized_data examples4677 returns correctly aggregated data4678 when unknown group_by is given4679 raises error4680 when unknown chart type is given4681 raises error4682 when executing for a project4683 behaves like serialized_data examples4684 returns correctly aggregated data4685 when filtering projects4686 when filtering by id4687 behaves like serialized_data examples4688 returns correctly aggregated data4689 when filtering out the current project4690 behaves like serialized_data examples4691 returns correctly aggregated data4692Sidebars::Groups::Menus::AdministrationMenu4693 #render?4694 when feature flag :group_administration_nav_item is enabled4695 is expected to equal true4696 when group is a subgroup4697 is expected to equal false4698 when user cannot admin group4699 is expected to equal false4700 when feature flag :group_administration_nav_item is disabled4701 is expected to equal false4702 Menu items4703 SAML SSO menu4704 when SAML is disabled4705 is expected to be nil4706 when SAML is enabled4707 is expected to be present4708 when user does not have access4709 is expected to be nil4710 Usage quotas menu4711 is expected to be present4712 when user does not have access4713 is expected to be nil4714 Billing menu4715 is expected to be present4716 when user does not have access4717 is expected to be nil4718Namespaces::FreeUserCap::PreviewAlertComponent4719 when user is authorized to see alert4720 when over limit4721 has content for the preview alert4722 renders all the expected tracking items4723 when alert has been dismissed4724 with a fresh dismissal4725 does not render the alert4726 when alert dismissal has aged out4727 renders the alert4728 when not over the limit4729 does not render the alert4730 when user is not authorized to see alert4731 does not render the alert4732 when user does not exist4733 does not render the alert4734Gitlab::InstrumentationHelper4735 .add_instrumentation_data4736 when Elasticsearch calls are made4737 adds Elasticsearch data4738Ci::PendingBuild4739 scopes4740 .with_ci_minutes_available4741 when pending builds does not have ci minutes available4742 returns an empty collection of pending builds4743 when pending builds have ci minutes available4744 returns matching pending builds4745 .upsert_from_build!4746 when ci minutes are not available4747 when project matches shared runners with cost factor enabled4748 behaves like ci minutes not available4749 sets minutes_exceeded to true4750 when project does not matches shared runners with cost factor enabled4751 behaves like ci minutes available4752 sets minutes_exceeded to false4753 when ci minutes are available4754 behaves like ci minutes available4755 sets minutes_exceeded to false4756 when using shared runners with cost factor disabled4757 with new project4758 behaves like ci minutes available4759 sets minutes_exceeded to false4760Gitlab::Analytics::CycleAnalytics::Aggregated::BaseQueryBuilder4761 looks up items within the group hierarchy4762 accepts project_ids filter4763 #build_sorted_query4764 returns the items in order (by end_event)4765 returns the items in order (by duration)4766 handles the project_ids filter4767Mutations::Boards::EpicBoards::Destroy4768 raises error when user does not have permission to destroy the board4769 field tests4770 is expected to have graphql arguments :id4771 is expected to have graphql fields :epic_board4772 when user has permission to destroy the board4773 destroys the epic board4774Gitlab::ImportExport::Group::GroupAndDescendantsRepoRestorer4775 when group wiki license feature is enabled4776 imports the group and subgroups wiki repo and returns true4777 if any of the wiki imports fails4778 returns false and stops importing other groups4779 when group is not inside group mappings4780 avoids calling the restorer, continue importing, and returns true4781 when group mapping is empty4782 does not try to import wikis and returns true4783 when group wiki license feature is not enabled4784 does not try to import wikis and returns true4785Security::OrchestrationPolicyRuleScheduleNamespaceWorker4786 #perform4787 when schedule exists4788 when schedule is created for security orchestration policy configuration in namespace4789 when next_run_at is in future4790 does not execute the rule schedule service4791 when next_run_at is in the past4792 executes the rule schedule service for all projects in the group4793 updates next run at value4794 when schedule is created for security orchestration policy configuration in project4795 does not execute the rule schedule service4796 when schedule does not exist4797 does not execute the rule schedule service4798QuickActions::TargetService4799 #execute4800 for epic4801 finds target with valid id4802 builds a new target if id from a different group passed4803shared/milestones/_milestone.html.haml4804 when a milestone is associated to a lot of releases4805 when viewing a project milestone4806 renders "1 more release" as a link to the project's Releases page4807 when viewing a group milestone4808 renders "1 more release" as plain text instead of as a link4809RequirementsManagement::ImportRequirementsCsvWorker4810 #perform4811 calls #execute on Requirements::ImportCsvService and destroys upload4812 behaves like an idempotent worker4813 is labeled as idempotent4814 performs multiple times sequentially without raising an exception4815Gitlab::ExclusiveLease4816 #try_obtain_with_ttl4817 cannot obtain twice before the lease has expired4818 can obtain after the lease has expired4819 #same_uuid?4820 returns true for an existing lease4821 returns false for a lease that does not exist4822UserExistenceValidator4823 with nil value4824 behaves like does not add an error4825 does not add an error4826 with non-array value4827 behaves like does not add an error4828 does not add an error4829 with empty array value4830 behaves like does not add an error4831 does not add an error4832 with array containing valid usernames4833 behaves like does not add an error4834 does not add an error4835 with array containing invalid usernames4836 does adds an error4837Gitlab::Graphql::Loaders::OncallParticipantLoader4838 #find4839 finds a participant by id4840 includes the user association4841Resolvers::DastSiteProfileResolver4842 is expected to have nullable GraphQL type DastSiteProfileConnection4843 when resolving a single DAST site profile4844 is expected to eq #<DastSiteProfile id: 3, project_id: 1619, dast_site_id: 7, created_at: "2022-08-24 17:49:53.17782655...ername: "user2890@example.org", target_type: "website", scan_method: "site", auth_submit_field: nil>4845 when resolving multiple DAST site profiles4846 is expected to contain exactly #<DastSiteProfile id: 3, project_id: 1619, dast_site_id: 7, created_at: "2022-08-24 17:49:53.17782655...ername: "user2890@example.org", target_type: "website", scan_method: "site", auth_submit_field: nil>, #<DastSiteProfile id: 4, project_id: 1619, dast_site_id: 8, created_at: "2022-08-24 17:49:53.30796456...ername: "user2891@example.org", target_type: "website", scan_method: "site", auth_submit_field: nil>, and #<DastSiteProfile id: 5, project_id: 1619, dast_site_id: 9, created_at: "2022-08-24 17:49:53.48393711...ername: "user2892@example.org", target_type: "website", scan_method: "site", auth_submit_field: nil>4847 when the feature is disabled4848 is expected to be empty4849 when the user does not have access4850 is expected to be empty4851NamespaceStatistics4852 #refresh!4853 when no option is passed4854 updates the wiki size4855 behaves like creates the namespace statistics4856 is expected to receive save!(*(any args)) 1 time4857 when wiki_size option is passed4858 updates the wiki size4859 behaves like creates the namespace statistics4860 is expected to receive save!(*(any args)) 1 time4861 #update_storage_size4862 adds wiki_size to the storage_size4863 #update_wiki_size4864 when group_wikis feature is not enabled4865 does not update the wiki size4866 when group_wikis feature is enabled4867 updates the wiki size4868 when namespace does not belong to a group4869 does not update the wiki size4870Gitlab::HookData::IssueBuilder4871 #build4872 includes safe attribute4873 includes additional attr4874 when the issue has an image in the description4875 sets the image to use an absolute URL4876 for incident with escalation policies feature enabled4877 includes additional attr4878projects/show4879 when free plan limit alert is present4880 renders the alert partial4881Coverage-Fuzzing.gitlab-ci.yml4882 the created pipeline4883 when project has Ultimate license4884 by default4885 includes no job4886 when COVFUZZ_DISABLED=14887 includes no jobs4888trial_registrations/new.html.haml4889 is expected not to have text "Start a Free Ultimate Trial"4890 is expected to have text "Free 30-day trial"4891 is expected to have text "No credit card required."4892 is expected to have visible css "img[alt$=\" logo\"]"4893 is expected to have text "Want to host GitLab on your servers?"4894 is expected to have visible link "Start a Self-Managed trial" with href "https://about.gitlab.com/free-trial/#selfmanaged/"4895Geo::NodeCreateService4896 #execute4897 creates a new node with valid params4898 does not create a node with invalid params4899 returns true when creation succeeds4900 returns false when creation fails4901 parses the namespace_ids when node have namespace restrictions4902Analytics::DevopsAdoption::Snapshots::UpdateService4903 updates the snapshot4904 when params are invalid4905 does not update the snapshot4906Gitlab::Auth::GroupSaml::AuthHash4907 #groups4908 with a lowercase groups attribute4909 returns array of groups4910 with a capitalized Groups attribute4911 returns array of groups4912 when no groups are present in the auth hash4913 returns an empty array4914 allowed user attributes methods4915 when the attributes are presented as an array4916 returns the proper can_create_groups value4917 returns the proper projects_limit value4918 when the attributes are presented as a string4919 returns the proper can_create_groups value4920 returns the proper projects_limit value4921 when the attributes are not present in the SAML response4922 returns nil for can_create_group4923 returns nil for can_create_groups4924LicenseEntity4925 #as_json4926 produces the correct representation4927 when the url is blank4928 url: ""4929 is expected to be nil4930 url: nil4931 is expected to be nil4932Gitlab::Usage::Metrics::Instrumentations::CountUsersAssociatingGroupMilestonesToReleasesMetric4933 behaves like a correct instrumented metric value4934 has correct value4935Types::DastSiteValidationType4936 is expected to eq "DastSiteValidation"4937 is expected to require graphql authorizations :read_on_demand_dast_scan4938 is expected to have graphql fields :id, :status, and :normalizedTargetUrl4939 dast_site_validations4940 status field4941 is expected to eq "PASSED_VALIDATION"4942SyncSeatLinkWorker4943 #perform4944 when current, paid license is active4945 executes the SyncSeatLinkRequestWorker with expected params4946 when the timezone makes date one day in advance4947 executes the SyncSeatLinkRequestWorker with expected params4948 when the timezone makes date one day before than UTC4949 executes the SyncSeatLinkRequestWorker with expected params4950 license checks4951 when license is missing4952 does not execute the SyncSeatLinkRequestWorker4953 when using a trial license4954 does not execute the SyncSeatLinkRequestWorker4955 when the license has no expiration date4956 does not execute the SyncSeatLinkRequestWorker4957 when using an expired license4958 executes the SyncSeatLinkRequestWorker4959 with a non cloud license4960 does not execute the SyncSeatLinkRequestWorker4961AuditEventSerializer4962 .represent4963 returns an empty array when there are no audit events4964 includes audit event attributes4965AppSec::Fuzzing::Coverage::CorpusesFinder4966 #execute4967 returns corpuses records4968 when the corpus does not exist4969 returns an empty relation4970Sidebars::Projects::Menus::RepositoryMenu4971 File Locks4972 when licensed feature file locks is not enabled4973 does not include file locks menu item4974 when licensed feature file locks is enabled4975 includes file locks menu item4976Gitlab::ImportSources4977 .import_table4978 includes specific EE imports types when the license supports them4979Gitlab::Ci::Pipeline::Chain::Validate::Abilities4980 #perform!4981 when triggering builds for project mirrors is disabled4982 returns an error4983StatusPage::PublishAttachmentsService4984 #execute4985 publishes file attachments4986 when not in markdown4987 publishes no images4988 when in markdown4989 publishes description images4990 when upload to storage throws an error4991 returns an error response4992 user notes uploads4993 publishes images4994 when exceeds upload limit4995 publishes no images4996 when all images are in s34997 publishes no images4998 when images are already in s34999 publishes only new images5000EE::Groups::Analytics::CycleAnalyticsHelper5001 #group_cycle_analytics_data5002 when a group is present5003 sets the correct data keys5004 when a group is not present5005 sets the correct data keys5006Gitlab::Usage::Metrics::Instrumentations::CountSamlGroupLinksMetric5007 behaves like a correct instrumented metric value and query5008 behaves like a correct instrumented metric value5009 has correct value5010 behaves like a correct instrumented metric query5011 has correct generate query5012Types::MetricImageType5013 is expected to eq "MetricImage"5014 is expected to require graphql authorizations :read_issuable_metric_image5015 has the expected fields5016AuditEvents::CustomAuditEventService5017 #security_event5018 creates an event and logs to a file with the provided details5019Resolvers::Boards::EpicListsResolver5020 is expected to have nullable GraphQL type EpicListConnection5021 #resolve5022 generates an error if user cannot read epic lists5023 when user is member of the group5024 returns epic lists for the board5025 when resolving a single item5026 returns an array with single epic list5027 when the board has hidden lists5028 returns an array with single epic list5029Dora::DailyMetrics::RefreshWorker5030 #perform5031 refreshes the DORA metrics on the environment and date5032 when the date is not parsable5033 raises an error5034 when an environment does not exist5035 does not refresh5036RequirementsManagement::ProcessRequirementsReportsWorker5037 #perform5038 build exists5039 processes requirements reports5040 behaves like an idempotent worker5041 is labeled as idempotent5042 performs multiple times sequentially without raising an exception5043 when the service raises a Gitlab::Access::AccessDeniedError5044 rescues the error5045 build does not exist5046 does not store requirements reports5047groups/hooks/edit5048 renders the edit group hook section5049 renders the recent events section5050EE::Audit::ProjectFeatureChangesAuditor5051 #execute5052 creates an event when any project feature level changes5053AppSec::Dast::ScannerProfilesBuilds::ConsistencyWorker5054 #perform5055 ensures cross database association is created5056 behaves like an idempotent worker5057 is labeled as idempotent5058 performs multiple times sequentially without raising an exception5059Gitlab::Insights::Reducers::DoraReducer5060 when metric=change_failure_rate5061 converts to percentage5062 when metric=deployment_frequency5063 uses the value as is5064 when metric=lead_time_for_changes5065 converts from seconds to days5066 when metric=time_to_restore_service5067 converts from seconds to days5068 when unknown metric is given5069 raises error5070 when unknown period is given5071 raises error5072projects/security/dast_site_profiles/edit5073 renders Vue app root5074 passes project's full path5075 passes DAST profiles library URL5076Gitlab::PathLocksFinder5077 returns correct lock information5078 #preload_for_paths5079 does not perform N + 1 requests5080EE::Ci::PipelineEditorHelper5081 #js_pipeline_editor_data5082 with licensed feature5083 returns ee specific values5084 without licensed feature5085 does not return the API fuzzing path5086Gitlab::Tracking::StandardContext5087 #to_context5088 plan5089 when namespace is not available5090 is nil5091 when namespace is available5092 contains plan name5093Types::Boards::BoardIssueInputType5094 has specific fields5095IncidentManagement::OncallRotations::PersistAllRotationsShiftsJob5096 .perform5097 creates a PersistOncallShiftsJob for each started rotation5098Gitlab::Ci::Config::Entry::Secret5099 validation5100 when entry config value is correct5101 when file setting is not defined5102 behaves like configures secrets5103 #value5104 returns secret configuration5105 #valid?5106 is valid5107 when file setting is defined5108 behaves like configures secrets5109 #value5110 returns secret configuration5111 #valid?5112 is valid5113 when entry value is not correct5114 #errors5115 when there is an unknown key present5116 reports error5117 when there is no vault entry5118 reports error5119Elastic::Latest::Config5120 .settings5121 behaves like config settings return correct values5122 returns config5123 sets correct shard/replica settings5124 .mappings5125 returns config5126Gitlab::Auth::Saml::Config5127 .group_sync_enabled?5128 is expected to eq false5129 when SAML is enabled5130 is expected to eq false5131 when the group attribute is configured5132 is expected to eq false5133 when the saml_group_sync feature is licensed5134 is expected to eq true5135Groups::ExportMembershipsWorker5136 enqueues an email5137ScimPaginatable5138 scim_paginate5139 paginates with offset and limit5140 translates a 1-based index to an offset of 05141 handles string input5142 defaults to offset of 05143Sidebars::Projects::Menus::CiCdMenu5144 Test Cases5145 when licensed feature quality_management is not enabled5146 does not include test cases menu item5147 when licensed feature quality_management is enabled5148 when user can read issues5149 includes test cases menu item5150 when user cannot read issues5151 does not include test cases menu item5152Gitlab::RackAttack5153 .configure5154 adds the incident management throttle5155Gitlab::Metrics::Samplers::DatabaseSampler5156 #sample5157 for Geo::TrackingBase5158 when Geo is enabled5159 samples connection pool statistics5160 when Geo is not enabled5161 records no samples5162 still records samples for other connections5163Gitlab::Usage::Metrics::Instrumentations::AdvancedSearch::LuceneVersionMetric5164 behaves like a correct instrumented metric value5165 has correct value5166 elasticsearch_indexing is enabled5167 behaves like a correct instrumented metric value5168 has correct value5169Gitlab::Bullet::Exclusions5170 #validate_paths!5171 validates paths for existence5172Boards::EpicBoards::Visits::CreateService5173 #execute5174 with epic board5175 behaves like boards recent visit create service5176 returns nil when there is no user5177 returns nil when database is read only5178 records the visit5179PersonalAccessTokens::RevokeService5180 #execute5181 creates audit events5182Gitlab::Usage::Metrics::Instrumentations::AdvancedSearch::VersionMetric5183 behaves like a correct instrumented metric value5184 has correct value5185 elasticsearch_indexing is enabled5186 behaves like a correct instrumented metric value5187 has correct value5188Gitlab::WebIde::Config::Entry::Schemas5189 validations5190 when entry config value is correct5191 is valid5192 when entry config value is incorrect5193 is not valid5194 #errors5195 reports error about a config type5196 when composed5197 #value5198 when entry is correct5199 returns correct value5200WebHookService5201 #async_execute5202 when hook has custom context attributes5203 includes the subscription plan in the worker context5204Gitlab::Search::Aggregation5205 parsing bucket results5206 when elasticsearch buckets are provided5207 parses the results5208 when elasticsearch buckets are not provided5209 parses the results5210Types::VulnerabilityLocation::SastType5211 is expected to have graphql fields :end_line, :file, :start_line, :vulnerable_class, :vulnerable_method, and :blob_path5212Types::RequirementsManagement::RequirementStateEnum5213 is expected to eq "RequirementState"5214 exposes all the existing requirement states5215Gitlab::Insights::Serializers::Chartjs::BarTimeSeriesSerializer5216 returns the correct format5217Types::IterationType5218 is expected to eq "Iteration"5219 is expected to require graphql authorizations :read_iteration5220 has the expected fields5221Types::VulnerabilityDetails::CommitType5222 is expected to have graphql fields :name, :description, :fieldName, and :value5223Types::VulnerabilityGradeEnum5224 exposes all vulnerability grades5225Gitlab::Kerberos::Authentication5226 .kerberos_default_realm5227 returns the default realm exposed by the Kerberos library5228Types::IncidentManagement::EscalationRuleType5229 is expected to eq "EscalationRuleType"5230 exposes the expected fields5231Vulnerabilities::HistoricalStatistics::DeletionWorker5232 #perform5233 calls `Vulnerabilities::HistoricalStatistics::DeletionService`5234operations/environments.html.haml5235 renders the frontend configuration5236Types::Dast::ScanMethodTypeEnum5237 exposes all alert field names5238Gitlab::Graphql::Aggregations::Issuables::LazyLinksAggregate5239 .link_class5240 requires implementation on subclasses5241Knapsack report was generated. Preview:5242{5243 "ee/spec/lib/ee/gitlab/usage_data_spec.rb": 354.1175897479998,5244 "ee/spec/lib/gitlab/git_access_spec.rb": 234.81953966900028,5245 "ee/spec/models/geo/project_registry_spec.rb": 149.18238846600025,5246 "ee/spec/services/ee/users/migrate_to_ghost_user_service_spec.rb": 101.65987106600005,5247 "ee/spec/serializers/ee/ci/job_entity_spec.rb": 81.19590471099946,5248 "ee/spec/replicators/geo/job_artifact_replicator_spec.rb": 68.03559214799952,5249 "ee/spec/models/ee/terraform/state_version_spec.rb": 78.12144564099981,5250 "ee/spec/replicators/geo/pages_deployment_replicator_spec.rb": 61.700803769999766,5251 "ee/spec/services/projects/create_from_template_service_spec.rb": 67.78742879099991,5252 "ee/spec/lib/gitlab/ci/templates/sast_gitlab_ci_yaml_spec.rb": 52.162588322000374,5253 "ee/spec/replicators/geo/package_file_replicator_spec.rb": 37.447408785000334,5254 "ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb": 46.52657932400052,5255 "ee/spec/models/protected_environment_spec.rb": 29.7667831130002,5256 "ee/spec/graphql/resolvers/geo/terraform_state_version_registries_resolver_spec.rb": 41.7311891520003,5257 "ee/spec/services/elastic/data_migration_service_spec.rb": 48.25818046100085,5258 "ee/spec/lib/banzai/reference_parser/iteration_parser_spec.rb": 27.056061571999635,5259 "ee/spec/policies/requirements_management/requirement_policy_spec.rb": 22.773441735000233,5260 "ee/spec/workers/store_security_reports_worker_spec.rb": 22.888604397000563,5261 "ee/spec/services/geo/repository_verification_secondary_service_spec.rb": 26.710869165000076,5262 "ee/spec/finders/geo/package_file_registry_finder_spec.rb": 26.494132749000528,5263 "ee/spec/models/environment_spec.rb": 17.8350881209999,5264 "ee/spec/workers/geo/verification_state_backfill_worker_spec.rb": 21.266485613999976,5265 "ee/spec/lib/gitlab/analytics/cycle_analytics/summary/stage_time_summary_spec.rb": 18.57736574200044,5266 "ee/spec/services/timebox_report_service_spec.rb": 10.844184662999396,5267 "ee/spec/graphql/resolvers/geo/package_file_registries_resolver_spec.rb": 18.211156056999243,5268 "ee/spec/lib/gitlab/geo/log_cursor/events/design_repository_updated_event_spec.rb": 15.782008496999879,5269 "ee/spec/lib/gitlab/ci/templates/secure_binaries_ci_yaml_spec.rb": 12.184854405000806,5270 "ee/spec/services/projects/destroy_service_spec.rb": 15.304926429000261,5271 "ee/spec/graphql/mutations/issues/set_iteration_spec.rb": 12.25509380099993,5272 "ee/spec/services/ee/boards/issues/list_service_spec.rb": 14.140662226000131,5273 "ee/spec/services/epics/transfer_service_spec.rb": 14.946522861999256,5274 "ee/spec/services/epics/update_dates_service_spec.rb": 11.012428322999767,5275 "ee/spec/services/protected_environments/create_service_spec.rb": 13.161211751000337,5276 "ee/spec/models/dast_scanner_profile_spec.rb": 9.238646279000022,5277 "ee/spec/services/analytics/cycle_analytics/stages/update_service_spec.rb": 7.526442843000041,5278 "ee/spec/graphql/ee/types/group_type_spec.rb": 7.996012931000223,5279 "ee/spec/models/app_sec/fuzzing/coverage/corpus_spec.rb": 8.958768718000101,5280 "ee/spec/graphql/mutations/issues/create_spec.rb": 8.543574875000559,5281 "ee/spec/services/ee/issue_links/create_service_spec.rb": 13.518599469999572,5282 "ee/spec/services/approval_rules/merge_request_rule_destroy_service_spec.rb": 8.613106855000296,5283 "ee/spec/lib/gitlab/template/custom_templates_spec.rb": 5.124815649000084,5284 "ee/spec/models/ee/personal_access_token_spec.rb": 4.634387176000018,5285 "ee/spec/services/projects/mark_for_deletion_service_spec.rb": 9.990523131999907,5286 "ee/spec/services/vulnerability_exports/export_service_spec.rb": 6.8174775369998315,5287 "ee/spec/services/ee/system_notes/issuables_service_spec.rb": 5.395847223000601,5288 "ee/spec/models/protected_environment/deploy_access_level_spec.rb": 6.035860070999661,5289 "ee/spec/serializers/vulnerabilities/feedback_entity_spec.rb": 4.586081250999996,5290 "ee/spec/models/vulnerabilities/finding_identifier_spec.rb": 7.277228103000198,5291 "ee/spec/graphql/mutations/dast_site_profiles/update_spec.rb": 6.194750706000377,5292 "ee/spec/services/epics/reopen_service_spec.rb": 3.15661056800036,5293 "ee/spec/finders/audit_event_finder_spec.rb": 5.12270202900072,5294 "ee/spec/services/geo/node_update_service_spec.rb": 4.51524340800006,5295 "ee/spec/services/group_saml/identity/destroy_service_spec.rb": 6.332937853000658,5296 "ee/spec/workers/incident_management/apply_incident_sla_exceeded_label_worker_spec.rb": 3.352315729000111,5297 "ee/spec/lib/gitlab/ci/pipeline/chain/limit/size_spec.rb": 3.901071285999933,5298 "ee/spec/models/ci/minutes/additional_pack_spec.rb": 3.627736632000051,5299 "ee/spec/graphql/mutations/merge_requests/set_assignees_spec.rb": 7.395801151999876,5300 "ee/spec/lib/gitlab/insights/reducers/count_per_label_reducer_spec.rb": 3.420195342000625,5301 "ee/spec/helpers/groups/security_features_helper_spec.rb": 3.1524545869997382,5302 "ee/spec/lib/gitlab/com_spec.rb": 3.2171465710007396,5303 "ee/spec/graphql/resolvers/board_groupings/epics_resolvers_spec.rb": 4.829955337000683,5304 "ee/spec/models/ee/namespace/storage/notification_spec.rb": 2.193594220000705,5305 "ee/spec/services/security/update_training_service_spec.rb": 1.5484606820000408,5306 "ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_label_removed_spec.rb": 1.6886711380002453,5307 "ee/spec/models/allowed_email_domain_spec.rb": 2.029102976000104,5308 "ee/spec/graphql/resolvers/ci/code_coverage_activities_resolver_spec.rb": 5.9557065589997364,5309 "ee/spec/services/epics/close_service_spec.rb": 3.277171086000635,5310 "ee/spec/models/saml_group_link_spec.rb": 1.5427956120001909,5311 "ee/spec/services/issues/build_service_spec.rb": 6.106847625000228,5312 "ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb": 2.540137357000276,5313 "ee/spec/finders/ee/projects_finder_spec.rb": 4.397083918000135,5314 "ee/spec/models/sbom/occurrence_spec.rb": 4.047008581999762,5315 "ee/spec/services/app_sec/dast/site_validations/runner_service_spec.rb": 3.272177295999427,5316 "ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_label_removed_spec.rb": 4.148117472999729,5317 "ee/spec/services/geo/container_repository_updated_event_store_spec.rb": 2.8463577470001837,5318 "ee/spec/services/boards/user_preferences/update_service_spec.rb": 2.7437881070000003,5319 "ee/spec/models/elastic/index_setting_spec.rb": 1.7645178510001642,5320 "ee/spec/services/elastic/indexing_control_service_spec.rb": 1.1281208620002872,5321 "ee/spec/lib/gitlab/spdx/catalogue_spec.rb": 0.844138978999581,5322 "ee/spec/services/audit_events/build_service_spec.rb": 1.6758040889999393,5323 "ee/spec/lib/gitlab/geo/oauth/logout_state_spec.rb": 1.806665576999876,5324 "ee/spec/lib/gitlab/ci/reports/security/locations/dependency_scanning_spec.rb": 0.6221772709996003,5325 "ee/spec/services/ci/pipeline_bridge_status_service_spec.rb": 2.8748816649995206,5326 "ee/spec/lib/ee/api/helpers/members_helpers_spec.rb": 1.6415125220000846,5327 "ee/spec/services/issues/duplicate_service_spec.rb": 2.793270823000057,5328 "ee/spec/finders/incident_management/oncall_schedules_finder_spec.rb": 1.742252322999775,5329 "ee/spec/graphql/types/dast_scanner_profile_type_spec.rb": 2.8691925250004715,5330 "ee/spec/helpers/ee/trial_registration_helper_spec.rb": 1.1108718130008128,5331 "ee/spec/workers/auth/saml_group_sync_worker_spec.rb": 2.2341297559996747,5332 "ee/spec/graphql/resolvers/geo/lfs_object_registries_resolver_spec.rb": 2.832793158999266,5333 "ee/spec/lib/gitlab/compliance_management/violations/approved_by_merge_request_author_spec.rb": 2.2628620030000093,5334 "ee/spec/lib/gitlab/insights/executors/dora_executor_spec.rb": 2.253008124000189,5335 "ee/spec/lib/sidebars/groups/menus/administration_menu_spec.rb": 1.6831409689993961,5336 "ee/spec/components/namespaces/free_user_cap/preview_alert_component_spec.rb": 2.4135095580004418,5337 "ee/spec/lib/gitlab/instrumentation_helper_spec.rb": 3.2791923659997337,5338 "ee/spec/models/ee/ci/pending_build_spec.rb": 3.2128346919998876,5339 "ee/spec/lib/ee/gitlab/analytics/cycle_analytics/aggregated/base_query_builder_spec.rb": 2.459012513999369,5340 "ee/spec/graphql/mutations/boards/epic_boards/destroy_spec.rb": 0.9560816779994639,5341 "ee/spec/lib/gitlab/import_export/group/group_and_descendants_repo_restorer_spec.rb": 0.7051274120003654,5342 "ee/spec/workers/security/orchestration_policy_rule_schedule_namespace_worker_spec.rb": 1.70574688600027,5343 "ee/spec/services/ee/quick_actions/target_service_spec.rb": 2.976399725000192,5344 "ee/spec/views/shared/milestones/_milestone.html.haml_spec.rb": 2.4594911839994893,5345 "ee/spec/workers/requirements_management/import_requirements_csv_worker_spec.rb": 1.591449227999874,5346 "ee/spec/lib/gitlab/exclusive_lease_spec.rb": 2.523726128999442,5347 "ee/spec/validators/user_existence_validator_spec.rb": 0.6610959060008099,5348 "ee/spec/lib/gitlab/graphql/loaders/oncall_participant_loader_spec.rb": 2.024640845999784,5349 "ee/spec/graphql/resolvers/dast_site_profile_resolver_spec.rb": 2.0567150629995012,5350 "ee/spec/models/ee/namespace_statistics_spec.rb": 1.366992479000146,5351 "ee/spec/lib/ee/gitlab/hook_data/issue_builder_spec.rb": 2.183318080999925,5352 "ee/spec/views/projects/show.html.haml_spec.rb": 1.4148891739996543,5353 "ee/spec/lib/gitlab/ci/templates/coverage_fuzzing_gitlab_ci_yaml_spec.rb": 1.1515544200001386,5354 "ee/spec/views/trial_registrations/new.html.haml_spec.rb": 0.6758007150001504,5355 "ee/spec/services/geo/node_create_service_spec.rb": 1.8554713419998734,5356 "ee/spec/services/analytics/devops_adoption/snapshots/update_service_spec.rb": 0.6424612379996688,5357 "ee/spec/lib/gitlab/auth/group_saml/auth_hash_spec.rb": 0.3402843869998833,5358 "ee/spec/serializers/license_entity_spec.rb": 0.4540754769996056,5359 "ee/spec/lib/gitlab/usage/metrics/instrumentations/count_users_associating_group_milestones_to_releases_metric_spec.rb": 2.487381990999893,5360 "ee/spec/graphql/types/dast_site_validation_type_spec.rb": 1.1594641189994945,5361 "ee/spec/workers/sync_seat_link_worker_spec.rb": 1.5355228630005513,5362 "ee/spec/serializers/audit_event_serializer_spec.rb": 0.8221440810002605,5363 "ee/spec/finders/app_sec/fuzzing/coverage/corpuses_finder_spec.rb": 1.2035733749999054,5364 "ee/spec/lib/ee/sidebars/projects/menus/repository_menu_spec.rb": 1.0836495859994102,5365 "ee/spec/lib/gitlab/import_sources_spec.rb": 0.2945107420000568,5366 "ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/abilities_spec.rb": 1.2641317090001394,5367 "ee/spec/services/status_page/publish_attachments_service_spec.rb": 0.80311266300032,5368 "ee/spec/helpers/ee/groups/analytics/cycle_analytics_helper_spec.rb": 0.3437819569999192,5369 "ee/spec/lib/gitlab/usage/metrics/instrumentations/count_saml_group_links_metric_spec.rb": 0.6854926949999935,5370 "ee/spec/graphql/types/metric_image_type_spec.rb": 0.299964371999522,5371 "ee/spec/services/audit_events/custom_audit_event_service_spec.rb": 0.6555885570005557,5372 "ee/spec/graphql/resolvers/boards/epic_lists_resolvers_spec.rb": 1.5431562320000012,5373 "ee/spec/workers/dora/daily_metrics/refresh_worker_spec.rb": 1.5941739669997332,5374 "ee/spec/workers/requirements_management/process_requirements_reports_worker_spec.rb": 0.8930578139998033,5375 "ee/spec/views/groups/hooks/edit.html.haml_spec.rb": 1.1975122659996487,5376 "ee/spec/lib/ee/audit/project_feature_changes_auditor_spec.rb": 1.7607202119997964,5377 "ee/spec/workers/app_sec/dast/scanner_profiles_builds/consistency_worker_spec.rb": 1.2311268220000784,5378 "ee/spec/lib/gitlab/insights/reducers/dora_reducer_spec.rb": 0.38923867300036363,5379 "ee/spec/views/projects/security/dast_site_profiles/edit.html.haml_spec.rb": 1.3368244210005287,5380 "ee/spec/lib/gitlab/path_locks_finder_spec.rb": 0.9038334030001351,5381 "ee/spec/helpers/ee/ci/pipeline_editor_helper_spec.rb": 0.9955469939995965,5382 "ee/spec/lib/gitlab/tracking/standard_context_spec.rb": 0.7401838490004593,5383 "ee/spec/graphql/ee/types/boards/board_issue_input_type_spec.rb": 0.228775267999481,5384 "ee/spec/workers/incident_management/oncall_rotations/persist_all_rotations_shifts_job_spec.rb": 0.5503386970003703,5385 "ee/spec/lib/gitlab/ci/config/entry/secret_spec.rb": 0.4591869059995588,5386 "ee/spec/lib/elastic/latest/config_spec.rb": 0.5865791330006687,5387 "ee/spec/lib/gitlab/auth/saml/config_spec.rb": 0.6591926070004774,5388 "ee/spec/workers/groups/export_memberships_worker_spec.rb": 0.5874845939997613,5389 "ee/spec/models/concerns/scim_paginatable_spec.rb": 0.6480028380001386,5390 "ee/spec/lib/ee/sidebars/projects/menus/ci_cd_menu_spec.rb": 1.1756924369992703,5391 "ee/spec/lib/gitlab/rack_attack_spec.rb": 0.37157870400005777,5392 "ee/spec/lib/ee/gitlab/metrics/samplers/database_sampler_spec.rb": 0.3887422030002199,5393 "ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/lucene_version_metric_spec.rb": 0.11894951900012529,5394 "ee/spec/lib/gitlab/bullet/exclusions_spec.rb": 0.31406237999999576,5395 "ee/spec/services/boards/epic_boards/visits/create_service_spec.rb": 0.5118113009993976,5396 "ee/spec/services/personal_access_tokens/revoke_service_audit_log_spec.rb": 0.4550159159998657,5397 "ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/version_metric_spec.rb": 0.2524876059997041,5398 "ee/spec/lib/gitlab/web_ide/config/entry/schemas_spec.rb": 0.3512274160002562,5399 "ee/spec/services/web_hook_service_spec.rb": 0.9786105060002228,5400 "ee/spec/lib/gitlab/search/aggregation_spec.rb": 0.8135217919998468,5401 "ee/spec/graphql/types/vulnerability_location/sast_type_spec.rb": 0.4319917489992804,5402 "ee/spec/graphql/types/requirements_management/requirement_state_enum_spec.rb": 0.9883598550004535,5403 "ee/spec/lib/gitlab/insights/serializers/chartjs/bar_time_series_serializer_spec.rb": 0.2731495640000503,5404 "ee/spec/graphql/types/iteration_type_spec.rb": 0.3128808700002992,5405 "ee/spec/graphql/types/vulnerability_details/commit_type_spec.rb": 0.6255647400002999,5406 "ee/spec/graphql/types/vulnerability_grade_enum_spec.rb": 0.4296730779997233,5407 "ee/spec/lib/gitlab/kerberos/authentication_spec.rb": 0.34242024699960893,5408 "ee/spec/graphql/types/incident_management/escalation_rule_type_spec.rb": 0.30378283099980763,5409 "ee/spec/workers/vulnerabilities/historical_statistics/deletion_worker_spec.rb": 0.316699349999908,5410 "ee/spec/views/operations/environments.html.haml_spec.rb": 0.3814897739994194,5411 "ee/spec/graphql/types/dast/scan_method_type_enum_spec.rb": 0.16560837399993034,5412 "ee/spec/lib/gitlab/graphql/aggregations/issuables/lazy_links_aggregate_spec.rb": 0.26640383399990245413}5414Knapsack global time execution for tests: 35m 05s5415Pending: (Failures listed here are expected and do not affect your suite's status)5416 1) Resolvers::Geo::TerraformStateVersionRegistriesResolver behaves like a Geo registries resolver #resolve when the parent object is the current node when the user has permission to view Geo data when admin mode is enabled with verification disabled when the verification_state argument is present raises ArgumentError5417 # Skipping because verification is enabled for Terraform::StateVersion5418 # ./ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb:775419 2) Geo::PackageFileRegistryFinder behaves like a framework registry finder #execute when user can read all Geo when admin mode is enabled with verification disabled with a verification_state param raises ArgumentError5420 # Skipping because verification is enabled for Packages::PackageFile5421 # ./ee/spec/support/shared_examples/finders/geo/framework_registry_finder_shared_examples.rb:975422 3) Geo::PackageFileRegistryFinder behaves like a framework registry finder #execute when user can read all Geo when admin mode is enabled with verification disabled with a verification_state param empty raises ArgumentError5423 # Skipping because verification is enabled for Packages::PackageFile5424 # ./ee/spec/support/shared_examples/finders/geo/framework_registry_finder_shared_examples.rb:1055425 4) Resolvers::Geo::PackageFileRegistriesResolver behaves like a Geo registries resolver #resolve when the parent object is the current node when the user has permission to view Geo data when admin mode is enabled with verification disabled when the verification_state argument is present raises ArgumentError5426 # Skipping because verification is enabled for Packages::PackageFile5427 # ./ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb:775428 5) Custom file template classes Gitlab::Template::CustomDockerfileTemplate.find sets the category correctly5429 # {:class_name=>Gitlab::Template::CustomDockerfileTemplate, :category=>"Custom"}.find does not set category correctly5430 Failure/Error: expect(found.category).to eq('Custom')5431 expected: "Custom"5432 got: nil5433 (compared using ==)5434 # ./ee/spec/lib/gitlab/template/custom_templates_spec.rb:84:in `block (5 levels) in <top (required)>'5435 # ./spec/spec_helper.rb:435:in `block (3 levels) in <top (required)>'5436 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'5437 # ./spec/spec_helper.rb:426:in `block (2 levels) in <top (required)>'5438 # ./spec/spec_helper.rb:422:in `block (3 levels) in <top (required)>'5439 # ./lib/gitlab/application_context.rb:56:in `with_raw_context'5440 # ./spec/spec_helper.rb:422:in `block (2 levels) in <top (required)>'5441 # ./spec/spec_helper.rb:265:in `block (2 levels) in <top (required)>'5442 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'5443 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'5444 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'5445 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'5446 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'5447 6) Custom file template classes Gitlab::Template::CustomGitignoreTemplate.find sets the category correctly5448 # {:class_name=>Gitlab::Template::CustomGitignoreTemplate, :category=>"Custom"}.find does not set category correctly5449 Failure/Error: expect(found.category).to eq('Custom')5450 expected: "Custom"5451 got: nil5452 (compared using ==)5453 # ./ee/spec/lib/gitlab/template/custom_templates_spec.rb:84:in `block (5 levels) in <top (required)>'5454 # ./spec/spec_helper.rb:435:in `block (3 levels) in <top (required)>'5455 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'5456 # ./spec/spec_helper.rb:426:in `block (2 levels) in <top (required)>'5457 # ./spec/spec_helper.rb:422:in `block (3 levels) in <top (required)>'5458 # ./lib/gitlab/application_context.rb:56:in `with_raw_context'5459 # ./spec/spec_helper.rb:422:in `block (2 levels) in <top (required)>'5460 # ./spec/spec_helper.rb:265:in `block (2 levels) in <top (required)>'5461 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'5462 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'5463 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'5464 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'5465 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'5466 7) Custom file template classes Gitlab::Template::CustomGitlabCiYmlTemplate.find sets the category correctly5467 # {:class_name=>Gitlab::Template::CustomGitlabCiYmlTemplate, :category=>"Custom"}.find does not set category correctly5468 Failure/Error: expect(found.category).to eq('Custom')5469 expected: "Custom"5470 got: nil5471 (compared using ==)5472 # ./ee/spec/lib/gitlab/template/custom_templates_spec.rb:84:in `block (5 levels) in <top (required)>'5473 # ./spec/spec_helper.rb:435:in `block (3 levels) in <top (required)>'5474 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'5475 # ./spec/spec_helper.rb:426:in `block (2 levels) in <top (required)>'5476 # ./spec/spec_helper.rb:422:in `block (3 levels) in <top (required)>'5477 # ./lib/gitlab/application_context.rb:56:in `with_raw_context'5478 # ./spec/spec_helper.rb:422:in `block (2 levels) in <top (required)>'5479 # ./spec/spec_helper.rb:265:in `block (2 levels) in <top (required)>'5480 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'5481 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'5482 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'5483 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'5484 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'5485 8) Custom file template classes Gitlab::Template::CustomLicenseTemplate.find sets the category correctly5486 # {:class_name=>Gitlab::Template::CustomLicenseTemplate, :category=>"Custom"}.find does not set category correctly5487 Failure/Error: expect(found.category).to eq('Custom')5488 expected: "Custom"5489 got: nil5490 (compared using ==)5491 # ./ee/spec/lib/gitlab/template/custom_templates_spec.rb:84:in `block (5 levels) in <top (required)>'5492 # ./spec/spec_helper.rb:435:in `block (3 levels) in <top (required)>'5493 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'5494 # ./spec/spec_helper.rb:426:in `block (2 levels) in <top (required)>'5495 # ./spec/spec_helper.rb:422:in `block (3 levels) in <top (required)>'5496 # ./lib/gitlab/application_context.rb:56:in `with_raw_context'5497 # ./spec/spec_helper.rb:422:in `block (2 levels) in <top (required)>'5498 # ./spec/spec_helper.rb:265:in `block (2 levels) in <top (required)>'5499 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'5500 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'5501 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'5502 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'5503 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'5504 9) Custom file template classes Gitlab::Template::CustomMetricsDashboardYmlTemplate.find sets the category correctly5505 # {:class_name=>Gitlab::Template::CustomMetricsDashboardYmlTemplate, :category=>"Custom"}.find does not set category correctly5506 Failure/Error: expect(found.category).to eq('Custom')5507 expected: "Custom"5508 got: nil5509 (compared using ==)5510 # ./ee/spec/lib/gitlab/template/custom_templates_spec.rb:84:in `block (5 levels) in <top (required)>'5511 # ./spec/spec_helper.rb:435:in `block (3 levels) in <top (required)>'5512 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'5513 # ./spec/spec_helper.rb:426:in `block (2 levels) in <top (required)>'5514 # ./spec/spec_helper.rb:422:in `block (3 levels) in <top (required)>'5515 # ./lib/gitlab/application_context.rb:56:in `with_raw_context'5516 # ./spec/spec_helper.rb:422:in `block (2 levels) in <top (required)>'5517 # ./spec/spec_helper.rb:265:in `block (2 levels) in <top (required)>'5518 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'5519 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'5520 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'5521 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'5522 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'5523 10) Custom file template classes Gitlab::Template::IssueTemplate.find sets the category correctly5524 # {:class_name=>Gitlab::Template::IssueTemplate, :category=>"Project Templates"}.find does not set category correctly5525 Failure/Error: expect(found.category).to eq('Custom')5526 expected: "Custom"5527 got: nil5528 (compared using ==)5529 # ./ee/spec/lib/gitlab/template/custom_templates_spec.rb:84:in `block (5 levels) in <top (required)>'5530 # ./spec/spec_helper.rb:435:in `block (3 levels) in <top (required)>'5531 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'5532 # ./spec/spec_helper.rb:426:in `block (2 levels) in <top (required)>'5533 # ./spec/spec_helper.rb:422:in `block (3 levels) in <top (required)>'5534 # ./lib/gitlab/application_context.rb:56:in `with_raw_context'5535 # ./spec/spec_helper.rb:422:in `block (2 levels) in <top (required)>'5536 # ./spec/spec_helper.rb:265:in `block (2 levels) in <top (required)>'5537 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'5538 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'5539 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'5540 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'5541 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'5542 11) Custom file template classes Gitlab::Template::MergeRequestTemplate.find sets the category correctly5543 # {:class_name=>Gitlab::Template::MergeRequestTemplate, :category=>"Project Templates"}.find does not set category correctly5544 Failure/Error: expect(found.category).to eq('Custom')5545 expected: "Custom"5546 got: nil5547 (compared using ==)5548 # ./ee/spec/lib/gitlab/template/custom_templates_spec.rb:84:in `block (5 levels) in <top (required)>'5549 # ./spec/spec_helper.rb:435:in `block (3 levels) in <top (required)>'5550 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'5551 # ./spec/spec_helper.rb:426:in `block (2 levels) in <top (required)>'5552 # ./spec/spec_helper.rb:422:in `block (3 levels) in <top (required)>'5553 # ./lib/gitlab/application_context.rb:56:in `with_raw_context'5554 # ./spec/spec_helper.rb:422:in `block (2 levels) in <top (required)>'5555 # ./spec/spec_helper.rb:265:in `block (2 levels) in <top (required)>'5556 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'5557 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'5558 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'5559 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'5560 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'5561 12) Geo::ContainerRepositoryUpdatedEventStore#create behaves like a Geo event store when running on a primary node when file subject is not on local store creates an event5562 # No file subject defined, skipping5563 # ./ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb:365564 13) Resolvers::Geo::LfsObjectRegistriesResolver behaves like a Geo registries resolver #resolve when the parent object is the current node when the user has permission to view Geo data when admin mode is enabled with verification disabled when the verification_state argument is present raises ArgumentError5565 # Skipping because verification is enabled for LfsObject5566 # ./ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb:775567Finished in 35 minutes 11 seconds (files took 1 minute 24.95 seconds to load)55682261 examples, 0 failures, 13 pending5569RSpec exited with 0.5570No examples to retry, congrats!5572Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-14 due to policy5573Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-14 due to policy5575Uploading artifacts...5576coverage/: found 5 matching files and directories 5577crystalball/: found 2 matching files and directories 5578WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory 5579knapsack/: found 3 matching files and directories 5580rspec/: found 8 matching files and directories 5581WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 5582log/*.log: found 20 matching files and directories 5583WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2929379630/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com5584WARNING: Retrying... context=artifacts-uploader error=request redirected5585Uploading artifacts as "archive" to coordinator... 201 Created id=2929379630 responseStatus=201 Created token=ymPBmHMR5586Uploading artifacts...5587rspec/junit_rspec.xml: found 1 matching files and directories 5588WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2929379630/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com5589WARNING: Retrying... context=artifacts-uploader error=request redirected5590Uploading artifacts as "junit" to coordinator... 201 Created id=2929379630 responseStatus=201 Created token=ymPBmHMR5592Job succeeded