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

Lee Tickett
1Running with gitlab-runner 15.1.0~beta.20.g62206bb2 (62206bb2)2 on blue-1.shared-gitlab-org.runners-manager.gitlab.com/default KzYhZxBv3 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:ac3b8cd6a8b42e839456256bc514d6230b5a2538c738b3d522e1384a2a172b96 for postgres:12 with digest postgres@sha256:e6ffad42c91a4d5a29257a27ac4e160c3ae7196696b37bf2e80410024ed95951 ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:09401fed2a421bf0019f96dcec70c85f82ec7b76beb1ae589547b0dc302d6b76 for redis:6.0-alpine with digest redis@sha256:217a9db40a914cc3f6206a143a4d750da0607500cc013a147a4979e08e40beff ...13Starting service elasticsearch:7.17.0 ...14Pulling docker image elasticsearch:7.17.0 ...15Using docker image sha256:6fe993d6e7ed5e00a18f9b146d867b77559bf9948e6596bbf880ddbefeec46f7 for elasticsearch:7.17.0 with digest elasticsearch@sha256:332c6d416808f6e9a2cbcbe0170d9a9bb14bfe772180d37de5084c223dd8948b ...16Waiting for services to be up and running (timeout 30 seconds)...17Authenticating with credentials from job payload (GitLab Registry)18Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 ...19Using docker image sha256:642191311550aaa03aba1d11d8d921042ead8ee5afeb833fc7e4e3f933b7ed04 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12@sha256:f0990c59018be757dd56365bb2cc6791d65f3f4bf99a431c3b26e3df08260f6a ...21Running on runner-kzyhzxbv-project-278964-concurrent-0 via runner-kzyhzxbv-shared-gitlab-org-1656898102-08d380ff...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: 115982, done. 28remote: Counting objects: 100% (115982/115982), done. 29remote: Compressing objects: 100% (81018/81018), done. 30remote: Total 115982 (delta 48513), reused 75495 (delta 30560), pack-reused 0 31Receiving objects: 100% (115982/115982), 108.44 MiB | 20.79 MiB/s, done.32Resolving deltas: 100% (48513/48513), done.34 * [new ref] refs/pipelines/579176392 -> refs/pipelines/57917639235Checking out 204b4379 as refs/merge-requests/91556/merge...36Skipping Git submodules setup37$ git remote set-url origin "${CI_REPOSITORY_URL}"39Checking cache for ruby-gems-debian-bullseye-ruby-2.7-10...40Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-debian-bullseye-ruby-2.7-10 41Successfully extracted cache42Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-2.7-10...43Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/gitaly-ruby-gems-debian-bullseye-ruby-2.7-10 44Successfully extracted cache46Downloading artifacts for compile-test-assets (2673336706)...47Downloading artifacts from coordinator... ok id=2673336706 responseStatus=200 OK token=DUGsV5gw48Downloading artifacts for detect-tests (2673336715)...49Downloading artifacts from coordinator... ok id=2673336715 responseStatus=200 OK token=DUGsV5gw50Downloading artifacts for retrieve-tests-metadata (2673336722)...51Downloading artifacts from coordinator... ok id=2673336722 responseStatus=200 OK token=DUGsV5gw52Downloading artifacts for setup-test-env (2673336712)...53Downloading artifacts from coordinator... ok id=2673336712 responseStatus=200 OK token=DUGsV5gw55Using docker image sha256:642191311550aaa03aba1d11d8d921042ead8ee5afeb833fc7e4e3f933b7ed04 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12@sha256:f0990c59018be757dd56365bb2cc6791d65f3f4bf99a431c3b26e3df08260f6a ...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.3.5 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 38 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 directory112Don't run Bundler as root. Bundler can ask for sudo if it is needed, and113installing your bundle as root will break this application for all non-root114users on this machine.115Using abstract_type 0.0.7116Using concurrent-ruby 1.1.10117Using i18n 1.10.0118Using minitest 5.15.0119Using tzinfo 2.0.4120Using zeitwerk 2.5.4121Using activesupport 6.1.4.7122Using builder 3.2.4123Using erubi 1.10.0124Using mini_portile2 2.8.0125Using racc 1.6.0126Using nokogiri 1.13.6 (x86_64-linux)127Using rails-dom-testing 2.0.3128Using crass 1.0.6129Using loofah 2.16.0130Using rails-html-sanitizer 1.4.2131Using actionview 6.1.4.7132Using rack 2.2.3133Using rack-test 1.1.0134Using actionpack 6.1.4.7135Using ice_nine 0.11.2136Using thread_safe 0.3.6137Using memoizable 0.4.2138Using adamantium 0.2.0139Using public_suffix 4.0.6140Using addressable 2.7.0141Using ast 2.4.2142Using binding_ninja 0.2.3143Using bundler 2.3.15144Using charlock_holmes 0.7.7145Using coderay 1.1.2146Using equalizer 0.0.11147Using concord 0.1.5148Using diff-lcs 1.3149Using dotenv 2.7.6150Using escape_utils 1.2.1151Using factory_bot 5.0.2152Using multipart-post 2.1.1153Using faraday 1.0.1154Using ffi 1.15.3155Using json 2.5.1156Using gemojione 3.3.0157Using mini_mime 1.0.2158Using rugged 1.2.0159Using github-linguist 7.12.1160Using github-markup 1.7.0161Using mime-types-data 3.2020.1104162Using mime-types 3.3.1163Using gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1164Using rouge 3.27.0165Using sanitize 6.0.0166Using stringex 2.8.5167Using gitlab-gollum-lib 4.2.7.10.gitlab.2168Using google-protobuf 3.19.1 (x86_64-linux)169Using googleapis-common-protos-types 1.3.0170Using grpc 1.42.0 (x86_64-linux)171Using opentracing 0.5.0172Using thrift 0.15.0173Using jaeger-client 1.1.0174Using pg_query 2.1.1175Using redis 4.4.0176Using gitlab-labkit 0.23.0177Using rubyzip 2.3.2178Using thor 1.1.0179Using tomlrb 2.0.1180Using with_env 1.1.0181Using rexml 3.2.5182Using xml-simple 1.1.9183Using gitlab-license_finder 6.14.2.1184Using gitlab-markup 1.7.1185Using grpc-tools 1.42.0186Using sawyer 0.8.2187Using octokit 4.20.0188Using reverse_markdown 1.4.0189Using licensee 9.14.1190Using method_source 0.9.2191Using msgpack 1.3.3192Using optimist 3.0.1193Using parallel 1.19.2194Using parser 3.0.3.2195Using procto 0.0.3196Using unparser 0.4.7197Using proc_to_ast 0.1.0198Using pry 0.12.2199Using rainbow 3.0.0200Using rbtrace 0.4.14201Using rdoc 6.3.2202Using regexp_parser 1.8.1203Using rspec-support 3.8.0204Using rspec-core 3.8.0205Using rspec-expectations 3.8.3206Using rspec-mocks 3.8.0207Using rspec 3.8.0208Using rspec-parameterized 0.4.2209Using rubocop-ast 0.2.0210Using ruby-progressbar 1.10.1211Using unicode-display_width 1.7.0212Using rubocop 0.86.0213Using sentry-raven 3.0.4214Using timecop 0.9.1215Bundle complete! 22 Gemfile dependencies, 100 gems now installed.216Gems in the groups 'production' and 'development' were not installed.217Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`218Checking gitaly-ruby Gemfile...219Checking gitaly-ruby bundle...220The Gemfile's dependencies are satisfied221Trying to connect to gitaly: .......................................... OK222Trying to connect to gitaly2: ........................................................... OK223Starting Praefect with in-memory election strategyTrying to connect to praefect: ........ OK224$ source ./scripts/rspec_helpers.sh225==> 'scripts/gitaly-test-spawn' succeeded in 12 seconds.226$ rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"227SKIP_FLAKY_TESTS_AUTOMATICALLY: true228RETRY_FAILED_TESTS_IN_NEW_PROCESS: true229KNAPSACK_GENERATE_REPORT: true230FLAKY_RSPEC_GENERATE_REPORT: true231KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{bin,channels,config,db,dependencies,elastic,elastic_integration,experiments,events,factories,finders,frontend,graphql,haml_lint,helpers,initializers,lib,metrics_server,models,policies,presenters,rack_servers,replicators,routing,rubocop,scripts,serializers,services,sidekiq,sidekiq_cluster,spam,support_specs,tasks,uploaders,validators,views,workers,tooling,components}{,/**/}*_spec.rb232KNAPSACK_LOG_LEVEL: debug233KNAPSACK_REPORT_PATH: knapsack/rspec-ee_unit_pg12_13_16_report.json234FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json235FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_unit_pg12_13_16_report.json236NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_unit_pg12_13_16_report.json237SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec-ee_unit_pg12_13_16_report.txt238RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec-ee_unit_pg12_13_16_report.txt239CRYSTALBALL: 240Knapsack node specs:241ee/spec/services/ee/notification_service_spec.rb242ee/spec/services/quick_actions/interpret_service_spec.rb243ee/spec/models/boards/epic_board_position_spec.rb244ee/spec/lib/ee/gitlab/middleware/read_only_spec.rb245ee/spec/models/ee/iteration_spec.rb246ee/spec/policies/environment_policy_spec.rb247ee/spec/models/merge_train_spec.rb248ee/spec/lib/gitlab/analytics/type_of_work/tasks_by_type_spec.rb249ee/spec/policies/epic_policy_spec.rb250ee/spec/lib/gitlab/ci/templates/sast_gitlab_ci_yaml_spec.rb251ee/spec/replicators/geo/terraform_state_version_replicator_spec.rb252ee/spec/workers/namespaces/free_user_cap/remediation_worker_spec.rb253ee/spec/models/concerns/elastic/merge_request_spec.rb254ee/spec/models/ee/namespace/root_storage_size_spec.rb255ee/spec/lib/analytics/devops_adoption/snapshot_calculator_spec.rb256ee/spec/services/approval_rules/params_filtering_service_spec.rb257ee/spec/lib/gitlab/geo_spec.rb258ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb259ee/spec/lib/ee/gitlab/background_migration/drop_invalid_remediations_spec.rb260ee/spec/models/approval_merge_request_rule_spec.rb261ee/spec/services/ee/members/destroy_service_spec.rb262ee/spec/lib/gitlab/licenses/submit_license_usage_data_banner_spec.rb263ee/spec/services/merge_trains/refresh_merge_request_service_spec.rb264ee/spec/services/iterations/delete_service_spec.rb265ee/spec/services/ee/users/destroy_service_spec.rb266ee/spec/lib/gitlab/ci/reports/license_scanning/license_spec.rb267ee/spec/models/visible_approvable_spec.rb268ee/spec/services/security/security_orchestration_policies/create_pipeline_service_spec.rb269ee/spec/services/wiki_pages/update_service_spec.rb270ee/spec/services/boards/epics/list_service_spec.rb271ee/spec/workers/elastic_namespace_indexer_worker_spec.rb272ee/spec/helpers/boards_helper_spec.rb273ee/spec/models/ee/personal_access_token_spec.rb274ee/spec/serializers/member_entity_spec.rb275ee/spec/services/ee/incident_management/issuable_escalation_statuses/after_update_service_spec.rb276ee/spec/services/security/ingestion/tasks/ingest_remediations_spec.rb277ee/spec/graphql/mutations/projects/set_locked_spec.rb278ee/spec/helpers/ee/trial_helper_spec.rb279ee/spec/lib/ee/gitlab/group_search_results_spec.rb280ee/spec/workers/geo/project_sync_worker_spec.rb281ee/spec/services/dashboard/projects/create_service_spec.rb282ee/spec/lib/gitlab/auth/group_saml/session_enforcer_spec.rb283ee/spec/services/iterations/create_service_spec.rb284ee/spec/services/epics/create_service_spec.rb285ee/spec/services/app_sec/dast/site_profiles/destroy_service_spec.rb286ee/spec/policies/vulnerabilities/export_policy_spec.rb287ee/spec/lib/ee/gitlab/auth/ldap/sync/proxy_spec.rb288ee/spec/graphql/mutations/issues/set_assignees_spec.rb289ee/spec/services/deployments/auto_rollback_service_spec.rb290ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_check_progress_spec.rb291ee/spec/services/ci/process_pipeline_service_spec.rb292ee/spec/models/issue_link_spec.rb293ee/spec/finders/ee/projects_finder_spec.rb294ee/spec/workers/project_import_schedule_worker_spec.rb295ee/spec/services/ci/runners/register_runner_service_spec.rb296ee/spec/policies/dast/profile_policy_spec.rb297ee/spec/services/projects/group_links/destroy_service_spec.rb298ee/spec/serializers/dependency_list_entity_spec.rb299ee/spec/lib/gitlab/graphql/aggregations/vulnerabilities/lazy_user_notes_count_aggregate_spec.rb300ee/spec/lib/ee/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb301ee/spec/lib/gitlab/elastic/client_spec.rb302ee/spec/finders/geo/design_registry_finder_spec.rb303ee/spec/services/epic_issues/update_service_spec.rb304ee/spec/graphql/mutations/issues/promote_to_epic_spec.rb305ee/spec/views/shared/billings/_trial_status.html.haml_spec.rb306ee/spec/lib/gitlab/geo/replication/blob_retriever_spec.rb307ee/spec/workers/ee/namespaces/in_product_marketing_emails_worker_spec.rb308ee/spec/models/slack_integration_spec.rb309ee/spec/workers/ci/batch_reset_minutes_worker_spec.rb310ee/spec/services/incident_management/escalation_policies/create_service_spec.rb311ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_label_added_spec.rb312ee/spec/lib/gitlab/ci/pipeline/chain/limit/activity_spec.rb313ee/spec/workers/ee/ci/build_finished_worker_spec.rb314ee/spec/models/approval_wrapped_code_owner_rule_spec.rb315ee/spec/models/iteration_note_spec.rb316ee/spec/policies/dast_site_profile_policy_spec.rb317ee/spec/graphql/types/vulnerability_request_type_spec.rb318ee/spec/serializers/ee/issue_sidebar_extras_entity_spec.rb319ee/spec/services/incident_management/oncall_schedules/create_service_spec.rb320ee/spec/workers/active_user_count_threshold_worker_spec.rb321ee/spec/services/iterations/cadences/create_service_spec.rb322ee/spec/helpers/ee/namespace_user_cap_reached_alert_helper_spec.rb323ee/spec/finders/geo/snippet_repository_registry_finder_spec.rb324ee/spec/lib/gitlab/reference_extractor_spec.rb325ee/spec/services/projects/after_rename_service_spec.rb326ee/spec/views/groups/settings/_remove.html.haml_spec.rb327ee/spec/serializers/ee/note_entity_spec.rb328ee/spec/services/incident_management/oncall_shifts/read_service_spec.rb329ee/spec/services/boards/epic_lists/destroy_service_spec.rb330ee/spec/policies/vulnerabilities/scanner_policy_spec.rb331ee/spec/presenters/group_clusterable_presenter_spec.rb332ee/spec/policies/issue_policy_spec.rb333ee/spec/models/compliance_management/compliance_framework/project_settings_spec.rb334ee/spec/lib/gitlab/graphql/loaders/oncall_participant_loader_spec.rb335ee/spec/finders/incident_management/escalation_rules_finder_spec.rb336ee/spec/graphql/resolvers/ci/code_coverage_summary_resolver_spec.rb337ee/spec/lib/ee/api/entities/vulnerability_spec.rb338ee/spec/services/alert_management/extract_alert_payload_fields_service_spec.rb339ee/spec/services/geo/node_status_request_service_spec.rb340ee/spec/serializers/ee/issue_board_entity_spec.rb341ee/spec/services/merge_requests/mergeability/check_denied_policies_service_spec.rb342ee/spec/graphql/resolvers/boards/epic_lists_resolvers_spec.rb343ee/spec/services/security/store_scans_service_spec.rb344ee/spec/finders/geo/lfs_object_registry_finder_spec.rb345ee/spec/graphql/resolvers/geo/lfs_object_registries_resolver_spec.rb346ee/spec/models/ee/notification_setting_spec.rb347ee/spec/lib/gitlab/insights/reducers/label_count_per_period_reducer_spec.rb348ee/spec/graphql/resolvers/app_sec/dast/profile_resolver_spec.rb349ee/spec/lib/ee/gitlab/hook_data/user_builder_spec.rb350ee/spec/finders/ee/clusters/agents_finder_spec.rb351ee/spec/services/geo/repository_registry_removal_service_spec.rb352ee/spec/models/ee/namespace_statistics_spec.rb353ee/spec/lib/gitlab/tree_summary_spec.rb354ee/spec/services/epics/related_epic_links/list_service_spec.rb355ee/spec/serializers/linked_feature_flag_issue_entity_spec.rb356ee/spec/elastic/migrate/20210910094600_add_namespace_ancestry_ids_to_issues_mapping_spec.rb357ee/spec/policies/approval_state_policy_spec.rb358ee/spec/graphql/types/vulnerability_evidence_supporting_message_type_spec.rb359ee/spec/graphql/mutations/boards/epic_boards/update_spec.rb360ee/spec/views/registrations/welcome/continuous_onboarding_getting_started.html.haml_spec.rb361ee/spec/serializers/license_entity_spec.rb362ee/spec/views/projects/_merge_request_status_checks_settings.html.haml_spec.rb363ee/spec/views/layouts/header/_read_only_banner.html.haml_spec.rb364ee/spec/graphql/mutations/incident_management/oncall_schedule/destroy_spec.rb365ee/spec/lib/gitlab/ci/config/entry/job_spec.rb366ee/spec/models/remote_mirror_spec.rb367ee/spec/lib/system_check/geo/http_clone_enabled_check_spec.rb368ee/spec/policies/approval_project_rule_policy_spec.rb369ee/spec/lib/ee/event_filter_spec.rb370ee/spec/views/trial_registrations/new.html.haml_spec.rb371ee/spec/models/vulnerabilities/finding/evidence_spec.rb372ee/spec/lib/sidebars/projects/menus/trial_experiment_menu_spec.rb373ee/spec/models/ee/resource_state_event_spec.rb374ee/spec/models/ee/namespace_ci_cd_setting_spec.rb375ee/spec/services/gitlab_subscriptions/fetch_subscription_plans_service_spec.rb376ee/spec/views/devise/sessions/new.html.haml_spec.rb377ee/spec/serializers/fork_namespace_entity_spec.rb378ee/spec/models/user_permission_export_upload_spec.rb379ee/spec/graphql/types/iterations/cadence_type_spec.rb380ee/spec/lib/api/entities/pending_member_spec.rb381ee/spec/workers/elastic_cluster_reindexing_cron_worker_spec.rb382ee/spec/views/shared/_kerberos_clone_button.html.haml_spec.rb383ee/spec/lib/system_check/rake_task/geo_task_spec.rb384ee/spec/workers/security/sync_scan_policies_worker_spec.rb385ee/spec/serializers/vulnerabilities/scanner_entity_spec.rb386ee/spec/finders/analytics/devops_adoption/snapshots_finder_spec.rb387ee/spec/lib/gitlab/slash_commands/presenters/issue_show_spec.rb388ee/spec/graphql/types/ci/minutes/namespace_monthly_usage_type_spec.rb389ee/spec/lib/elastic/latest/issue_config_spec.rb390ee/spec/graphql/types/security_orchestration/security_policy_source_type_spec.rb391ee/spec/lib/ee/api/entities/scim/error_spec.rb392ee/spec/lib/banzai/issuable_extractor_spec.rb393ee/spec/lib/gitlab/auth/saml/config_spec.rb394ee/spec/services/ee/two_factor/destroy_service_spec.rb395ee/spec/graphql/types/vulnerability_grade_enum_spec.rb396ee/spec/lib/gitlab/import_export/group/group_and_descendants_repo_saver_spec.rb397ee/spec/lib/ee/gitlab/tracking_spec.rb398ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/build_type_metric_spec.rb399ee/spec/graphql/types/vulnerability_details/code_type_spec.rb400ee/spec/lib/api/entities/protected_environments/deploy_access_level_spec.rb401ee/spec/lib/ee/bulk_imports/groups/stage_spec.rb402ee/spec/helpers/prevent_forking_helper_spec.rb403ee/spec/lib/api/entities/merge_request_approval_setting_spec.rb404ee/spec/graphql/types/permission_types/epic_spec.rb405ee/spec/services/incident_management/oncall_rotations/remove_participants_service_spec.rb406Filter specs:407Running specs:408Running all node tests without filter409ee/spec/services/ee/notification_service_spec.rb410ee/spec/services/quick_actions/interpret_service_spec.rb411ee/spec/models/boards/epic_board_position_spec.rb412ee/spec/lib/ee/gitlab/middleware/read_only_spec.rb413ee/spec/models/ee/iteration_spec.rb414ee/spec/policies/environment_policy_spec.rb415ee/spec/models/merge_train_spec.rb416ee/spec/lib/gitlab/analytics/type_of_work/tasks_by_type_spec.rb417ee/spec/policies/epic_policy_spec.rb418ee/spec/lib/gitlab/ci/templates/sast_gitlab_ci_yaml_spec.rb419ee/spec/replicators/geo/terraform_state_version_replicator_spec.rb420ee/spec/workers/namespaces/free_user_cap/remediation_worker_spec.rb421ee/spec/models/concerns/elastic/merge_request_spec.rb422ee/spec/models/ee/namespace/root_storage_size_spec.rb423ee/spec/lib/analytics/devops_adoption/snapshot_calculator_spec.rb424ee/spec/services/approval_rules/params_filtering_service_spec.rb425ee/spec/lib/gitlab/geo_spec.rb426ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb427ee/spec/lib/ee/gitlab/background_migration/drop_invalid_remediations_spec.rb428ee/spec/models/approval_merge_request_rule_spec.rb429ee/spec/services/ee/members/destroy_service_spec.rb430ee/spec/lib/gitlab/licenses/submit_license_usage_data_banner_spec.rb431ee/spec/services/merge_trains/refresh_merge_request_service_spec.rb432ee/spec/services/iterations/delete_service_spec.rb433ee/spec/services/ee/users/destroy_service_spec.rb434ee/spec/lib/gitlab/ci/reports/license_scanning/license_spec.rb435ee/spec/models/visible_approvable_spec.rb436ee/spec/services/security/security_orchestration_policies/create_pipeline_service_spec.rb437ee/spec/services/wiki_pages/update_service_spec.rb438ee/spec/services/boards/epics/list_service_spec.rb439ee/spec/workers/elastic_namespace_indexer_worker_spec.rb440ee/spec/helpers/boards_helper_spec.rb441ee/spec/models/ee/personal_access_token_spec.rb442ee/spec/serializers/member_entity_spec.rb443ee/spec/services/ee/incident_management/issuable_escalation_statuses/after_update_service_spec.rb444ee/spec/services/security/ingestion/tasks/ingest_remediations_spec.rb445ee/spec/graphql/mutations/projects/set_locked_spec.rb446ee/spec/helpers/ee/trial_helper_spec.rb447ee/spec/lib/ee/gitlab/group_search_results_spec.rb448ee/spec/workers/geo/project_sync_worker_spec.rb449ee/spec/services/dashboard/projects/create_service_spec.rb450ee/spec/lib/gitlab/auth/group_saml/session_enforcer_spec.rb451ee/spec/services/iterations/create_service_spec.rb452ee/spec/services/epics/create_service_spec.rb453ee/spec/services/app_sec/dast/site_profiles/destroy_service_spec.rb454ee/spec/policies/vulnerabilities/export_policy_spec.rb455ee/spec/lib/ee/gitlab/auth/ldap/sync/proxy_spec.rb456ee/spec/graphql/mutations/issues/set_assignees_spec.rb457ee/spec/services/deployments/auto_rollback_service_spec.rb458ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_check_progress_spec.rb459ee/spec/services/ci/process_pipeline_service_spec.rb460ee/spec/models/issue_link_spec.rb461ee/spec/finders/ee/projects_finder_spec.rb462ee/spec/workers/project_import_schedule_worker_spec.rb463ee/spec/services/ci/runners/register_runner_service_spec.rb464ee/spec/policies/dast/profile_policy_spec.rb465ee/spec/services/projects/group_links/destroy_service_spec.rb466ee/spec/serializers/dependency_list_entity_spec.rb467ee/spec/lib/gitlab/graphql/aggregations/vulnerabilities/lazy_user_notes_count_aggregate_spec.rb468ee/spec/lib/ee/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb469ee/spec/lib/gitlab/elastic/client_spec.rb470ee/spec/finders/geo/design_registry_finder_spec.rb471ee/spec/services/epic_issues/update_service_spec.rb472ee/spec/graphql/mutations/issues/promote_to_epic_spec.rb473ee/spec/views/shared/billings/_trial_status.html.haml_spec.rb474ee/spec/lib/gitlab/geo/replication/blob_retriever_spec.rb475ee/spec/workers/ee/namespaces/in_product_marketing_emails_worker_spec.rb476ee/spec/models/slack_integration_spec.rb477ee/spec/workers/ci/batch_reset_minutes_worker_spec.rb478ee/spec/services/incident_management/escalation_policies/create_service_spec.rb479ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_label_added_spec.rb480ee/spec/lib/gitlab/ci/pipeline/chain/limit/activity_spec.rb481ee/spec/workers/ee/ci/build_finished_worker_spec.rb482ee/spec/models/approval_wrapped_code_owner_rule_spec.rb483ee/spec/models/iteration_note_spec.rb484ee/spec/policies/dast_site_profile_policy_spec.rb485ee/spec/graphql/types/vulnerability_request_type_spec.rb486ee/spec/serializers/ee/issue_sidebar_extras_entity_spec.rb487ee/spec/services/incident_management/oncall_schedules/create_service_spec.rb488ee/spec/workers/active_user_count_threshold_worker_spec.rb489ee/spec/services/iterations/cadences/create_service_spec.rb490ee/spec/helpers/ee/namespace_user_cap_reached_alert_helper_spec.rb491ee/spec/finders/geo/snippet_repository_registry_finder_spec.rb492ee/spec/lib/gitlab/reference_extractor_spec.rb493ee/spec/services/projects/after_rename_service_spec.rb494ee/spec/views/groups/settings/_remove.html.haml_spec.rb495ee/spec/serializers/ee/note_entity_spec.rb496ee/spec/services/incident_management/oncall_shifts/read_service_spec.rb497ee/spec/services/boards/epic_lists/destroy_service_spec.rb498ee/spec/policies/vulnerabilities/scanner_policy_spec.rb499ee/spec/presenters/group_clusterable_presenter_spec.rb500ee/spec/policies/issue_policy_spec.rb501ee/spec/models/compliance_management/compliance_framework/project_settings_spec.rb502ee/spec/lib/gitlab/graphql/loaders/oncall_participant_loader_spec.rb503ee/spec/finders/incident_management/escalation_rules_finder_spec.rb504ee/spec/graphql/resolvers/ci/code_coverage_summary_resolver_spec.rb505ee/spec/lib/ee/api/entities/vulnerability_spec.rb506ee/spec/services/alert_management/extract_alert_payload_fields_service_spec.rb507ee/spec/services/geo/node_status_request_service_spec.rb508ee/spec/serializers/ee/issue_board_entity_spec.rb509ee/spec/services/merge_requests/mergeability/check_denied_policies_service_spec.rb510ee/spec/graphql/resolvers/boards/epic_lists_resolvers_spec.rb511ee/spec/services/security/store_scans_service_spec.rb512ee/spec/finders/geo/lfs_object_registry_finder_spec.rb513ee/spec/graphql/resolvers/geo/lfs_object_registries_resolver_spec.rb514ee/spec/models/ee/notification_setting_spec.rb515ee/spec/lib/gitlab/insights/reducers/label_count_per_period_reducer_spec.rb516ee/spec/graphql/resolvers/app_sec/dast/profile_resolver_spec.rb517ee/spec/lib/ee/gitlab/hook_data/user_builder_spec.rb518ee/spec/finders/ee/clusters/agents_finder_spec.rb519ee/spec/services/geo/repository_registry_removal_service_spec.rb520ee/spec/models/ee/namespace_statistics_spec.rb521ee/spec/lib/gitlab/tree_summary_spec.rb522ee/spec/services/epics/related_epic_links/list_service_spec.rb523ee/spec/serializers/linked_feature_flag_issue_entity_spec.rb524ee/spec/elastic/migrate/20210910094600_add_namespace_ancestry_ids_to_issues_mapping_spec.rb525ee/spec/policies/approval_state_policy_spec.rbKnapsack report generator started!526DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.1.4.7/lib/active_record/connection_adapters/postgresql_adapter.rb:78: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call527/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/pg-1.3.5/lib/pg.rb:68: warning: The called method `connect' is defined here528 (called from new_client at /builds/gitlab-org/gitlab/config/initializers/00_connection_logger.rb:21)529Run options: exclude {:quarantine=>true, :level=>"migration"}530Test environment set up in 0.545096911 seconds531EE::NotificationService532 new review533 sends emails534 behaves like project emails are disabled535 sends no emails with project emails disabled536 sends emails to someone537 mirror hard failed538 when the project has invited members539 sends email540 behaves like project emails are disabled541 sends no emails with project emails disabled542 sends emails to someone543 when user is owner544 sends email545 behaves like project emails are disabled546 sends no emails with project emails disabled547 sends emails to someone548 when owner is blocked549 does not send email550 when project belongs to group551 does not send email to the blocked owner552 when user is maintainer553 sends email554 when user is not owner nor maintainer555 does not send email556 when user is group owner557 sends email558 when user is group maintainer559 sends email560 mirror was disabled561 when the project has invited members562 sends email563 behaves like project emails are disabled564 sends no emails with project emails disabled565 sends emails to someone566 when user is owner567 sends email568 behaves like project emails are disabled569 sends no emails with project emails disabled570 sends emails to someone571 when owner is blocked572 does not send email573 when project belongs to group574 does not send email to the blocked owner575 when user is maintainer576 sends email577 when user is not owner nor maintainer578 does not send email579 when user is group owner580 sends email581 when user is group maintainer582 sends email583 mirror user changed584 sends email585 behaves like project emails are disabled586 sends no emails with project emails disabled587 sends emails to someone588 issues589 #removed_iteration_issue591 behaves like altered iteration notification on issue592 sends the email to the correct people593 behaves like project emails are disabled594 sends no emails with project emails disabled595 sends emails to someone596 confidential issues597 emails subscribers of the issue's iteration that can read the issue598 #changed_iteration_issue600 behaves like altered iteration notification on issue601 sends the email to the correct people602 behaves like project emails are disabled603 sends no emails with project emails disabled604 sends emails to someone605 confidential issues606 emails subscribers of the issue's iteration that can read the issue607 epics608 epic notes609 #new_note610 is expected to have header X-GitLab-NotificationReason:611 behaves like group emails are disabled612 sends no emails with group emails disabled613 sends emails to someone614 close epic615 sends notification to watcher when no user participates616 sends notification to watcher and a participator617 behaves like group emails are disabled618 sends no emails with group emails disabled619 sends emails to someone620 reopen epic621 sends notification to watcher when no user participates622 sends notification to watcher and a participator623 behaves like group emails are disabled624 sends no emails with group emails disabled625 sends emails to someone626 new epic627 sends notification to watcher when no user participates628 sends notification to watcher and a participator629 behaves like group emails are disabled630 sends no emails with group emails disabled631 sends emails to someone632 when author is not confirmed633 does not send any notification634 when author is blocked635 does not send any notification636 when author is a ghost637 does not send any notification638 Merge Requests639 #new_merge_request640 emails all assignees641 behaves like project emails are disabled642 sends no emails with project emails disabled643 sends emails to someone644 when the target project has approvers set645 does not email the approvers646 does not email the approvers when approval is not necessary647 behaves like project emails are disabled648 sends no emails with project emails disabled649 sends emails to someone650 when the merge request has approvers set651 does not email the MR approvers652 does not email approvers set on the project who are not approvers of this MR653 behaves like project emails are disabled654 sends no emails with project emails disabled655 sends emails to someone656 Members657 #new_group_member_with_confirmation658 sends a notification659 IncidentManagement660 #notify_oncall_users_of_alert661 sends an email to the specified users662 tracks a count of unique recipients663 #oncall_user_removed664 sends an email to the owner and participants665 sends the email inline when async = false666 #user_escalation_rule_deleted667 immediately sends an email to the project owner668 when project owner is the removed user669 does not send an email670 with a group671 immediately sends an email to the eligable project owners672 #pipeline_finished673 with a failed pipeline674 sends account activation email675 when feature flag is disabled676 does not send account activation email677 when not in dev env or gitlab.com678 does not send account activation email679 when user is not opted in to marketing emails680 does not send account activation email681 when failure reason is not user_not_verified682 does not send account activation email683 when user account is validated684 does not send account activation email685 when user cannot receive notifications686 does not send account activation email687QuickActions::InterpretService688 #execute689 assign command690 Issue691 fetches assignees and populates them if content contains /assign692 with test_case issue type693 does not mark to update assignee694 assign command with multiple assignees695 fetches assignee and populates assignee_ids if content contains /assign696 Merge Request697 fetches assignees and populates them if content contains /assign698 assign command with a group of users699 ignores group members700 assign command with multiple assignees701 fetches assignee and populates assignee_ids if content contains /assign702 unlicensed703 does not recognize /assign with multiple user references704 assign_reviewer command705 with a merge request706 fetches reviewers and populates them if content contains /assign_reviewer707 assign command with multiple reviewers708 assigns multiple reviewers while respecting previous assignments709 unassign_reviewer command710 unassign_reviewer command with multiple assignees711 unassigns both reviewers if content contains /unassign_reviewer @user @user1712 does not unassign reviewers if the content cannot be parsed713 unassign command714 Issue715 unassigns user if content contains /unassign @user716 unassigns both users if content contains /unassign @user @user1717 unassigns all the users if content contains /unassign718 does not apply command if the argument cannot be parsed719 with a Merge Request720 unassigns user if content contains /unassign @user721 applying unassign command with multiple assignees722 unassigns both users if content contains /unassign @user @user1723 when unlicensed724 does not recognize /unassign @user725 reassign command726 Merge Request727 reassigns user if content contains /reassign @user728 unlicensed729 does not recognize /reassign @user730 Issue731 reassigns user if content contains /reassign @user732 unlicensed733 does not recognize /reassign @user734 with test_case issue type735 does not mark to update assignee736 reassign_reviewer command737 reassigns reviewer if content contains /reassign_reviewer @user738 unlicensed739 does not recognize /reassign_reviewer @user740 iteration command741 when iterations are enabled742 when iteration exists743 with permissions744 assigns an iteration to an issue745 when iteration is started746 assigns an iteration to an issue747 when the user does not have enough permissions748 returns an error message749 when iteration does not exist750 returns empty message751 when iterations are disabled752 does not recognize /iteration753 when issuable does not support iterations754 does not assign an iteration to an incident755 remove_iteration command756 when iterations are enabled757 removes an assigned iteration from an issue758 when the user does not have enough permissions759 returns an error message760 when iterations are disabled761 does not recognize /remove_iteration762 when issuable does not support iterations763 does not assign an iteration to an incident764 epic command765 when epics are enabled766 when epic exists767 assigns an issue to an epic768 when an issue belongs to a project without group769 does not assign an issue to an epic770 when issue is already added to epic771 returns error message772 when issuable does not support epics773 does not assign an incident to an epic774 when epic does not exist775 does not assign an issue to an epic776 when user has no permissions to read epic777 does not assign an issue to an epic778 when epics are disabled779 does not recognize /epic780 parent_epic command781 behaves like adds quick action parameter782 adds parameter to updates array783 when target epic is not persisted yet784 behaves like adds quick action parameter785 adds parameter to updates array786 child_epic command787 when subepics are enabled788 when a user does not have permissions to add epic relations789 behaves like does not add quick action parameter790 does not add parameter to updates array791 behaves like quick action is unavailable792 does not recognize action793 when a user has permissions to add epic relations794 behaves like adds quick action parameter795 adds parameter to updates array796 behaves like quick action is available797 does recognize action798 behaves like quick action is unavailable799 does not recognize action800 behaves like quick action is unavailable801 does not recognize action802 when target epic is not persisted yet803 behaves like adds quick action parameter804 adds parameter to updates array805 when passed child epic is nil806 does not raise error807 behaves like does not add quick action parameter808 does not add parameter to updates array809 when child_epic is already linked to an epic810 behaves like quick action is available811 does recognize action812 when child epic is in a subgroup of parent epic813 behaves like quick action is available814 does recognize action815 when child epic is in a parent group of the parent epic816 behaves like quick action is available817 does recognize action818 when child epic is in a different group than parent epic819 behaves like quick action is available820 does recognize action821 when epics are disabled822 behaves like does not add quick action parameter823 does not add parameter to updates array824 behaves like quick action is unavailable825 does not recognize action826 remove_child_epic command827 when subepics are enabled828 when a user does not have permissions to remove epic relations829 does not remove child_epic from epic830 behaves like epic relation is not removed831 does not remove child_epic from epic832 behaves like quick action is unavailable833 does not recognize action834 when a user has permissions to remove epic relations835 behaves like quick action is available836 does recognize action837 behaves like quick action is unavailable838 does not recognize action839 behaves like quick action is unavailable840 does not recognize action841 when target epic is not persisted yet842 behaves like quick action is unavailable843 does not recognize action844 behaves like epic relation is removed845 does not remove child_epic from epic846 when trying to remove child epic from a different epic847 behaves like epic relation is not removed848 does not remove child_epic from epic849 when child epic is in a subgroup of parent epic850 behaves like epic relation is removed851 does not remove child_epic from epic852 behaves like quick action is available853 does recognize action854 when child and parent epics are in different groups855 when child epic is in a parent group of the parent epic856 behaves like epic relation is removed857 does not remove child_epic from epic858 behaves like quick action is available859 does recognize action860 when child epic is in a different group than parent epic861 behaves like epic relation is removed862 does not remove child_epic from epic863 behaves like quick action is available864 does recognize action865 when subepics are disabled866 behaves like epic relation is not removed867 does not remove child_epic from epic868 behaves like quick action is unavailable869 does not recognize action870 label command for epics871 when epics are enabled872 when a user has permissions to label an epic873 populates valid label ids874 when a user does not have permissions to label an epic875 does not populate any labels876 when epics are disabled877 does not populate any labels878 remove_epic command879 when epics are disabled880 does not recognize /remove_epic881 when subepics are enabled882 unassigns an issue from an epic883 when issuable does not support epics884 does not recognize /remove_epic885 issuable weights licensed886 weight887 behaves like weight command888 populates weight specified by the /weight command889 behaves like weight command890 populates weight specified by the /weight command891 when weight is negative892 does not populate weight893 clear_weight894 behaves like clear weight command895 populates weight: nil if content contains /clear_weight896 issuable weights unlicensed897 does not recognise /weight X898 does not recognise /clear_weight899 issuable weights not supported by type900 does not recognise /weight X901 does not recognise /clear_weight902 issuable health statuses licensed903 health_status904 behaves like health_status command905 populates health_status specified by the /health_status command906 behaves like health_status command907 populates health_status specified by the /health_status command908 when health_status is invalid909 does not populate health_status910 when the user does not have enough permissions911 returns an error message912 clear_health_status913 behaves like clear_health_status command914 populates health_status: nil if content contains /clear_health_status915 when the user does not have enough permissions916 returns an error message917 issuable health_status unlicensed918 does not recognise /health_status X919 does not recognise /clear_health_status920 issuable health_status not supported by type921 does not recognise /health_status X922 does not recognise /clear_health_status923 not persisted merge request can not be merged924 behaves like empty command925 populates {} if content contains an unsupported command926 not approved merge request can not be merged927 behaves like empty command928 populates {} if content contains an unsupported command929 when the merge request is not approved930 behaves like failed command931 populates {} if content contains an unsupported command932 returns Could not apply merge command. message933 when the merge request is blocked934 behaves like failed command935 populates {} if content contains an unsupported command936 returns Could not apply merge command. message937 when merge request has denied policies938 behaves like failed command939 populates {} if content contains an unsupported command940 returns Could not apply merge command. message941 approved merge request can be merged942 behaves like empty command943 populates {} if content contains an unsupported command944 confidential command945 for test cases946 does mark to update confidential attribute947 attention command948 with multiple users949Skipping ./ee/spec/services/quick_actions/interpret_service_spec.rb[1:1:28:1:1] 'QuickActions::InterpretService#execute attention command with multiple users updates reviewers attention status' because it's flaky.950 updates reviewers attention status (PENDING: around hook at ./spec/support/flaky_tests.rb:21 did not execute the example)951 remove attention command952 with multiple users953 updates reviewers attention status954 #explain955 health_status command956 issuable health statuses licensed957 includes the value958 unassign command959 includes all assignees' references960 unassign command with assignee references961 includes only selected assignee references962 weight command963 includes the number964 epic commands965 child_epic command966 behaves like returns execution messages967 when correct epic reference968 returns explain message with epic reference969 returns successful execution message970 when epic reference is wrong971 returns empty explain message972 when epic is already a child epic973 behaves like epics are already related974 returns unsuccessful execution message975 when epic is the parent epic976 behaves like epics are already related977 returns unsuccessful execution message978 when epic does not exist979 behaves like target epic does not exist980 returns unsuccessful execution message981 when user has no permission to read epic982 behaves like without permissions for action983 returns unsuccessful execution message984 remove_child_epic command985 when correct epic reference986 returns explain message with epic reference987 returns successful execution message988 when epic reference is wrong989 returns empty explain message990 when child epic does not exist991 returns unsuccessful execution message992 parent_epic command993 behaves like returns execution messages994 when correct epic reference995 returns explain message with epic reference996 returns successful execution message997 when epic reference is wrong998 returns empty explain message999 when epic is already a parent epic1000 behaves like epics are already related1001 returns unsuccessful execution message1002 when epic is a an existing child epic1003 behaves like epics are already related1004 returns unsuccessful execution message1005 when epic does not exist1006 behaves like target epic does not exist1007 returns unsuccessful execution message1008 when user has no permission to read epic1009 behaves like without permissions for action1010 returns unsuccessful execution message1011 remove_parent_epic command1012 when parent is present1013 returns explain message with epic reference1014 returns successful execution message1015 when target epic is not persisted yet1016 behaves like quick action is unavailable1017 does not recognize action1018 when parent is not present1019 returns empty explain message1020 returns unsuccessful execution message1021Boards::EpicBoardPosition1022 associations1023 is expected to belong to epic required: true1024 is expected to belong to epic_board required: true inverse_of => epic_board_positions1025 validations1026 is expected to be valid1027 is valid with nil relative position1028 disallows a record with same epic and board1029 scopes1030 .order_relative_position1031 returns epic_board_positions in order1032 .last_for_board_id1033 returns highest not null position1034 relative positioning1035 behaves like a class that supports relative positioning1036 #scoped_items1037 includes all items with the same scope1038 #relative_siblings1039 includes all items with the same scope, except self1040 .move_nulls_to_end1041 moves items with null relative_position to the end1042 preserves relative position1043 moves the item near the start position when there are no existing positions1044 does not perform any moves if all items have their relative_position set1045 manages to move nulls to the end even if there is a sequence at the end1046 manages to move nulls to the end even if there is not enough space1047 manages to move nulls to the end, stacking if we cannot create enough space1048 manages to move nulls found in the relative scope1049 can move many nulls1050 does not have an N+1 issue1051 .move_nulls_to_start1052 moves items with null relative_position to the start1053 moves the item near the start position when there are no existing positions1054 preserves relative position1055 does not perform any moves if all items have their relative_position set1056 manages to move nulls to the start even if there is not enough space1057 manages to move nulls to the end, stacking if we cannot create enough space1058 #move_before1059 moves item before1060 can move the item before an item at the start1061 can move the item before an item at MIN_POSITION1062 can move the item before an item bunched up at MIN_POSITION1063 when there is no space1064 moves items correctly1065 leap-frogging to the left1066 can leap-frog STEPS times before needing to rebalance1067 there is no space to the left after moving STEPS times1068 rebalances to the right1069 #move_after1070 moves item after1071 can move the item after an item bunched up at MAX_POSITION1072 when there is no space1073 can move the item after an item at MAX_POSITION1074 moves items correctly1075 leap-frogging1076 rebalances after STEPS jumps1077 #move_to_start1078 places items at most IDEAL_DISTANCE from the start when the range is open1079 moves item to the end1080 positions the item at MIN_POSITION when there is only one space left1081 rebalances when there is already an item at the MIN_POSITION1082 deals with a run of elements at the start1083 #move_to_end1084 places items at most IDEAL_DISTANCE from the start when the range is open1085 moves item to the end1086 positions the item at MAX_POSITION when there is only one space left1087 rebalances when there is already an item at the MAX_POSITION1088 deals with a run of elements at the end1089 #move_between1090 positions item between two other1091 positions item between on top1092 positions item between to end1093 positions items even when after and before positions are the same1094 positions item in the middle of other two if distance is big enough1095 positions item closer to the middle if we are at the very top1096 positions item closer to the middle if we are at the very bottom1097 positions item in the middle of other two1098 positions item right if we pass non-sequential parameters1099 avoids N+1 queries when rebalancing other items1100 the two items are next to each other1101 behaves like moves item between1102 moves the middle item to between left and right1103 there is no space1104 behaves like moves item between1105 moves the middle item to between left and right1106 there is a bunch of items1107 handles bunches correctly1108 behaves like moves item between1109 moves the middle item to between left and right1110Gitlab::Middleware::ReadOnly1111 when maintenance mode is on1112 behaves like write access for a read-only GitLab (EE) instance in maintenance mode1113 normal requests to a read-only GitLab instance1114 expects a PUT request to /api/v4/application/settings to be allowed1115 expects a POST request to /admin/application_settings/general to be allowed1116 behaves like allowlisted /admin/geo requests1117 allowlisted requests1118 behaves like allowlisted request1119 expects a PATCH request to /admin/geo/sites/1 to be allowed1120 behaves like allowlisted request1121 expects a DELETE request to /admin/geo/replication/projects/1 to be allowed1122 behaves like allowlisted request1123 expects a POST request to /admin/geo/replication/projects/1/resync to be allowed1124 behaves like allowlisted request1125 expects a POST request to /admin/geo/replication/projects/1/reverify to be allowed1126 behaves like allowlisted request1127 expects a POST request to /admin/geo/replication/projects/reverify_all to be allowed1128 behaves like allowlisted request1129 expects a POST request to /admin/geo/replication/projects/resync_all to be allowed1130 behaves like allowlisted request1131 expects a POST request to /admin/geo/replication/projects/1/force_redownload to be allowed1132 without Geo enabled1133 behaves like LFS changes are disallowed1134 description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify"1135 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL not to be allowed1136 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL with trailing backslash not to be allowed1137 description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks"1138 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL not to be allowed1139 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL with trailing backslash not to be allowed1140 description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock"1141 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL not to be allowed1142 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL with trailing backslash not to be allowed1143 behaves like sign in/out and OAuth are allowed1144 description: "sign in route", path: "/users/sign_in"1145 expects a POST to description: "sign in route", path: "/users/sign_in" URL to be allowed1146 expects a POST to description: "sign in route", path: "/users/sign_in" URL with trailing slash to be allowed1147 description: "sign out route", path: "/users/sign_out"1148 expects a POST to description: "sign out route", path: "/users/sign_out" URL to be allowed1149 expects a POST to description: "sign out route", path: "/users/sign_out" URL with trailing slash to be allowed1150 description: "oauth token route", path: "/oauth/token"1151 expects a POST to description: "oauth token route", path: "/oauth/token" URL to be allowed1152 expects a POST to description: "oauth token route", path: "/oauth/token" URL with trailing slash to be allowed1153 description: "SSO callback route", path: "/users/auth/gitlab/callback"1154 expects a POST to description: "SSO callback route", path: "/users/auth/gitlab/callback" URL to be allowed1155 expects a POST to description: "SSO callback route", path: "/users/auth/gitlab/callback" URL with trailing slash to be allowed1156 description: "LDAP callback route", path: "/users/auth/ldapmain/callback"1157 expects a POST to description: "LDAP callback route", path: "/users/auth/ldapmain/callback" URL to be allowed1158 expects a POST to description: "LDAP callback route", path: "/users/auth/ldapmain/callback" URL with trailing slash to be allowed1159 description: "SAML regular route", path: "/users/auth/saml"1160 expects a POST to description: "SAML regular route", path: "/users/auth/saml" URL to be allowed1161 expects a POST to description: "SAML regular route", path: "/users/auth/saml" URL with trailing slash to be allowed1162 on Geo primary1163 allows Geo node status updates from Geo secondaries1164 behaves like LFS changes are disallowed1165 description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify"1166 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL not to be allowed1167 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL with trailing backslash not to be allowed1168 description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks"1169 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL not to be allowed1170 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL with trailing backslash not to be allowed1171 description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock"1172 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL not to be allowed1173 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL with trailing backslash not to be allowed1174 behaves like sign in/out and OAuth are allowed1175 description: "sign in route", path: "/users/sign_in"1176 expects a POST to description: "sign in route", path: "/users/sign_in" URL to be allowed1177 expects a POST to description: "sign in route", path: "/users/sign_in" URL with trailing slash to be allowed1178 description: "sign out route", path: "/users/sign_out"1179 expects a POST to description: "sign out route", path: "/users/sign_out" URL to be allowed1180 expects a POST to description: "sign out route", path: "/users/sign_out" URL with trailing slash to be allowed1181 description: "oauth token route", path: "/oauth/token"1182 expects a POST to description: "oauth token route", path: "/oauth/token" URL to be allowed1183 expects a POST to description: "oauth token route", path: "/oauth/token" URL with trailing slash to be allowed1184 description: "SSO callback route", path: "/users/auth/gitlab/callback"1185 expects a POST to description: "SSO callback route", path: "/users/auth/gitlab/callback" URL to be allowed1186 expects a POST to description: "SSO callback route", path: "/users/auth/gitlab/callback" URL with trailing slash to be allowed1187 description: "LDAP callback route", path: "/users/auth/ldapmain/callback"1188 expects a POST to description: "LDAP callback route", path: "/users/auth/ldapmain/callback" URL to be allowed1189 expects a POST to description: "LDAP callback route", path: "/users/auth/ldapmain/callback" URL with trailing slash to be allowed1190 description: "SAML regular route", path: "/users/auth/saml"1191 expects a POST to description: "SAML regular route", path: "/users/auth/saml" URL to be allowed1192 expects a POST to description: "SAML regular route", path: "/users/auth/saml" URL with trailing slash to be allowed1193 on Geo secondary1194 expects a PUT request to /api/v4/application/settings to not be allowed1195 allows Geo POST GraphQL requests1196 description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch"1197 expects a POST description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch" URL to be allowed1198 expects a POST description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch" URL with trailing slash to be allowed1199 description: "to geo replication node api", path: "/api/v4/geo_replication/designs/resync"1200 expects a POST description: "to geo replication node api", path: "/api/v4/geo_replication/designs/resync" URL to be allowed1201 expects a POST description: "to geo replication node api", path: "/api/v4/geo_replication/designs/resync" URL with trailing slash to be allowed1202 description: "Geo sign in", path: "/users/auth/geo/sign_in"1203 expects a POST description: "Geo sign in", path: "/users/auth/geo/sign_in" URL to be allowed1204 expects a POST description: "Geo sign in", path: "/users/auth/geo/sign_in" URL with trailing slash to be allowed1205 description: "Geo sign out", path: "/users/auth/geo/sign_out"1206 expects a POST description: "Geo sign out", path: "/users/auth/geo/sign_out" URL to be allowed1207 expects a POST description: "Geo sign out", path: "/users/auth/geo/sign_out" URL with trailing slash to be allowed1208 description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify"1209 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL to not be allowed1210 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL with traling slash to not be allowed1211 description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks"1212 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL to not be allowed1213 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL with traling slash to not be allowed1214 description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock"1215 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL to not be allowed1216 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL with traling slash to not be allowed1217 description: "git-receive-pack", path: "/root/rouge.git/git-receive-pack"1218 expects a POST description: "git-receive-pack", path: "/root/rouge.git/git-receive-pack" URL to not be allowed1219 expects a POST description: "git-receive-pack", path: "/root/rouge.git/git-receive-pack" URL with traling slash to not be allowed1220 description: "application settings", path: "/admin/application_settings/general"1221 expects a POST description: "application settings", path: "/admin/application_settings/general" URL to not be allowed1222 expects a POST description: "application settings", path: "/admin/application_settings/general" URL with traling slash to not be allowed1223 when maintenance mode is not on1224 behaves like write access for a read-only GitLab (EE) instance1225 normal requests to a read-only GitLab instance1226 behaves like allowlisted /admin/geo requests1227 allowlisted requests1228 behaves like allowlisted request1229 expects a PATCH request to /admin/geo/sites/1 to be allowed1230 behaves like allowlisted request1231 expects a DELETE request to /admin/geo/replication/projects/1 to be allowed1232 behaves like allowlisted request1233 expects a POST request to /admin/geo/replication/projects/1/resync to be allowed1234 behaves like allowlisted request1235 expects a POST request to /admin/geo/replication/projects/1/reverify to be allowed1236 behaves like allowlisted request1237 expects a POST request to /admin/geo/replication/projects/reverify_all to be allowed1238 behaves like allowlisted request1239 expects a POST request to /admin/geo/replication/projects/resync_all to be allowed1240 behaves like allowlisted request1241 expects a POST request to /admin/geo/replication/projects/1/force_redownload to be allowed1242 on Geo secondary1243 description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch"1244 expects a POST description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch" URL to be allowed1245 expects a POST description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch" URL with a trailing slash to be allowed1246 description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify"1247 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL to be allowed1248 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL with a trailing slash to be allowed1249 description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks"1250 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL to be allowed1251 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL with a trailing slash to be allowed1252 description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock"1253 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL to be allowed1254 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL with a trailing slash to be allowed1255 description: "to geo replication node api", path: "/api/v4/geo_replication/designs/resync"1256 expects a POST description: "to geo replication node api", path: "/api/v4/geo_replication/designs/resync" URL to be allowed1257 expects a POST description: "to geo replication node api", path: "/api/v4/geo_replication/designs/resync" URL with a trailing slash to be allowed1258 description: "git-receive-pack", path: "/root/rouge.git/git-receive-pack"1259 expects a POST description: "git-receive-pack", path: "/root/rouge.git/git-receive-pack" URL to be allowed1260 expects a POST description: "git-receive-pack", path: "/root/rouge.git/git-receive-pack" URL with a trailing slash to be allowed1261Iteration1262 #iid1263 is properly scoped on project and group1264 #display_text1265 is expected to eq "Sep 30, 2022 - Oct 4, 2022"1266 when iteration_cadences FF enabled1267 is expected to eq "Plan cadence Sep 30, 2022 - Oct 4, 2022"1268 #period1269 is expected to eq "Sep 30, 2022 - Oct 4, 2022"1270 #title1271 updates title to a blank value1272 .reference_pattern1273 when iteration id is provided1274 correctly detects the iteration1275 when iteration name is provided1276 correctly detects the iteration1277 when reference includes tags1278 correctly detects the iteration1279 .filter_by_state1280 filtering by closed iterations1281 behaves like filter_by_state1282 filters by the given state1283 filtering by started iterations1284 behaves like filter_by_state1285 filters by the given state1286 filtering by opened iterations1287 behaves like filter_by_state1288 filters by the given state1289 filtering by upcoming iterations1290 behaves like filter_by_state1291 filters by the given state1292 filtering by "all"1293 behaves like filter_by_state1294 filters by the given state1295 filtering by nonexistent filter1296 raises ArgumentError1297 Validations1298 when iteration belongs to project1299 is invalid1300 #dates_do_not_overlap1301 when no Iteration dates overlap1302 is expected to be valid1303 when updated iteration dates overlap with its own dates1304 is valid1305 when dates overlap1306 group1307 behaves like overlapping dates1308 when start_date overlaps1309 behaves like invalid dates1310 is not valid1311 with iterations_cadences FF disabled1312 is not valid1313 when due_date overlaps1314 behaves like invalid dates1315 is not valid1316 with iterations_cadences FF disabled1317 is not valid1318 when both overlap1319 behaves like invalid dates1320 is not valid1321 with iterations_cadences FF disabled1322 is not valid1323 different group1324 is expected to be valid1325 does not trigger exclusion constraints1326 sub-group1327 is expected to be valid1328 project1329 behaves like overlapping dates1330 when start_date overlaps1331 behaves like invalid dates1332 is not valid (PENDING: Temporarily skipped with xcontext)1333 with iterations_cadences FF disabled1334 is not valid (PENDING: Temporarily skipped with xcontext)1335 when due_date overlaps1336 behaves like invalid dates1337 is not valid (PENDING: Temporarily skipped with xcontext)1338 with iterations_cadences FF disabled1339 is not valid (PENDING: Temporarily skipped with xcontext)1340 when both overlap1341 behaves like invalid dates1342 is not valid (PENDING: Temporarily skipped with xcontext)1343 with iterations_cadences FF disabled1344 is not valid (PENDING: Temporarily skipped with xcontext)1345 different project1346 example at ./ee/spec/models/ee/iteration_spec.rb:304 (PENDING: Temporarily skipped with xcontext)1347 does not trigger exclusion constraints (PENDING: Temporarily skipped with xcontext)1348 in a group1349 example at ./ee/spec/models/ee/iteration_spec.rb:316 (PENDING: Temporarily skipped with xcontext)1350 does not trigger exclusion constraints (PENDING: Temporarily skipped with xcontext)1351 project in a group1352 behaves like overlapping dates1353 when start_date overlaps1354 behaves like invalid dates1355 is not valid (PENDING: Temporarily skipped with xcontext)1356 with iterations_cadences FF disabled1357 is not valid (PENDING: Temporarily skipped with xcontext)1358 when due_date overlaps1359 behaves like invalid dates1360 is not valid (PENDING: Temporarily skipped with xcontext)1361 with iterations_cadences FF disabled1362 is not valid (PENDING: Temporarily skipped with xcontext)1363 when both overlap1364 behaves like invalid dates1365 is not valid (PENDING: Temporarily skipped with xcontext)1366 with iterations_cadences FF disabled1367 is not valid (PENDING: Temporarily skipped with xcontext)1368 #future_date1369 when dates are in the future1370 is expected to be valid1371 when start_date is in the past1372 is expected to be valid1373 when due_date is in the past1374 is expected to be valid1375 when due_date is before start date1376 is not valid1377 when start_date is over 500 years in the future1378 is not valid1379 when due_date is over 500 years in the future1380 is not valid1381 title1382 sanitizes user intput1383 relations1384 deferrable uniqueness constraint on iterations_cadence_id and sequence1385 create1386WARNING: there is no transaction in progress1387 raises an error on creation with a duplicate sequence number within a cadence1388 does not raise an error on creation with a unique sequence number within a cadence1389 update1390WARNING: there is no transaction in progress1391 raises an error on update with a duplicate sequence number within a cadence1392 deferrable exclusion constraint on start_date, due_date and iterations_cadence_id1393 with invalid dates1394 when start_date overlaps1395 behaves like invalid dates raise PG exclusion error1396WARNING: there is no transaction in progress1397 prevents invalid dates with a PG exclusion constraint at the end of a transaction1398 when due_date overlaps1399 behaves like invalid dates raise PG exclusion error1400WARNING: there is no transaction in progress1401 prevents invalid dates with a PG exclusion constraint at the end of a transaction1402 when both overlap1403 behaves like invalid dates raise PG exclusion error1404WARNING: there is no transaction in progress1405 prevents invalid dates with a PG exclusion constraint at the end of a transaction1406 with valid dates1407 can be updated in bulk without triggering the exclusion violation1408 callbacks1409 after_save :update_iteration_sequences1410 updates a new iteration with a correct iteration sequence number1411 when start_date or due_date is not changed after save1412 the callback is not triggered1413 when iterations exist in the cadence1414 creating1415 new_start_date: Mon, 27 Jun 2022 07:11:36.196462035 UTC +00:00, expected_iteration_order: lazy { [new_iteration.id, iteration1.id, iteration2.id] }1416 behaves like sequence numbers are correctly updated1417 triggers sequence number updates1418 new_start_date: Mon, 04 Jul 2022, expected_iteration_order: lazy { [new_iteration.id, iteration1.id, iteration2.id] }1419 behaves like sequence numbers are correctly updated1420 triggers sequence number updates1421 new_start_date: Mon, 18 Jul 2022 07:11:36.196831095 UTC +00:00, expected_iteration_order: lazy { [iteration1.id, new_iteration.id, iteration2.id] }1422 behaves like sequence numbers are correctly updated1423 triggers sequence number updates1424 new_start_date: Mon, 01 Aug 2022 07:11:36.196931435 UTC +00:00, expected_iteration_order: lazy { [iteration1.id, iteration2.id, new_iteration.id] }1425 behaves like sequence numbers are correctly updated1426 triggers sequence number updates1427 updating1428 start_date: Mon, 01 Aug 2022 07:11:36.216595983 UTC +00:00, new_start_date: Mon, 27 Jun 2022 07:11:36.216756353 UTC +00:00, expected_iteration_order: lazy { [target_iteration.id, iteration1.id, iteration2.id] }1429 behaves like sequence numbers are correctly updated1430 triggers sequence number updates1431 start_date: Mon, 18 Jul 2022 07:11:36.216857953 UTC +00:00, new_start_date: Mon, 04 Jul 2022, expected_iteration_order: lazy { [target_iteration.id, iteration1.id, iteration2.id] }1432 behaves like sequence numbers are correctly updated1433 triggers sequence number updates1434 start_date: Mon, 04 Jul 2022, new_start_date: Mon, 18 Jul 2022 07:11:36.217031003 UTC +00:00, expected_iteration_order: lazy { [iteration1.id, target_iteration.id, iteration2.id] }1435 behaves like sequence numbers are correctly updated1436 triggers sequence number updates1437 start_date: Mon, 27 Jun 2022 07:11:36.217135463 UTC +00:00, new_start_date: Mon, 01 Aug 2022 07:11:36.217206583 UTC +00:00, expected_iteration_order: lazy { [iteration1.id, iteration2.id, target_iteration.id] }1438 behaves like sequence numbers are correctly updated1439 triggers sequence number updates1440 after_destroy :update_iteration_sequences1441 destroying a past iteration1442 behaves like sequence numbers are correctly updated1443 triggers sequence number updates1444 destroying an upcoming iteration1445 behaves like sequence numbers are correctly updated1446 triggers sequence number updates1447 before_destroy :check_if_can_be_destroyed1448 current iteration is the last iteration in a cadence1449 destroys the current iteration1450 current iteration is not the last iteration in a cadence1451 throws an error when attempting to destroy the current iteration1452 upcoming iteration1453 throws an error when attempting to destroy an upcoming iteration that is not the last iteration in a cadence1454 destroys an upcoming iteration when it is the last iteration in a cadence1455 search and sorting scopes1456 .search_title1457 query: "iter 1", expected_iterations: lazy { [plan_iteration1] }1458 behaves like search returns correct records1459 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1">1460 query: "iteration", expected_iterations: lazy { [plan_iteration1, plan_iteration2, product_iteration] }1461 behaves like search returns correct records1462 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1">, #<Iteration id:64 *iteration:"My iteration">, and #<Iteration id:65 *iteration:"Iteration 2">1463 query: "iteration 1", expected_iterations: lazy { [plan_iteration1] }1464 behaves like search returns correct records1465 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1">1466 query: "my iteration 1", expected_iterations: lazy { [] }1467 behaves like search returns correct records1468 is expected to contain exactly1469 .search_cadence_title1470 query: "plan", expected_iterations: lazy { [plan_iteration1, plan_iteration2] }1471 behaves like search returns correct records1472 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1"> and #<Iteration id:64 *iteration:"My iteration">1473 query: "plan cadence", expected_iterations: lazy { [plan_iteration1, plan_iteration2] }1474 behaves like search returns correct records1475 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1"> and #<Iteration id:64 *iteration:"My iteration">1476 query: "product cadence", expected_iterations: lazy { [] }1477 behaves like search returns correct records1478 is expected to contain exactly1479 query: "cadence", expected_iterations: lazy { [plan_iteration1, plan_iteration2, cadence_iteration] }1480 behaves like search returns correct records1481 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1">, #<Iteration id:64 *iteration:"My iteration">, and #<Iteration id:66 *iteration:66>1482 .search_title_or_cadence_title1483 query: "iter 1", expected_iterations: lazy { [plan_iteration1] }1484 behaves like search returns correct records1485 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1">1486 query: "iteration", expected_iterations: lazy { [plan_iteration1, plan_iteration2, product_iteration] }1487 behaves like search returns correct records1488 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1">, #<Iteration id:64 *iteration:"My iteration">, and #<Iteration id:65 *iteration:"Iteration 2">1489 query: "iteration 1", expected_iterations: lazy { [plan_iteration1] }1490 behaves like search returns correct records1491 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1">1492 query: "my iteration 1", expected_iterations: lazy { [] }1493 behaves like search returns correct records1494 is expected to contain exactly1495 query: "plan", expected_iterations: lazy { [plan_iteration1, plan_iteration2] }1496 behaves like search returns correct records1497 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1"> and #<Iteration id:64 *iteration:"My iteration">1498 query: "plan cadence", expected_iterations: lazy { [plan_iteration1, plan_iteration2] }1499 behaves like search returns correct records1500 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1"> and #<Iteration id:64 *iteration:"My iteration">1501 query: "product cadence", expected_iterations: lazy { [] }1502 behaves like search returns correct records1503 is expected to contain exactly1504 query: "cadence", expected_iterations: lazy { [plan_iteration1, plan_iteration2, cadence_iteration] }1505 behaves like search returns correct records1506 is expected to contain exactly #<Iteration id:63 *iteration:"Iteration 1">, #<Iteration id:64 *iteration:"My iteration">, and #<Iteration id:66 *iteration:66>1507 query: "plan iteration", expected_iterations: lazy { [] }1508 behaves like search returns correct records1509 is expected to contain exactly1510 .sort_by_cadence_id_and_due_date_asc1511 is expected to eq [#<Iteration id:64 *iteration:"My iteration">, #<Iteration id:63 *iteration:"Iteration 1">, #<Iteration id:65 *iteration:"Iteration 2">, #<Iteration id:66 *iteration:66>]1512 time scopes1513 start_date_passed1514 returns iterations where start_date is in the past but due_date is in the future1515 due_date_passed1516 returns iterations where due date is in the past1517 #validate_group1518 when the iteration and iteration cadence groups are same1519 is valid1520 when the iteration and iteration cadence groups are different1521 is invalid1522 when the iteration belongs to a project and the iteration cadence is set1523 is invalid1524 when the iteration belongs to a project and the iteration cadence is not set1525 is valid1526 .within_timeframe1527 returns iterations with start_date and/or end_date between timeframe1528 returns iterations which starts before the timeframe1529 returns iterations which ends after the timeframe1530 .by_iteration_cadence_ids1531 returns iterations by cadence1532 returns iterations by multiple cadences1533 sets correct state based on iteration dates1534 start_date is in the future1535 sets state to started1536 start_date is today1537 sets state to started1538 start_date is in the past and due date is still in the future1539 sets state to started1540 start_date is in the past and due date is also in the past1541 sets state to started1542 when dates for an existing iteration change1543 when iteration dates go from future to past1544 sets state to closed1545 when iteration dates go from past to future1546 sets state to upcoming1547 and today is between iteration start and due dates1548 sets state to started1549 behaves like a timebox1550 modules1551 with a project1552 behaves like AtomicInternalId1553 .has_internal_id1554 Module inclusion1555 is expected to includes the AtomicInternalId module1556 Validation1557 when presence validation is required1558 when creating an object1559 raises an error if the internal id is blank1560 when updating an object1561 raises an error if the internal id is blank1562 when presence validation is not required1563 when creating an object1564 does not raise an error if the internal id is blank (PENDING: No reason given)1565 when updating an object1566 does not raise an error if the internal id is blank (PENDING: No reason given)1567 Creating an instance1568 saves a new instance properly1569 internal id generation1570 calls InternalId.generate_next and sets internal id attribute1571 does not overwrite an existing internal id1572 when the instance has an internal ID set1573 calls InternalId.update_last_value and sets the `last_value` to that of the instance1574 unsetting the instance internal id on rollback1575 when the internal id has been changed1576 when the internal id is automatically set1577 clears it on the instance1578 when the internal id is manually set1579 does not clear it on the instance1580 when the internal id has not been changed1581 preserves the value on the instance1582 supply of internal ids1583 provides a persistent supply of IID values, sensitive to the current state1584 #reset_scope_internal_id_attribute1585 rewinds the allocated IID1586 allocates the same IID1587 with a group1588 behaves like AtomicInternalId1589 .has_internal_id1590 Module inclusion1591 is expected to includes the AtomicInternalId module1592 Validation1593 when presence validation is required1594 when creating an object1595 raises an error if the internal id is blank1596 when updating an object1597 raises an error if the internal id is blank1598 when presence validation is not required1599 when creating an object1600 does not raise an error if the internal id is blank (PENDING: No reason given)1601 when updating an object1602 does not raise an error if the internal id is blank (PENDING: No reason given)1603 Creating an instance1604 saves a new instance properly1605 internal id generation1606 calls InternalId.generate_next and sets internal id attribute1607 does not overwrite an existing internal id1608 when the instance has an internal ID set1609 calls InternalId.update_last_value and sets the `last_value` to that of the instance1610 unsetting the instance internal id on rollback1611 when the internal id has been changed1612 when the internal id is automatically set1613 clears it on the instance1614 when the internal id is manually set1615 does not clear it on the instance1616 when the internal id has not been changed1617 preserves the value on the instance1618 supply of internal ids1619 provides a persistent supply of IID values, sensitive to the current state1620 #reset_scope_internal_id_attribute1621 rewinds the allocated IID1622 allocates the same IID1623 Validation1624 start_date1625 adds an error when start_date is greater then due_date1626 adds an error when start_date is greater than 9999-12-311627 due_date1628 adds an error when due_date is greater than 9999-12-311629 #timebox_type_check1630 is invalid if it has both project_id and group_id1631 Associations1632 is expected to belong to project required: false1633 is expected to belong to group required: false1634 is expected to have many issues1635 is expected to have many merge_requests1636 is expected to have many labels through issues1637 #timebox_name1638 returns the name of the model1639 #project_timebox?1640 when project_id is present1641 returns true1642 when project_id is not present1643 returns false1644 #group_timebox?1645 when group_id is present1646 returns true1647 when group_id is not present1648 returns false1649 #safe_title1650 normalizes the title for use as a slug1651 #resource_parent1652 when group is present1653 returns the group1654 when project is present1655 returns the project1656 #title1657 sanitizes title1658 #merge_requests_enabled?1659 per project1660 is true for projects with MRs enabled1661 is false for projects with MRs disabled1662 is false for projects with repository disabled1663 per group1664 is always true for groups, for performance reasons1665 #to_ability_name1666 returns timebox1667 .within_timeframe1668 can find overlapping timeboxes1669 #uniqueness_of_title1670 per group1671 accepts the same title in the same group with different cadence1672 does not accept the same title when in the same cadence1673 when closing iteration1674 when cadence roll-over flag enabled1675 triggers roll-over issues worker1676 when cadence roll-over flag disabled1677 triggers roll-over issues worker1678EnvironmentPolicy1679 #stop_environment1680 behaves like protected environments access1681 when Protected Environments feature is not available in the project1682 access_level: :guest, result: false1683 is expected to eq false1684 access_level: :reporter, result: false1685 is expected to eq false1686 access_level: :developer, result: true1687 is expected to eq true1688 access_level: :maintainer, result: true1689 is expected to eq true1690 access_level: :admin, result: true1691 is expected to eq true1692 when Protected Environments feature is available in the project1693 when environment is protected with project-level protection1694 behaves like authorize correctly per access type1695 when user does not have access to the environment1696 access_level: :guest, result: false1697 is expected to eq false1698 access_level: :reporter, result: false1699 is expected to eq false1700 access_level: :developer, result: false1701 is expected to eq false1702 access_level: :maintainer, result: false1703 is expected to eq false1704 access_level: :admin, result: true1705 is expected to eq true1706 when user has access to the environment1707 access_level: :reporter, result: false1708 is expected to eq false1709 access_level: :developer, result: true1710 is expected to eq true1711 access_level: :maintainer, result: true1712 is expected to eq true1713 access_level: :admin, result: true1714 is expected to eq true1715 when the user has access via a group1716 is expected to eq false1717 when environment is protected with group-level protection1718 behaves like authorize correctly per access type1719 when user does not have access to the environment1720 access_level: :guest, result: false1721 is expected to eq false1722 access_level: :reporter, result: false1723 is expected to eq false1724 access_level: :developer, result: false1725 is expected to eq false1726 access_level: :maintainer, result: false1727 is expected to eq false1728 access_level: :admin, result: true1729 is expected to eq true1730 when user has access to the environment1731 access_level: :reporter, result: false1732 is expected to eq false1733 access_level: :developer, result: true1734 is expected to eq true1735 access_level: :maintainer, result: true1736 is expected to eq true1737 access_level: :admin, result: true1738 is expected to eq true1739 when the user has access via a group1740 is expected to eq false1741 when environment is not protected1742 access_level: :guest, result: false1743 is expected to eq false1744 access_level: :reporter, result: false1745 is expected to eq false1746 access_level: :developer, result: true1747 is expected to eq true1748 access_level: :maintainer, result: true1749 is expected to eq true1750 access_level: :admin, result: true1751 is expected to eq true1752 #destroy_environment1753 behaves like protected environments access1754 when Protected Environments feature is not available in the project1755 access_level: :guest, result: false1756 is expected to eq false1757 access_level: :reporter, result: false1758 is expected to eq false1759 access_level: :developer, result: true1760 is expected to eq true1761 access_level: :maintainer, result: true1762 is expected to eq true1763 access_level: :admin, result: true1764 is expected to eq true1765 when Protected Environments feature is available in the project1766 when environment is protected with project-level protection1767 behaves like authorize correctly per access type1768 when user does not have access to the environment1769 access_level: :guest, result: false1770 is expected to eq false1771 access_level: :reporter, result: false1772 is expected to eq false1773 access_level: :developer, result: false1774 is expected to eq false1775 access_level: :maintainer, result: false1776 is expected to eq false1777 access_level: :admin, result: true1778 is expected to eq true1779 when user has access to the environment1780 access_level: :reporter, result: false1781 is expected to eq false1782 access_level: :developer, result: true1783 is expected to eq true1784 access_level: :maintainer, result: true1785 is expected to eq true1786 access_level: :admin, result: true1787 is expected to eq true1788 when the user has access via a group1789 is expected to eq false1790 when environment is protected with group-level protection1791 behaves like authorize correctly per access type1792 when user does not have access to the environment1793 access_level: :guest, result: false1794 is expected to eq false1795 access_level: :reporter, result: false1796 is expected to eq false1797 access_level: :developer, result: false1798 is expected to eq false1799 access_level: :maintainer, result: false1800 is expected to eq false1801 access_level: :admin, result: true1802 is expected to eq true1803 when user has access to the environment1804 access_level: :reporter, result: false1805 is expected to eq false1806 access_level: :developer, result: true1807 is expected to eq true1808 access_level: :maintainer, result: true1809 is expected to eq true1810 access_level: :admin, result: true1811 is expected to eq true1812 when the user has access via a group1813 is expected to eq false1814 when environment is not protected1815 access_level: :guest, result: false1816 is expected to eq false1817 access_level: :reporter, result: false1818 is expected to eq false1819 access_level: :developer, result: true1820 is expected to eq true1821 access_level: :maintainer, result: true1822 is expected to eq true1823 access_level: :admin, result: true1824 is expected to eq true1825 #create_environment_terminal1826 behaves like protected environments access1827 when Protected Environments feature is not available in the project1828 access_level: :guest, result: false1829 is expected to eq false1830 access_level: :reporter, result: false1831 is expected to eq false1832 access_level: :developer, result: false1833 is expected to eq false1834 access_level: :maintainer, result: true1835 is expected to eq true1836 access_level: :admin, result: true1837 is expected to eq true1838 when Protected Environments feature is available in the project1839 when environment is protected with project-level protection1840 behaves like authorize correctly per access type1841 when user does not have access to the environment1842 access_level: :guest, result: false1843 is expected to eq false1844 access_level: :reporter, result: false1845 is expected to eq false1846 access_level: :developer, result: false1847 is expected to eq false1848 access_level: :maintainer, result: false1849 is expected to eq false1850 access_level: :admin, result: true1851 is expected to eq true1852 when user has access to the environment1853 access_level: :reporter, result: false1854 is expected to eq false1855 access_level: :developer, result: false1856 is expected to eq false1857 access_level: :maintainer, result: true1858 is expected to eq true1859 access_level: :admin, result: true1860 is expected to eq true1861 when the user has access via a group1862 is expected to eq false1863 when environment is protected with group-level protection1864 behaves like authorize correctly per access type1865 when user does not have access to the environment1866 access_level: :guest, result: false1867 is expected to eq false1868 access_level: :reporter, result: false1869 is expected to eq false1870 access_level: :developer, result: false1871 is expected to eq false1872 access_level: :maintainer, result: false1873 is expected to eq false1874 access_level: :admin, result: true1875 is expected to eq true1876 when user has access to the environment1877 access_level: :reporter, result: false1878 is expected to eq false1879 access_level: :developer, result: false1880 is expected to eq false1881 access_level: :maintainer, result: true1882 is expected to eq true1883 access_level: :admin, result: true1884 is expected to eq true1885 when the user has access via a group1886 is expected to eq false1887 when environment is not protected1888 access_level: :guest, result: false1889 is expected to eq false1890 access_level: :reporter, result: false1891 is expected to eq false1892 access_level: :developer, result: false1893 is expected to eq false1894 access_level: :maintainer, result: true1895 is expected to eq true1896 access_level: :admin, result: true1897 is expected to eq true1898MergeTrain1899 is expected to belong to merge_request required: false1900 is expected to belong to user required: false1901 is expected to belong to pipeline required: false1902 .active1903 returns only active merge trains1904 .complete1905 returns only merged merge trains1906 .for_target1907 when target merge train 1's project1908 returns merge train 1 only1909 when target merge train 2's project1910 returns merge train 2 only1911 .by_id1912 returns merge trains by id ASC1913 .all_active_mrs_in_train1914 returns the merge request1915 when the other merge request is on the merge train1916 returns the merge requests1917 when the merge request has already been merged1918 is expected to be empty1919 when the merge request is not on merge train1920 returns empty array1921 .first_car1922 returns the merge request1923 when the other merge request is on the merge train1924 returns the merge request1925 when the merge request has already been merged1926 is expected to be nil1927 when the merge request is not on merge train1928 returns empty array1929 .first_cars_in_trains1930 returns only first merge requests per merge train1931 when first_on_master has already been merged1932 returns second on master as active MR1933 .sha_exists_in_history?1934 when there is a merge request on train1935 when the merge request has already been merging1936 is expected to eq true1937 when the merge request has already been merged1938 is expected to eq true1939 when there is another merge request on train and it has been merged1940 is expected to eq true1941 when limit is 11942 is expected to eq false1943 when the merge request has not been merged yet1944 is expected to eq false1945 when there are no merge requests on train1946 is expected to eq false1947 .total_count_in_train1948 returns the merge request1949 when the other merge request is on the merge train1950 returns the merge request1951 when the merge request has already been merged1952 returns zero1953 when the merge request is not on merge train1954 returns empty array1955 #all_next1956 returns nil1957 when the other merge request is on the merge train1958 returns the next merge requests1959 #all_prev1960 when the merge request is at first on the train1961 returns nil1962 when the merge request is at last on the train1963 returns the previous merge requests1964 when the previous merge request has already been merged1965 returns empty array1966 #next1967 when the merge request is at last on the train1968 returns nil1969 when the other merge request is on the merge train1970 returns the next merge request1971 #prev1972 when the merge request is at first on the train1973 returns nil1974 when the merge request is at last on the train1975 returns the next merge request1976 #previous_ref1977 when merge request is first on train1978 returns the target branch1979 when merge request is not first on train1980 returns the ref of the previous merge request1981 #requires_new_pipeline?1982 when merge train has a pipeline associated1983 is expected to be falsey1984 when merge train is stale1985 is expected to be truthy1986 when merge train does not have a pipeline1987 is expected to be truthy1988 #pipeline_not_succeeded?1989 when merge train does not have a pipeline1990 is expected to be falsey1991 when merge train has a pipeline1992 when pipeline failed1993 is expected to be truthy1994 when pipeline succeeded1995 is expected to be falsey1996 when pipeline is running1997 is expected to be falsey1998 #cancel_pipeline!1999 cancels the existing pipeline2000 #mergeable?2001 when merge train has successful pipeline2002 when merge request is first on train2003 is expected to be truthy2004 when the other merge request is on the merge train2005 is expected to be falsy2006 when merge train has non successful pipeline2007 when merge request is first on train2008 is expected to be falsey2009 #index2010 is expected to eq 02011 when the merge train is at the second queue2012 is expected to eq 12013 status transition2014 when status is idle2015 and transits to fresh2016 refreshes the state and set a pipeline2017 and transits to merged2018 does not allow the transition2019 and transits to stale2020 does not allow the transition2021 when status is fresh2022 and transits to merged2023 does not allow the transition2024 and transits to stale2025 refreshes asynchronously2026 when status is merging2027 and transits to merged2028 persists duration and merged_at2029 cleans up train ref2030 when status is merged2031 and transits to merged2032 does not allow the transition2033 #destroy2034 when merge train has a pipeline2035 cancels the jobs in the pipeline2036 #cleanup_ref2037 executes cleanup_refs for merge request2038 #active?2039 when status is idle2040 is expected to eq true2041 when status is merged2042 is expected to eq false2043 loose foreign key on merge_trains.pipeline_id2044 behaves like cleanup by a loose foreign key2045 cleans up (delete or nullify) the model2046Gitlab::Analytics::TypeOfWork::TasksByType2047 when subject is `Issue`2048 behaves like #counts_by_labels2049 counts the records by label and date2050 counts should include subgroups2051 does not include count from outside of the group2052 when group without any record is given2053 is expected to be empty2054 when no labels are given2055 is expected to be empty2056 when records are outside of the given time range2057 is expected to be empty2058 when filtering by `project_ids`2059 is expected to eq 12060 when filtering by `author_username`2061 is expected to eq 12062 when filtering by `assignee_username`2063 is expected to eq 12064 when filtering by `milestone_title`2065 is expected to eq 12066 behaves like #top_labels2067 sorts by descending order2068 limits the the size of the results2069 when subject is `MergeRequest`2070 behaves like #counts_by_labels2071 counts the records by label and date2072 counts should include subgroups2073 does not include count from outside of the group2074 when group without any record is given2075 is expected to be empty2076 when no labels are given2077 is expected to be empty2078 when records are outside of the given time range2079 is expected to be empty2080 when filtering by `project_ids`2081 is expected to eq 12082 when filtering by `author_username`2083 is expected to eq 12084 when filtering by `assignee_username`2085 is expected to eq 12086 when filtering by `milestone_title`2087 is expected to eq 12088 behaves like #top_labels2089 sorts by descending order2090 limits the the size of the results2091 when unknown `subject` is given2092 falls back to `MergeRequestFinder`2093EpicPolicy2094 when epics feature is disabled2095 behaves like all epic permissions disabled2096 matches expected permissions2097 when epics feature is enabled2098 when an epic is in a private group2099 anonymous user2100 behaves like all epic permissions disabled2101 matches expected permissions2102 user who is not a group member2103 behaves like all epic permissions disabled2104 matches expected permissions2105 behaves like group member permissions2106 guest group member2107 behaves like can only read epics2108 matches expected permissions2109 behaves like can comment on epics2110 is expected to be allowed :create_note and :award_emoji2111 behaves like cannot edit epic comments2112 is expected to be disallowed :admin_note2113 reporter group member2114 cannot destroy epics2115 behaves like can manage epics2116 matches expected permissions2117 behaves like can comment on epics2118 is expected to be allowed :create_note and :award_emoji2119 behaves like cannot edit epic comments2120 is expected to be disallowed :admin_note2121 group maintainer2122 cannot destroy epics2123 behaves like can manage epics2124 matches expected permissions2125 behaves like can comment on epics2126 is expected to be allowed :create_note and :award_emoji2127 behaves like can edit epic comments2128 is expected to be allowed :admin_note2129 group owner2130 can destroy epics2131 behaves like can manage epics2132 matches expected permissions2133 behaves like can comment on epics2134 is expected to be allowed :create_note and :award_emoji2135 behaves like can edit epic comments2136 is expected to be allowed :admin_note2137 when an epic is in an internal group2138 anonymous user2139 behaves like all epic permissions disabled2140 matches expected permissions2141 user who is not a group member2142 behaves like can only read epics2143 matches expected permissions2144 behaves like can comment on epics2145 is expected to be allowed :create_note and :award_emoji2146 behaves like group member permissions2147 guest group member2148 behaves like can only read epics2149 matches expected permissions2150 behaves like can comment on epics2151 is expected to be allowed :create_note and :award_emoji2152 behaves like cannot edit epic comments2153 is expected to be disallowed :admin_note2154 reporter group member2155 cannot destroy epics2156 behaves like can manage epics2157 matches expected permissions2158 behaves like can comment on epics2159 is expected to be allowed :create_note and :award_emoji2160 behaves like cannot edit epic comments2161 is expected to be disallowed :admin_note2162 group maintainer2163 cannot destroy epics2164 behaves like can manage epics2165 matches expected permissions2166 behaves like can comment on epics2167 is expected to be allowed :create_note and :award_emoji2168 behaves like can edit epic comments2169 is expected to be allowed :admin_note2170 group owner2171 can destroy epics2172 behaves like can manage epics2173 matches expected permissions2174 behaves like can comment on epics2175 is expected to be allowed :create_note and :award_emoji2176 behaves like can edit epic comments2177 is expected to be allowed :admin_note2178 when an epic is in a public group2179 anonymous user2180 is expected to be allowed :read_epic, :read_epic_iid, and :read_note2181 is expected to be disallowed :create_todo2182 behaves like cannot comment on epics2183 is expected to be disallowed :create_note and :award_emoji2184 user who is not a group member2185 behaves like can only read epics2186 matches expected permissions2187 behaves like can comment on epics2188 is expected to be allowed :create_note and :award_emoji2189 behaves like group member permissions2190 guest group member2191 behaves like can only read epics2192 matches expected permissions2193 behaves like can comment on epics2194 is expected to be allowed :create_note and :award_emoji2195 behaves like cannot edit epic comments2196 is expected to be disallowed :admin_note2197 reporter group member2198 cannot destroy epics2199 behaves like can manage epics2200 matches expected permissions2201 behaves like can comment on epics2202 is expected to be allowed :create_note and :award_emoji2203 behaves like cannot edit epic comments2204 is expected to be disallowed :admin_note2205 group maintainer2206 cannot destroy epics2207 behaves like can manage epics2208 matches expected permissions2209 behaves like can comment on epics2210 is expected to be allowed :create_note and :award_emoji2211 behaves like can edit epic comments2212 is expected to be allowed :admin_note2213 group owner2214 can destroy epics2215 behaves like can manage epics2216 matches expected permissions2217 behaves like can comment on epics2218 is expected to be allowed :create_note and :award_emoji2219 behaves like can edit epic comments2220 is expected to be allowed :admin_note2221 when external authorization is enabled2222 does not call external authorization service2223 behaves like all epic permissions disabled2224 matches expected permissions2225 when epic is confidential2226 when user is not reporter2227 behaves like all epic permissions disabled2228 matches expected permissions2229 when user is reporter2230 behaves like all reporter epic permissions enabled2231 matches expected permissions2232 when user is developer2233 behaves like all reporter epic permissions enabled2234 matches expected permissions2235 when user is maintainer2236 behaves like all reporter epic permissions enabled2237 matches expected permissions2238 when user is owner2239 behaves like all reporter epic permissions enabled2240 matches expected permissions2241 when related_epics feature is not available2242 matches expected permissions2243SAST.gitlab-ci.yml2244 the created pipeline2245 when project has no license2246 when SAST_DISABLED=12247 includes no jobs2248 when SAST_EXPERIMENTAL_FEATURES is disabled for iOS projects2249 includes no jobs2250 by default2251 language detection2252 Android2253 creates a pipeline with the expected jobs2254 Android2255 creates a pipeline with the expected jobs2256 Android2257 creates a pipeline with the expected jobs2258 Android2259 creates a pipeline with the expected jobs2260 Android2261 creates a pipeline with the expected jobs2262 Apex2263 creates a pipeline with the expected jobs2264 C2265 creates a pipeline with the expected jobs2266 C++2267 creates a pipeline with the expected jobs2268 C#2269 creates a pipeline with the expected jobs2270 Elixir2271 creates a pipeline with the expected jobs2272 Golang2273 creates a pipeline with the expected jobs2274 Groovy2275 creates a pipeline with the expected jobs2276 iOS2277 creates a pipeline with the expected jobs2278 iOS2279 creates a pipeline with the expected jobs2280 Java2281 creates a pipeline with the expected jobs2282 Java with MobSF2283 creates a pipeline with the expected jobs2284 Java without MobSF2285 creates a pipeline with the expected jobs2286 Javascript2287 creates a pipeline with the expected jobs2288 JSX2289 creates a pipeline with the expected jobs2290 Javascript Node2291 creates a pipeline with the expected jobs2292 HTML2293 creates a pipeline with the expected jobs2294 Kubernetes Manifests2295 creates a pipeline with the expected jobs2296 Multiple languages2297 creates a pipeline with the expected jobs2298 PHP2299 creates a pipeline with the expected jobs2300 Python2301 creates a pipeline with the expected jobs2302 Ruby2303 creates a pipeline with the expected jobs2304 Scala2305 creates a pipeline with the expected jobs2306 Typescript2307 creates a pipeline with the expected jobs2308 Typescript JSX2309 creates a pipeline with the expected jobs2310 Visual Basic2311 creates a pipeline with the expected jobs2312 when setting image tag dynamically2313 security-code-scan-sast2314 creates a build with the expected tag2315 security-code-scan-sast2316 creates a build with the expected tag2317Geo::TerraformStateVersionReplicator2318 invokes replicator.handle_after_create_commit on create2319 behaves like a replicator2320 Geo node status2321 on a secondary node2322 .synced_count2323 returns the number of synced items on secondary2324 .failed_count2325 returns the number of failed items on secondary2326 #replicator2327 is defined and does not raise error2328 .replicables_for_current_secondary2329 when syncing object storage is enabled2330 behaves like is implemented and returns a valid relation2331 is implemented2332 when syncing object storage is disabled2333 behaves like is implemented and returns a valid relation2334 is implemented2335 with selective sync disabled2336 behaves like is implemented and returns a valid relation2337 is implemented2338 with selective sync enabled for namespaces2339 behaves like is implemented and returns a valid relation2340 is implemented2341 with selective sync enabled for shards2342 behaves like is implemented and returns a valid relation2343 is implemented2344 #handle_after_create_commit2345 creates a Geo::Event2346 calls #after_verifiable_update2347 when replication feature flag is disabled2348 does not call #after_verifiable_update2349 does not publish2350 #handle_after_destroy2351 creates a Geo::Event2352 when replication feature flag is disabled2353 does not publish2354 created event consumption2355 when the blob's project is in replicables for this geo node2356 invokes Geo::BlobDownloadService2357 when the blob's project is not in replicables for this geo node2358 does not invoke Geo::BlobDownloadService2359 deleted event consumption2360 when model_record was deleted from the DB and the replicator only has its ID2361 invokes Geo::FileRegistryRemovalService2362 backward compatibility2363 invokes Geo::FileRegistryRemovalService when delete event is in deprecated format2364 when object storage is enabled2365 deletes the file from object storage2366 #carrierwave_uploader2367 is implemented2368 #model2369 is implemented2370 is a Class2371 #blob_path2372 when the file is locally stored2373 returns a valid path to a file2374 #calculate_checksum2375 when the file is locally stored2376 when the file exists2377 returns hexdigest of the file2378 when the file does not exist2379 raises an error2380 when the file is remotely stored2381 raises an error2382 #file_exists?2383 is expected to be truthy2384 when the file does not exist2385 is expected to be falsey2386 when the file is nil2387 is expected to be falsey2388 .bulk_create_delete_events_async2389 creates events2390 raises error when model_record_id is nil2391 events2392 has checksum_succeeded event2393 .verification_enabled?2394 when replication is enabled2395 when verification_feature_flag_enabled? returns true2396 returns true2397 when verification_feature_flag_enabled? returns false2398 returns false2399 when replication is disabled2400 returns false2401 .checksummed_count2402 when verification is enabled2403 returns the number of available verifiables where verification succeeded2404 excludes non-success verification states2405 when verification is disabled2406 returns nil2407 .checksum_failed_count2408 when verification is enabled2409 returns the number of available verifiables where verification failed2410 excludes other verification states2411 when verification is disabled2412 returns nil2413 .verification_total_count2414 when verification is enabled2415 returns the number of verification_not_disabled registry rows2416 when verification is disabled2417 returns nil2418 .trigger_background_verification2419 when verification is enabled2420 enqueues VerificationBatchWorker2421 enqueues VerificationTimeoutWorker2422 enqueues VerificationStateBackfillWorker2423 for a Geo secondary2424 does not enqueue ReverificationBatchWorker2425 for a Geo primary2426 enqueues ReverificationBatchWorker2427 when verification is disabled2428 does not enqueue VerificationBatchWorker2429 does not enqueue VerificationTimeoutWorker2430 .backfill_verification_state_table2431 calls VerificationStateBackfillService2432 when on secondary2433 returns false2434 .verify_batch2435 when there are records needing verification2436 calls #verify on each replicator2437 .remaining_verification_batch_count2438 converts needs_verification_count to number of batches2439 .remaining_reverification_batch_count2440 converts needs_reverification_count to number of batches2441 .reverify_batch!2442 calls #reverify_batch2443 .replicator_batch_to_verify2444 returns usable Replicator instances2445 .model_record_id_batch_to_verify2446 when the batch is filled by pending rows2447 returns IDs of pending rows2448 does not call .verification_failed_batch2449 when that batch is not filled by pending rows2450 includes IDs of failed rows2451 .verification_pending_batch2452 when current node is a primary2453 delegates to the model class of the replicator2454 when current node is a secondary2455 delegates to the registry class of the replicator2456 .verification_failed_batch2457 when current node is a primary2458 delegates to the model class of the replicator2459 when current node is a secondary2460 delegates to the registry class of the replicator2461 .fail_verification_timeouts2462 when current node is a primary2463 delegates to the model class of the replicator2464 when current node is a secondary2465 delegates to the registry class of the replicator2466 #after_verifiable_update2467 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true2468 calls verify_async only if needed2469 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false2470 calls verify_async only if needed2471 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false2472 calls verify_async only if needed2473 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false2474 calls verify_async only if needed2475 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true2476 calls verify_async only if needed2477 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false2478 calls verify_async only if needed2479 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true2480 calls verify_async only if needed2481 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false2482 calls verify_async only if needed2483 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false2484 calls verify_async only if needed2485 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false2486 calls verify_async only if needed2487 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false2488 calls verify_async only if needed2489 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false2490 calls verify_async only if needed2491 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false2492 calls verify_async only if needed2493 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false2494 calls verify_async only if needed2495 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false2496 calls verify_async only if needed2497 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false2498 calls verify_async only if needed2499 #verify_async2500 on a Geo primary2501 calls verification_started! and enqueues VerificationWorker2502 #verify2503 wraps the checksum calculation in track_checksum_attempt!2504 #verification_state_tracker2505 on a Geo primary2506 returns model_record2507 on a Geo secondary2508 returns registry2509 #handle_after_checksum_succeeded2510 on a Geo primary2511 creates checksum_succeeded event2512 is called on verification success2513 on a Geo secondary2514 does not create an event2515 #consume_event_checksum_succeeded2516 with a persisted model_record2517 on a Geo primary2518 does nothing2519 on a Geo secondary2520 with a persisted registry2521 with a registry which is verified2522 sets state to verification_pending2523 with a registry which is pending verification2524 does not change state from verification_pending2525 with an unpersisted registry2526 does not persist the registry2527 #primary_verification_succeeded?2528 when the model record is verification_succeeded2529 returns true2530 when the model record is verification_succeeded2531 returns false2532 integration tests2533 on a primary2534 background backfill2535 verifies model records2536 triggered by events2537 verifies model records2538 on a secondary2539 background backfill2540 verifies registries2541 triggered by events2542 verifies registries2543Namespaces::FreeUserCap::RemediationWorker2544 #perform2545 when on gitlab.com2546 when feature flags are on2547 remediates data and settings according to free plan guidelines2548 when an error occurs2549 logs an error2550 with feature flags and environments2551 should_check_namespace_plan: true, free_user_cap: true, free_user_cap_data_remediation_job: true, group_sharing_remediation: true2552 does not remediate the namespaces2553 should_check_namespace_plan: true, free_user_cap: true, free_user_cap_data_remediation_job: true, group_sharing_remediation: false2554 does not remediate the namespaces2555 should_check_namespace_plan: true, free_user_cap: true, free_user_cap_data_remediation_job: false, group_sharing_remediation: true2556 does not remediate the namespaces2557 should_check_namespace_plan: true, free_user_cap: true, free_user_cap_data_remediation_job: false, group_sharing_remediation: false2558 does not remediate the namespaces2559 should_check_namespace_plan: true, free_user_cap: false, free_user_cap_data_remediation_job: true, group_sharing_remediation: true2560 does not remediate the namespaces2561 should_check_namespace_plan: true, free_user_cap: false, free_user_cap_data_remediation_job: true, group_sharing_remediation: false2562 does not remediate the namespaces2563 should_check_namespace_plan: true, free_user_cap: false, free_user_cap_data_remediation_job: false, group_sharing_remediation: true2564 does not remediate the namespaces2565 should_check_namespace_plan: true, free_user_cap: false, free_user_cap_data_remediation_job: false, group_sharing_remediation: false2566 does not remediate the namespaces2567 should_check_namespace_plan: false, free_user_cap: true, free_user_cap_data_remediation_job: true, group_sharing_remediation: true2568 does not remediate the namespaces2569 should_check_namespace_plan: false, free_user_cap: true, free_user_cap_data_remediation_job: true, group_sharing_remediation: false2570 does not remediate the namespaces2571 should_check_namespace_plan: false, free_user_cap: true, free_user_cap_data_remediation_job: false, group_sharing_remediation: true2572 does not remediate the namespaces2573 should_check_namespace_plan: false, free_user_cap: true, free_user_cap_data_remediation_job: false, group_sharing_remediation: false2574 does not remediate the namespaces2575 should_check_namespace_plan: false, free_user_cap: false, free_user_cap_data_remediation_job: true, group_sharing_remediation: true2576 does not remediate the namespaces2577 should_check_namespace_plan: false, free_user_cap: false, free_user_cap_data_remediation_job: true, group_sharing_remediation: false2578 does not remediate the namespaces2579 should_check_namespace_plan: false, free_user_cap: false, free_user_cap_data_remediation_job: false, group_sharing_remediation: true2580 does not remediate the namespaces2581 should_check_namespace_plan: false, free_user_cap: false, free_user_cap_data_remediation_job: false, group_sharing_remediation: false2582 does not remediate the namespaces2583MergeRequest2584 searches merge requests2585 names elasticsearch queries2586 searches by iid and scopes to type: merge_request only2587 returns json with all needed elements2588 handles when a project is missing project_feature2589 behaves like limited indexing is enabled2590 when the project is not enabled specifically2591 #searchable?2592 returns false2593 when a project is enabled specifically2594 #searchable?2595 returns true2596 when a group is enabled2597 #searchable?2598 returns true2599 behaves like no results when the user cannot read cross project2600 returns the record if a single project was passed2601 does not return anything when trying to search cross project2602EE::Namespace::RootStorageSize2603 #above_size_limit?2604 when limit enforcement is off2605 is expected to eq false2606 when limit enforcement is on2607 when limit is 02608 is expected to eq false2609 when below limit2610 is expected to eq false2611 when above limit2612 when temporary storage increase is disabled2613 is expected to eq true2614 when temporary storage increase is enabled2615 is expected to eq false2616 #usage_ratio2617 is expected to eq 0.52618 when limit is 02619 is expected to eq 02620 when there are no root_storage_statistics2621 is expected to eq 02622 #current_size2623 is expected to eq 524288002624 caches values2625 caches the value2626 #limit2627 when there is additional purchased storage and a plan2628 is expected to eq 262144000002629 when there is no additionl purchased storage2630 is expected to eq 157286400002631 when there is no additional purchased storage or plan limit set2632 is expected to eq 02633 caches values2634 caches the value2635 #remaining_storage_percentage2636 limit: 0, used: 0, expected_percentage: 1002637 returns the percentage of remaining storage rounding down to the nearest integer2638 limit: 0, used: 100, expected_percentage: 1002639 returns the percentage of remaining storage rounding down to the nearest integer2640 limit: 100, used: 0, expected_percentage: 1002641 returns the percentage of remaining storage rounding down to the nearest integer2642 limit: 100, used: 200, expected_percentage: 02643 returns the percentage of remaining storage rounding down to the nearest integer2644 limit: 1, used: 0, expected_percentage: 1002645 returns the percentage of remaining storage rounding down to the nearest integer2646 limit: 100, used: 10, expected_percentage: 902647 returns the percentage of remaining storage rounding down to the nearest integer2648 limit: 100, used: 77, expected_percentage: 232649 returns the percentage of remaining storage rounding down to the nearest integer2650 limit: 100, used: 95, expected_percentage: 52651 returns the percentage of remaining storage rounding down to the nearest integer2652 limit: 100, used: 99, expected_percentage: 12653 returns the percentage of remaining storage rounding down to the nearest integer2654 limit: 100, used: 100, expected_percentage: 02655 returns the percentage of remaining storage rounding down to the nearest integer2656 limit: 1000, used: 971, expected_percentage: 22657 returns the percentage of remaining storage rounding down to the nearest integer2658 limit: 8192, used: 6144, expected_percentage: 252659 returns the percentage of remaining storage rounding down to the nearest integer2660 limit: 5120, used: 3840, expected_percentage: 252661 returns the percentage of remaining storage rounding down to the nearest integer2662 limit: 5120, used: 5118, expected_percentage: 02663 returns the percentage of remaining storage rounding down to the nearest integer2664 #remaining_storage_size2665 limit: 0, used: 0, expected_size: 02666 returns the remaining storage size in bytes2667 limit: 0, used: 100, expected_size: 02668 returns the remaining storage size in bytes2669 limit: 100, used: 0, expected_size: 1048576002670 returns the remaining storage size in bytes2671 limit: 100, used: 200, expected_size: 02672 returns the remaining storage size in bytes2673 limit: 100, used: 70, expected_size: 314572802674 returns the remaining storage size in bytes2675 limit: 100, used: 85, expected_size: 157286402676 returns the remaining storage size in bytes2677 limit: 100, used: 99, expected_size: 10485762678 returns the remaining storage size in bytes2679 limit: 100, used: 100, expected_size: 02680 returns the remaining storage size in bytes2681 limit: 1000, used: 971, expected_size: 304087042682 returns the remaining storage size in bytes2683 limit: 8192, used: 6144, expected_size: 21474836482684 returns the remaining storage size in bytes2685 limit: 5120, used: 3840, expected_size: 13421772802686 returns the remaining storage size in bytes2687 limit: 5120, used: 5118, expected_size: 20971522688 returns the remaining storage size in bytes2689 #enforce_limit?2690 when current date is before enforcement date2691 is expected to eq false2692 behaves like :namespace_storage_limit_bypass_date_check enabled2693 is expected to eq true2694 when current date is on or after enforcement date2695 when no subscription is found for namespace2696 is expected to eq true2697 when subscription is for opensource plan2698 is expected to eq false2699 when subscription start date is before effective date2700 is expected to eq false2701 when subscription is for a free plan2702 when enforce_storage_limit_for_free is disabled2703 is expected to eq false2704 when subscription start date is on or after effective date2705 is expected to eq true2706 behaves like :namespace_storage_limit_bypass_date_check enabled2707 is expected to eq true2708 when subscription is for a paid plan2709 when enforce_storage_limit_for_paid is disabled2710 is expected to eq false2711 when subscription start date is on or after effective date2712 is expected to eq true2713 behaves like :namespace_storage_limit_bypass_date_check enabled2714 is expected to eq true2715 #exceeded_size2716 when given a parameter2717 change_size: 157286400, expected_excess_size: 1048576002718 returns the size in bytes that the change exceeds the limit2719 change_size: 62914560, expected_excess_size: 104857602720 returns the size in bytes that the change exceeds the limit2721 change_size: 53477376, expected_excess_size: 10485762722 returns the size in bytes that the change exceeds the limit2723 change_size: 52428800, expected_excess_size: 02724 returns the size in bytes that the change exceeds the limit2725 change_size: 10485760, expected_excess_size: 02726 returns the size in bytes that the change exceeds the limit2727 change_size: 0, expected_excess_size: 02728 returns the size in bytes that the change exceeds the limit2729 without a parameter2730 current_size: 0, expected_excess_size: 02731 returns the size in bytes that the current storage size exceeds the limit2732 current_size: 52428800, expected_excess_size: 02733 returns the size in bytes that the current storage size exceeds the limit2734 current_size: 104857600, expected_excess_size: 02735 returns the size in bytes that the current storage size exceeds the limit2736 current_size: 105906176, expected_excess_size: 10485762737 returns the size in bytes that the current storage size exceeds the limit2738 current_size: 178257920, expected_excess_size: 734003202739 returns the size in bytes that the current storage size exceeds the limit2740 #changes_will_exceed_size_limit?2741 when the changes will exceed the size limit2742 change_size: 534773762743 returns true2744 change_size: 629145602745 returns true2746 change_size: 1048576002747 returns true2748 when the changes will not exceed the size limit2749 change_size: 02750 returns false2751 change_size: 10485762752 returns false2753 change_size: 419430402754 returns false2755 change_size: 524288002756 returns false2757 when the current size exceeds the limit2758 change_size: 02759 returns true regardless of change_size2760 change_size: 10485762761 returns true regardless of change_size2762 change_size: 629145602763 returns true regardless of change_size2764 change_size: 1048576002765 returns true regardless of change_size2766 when storage size limit is 02767 returns false2768Analytics::DevopsAdoption::SnapshotCalculator2769 end_time2770 equals to range_end2771 issue_opened2772 is expected to eq false2773 with an issue opened within month2774 is expected to eq true2775 merge_request_opened2776 is expected to eq false2777 with a merge request opened within month2778 is expected to eq true2779 merge_request_approved2780 is expected to eq false2781 with a merge request approved within month2782 is expected to eq true2783 runner_configured2784 is expected to eq false2785 with active runner present2786 is expected to eq true2787 pipeline_succeeded2788 is expected to eq false2789 with successful pipeline within month2790 is expected to eq true2791 deploy_succeeded2792 is expected to eq false2793 with successful deployment within month2794 is expected to eq true2795 total_projects_count2796 is expected to eq 22797 code_owners_used_count2798 is expected to eq 12799 when feature is disabled2800 is expected to eq nil2801 when there is no default branch2802 uses HEAD as default value2803 sast_enabled_count2804 returns number of projects with at least 1 sast CI artifact created in given period2805 dast_enabled_count2806 returns number of projects with at least 1 dast CI artifact created in given period2807 dependency_scanning_enabled_count2808 returns number of projects with at least 1 dependency_scanning CI artifact created in given period2809 coverage_fuzzing_enabled_count2810 returns number of projects with at least 1 coverage_fuzzing CI artifact created in given period2811 vulnerability_management_used_count2812 returns number of projects with at least 1 vulnerability acted upon2813 when snapshot already exists2814 for boolean metrics2815 calculates metrics which are not true yet2816 doesn't change metrics which are true already2817 for numeric metrics2818 always recalculates metric2819ApprovalRules::ParamsFilteringService2820 #execute2821 create2822 behaves like assigning_users_and_groups2823 user can update approvers2824 only assigns eligible users and groups2825 user cannot update approvers2826 deletes the approval_rules_attributes from params2827 empty project approval rule2828 adds empty rule2829 inapplicable user defined rules2830 when multiple_approval_rules feature is available2831 adds inapplicable user defined rules2832 when multiple_approval_rules feature is not available2833 does not add inapplicable user defined rules2834 any approver rule2835 sets rule type for the rules attributes2836 any approver rule from a project rule2837 and the project rule has hidden groups2838 sets rule type for the rules attributes2839 update2840 behaves like assigning_users_and_groups2841 user can update approvers2842 only assigns eligible users and groups2843 user cannot update approvers2844 deletes the approval_rules_attributes from params2845 inapplicable user defined rules2846 does not add inapplicable user defined rules2847 when reset_approval_rules_to_defaults is true2848 when multiple_approval_rules feature is available2849 adds inapplicable user defined rules2850 when multiple_approval_rules feature is not available2851 does not add inapplicable user defined rules2852 with remove_hidden_groups being true2853 behaves like assigning_users_and_groups2854 user can update approvers2855 only assigns eligible users and groups2856 user cannot update approvers2857 deletes the approval_rules_attributes from params2858Gitlab::Geo2859 .current_node2860 returns a GeoNode instance2861 behaves like a Geo cached value2862 includes GitLab version and Rails.version in the cache key2863 .primary_node2864 returns a GeoNode primary instance2865 behaves like a Geo cached value2866 includes GitLab version and Rails.version in the cache key2867 .secondary_nodes2868 returns a list of Geo secondary nodes2869 behaves like a Geo cached value2870 includes GitLab version and Rails.version in the cache key2871 .proxy_extra_data2872 caches the result of .uncached_proxy_extra_data2873 behaves like a Geo cached value2874 includes GitLab version and Rails.version in the cache key2875 .uncached_proxy_extra_data2876 without a geo node2877 is expected to be nil2878 with an existing Geo node2879 generates a valid JWT2880 sets the expected expiration time2881 when signing the JWT token raises errors2882 error: Gitlab::Geo::GeoNodeNotFoundError2883 is expected to be nil2884 error: OpenSSL::Cipher::CipherError2885 is expected to be nil2886 .primary?2887 when current node is a primary node2888 returns true2889 returns false when GeoNode is disabled2890 .primary_node_configured?2891 when current node is a primary node2892 returns true2893 returns false when primary does not exist2894 .current_node_misconfigured?2895 returns true when current node is not set2896 returns false when primary2897 returns false when secondary2898 returns false when Geo is disabled2899 .secondary?2900 when infer_without_database is not set2901 when current node is a secondary node2902 is expected to be truthy2903 when GeoNode is disabled2904 is expected to be falsey2905 when current node is a primary node2906 is expected to be falsey2907 when infer_without_database is true2908 is_secondary: true2909 is expected to equal true2910 is_secondary: false2911 is expected to equal false2912 .secondary_check_without_db_connection2913 when in a test environment2914 is expected to be falsey2915 geo_database_configured: true, is_dev: true, is_gdk_geo_secondary: false, expected_secondary: false2916 is expected to equal false2917 geo_database_configured: true, is_dev: true, is_gdk_geo_secondary: true, expected_secondary: true2918 is expected to equal true2919 geo_database_configured: true, is_dev: false, is_gdk_geo_secondary: false, expected_secondary: true2920 is expected to equal true2921 geo_database_configured: true, is_dev: false, is_gdk_geo_secondary: true, expected_secondary: true2922 is expected to equal true2923 geo_database_configured: false, is_dev: true, is_gdk_geo_secondary: false, expected_secondary: false2924 is expected to equal false2925 geo_database_configured: false, is_dev: true, is_gdk_geo_secondary: true, expected_secondary: false2926 is expected to equal false2927 geo_database_configured: false, is_dev: false, is_gdk_geo_secondary: false, expected_secondary: false2928 is expected to equal false2929 geo_database_configured: false, is_dev: false, is_gdk_geo_secondary: true, expected_secondary: false2930 is expected to equal false2931 .gdk_geo_secondary?2932 when GDK_GEO_SECONDARY environment variable is not set2933 is expected to be falsey2934 when GDK_GEO_SECONDARY environment variable is 12935 is expected to be truthy2936 when GDK_GEO_SECONDARY environment variable is 02937 is expected to be falsey2938 when GDK_GEO_SECONDARY environment variable is true2939 is expected to be truthy2940 .secondary_with_primary?2941 when current node is a primary node2942 returns false2943 when current node is a secondary node2944 returns true2945 when a primary does not exist2946 returns false2947 .secondary_with_unified_url?2948 when current node is a primary node2949 returns false2950 when current node is a secondary node2951 when a primary does not exist2952 returns false2953 when the secondary node has different URLs2954 returns false2955 when the secondary node has unified URL2956 returns true2957 .proxied_request?2958 returns true when the header is set2959 returns false when the header is not present or set to an invalid value2960 .proxied_site2961 for a non-proxied request2962 is expected to be nil2963 without Geo enabled2964 is expected to be nil2965 on a secondary2966 is expected to be nil2967 on a primary2968 for a proxied request2969 with an absent proxied site ID header2970 is expected to be nil2971 with a proxy extra data header2972 for an invalid header2973 is expected to be nil2974 for an existing site2975 is expected to eq #<GeoNode id: 5, primary: false, oauth_application_id: 3, enabled: true, access_key: [FILTERED], encr...pdated_at: "2022-07-04 07:34:40.508131000 +0000", sync_object_storage: true, secret_access_key: nil>2976 .enabled?2977 behaves like a Geo cached value2978 includes GitLab version and Rails.version in the cache key2979 when any GeoNode exists2980 returns true2981 when no GeoNode exists2982 returns false2983 .oauth_authentication2984 for Geo secondary2985 behaves like a Geo cached value2986 includes GitLab version and Rails.version in the cache key2987 for Geo primary2988 returns nil2989 .connected?2990 when there is a database issue2991 returns false when it cannot open an active database connection2992 returns false when the table does not exist2993 .expire_cache!2994 clears the Geo cache keys2995 .expire_cache_keys!2996 clears specified keys2997 .license_allows?2998 returns true if license has Geo addon2999 returns false if license doesnt have Geo addon3000 returns false if no license is present3001 .generate_access_keys3002 returns a public and secret access key3003 .configure_cron_jobs!3004 creates a cron watcher3005 runs the cron manager3006 .repository_verification_enabled?3007 when the feature flag hasn't been set3008 returns true3009 when the feature flag has been set3010 when the feature flag is set to enabled3011 returns true3012 when the feature flag is set to disabled3013 returns false3014 .allowed_ip?3015 allowed_ips: "192.1.1.1", ip: "192.1.1.1", allowed: true3016 is expected to eq true3017 allowed_ips: "192.1.1.1, 192.1.2.1", ip: "192.1.2.1", allowed: true3018 is expected to eq true3019 allowed_ips: "192.1.1.0/24", ip: "192.1.1.223", allowed: true3020 is expected to eq true3021 allowed_ips: "192.1.0.0/16", ip: "192.1.223.223", allowed: true3022 is expected to eq true3023 allowed_ips: "192.1.0.0/16, 192.1.2.0/24", ip: "192.1.2.223", allowed: true3024 is expected to eq true3025 allowed_ips: "192.1.0.0/16", ip: "192.2.1.1", allowed: false3026 is expected to eq false3027 allowed_ips: "192.1.0.1", ip: "192.2.1.1", allowed: false3028 is expected to eq false3029 .proxying_to_primary_message3030 returns a message as a string3031 .redirecting_to_primary_message3032 returns a message as a string3033 .enabled_replicator_classes3034 returns an Array of replicator classes3035 when replication is disabled3036 does not return the replicator class3037 .verification_enabled_replicator_classes3038 returns an Array of replicator classes3039 when replication is disabled3040 does not return the replicator class3041 .verification_max_capacity_per_replicator_class3042 when there are no Replicator classes with verification enabled3043 returns the total capacity3044 when there is 1 Replicator class with verification enabled3045 returns half capacity3046 when there are 2 Replicator classes with verification enabled3047 returns a third of total capacity3048 when total capacity is set lower than the number of Replicators3049 returns 13050 .uncached_queries3051 when no block is given3052 raises error3053 when the current node is a primary3054 wraps the block in an ApplicationRecord.uncached block3055 when the current node is a secondary3056 wraps the block in a Geo::TrackingBase.uncached block and an ApplicationRecord.uncached block3057 when there is no current node3058 wraps the block in an ApplicationRecord.uncached block3059Gitlab::Ci::Config::Entry::Need3060 with Bridge config3061 when upstream is specified3062 #valid?3063 is expected to be valid3064 #value3065 returns job needs configuration3066 when need is empty3067 #valid?3068 is expected not to be valid3069 #errors3070 is returns an error about an empty config3071 with CrossProjectDependency config3072 #artifacts3073 artifacts: {:artifacts=>true}, value: true, validity: true3074 #valid?3075 is expected to eq true3076 #value3077 returns job needs configuration3078 #type3079 is expected to eq :cross_dependency3080 artifacts: {:artifacts=>false}, value: false, validity: true3081 #valid?3082 is expected to eq true3083 #value3084 returns job needs configuration3085 #type3086 is expected to eq :cross_dependency3087 artifacts: {:artifacts=>nil}, value: true, validity: true3088 #valid?3089 is expected to eq true3090 #value3091 returns job needs configuration3092 #type3093 is expected to eq :cross_dependency3094 artifacts: {}, value: true, validity: true3095 #valid?3096 is expected to eq true3097 #value3098 returns job needs configuration3099 #type3100 is expected to eq :cross_dependency3101 artifacts: {:artifacts=>1}, value: 1, validity: false3102 #valid?3103 is expected to eq false3104 #value3105 returns job needs configuration3106 #type3107 is expected to eq :cross_dependency3108 artifacts: {:artifacts=>"str"}, value: "str", validity: false3109 #valid?3110 is expected to eq false3111 #value3112 returns job needs configuration3113 #type3114 is expected to eq :cross_dependency3115 behaves like required string attribute3116 #project3117 value: {}, validity: false, error: "can't be blank"3118 #valid?3119 is expected to eq false3120 #value3121 returns needs configuration3122 #type3123 is expected to eq :cross_dependency3124 #errors3125 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223126 is expected to include "cross project dependency project can't be blank"3127 value: {:project=>nil}, validity: false, error: "can't be blank"3128 #valid?3129 is expected to eq false3130 #value3131 returns needs configuration3132 #type3133 is expected to eq :cross_dependency3134 #errors3135 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223136 is expected to include "cross project dependency project can't be blank"3137 value: {:project=>"something"}, validity: true, error: ""3138 #valid?3139 is expected to eq true3140 #value3141 returns needs configuration3142 #type3143 is expected to eq :cross_dependency3144 #errors3145 is expected to be empty3146 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1233147 value: {:project=>:symbol}, validity: false, error: "should be a string"3148 #valid?3149 is expected to eq false3150 #value3151 returns needs configuration3152 #type3153 is expected to eq :cross_dependency3154 #errors3155 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223156 is expected to include "cross project dependency project should be a string"3157 value: {:project=>1}, validity: false, error: "should be a string"3158 #valid?3159 is expected to eq false3160 #value3161 returns needs configuration3162 #type3163 is expected to eq :cross_dependency3164 #errors3165 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223166 is expected to include "cross project dependency project should be a string"3167 behaves like required string attribute3168 #job3169 value: {}, validity: false, error: "can't be blank"3170 #valid?3171 is expected to eq false3172 #value3173 returns needs configuration3174 #type3175 is expected to eq :cross_dependency3176 #errors3177 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223178 is expected to include "cross project dependency job can't be blank"3179 value: {:job=>nil}, validity: false, error: "can't be blank"3180 #valid?3181 is expected to eq false3182 #value3183 returns needs configuration3184 #type3185 is expected to eq :cross_dependency3186 #errors3187 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223188 is expected to include "cross project dependency job can't be blank"3189 value: {:job=>"something"}, validity: true, error: ""3190 #valid?3191 is expected to eq true3192 #value3193 returns needs configuration3194 #type3195 is expected to eq :cross_dependency3196 #errors3197 is expected to be empty3198 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1233199 value: {:job=>:symbol}, validity: false, error: "should be a string"3200 #valid?3201 is expected to eq false3202 #value3203 returns needs configuration3204 #type3205 is expected to eq :cross_dependency3206 #errors3207 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223208 is expected to include "cross project dependency job should be a string"3209 value: {:job=>1}, validity: false, error: "should be a string"3210 #valid?3211 is expected to eq false3212 #value3213 returns needs configuration3214 #type3215 is expected to eq :cross_dependency3216 #errors3217 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223218 is expected to include "cross project dependency job should be a string"3219 behaves like required string attribute3220 #ref3221 value: {}, validity: false, error: "can't be blank"3222 #valid?3223 is expected to eq false3224 #value3225 returns needs configuration3226 #type3227 is expected to eq :cross_dependency3228 #errors3229 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223230 is expected to include "cross project dependency ref can't be blank"3231 value: {:ref=>nil}, validity: false, error: "can't be blank"3232 #valid?3233 is expected to eq false3234 #value3235 returns needs configuration3236 #type3237 is expected to eq :cross_dependency3238 #errors3239 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223240 is expected to include "cross project dependency ref can't be blank"3241 value: {:ref=>"something"}, validity: true, error: ""3242 #valid?3243 is expected to eq true3244 #value3245 returns needs configuration3246 #type3247 is expected to eq :cross_dependency3248 #errors3249 is expected to be empty3250 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1233251 value: {:ref=>:symbol}, validity: false, error: "should be a string"3252 #valid?3253 is expected to eq false3254 #value3255 returns needs configuration3256 #type3257 is expected to eq :cross_dependency3258 #errors3259 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223260 is expected to include "cross project dependency ref should be a string"3261 value: {:ref=>1}, validity: false, error: "should be a string"3262 #valid?3263 is expected to eq false3264 #value3265 returns needs configuration3266 #type3267 is expected to eq :cross_dependency3268 #errors3269 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223270 is expected to include "cross project dependency ref should be a string"3271ApprovalMergeRequestRule3272 associations3273 is expected to have one approval_project_rule_project through approval_project_rule3274 validations3275 is valid3276 is invalid when the name is missing3277 is invalid when name not unique within rule type and merge request3278 approval_project_rule is set3279 when project of approval_project_rule and merge request matches3280 is valid3281 when the project of approval_project_rule and merge request does not match3282 is invalid3283 code owner rules3284 is valid3285 is invalid when reusing the same name within the same merge request3286 allows a regular rule with the same name as the codeowner rule3287 any_approver rules3288 creating only one any_approver rule is allowed3289 .regular_or_any_approver scope3290 returns regular or any-approver rules3291 scopes3292 .not_matching_pattern3293 returns the correct rules3294 .matching_pattern3295 returns the correct rules3296 .code_owners3297 returns the correct rules3298 .license_compliance3299 returns the correct rules3300 .coverage3301 returns the correct rules3302 .find_or_create_code_owner_rule3303 creates a new rule if it does not exist3304 finds an existing rule using rule_type column3305 retries when a record was created between the find and the create3306 when there is an existing rule3307 finds the existing rule3308 when the existing rule matches name but not section3309 creates a new rule3310 when section is present3311 creates a new rule and saves section when present3312 #project3313 returns project of MergeRequest3314 #regular3315 returns true for regular records3316 returns false for code owner records3317 returns false for any approver records3318 #code_owner?3319 rule_type is :code_owner3320 returns true3321 rule_type is :regular3322 returns false3323 #approvers3324 when project merge_requests_author_approval is true3325 contains author3326 when project merge_requests_author_approval is false3327 does not contain author3328 when the rules users have already been loaded3329 does not perform any new queries when all users are loaded already3330 does not contain the author3331 #sync_approved_approvers3332 when not merged3333 does nothing3334 when merged3335 records approved approvers as approved_approvers association3336 stores all the approvals for any-approver rule3337 validations3338 approvals_required3339 is a natural number3340 #refresh_required_approvals!3341 when the rule is a `License-Check` rule3342 when the latest license report violates the compliance policy3343 is expected to equal 373344 when the latest license report adheres to the compliance policy3345 is expected to be zero3346 #vulnerability_states_for_branch3347 with target branch equal to project default branch3348 returns all vulnerability states3349 with target branch different from project default branch3350 returns only newly detected3351 without newly_detected3352 returns empty array3353 #track_approvers_for_report_approver3354 with rule_type other than report_approver3355 does not call track_invalid_approvers3356 with report_approver as rule_type3357 calls track_invalid_approvers3358 with approvers3359 does not call track_invalid_approvers3360Members::DestroyService3361 when current_user is present3362 with group membership via Group SAML3363 with a SAML identity3364 cleans up linked SAML identity3365 without a SAML identity3366 does not attempt to destroy unrelated identities3367 audit events3368 does not log the audit event as a system event3369 behaves like logs an audit event3370 is expected to change `AuditEvent.count` by 13371 group deletion schedule3372 when member user has a scheduled deletion for the group3373 deletes the group deletion schedule3374 when scheduled deletion for the group belongs to different user3375 does not delete the group deletion schedule3376 on-call rotations3377 when member is in an on-call rotation3378 when group member is removed3379 calls the remove service for each project in the group3380 when project member is removed3381 calls the remove service for that project only3382 when member is not part of an on-call rotation for the group3383 does not call the remove service3384 user escalation rules3385 group member is removed3386Skipping ./ee/spec/services/ee/members/destroy_service_spec.rb[1:1:5:1:1] 'Members::DestroyService when current_user is present user escalation rules group member is removed calls the destroy service with rules each project in the group' because it's flaky.3387 calls the destroy service with rules each project in the group (PENDING: around hook at ./spec/support/flaky_tests.rb:21 did not execute the example)3388 project member is removed3389 calls the destroy service with rules for the project3390 when current user is not present3391 for members with expired access3392 audit events3393 logs the audit event as a system event3394 behaves like logs an audit event3395 is expected to change `AuditEvent.count` by 13396Gitlab::Licenses::SubmitLicenseUsageDataBanner3397 #reset3398 when check namespace plan setting is enabled3399 does not reset the submit license usage data3400 when feature flag :automated_email_provision is disabled3401 does not reset the submit license usage data3402 when there is only a future dated license3403 does not reset the submit license usage data3404 when current license is an online cloud license3405 does not reset the submit license usage data3406 when current license is a legacy license3407 does not reset the submit license usage data3408 when current license is for a trial3409 does not reset the submit license usage data3410 when license start day matches today's day3411 resets the submit license usage data3412 when license start day does not match today's day3413 and today is the end of the month3414 and the start date's day is smaller than today's day3415 does not reset the submit license usage data3416 and the start date's day is bigger than today's day3417 current_date: Mon, 28 Feb 20223418 resets the submit license usage data3419 current_date: Thu, 29 Feb 20243420 resets the submit license usage data3421 current_date: Sat, 30 Apr 20223422 resets the submit license usage data3423 #display?3424 is expected to eq true3425 when user is empty3426 is expected to eq false3427 when user cannot admin all resources3428 is expected to eq false3429 when check namespace plan setting is enabled3430 is expected to eq false3431 when feature flag :automated_email_provision is disabled3432 is expected to eq false3433 when current license is an online cloud license3434 is expected to eq false3435 when current license is a legacy license3436 is expected to eq false3437 when current license is for a trial3438 is expected to eq false3439 when there is only a future dated license3440 is expected to eq false3441 when it's within the first month of the license3442 is expected to eq false3443 when user dismissed the callout3444 is expected to eq false3445 #title3446 returns the title3447 when banner should not be displayed3448 does not return a title3449 #body3450 returns the body3451 when banner should not be displayed3452 does not return a body3453 #dismissable?3454 is expected to eq true3455 when license usage data has not been exported yet3456 is expected to eq false3457MergeTrains::RefreshMergeRequestService3458 #execute3459 when merge pipelines project configuration is disabled3460 behaves like drops the merge request from the merge train3461 is expected to receive abort(#<MergeRequest id:212 namespace429/project378!1>, "project disabled merge trains", hash_including(:process_next=>false)) 1 time3462 when merge trains not enabled3463 behaves like drops the merge request from the merge train3464 is expected to receive abort(#<MergeRequest id:213 namespace429/project378!1>, "project disabled merge trains", hash_including(:process_next=>false)) 1 time3465 when merge request is not in a mergeable state3466 behaves like drops the merge request from the merge train3467 is expected to receive abort(#<MergeRequest id:214 namespace429/project378!1>, "merge request is not mergeable", hash_including(:process_next=>false)) 1 time3468 when pipeline for merge train failed3469 behaves like drops the merge request from the merge train3470 is expected to receive abort(#<MergeRequest id:215 namespace429/project378!1>, "pipeline did not succeed", hash_including(:process_next=>false)) 1 time3471 when merge request is to be squashed3472 behaves like creates a pipeline for merge train3473 is expected to be fresh3474 when previous ref is not found3475 behaves like drops the merge request from the merge train3476 is expected to receive abort(#<MergeRequest id:217 namespace429/project378!1>, "previous ref does not exist", hash_including(:process_next=>false)) 1 time3477 when pipeline has not been created yet3478 when the merge request is the first queue3479 behaves like creates a pipeline for merge train3480 is expected to be fresh3481 when it failed to create a pipeline3482 behaves like drops the merge request from the merge train3483 is expected to receive abort(#<MergeRequest id:219 namespace429/project378!1>, "failed to create pipeline", hash_including(:process_next=>false)) 1 time3484 when pipeline for merge train is running3485 when the pipeline is not stale3486 behaves like does not create a pipeline3487 is expected to be falsy3488 when the pipeline is stale3489 behaves like cancels and recreates a pipeline for the merge train3490 cancels and recreates a pipeline for the merge train3491 when the pipeline is required to be recreated3492 behaves like cancels and recreates a pipeline for the merge train3493 cancels and recreates a pipeline for the merge train3494 when pipeline for merge train succeeded3495 when the merge request is the first queue3496 merges the merge request3497 when it failed to merge the merge request3498 does not finish merge and drops the merge request from train3499 behaves like drops the merge request from the merge train3500 is expected to receive abort(#<MergeRequest id:225 namespace429/project378!1>, "failed to merge. Branch has been updated since the merge was requested.", hash_including(:process_next=>false)) 1 time3501 when the merge request is not the first queue3502 does not merge the merge request3503Iterations::DeleteService3504 #execute3505 when iterations feature enabled3506 when user is authorized3507 when deleting a past iteration3508 behaves like successfully deletes an iteration3509 is expected to be success3510 deletes the iteration and associated records3511 returns the iteration group as part of the response3512 when deleting the current iteration3513 behaves like iteration delete fails with message3514 is expected to be error3515 returns not allowed message3516 returns the iteration group as part of the response3517 when deleting a upcoming iteration that is not the last one3518 behaves like iteration delete fails with message3519 is expected to be error3520 returns not allowed message3521 returns the iteration group as part of the response3522 when deleting the last upcoming iteration3523 behaves like successfully deletes an iteration3524 is expected to be success3525 deletes the iteration and associated records3526 returns the iteration group as part of the response3527 when deleting the current iteration in another cadence3528 behaves like successfully deletes an iteration3529 is expected to be success3530 deletes the iteration and associated records3531 returns the iteration group as part of the response3532 when user is not authorized3533 behaves like iteration delete fails with message3534 is expected to be error3535 returns not allowed message3536 returns the iteration group as part of the response3537 when iterations feature disabled3538 when user is authorized3539 behaves like iteration delete fails with message3540 is expected to be error3541 returns not allowed message3542 returns the iteration group as part of the response3543 when user is not authorized3544 behaves like iteration delete fails with message3545 is expected to be error3546 returns not allowed message3547 returns the iteration group as part of the response3548Users::DestroyService3549 #execute3550 when admin mode is disabled3551 raises access denied3552 when admin mode is enabled3553 returns result3554 when project is a mirror3555 disables mirror and does not assign a new mirror_user3556 migrating associated records3557 when hard_delete option is given3558 will ghost certain records3559 when user has oncall rotations3560 in their own project3561 deletes the project and the schedule3562 in a group project3563 deletes the participant from the rotation3564 sends an email about the user being removed from the rotation3565 when user has escalation rules3566 deletes the escalation rules and notifies owners of group projects3567 audit events3568 when licensed3569 does not log audit event if operation fails3570 when operation succeeds3571 logs an audit event3572 logs the audit event info3573 when not licensed3574 does not log audit event3575Gitlab::Ci::Reports::LicenseScanning::License3576 equality3577 #eql?3578 is expected to be empty3579 is expected to contain exactly #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007f78dc1b1938 @id="MIT", @name="MIT", @url="", @dependencies=#<Set: {}>>3580 is expected to be empty3581 is expected to be empty3582 is expected to be empty3583 is expected to contain exactly #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007f78ddc40970 @id="Apache-2.0", @name="Apache 2.0", @url="", @dependencies=#<Set: {}>>3584 is expected not to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007f78dd72cf60 @id="MIT", @name="MIT", @url="", @dependencies=#<Set: {}>>3585 is expected not to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007f78dec764e8 @id="MIT", @name="MIT", @url="", @dependencies=#<Set: {}>>3586 is expected to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007f78dd3d79f0 @id=nil, @name=nil, @url=nil, @dependencies=#<Set: {}>>3587 is expected not to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007f78dd26c9f8 @id=nil, @name=nil, @url=nil, @dependencies=#<Set: {}>>3588 is expected not to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007f78dd0d4b40 @id="Apache-2.0", @name="Apache 2.0", @url="", @dependencies=#<Set: {}>>3589 is expected not to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007f78e1869640 @id="Apache-2.0", @name="Apache 2.0", @url="", @dependencies=#<Set: {}>>3590 is expected to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007f78e16fd798 @id="MIT", @name="MIT", @url="", @dependencies=#<Set: {}>>3591 is expected to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007f78dcd97518 @id="MIT", @name="MIT", @url="", @dependencies=#<Set: {}>>3592 is expected not to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007f78df7db388 @id=nil, @name=nil, @url=nil, @dependencies=#<Set: {}>>3593 is expected not to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007f78df72fb00 @id="Apache-2.0", @name="Apache 2.0", @url="", @dependencies=#<Set: {}>>3594 is expected not to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007f78dcb2eec0 @id="Apache-2.0", @name="Apache 2.0", @url="", @dependencies=#<Set: {}>>3595 is expected to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007f78dc21b658 @id="MIT", @name="MIT", @url="", @dependencies=#<Set: {}>>3596 is expected to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007f78dbac6b00 @id="MIT", @name="MIT", @url="", @dependencies=#<Set: {}>>3597 is expected to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007f78dd860ff8 @id="MIT", @name="", @url="", @dependencies=#<Set: {}>>3598 #hash3599 is expected to eql -18306021195234599613600 is expected to eql -10277901004956781643601 is expected to eql -10277901004956781643602 #canonical_id3603 when the license was produced from a v1 report3604 is expected to eql "mit license"3605 when the name matches a known legacy software license name3606 name: "AGPL-1.0", spdx_id: "AGPL-1.0"3607 is expected to eql "AGPL-1.0"3608 is expected to eql "AGPL-1.0"3609 name: "AGPL-3.0", spdx_id: "AGPL-3.0"3610 is expected to eql "AGPL-3.0"3611 is expected to eql "AGPL-3.0"3612 name: "Apache 2.0", spdx_id: "Apache-2.0"3613 is expected to eql "Apache-2.0"3614 is expected to eql "Apache-2.0"3615 name: "Artistic-2.0", spdx_id: "Artistic-2.0"3616 is expected to eql "Artistic-2.0"3617 is expected to eql "Artistic-2.0"3618 name: "BSD", spdx_id: "BSD-4-Clause"3619 is expected to eql "BSD-4-Clause"3620 is expected to eql "BSD-4-Clause"3621 name: "CC0 1.0 Universal", spdx_id: "CC0-1.0"3622 is expected to eql "CC0-1.0"3623 is expected to eql "CC0-1.0"3624 name: "CDDL-1.0", spdx_id: "CDDL-1.0"3625 is expected to eql "CDDL-1.0"3626 is expected to eql "CDDL-1.0"3627 name: "CDDL-1.1", spdx_id: "CDDL-1.1"3628 is expected to eql "CDDL-1.1"3629 is expected to eql "CDDL-1.1"3630 name: "EPL-1.0", spdx_id: "EPL-1.0"3631 is expected to eql "EPL-1.0"3632 is expected to eql "EPL-1.0"3633 name: "EPL-2.0", spdx_id: "EPL-2.0"3634 is expected to eql "EPL-2.0"3635 is expected to eql "EPL-2.0"3636 name: "GPLv2", spdx_id: "GPL-2.0"3637 is expected to eql "GPL-2.0"3638 is expected to eql "GPL-2.0"3639 name: "GPLv3", spdx_id: "GPL-3.0"3640 is expected to eql "GPL-3.0"3641 is expected to eql "GPL-3.0"3642 name: "ISC", spdx_id: "ISC"3643 is expected to eql "ISC"3644 is expected to eql "ISC"3645 name: "LGPL", spdx_id: "LGPL-3.0-only"3646 is expected to eql "LGPL-3.0-only"3647 is expected to eql "LGPL-3.0-only"3648 name: "LGPL-2.1", spdx_id: "LGPL-2.1"3649 is expected to eql "LGPL-2.1"3650 is expected to eql "LGPL-2.1"3651 name: "MIT", spdx_id: "MIT"3652 is expected to eql "MIT"3653 is expected to eql "MIT"3654 name: "Mozilla Public License 2.0", spdx_id: "MPL-2.0"3655 is expected to eql "MPL-2.0"3656 is expected to eql "MPL-2.0"3657 name: "MS-PL", spdx_id: "MS-PL"3658 is expected to eql "MS-PL"3659 is expected to eql "MS-PL"3660 name: "MS-RL", spdx_id: "MS-RL"3661 is expected to eql "MS-RL"3662 is expected to eql "MS-RL"3663 name: "New BSD", spdx_id: "BSD-3-Clause"3664 is expected to eql "BSD-3-Clause"3665 is expected to eql "BSD-3-Clause"3666 name: "Python Software Foundation License", spdx_id: "Python-2.0"3667 is expected to eql "Python-2.0"3668 is expected to eql "Python-2.0"3669 name: "ruby", spdx_id: "Ruby"3670 is expected to eql "Ruby"3671 is expected to eql "Ruby"3672 name: "Simplified BSD", spdx_id: "BSD-2-Clause"3673 is expected to eql "BSD-2-Clause"3674 is expected to eql "BSD-2-Clause"3675 name: "WTFPL", spdx_id: "WTFPL"3676 is expected to eql "WTFPL"3677 is expected to eql "WTFPL"3678 name: "Zlib", spdx_id: "Zlib"3679 is expected to eql "Zlib"3680 is expected to eql "Zlib"3681 when the license was produced from a v2 report3682 is expected to eql "MIT"3683VisibleApprovable3684 #overall_approvers3685 returns a list of all the project approvers3686 when exclude_code_owners is true3687 excludes code owners3688 when approvers are overwritten3689 returns the list of all the merge request level approvers3690 when author is an approver3691 excludes author if author cannot approve3692 includes author if author is able to approve3693 when a committer is an approver3694 excludes the committer if committers cannot approve3695 includes the committer if committers are able to approve3696 #authors_can_approve?3697 returns false when merge_requests_author_approval flag is off3698 returns true when merge_requests_author_approval flag is turned on3699Security::SecurityOrchestrationPolicies::CreatePipelineService3700 #execute3701 when scan type is valid3702 when action is valid3703 sets the build name to secret_detection3704 creates a build with appropriate variables3705 behaves like valid security orchestration policy action3706 returns a success status3707 returns a pipeline3708 creates a pipeline3709 sets the pipeline ref to the branch3710 sets the source to security_orchestration_policy3711 creates a stage3712 creates a build3713 for container_scanning scan3714 sets the build name to container_scanning3715 behaves like valid security orchestration policy action3716 returns a success status3717 returns a pipeline3718 creates a pipeline3719 sets the pipeline ref to the branch3720 sets the source to security_orchestration_policy3721 creates a stage3722 creates a build3723 for sast scan3724 sets the build name to sast3725 when action contains variables3726 parses variables from the action and applies them in configuration service3727 when project has a compliance framework3728 does not include the compliance definition3729WikiPages::UpdateService3730 #execute3731DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:151)3732 calls Geo::RepositoryUpdatedService when running on a Geo primary node3733DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:151)3734 does not call Geo::RepositoryUpdatedService when not running on a Geo primary node3735 behaves like WikiPages::UpdateService#execute3736 updates the wiki page3737 executes webhooks3738 counts edit events3739 does not call Geo::RepositoryUpdatedService when container is group3740 the page is at the top level3741 adds a new wiki page activity event (PENDING: group wiki support)3742 the page is in a subsection3743 adds a new wiki page activity event (PENDING: group wiki support)3744 when the options are bad3745 does not count an edit event3746 does not record the activity3747 reports the error3748Boards::Epics::ListService3749 #execute3750 returns epics sorted by position on the board3751 calls the from_id scope3752 returns opened items when using board param only3753 behaves like items list service3754 avoids N+13755 returns opened items when list_id and list are missing3756 returns opened items when listing items from Backlog3757 returns opened items that have label list applied when listing items from a label list3758 returns closed items when listing items from Closed sorted by closed_at in descending order3759 raises an error if the list does not belong to the board3760 raises an error if list and list id are invalid or missing3761 returns items from all lists if :all_list is used3762 returns opened items that have label list applied when using list param3763 #metadata3764 with all fields included in the required_fields3765 contains correct data including weight3766 with total_weight not included in the required_fields3767 contains correct data without weight3768 with epics_count not included in the required_fields3769 contains correct data without weight3770 with required_fields set to nil3771 does not contain any data3772ElasticNamespaceIndexerWorker3773 when ES is disabled3774 returns true3775 when ES is enabled3776 returns true if limited indexing is not enabled3777 indexing and deleting3778 indexes all projects belonging to the namespace3779 deletes all projects belonging to the namespace3780BoardsHelper3781 #current_board_json3782 serializes with child object attributes3783 #build_issue_link_base3784 when epic board3785 generates the correct url3786 #board_base_url3787 when epic board3788 generates the correct url3789 #board_data3790 issue board3791 when no iteration3792 serializes board without iteration3793 when board is scoped to an iteration3794 serializes board with iteration3795 group and project-level licensed features3796 when 'multiple_issue_assignees' is available3797 indicates that the feature is available in a boolean string3798 when 'multiple_issue_assignees' is unavailable3799 indicates that the feature is unavailable in a boolean string3800 when 'issue_weights' is available3801 indicates that the feature is available in a boolean string3802 when 'issue_weights' is unavailable3803 indicates that the feature is unavailable in a boolean string3804 when 'board_milestone_lists' is available3805 indicates that the feature is available in a boolean string3806 when 'board_milestone_lists' is unavailable3807 indicates that the feature is unavailable in a boolean string3808 when 'board_assignee_lists' is available3809 indicates that the feature is available in a boolean string3810 when 'board_assignee_lists' is unavailable3811 indicates that the feature is unavailable in a boolean string3812 when 'scoped_labels' is available3813 indicates that the feature is available in a boolean string3814 when 'scoped_labels' is unavailable3815 indicates that the feature is unavailable in a boolean string3816 when 'scoped_issue_board' is available3817 indicates that the feature is available in a boolean string3818 when 'scoped_issue_board' is unavailable3819 indicates that the feature is unavailable in a boolean string3820 group-level licensed features3821 when 'board_iteration_lists' is available3822 indicates that the feature is available in a boolean string3823 when 'board_iteration_lists' is unavailable3824 indicates that the feature is unavailable in a boolean string3825 when 'epics' is available3826 indicates that the feature is available in a boolean string3827 when 'epics' is unavailable3828 indicates that the feature is unavailable in a boolean string3829 when 'iterations' is available3830 indicates that the feature is available in a boolean string3831 when 'iterations' is unavailable3832 indicates that the feature is unavailable in a boolean string3833 when 'subepics' is available3834 indicates that the feature is available in a boolean string3835 when 'subepics' is unavailable3836 indicates that the feature is unavailable in a boolean string3837 epic board3838 returns the correct permission for creating an epic from board3839 returns the correct permission for updating the board3840 returns the correct permission for administering the boards lists3841 returns the correct permission for administering the boards3842PersonalAccessToken3843 scopes3844 with_expires_at_after3845 includes the tokens with higher than the lifetime expires_at value3846 doesn't contain expired tokens3847 doesn't contain tokens within the expiration time3848 with_no_expires_at3849 includes the tokens with nil expires_at3850 doesn't contain expired tokens3851 doesn't contain tokens within the expiration time3852 expires_in3853 only includes one token3854 validations3855 allows to define expires_at3856 allows to don't define expires_at3857 with expiration policy3858 when the feature is licensed3859 when the user does not belong to a managed group3860 behaves like PAT expiry rules are enforced3861 requires to be less or equal than the max_personal_access_token_lifetime3862 can't be blank3863 when the user belongs to a managed group3864 when the group has enforced a PAT expiry rule3865 behaves like PAT expiry rules are enforced3866 requires to be less or equal than the max_personal_access_token_lifetime3867 can't be blank3868 when the group has not enforced a PAT expiry setting3869 when the instance has enforced a PAT expiry setting3870 behaves like PAT expiry rules are enforced3871 requires to be less or equal than the max_personal_access_token_lifetime3872 can't be blank3873 when the instance does not enforce a PAT expiry setting3874 behaves like PAT expiry rules are not enforced3875 allows expiry to be after the max_personal_access_token_lifetime3876 can be blank3877 when the feature is not available3878 behaves like PAT expiry rules are not enforced3879 allows expiry to be after the max_personal_access_token_lifetime3880 can be blank3881 .pluck_names3882 returns the names of the tokens3883 .with_invalid_expires_at3884 includes the tokens with invalid expires_at3885 doesn't include valid tokens3886 doesn't include revoked tokens3887 doesn't include expired tokens3888 #revoke3889 clears cache on revoke access3890 after create callback3891 clears cache for the user3892MemberEntity3893 group member3894 behaves like member.json3895 matches json schema3896 correctly exposes `using_license`3897 correctly exposes `group_sso`3898 correctly exposes `group_managed_account`3899 correctly exposes `can_override`3900 correctly exposes `provisioned_by_this_group`3901 project member3902 behaves like member.json3903 matches json schema3904 correctly exposes `using_license`3905 correctly exposes `group_sso`3906 correctly exposes `group_managed_account`3907 correctly exposes `can_override`3908 correctly exposes `provisioned_by_this_group`3909IncidentManagement::IssuableEscalationStatuses::AfterUpdateService3910 when escalation policies feature is unavailable3911 behaves like does not alter the pending escalations3912 is expected not to change `IncidentManagement::PendingEscalations::Issue.count`3913 when issue is associated with an alert3914 behaves like does not alter the pending escalations3915 is expected not to change `IncidentManagement::PendingEscalations::Issue.count`3916 resetting pending escalations3917 old_status: :triggered, new_status: :triggered, had_policy: false, has_policy: false, should_delete: false, should_create: false3918 deletes or creates pending escalations as required3919 old_status: :resolved, new_status: :resolved, had_policy: false, has_policy: false, should_delete: false, should_create: false3920 deletes or creates pending escalations as required3921 old_status: :triggered, new_status: :acknowledged, had_policy: false, has_policy: false, should_delete: false, should_create: false3922 deletes or creates pending escalations as required3923 old_status: :acknowledged, new_status: :resolved, had_policy: false, has_policy: false, should_delete: false, should_create: false3924 deletes or creates pending escalations as required3925 old_status: :resolved, new_status: :triggered, had_policy: false, has_policy: false, should_delete: false, should_create: false3926 deletes or creates pending escalations as required3927 old_status: :resolved, new_status: :ignored, had_policy: false, has_policy: false, should_delete: false, should_create: false3928 deletes or creates pending escalations as required3929 old_status: :triggered, new_status: :triggered, had_policy: true, has_policy: false, should_delete: true, should_create: false3930 deletes or creates pending escalations as required3931 old_status: :resolved, new_status: :resolved, had_policy: true, has_policy: false, should_delete: false, should_create: false3932 deletes or creates pending escalations as required3933 old_status: :triggered, new_status: :acknowledged, had_policy: true, has_policy: false, should_delete: true, should_create: false3934 deletes or creates pending escalations as required3935 old_status: :acknowledged, new_status: :resolved, had_policy: true, has_policy: false, should_delete: true, should_create: false3936 deletes or creates pending escalations as required3937 old_status: :resolved, new_status: :triggered, had_policy: true, has_policy: false, should_delete: false, should_create: false3938 deletes or creates pending escalations as required3939 old_status: :resolved, new_status: :ignored, had_policy: true, has_policy: false, should_delete: false, should_create: false3940 deletes or creates pending escalations as required3941 old_status: :triggered, new_status: :triggered, had_policy: true, has_policy: true, should_delete: false, should_create: false3942 deletes or creates pending escalations as required3943 old_status: :resolved, new_status: :resolved, had_policy: true, has_policy: true, should_delete: false, should_create: false3944 deletes or creates pending escalations as required3945 old_status: :triggered, new_status: :acknowledged, had_policy: true, has_policy: true, should_delete: false, should_create: false3946 deletes or creates pending escalations as required3947 old_status: :acknowledged, new_status: :resolved, had_policy: true, has_policy: true, should_delete: true, should_create: false3948 deletes or creates pending escalations as required3949 old_status: :resolved, new_status: :triggered, had_policy: true, has_policy: true, should_delete: false, should_create: true3950 deletes or creates pending escalations as required3951 old_status: :resolved, new_status: :ignored, had_policy: true, has_policy: true, should_delete: false, should_create: false3952 deletes or creates pending escalations as required3953 old_status: :triggered, new_status: :triggered, had_policy: false, has_policy: true, should_delete: false, should_create: true3954 deletes or creates pending escalations as required3955 old_status: :resolved, new_status: :triggered, had_policy: false, has_policy: true, should_delete: false, should_create: true3956 deletes or creates pending escalations as required3957 old_status: :acknowledged, new_status: :triggered, had_policy: false, has_policy: true, should_delete: false, should_create: true3958 deletes or creates pending escalations as required3959Security::Ingestion::Tasks::IngestRemediations3960 #execute3961 creates remediations and updates the associations3962 behaves like bulk insertable task3963 when the validation fails3964 can generate error messages correctly3965Mutations::Projects::SetLocked3966 #resolve3967 raises an error if the resource is not accessible to the user3968 when the user can lock the file3969 when file_locks feature is not available3970 raises an error3971 when file is not locked3972 sets path locks for the project3973 when file is already locked3974 does not change the lock3975 when LFS is enabled3976 locks the file in LFS3977 when file is not tracked in LFS3978 does not lock the file3979 when locking a directory3980 locks the directory3981 does not locks the directory through LFS3982 when the user can unlock the file3983 when file is already locked by the same user3984 unlocks the file3985 when file is already locked by somebody else3986 returns an error3987 when file is not locked3988 does nothing3989 when LFS is enabled3990 when file is locked3991 unlocks the file3992 unlocks the file in LFS3993 when file is not tracked in LFS3994 does not unlock the file3995 when unlocking a directory3996 unlocks the directory3997 does not call the LFS unlock service3998EE::TrialHelper3999 #create_lead_form_data4000 provides expected form data4001 allows overriding data with params4002 when params are empty4003 uses the values from current user4004 #create_company_form_data4005 provides expected form data4006 allows overriding data with params4007 #should_ask_company_question?4008 glm_source: "about.gitlab.com", result: false4009 is expected to eq false4010 glm_source: "learn.gitlab.com", result: false4011 is expected to eq false4012 glm_source: "docs.gitlab.com", result: false4013 is expected to eq false4014 glm_source: "abouts.gitlab.com", result: true4015 is expected to eq true4016 glm_source: "about.gitlab.org", result: true4017 is expected to eq true4018 glm_source: "about.gitlob.com", result: true4019 is expected to eq true4020 glm_source: nil, result: true4021 is expected to eq true4022 #glm_params4023 is memoized4024 glm_source: nil, glm_content: nil, result: {}4025 is expected to eq {}4026 glm_source: "source", glm_content: nil, result: {:glm_source=>"source"}4027 is expected to eq {"glm_source"=>"source"}4028 glm_source: nil, glm_content: "content", result: {:glm_content=>"content"}4029 is expected to eq {"glm_content"=>"content"}4030 glm_source: "source", glm_content: "content", result: {:glm_source=>"source", :glm_content=>"content"}4031 is expected to eq {"glm_content"=>"content", "glm_source"=>"source"}4032 #namespace_options_for_select4033 when there is no eligible group4034 returns just the "New" option group4035 when only group namespaces are eligible4036 returns the "New" and "Groups" option groups4037 when some group namespaces are eligible4038 returns the "New", "Groups" option groups4039 #trial_selection_intro_text4040 have_group_namespace: true, text: "You can apply your trial to a new group or an existing group."4041 is expected to eq "You can apply your trial to a new group or an existing group."4042 have_group_namespace: false, text: "Create a new group to start your GitLab Ultimate trial."4043 is expected to eq "Create a new group to start your GitLab Ultimate trial."4044 #show_trial_namespace_select?4045 is expected to eq false4046 with some trial group namespaces4047 is expected to eq true4048 #show_extend_reactivate_trial_button?4049 when feature flag is disabled4050 is expected to be falsey4051 can_extend_trial: false, can_reactivate_trial: false, result: false4052 is expected to eq false4053 can_extend_trial: true, can_reactivate_trial: false, result: true4054 is expected to eq true4055 can_extend_trial: false, can_reactivate_trial: true, result: true4056 is expected to eq true4057 can_extend_trial: true, can_reactivate_trial: true, result: true4058 is expected to eq true4059 #extend_reactivate_trial_button_data4060 when feature flag is disabled4061 when trial can be extended4062 is expected to eq {:action=>nil, :namespace_id=>1, :trial_plan_name=>"Ultimate"}4063 when trial can be reactivated4064 is expected to eq {:action=>nil, :namespace_id=>1, :trial_plan_name=>"Ultimate"}4065 when trial can be extended4066 is expected to eq {:action=>"extend", :namespace_id=>1, :trial_plan_name=>"Ultimate"}4067 when trial can be reactivated4068 is expected to eq {:action=>"reactivate", :namespace_id=>1, :trial_plan_name=>"Ultimate"}4069 #only_trialable_group_namespace4070 when there is 1 namespace group eligible4071 is expected to eq #<Group id:4431 @group1328>4072 when more than 1 namespace is eligible4073 is expected to be nil4074 when there are 0 namespace groups eligible4075 is expected to be nil4076Gitlab::GroupSearchResults4077 #epics4078 searching4079 finds epics4080 ordering4081 sort: created_desc4082 sorts results by created_at4083 sort: created_asc4084 sorts results by created_at4085 sort: updated_desc4086 sorts results by updated_desc4087 sort: updated_asc4088 sorts results by updated_asc4089Geo::ProjectSyncWorker4090 #perform4091 when project could not be found4092 logs an error and returns4093 when the shard associated to the project is unhealthy4094 logs an error and returns4095 when project repositories has never been synced4096 performs Geo::RepositorySyncService for the given project4097 performs Geo::WikiSyncService for the given project4098 when project repositories has been synced4099 does not perform Geo::RepositorySyncService for the given project4100 does not perform Geo::WikiSyncService for the given project4101 when last attempt to sync project repositories failed4102 performs Geo::RepositorySyncService for the given project4103 performs Geo::WikiSyncService for the given project4104Dashboard::Projects::CreateService4105 #execute4106 with projects4107 with integer id4108 adds a project4109 with string id4110 adds a project4111 with a project that does not exist4112 does not add a not found project4113 when feature name is provided4114 with project without provided feature enabled4115 checks if feature is available4116 does not check if user has access to the project with given ability4117 does not add a not licensed project4118 when ability name is provided4119 with project for which user has no permission4120 does not check if feature is available4121 checks if user has access to the project with given ability4122 does not add a not licensed project4123 with repeating project id4124 adds a project only once4125 with already added project4126 does not add duplicates4127Gitlab::Auth::GroupSaml::SessionEnforcer4128 #access_restricted4129 when git check is enforced4130 with an active session4131 behaves like not enforced4132 is not enforced4133 with sub-group4134 behaves like not enforced4135 is not enforced4136 with expired session4137 returns true4138 with two active sessions4139 behaves like not enforced4140 is not enforced4141 with two active sessions for the same provider and one pre-sso4142 behaves like not enforced4143 is not enforced4144 without enforced_sso_expiry feature flag4145 behaves like not enforced4146 is not enforced4147 without group4148 behaves like not enforced4149 is not enforced4150 without saml_provider4151 behaves like not enforced4152 is not enforced4153 with admin4154 behaves like not enforced4155 is not enforced4156 with auditor4157 behaves like not enforced4158 is not enforced4159 with group owner4160 behaves like not enforced4161 is not enforced4162 without any session4163 returns true4164 with admin4165 behaves like not enforced4166 is not enforced4167 with auditor4168 behaves like not enforced4169 is not enforced4170 with group owner4171 behaves like not enforced4172 is not enforced4173 when group is a subgroup4174 returns true4175 with project bot4176 behaves like not enforced4177 is not enforced4178 when git check is not enforced4179 with an active session4180 behaves like not enforced4181 is not enforced4182 without any session4183 behaves like not enforced4184 is not enforced4185Iterations::CreateService4186 for projects4187 behaves like iterations create service4188 iterations feature enabled4189 #execute4190 valid params4191 creates an iteration4192 invalid params4193 does not create an iteration but returns errors4194 no permissions4195 is not allowed4196 iterations feature disabled4197 #execute4198 is not allowed4199 for groups4200 group without cadences4201 behaves like iterations create service4202 iterations feature enabled4203 #execute4204 valid params4205 creates an iteration4206 invalid params4207 does not create an iteration but returns errors4208 no permissions4209 is not allowed4210 iterations feature disabled4211 #execute4212 is not allowed4213 group with a cadence4214 behaves like iterations create service4215 iterations feature enabled4216 #execute4217 valid params4218 creates an iteration4219 invalid params4220 does not create an iteration but returns errors4221 no permissions4222 is not allowed4223 iterations feature disabled4224 #execute4225 is not allowed4226 group with multiple cadences4227 behaves like iterations create service4228 iterations feature enabled4229 #execute4230 valid params4231 creates an iteration4232 invalid params4233 does not create an iteration but returns errors4234 no permissions4235 is not allowed4236 iterations feature disabled4237 #execute4238 is not allowed4239 with specific cadence being passed as param4240 creates an iteration4241 when iteration_cadences FF is disabled4242 creates an iteration in the default (first) cadence4243 does not update the iterations from the non-default cadences4244Epics::CreateService4245 behaves like rate limited service4246 .rate_limiter_scoped_and_keyed4247 is set via the rate_limit call4248 #rate_limiter_bypassed4249 is nil by default4250 #execute4251 when rate limiting is in effect4252 when too many requests are sent by one user4253 raises an error4254 creates 1 issue4255 when limit is higher than count of issues being created4256 creates 2 issues4257 #execute4258 creates one epic correctly4259 handling fixed dates4260 sets the fixed date correctly4261 after_save callback to store_mentions4262 when mentionable attributes change4263 when content has no mentions4264 calls store_mentions! and saves no mentions4265 when content has mentions4266 calls store_mentions! and saves mentions4267 when mentionable.save fails4268 does not call store_mentions and saves no mentions4269 when description param has quick action4270 for /parent_epic4271 assigns parent epic4272 when parent epic cannot be assigned4273 does not assign parent epic4274 for /child_epic4275 sets a child epic4276 when child epic cannot be assigned4277 does not set child epic4278AppSec::Dast::SiteProfiles::DestroyService4279 #execute4280 when a user does not have access to the project4281 returns an error status4282 populates message4283 when the user can run a DAST scan4284 returns a success status4285 deletes the dast_site_profile4286 returns a dast_site_profile payload4287 audits the deletion4288 when the dast_site_profile does not exist4289 returns an error status4290 populates message4291 when on demand scan licensed feature is not available4292 returns an error status4293 populates message4294 when project has security policies enabled4295 when there is no policy that is referencing the profile4296 returns a success status4297 when there is a policy that is referencing the profile4298 returns an error status4299 populates message4300Vulnerabilities::ExportPolicy4301 when security dashboard is licensed4302 with a user that is an author of vulnerability export4303 when user has access to vulnerabilities from the project4304 is expected to be allowed :read_vulnerability_export4305 when user has no access to vulnerabilities from the project4306 is expected to be disallowed :read_vulnerability_export4307 with a user that is not an author of vulnerability export4308 when user has access to vulnerabilities from the project4309 is expected to be disallowed :read_vulnerability_export4310 when user has no access to vulnerabilities from the project4311 is expected to be disallowed :read_vulnerability_export4312 when security dashboard is not licensed4313 with a user that is an author of vulnerability export4314 when user has access to vulnerabilities from the project4315 is expected to be disallowed :read_vulnerability_export4316 when user has no access to vulnerabilities from the project4317 is expected to be disallowed :read_vulnerability_export4318 with a user that is not an author of vulnerability export4319 when user has access to vulnerabilities from the project4320 is expected to be disallowed :read_vulnerability_export4321 when user has no access to vulnerabilities from the project4322 is expected to be disallowed :read_vulnerability_export4323EE::Gitlab::Auth::Ldap::Sync::Proxy4324 #dns_for_group_cn4325 returns an empty array when LDAP group cannot be found4326 returns an empty array when LDAP group has no members4327 with a valid LDAP group that contains ASCII-8BIT-encoded Unicode data4328 return members DNs4329 with a valid LDAP group that contains members4330 returns member DNs4331 returns normalized DNs4332 returns cached results after the first lookup4333 returns member DNs for posixGroup4334 returns member DNs when member value is in uid=<user> format4335 returns valid DNs while gracefully skipping malformed DNs4336 returns valid DNs while gracefully handling empty entries4337 when there is a connection problem4338 raises exception4339 #dn_for_uid4340 returns nil when no user is found4341 when secondary_extern_uid is not stored in the database4342 returns the normalized user DN4343 retrieves the user from LDAP4344 returns cached results after the first lookup4345 saves the secondary_extern_uid4346 is graceful when no user with LDAP identity is found4347 when secondary_extern_uid is stored in the database4348 does not query LDAP4349 retrieves the DN from the identity4350 when there is a connection problem4351 raises exception4352 #dns_for_filter4353 returns DNs from an LDAP search4354 normalizes DNs4355 returns cached results after the first lookup4356Mutations::Issues::SetAssignees4357 behaves like a multi-assignable resource4358 #resolve4359 when the user can update the resource4360 sets the assignees4361 removes assignees not in the list4362 when passing "append" as true4363 does not remove assignees not in the list4364Deployments::AutoRollbackService4365 #execute4366 successfully rolls back a deployment4367 when RetryJobService fails to retry the deployable4368 behaves like rollback failure4369 returns an error4370 when auto_rollback checkbox is disabled on the project4371 behaves like rollback failure4372 returns an error4373 when project does not have an sufficient license4374 behaves like rollback failure4375 returns an error4376 when there are running deployments4377 behaves like rollback failure4378 returns an error4379 when auto rollback was triggered recently4380 behaves like rollback failure4381 returns an error4382 when there are no deployments on the environment4383 behaves like rollback failure4384 returns an error4385 when there are no deployed commits in the repository4386 behaves like rollback failure4387 returns an error4388 when rollback target's deployable is not available4389 behaves like rollback failure4390 returns an error4391 when rollback target's deployable is not retryable4392 behaves like rollback failure4393 returns an error4394 when the user who performed deployments is no longer a project member4395 raises an error4396Ci::ProcessPipelineService#execute4397 cross-project pipelines4398 creates a downstream cross-project pipeline4399IssueLink4400 callbacks4401 .after_create_commit4402 with TYPE_BLOCKS relation4403 updates blocking issues count4404 with TYPE_RELATES_TO4405 does not update blocking_issues_count4406 .after_destroy_commit4407 with TYPE_BLOCKS relation4408 updates blocking issues count4409 with TYPE_RELATES_TO4410 does not update blocking_issues_count4411 behaves like issuables that can block or be blocked4412 .issuable_type4413 is expected to eq :issue4414 .inverse_link_type4415 returns the inverse type of link4416 .blocked_issuable_ids4417 returns only ids of issues which are blocked4418 .blocking_issuables_ids_for4419 returns blocking issuables ids4420 blocking issuables count4421 .blocking_issuables_for_collection4422 returns blocking issues count grouped by issue id4423 .blocked_issuables_for_collection4424 returns blocked issues count grouped by issue id4425 .blocking_issuables_count_for4426 returns blocked issues count for single issue4427ProjectsFinder4428 #execute4429 filter by plans4430 with ultimate plan4431 is expected to contain exactly #<Project id:529 namespace580/project528>> and #<Project id:530 namespace581/project529>>4432 with multiple plans4433 is expected to contain exactly #<Project id:529 namespace580/project528>>, #<Project id:530 namespace581/project529>>, and #<Project id:531 namespace582/project530>>4434 with other plans4435 is expected to be empty4436 without plans4437 is expected to contain exactly #<Project id:529 namespace580/project528>>, #<Project id:530 namespace581/project529>>, #<Project id:531 namespace582/project530>>, and #<Project id:532 namespace583/project531>>4438 with empty plans4439 is expected to contain exactly #<Project id:529 namespace580/project528>>, #<Project id:530 namespace581/project529>>, #<Project id:531 namespace582/project530>>, and #<Project id:532 namespace583/project531>>4440 filter by aimed for deletion4441 is expected to contain exactly #<Project id:533 namespace584/project532>>4442 filter by not aimed for deletion4443 is expected to contain exactly #<Project id:529 namespace580/project528>>, #<Project id:530 namespace581/project529>>, #<Project id:531 namespace582/project530>>, and #<Project id:532 namespace583/project531>>4444 filter by hidden4445 when include hidden is true4446 is expected to contain exactly #<Project id:529 namespace580/project528>>, #<Project id:530 namespace581/project529>>, #<Project id:531 namespace582/project530>>, #<Project id:532 namespace583/project531>>, and #<Project id:537 namespace588/project536>>4447 when include hidden is false4448 is expected to contain exactly #<Project id:529 namespace580/project528>>, #<Project id:530 namespace581/project529>>, #<Project id:531 namespace582/project530>>, and #<Project id:532 namespace583/project531>>4449ProjectImportScheduleWorker4450 #perform4451 behaves like an idempotent worker4452 is labeled as idempotent4453 performs multiple times sequentially without raising an exception4454 does nothing if the database is read-only4455 schedules an import for a project4456 tracks the status of the worker4457 project is not found4458 does not fail4459 logs the error4460 project does not have import state4461 does not fail4462 logs the error4463Ci::Runners::RegisterRunnerService#execute4464 with a registration token4465 behaves like a service logging a runner registration audit event4466 returns newly-created Runner4467 when project token is used4468 behaves like a service logging a runner registration audit event4469 returns newly-created Runner4470 when it exceeds the application limits4471 behaves like a service logging a failed runner registration audit event4472 returns a Runner4473 returns a non-persisted Runner4474 when group token is used4475 behaves like a service logging a runner registration audit event4476 returns newly-created Runner4477 when it exceeds the application limits4478 behaves like a service logging a failed runner registration audit event4479 returns a Runner4480 returns a non-persisted Runner4481Dast::ProfilePolicy4482 behaves like a dast on-demand scan policy4483 dast on-demand policies4484 when a user does not have access to the project4485 is expected to be disallowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4486 when the user is a guest4487 is expected to be disallowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4488 when the user is a reporter4489 is expected to be disallowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4490 when the user is a developer4491 is expected to be allowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4492 when the user is a maintainer4493 is expected to be allowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4494 when the user is an owner4495 is expected to be allowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4496 when the user is allowed4497 when on demand scan licensed feature is not available4498 is expected to be disallowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4499Projects::GroupLinks::DestroyService4500 audit events4501 when licensed4502 does not log audit event if operation fails4503 when operation succeeds4504 logs an audit event4505 logs the audit event info4506 when not licensed4507 does not log audit event4508DependencyListEntity4509 behaves like report list4510 #as_json4511 with success build4512 with provided items4513 has array of items with status ok4514 with no items4515 has empty array of items with status no_items4516 with failed build4517 with authorized user4518 has job_path with status failed_job4519 without authorized user4520 has only status failed_job4521 with no build4522 has status job_not_set_up and no job_path4523Gitlab::Graphql::Aggregations::Vulnerabilities::LazyUserNotesCountAggregate4524 #initialize4525 adds the vulnerability to the lazy state4526Skipping ./ee/spec/lib/gitlab/graphql/aggregations/vulnerabilities/lazy_user_notes_count_aggregate_spec.rb[1:1:2] 'Gitlab::Graphql::Aggregations::Vulnerabilities::LazyUserNotesCountAggregate#initialize uses lazy_user_notes_count_aggregate to collect aggregates' because it's flaky.4527 uses lazy_user_notes_count_aggregate to collect aggregates (PENDING: around hook at ./spec/support/flaky_tests.rb:21 did not execute the example)4528 #execute4529 if the record has already been loaded4530 does not make the query again4531 if the record has not been loaded4532 makes the query4533 clears the pending IDs4534Gitlab::Analytics::CycleAnalytics::BaseQueryBuilder4535 when the subject is `Issue`4536 loads Issue records within the given Group4537 when the subject is `MergeRequest`4538 loads MergeRequest records within the given Group4539Gitlab::Elastic::Client4540 .build4541 without credentials4542 makes unsigned requests4543 does not set request timeout in transport4544 with typhoeus adapter for keep-alive connections4545 sets typhoeus as the adapter4546 when use_typhoeus_elasticsearch_adapter FeatureFlag is disabled4547 uses the net/http adapter4548 cached client when FeatureFlag changes4549 successfully changes adapter from net/http to typhoeus4550 with client_request_timeout in config4551 sets request timeout in transport4552 with retry_on_failure4553 retry_on_failure: nil, client_retry: 04554 sets retry in transport4555 retry_on_failure: false, client_retry: 04556 sets retry in transport4557 retry_on_failure: true, client_retry: true4558 sets retry in transport4559 retry_on_failure: 10, client_retry: 104560 sets retry in transport4561 with AWS IAM static credentials4562 signs_requests4563 .resolve_aws_credentials4564 when the AWS IAM static credentials are valid4565 returns credentials from static credentials without making an HTTP request4566 when the AWS IAM static credentials are invalid4567 when aws sdk provides credentials4568 return the credentials4569 when aws sdk does not provide credentials4570 return the credentials4571 when Aws::CredentialProviderChain returns unset credentials4572 returns nil4573 .aws_credential_provider4574 when Aws::CredentialProviderChain returns set credentials4575 returns credentials4576 when Aws::CredentialProviderChain returns nil4577 returns nil4578Geo::DesignRegistryFinder4579 behaves like a registry finder4580 responds to registry finder methods4581 #registry_count4582 counts registries4583 #synced_count4584 counts registries that has been synced4585 #failed_count4586 counts registries that sync has failed4587 #find_registries_never_attempted_sync4588 returns registries that have never been synced4589 excludes except_ids4590 #find_registries_needs_sync_again4591 returns registries for that have failed to sync4592 excludes except_ids4593EpicIssues::UpdateService4594 #execute4595 when moving issues between different epics4596 returns an error4597 does not change the relative_position values4598 moving issue to the first position4599 when some positions are close to each other4600 orders issues correctly4601 when there is enough place between positions4602 orders issues correctly4603 moving issue to the third position4604 when some positions are close to each other4605 orders issues correctly4606 when all positions are same4607 orders affected 2 issues correctly4608 when there is enough place between positions4609 orders issues correctly4610 moving issues to the last position4611 when index of the last possition is correct4612 orders issues correctly4613Mutations::Issues::PromoteToEpic4614 #resolve4615 raises an error if the resource is not accessible to the user4616 when issue is accessible to the user4617 when the user cannot promote the issue4618 returns the issue and the errors4619 when the user can promote the issue4620 behaves like successfully promotes issue to epic4621 returns the issue and the epic4622 when destination group does not exist4623 raises an error if the resource is not accessible to the user4624shared/billings/_trial_status.html.haml4625 when not eligible for trial4626 offers to learn more about plans4627 when trial active4628 with a ultimate trial4629 displays expiry date and Ultimate4630 with a premium trial4631 displays expiry date and Premium4632 with an ultimate trial using the new trial plan4633 displays expiry date and Ultimate4634 with a premium trial using the new trial plan4635 displays expiry date and Premium4636 when trial expired4637 displays the date is expired4638 when eligible for trial4639 offers a trial4640Gitlab::Geo::Replication::BlobRetriever4641 #initialize4642 errors out with an invalid replicator4643 accepts valid attributes4644 #execute4645 returns model not found error if record cant be found4646 returns file not found if file cant be found4647 returns checksum mismatch if sending an invalid checksum4648 works with valid attributes4649Namespaces::InProductMarketingEmailsWorker#perform4650 in_product_marketing_emails_enabled: true, on_gitlab_dot_com: true, paid_license: true, executes_service: true4651 executes the email service4652 in_product_marketing_emails_enabled: true, on_gitlab_dot_com: true, paid_license: false, executes_service: true4653 executes the email service4654 in_product_marketing_emails_enabled: true, on_gitlab_dot_com: false, paid_license: true, executes_service: false4655 executes the email service4656 in_product_marketing_emails_enabled: true, on_gitlab_dot_com: false, paid_license: false, executes_service: true4657 executes the email service4658 in_product_marketing_emails_enabled: false, on_gitlab_dot_com: true, paid_license: true, executes_service: false4659 executes the email service4660 in_product_marketing_emails_enabled: false, on_gitlab_dot_com: true, paid_license: false, executes_service: false4661 executes the email service4662 in_product_marketing_emails_enabled: false, on_gitlab_dot_com: false, paid_license: true, executes_service: false4663 executes the email service4664 in_product_marketing_emails_enabled: false, on_gitlab_dot_com: false, paid_license: false, executes_service: false4665 executes the email service4666SlackIntegration4667 Associations4668 is expected to belong to integration required: false4669 Scopes4670 #with_bot4671 returns records with bot data4672 Validations4673 is expected to validate that :team_id cannot be empty/falsy4674 is expected to validate that :team_name cannot be empty/falsy4675 is expected to validate that :alias cannot be empty/falsy4676 is expected to validate that :user_id cannot be empty/falsy4677 is expected to validate that :integration cannot be empty/falsy4678Ci::BatchResetMinutesWorker4679 #perform4680 delegates to Ci::Minutes::BatchResetService4681 behaves like an idempotent worker4682 is labeled as idempotent4683 performs multiple times sequentially without raising an exception4684 does not recalculate purchased minutes for the namespace exceeding the monthly minutes4685 behaves like resets CI minutes and notification4686 resets CI minutes used and notification data4687 behaves like resets CI minutes and notification4688 resets CI minutes used and notification data4689IncidentManagement::EscalationPolicies::CreateService4690 #execute4691 when user does not have access4692 behaves like error response4693 does not save the policy and has an informative message4694 when license is not enabled4695 behaves like error response4696 does not save the policy and has an informative message4697 validation errors4698 validation error in policy4699 behaves like error response4700 does not save the policy and has an informative message4701 no rules are given4702 behaves like error response4703 does not save the policy and has an informative message4704 too many rules are given4705 behaves like error response4706 does not save the policy and has an informative message4707 oncall schedule is on the wrong project4708 behaves like error response4709 does not save the policy and has an informative message4710 user for rule does not have project access4711 behaves like error response4712 does not save the policy and has an informative message4713 project has an existing escalation policy4714 behaves like error response4715 does not save the policy and has an informative message4716 valid params4717 creates the policy and rules4718 for a user-based escalation rule4719 creates the policy and rules4720Gitlab::Analytics::CycleAnalytics::StageEvents::IssueLabelAdded4721 behaves like value stream analytics event4722 is expected to be a kind of String4723 is expected to be a kind of Symbol4724 is expected to include ApplicationRecord(abstract)4725 is expected to respond to #timestamp_projection4726 is expected to respond to #html_description4727 is expected to be a kind of Array4728 #apply_query_customization4729 expects an ActiveRecord::Relation object as argument and returns a modified version of it4730 #hash_code4731 returns a hash that uniquely identifies an event4732 does not differ when the same object is built with the same params4733 behaves like LEFT JOIN-able value stream analytics event4734 can use the event as LEFT JOIN4735 when looking at the record with data4736 contains the timestamp expression4737 when looking at the record without data4738 returns nil for the timestamp expression4739Gitlab::Ci::Pipeline::Chain::Limit::Activity4740 when active pipelines limit is exceeded4741 drops the pipeline4742 persists the pipeline4743 breaks the chain4744 sets a valid failure reason4745 logs the error4746 when pipeline activity limit is not exceeded4747 does not break the chain4748 does not invalidate the pipeline4749 does not log any error4750Ci::BuildFinishedWorker4751 #perform4752 does not schedule processing of requirement reports by default4753 when on .com4754 tracks secure scans4755 when exception is raised in `super`4756 does not enqueue the worker in EE4757 when build does not have a security report4758 does not track secure scans4759 when not on .com4760 does not notify the owners of Groups4761 does not track secure scans4762 when token revocation is disabled4763 does not scan security reports for token revocation4764 with requirements4765 when requirements feature is available4766 behaves like schedules processing of requirement reports4767 is expected to receive perform_async(*(any args)) 1 time4768 when user has insufficient permissions to create test reports4769 behaves like does not schedule processing of requirement reports4770 is expected not to receive perform_async(*(any args)) 0 times4771 when requirements feature is not available4772 behaves like does not schedule processing of requirement reports4773 is expected not to receive perform_async(*(any args)) 0 times4774ApprovalWrappedCodeOwnerRule4775 #approvals_required4776 feature_enabled: true, optional_section: false, approver_count: 0, expected_required_approvals: 04777 when project.code_owner_approval_required_available? is true4778 when the project doesn't require code owner approval on all MRs4779 returns the expected number of approvals for protected_branches that do require approval4780 when project.code_owner_approval_required_available? is falsy4781 returns nil4782 feature_enabled: true, optional_section: false, approver_count: 2, expected_required_approvals: 14783 when project.code_owner_approval_required_available? is true4784 when the project doesn't require code owner approval on all MRs4785 returns the expected number of approvals for protected_branches that do require approval4786 when project.code_owner_approval_required_available? is falsy4787 returns nil4788 feature_enabled: true, optional_section: true, approver_count: 2, expected_required_approvals: 04789 when project.code_owner_approval_required_available? is true4790 when the project doesn't require code owner approval on all MRs4791 returns the expected number of approvals for protected_branches that do require approval4792 when project.code_owner_approval_required_available? is falsy4793 returns nil4794 feature_enabled: false, optional_section: false, approver_count: 2, expected_required_approvals: 04795 when project.code_owner_approval_required_available? is true4796 when the project doesn't require code owner approval on all MRs4797 returns the expected number of approvals for protected_branches that do require approval4798 when project.code_owner_approval_required_available? is falsy4799 returns nil4800 feature_enabled: false, optional_section: false, approver_count: 0, expected_required_approvals: 04801 when project.code_owner_approval_required_available? is true4802 when the project doesn't require code owner approval on all MRs4803 returns the expected number of approvals for protected_branches that do require approval4804 when project.code_owner_approval_required_available? is falsy4805 returns nil4806IterationNote4807 .from_event4808 behaves like a synthetic note4809 behaves like a system note4810 has the correct attributes4811 #discussion_id4812 returns the expected discussion id4813 with a remove iteration event4814 creates the expected note4815DastSiteProfilePolicy4816 behaves like a dast on-demand scan policy4817 dast on-demand policies4818 when a user does not have access to the project4819 is expected to be disallowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4820 when the user is a guest4821 is expected to be disallowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4822 when the user is a reporter4823 is expected to be disallowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4824 when the user is a developer4825 is expected to be allowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4826 when the user is a maintainer4827 is expected to be allowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4828 when the user is an owner4829 is expected to be allowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4830 when the user is allowed4831 when on demand scan licensed feature is not available4832 is expected to be disallowed :create_on_demand_dast_scan and :read_on_demand_dast_scan4833Types::VulnerabilityRequestType4834 is expected to eq "VulnerabilityRequest"4835 is expected to have graphql fields :body, :method, :url, and :headers4836 checking field contents4837 evidence.request fields4838 checks the contents of the fields4839 evidence.supportingMessages[].request fields4840 checks the contents of the fields4841IssueSidebarExtrasEntity4842 exposing epic4843 when epic is confidential4844 returns nil for a user who is a project member4845 exposes the epic for a user who is a group member4846 when epic is not confidential4847 exposes the epic for a project member4848 exposes the epic for a user who is a group member4849IncidentManagement::OncallSchedules::CreateService4850 #execute4851 when the current_user is anonymous4852 behaves like error response4853 has an informative message4854 when the current_user does not have permissions to create on-call schedules4855 behaves like error response4856 has an informative message4857 when feature is not available4858 behaves like error response4859 has an informative message4860 when an on-call schedule already exists4861 behaves like error response4862 has an informative message4863 with valid params4864 successfully creates an on-call schedule4865ActiveUserCountThresholdWorker4866 #perform4867 trial?: false, threshold_reached?: false, should_send_reminder?: false4868 is expected not to receive approaching_active_user_count_limit(*(any args)) 0 times4869 trial?: false, threshold_reached?: true, should_send_reminder?: true4870 is expected to receive approaching_active_user_count_limit(*(any args)) 1 time4871 trial?: true, threshold_reached?: false, should_send_reminder?: false4872 is expected not to receive approaching_active_user_count_limit(*(any args)) 0 times4873 trial?: true, threshold_reached?: true, should_send_reminder?: false4874 is expected not to receive approaching_active_user_count_limit(*(any args)) 0 times4875 recipients4876 sends reminder to admins only4877 adds a licensee email to the recipients list4878 sends reminder to unique emails4879 sends reminder to active admins only4880 when there is no license4881 does not send a reminder4882Iterations::Cadences::CreateService4883 iterations feature enabled4884 #execute4885 valid params4886 creates an iteration cadence4887 create manual cadence4888 behaves like does not create an interation cadence4889 does not create an iteration cadence and returns errors4890 create automatic cadence4891 when start_date is not provided4892 behaves like does not create an interation cadence4893 does not create an iteration cadence and returns errors4894 invalid params4895 when duration_in_weeks: nil and iterations_in_advance: nil4896 behaves like does not create an interation cadence4897 does not create an iteration cadence and returns errors4898 without of list values for duration_in_weeks and iterations_in_advance4899 behaves like does not create an interation cadence4900 does not create an iteration cadence and returns errors4901 no permissions4902 is not allowed4903 when a single iteration cadence is allowed4904 fails to create multiple iteration cadences in same group4905 when multiple iteration cadences are allowed4906 creates new iteration cadence4907 when create cadence can be automated4908 invokes worker to create iterations in advance4909 when create cadence is not automated4910 invokes worker to create iterations in advance4911 iterations feature disabled4912 #execute4913 is not allowed4914 iteration cadences feature flag disabled4915 #execute4916 is not allowed4917EE::NamespaceUserCapReachedAlertHelper4918 #display_namespace_user_cap_reached_alert?4919 with a non persisted namespace4920 is expected to eq false4921 with a persisted namespace4922 returns true when the user cap is reached for a user who can admin the namespace4923 returns false when the user cap is reached for a user who cannot admin the namespace4924 does not trigger reactive caching if there is no user cap set4925 returns false when the user cap feature is unavailable4926Geo::SnippetRepositoryRegistryFinder4927 behaves like a framework registry finder4928 #execute4929 when user cannot read all Geo4930 is expected to be empty4931 when user can read all Geo4932 when admin mode is disabled4933 is expected to be empty4934 when admin mode is enabled4935 with an ids param4936 returns specified registries4937 without an ids param4938 returns all registries4939Gitlab::ReferenceExtractor4940 accesses valid epics4941 for vulnerabilities4942 accesses valid vulnerabilities4943Projects::AfterRenameService4944 #execute4945 when running on a primary node4946 logs the Geo::RepositoryRenamedEvent for project backed by hashed storage4947 logs the Geo::RepositoryRenamedEvent for project backed by legacy storage4948groups/settings/_remove.html.haml4949 render4950 enables the Remove group button and does not show an alert for a group4951 disables the Remove group button and shows an alert for a group with a paid gitlab.com plan4952 disables the Remove group button and shows an alert for a group with a legacy paid gitlab.com plan4953 enables the Remove group button and does not show an alert for a subgroup4954 when delayed deletes are enabled4955 enables the Remove group button and does not show an alert for a group without a paid gitlab.com plan4956 disables the Remove group button and shows an alert for a group with a paid gitlab.com plan4957 enables the Remove group button and does not show an alert for a subgroup4958NoteEntity4959 when description_diffs license is available4960 includes description versions attributes4961 when description_diffs license is not available4962 does not include description versions attributes4963IncidentManagement::OncallShifts::ReadService4964 #execute4965 when the current_user is anonymous4966 behaves like error response4967 has an informative message4968 when the current_user does not have permissions to create on-call schedules4969 behaves like error response4970 has an informative message4971 when feature is not available4972 behaves like error response4973 has an informative message4974 when the start time is after the end time4975 behaves like error response4976 has an informative message4977 when timeframe exceeds one month4978 behaves like error response4979 has an informative message4980 when timeframe is exactly 1 month4981 is expected to be success4982 with time frozen4983 when timeframe spans the current time4984 successfully returns a sorted collection of IncidentManagement::OncallShifts4985 when timeframe is entirely in the past4986 successfully returns a sorted collection of IncidentManagement::OncallShifts4987 when timeframe is entirely in the future4988 successfully returns a sorted collection of IncidentManagement::OncallShifts4989Boards::EpicLists::DestroyService4990 when user does not have permission4991 returns an error4992 when user has permission4993 behaves like lists destroy service4994 does not remove list from board when list type is closed4995 when list type is label4996 removes list from board4997 decrements position of higher lists4998 when epic feature is unavailable4999 returns an error5000Vulnerabilities::ScannerPolicy5001 read_vulnerability_scanner5002 when the security_dashboard feature is enabled5003 when the current user has developer access to the vulnerability's project5004 is expected to be allowed :read_vulnerability_scanner5005 when the current user does not have developer access to the vulnerability's project5006 is expected to be disallowed :read_vulnerability_scanner5007 when the security_dashboard feature is disabled5008 is expected to be disallowed :read_vulnerability_scanner5009GroupClusterablePresenter5010 #metrics_cluster_path5011 is expected to eq "/groups/group1398/-/clusters/3/metrics"5012 #environments_cluster_path5013 cluster_deployments feature is available5014 is expected to eq "/groups/group1399/-/clusters/6/environments"5015 cluster_deployments feature is not available5016 is expected to be nil5017IssuePolicy5018 when namespace is locked because storage usage limit exceeded5019 is expected to be disallowed :create_issue, :update_issue, :read_issue_iid, :reopen_issue, :create_design, and :create_note5020 when namespace is not locked because storage usage limit not exceeded5021 is expected to be allowed :create_issue, :update_issue, :read_issue_iid, :reopen_issue, :create_design, and :create_note5022ComplianceManagement::ComplianceFramework::ProjectSettings5023 Associations5024 belongs to project5025 Validations5026 confirms the presence of project5027 creation of ComplianceManagement::Framework record5028 creates a new record5029 set a custom ComplianceManagement::Framework5030 assigns the framework5031Gitlab::Graphql::Loaders::OncallParticipantLoader5032 #find5033 finds a participant by id5034 includes the user association5035IncidentManagement::EscalationRulesFinder5036 #execute5037 when project is given5038 returns the rules in the project for different types of project inputs5039 when removed rules should be included5040 is expected to contain exactly #<IncidentManagement::EscalationRule id: 27, policy_id: 15, oncall_schedule_id: 32, status: "acknowledged", elapsed_time_seconds: 300, is_removed: true, user_id: nil>, #<IncidentManagement::EscalationRule id: 28, policy_id: 15, oncall_schedule_id: nil, status: "acknowledged", elapsed_time_seconds: 300, is_removed: false, user_id: 3008>, #<IncidentManagement::EscalationRule id: 29, policy_id: 15, oncall_schedule_id: nil, status: "acknowledged", elapsed_time_seconds: 300, is_removed: false, user_id: 3009>, and #<IncidentManagement::EscalationRule id: 25, policy_id: 15, oncall_schedule_id: 30, status: "acknowledged", elapsed_time_seconds: 300, is_removed: false, user_id: nil>5041 when user is given5042 returns the user rules for different types of user inputs5043 when group member is given5044 is expected to contain exactly #<IncidentManagement::EscalationRule id: 28, policy_id: 15, oncall_schedule_id: nil, status: "acknowledged", elapsed_time_seconds: 300, is_removed: false, user_id: 3008> and #<IncidentManagement::EscalationRule id: 30, policy_id: 16, oncall_schedule_id: nil, status: "acknowledged", elapsed_time_seconds: 300, is_removed: false, user_id: 3008>5045 when member does not belong to a user5046 is expected to raise ArgumentError with "Member does not correspond to a user"5047 when project member is given5048 is expected to contain exactly #<IncidentManagement::EscalationRule id: 29, policy_id: 15, oncall_schedule_id: nil, status: "acknowledged", elapsed_time_seconds: 300, is_removed: false, user_id: 3009>5049 when user is also given5050 is expected to raise ArgumentError with "Member param cannot be used with project or user params"5051 when project is also given5052 is expected to raise ArgumentError with "Member param cannot be used with project or user params"5053Resolvers::Ci::CodeCoverageSummaryResolver5054 #resolve5055 when project has coverage5056 returns coverage summary for the project as a batch5057 when project does not have coverage5058 returns nil5059EE::API::Entities::Vulnerability5060 contains vulnerability properties5061AlertManagement::ExtractAlertPayloadFieldsService5062 with license5063 with permissions5064 when payload is valid JSON5065 when payload has an acceptable size5066 responds with success5067 returns parsed fields5068 when limits are exceeded5069 returns payload size exceeded error5070 when payload is not a valid JSON5071 returns payload parse failure error5072 without permissions5073 returns insufficient permissions error5074Geo::NodeStatusRequestService5075 behaves like a geo RequestService5076 #execute5077 parses a 401 response5078 alerts on bad SSL certficate5079 handles connection refused5080 returns meaningful error message when primary uses incorrect db key5081 gracefully handles case when primary is deleted5082 #execute5083 does not include id in the payload5084 sends geo_node_id in the request5085 sends all of the data in the status JSONB field in the request5086IssueBoardEntity5087 #weight5088 has `weight` attribute5089 when project does not support issue weights5090 does not have `weight` attribute5091 #blocked5092 the issue is not blocked by default5093 when blocked_issue_ids contains the issue id5094 the issue is blocked5095 when blocked_issue_ids is not set5096 the issue is not blocked5097MergeRequests::Mergeability::CheckDeniedPoliciesService5098 #execute5099 when the merge request has denied policies5100 returns a check result with status failed5101 when the merge request does not have denied policies5102 returns a check result with status success5103 #skip?5104 returns false5105 #cacheable?5106 returns false5107Resolvers::Boards::EpicListsResolver5108 is expected to have nullable GraphQL type EpicListConnection5109 #resolve5110 generates an error if user cannot read epic lists5111 when user is member of the group5112 returns epic lists for the board5113 when resolving a single item5114 returns an array with single epic list5115 when the board has hidden lists5116 returns an array with single epic list5117Security::StoreScansService5118 .execute5119 delegates the call to an instance of `Security::StoreScansService`5120 #execute5121 when the pipeline already has a purged security scan5122 does not store the security scans5123 when the pipeline is for the default branch5124 does not schedule the `StoreSecurityReportsWorker`5125 when the pipeline does not have a purged security scan5126 executes Security::StoreGroupedScansService for each group of artifacts if the feature is available5127 when the pipeline is for the default branch5128 schedules the `StoreSecurityReportsWorker`5129 when the pipeline is not for the default branch5130 does not schedule the `StoreSecurityReportsWorker`5131Geo::LfsObjectRegistryFinder5132 behaves like a framework registry finder5133 #execute5134 when user cannot read all Geo5135 is expected to be empty5136 when user can read all Geo5137 when admin mode is disabled5138 is expected to be empty5139 when admin mode is enabled5140 with an ids param5141 returns specified registries5142 without an ids param5143 returns all registries5144Resolvers::Geo::LfsObjectRegistriesResolver5145 behaves like a Geo registries resolver5146 #resolve5147 when the parent object is the current node5148 when the user has permission to view Geo data5149 when admin mode is enabled5150 when the ids argument is null5151 returns registries, in order5152 when the ids argument is present5153 returns the requested registries, in order5154 when admin mode is disabled5155 returns nothing5156 when the user does not have permission to view Geo data5157 returns nothing5158 when the parent object is not the current node5159 when the user has permission to view Geo data5160 returns nothing, because we can't query other nodes' tracking databases5161NotificationSetting5162 .email_events5163 group5164 appends EE specific events5165 project5166 returns CE list5167 global5168 appends EE specific events5169Gitlab::Insights::Reducers::LabelCountPerPeriodReducer5170 returns issuables with only the needed fields5171 avoids N + 1 queries5172Resolvers::AppSec::Dast::ProfileResolver5173 is expected to have nullable GraphQL type DastProfileConnection5174 when resolving a single DAST profile5175 when the DAST profile exists5176 is expected to eq #<Dast::Profile id: 2, project_id: 633, dast_site_profile_id: 4, dast_scanner_profile_id: 2, created_...44.305943225 +0000", name: "Side Component c90723a7 - 2", description: [FILTERED], branch_name: nil>5177 when the DAST profile does not exist5178 is expected to be nil5179 when resolving multiple DAST profiles5180 is expected to contain exactly #<Dast::Profile id: 2, project_id: 633, dast_site_profile_id: 4, dast_scanner_profile_id: 2, created_...44.305943225 +0000", name: "Side Component c90723a7 - 2", description: [FILTERED], branch_name: nil> and #<Dast::Profile id: 3, project_id: 633, dast_site_profile_id: 5, dast_scanner_profile_id: 3, created_...6277373 +0000", name: "Side Disc Component c07222a0 - 3", description: [FILTERED], branch_name: nil>5181 when the feature is disabled5182 is expected to be empty5183 when the user does not have access5184 is expected to be empty5185Gitlab::HookData::UserBuilder5186 #build5187 data for Gitlab.com5188 contains `email_opted_in` attributes5189 returns correct email_opted_in data5190Clusters::AgentsFinder5191 #execute5192 user does not have permission5193 is expected to be empty5194 filtering by has_vulnerabilities5195 when params are not provided5196 is expected to contain exactly #<Clusters::Agent id: 1, created_at: "2022-07-04 07:41:46.418643773 +0000", updated_at: "2022-07-04 0...3773 +0000", project_id: 634, name: "agent-1", created_by_user_id: 3042, has_vulnerabilities: false> and #<Clusters::Agent id: 2, created_at: "2022-07-04 07:41:46.499115165 +0000", updated_at: "2022-07-04 0...15165 +0000", project_id: 634, name: "agent-2", created_by_user_id: 3043, has_vulnerabilities: true>5197 when has_vulnerabilities is set to true5198 is expected to contain exactly #<Clusters::Agent id: 2, created_at: "2022-07-04 07:41:46.499115165 +0000", updated_at: "2022-07-04 0...15165 +0000", project_id: 634, name: "agent-2", created_by_user_id: 3043, has_vulnerabilities: true>5199 when has_vulnerabilities is set to false5200 is expected to contain exactly #<Clusters::Agent id: 1, created_at: "2022-07-04 07:41:46.418643773 +0000", updated_at: "2022-07-04 0...3773 +0000", project_id: 634, name: "agent-1", created_by_user_id: 3042, has_vulnerabilities: false>5201Geo::RepositoryRegistryRemovalService5202 #execute5203 removes registry record5204 removes repository5205NamespaceStatistics5206 #refresh!5207 when no option is passed5208 updates the wiki size5209 behaves like creates the namespace statistics5210 is expected to receive save!(*(any args)) 1 time5211 when wiki_size option is passed5212 updates the wiki size5213 behaves like creates the namespace statistics5214 is expected to receive save!(*(any args)) 1 time5215 #update_storage_size5216 adds wiki_size to the storage_size5217 #update_wiki_size5218 when group_wikis feature is not enabled5219 does not update the wiki size5220 when group_wikis feature is enabled5221 updates the wiki size5222 when namespace does not belong to a group5223 does not update the wiki size5224Gitlab::TreeSummary5225 #summarize (entries)5226 includes path locks in entries5227 when file_locks feature is unavailable5228 does not fill lock labels5229Epics::RelatedEpicLinks::ListService5230 #execute5231 returns JSON list of related epics visible to user5232LinkedFeatureFlagIssueEntity5233 #as_json5234 returns json5235AddNamespaceAncestryIdsToIssuesMapping5236 behaves like a deprecated Advanced Search migration5237 #migrate5238 logs a message and halts the migration5239 #completed?5240 returns false5241 #obsolete?5242 returns true5243ApprovalStatePolicy5244 when user does not have access to project5245 is expected to be disallowed :read_merge_request5246 when user does have access to project5247 is expected to be allowed :read_merge_request5248Types::VulnerabilityEvidenceSupportingMessageType5249 is expected to eq "VulnerabilityEvidenceSupportingMessage"5250 is expected to have graphql fields :name, :request, and :response5251 checking field contents5252 checks the contents of the evidence.suportingMessages array5253Mutations::Boards::EpicBoards::Update5254 field tests5255 is expected to have graphql arguments :id, :name, :hideBacklogList, :hideClosedList, :labels, and :labelIds5256 is expected to have graphql fields :epic_board5257 with epic feature enabled5258 when user does not have permission to update epic board5259 behaves like epic board update error5260 raises error5261 when user has permission to update epic board5262 updates the epic board5263 #ready?5264 raises an error when both labels and label_ids arguments are passed5265registrations/welcome/continuous_onboarding_getting_started5266 project import state5267 when onboarding project is ready5268 is expected to have text "Ok, let's go"5269 is expected not to have text "Creating your onboarding experience..."5270 does not have meta refresh tag5271 when onboarding project is not yet ready5272 is expected not to have text "Ok, let's go"5273 is expected to have text "Creating your onboarding experience..."5274 has meta refresh tag5275LicenseEntity5276 #as_json5277 produces the correct representation5278 when the url is blank5279 url: ""5280 is expected to be nil5281 url: nil5282 is expected to be nil5283projects/_merge_request_status_checks_settings5284 renders the settings title5285 renders the settings description5286 renders the settings app element5287 renders the loading spinner5288layouts/header/_read_only_banner5289 On a Geo primary node5290 do not includes button to visit primary node5291 On a Geo secondary node5292 includes button to visit primary node5293Mutations::IncidentManagement::OncallSchedule::Destroy5294 is expected to require graphql authorizations :admin_incident_management_oncall_schedule5295 #resolve5296 user has access to project5297 when OncallSchedules::DestroyService responds with success5298 returns the on-call schedule with no errors5299 when OncallSchedules::DestroyService responds with an error5300 returns errors5301 when resource is not accessible to the user5302 raises an error5303Gitlab::Ci::Config::Entry::Job5304 .nodes5305 when filtering all the entry/node names5306 is expected to include :dast_configuration and :secrets5307 validations5308 when entry value is correct5309 when has secrets5310 behaves like a valid entry5311 #valid?5312 is valid5313 when has dast_configuration5314 behaves like a valid entry5315 #valid?5316 is valid5317 when entry value is not correct5318 when has needs5319 when needs is bridge type5320 behaves like an invalid entry5321 reports error5322 when has invalid dast_configuration5323 behaves like an invalid entry5324 reports error5325 when has invalid secrets5326 behaves like an invalid entry5327 reports error5328 dast_configuration5329 includes dast_profile value5330 secrets5331 includes secrets value5332RemoteMirror5333 #sync5334 as a Geo secondary5335 returns nil5336SystemCheck::Geo::HTTPCloneEnabledCheck5337 #check?5338 enabled_protocol: "unknown", result: false5339 is expected to eq false5340 enabled_protocol: "ssh", result: false5341 is expected to eq false5342 enabled_protocol: "http", result: true5343 is expected to eq true5344 enabled_protocol: "", result: true5345 is expected to eq true5346 enabled_protocol: nil, result: true5347 is expected to eq true5348ApprovalProjectRulePolicy5349 when user can admin project5350 allows updating approval rule5351 when user cannot admin project5352 disallow updating approval rule5353EventFilter5354 #apply_filter5355 with the "epic" filter5356 filters issue events only5357trial_registrations/new.html.haml5358 is expected not to have text "Start a Free Ultimate Trial"5359 is expected to have text "Free 30-day trial"5360 is expected to have text "No credit card required."5361 is expected to have visible css "img[alt$=\" logo\"]"5362 is expected to have text "Want to host GitLab on your servers?"5363 is expected to have visible link "Start a Self-Managed trial" with href "https://about.gitlab.com/free-trial/#selfmanaged/"5364Vulnerabilities::Finding::Evidence5365 is expected to validate that :data cannot be empty/falsy5366 is expected to validate that the length of :data is at most 160000005367Sidebars::Projects::Menus::TrialExperimentMenu5368 behaves like trial experiment menu items5369 #render?5370 trials_available: true, trial_active: true, user_can_admin_group: true5371 is expected to eq true5372 trials_available: true, trial_active: true, user_can_admin_group: false5373 is expected to eq false5374 trials_available: true, trial_active: false, user_can_admin_group: true5375 is expected to eq false5376 trials_available: true, trial_active: false, user_can_admin_group: false5377 is expected to eq false5378 trials_available: false, trial_active: true, user_can_admin_group: true5379 is expected to eq false5380 trials_available: false, trial_active: true, user_can_admin_group: false5381 is expected to eq false5382 trials_available: false, trial_active: false, user_can_admin_group: true5383 is expected to eq false5384 trials_available: false, trial_active: false, user_can_admin_group: false5385 is expected to eq false5386ResourceStateEvent5387 is expected to belong to epic required: false5388 validations5389 Issuable validation5390 is valid if only epic is set5391 is invalid if an epic and an issue is set5392NamespaceCiCdSetting5393 .allowing_stale_runner_pruning5394 when there are no runner settings5395 is expected to be empty5396 when there are CI/CD settings5397 allowing stale runner pruning5398 is expected to contain exactly #<NamespaceCiCdSetting namespace_id: 5119, allow_stale_runner_pruning: true>5399 not allowing stale runner pruning5400 is expected to be empty5401GitlabSubscriptions::FetchSubscriptionPlansService5402 #execute5403 when successfully fetching plans data5404 returns parsed JSON5405 uses only the plan within the cache key name5406 with pnp_subscription_plan_cache_key flag disabled5407 returns a new cache key so the cache is busted5408 with given namespace_id5409 returns parsed JSON5410 uses the namespace id within the cache key name5411 when failing to fetch plans data5412 logs failure5413 returns nil5414 does not cache the result5415devise/sessions/new5416 ArkoseLabs challenge5417 when the :arkose_labs_login_challenge feature flag is enabled5418 renders the challenge container5419 passes the API key to the challenge container5420 passes the ArkoseLabs domain to the challenge container5421 when the :arkose_labs_login_challenge feature flag is disabled5422 does not render challenge container5423ForkNamespaceEntity5424 exposes marked_for_deletion state5425UserPermissionExportUpload5426 associations5427 is expected to belong to user required: false5428 validations5429 is expected to validate that :status cannot be empty/falsy5430 when status is finished5431 validates file presence5432 state transitions5433 status: 0, can_start: true, can_finish: false, can_fail: true5434 adheres to state machine rules5435 status: 1, can_start: false, can_finish: true, can_fail: true5436 adheres to state machine rules5437 status: 2, can_start: false, can_finish: false, can_fail: false5438 adheres to state machine rules5439 status: 3, can_start: false, can_finish: false, can_fail: false5440 adheres to state machine rules5441Types::Iterations::CadenceType5442 is expected to eq "IterationCadence"5443 is expected to have graphql fields :id, :title, :duration_in_weeks, :iterations_in_advance, :start_date, :automatic, :active, :roll_over, and :description5444 is expected to require graphql authorizations :read_iteration_cadence5445API::Entities::PendingMember5446 with a user present5447 exposes correct attributes5448 with no user present5449 exposes correct attributes5450ElasticClusterReindexingCronWorker5451 #perform5452 calls execute method5453 removes old indices if no task is found5454shared/kerberos_clone_button5455 Kerberos clone can be triggered5456 renders a working clone button for the project5457 renders a working clone button for the wiki5458SystemCheck::RakeTask::GeoTask5459 .checks5460 primary node5461 secondary checks is skipped5462 secondary node5463 secondary checks is called5464 Geo disabled5465 secondary checks is skipped5466 Geo is enabled but node is not identified5467 secondary checks is called5468Security::SyncScanPoliciesWorker5469 #perform5470 calls update_policy_configuration5471Vulnerabilities::ScannerEntity5472 #as_json5473 contains required fields5474Analytics::DevopsAdoption::SnapshotsFinder5475 #execute5476 with timespan provided5477 returns snapshots in given timespan5478 without timespan provided5479 returns all snapshots ordered by end_time5480Gitlab::SlashCommands::Presenters::IssueShow5481 issue with issue weight5482 shows the weight5483Types::Ci::Minutes::NamespaceMonthlyUsageType5484 is expected to have graphql fields :minutes, :month, :month_iso8601, :projects, and :shared_runners_duration5485Elastic::Latest::IssueConfig5486 .settings5487 behaves like config settings return correct values5488 returns config5489 sets correct shard/replica settings5490 .mappings5491 returns config5492Types::SecurityOrchestration::SecurityPolicySourceType5493 returns all possible types5494 #resolve_type5495 when source is provided for namespace5496 is expected to eq Types::SecurityOrchestration::GroupSecurityPolicySourceType5497 when source is provided for project5498 is expected to eq Types::SecurityOrchestration::ProjectSecurityPolicySourceType5499EE::API::Entities::Scim::Error5500 contains the schemas5501 contains the detail5502 contains the status5503Banzai::IssuableExtractor5504 returns an instance of an epic for the node with reference5505Gitlab::Auth::Saml::Config5506 .group_sync_enabled?5507 is expected to eq false5508 when SAML is enabled5509 is expected to eq false5510 when the group attribute is configured5511 is expected to eq false5512 when the saml_group_sync feature is licensed5513 is expected to eq true5514TwoFactor::DestroyService5515 when disabling two-factor authentication succeeds5516 creates an audit event5517 when disabling two-factor authentication fails5518 does not create an audit event5519Types::VulnerabilityGradeEnum5520 exposes all vulnerability grades5521Gitlab::ImportExport::Group::GroupAndDescendantsRepoSaver5522 exports the group and subgroups wiki repo5523 if any of the wiki exports fails5524 returns false and stops exporting other groups5525Gitlab::Tracking5526 .definition5527 fetch EE definitions when prefixed with ee_5528Gitlab::Usage::Metrics::Instrumentations::AdvancedSearch::BuildTypeMetric5529 behaves like a correct instrumented metric value5530 has correct value5531 elasticsearch_indexing is enabled5532 behaves like a correct instrumented metric value5533 has correct value5534Types::VulnerabilityDetails::CodeType5535 is expected to have graphql fields :name, :description, :fieldName, :lang, and :value5536API::Entities::ProtectedEnvironments::DeployAccessLevel5537 exposes correct attributes5538BulkImports::Groups::Stage5539 #pipelines5540 includes EE pipelines5541 overrides the CE stage value for the EntityFinisher Pipeline5542PreventForkingHelper5543 calls proper ability method5544API::Entities::MergeRequestApprovalSetting5545 exposes correct attributes5546Types::PermissionTypes::Epic5547 is expected to have graphql field :award_emoji5548IncidentManagement::OncallRotations::RemoveParticipantsService5549 calls the RemoveParticipantService for each rotation5550Knapsack report was generated. Preview:5551{5552 "ee/spec/services/ee/notification_service_spec.rb": 329.9675201610007,5553 "ee/spec/services/quick_actions/interpret_service_spec.rb": 163.97326235700166,5554 "ee/spec/models/boards/epic_board_position_spec.rb": 186.23941327300054,5555 "ee/spec/lib/ee/gitlab/middleware/read_only_spec.rb": 116.46779839100054,5556 "ee/spec/models/ee/iteration_spec.rb": 58.556868571999075,5557 "ee/spec/policies/environment_policy_spec.rb": 78.50924326799941,5558 "ee/spec/models/merge_train_spec.rb": 88.6361860979996,5559 "ee/spec/lib/gitlab/analytics/type_of_work/tasks_by_type_spec.rb": 67.28463598799863,5560 "ee/spec/policies/epic_policy_spec.rb": 43.511699206999765,5561 "ee/spec/lib/gitlab/ci/templates/sast_gitlab_ci_yaml_spec.rb": 48.11365518199818,5562 "ee/spec/replicators/geo/terraform_state_version_replicator_spec.rb": 29.835795204002352,5563 "ee/spec/workers/namespaces/free_user_cap/remediation_worker_spec.rb": 41.850254160002805,5564 "ee/spec/models/concerns/elastic/merge_request_spec.rb": 45.66410470600022,5565 "ee/spec/models/ee/namespace/root_storage_size_spec.rb": 19.291715030998603,5566 "ee/spec/lib/analytics/devops_adoption/snapshot_calculator_spec.rb": 25.60041051999724,5567 "ee/spec/services/approval_rules/params_filtering_service_spec.rb": 33.53422713599866,5568 "ee/spec/lib/gitlab/geo_spec.rb": 5.521858239000721,5569 "ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb": 6.109096087999205,5570 "ee/spec/models/approval_merge_request_rule_spec.rb": 12.024015956001676,5571 "ee/spec/services/ee/members/destroy_service_spec.rb": 21.288376291999157,5572 "ee/spec/lib/gitlab/licenses/submit_license_usage_data_banner_spec.rb": 11.274933364999015,5573 "ee/spec/services/merge_trains/refresh_merge_request_service_spec.rb": 14.908359853001457,5574 "ee/spec/services/iterations/delete_service_spec.rb": 11.16399793600067,5575 "ee/spec/services/ee/users/destroy_service_spec.rb": 15.980296751000424,5576 "ee/spec/lib/gitlab/ci/reports/license_scanning/license_spec.rb": 2.8867996970002423,5577 "ee/spec/models/visible_approvable_spec.rb": 15.012635842998861,5578 "ee/spec/services/security/security_orchestration_policies/create_pipeline_service_spec.rb": 10.401557567001873,5579 "ee/spec/services/wiki_pages/update_service_spec.rb": 11.468152285000542,5580 "ee/spec/services/boards/epics/list_service_spec.rb": 10.214503795999917,5581 "ee/spec/workers/elastic_namespace_indexer_worker_spec.rb": 10.857893979002256,5582 "ee/spec/helpers/boards_helper_spec.rb": 4.897176324997417,5583 "ee/spec/models/ee/personal_access_token_spec.rb": 4.057485983001243,5584 "ee/spec/serializers/member_entity_spec.rb": 11.457830225997895,5585 "ee/spec/services/ee/incident_management/issuable_escalation_statuses/after_update_service_spec.rb": 10.011968637998507,5586 "ee/spec/services/security/ingestion/tasks/ingest_remediations_spec.rb": 12.32847206400038,5587 "ee/spec/graphql/mutations/projects/set_locked_spec.rb": 5.281574954999087,5588 "ee/spec/helpers/ee/trial_helper_spec.rb": 2.8116596639993077,5589 "ee/spec/lib/ee/gitlab/group_search_results_spec.rb": 7.717773139000201,5590 "ee/spec/workers/geo/project_sync_worker_spec.rb": 8.509118605998083,5591 "ee/spec/services/dashboard/projects/create_service_spec.rb": 6.809707943997637,5592 "ee/spec/lib/gitlab/auth/group_saml/session_enforcer_spec.rb": 3.285780664999038,5593 "ee/spec/services/iterations/create_service_spec.rb": 4.977270306997525,5594 "ee/spec/services/epics/create_service_spec.rb": 7.085987905000366,5595 "ee/spec/services/app_sec/dast/site_profiles/destroy_service_spec.rb": 3.965315503999591,5596 "ee/spec/policies/vulnerabilities/export_policy_spec.rb": 6.205186746999971,5597 "ee/spec/lib/ee/gitlab/auth/ldap/sync/proxy_spec.rb": 1.9329474969999865,5598 "ee/spec/graphql/mutations/issues/set_assignees_spec.rb": 6.62314174399944,5599 "ee/spec/services/deployments/auto_rollback_service_spec.rb": 5.914167539001937,5600 "ee/spec/services/ci/process_pipeline_service_spec.rb": 6.3516507819986145,5601 "ee/spec/models/issue_link_spec.rb": 5.793908580999414,5602 "ee/spec/finders/ee/projects_finder_spec.rb": 3.8608979050004564,5603 "ee/spec/workers/project_import_schedule_worker_spec.rb": 4.621060053999827,5604 "ee/spec/services/ci/runners/register_runner_service_spec.rb": 3.8456654959991283,5605 "ee/spec/policies/dast/profile_policy_spec.rb": 3.6650593350022973,5606 "ee/spec/services/projects/group_links/destroy_service_spec.rb": 3.4565491959983774,5607 "ee/spec/serializers/dependency_list_entity_spec.rb": 4.849757461000991,5608 "ee/spec/lib/gitlab/graphql/aggregations/vulnerabilities/lazy_user_notes_count_aggregate_spec.rb": 4.308643076998123,5609 "ee/spec/lib/ee/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb": 5.36524248600108,5610 "ee/spec/lib/gitlab/elastic/client_spec.rb": 1.5209892999992007,5611 "ee/spec/finders/geo/design_registry_finder_spec.rb": 4.760238560000289,5612 "ee/spec/services/epic_issues/update_service_spec.rb": 3.6833109729996067,5613 "ee/spec/graphql/mutations/issues/promote_to_epic_spec.rb": 2.5251873250017525,5614 "ee/spec/views/shared/billings/_trial_status.html.haml_spec.rb": 1.2926512150006602,5615 "ee/spec/lib/gitlab/geo/replication/blob_retriever_spec.rb": 2.542650932999095,5616 "ee/spec/workers/ee/namespaces/in_product_marketing_emails_worker_spec.rb": 0.621034994997899,5617 "ee/spec/models/slack_integration_spec.rb": 1.0029111950025253,5618 "ee/spec/workers/ci/batch_reset_minutes_worker_spec.rb": 1.978701522002666,5619 "ee/spec/services/incident_management/escalation_policies/create_service_spec.rb": 2.132853226001316,5620 "ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_label_added_spec.rb": 1.9523695749994658,5621 "ee/spec/lib/gitlab/ci/pipeline/chain/limit/activity_spec.rb": 3.322324810000282,5622 "ee/spec/workers/ee/ci/build_finished_worker_spec.rb": 2.9110224039977766,5623 "ee/spec/models/approval_wrapped_code_owner_rule_spec.rb": 4.004150619999564,5624 "ee/spec/models/iteration_note_spec.rb": 4.20062285899985,5625 "ee/spec/policies/dast_site_profile_policy_spec.rb": 3.5242414489985094,5626 "ee/spec/graphql/types/vulnerability_request_type_spec.rb": 3.111724983999011,5627 "ee/spec/serializers/ee/issue_sidebar_extras_entity_spec.rb": 2.5494070220011054,5628 "ee/spec/services/incident_management/oncall_schedules/create_service_spec.rb": 1.6378734669997357,5629 "ee/spec/workers/active_user_count_threshold_worker_spec.rb": 1.4721924959994794,5630 "ee/spec/services/iterations/cadences/create_service_spec.rb": 1.6989265310003248,5631 "ee/spec/helpers/ee/namespace_user_cap_reached_alert_helper_spec.rb": 2.0991444400024193,5632 "ee/spec/finders/geo/snippet_repository_registry_finder_spec.rb": 2.5222475640002813,5633 "ee/spec/lib/gitlab/reference_extractor_spec.rb": 3.089791086000332,5634 "ee/spec/services/projects/after_rename_service_spec.rb": 2.9218494430024293,5635 "ee/spec/views/groups/settings/_remove.html.haml_spec.rb": 2.8469955410000694,5636 "ee/spec/serializers/ee/note_entity_spec.rb": 2.9186522540003352,5637 "ee/spec/services/incident_management/oncall_shifts/read_service_spec.rb": 1.6534375459996227,5638 "ee/spec/services/boards/epic_lists/destroy_service_spec.rb": 2.8947500260001107,5639 "ee/spec/policies/vulnerabilities/scanner_policy_spec.rb": 1.8594726740011538,5640 "ee/spec/presenters/group_clusterable_presenter_spec.rb": 3.428452609998203,5641 "ee/spec/policies/issue_policy_spec.rb": 1.806721650002146,5642 "ee/spec/models/compliance_management/compliance_framework/project_settings_spec.rb": 1.5251932600003784,5643 "ee/spec/lib/gitlab/graphql/loaders/oncall_participant_loader_spec.rb": 2.4038387369982956,5644 "ee/spec/finders/incident_management/escalation_rules_finder_spec.rb": 2.5787239089986542,5645 "ee/spec/graphql/resolvers/ci/code_coverage_summary_resolver_spec.rb": 2.0839628509966133,5646 "ee/spec/lib/ee/api/entities/vulnerability_spec.rb": 1.8593335549994663,5647 "ee/spec/services/alert_management/extract_alert_payload_fields_service_spec.rb": 1.7871614519972354,5648 "ee/spec/services/geo/node_status_request_service_spec.rb": 1.27688295599728,5649 "ee/spec/serializers/ee/issue_board_entity_spec.rb": 1.3279015209991485,5650 "ee/spec/services/merge_requests/mergeability/check_denied_policies_service_spec.rb": 0.4081652370005031,5651 "ee/spec/graphql/resolvers/boards/epic_lists_resolvers_spec.rb": 1.4108451309984957,5652 "ee/spec/services/security/store_scans_service_spec.rb": 1.2389052500002435,5653 "ee/spec/finders/geo/lfs_object_registry_finder_spec.rb": 1.1644705580001755,5654 "ee/spec/graphql/resolvers/geo/lfs_object_registries_resolver_spec.rb": 1.2287495300006412,5655 "ee/spec/models/ee/notification_setting_spec.rb": 0.507901197001047,5656 "ee/spec/lib/gitlab/insights/reducers/label_count_per_period_reducer_spec.rb": 2.727624683000613,5657 "ee/spec/graphql/resolvers/app_sec/dast/profile_resolver_spec.rb": 1.751265807000891,5658 "ee/spec/lib/ee/gitlab/hook_data/user_builder_spec.rb": 0.4364145340005052,5659 "ee/spec/finders/ee/clusters/agents_finder_spec.rb": 1.7795847130000766,5660 "ee/spec/services/geo/repository_registry_removal_service_spec.rb": 0.779256877998705,5661 "ee/spec/models/ee/namespace_statistics_spec.rb": 1.369361745997594,5662 "ee/spec/lib/gitlab/tree_summary_spec.rb": 1.5494456569977046,5663 "ee/spec/services/epics/related_epic_links/list_service_spec.rb": 1.3808280550001655,5664 "ee/spec/serializers/linked_feature_flag_issue_entity_spec.rb": 1.0235677419987042,5665 "ee/spec/elastic/migrate/20210910094600_add_namespace_ancestry_ids_to_issues_mapping_spec.rb": 0.40461155800221604,5666 "ee/spec/policies/approval_state_policy_spec.rb": 1.7990069209990907,5667 "ee/spec/graphql/types/vulnerability_evidence_supporting_message_type_spec.rb": 1.5134099009992497,5668 "ee/spec/graphql/mutations/boards/epic_boards/update_spec.rb": 1.1683299569995143,5669 "ee/spec/views/registrations/welcome/continuous_onboarding_getting_started.html.haml_spec.rb": 0.9636696089983161,5670 "ee/spec/serializers/license_entity_spec.rb": 0.7257756440012599,5671 "ee/spec/views/projects/_merge_request_status_checks_settings.html.haml_spec.rb": 0.6730143099994166,5672 "ee/spec/views/layouts/header/_read_only_banner.html.haml_spec.rb": 0.5954881680008839,5673 "ee/spec/graphql/mutations/incident_management/oncall_schedule/destroy_spec.rb": 1.4453794179971737,5674 "ee/spec/lib/gitlab/ci/config/entry/job_spec.rb": 0.9137460439997085,5675 "ee/spec/models/remote_mirror_spec.rb": 1.528970739000215,5676 "ee/spec/lib/system_check/geo/http_clone_enabled_check_spec.rb": 0.6815108780028822,5677 "ee/spec/policies/approval_project_rule_policy_spec.rb": 1.6918795319979836,5678 "ee/spec/lib/ee/event_filter_spec.rb": 1.3705314660001022,5679 "ee/spec/views/trial_registrations/new.html.haml_spec.rb": 0.7284907630019006,5680 "ee/spec/models/vulnerabilities/finding/evidence_spec.rb": 2.8952958560003026,5681 "ee/spec/lib/sidebars/projects/menus/trial_experiment_menu_spec.rb": 0.8758178979987861,5682 "ee/spec/models/ee/resource_state_event_spec.rb": 0.6175895650012535,5683 "ee/spec/models/ee/namespace_ci_cd_setting_spec.rb": 0.6177933250000933,5684 "ee/spec/services/gitlab_subscriptions/fetch_subscription_plans_service_spec.rb": 0.5069967370000086,5685 "ee/spec/views/devise/sessions/new.html.haml_spec.rb": 0.7402340219996404,5686 "ee/spec/serializers/fork_namespace_entity_spec.rb": 0.7031626560019504,5687 "ee/spec/models/user_permission_export_upload_spec.rb": 0.40581548800037126,5688 "ee/spec/graphql/types/iterations/cadence_type_spec.rb": 0.26263723200099776,5689 "ee/spec/lib/api/entities/pending_member_spec.rb": 1.2380848300017533,5690 "ee/spec/workers/elastic_cluster_reindexing_cron_worker_spec.rb": 0.8258479930009344,5691 "ee/spec/views/shared/_kerberos_clone_button.html.haml_spec.rb": 1.454325577000418,5692 "ee/spec/lib/system_check/rake_task/geo_task_spec.rb": 1.2139551430009305,5693 "ee/spec/workers/security/sync_scan_policies_worker_spec.rb": 1.3478599779991782,5694 "ee/spec/serializers/vulnerabilities/scanner_entity_spec.rb": 0.6619403610020527,5695 "ee/spec/finders/analytics/devops_adoption/snapshots_finder_spec.rb": 0.5750940399993851,5696 "ee/spec/lib/gitlab/slash_commands/presenters/issue_show_spec.rb": 1.597934011999314,5697 "ee/spec/graphql/types/ci/minutes/namespace_monthly_usage_type_spec.rb": 0.26611848199900123,5698 "ee/spec/lib/elastic/latest/issue_config_spec.rb": 0.5276926139995339,5699 "ee/spec/graphql/types/security_orchestration/security_policy_source_type_spec.rb": 0.2594466320006177,5700 "ee/spec/lib/ee/api/entities/scim/error_spec.rb": 0.45427888199992594,5701 "ee/spec/lib/banzai/issuable_extractor_spec.rb": 0.7371140519971959,5702 "ee/spec/lib/gitlab/auth/saml/config_spec.rb": 0.47583169999779784,5703 "ee/spec/services/ee/two_factor/destroy_service_spec.rb": 1.0974833549989853,5704 "ee/spec/graphql/types/vulnerability_grade_enum_spec.rb": 0.38929298899893183,5705 "ee/spec/lib/gitlab/import_export/group/group_and_descendants_repo_saver_spec.rb": 0.5688855599983071,5706 "ee/spec/lib/ee/gitlab/tracking_spec.rb": 0.4790997400014021,5707 "ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/build_type_metric_spec.rb": 0.2615257629986445,5708 "ee/spec/graphql/types/vulnerability_details/code_type_spec.rb": 0.25110270399818546,5709 "ee/spec/lib/api/entities/protected_environments/deploy_access_level_spec.rb": 0.5493234519999532,5710 "ee/spec/lib/ee/bulk_imports/groups/stage_spec.rb": 0.6570824410009664,5711 "ee/spec/helpers/prevent_forking_helper_spec.rb": 0.5870537080008944,5712 "ee/spec/lib/api/entities/merge_request_approval_setting_spec.rb": 0.608560116001172,5713 "ee/spec/graphql/types/permission_types/epic_spec.rb": 0.12800230700304382,5714 "ee/spec/services/incident_management/oncall_rotations/remove_participants_service_spec.rb": 0.23493557499750755715}5716Knapsack global time execution for tests: 30m 51s5717Pending: (Failures listed here are expected and do not affect your suite's status)5718 1) QuickActions::InterpretService#execute attention command with multiple users updates reviewers attention status5719 # around hook at ./spec/support/flaky_tests.rb:21 did not execute the example5720 # ./ee/spec/services/quick_actions/interpret_service_spec.rb:13125721 2) Iteration Validations #dates_do_not_overlap when dates overlap project behaves like overlapping dates when start_date overlaps behaves like invalid dates is not valid5722 # Temporarily skipped with xcontext5723 # ./ee/spec/models/ee/iteration_spec.rb:2405724 3) Iteration Validations #dates_do_not_overlap when dates overlap project behaves like overlapping dates when start_date overlaps behaves like invalid dates with iterations_cadences FF disabled is not valid5725 # Temporarily skipped with xcontext5726 # ./ee/spec/models/ee/iteration_spec.rb:2345727 4) Iteration Validations #dates_do_not_overlap when dates overlap project behaves like overlapping dates when due_date overlaps behaves like invalid dates is not valid5728 # Temporarily skipped with xcontext5729 # ./ee/spec/models/ee/iteration_spec.rb:2405730 5) Iteration Validations #dates_do_not_overlap when dates overlap project behaves like overlapping dates when due_date overlaps behaves like invalid dates with iterations_cadences FF disabled is not valid5731 # Temporarily skipped with xcontext5732 # ./ee/spec/models/ee/iteration_spec.rb:2345733 6) Iteration Validations #dates_do_not_overlap when dates overlap project behaves like overlapping dates when both overlap behaves like invalid dates is not valid5734 # Temporarily skipped with xcontext5735 # ./ee/spec/models/ee/iteration_spec.rb:2405736 7) Iteration Validations #dates_do_not_overlap when dates overlap project behaves like overlapping dates when both overlap behaves like invalid dates with iterations_cadences FF disabled is not valid5737 # Temporarily skipped with xcontext5738 # ./ee/spec/models/ee/iteration_spec.rb:2345739 8) Iteration Validations #dates_do_not_overlap when dates overlap project different project 5740 # Temporarily skipped with xcontext5741 # ./ee/spec/models/ee/iteration_spec.rb:3045742 9) Iteration Validations #dates_do_not_overlap when dates overlap project different project does not trigger exclusion constraints5743 # Temporarily skipped with xcontext5744 # ./ee/spec/models/ee/iteration_spec.rb:3065745 10) Iteration Validations #dates_do_not_overlap when dates overlap project in a group 5746 # Temporarily skipped with xcontext5747 # ./ee/spec/models/ee/iteration_spec.rb:3165748 11) Iteration Validations #dates_do_not_overlap when dates overlap project in a group does not trigger exclusion constraints5749 # Temporarily skipped with xcontext5750 # ./ee/spec/models/ee/iteration_spec.rb:3185751 12) Iteration Validations #dates_do_not_overlap when dates overlap project project in a group behaves like overlapping dates when start_date overlaps behaves like invalid dates is not valid5752 # Temporarily skipped with xcontext5753 # ./ee/spec/models/ee/iteration_spec.rb:2405754 13) Iteration Validations #dates_do_not_overlap when dates overlap project project in a group behaves like overlapping dates when start_date overlaps behaves like invalid dates with iterations_cadences FF disabled is not valid5755 # Temporarily skipped with xcontext5756 # ./ee/spec/models/ee/iteration_spec.rb:2345757 14) Iteration Validations #dates_do_not_overlap when dates overlap project project in a group behaves like overlapping dates when due_date overlaps behaves like invalid dates is not valid5758 # Temporarily skipped with xcontext5759 # ./ee/spec/models/ee/iteration_spec.rb:2405760 15) Iteration Validations #dates_do_not_overlap when dates overlap project project in a group behaves like overlapping dates when due_date overlaps behaves like invalid dates with iterations_cadences FF disabled is not valid5761 # Temporarily skipped with xcontext5762 # ./ee/spec/models/ee/iteration_spec.rb:2345763 16) Iteration Validations #dates_do_not_overlap when dates overlap project project in a group behaves like overlapping dates when both overlap behaves like invalid dates is not valid5764 # Temporarily skipped with xcontext5765 # ./ee/spec/models/ee/iteration_spec.rb:2405766 17) Iteration Validations #dates_do_not_overlap when dates overlap project project in a group behaves like overlapping dates when both overlap behaves like invalid dates with iterations_cadences FF disabled is not valid5767 # Temporarily skipped with xcontext5768 # ./ee/spec/models/ee/iteration_spec.rb:2345769 18) Iteration behaves like a timebox modules with a project behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when creating an object does not raise an error if the internal id is blank5770 # No reason given5771 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:495772 19) Iteration behaves like a timebox modules with a project behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when updating an object does not raise an error if the internal id is blank5773 # No reason given5774 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:575775 20) Iteration behaves like a timebox modules with a group behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when creating an object does not raise an error if the internal id is blank5776 # No reason given5777 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:495778 21) Iteration behaves like a timebox modules with a group behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when updating an object does not raise an error if the internal id is blank5779 # No reason given5780 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:575781 22) Members::DestroyService when current_user is present user escalation rules group member is removed calls the destroy service with rules each project in the group5782 # around hook at ./spec/support/flaky_tests.rb:21 did not execute the example5783 # ./ee/spec/services/ee/members/destroy_service_spec.rb:1495784 23) WikiPages::UpdateService behaves like WikiPages::UpdateService#execute the page is at the top level adds a new wiki page activity event5785 # group wiki support5786 Failure/Error: expect { service.execute(page) }.to change { Event.count }.by 15787 expected `Event.count` to have changed by 1, but was changed by 05788 Shared Example Group: "adds activity event" called from ./spec/support/shared_examples/services/wiki_pages/update_service_shared_examples.rb:635789 Shared Example Group: "WikiPages::UpdateService#execute" called from ./ee/spec/services/wiki_pages/update_service_spec.rb:415790 # ./spec/support/shared_examples/services/wiki_pages/update_service_shared_examples.rb:50:in `block (3 levels) in <top (required)>'5791 # ./spec/spec_helper.rb:413:in `block (3 levels) in <top (required)>'5792 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'5793 # ./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'5794 # ./spec/spec_helper.rb:400:in `block (3 levels) in <top (required)>'5795 # ./lib/gitlab/application_context.rb:52:in `with_raw_context'5796 # ./spec/spec_helper.rb:400:in `block (2 levels) in <top (required)>'5797 # ./spec/spec_helper.rb:261:in `block (2 levels) in <top (required)>'5798 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'5799 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'5800 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'5801 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'5802 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'5803 24) WikiPages::UpdateService behaves like WikiPages::UpdateService#execute the page is in a subsection adds a new wiki page activity event5804 # group wiki support5805 Failure/Error: expect { service.execute(page) }.to change { Event.count }.by 15806 expected `Event.count` to have changed by 1, but was changed by 05807 Shared Example Group: "adds activity event" called from ./spec/support/shared_examples/services/wiki_pages/update_service_shared_examples.rb:695808 Shared Example Group: "WikiPages::UpdateService#execute" called from ./ee/spec/services/wiki_pages/update_service_spec.rb:415809 # ./spec/support/shared_examples/services/wiki_pages/update_service_shared_examples.rb:50:in `block (3 levels) in <top (required)>'5810 # ./spec/spec_helper.rb:413:in `block (3 levels) in <top (required)>'5811 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'5812 # ./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'5813 # ./spec/spec_helper.rb:400:in `block (3 levels) in <top (required)>'5814 # ./lib/gitlab/application_context.rb:52:in `with_raw_context'5815 # ./spec/spec_helper.rb:400:in `block (2 levels) in <top (required)>'5816 # ./spec/spec_helper.rb:261:in `block (2 levels) in <top (required)>'5817 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'5818 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'5819 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'5820 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'5821 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'5822 25) Gitlab::Graphql::Aggregations::Vulnerabilities::LazyUserNotesCountAggregate#initialize uses lazy_user_notes_count_aggregate to collect aggregates5823 # around hook at ./spec/support/flaky_tests.rb:21 did not execute the example5824 # ./ee/spec/lib/gitlab/graphql/aggregations/vulnerabilities/lazy_user_notes_count_aggregate_spec.rb:205825Finished in 30 minutes 55 seconds (files took 1 minute 15.63 seconds to load)58262289 examples, 0 failures, 25 pending5827RSpec exited with 0.5828No examples to retry, congrats!5830Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-10 due to policy5831Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-10 due to policy5833Uploading artifacts...5834coverage/: found 5 matching files and directories 5835crystalball/: found 2 matching files and directories 5836deprecations/: found 6 matching files and directories 5837knapsack/: found 3 matching files and directories 5838rspec/: found 9 matching files and directories 5839WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 5840log/*.log: found 19 matching files and directories 5841WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2673337883/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com5842WARNING: Retrying... context=artifacts-uploader error=request redirected5843Uploading artifacts as "archive" to coordinator... 201 Created id=2673337883 responseStatus=201 Created token=DUGsV5gw5844Uploading artifacts...5845rspec/junit_rspec.xml: found 1 matching files and directories 5846WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2673337883/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com5847WARNING: Retrying... context=artifacts-uploader error=request redirected5848Uploading artifacts as "junit" to coordinator... 201 Created id=2673337883 responseStatus=201 Created token=DUGsV5gw5850Job succeeded