rspec-ee unit pg12 11/16
Passed Started
by
@gitlab-bot

🤖 GitLab Bot 🤖
1Running with gitlab-runner 15.1.0~beta.20.g62206bb2 (62206bb2)2 on blue-2.shared-gitlab-org.runners-manager.gitlab.com/default NL4gfoBe3 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:1c23a0bd0711f9f7944305c4b25ce8e4301c16167671a7873aad77579270806d 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:d0052322332df372b949caf19e910c0ce6859c1e7ed29ff609ebec91b1dead87 ...21Running on runner-nl4gfobe-project-278964-concurrent-0 via runner-nl4gfobe-shared-gitlab-org-1656403152-f9bd0f2c...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: 113684, done. 28remote: Counting objects: 100% (113684/113684), done. 29remote: Compressing objects: 100% (80120/80120), done. 30remote: Total 113684 (delta 47013), reused 73436 (delta 29194), pack-reused 0 31Receiving objects: 100% (113684/113684), 107.95 MiB | 22.95 MiB/s, done.32Resolving deltas: 100% (47013/47013), done.34 * [new ref] refs/pipelines/574770947 -> refs/pipelines/57477094735Checking out f470b997 as refs/merge-requests/90613/merge...36Skipping Git submodules setup37$ git remote set-url origin "${CI_REPOSITORY_URL}"39Checking cache for ruby-gems-debian-bullseye-ruby-2.7-10...40cache.zip is up to date 41Successfully extracted cache42Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-2.7-10...43cache.zip is up to date 44Successfully extracted cache46Downloading artifacts for compile-test-assets (2649391517)...47Downloading artifacts from coordinator... ok id=2649391517 responseStatus=200 OK token=sZyYDTod48Downloading artifacts for detect-tests (2649391533)...49Downloading artifacts from coordinator... ok id=2649391533 responseStatus=200 OK token=sZyYDTod50Downloading artifacts for retrieve-tests-metadata (2649391540)...51Downloading artifacts from coordinator... ok id=2649391540 responseStatus=200 OK token=sZyYDTod52Downloading artifacts for setup-test-env (2649391527)...53Downloading artifacts from coordinator... ok id=2649391527 responseStatus=200 OK token=sZyYDTod55Using docker image sha256:1c23a0bd0711f9f7944305c4b25ce8e4301c16167671a7873aad77579270806d 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:d0052322332df372b949caf19e910c0ce6859c1e7ed29ff609ebec91b1dead87 ...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 0 seconds.92$ bundle exec rake db:drop db:create db:schema:load db:migrate93Dropped database 'gitlabhq_test'94Dropped database 'gitlabhq_test_ci'95Dropped database 'gitlabhq_geo_test'96Created database 'gitlabhq_test'97Created database 'gitlabhq_test_ci'98Created database 'gitlabhq_geo_test'99==> 'bundle exec rake db:drop db:create db:schema:load db:migrate' succeeded in 37 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.21.2177Using 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==> 'scripts/gitaly-test-spawn' succeeded in 11 seconds.225$ source ./scripts/rspec_helpers.sh226$ 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_11_16_report.json234FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json235FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_unit_pg12_11_16_report.json236NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_unit_pg12_11_16_report.json237SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec-ee_unit_pg12_11_16_report.txt238RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec-ee_unit_pg12_11_16_report.txt239CRYSTALBALL: 240Knapsack node specs:241ee/spec/models/epic_spec.rb242ee/spec/models/license_spec.rb243ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb244ee/spec/services/vulnerabilities/revert_to_detected_service_spec.rb245ee/spec/tasks/gitlab/elastic_rake_spec.rb246ee/spec/models/geo_node_spec.rb247ee/spec/lib/gitlab/custom_file_templates_spec.rb248ee/spec/services/ci/compare_security_reports_service_spec.rb249ee/spec/models/concerns/elastic/project_spec.rb250ee/spec/models/dast/profile_schedule_spec.rb251ee/spec/models/geo/upload_registry_spec.rb252ee/spec/models/geo/design_registry_spec.rb253ee/spec/models/ee/ci/pipeline_artifact_spec.rb254ee/spec/services/dashboard/projects/list_service_spec.rb255ee/spec/policies/requirements_management/requirement_policy_spec.rb256ee/spec/models/group_member_spec.rb257ee/spec/replicators/geo/lfs_object_replicator_spec.rb258ee/spec/services/requirements_management/update_requirement_service_spec.rb259ee/spec/models/productivity_analytics_spec.rb260ee/spec/services/ee/ci/job_artifacts/destroy_all_expired_service_spec.rb261ee/spec/helpers/ee/namespaces_helper_spec.rb262ee/spec/services/projects/transfer_service_spec.rb263ee/spec/lib/ee/gitlab/import_export/group/legacy_tree_saver_spec.rb264ee/spec/services/epics/epic_links/update_service_spec.rb265ee/spec/services/requirements_management/import_csv_service_spec.rb266ee/spec/services/analytics/cycle_analytics/aggregator_service_spec.rb267ee/spec/models/dast/profile_spec.rb268ee/spec/finders/dast_site_profiles_finder_spec.rb269ee/spec/models/vulnerabilities/identifier_spec.rb270ee/spec/lib/gitlab/ci/parsers/security/formatters/dependency_list_spec.rb271ee/spec/serializers/vulnerability_note_entity_spec.rb272ee/spec/services/merge_trains/refresh_service_spec.rb273ee/spec/services/security/security_orchestration_policies/validate_policy_service_spec.rb274ee/spec/finders/compliance_management/merge_requests/compliance_violations_finder_spec.rb275ee/spec/services/ci/subscribe_bridge_service_spec.rb276ee/spec/graphql/mutations/issues/set_iteration_spec.rb277ee/spec/models/ee/event_spec.rb278ee/spec/workers/geo/project_sync_worker_spec.rb279ee/spec/services/dashboard/projects/create_service_spec.rb280ee/spec/services/wiki_pages/create_service_spec.rb281ee/spec/services/security/ingestion/tasks/ingest_finding_identifiers_spec.rb282ee/spec/services/security/merge_reports_service_spec.rb283ee/spec/lib/gitlab/code_owners/entry_spec.rb284ee/spec/services/merge_requests/remove_approval_service_spec.rb285ee/spec/services/todos/destroy/confidential_epic_service_spec.rb286ee/spec/services/ee/system_notes/issuables_service_spec.rb287ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_check_progress_spec.rb288ee/spec/workers/admin_emails_worker_spec.rb289ee/spec/graphql/mutations/incident_management/escalation_policy/create_spec.rb290ee/spec/graphql/mutations/dast_site_tokens/create_spec.rb291ee/spec/models/deployment_spec.rb292ee/spec/graphql/mutations/merge_requests/set_assignees_spec.rb293ee/spec/models/vulnerabilities/external_issue_link_spec.rb294ee/spec/presenters/vulnerability_presenter_spec.rb295ee/spec/workers/elastic_delete_project_worker_spec.rb296ee/spec/services/ee/vulnerability_feedback_module/update_service_spec.rb297ee/spec/graphql/resolvers/geo/terraform_state_version_registries_resolver_spec.rb298ee/spec/models/groups/repository_storage_move_spec.rb299ee/spec/models/security/training_spec.rb300ee/spec/services/vulnerability_issue_links/delete_service_spec.rb301ee/spec/services/security/ingestion/tasks/hooks_execution_spec.rb302ee/spec/views/shared/billings/_eoa_bronze_plan_banner.html.haml_spec.rb303ee/spec/finders/ee/group_members_finder_spec.rb304ee/spec/models/allowed_email_domain_spec.rb305ee/spec/models/incident_management/pending_escalations/issue_spec.rb306ee/spec/finders/boards/milestones_finder_spec.rb307ee/spec/lib/ee/gitlab/ci/config_spec.rb308ee/spec/models/elastic/index_setting_spec.rb309ee/spec/services/geo/move_repository_service_spec.rb310ee/spec/serializers/ee/deployment_entity_spec.rb311ee/spec/services/analytics/cycle_analytics/value_streams/create_service_spec.rb312ee/spec/lib/gitlab/data_builder/vulnerability_spec.rb313ee/spec/helpers/ee/personal_access_tokens_helper_spec.rb314ee/spec/services/app_sec/dast/site_validations/revoke_service_spec.rb315ee/spec/services/security/ingestion/ingest_report_slice_service_spec.rb316ee/spec/lib/ee/gitlab/scim/attribute_transform_spec.rb317ee/spec/models/ee/alert_management/alert_spec.rb318ee/spec/services/analytics/cycle_analytics/stages/list_service_spec.rb319ee/spec/graphql/ee/types/mutation_type_spec.rb320ee/spec/models/project_team_spec.rb321ee/spec/workers/active_user_count_threshold_worker_spec.rb322ee/spec/lib/gitlab/insights/reducers/base_reducer_spec.rb323ee/spec/services/push_rules/create_or_update_service_spec.rb324ee/spec/models/ee/namespace/root_storage_statistics_spec.rb325ee/spec/workers/repository_import_worker_spec.rb326ee/spec/workers/geo/batch/project_registry_scheduler_worker_spec.rb327ee/spec/lib/gitlab/incident_management_spec.rb328ee/spec/finders/approval_rules/group_finder_spec.rb329ee/spec/services/ci/runners/reset_registration_token_service_spec.rb330ee/spec/graphql/resolvers/geo/pages_deployment_registries_resolver_spec.rb331ee/spec/services/ee/merge_request_metrics_service_spec.rb332ee/spec/models/concerns/ee/clusters/agents/authorization_config_scopes_spec.rb333ee/spec/lib/gitlab/ci/templates/Verify/browser_performance_testing_gitlab_ci_yaml_spec.rb334ee/spec/lib/gitlab/audit/levels/group_spec.rb335ee/spec/lib/ee/gitlab/auth/ldap/sync/admin_users_spec.rb336ee/spec/services/geo/blob_upload_service_spec.rb337ee/spec/serializers/clusters/deployment_entity_spec.rb338ee/spec/graphql/types/vulnerability_response_type_spec.rb339ee/spec/presenters/ci/build_presenter_spec.rb340ee/spec/views/registrations/groups/new.html.haml_spec.rb341ee/spec/services/ee/users/build_service_spec.rb342ee/spec/finders/security/training_providers/kontra_url_finder_spec.rb343ee/spec/services/ci/compare_license_scanning_reports_collapsed_service_spec.rb344ee/spec/finders/autocomplete/project_invited_groups_finder_spec.rb345ee/spec/models/concerns/scim_paginatable_spec.rb346ee/spec/lib/sidebars/groups/menus/push_rules_menu_spec.rb347ee/spec/services/elastic/metrics_update_service_spec.rb348ee/spec/workers/security/track_secure_scans_worker_spec.rb349ee/spec/graphql/mutations/boards/epic_lists/create_spec.rb350ee/spec/graphql/types/security_orchestration/security_policy_source_type_spec.rb351ee/spec/views/layouts/header/help_dropdown/_cross_stage_fdm.html.haml_spec.rb352ee/spec/models/approvals/scan_finding_wrapped_rule_set_spec.rb353ee/spec/models/geo/reset_checksum_event_spec.rb354ee/spec/models/concerns/geo/has_replicator_spec.rb355ee/spec/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb356ee/spec/lib/sidebars/groups/menus/epics_menu_spec.rb357ee/spec/workers/geo/secondary_usage_data_cron_worker_spec.rb358ee/spec/services/geo/node_create_service_spec.rb359ee/spec/models/ee/protected_ref_spec.rb360ee/spec/graphql/ee/resolvers/board_lists_resolver_spec.rb361ee/spec/services/projects/licenses/create_policy_service_spec.rb362ee/spec/lib/gitlab/usage/metrics/instrumentations/count_external_status_checks_metric_spec.rb363ee/spec/replicators/geo/pipeline_replicator_spec.rb364ee/spec/lib/gitlab/analytics/cycle_analytics/summary/lead_time_spec.rb365ee/spec/services/ee/merge_requests/handle_assignees_change_service_spec.rb366ee/spec/services/geo/repositories_changed_event_store_spec.rb367ee/spec/services/security/ingestion/mark_as_resolved_service_spec.rb368ee/spec/graphql/types/alert_management/payload_alert_field_path_segment_type_spec.rb369ee/spec/services/ee/preview_markdown_service_spec.rb370ee/spec/models/ee/incident_management/project_incident_management_setting_spec.rb371ee/spec/lib/bulk_imports/common/pipelines/boards_pipeline_spec.rb372ee/spec/views/projects/show.html.haml_spec.rb373ee/spec/finders/boards/epic_boards_finder_spec.rb374ee/spec/lib/bulk_imports/common/pipelines/wiki_pipeline_spec.rb375ee/spec/models/ee/project_setting_spec.rb376ee/spec/serializers/integrations/jira_serializers/issue_serializer_spec.rb377ee/spec/services/geo/container_repository_sync_spec.rb378ee/spec/graphql/types/incident_management/oncall_rotation_type_spec.rb379ee/spec/lib/gitlab/analytics/cycle_analytics/aggregated/data_for_duration_chart_spec.rb380ee/spec/models/broadcast_message_spec.rb381ee/spec/services/gitlab_subscriptions/extend_reactivate_trial_service_spec.rb382ee/spec/lib/ee/sidebars/projects/menus/ci_cd_menu_spec.rb383ee/spec/graphql/resolvers/network_policy_resolver_spec.rb384ee/spec/initializers/session_store_spec.rb385ee/spec/services/ee/two_factor/destroy_service_spec.rb386ee/spec/lib/ee/gitlab/ci/jwt_spec.rb387ee/spec/serializers/test_reports_comparer_serializer_spec.rb388ee/spec/lib/gitlab/items_collection_spec.rb389ee/spec/lib/ee/bulk_imports/groups/stage_spec.rb390ee/spec/models/concerns/ee/milestoneable_spec.rb391ee/spec/lib/ee/gitlab/verify/lfs_objects_spec.rb392ee/spec/graphql/types/boards/epic_list_type_spec.rb393ee/spec/lib/gitlab/ci/reports/license_scanning/reports_comparer_spec.rb394ee/spec/lib/gitlab/gl_repository_spec.rb395ee/spec/graphql/types/network_policy_type_spec.rb396ee/spec/services/keys/last_used_service_spec.rb397ee/spec/lib/gitlab/visibility_level_spec.rb398ee/spec/graphql/types/vulnerability_details/list_type_spec.rb399ee/spec/lib/gitlab/favicon_spec.rb400ee/spec/models/analytics/cycle_analytics/runtime_limiter_spec.rb401ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/distribution_metric_spec.rb402ee/spec/graphql/types/dora_metric_type_enum_spec.rb403ee/spec/graphql/types/dora_metric_bucketing_interval_enum_spec.rb404ee/spec/graphql/representation/vulnerability_scanner_entry_spec.rb405ee/spec/graphql/types/vulnerability_grade_enum_spec.rb406Filter specs:407Running specs:408Running all node tests without filter409ee/spec/models/epic_spec.rb410ee/spec/models/license_spec.rb411ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb412ee/spec/services/vulnerabilities/revert_to_detected_service_spec.rb413ee/spec/tasks/gitlab/elastic_rake_spec.rb414ee/spec/models/geo_node_spec.rb415ee/spec/lib/gitlab/custom_file_templates_spec.rb416ee/spec/services/ci/compare_security_reports_service_spec.rb417ee/spec/models/concerns/elastic/project_spec.rb418ee/spec/models/dast/profile_schedule_spec.rb419ee/spec/models/geo/upload_registry_spec.rb420ee/spec/models/geo/design_registry_spec.rb421ee/spec/models/ee/ci/pipeline_artifact_spec.rb422ee/spec/services/dashboard/projects/list_service_spec.rb423ee/spec/policies/requirements_management/requirement_policy_spec.rb424ee/spec/models/group_member_spec.rb425ee/spec/replicators/geo/lfs_object_replicator_spec.rb426ee/spec/services/requirements_management/update_requirement_service_spec.rb427ee/spec/models/productivity_analytics_spec.rb428ee/spec/services/ee/ci/job_artifacts/destroy_all_expired_service_spec.rb429ee/spec/helpers/ee/namespaces_helper_spec.rb430ee/spec/services/projects/transfer_service_spec.rb431ee/spec/lib/ee/gitlab/import_export/group/legacy_tree_saver_spec.rb432ee/spec/services/epics/epic_links/update_service_spec.rb433ee/spec/services/requirements_management/import_csv_service_spec.rb434ee/spec/services/analytics/cycle_analytics/aggregator_service_spec.rb435ee/spec/models/dast/profile_spec.rb436ee/spec/finders/dast_site_profiles_finder_spec.rb437ee/spec/models/vulnerabilities/identifier_spec.rb438ee/spec/lib/gitlab/ci/parsers/security/formatters/dependency_list_spec.rb439ee/spec/serializers/vulnerability_note_entity_spec.rb440ee/spec/services/merge_trains/refresh_service_spec.rb441ee/spec/services/security/security_orchestration_policies/validate_policy_service_spec.rb442ee/spec/finders/compliance_management/merge_requests/compliance_violations_finder_spec.rb443ee/spec/services/ci/subscribe_bridge_service_spec.rb444ee/spec/graphql/mutations/issues/set_iteration_spec.rb445ee/spec/models/ee/event_spec.rb446ee/spec/workers/geo/project_sync_worker_spec.rb447ee/spec/services/dashboard/projects/create_service_spec.rb448ee/spec/services/wiki_pages/create_service_spec.rb449ee/spec/services/security/ingestion/tasks/ingest_finding_identifiers_spec.rb450ee/spec/services/security/merge_reports_service_spec.rb451ee/spec/lib/gitlab/code_owners/entry_spec.rb452ee/spec/services/merge_requests/remove_approval_service_spec.rb453ee/spec/services/todos/destroy/confidential_epic_service_spec.rb454ee/spec/services/ee/system_notes/issuables_service_spec.rb455ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_check_progress_spec.rb456ee/spec/workers/admin_emails_worker_spec.rb457ee/spec/graphql/mutations/incident_management/escalation_policy/create_spec.rb458ee/spec/graphql/mutations/dast_site_tokens/create_spec.rb459ee/spec/models/deployment_spec.rb460ee/spec/graphql/mutations/merge_requests/set_assignees_spec.rb461ee/spec/models/vulnerabilities/external_issue_link_spec.rb462ee/spec/presenters/vulnerability_presenter_spec.rb463ee/spec/workers/elastic_delete_project_worker_spec.rb464ee/spec/services/ee/vulnerability_feedback_module/update_service_spec.rb465ee/spec/graphql/resolvers/geo/terraform_state_version_registries_resolver_spec.rb466ee/spec/models/groups/repository_storage_move_spec.rb467ee/spec/models/security/training_spec.rb468ee/spec/services/vulnerability_issue_links/delete_service_spec.rb469ee/spec/services/security/ingestion/tasks/hooks_execution_spec.rb470ee/spec/views/shared/billings/_eoa_bronze_plan_banner.html.haml_spec.rb471ee/spec/finders/ee/group_members_finder_spec.rb472ee/spec/models/allowed_email_domain_spec.rb473ee/spec/models/incident_management/pending_escalations/issue_spec.rb474ee/spec/finders/boards/milestones_finder_spec.rb475ee/spec/lib/ee/gitlab/ci/config_spec.rb476ee/spec/models/elastic/index_setting_spec.rb477ee/spec/services/geo/move_repository_service_spec.rb478ee/spec/serializers/ee/deployment_entity_spec.rb479ee/spec/services/analytics/cycle_analytics/value_streams/create_service_spec.rb480ee/spec/lib/gitlab/data_builder/vulnerability_spec.rb481ee/spec/helpers/ee/personal_access_tokens_helper_spec.rb482ee/spec/services/app_sec/dast/site_validations/revoke_service_spec.rb483ee/spec/services/security/ingestion/ingest_report_slice_service_spec.rb484ee/spec/lib/ee/gitlab/scim/attribute_transform_spec.rb485ee/spec/models/ee/alert_management/alert_spec.rb486ee/spec/services/analytics/cycle_analytics/stages/list_service_spec.rb487ee/spec/graphql/ee/types/mutation_type_spec.rb488ee/spec/models/project_team_spec.rb489ee/spec/workers/active_user_count_threshold_worker_spec.rb490ee/spec/lib/gitlab/insights/reducers/base_reducer_spec.rb491ee/spec/services/push_rules/create_or_update_service_spec.rb492ee/spec/models/ee/namespace/root_storage_statistics_spec.rb493ee/spec/workers/repository_import_worker_spec.rb494ee/spec/workers/geo/batch/project_registry_scheduler_worker_spec.rb495ee/spec/lib/gitlab/incident_management_spec.rb496ee/spec/finders/approval_rules/group_finder_spec.rb497ee/spec/services/ci/runners/reset_registration_token_service_spec.rb498ee/spec/graphql/resolvers/geo/pages_deployment_registries_resolver_spec.rb499ee/spec/services/ee/merge_request_metrics_service_spec.rb500ee/spec/models/concerns/ee/clusters/agents/authorization_config_scopes_spec.rb501ee/spec/lib/gitlab/ci/templates/Verify/browser_performance_testing_gitlab_ci_yaml_spec.rb502ee/spec/lib/gitlab/audit/levels/group_spec.rb503ee/spec/lib/ee/gitlab/auth/ldap/sync/admin_users_spec.rb504ee/spec/services/geo/blob_upload_service_spec.rb505ee/spec/serializers/clusters/deployment_entity_spec.rb506ee/spec/graphql/types/vulnerability_response_type_spec.rb507ee/spec/presenters/ci/build_presenter_spec.rb508ee/spec/views/registrations/groups/new.html.haml_spec.rb509ee/spec/services/ee/users/build_service_spec.rb510ee/spec/finders/security/training_providers/kontra_url_finder_spec.rb511ee/spec/services/ci/compare_license_scanning_reports_collapsed_service_spec.rb512ee/spec/finders/autocomplete/project_invited_groups_finder_spec.rb513ee/spec/models/concerns/scim_paginatable_spec.rb514ee/spec/lib/sidebars/groups/menus/push_rules_menu_spec.rb515ee/spec/services/elastic/metrics_update_service_spec.rb516ee/spec/workers/security/track_secure_scans_worker_spec.rb517ee/spec/graphql/mutations/boards/epic_lists/create_spec.rb518ee/spec/graphql/types/security_orchestration/security_policy_source_type_spec.rb519ee/spec/views/layouts/header/help_dropdown/_cross_stage_fdm.html.haml_spec.rb520ee/spec/models/approvals/scan_finding_wrapped_rule_set_spec.rb521ee/spec/models/geo/reset_checksum_event_spec.rb522ee/spec/models/concerns/geo/has_replicator_spec.rb523ee/spec/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb524ee/spec/lib/sidebars/groups/menus/epics_menu_spec.rbKnapsack report generator started!525DEPRECATION 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 call526/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 here527 (called from new_client at /builds/gitlab-org/gitlab/config/initializers/00_connection_logger.rb:21)528Run options: exclude {:quarantine=>true, :level=>"migration"}529==> /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.056998013 seconds...530Test environment set up in 0.592694918 seconds531Epic532 associations533 is expected to belong to author class_name => User required: false534 is expected to belong to assignee class_name => User required: false535 is expected to belong to group required: false536 is expected to belong to parent required: false537 is expected to have many epic_issues538 is expected to have many children539 is expected to have many user_mentions class_name => EpicUserMention540 is expected to have many boards_epic_user_preferences class_name => Boards::EpicUserPreference inverse_of => epic541 is expected to have many epic_board_positions class_name => Boards::EpicBoardPosition inverse_of => epic_board542 scopes543 .public_only544 only returns public epics545 .confidential546 only returns confidential epics547 .not_confidential_or_in_groups548 returns only epics which are either not confidential or in the group549 relative position scopes550 .order_relative_position_on_board551 returns epics ordered by position on the board, null last552 without_board_position553 returns only epics which do not have position set for the board554 .join_board_position555 returns epics with joined position for the board556 title sort scopes557 .order_title_asc558 returns epics ordered by title, ascending559 .order_title_desc560 returns epics ordered by title, decending561 .in_milestone562 returns epics which have an issue in the milestone563 from_id564 returns records with id bigger or equal to the provided param565 validations566 is expected to validate that :group cannot be empty/falsy567 is expected to validate that :author cannot be empty/falsy568 is expected to validate that :title cannot be empty/falsy569 is expected to validate that :total_opened_issue_weight cannot be empty/falsy570 is expected to validate that :total_closed_issue_weight cannot be empty/falsy571 is expected to validate that :total_opened_issue_count cannot be empty/falsy572 is expected to validate that :total_closed_issue_count cannot be empty/falsy573 is expected to validate that :total_opened_issue_weight looks like an integer574 is expected to validate that :total_closed_issue_weight looks like an integer575 is expected to validate that :total_opened_issue_count looks like an integer576 is expected to validate that :total_closed_issue_count looks like an integer577 is valid with a valid parent578 is not valid with invalid parent579 is valid if epic is confidential and has only confidential issues580 is not valid if epic is confidential and has non-confidential issues581 is valid if epic is confidential and has only confidential subepics582 is not valid if epic is confidential and has non-confidential subepics583 modules584 behaves like AtomicInternalId585 .has_internal_id586 Module inclusion587 is expected to includes the AtomicInternalId module588 Validation589 when presence validation is required590 when creating an object591 raises an error if the internal id is blank592 when updating an object593 raises an error if the internal id is blank594 when presence validation is not required595 when creating an object596 does not raise an error if the internal id is blank (PENDING: No reason given)597 when updating an object598 does not raise an error if the internal id is blank (PENDING: No reason given)599 Creating an instance600 saves a new instance properly601 internal id generation602 calls InternalId.generate_next and sets internal id attribute603 does not overwrite an existing internal id604 when the instance has an internal ID set605 calls InternalId.update_last_value and sets the `last_value` to that of the instance606 unsetting the instance internal id on rollback607 when the internal id has been changed608 when the internal id is automatically set609 clears it on the instance610 when the internal id is manually set611 does not clear it on the instance612 when the internal id has not been changed613 preserves the value on the instance614 supply of internal ids615 provides a persistent supply of IID values, sensitive to the current state616 #reset_scope_internal_id_attribute617 rewinds the allocated IID618 allocates the same IID619 ordering620 orders by start_or_end_date621 orders by start_date ASC622 orders by start_date DESC623 orders by end_date ASC624 orders by end_date DESC625 orders by updated_at ASC626 orders by updated_at DESC627 orders by created_at ASC628 orders by created_at DESC629 orders by relative_position ASC630 orders by title ASC631 orders by title DESC632 #valid_parent?633 basic checks634 returns true without parent635 returns true with a valid parent636 returns false with a parent from different group637 returns false when level is too deep638 when adding an Epic that has existing children639 returns true when total depth after adding will not exceed limit640 returns false when total depth after adding would exceed limit641 when parent has ancestors and epic has children642 returns true when total depth after adding will not exceed limit643 returns false when total depth after adding would exceed limit644 when hierarchy is cyclic645 returns false when parent is same as the epic646 returns false when child epic is parent of the given parent647 returns false when child epic is an ancestor of the given parent648 hierarchy649 #ancestors650 returns all ancestors for an epic ordered correctly651 returns all ancestors for an epic ordered correctly with the hierarchy_order param652 returns an empty array if an epic does not have any parent653 #descendants654 returns all descendants for an epic655 returns an empty array if an epic does not have any descendants656 #upcoming?657 returns true when start_date is in the future658 returns false when start_date is in the past659 #expired?660 returns true when due_date is in the past661 returns false when due_date is in the future662 #elapsed_days663 returns 0 if there is no start_date664 returns elapsed_days when start_date is present665 #start_date666 is set667 returns as is668 behaves like within_timeframe scope669 .within_timeframe670 returns resources with start_date and/or end_date between timeframe671 returns resources which starts before the timeframe672 returns resources which ends after the timeframe673 #start_date_from_milestones674 fixed date675 returns start date from start date sourcing milestone676 keeps start date sourcing milestone when switching to fixed dates677 keeps start date sourcing epic when switching to fixed dates678 milestone date679 returns start_date680 #due_date_from_milestones681 fixed date682 returns due date from due date sourcing milestone683 keeps due date sourcing milestone when switching to fixed dates684 keeps due date sourcing epic when switching to fixed dates685 milestone date686 returns due_date687 .deepest_relationship_level688 returns the deepest relationship level between epics689 when there are no epics690 returns nil691 #issues_readable_by692 returns all issues if a user has access to them693 does not return issues user can not see694 #close695 sets closed_at to Time.current when an epic is closed696 changes the state to closed697 #reopen698 sets closed_at to nil when an epic is reopend699 sets closed_by to nil when an epic is reopend700 changes the state to opened701 #to_reference702 avoids additional SQL queries703 when nil argument704 returns epic id705 when from argument equals epic group706 returns epic id707 when from argument is a group different from epic group708 returns complete path to the epic709 when from argument is a project under the epic group710 returns epic id711 when from argument is a project under the epic subgroup712 returns complete path to the epic713 when from argument is a project in another group714 returns complete path to the epic715 when full is true716 returns complete path to the epic717 #has_children?718 has no children719 has child epics720 #has_issues?721 has no issues722 has child issues723 #has_parent?724 has no parent725 has parent726 mentioning other objects727 creates new system notes for cross references728 relative positioning729 there is no parent730 behaves like no-op relative positioning731 .scoped_items732 is empty733 .relative_siblings734 is empty735 .move_nulls_to_end736 does not move any items737 behaves like a no-op method738 does not raise errors739 does not perform any DB queries740 does not change any relative_position741 .move_nulls_to_start742 does not move any items743 behaves like a no-op method744 does not raise errors745 does not perform any DB queries746 does not change any relative_position747 instance methods748 #move_to_start749 behaves like a no-op method750 does not raise errors751 does not perform any DB queries752 does not change any relative_position753 #move_to_end754 behaves like a no-op method755 does not raise errors756 does not perform any DB queries757 does not change any relative_position758 #move_between759 behaves like a no-op method760 does not raise errors761 does not perform any DB queries762 does not change any relative_position763 #move_before764 behaves like a no-op method765 does not raise errors766 does not perform any DB queries767 does not change any relative_position768 #move_after769 behaves like a no-op method770 does not raise errors771 does not perform any DB queries772 does not change any relative_position773 there is a parent774 behaves like a class that supports relative positioning775 #scoped_items776 includes all items with the same scope777 #relative_siblings778 includes all items with the same scope, except self779 .move_nulls_to_end780 moves items with null relative_position to the end781 preserves relative position782 moves the item near the start position when there are no existing positions783 does not perform any moves if all items have their relative_position set784 manages to move nulls to the end even if there is a sequence at the end785 manages to move nulls to the end even if there is not enough space786 manages to move nulls to the end, stacking if we cannot create enough space787 manages to move nulls found in the relative scope788 can move many nulls789 does not have an N+1 issue790 .move_nulls_to_start791 moves items with null relative_position to the start792 moves the item near the start position when there are no existing positions793 preserves relative position794 does not perform any moves if all items have their relative_position set795 manages to move nulls to the start even if there is not enough space796 manages to move nulls to the end, stacking if we cannot create enough space797 #move_before798 moves item before799 can move the item before an item at the start800 can move the item before an item at MIN_POSITION801 can move the item before an item bunched up at MIN_POSITION802 when there is no space803 moves items correctly804 leap-frogging to the left805 can leap-frog STEPS times before needing to rebalance806 there is no space to the left after moving STEPS times807 rebalances to the right808 #move_after809 moves item after810 can move the item after an item bunched up at MAX_POSITION811 when there is no space812 can move the item after an item at MAX_POSITION813 moves items correctly814 leap-frogging815 rebalances after STEPS jumps816 #move_to_start817 places items at most IDEAL_DISTANCE from the start when the range is open818 moves item to the end819 positions the item at MIN_POSITION when there is only one space left820 rebalances when there is already an item at the MIN_POSITION821 deals with a run of elements at the start822 #move_to_end823 places items at most IDEAL_DISTANCE from the start when the range is open824 moves item to the end825 positions the item at MAX_POSITION when there is only one space left826 rebalances when there is already an item at the MAX_POSITION827 deals with a run of elements at the end828 #move_between829 positions item between two other830 positions item between on top831 positions item between to end832 positions items even when after and before positions are the same833 positions item in the middle of other two if distance is big enough834 positions item closer to the middle if we are at the very top835 positions item closer to the middle if we are at the very bottom836 positions item in the middle of other two837 positions item right if we pass non-sequential parameters838 avoids N+1 queries when rebalancing other items839 the two items are next to each other840 behaves like moves item between841 moves the middle item to between left and right842 there is no space843 behaves like moves item between844 moves the middle item to between left and right845 there is a bunch of items846 handles bunches correctly847 behaves like moves item between848 moves the middle item to between left and right849 with existing epics and related issues850 .related_issues851 returns epic issues ordered by relative position852 .ids_for_base_and_decendants853 returns epic ids only for selected epics or its descendant epics854 .issue_metadata_for_epics855 returns hash containing epic issues count and weight and epic status856 behaves like versioned description857 associations858 is expected to have many description_versions859 save_description_version860 when description was changed861 saves the old and new description for the first update862 only saves the new description for subsequent updates863 sets the new description version to `saved_description_version`864 clears `saved_description_version` after another save that does not change description865 when description was not changed866 does not save any description version867 #usage_ping_record_epic_creation868 records epic creation after saving869 with coloured epics870 epic_color: #<Gitlab::Color:0x00007fe19cf90530 @value="#1068bf">, expected_text_color: #<Gitlab::Color:0x00007fe182019c88 @value="#FFFFFF">871 returns correct text color872 epic_color: #<Gitlab::Color:0x00007fe182019a30 @value="#FFFFFF">, expected_text_color: #<Gitlab::Color:0x00007fe182019990 @value="#333333">873 returns correct text color874 epic_color: #<Gitlab::Color:0x00007fe182019800 @value="#000000">, expected_text_color: #<Gitlab::Color:0x00007fe182019760 @value="#FFFFFF">875 returns correct text color876 .epics_readable_by_user877 avoids N+1 queries when authorizing a list of epics878 with an admin when admin mode is enabled879 is expected to contain exactly #<Epic id:376 group146&1>880 with an admin when admin mode is disabled881 returns the epics readable by the admin882 returns no epics when not given access883 with a regular user884 returns the epics readable by the user885 returns an empty array when no epics are readable886 without a regular user887 returns epics that are publicly visible888 with group hierarchy889 when user is not a member890 returns no epic891 when user is a reporter in the ancestor group892 returns epics from all groups893 when user is a reporter in the base group894 returns epics in main group and its descendants895 when user is a reporter in the subgroup896 returns epics in subgroup897 #related_epics898 when epics feature is enabled899 returns readable related epics of the epic900 when epics feature is disabled901 returns empty result902 #epic_link_type903 returns nil if link_type attributes are not available904 returns link type value for sources905 returns inverse link type value for targets906 #blocked_by_epics_for907 when user can read epics908 returns blocked epics909 when user cannot read epic910 returns empty array911 when user cannot read some spics912 returns only epics that user can read913 order by closed_at914 .order_closed_at_asc915 orders on closed at916 .order_closed_at_desc917 orders on closed at918License919 validations920 #valid_license921 when the license is provided922 is expected to be valid923 with online cloud license924 behaves like an invalid license925 adds an error926 with offline cloud license927 behaves like an invalid license928 adds an error929 when no license is provided930 adds an error931 #check_trueup932 when reconciliation_completed is true on the license933 is expected to be valid934 when reconciliation_completed is false on the license935 adds errors for invalid true up figures936 when reconciliation_completed is not present on the license937 adds errors for invalid true up figures938 when quantity with threshold is more than the required quantity939 is expected to be valid940 but active users with threshold exceeds restricted user count941 is expected not to be valid942 when quantity with threshold is equal to the required quantity943 is expected to be valid944 but active users with threshold exceeds restricted user count945 is expected not to be valid946 when quantity with threshold is less than the required quantity947 is expected not to be valid948 when previous user count is not present949 uses current active user count to calculate the expected true-up950 with wrong true-up quantity951 is expected not to be valid952 when previous user count is present953 is expected to be valid954 #check_restricted_user_count955 when reconciliation_completed is true956 when restricted_user_count with threshold is more than active_user_count957 is expected to be valid958 when restricted_user_count with threshold is equal than active_user_count959 is expected to be valid960 when the restricted_user_count with threshold is less than active_user_count961 add limit error962 validates only if the new record963 when reconciliation_completed is false964 when the restricted_user_count with threshold is less than active_user_count965 add limit error966 #check_users_limit967 for each plan968 gl_plan: "starter", valid: false969 when license has restricted users970 is expected to eq false971 when license has unlimited users972 is always valid973 gl_plan: "premium", valid: false974 when license has restricted users975 is expected to eq false976 when license has unlimited users977 is always valid978 gl_plan: "ultimate", valid: true979 when license has restricted users980 is expected to eq true981 when license has unlimited users982 is always valid983 when license is a cloud license984 is expected to be valid985 when no restriction is set986 is expected to be valid987 without historical data988 with previous user count989 when prior historical max is less than previous user count990 when daily billable users count is less than the restricted user count991 is expected to be valid992 when daily billable users count is equal to the restricted user count993 is expected to be valid994 when daily billable users count is equal to the restricted user count with threshold995 is expected to be valid996 when daily billable users count is greater than the restricted user count997 is expected not to be valid998 includes the correct error message999 when prior historical max is equal to previous user count1000 when daily billable users count is less than the restricted user count1001 is expected to be valid1002 when daily billable users count is equal to the restricted user count1003 is expected to be valid1004 when daily billable users count is equal to the restricted user count with threshold1005 is expected to be valid1006 when daily billable users count is greater than the restricted user count1007 is expected not to be valid1008 includes the correct error message1009 without previous user count1010 when prior historical max is less than the restricted user count1011 is expected to be valid1012 when prior historical max is equal to the restricted user count1013 is expected to be valid1014 when prior historical max is equal to the restricted user count with threshold1015 is expected to be valid1016 with historical data in the term of an existing current license1017 with previous user count1018 when prior historical max is less than previous user count1019 when daily billable users count is less than the restricted user count1020 is expected to be valid1021 when daily billable users count is equal to the restricted user count1022 is expected to be valid1023 when daily billable users count is equal to the restricted user count with threshold1024 is expected to be valid1025 when daily billable users count is greater than the restricted user count1026 is expected not to be valid1027 includes the correct error message1028 when prior historical max is equal to previous user count1029 when daily billable users count is less than the restricted user count1030 is expected to be valid1031 when daily billable users count is equal to the restricted user count1032 is expected to be valid1033 when daily billable users count is equal to the restricted user count with threshold1034 is expected to be valid1035 when daily billable users count is greater than the restricted user count1036 is expected not to be valid1037 includes the correct error message1038 when prior historical max is greater than previous user count1039 when prior historical max is less than the restricted user count1040 is expected to be valid1041 when prior historical max is equal to the restricted user count1042 is expected to be valid1043 when prior historical max is equal to the restricted user count with threshold1044 is expected to be valid1045 when prior historical max is greater than the restricted user count1046 is expected not to be valid1047 includes the correct error message1048 without previous user count1049 when prior historical max is less than the restricted user count1050 is expected to be valid1051 when prior historical max is equal to the restricted user count1052 is expected to be valid1053 when prior historical max is equal to the restricted user count with threshold1054 is expected to be valid1055 when prior historical max is greater than the restricted user count1056 is expected not to be valid1057 includes the correct error message1058 with historical data in the term of the new license (no current license exists)1059 when new license has an expiration date1060 with previous user count1061 when prior historical max is less than previous user count1062 when daily billable users count is less than the restricted user count1063 is expected to be valid1064 when daily billable users count is equal to the restricted user count1065 is expected to be valid1066 when daily billable users count is equal to the restricted user count with threshold1067 is expected to be valid1068 when daily billable users count is greater than the restricted user count1069 is expected not to be valid1070 includes the correct error message1071 when prior historical max is equal to previous user count1072 when daily billable users count is less than the restricted user count1073 is expected to be valid1074 when daily billable users count is equal to the restricted user count1075 is expected to be valid1076 when daily billable users count is equal to the restricted user count with threshold1077 is expected to be valid1078 when daily billable users count is greater than the restricted user count1079 is expected not to be valid1080 includes the correct error message1081 when prior historical max is greater than previous user count1082 when prior historical max is less than the restricted user count1083 is expected to be valid1084 when prior historical max is equal to the restricted user count1085 is expected to be valid1086 when prior historical max is equal to the restricted user count with threshold1087 is expected to be valid1088 when prior historical max is greater than the restricted user count1089 is expected not to be valid1090 includes the correct error message1091 without previous user count1092 when prior historical max is less than the restricted user count1093 is expected to be valid1094 when prior historical max is equal to the restricted user count1095 is expected to be valid1096 when prior historical max is equal to the restricted user count with threshold1097 is expected to be valid1098 when prior historical max is greater than the restricted user count1099 is expected not to be valid1100 includes the correct error message1101 when new license has no expiration1102 with previous user count1103 when prior historical max is less than previous user count1104 when daily billable users count is less than the restricted user count1105 is expected to be valid1106 when daily billable users count is equal to the restricted user count1107 is expected to be valid1108 when daily billable users count is equal to the restricted user count with threshold1109 is expected to be valid1110 when daily billable users count is greater than the restricted user count1111 is expected not to be valid1112 includes the correct error message1113 when prior historical max is equal to previous user count1114 when daily billable users count is less than the restricted user count1115 is expected to be valid1116 when daily billable users count is equal to the restricted user count1117 is expected to be valid1118 when daily billable users count is equal to the restricted user count with threshold1119 is expected to be valid1120 when daily billable users count is greater than the restricted user count1121 is expected not to be valid1122 includes the correct error message1123 when prior historical max is greater than previous user count1124 when prior historical max is less than the restricted user count1125 is expected to be valid1126 when prior historical max is equal to the restricted user count1127 is expected to be valid1128 when prior historical max is equal to the restricted user count with threshold1129 is expected to be valid1130 when prior historical max is greater than the restricted user count1131 is expected not to be valid1132 includes the correct error message1133 without previous user count1134 when prior historical max is less than the restricted user count1135 is expected to be valid1136 when prior historical max is equal to the restricted user count1137 is expected to be valid1138 when prior historical max is equal to the restricted user count with threshold1139 is expected to be valid1140 when prior historical max is greater than the restricted user count1141 is expected not to be valid1142 includes the correct error message1143 downgrade1144 when more users were added in previous period1145 is invalid without a true-up1146 when no users were added in the previous period1147 is expected to be valid1148 #not_expired1149 when the license doesn't expire1150 is expected to be valid1151 when the license has expired1152 is expected not to be valid1153 when the license has yet to expire1154 is expected to be valid1155 Callbacks1156 #reset_current1157 when a license is created1158 expires the current_license cached value1159 when a license is updated1160 expires the current_license cached value1161 when a license is destroyed1162 expires the current_license cached value1163 #reset_future_dated1164 when a license is created1165 deletes the future_dated_license value in Gitlab::SafeRequestStore1166 when a license is destroyed1167 deletes the future_dated_license value in Gitlab::SafeRequestStore1168 Scopes1169 .cloud1170 includes cloud licenses1171 Class methods1172 .current1173 when licenses table does not exist1174 returns nil1175 when there is no license1176 returns nil1177 when the license is invalid1178 returns nil1179 when the license is valid1180 returns the license1181 caches the license1182 .future_dated1183 when licenses table does not exist1184 returns nil1185 when there is no license1186 returns nil1187 when the license is invalid1188 returns false1189 when the license is valid1190 returns the true1191 .block_changes?1192 when there is no current license1193 returns false1194 with an expired trial license1195 returns false1196 with an expired normal license1197 returns true1198 when the current license is set to block changes1199 returns true1200 when the current license doesn't block changes1201 returns false1202 .with_valid_license1203 when license trial1204 does not yield block1205 when license nil1206 does not yield block1207 when license is valid1208 yields block1209 .current_cloud_license?1210 when current license is not set1211 is expected to equal false1212 when current license is not a cloud license1213 is expected to equal false1214 when current license is a cloud license but key does not match current1215 is expected to equal false1216 when current license is a cloud license and key matches current1217 is expected to equal true1218 #data_filename1219 when licensee includes company information1220 is expected to eq "ExamplePartnerInc2.gitlab-license"1221 when licensee does not include company information1222 is expected to eq "UserExample.gitlab-license"1223 #normalized_data1224 replaces carriage returns1225 adds a trailing newline1226 replaces multiple trailing newlines with a single trailing newline1227 #md51228 returns the same MD5 for licenses with carriage returns and those without1229 returns the same MD5 for licenses with trailing newlines and those without1230 returns the same MD5 for licenses with multiple trailing newlines and those with a single trailing newline1231 #license1232 when no data is provided1233 returns nil1234 when corrupt license data is provided1235 returns nil1236 when valid license data is provided1237 returns the license1238 reading add-ons1239 #plan1240 {:restrictions=>{}, :plan=>"starter"}1241 is expected to eq "starter"1242 {:restrictions=>{:plan=>nil}, :plan=>"starter"}1243 is expected to eq "starter"1244 {:restrictions=>{:plan=>""}, :plan=>"starter"}1245 is expected to eq "starter"1246 {:restrictions=>{:plan=>"unknown"}, :plan=>"unknown"}1247 is expected to eq "unknown"1248 #feature_available?1249 returns true if add-on exists and have a quantity greater than 01250 returns true if the feature is included in the plan do1251 returns false if add-on exists but have a quantity of 01252 returns false if add-on does not exists1253 with an expired trial license1254 returns false for audit_events1255 returns false for blocked_issues1256 returns false for board_iteration_lists1257 returns false for code_owners1258 returns false for code_review_analytics1259 returns false for contribution_analytics1260 returns false for description_diffs1261 returns false for elastic_search1262 returns false for full_codequality_report1263 returns false for group_activity_analytics1264 returns false for group_bulk_edit1265 returns false for group_webhooks1266 returns false for issuable_default_templates1267 returns false for issue_weights1268 returns false for iterations1269 returns false for ldap_group_sync1270 returns false for member_lock1271 returns false for merge_request_approvers1272 returns false for milestone_charts1273 returns false for multiple_issue_assignees1274 returns false for multiple_ldap_servers1275 returns false for multiple_merge_request_assignees1276 returns false for multiple_merge_request_reviewers1277 returns false for project_merge_request_analytics1278 returns false for protected_refs_for_users1279 returns false for push_rules1280 returns false for repository_mirrors1281 returns false for resource_access_token1282 returns false for seat_link1283 returns false for scoped_issue_board1284 returns false for usage_quotas1285 returns false for visual_review_app1286 returns false for wip_limits1287 returns false for send_emails_from_admin_area1288 returns false for repository_size_limit1289 #subscription_id1290 has correct subscription_id1291 #daily_billable_users_count1292 when license is not for Ultimate plan1293 includes guests in the count1294 when license is for Ultimate plan1295 excludes guests in the count1296 #overage1297 returns 0 if restricted_user_count is nil1298 returns the difference between user_count and restricted_user_count1299 returns the difference using daily_billable_users_count as user_count if no user_count argument provided1300 returns 0 if the difference is a negative number1301 #historical_data1302 with using parameters1303 returns correct number of records within the given range1304 with a license that has a start and end date1305 returns correct number of records within the license range1306 with a license that has no start date1307 returns correct number of records starting a year ago to license\s expiration date1308 with a license that has no end date1309 returns correct number of records from the license's start date to today1310 #historical_max1311 when using parameters1312 returns max user count for the given time range1313 with different plans for the license1314 gl_plan: "starter", expected_count: 21315 does not count guest users1316 gl_plan: "premium", expected_count: 21317 does not count guest users1318 gl_plan: "ultimate", expected_count: 11319 does not count guest users1320 with data inside and outside of the license period1321 returns max value for active_user_count for within the license period only1322 when license has no start date1323 returns max value for active_user_count from up to a year ago1324 when license has no expiration date1325 returns max value for active_user_count until today1326 #maximum_user_count1327 returns zero when there is no data1328 returns historical data1329 returns the billable users count1330 returns the daily billable users count when it is higher than historical data1331 returns historical data when it is higher than the billable users count1332 returns the correct value when historical data and billable users are equal1333 returns the highest value from historical data1334 uses only the most recent billable users entry1335 returns the highest historical data since the license started for a 1 year license1336 returns the highest historical data since the license started for a license that lasts 6 months1337 returns the highest historical data since the license started for a license that lasts two years1338 returns the highest historical data during the license period for an expired license1339 #ultimate?1340 plan: nil, expected: false1341 is expected to eq false1342 plan: "starter", expected: false1343 is expected to eq false1344 plan: "premium", expected: false1345 is expected to eq false1346 plan: "ultimate", expected: true1347 is expected to eq true1348 Trial Licenses1349 Update trial setting1350 when the license is not trial1351 does nothing1352 when the license is the very first trial1353 is eligible for trial1354 updates the trial setting during create1355 when the license is a repeated trial1356 does not update existing trial setting1357 is not eligible for trial1358 .history1359 does not include the undecryptable license1360 returns the licenses sorted by created_at, starts_at and expires_at descending1361 #edition1362 have expected values1363 #paid?1364 plan: "starter", paid_result: true1365 is expected to eq true1366 plan: "premium", paid_result: true1367 is expected to eq true1368 plan: "ultimate", paid_result: true1369 is expected to eq true1370 plan: nil, paid_result: true1371 is expected to eq true1372 #started?1373 starts_at: Sat, 28 May 2022, result: true1374 is expected to eq true1375 starts_at: Tue, 28 Jun 2022, result: true1376 is expected to eq true1377 starts_at: Thu, 28 Jul 2022, result: false1378 is expected to eq false1379 #future_dated?1380 starts_at: Sat, 28 May 2022, result: false1381 is expected to eq false1382 starts_at: Tue, 28 Jun 2022, result: false1383 is expected to eq false1384 starts_at: Thu, 28 Jul 2022, result: true1385 is expected to eq true1386 #cloud_license?1387 when no license provided1388 is expected to equal false1389 when the license has cloud licensing disabled1390 is expected to equal false1391 when the license has cloud licensing enabled1392 is expected to equal true1393 #offline_cloud_license?1394 when no license provided1395 is expected to equal false1396 when the license has offline cloud licensing disabled1397 is expected to equal false1398 when the license has offline cloud licensing enabled1399 is expected to equal true1400 when the license offline cloud licensing is not set1401 is expected to equal false1402 #online_cloud_license?1403 when no license provided1404 is expected to equal false1405 when the license has cloud licensing and offline cloud licensing enabled1406 is expected to equal false1407 when the license has cloud licensing enabled and offline cloud licensing disabled1408 is expected to equal true1409 when the license has cloud licensing and offline cloud licensing disabled1410 is expected to equal false1411 #customer_service_enabled?1412 when no license provided1413 is expected to equal false1414 when the license has usage ping required metrics disabled1415 is expected to equal false1416 when the license has usage ping required metrics enabled1417 is expected to equal true1418 #current?1419 when the license is not persisted1420 is expected to equal false1421 when the license is persisted1422 when the license is the current license1423 is expected to equal true1424 when the license is not the current license1425 is expected to equal false1426 when there is no current license1427 is expected to equal false1428 #license_type1429 when the license is not a cloud license1430 is expected to eq "legacy_license"1431 when the license is an online cloud license1432 is expected to eq "online_cloud"1433 when the license is an offline cloud license1434 is expected to eq "offline_cloud"1435 #auto_renew1436 is false1437 #active_user_count_threshold1438 returns nil for license with unlimited user count1439 for license with users1440 restricted_user_count: 3, active_user_count: 2, percentage: false, threshold_value: 11441 is expected not to be nil1442 is expected to include {:value => 1, :percentage => false}1443 restricted_user_count: 20, active_user_count: 18, percentage: false, threshold_value: 21444 is expected not to be nil1445 is expected to include {:value => 2, :percentage => false}1446 restricted_user_count: 90, active_user_count: 80, percentage: true, threshold_value: 101447 is expected not to be nil1448 is expected to include {:value => 10, :percentage => true}1449 restricted_user_count: 300, active_user_count: 275, percentage: true, threshold_value: 81450 is expected not to be nil1451 is expected to include {:value => 8, :percentage => true}1452 restricted_user_count: 1200, active_user_count: 1100, percentage: true, threshold_value: 51453 is expected not to be nil1454 is expected to include {:value => 5, :percentage => true}1455 #active_user_count_threshold_reached?1456 restricted_user_count: 10, daily_billable_users_count: 9, result: true1457 is expected to eq true1458 restricted_user_count: nil, daily_billable_users_count: 9, result: false1459 is expected to eq false1460 restricted_user_count: 10, daily_billable_users_count: 15, result: false1461 is expected to eq false1462 restricted_user_count: 100, daily_billable_users_count: 95, result: true1463 is expected to eq true1464 #restricted_user_count?1465 restricted_user_count: nil, result: false1466 is expected to eq false1467 restricted_user_count: 0, result: false1468 is expected to eq false1469 restricted_user_count: 1, result: true1470 is expected to eq true1471 restricted_user_count: 10, result: true1472 is expected to eq true1473 #licensee_name1474 is expected to eq "User Example"1475 #licensee_email1476 is expected to eq "user@example.com"1477 #licensee_company1478 is expected to eq "Example Inc."1479 #activated_at1480 when activated_at is set within the license data1481 is expected to eq Mon, 27 Jun 2022 00:00:00.000000000 +00001482 when activated_at is not set within the license data1483 is expected to eq 2022-06-23 10:26:26.434771091 +00001484 #notify_admins?1485 when license has expired1486 is expected to eq true1487 when license has no expiration1488 is expected to eq false1489 when license has not expired1490 when license is a trial1491 when license expiration is more than a week from today1492 is expected to eq false1493 when license expiration is a week from today1494 is expected to eq true1495 when license expiration is less than a week from today1496 is expected to eq true1497 when license is not a trial1498 when license expiration is more than 15 days from today1499 is expected to eq false1500 when license expiration is 15 days from today1501 is expected to eq true1502 when license expiration is less than 15 days from today1503 is expected to eq true1504 #notify_users?1505 when license has no expiration1506 is expected to eq false1507 when license is a trial1508 when license expiration is more than a week from today1509 is expected to eq false1510 when license expiration is a week from today1511 is expected to eq true1512 when license expiration is less than a week from today1513 is expected to eq true1514 when license is not a trial1515 when license block changes date is before today1516 is expected to eq true1517 when license block changes date is today1518 is expected to eq true1519 when license block changes date is after today1520 is expected to eq false1521Gitlab::Analytics::CycleAnalytics::DataCollector1522 when `Analytics::CycleAnalytics::ProjectStage` is given1523 behaves like test various start and end event combinations1524 when `Issue` based stage is given1525 between issue creation time and issue first mentioned in commit time1526 behaves like custom Value Stream Analytics Stage1527 loads serialized records1528 calculates median1529 when sorting by duration1530 returns serialized records sorted by duration DESC1531 #duration_chart_average_data1532 loads data ordered by event time1533 #count1534 returns limited count1535 when filtering in progress items1536 calculates median1537 loads serialized records1538 #count1539 returns limited count1540 between issue creation time and closing time1541 behaves like custom Value Stream Analytics Stage1542 loads serialized records1543 calculates median1544 when sorting by duration1545 returns serialized records sorted by duration DESC1546 #duration_chart_average_data1547 loads data ordered by event time1548 #count1549 returns limited count1550 when filtering in progress items1551 calculates median1552 loads serialized records1553 #count1554 returns limited count1555 between issue first mentioned in commit and first associated with milestone time1556 behaves like custom Value Stream Analytics Stage1557 loads serialized records1558 calculates median1559 when sorting by duration1560 returns serialized records sorted by duration DESC1561 #duration_chart_average_data1562 loads data ordered by event time1563 #count1564 returns limited count1565 when filtering in progress items1566 calculates median1567 loads serialized records1568 #count1569 returns limited count1570 between issue creation time and first added to board time1571 behaves like custom Value Stream Analytics Stage1572 loads serialized records1573 calculates median1574 when sorting by duration1575 returns serialized records sorted by duration DESC1576 #duration_chart_average_data1577 loads data ordered by event time1578 #count1579 returns limited count1580 when filtering in progress items1581 calculates median1582 loads serialized records1583 #count1584 returns limited count1585 between issue creation time and last edit time1586 behaves like custom Value Stream Analytics Stage1587 loads serialized records1588 calculates median1589 when sorting by duration1590 returns serialized records sorted by duration DESC1591 #duration_chart_average_data1592 loads data ordered by event time1593 #count1594 returns limited count1595 when filtering in progress items1596 calculates median1597 loads serialized records1598 #count1599 returns limited count1600 between issue label added time and label removed time1601 behaves like custom Value Stream Analytics Stage1602 loads serialized records1603 calculates median1604 when sorting by duration1605 returns serialized records sorted by duration DESC1606 #duration_chart_average_data1607 loads data ordered by event time1608 #count1609 returns limited count1610 when filtering in progress items1611 calculates median1612 loads serialized records1613 #count1614 returns limited count1615 between issue label added time and another issue label added time1616 behaves like custom Value Stream Analytics Stage1617 loads serialized records1618 calculates median1619 when sorting by duration1620 returns serialized records sorted by duration DESC1621 #duration_chart_average_data1622 loads data ordered by event time1623 #count1624 returns limited count1625 when filtering in progress items1626 calculates median1627 loads serialized records1628 #count1629 returns limited count1630 when filtering for two labels1631 does not raise query syntax error1632 between issue creation time and issue label added time1633 behaves like custom Value Stream Analytics Stage1634 loads serialized records1635 calculates median1636 when sorting by duration1637 returns serialized records sorted by duration DESC1638 #duration_chart_average_data1639 loads data ordered by event time1640 #count1641 returns limited count1642 when filtering in progress items1643 calculates median1644 loads serialized records1645 #count1646 returns limited count1647 when `MergeRequest` based stage is given1648 between merge request creation time and merged at time1649 behaves like custom Value Stream Analytics Stage1650 loads serialized records1651 calculates median1652 when sorting by duration1653 returns serialized records sorted by duration DESC1654 #duration_chart_average_data1655 loads data ordered by event time1656 #count1657 returns limited count1658 when filtering in progress items1659 calculates median1660 loads serialized records1661 #count1662 returns limited count1663 between merge request merrged time and first deployed to production at time1664 behaves like custom Value Stream Analytics Stage1665 loads serialized records1666 calculates median1667 when sorting by duration1668 returns serialized records sorted by duration DESC1669 #duration_chart_average_data1670 loads data ordered by event time1671 #count1672 returns limited count1673 when filtering in progress items1674 calculates median1675 loads serialized records1676 #count1677 returns limited count1678 between first commit at and merge request merged time1679 behaves like custom Value Stream Analytics Stage1680 loads serialized records1681 calculates median1682 when sorting by duration1683 returns serialized records sorted by duration DESC1684 #duration_chart_average_data1685 loads data ordered by event time1686 #count1687 returns limited count1688 when filtering in progress items1689 calculates median1690 loads serialized records1691 #count1692 returns limited count1693 between merge request build started time and build finished time1694 behaves like custom Value Stream Analytics Stage1695 loads serialized records1696 calculates median1697 when sorting by duration1698 returns serialized records sorted by duration DESC1699 #duration_chart_average_data1700 loads data ordered by event time1701 #count1702 returns limited count1703 when filtering in progress items1704 calculates median1705 loads serialized records1706 #count1707 returns limited count1708 between merge request creation time and close time1709 behaves like custom Value Stream Analytics Stage1710 loads serialized records1711 calculates median1712 when sorting by duration1713 returns serialized records sorted by duration DESC1714 #duration_chart_average_data1715 loads data ordered by event time1716 #count1717 returns limited count1718 when filtering in progress items1719 calculates median1720 loads serialized records1721 #count1722 returns limited count1723 between merge request creation time and last edit time1724 behaves like custom Value Stream Analytics Stage1725 loads serialized records1726 calculates median1727 when sorting by duration1728 returns serialized records sorted by duration DESC1729 #duration_chart_average_data1730 loads data ordered by event time1731 #count1732 returns limited count1733 when filtering in progress items1734 calculates median1735 loads serialized records1736 #count1737 returns limited count1738 between merge request label added time and label removed time1739 behaves like custom Value Stream Analytics Stage1740 loads serialized records1741 calculates median1742 when sorting by duration1743 returns serialized records sorted by duration DESC1744 #duration_chart_average_data1745 loads data ordered by event time1746 #count1747 returns limited count1748 when filtering in progress items1749 calculates median1750 loads serialized records1751 #count1752 returns limited count1753 when `Analytics::CycleAnalytics::GroupStage` is given1754 behaves like test various start and end event combinations1755 when `Issue` based stage is given1756 between issue creation time and issue first mentioned in commit time1757 behaves like custom Value Stream Analytics Stage1758 loads serialized records1759 calculates median1760 when sorting by duration1761 returns serialized records sorted by duration DESC1762 #duration_chart_average_data1763 loads data ordered by event time1764 #count1765 returns limited count1766 when filtering in progress items1767 calculates median1768 loads serialized records1769 #count1770 returns limited count1771 between issue creation time and closing time1772 behaves like custom Value Stream Analytics Stage1773 loads serialized records1774 calculates median1775 when sorting by duration1776 returns serialized records sorted by duration DESC1777 #duration_chart_average_data1778 loads data ordered by event time1779 #count1780 returns limited count1781 when filtering in progress items1782 calculates median1783 loads serialized records1784 #count1785 returns limited count1786 between issue first mentioned in commit and first associated with milestone time1787 behaves like custom Value Stream Analytics Stage1788 loads serialized records1789 calculates median1790 when sorting by duration1791 returns serialized records sorted by duration DESC1792 #duration_chart_average_data1793 loads data ordered by event time1794 #count1795 returns limited count1796 when filtering in progress items1797 calculates median1798 loads serialized records1799 #count1800 returns limited count1801 between issue creation time and first added to board time1802 behaves like custom Value Stream Analytics Stage1803 loads serialized records1804 calculates median1805 when sorting by duration1806 returns serialized records sorted by duration DESC1807 #duration_chart_average_data1808 loads data ordered by event time1809 #count1810 returns limited count1811 when filtering in progress items1812 calculates median1813 loads serialized records1814 #count1815 returns limited count1816 between issue creation time and last edit time1817 behaves like custom Value Stream Analytics Stage1818 loads serialized records1819 calculates median1820 when sorting by duration1821 returns serialized records sorted by duration DESC1822 #duration_chart_average_data1823 loads data ordered by event time1824 #count1825 returns limited count1826 when filtering in progress items1827 calculates median1828 loads serialized records1829 #count1830 returns limited count1831 between issue label added time and label removed time1832 behaves like custom Value Stream Analytics Stage1833 loads serialized records1834 calculates median1835 when sorting by duration1836 returns serialized records sorted by duration DESC1837 #duration_chart_average_data1838 loads data ordered by event time1839 #count1840 returns limited count1841 when filtering in progress items1842 calculates median1843 loads serialized records1844 #count1845 returns limited count1846 between issue label added time and another issue label added time1847 behaves like custom Value Stream Analytics Stage1848 loads serialized records1849 calculates median1850 when sorting by duration1851 returns serialized records sorted by duration DESC1852 #duration_chart_average_data1853 loads data ordered by event time1854 #count1855 returns limited count1856 when filtering in progress items1857 calculates median1858 loads serialized records1859 #count1860 returns limited count1861 when filtering for two labels1862 does not raise query syntax error1863 between issue creation time and issue label added time1864 behaves like custom Value Stream Analytics Stage1865 loads serialized records1866 calculates median1867 when sorting by duration1868 returns serialized records sorted by duration DESC1869 #duration_chart_average_data1870 loads data ordered by event time1871 #count1872 returns limited count1873 when filtering in progress items1874 calculates median1875 loads serialized records1876 #count1877 returns limited count1878 when `MergeRequest` based stage is given1879 between merge request creation time and merged at time1880 behaves like custom Value Stream Analytics Stage1881 loads serialized records1882 calculates median1883 when sorting by duration1884 returns serialized records sorted by duration DESC1885 #duration_chart_average_data1886 loads data ordered by event time1887 #count1888 returns limited count1889 when filtering in progress items1890 calculates median1891 loads serialized records1892 #count1893 returns limited count1894 between merge request merrged time and first deployed to production at time1895 behaves like custom Value Stream Analytics Stage1896 loads serialized records1897 calculates median1898 when sorting by duration1899 returns serialized records sorted by duration DESC1900 #duration_chart_average_data1901 loads data ordered by event time1902 #count1903 returns limited count1904 when filtering in progress items1905 calculates median1906 loads serialized records1907 #count1908 returns limited count1909 between first commit at and merge request merged time1910 behaves like custom Value Stream Analytics Stage1911 loads serialized records1912 calculates median1913 when sorting by duration1914 returns serialized records sorted by duration DESC1915 #duration_chart_average_data1916 loads data ordered by event time1917 #count1918 returns limited count1919 when filtering in progress items1920 calculates median1921 loads serialized records1922 #count1923 returns limited count1924 between merge request build started time and build finished time1925 behaves like custom Value Stream Analytics Stage1926 loads serialized records1927 calculates median1928 when sorting by duration1929 returns serialized records sorted by duration DESC1930 #duration_chart_average_data1931 loads data ordered by event time1932 #count1933 returns limited count1934 when filtering in progress items1935 calculates median1936 loads serialized records1937 #count1938 returns limited count1939 between merge request creation time and close time1940 behaves like custom Value Stream Analytics Stage1941 loads serialized records1942 calculates median1943 when sorting by duration1944 returns serialized records sorted by duration DESC1945 #duration_chart_average_data1946 loads data ordered by event time1947 #count1948 returns limited count1949 when filtering in progress items1950 calculates median1951 loads serialized records1952 #count1953 returns limited count1954 between merge request creation time and last edit time1955 behaves like custom Value Stream Analytics Stage1956 loads serialized records1957 calculates median1958 when sorting by duration1959 returns serialized records sorted by duration DESC1960 #duration_chart_average_data1961 loads data ordered by event time1962 #count1963 returns limited count1964 when filtering in progress items1965 calculates median1966 loads serialized records1967 #count1968 returns limited count1969 between merge request label added time and label removed time1970 behaves like custom Value Stream Analytics Stage1971 loads serialized records1972 calculates median1973 when sorting by duration1974 returns serialized records sorted by duration DESC1975 #duration_chart_average_data1976 loads data ordered by event time1977 #count1978 returns limited count1979 when filtering in progress items1980 calculates median1981 loads serialized records1982 #count1983 returns limited count1984 when filter parameters are given1985 when `project_ids` parameter is given1986 behaves like filter examples1987 provides filtered results1988 when `assignee_username` is given1989 behaves like filter examples1990 provides filtered results1991 when `author_username` is given1992 behaves like filter examples1993 provides filtered results1994 when `label_name` is given1995 behaves like filter examples1996 provides filtered results1997 when `Any` `label_name` is given1998 behaves like filter examples1999 provides filtered results2000 when two labels are given2001 behaves like filter examples2002 provides filtered results2003 when `milestone_title` is given2004 behaves like filter examples2005 provides filtered results2006 limit count2007 when limit is reached2008 shows the MAX COUNT2009 when limit is not reached2010 shows the actual count2011Vulnerabilities::RevertToDetectedService2012 with an authorized user with proper permissions2013 when vulnerability is dismissed2014 reverts a vulnerability and its associated findings to detected state2015 creates note2016 behaves like calls vulnerability statistics utility services in order2017 when updating the vulnerability fails2018 does not call the service classes2019 when updating the vulnerability succeeds2020 calls the service classes in order2021 behaves like removes dismissal feedback from associated findings2022 when there is no error2023 removes dismissal feedback from associated findings2024 when there is an error2025 does not remove any feedback2026 responds with error2027 when vulnerability is confirmed2028 reverts a vulnerability and its associated findings to detected state2029 creates note2030 behaves like calls vulnerability statistics utility services in order2031 when updating the vulnerability fails2032 does not call the service classes2033 when updating the vulnerability succeeds2034 calls the service classes in order2035 behaves like removes dismissal feedback from associated findings2036 when there is no error2037 removes dismissal feedback from associated findings2038 when there is an error2039 does not remove any feedback2040 responds with error2041 when vulnerability is resolved2042 reverts a vulnerability and its associated findings to detected state2043 creates note2044 behaves like calls vulnerability statistics utility services in order2045 when updating the vulnerability fails2046 does not call the service classes2047 when updating the vulnerability succeeds2048 calls the service classes in order2049 behaves like removes dismissal feedback from associated findings2050 when there is no error2051 removes dismissal feedback from associated findings2052 when there is an error2053 does not remove any feedback2054 responds with error2055 when security dashboard feature is disabled2056 raises an "access denied" error2057 permissions2058 is expected to be allowed for :owner2059 is expected to be allowed for :maintainer2060 is expected to be allowed for :developer2061 is expected to be denied for :auditor2062 is expected to be denied for :reporter2063 is expected to be denied for :guest2064 is expected to be denied for :anonymous2065 when admin mode is enabled2066 is expected to be allowed for :admin2067 when admin mode is disabled2068 is expected to be denied for :admin2069gitlab:elastic namespace rake tasks2070 when enabling and disabling elastic settings2071 when enabling elasticsearch with setting initially off2072 enables elasticsearch2073 when enabling elasticsearch with setting initially on2074 does nothing when elasticsearch is already enabled2075 when disabling elasticsearch with setting initially on2076 disables elasticsearch2077 when disabling elasticsearch with setting initially off2078 does nothing when elasticsearch is already disabled2079 create_empty_index2080 creates the default index2081 creates the migrations index if it does not exist2082 marks all migrations as completed2083 when SKIP_ALIAS environment variable is set2084 does not alias the new index2085 does not create the migrations index if it does not exist2086 Issue2087 does not create a standalone index2088 Note2089 does not create a standalone index2090 MergeRequest2091 does not create a standalone index2092 Issue2093 creates a standalone index2094 Note2095 creates a standalone index2096 MergeRequest2097 creates a standalone index2098 delete_index2099 removes the index2100 removes the migrations index2101 behaves like deletes all standalone indices2102 Issue2103 removes a standalone index2104 Note2105 removes a standalone index2106 MergeRequest2107 removes a standalone index2108 when the index does not exist2109 does not error2110 with elasticsearch_indexing enabled2111 index2112 calls all indexing tasks in order2113 index_projects2114 queues jobs for each project batch2115 with limited indexing enabled2116 does not queue jobs for projects that should not be indexed2117 index_snippets2118 indexes snippets2119 recreate_index2120 calls all related subtasks in order2121 with elasticsearch_indexing is disabled2122 enables `elasticsearch_indexing`2123 mark_reindex_failed2124 when there is a running reindex job2125 marks the current reindex job as failed2126 prints a message after marking it as failed2127 when no running reindex job2128 just prints a message2129 list_pending_migrations2130 when there are pending migrations2131 outputs pending migrations2132 when there is no pending migrations2133 outputs message there are no pending migrations2134 estimate_cluster_size2135 outputs estimates2136 pause_indexing2137 when indexing is already paused2138 does not do anything2139 when indexing is running2140 pauses indexing2141 resume_indexing2142 when indexing is already running2143 does not do anything2144 when indexing is not running2145 resumes indexing2146 projects_not_indexed2147 no projects are indexed2148 displays non-indexed projects2149 all projects are indexed2150 displays that all projects are indexed2151 does not include projects without repositories2152GeoNode2153 associations2154 is expected to belong to oauth_application class_name => Doorkeeper::Application required: false dependent => destroy2155 is expected to have many geo_node_namespace_links2156 is expected to have many namespaces through geo_node_namespace_links2157 validations2158 is expected to validate that :selective_sync_type is either ‹nil›, ‹"namespaces"›, or ‹"shards"›2159 is expected to validate that :repos_max_capacity looks like a number greater than or equal to 02160 is expected to validate that :files_max_capacity looks like a number greater than or equal to 02161 is expected to validate that :verification_max_capacity looks like a number greater than or equal to 02162 is expected to validate that :container_repositories_max_capacity looks like a number greater than or equal to 02163 is expected to validate that :minimum_reverification_interval looks like a number greater than or equal to 12164 is expected to validate that :name cannot be empty/falsy2165 is expected to validate that :url cannot be empty/falsy2166 is expected to validate that :name is case-insensitively unique2167 is expected to validate that the length of :name is at most 2552168 when validating primary node2169 cannot be disabled2170 when validating url2171 when url is http2172 is expected to be valid2173 when url is https2174 is expected to be valid2175 when url is not http or https2176 is expected not to be valid2177 when an existing GeoNode has the same url but different name2178 is expected to be valid2179 when validating internal_url2180 when internal_url is http2181 is expected to be valid2182 when internal_url is https2183 is expected to be valid2184 when internal_url is not http or https2185 is expected not to be valid2186 when validating requirement for hashed storage2187 when hashed storage is enabled2188 is expected to be valid2189 when hashed_storage is disabled2190 is expected to be invalid2191 default values2192 attribute: :repos_max_capacity, value: 252193 is expected to eq 252194 attribute: :files_max_capacity, value: 102195 is expected to eq 102196 attribute: :container_repositories_max_capacity, value: 102197 is expected to eq 102198 attribute: :sync_object_storage, value: false2199 is expected to eq false2200 prevent locking yourself out2201 does not accept adding a non primary node with same details as current_node2202 dependent models and attributes for GeoNode2203 when validating2204 when it is a secondary node2205 overwrites name, and redirect_uri attributes2206 when the oauth_application is missing2207 builds an oauth_application2208 when it is a primary node2209 when it does not have an oauth_application2210 does not create an oauth_application2211 when it has an oauth_application2212 destroys the oauth_application2213 when clone_url_prefix is nil2214 sets current clone_url_prefix2215 when clone_url_prefix has changed2216 sets current clone_url_prefix2217 when saving2218 when url is changed2219 updates the associated OAuth application's redirect_uri2220 cache expiration2221 expires cache when saved2222 expires cache when removed2223 .primary_node2224 returns the primary2225 returns nil if there is no primary2226 .secondary_nodes2227 returns all secondary nodes2228 returns empty array if there are not any secondary nodes2229 .unhealthy_nodes2230 returns a node without status2231 returns a node not having a cursor last event id2232 returns a node with missing status check timestamp2233 returns a node with an old status check timestamp2234 .min_cursor_last_event_id2235 returns the minimum of cursor_last_event_id across all nodes2236 .find_by_oauth_application_id2237 when the Geo node exists2238 returns the Geo node2239 when the Geo node does not exist2240 returns nil2241 #repair2242 creates an oauth application for a Geo secondary node2243 .current?2244 returns true when node is the current node2245 returns false when node is not the current node2246 #uri2247 when url is set2248 returns an URI object2249 includes schema, host, port and relative_url_root with a terminating /2250 when url is not yet set2251 returns nil2252 #name2253 adds a trailing forward slash when name looks like url field missing slash2254 does not add a trailing forward slash when name does not looks like url field2255 does not add a trailing forward slash when name is nil2256 does not add a trailing forward slash when name is an empty string2257 #name=2258 adds a trailing forward slash when name looks like url field missing slash2259 does not add a trailing forward slash when name does not looks like url field2260 #url2261 returns a string2262 includes schema home port and relative_url with a terminating /2263 #url=2264 sets schema field based on url2265 sets host field based on url2266 sets port field based on specified by url2267 when using unspecified ports2268 when schema is http2269 sets port 802270 when schema is https2271 sets port 4432272 #internal_url2273 returns a string2274 includes schema home port and relative_url with a terminating /2275 falls back to url2276 resets internal_url if it matches #url2277 #internal_url=2278 sets schema field based on url2279 sets host field based on url2280 sets port field based on specified by url2281 when using unspecified ports2282 when schema is http2283 sets port 802284 when schema is https2285 sets port 4432286 #omniauth_host_url2287 returns a string2288 is the URL without the trailing slash2289 includes schema home port and relative_url without a terminating /2290 #geo_retrieve_url2291 returns api url based on node uri2292 #geo_status_url2293 returns api url based on node uri2294 #node_api_url2295 returns an api url based on the node uri and provided node id2296 #graphql_url2297 returns an api url to the graphql endpoint2298 #snapshot_url2299 returns snapshot URL based on node URI2300 adds ?wiki=1 to the snapshot URL when the repository is a wiki2301 #find_or_build_status2302 returns a new status2303 #oauth_callback_url2304 returns oauth callback url based on node uri2305 returns url that matches rails url_helpers generated one2306 #oauth_logout_url2307 returns oauth logout url based on node uri2308 returns url that matches rails url_helpers generated one2309 #geo_projects_url2310 returns the Geo Projects url for the specific node2311 returns nil when node is a primary one2312 #geo_replication_details_url2313 returns the Geo Replicables url for the specific node2314 returns nil when node is a primary one2315 #missing_oauth_application?2316 returns false when present2317 returns true when it is not present2318 on a primary node2319 returns false2320 #projects_include?2321 returns true without selective sync2322 selective sync by namespaces2323 returns true when project belongs to one of the namespaces2324 returns false when project does not belong to one of the namespaces2325 selective sync by shards2326 returns true when project belongs to one of the namespaces2327 returns false when project does not belong to one of the namespaces2328 #projects2329 returns all projects without selective sync2330 returns projects that belong to the namespaces with selective sync by namespace2331 returns projects that belong to the shards with selective sync by shard2332 returns nothing if an unrecognised selective sync type is used2333 #selective_sync?2334 returns true when selective sync is by namespaces2335 returns true when selective sync is by shards2336 returns false when selective sync is disabled2337 #name=2338 before validation2339 strips leading and trailing whitespace2340 #container_repositories2341 with registry replication disabled2342 returns an empty relation2343 without selective sync2344 returns all container repositories2345 with selective sync by namespace2346 excludes container repositories that are not in selectively synced projects2347 with selective sync by shard2348 excludes container repositories that are not in selectively synced shards2349 #lfs_objects2350 without selective sync2351 returns all projects without selective sync2352 with selective sync by namespace2353 excludes LFS objects that are not in selectively synced projects2354 excludes LFS objects from fork networks2355 with selective sync by shard2356 excludes LFS objects that are not in selectively synced shards2357 excludes LFS objects from fork networks2358Gitlab::CustomFileTemplates2359 #enabled?2360 instance_licensed: false, namespace_licensed: false, instance_enabled: false, namespace_enabled: false2361 is expected to eq false2362 instance_licensed: false, namespace_licensed: false, instance_enabled: false, namespace_enabled: true2363 is expected to eq false2364 instance_licensed: false, namespace_licensed: false, instance_enabled: true, namespace_enabled: false2365 is expected to eq false2366 instance_licensed: false, namespace_licensed: false, instance_enabled: true, namespace_enabled: true2367 is expected to eq false2368 instance_licensed: false, namespace_licensed: true, instance_enabled: false, namespace_enabled: false2369 is expected to eq false2370 instance_licensed: false, namespace_licensed: true, instance_enabled: false, namespace_enabled: true2371 is expected to eq true2372 instance_licensed: false, namespace_licensed: true, instance_enabled: true, namespace_enabled: false2373 is expected to eq false2374 instance_licensed: false, namespace_licensed: true, instance_enabled: true, namespace_enabled: true2375 is expected to eq true2376 instance_licensed: true, namespace_licensed: false, instance_enabled: false, namespace_enabled: false2377 is expected to eq false2378 instance_licensed: true, namespace_licensed: false, instance_enabled: false, namespace_enabled: true2379 is expected to eq false2380 instance_licensed: true, namespace_licensed: false, instance_enabled: true, namespace_enabled: false2381 is expected to eq true2382 instance_licensed: true, namespace_licensed: false, instance_enabled: true, namespace_enabled: true2383 is expected to eq true2384 instance_licensed: true, namespace_licensed: true, instance_enabled: false, namespace_enabled: false2385 is expected to eq false2386 instance_licensed: true, namespace_licensed: true, instance_enabled: false, namespace_enabled: true2387 is expected to eq true2388 instance_licensed: true, namespace_licensed: true, instance_enabled: true, namespace_enabled: false2389 is expected to eq true2390 instance_licensed: true, namespace_licensed: true, instance_enabled: true, namespace_enabled: true2391 is expected to eq true2392 #all2393 template_finder: Gitlab::Template::CustomDockerfileTemplate, type: :dockerfile2394 unlicensed2395 is expected to be empty2396 licensed2397 in a toplevel group2398 orders results from most specific to least specific2399 in a subgroup2400 orders results from most specific to least specific2401 template_finder: Gitlab::Template::CustomGitignoreTemplate, type: :gitignore2402 unlicensed2403 is expected to be empty2404 licensed2405 in a toplevel group2406 orders results from most specific to least specific2407 in a subgroup2408 orders results from most specific to least specific2409 template_finder: Gitlab::Template::CustomGitlabCiYmlTemplate, type: :gitlab_ci_yml2410 unlicensed2411 is expected to be empty2412 licensed2413 in a toplevel group2414 orders results from most specific to least specific2415 in a subgroup2416 orders results from most specific to least specific2417 template_finder: Gitlab::Template::CustomLicenseTemplate, type: :license2418 unlicensed2419 is expected to be empty2420 licensed2421 in a toplevel group2422 orders results from most specific to least specific2423 in a subgroup2424 orders results from most specific to least specific2425 #find2426 template_finder: Gitlab::Template::CustomDockerfileTemplate, type: :dockerfile2427 unlicensed2428 is expected to be nil2429 is expected to be nil2430 licensed2431 in a toplevel group2432 finds a group template2433 finds an instance template2434 returns nil for an unknown key2435 in a subgroup2436 finds a template from the subgroup2437 finds a template from the parent group2438 finds an instance template2439 returns nil for an unknown key2440 when subgroup template names overlap with ancestor2441 returns a template from the subgroup2442 finds a template from the parent group with specified project2443 when looking for template for a specific project2444 finds a valid template when looking into group template project2445 finds a valid template when looking into instance template project2446 does not find a template when given project does not have the template2447 template_finder: Gitlab::Template::CustomGitignoreTemplate, type: :gitignore2448 unlicensed2449 is expected to be nil2450 is expected to be nil2451 licensed2452 in a toplevel group2453 finds a group template2454 finds an instance template2455 returns nil for an unknown key2456 in a subgroup2457 finds a template from the subgroup2458 finds a template from the parent group2459 finds an instance template2460 returns nil for an unknown key2461 when subgroup template names overlap with ancestor2462 returns a template from the subgroup2463 finds a template from the parent group with specified project2464 when looking for template for a specific project2465 finds a valid template when looking into group template project2466 finds a valid template when looking into instance template project2467 does not find a template when given project does not have the template2468 template_finder: Gitlab::Template::CustomGitlabCiYmlTemplate, type: :gitlab_ci_yml2469 unlicensed2470 is expected to be nil2471 is expected to be nil2472 licensed2473 in a toplevel group2474 finds a group template2475 finds an instance template2476 returns nil for an unknown key2477 in a subgroup2478 finds a template from the subgroup2479 finds a template from the parent group2480 finds an instance template2481 returns nil for an unknown key2482 when subgroup template names overlap with ancestor2483 returns a template from the subgroup2484 finds a template from the parent group with specified project2485 when looking for template for a specific project2486 finds a valid template when looking into group template project2487 finds a valid template when looking into instance template project2488 does not find a template when given project does not have the template2489 template_finder: Gitlab::Template::CustomLicenseTemplate, type: :license2490 unlicensed2491 is expected to be nil2492 is expected to be nil2493 licensed2494 in a toplevel group2495 finds a group template2496 finds an instance template2497 returns nil for an unknown key2498 in a subgroup2499 finds a template from the subgroup2500 finds a template from the parent group2501 finds an instance template2502 returns nil for an unknown key2503 when subgroup template names overlap with ancestor2504 returns a template from the subgroup2505 finds a template from the parent group with specified project2506 when looking for template for a specific project2507 finds a valid template when looking into group template project2508 finds a valid template when looking into instance template project2509 does not find a template when given project does not have the template2510 #all_template_names2511 template_finder: Gitlab::Template::CustomDockerfileTemplate, type: :dockerfile2512 unlicensed2513 is expected to be empty2514 licensed2515 in a toplevel group2516 has the group names and instance as category2517 orders results from most specific to least specific2518 in a subgroup2519 with nested group templates2520 has the group names and instance as category2521 orders results from most specific to least specific2522 with templates missing for a nested group2523 when subgroup template config points to a project that has no templates2524 behaves like does not list an empty category2525 misses subgroup category2526 misses subgroup templates2527 when subgroup template config is not setup2528 behaves like does not list an empty category2529 misses subgroup category2530 misses subgroup templates2531 template_finder: Gitlab::Template::CustomGitignoreTemplate, type: :gitignore2532 unlicensed2533 is expected to be empty2534 licensed2535 in a toplevel group2536 has the group names and instance as category2537 orders results from most specific to least specific2538 in a subgroup2539 with nested group templates2540 has the group names and instance as category2541 orders results from most specific to least specific2542 with templates missing for a nested group2543 when subgroup template config points to a project that has no templates2544 behaves like does not list an empty category2545 misses subgroup category2546 misses subgroup templates2547 when subgroup template config is not setup2548 behaves like does not list an empty category2549 misses subgroup category2550 misses subgroup templates2551 template_finder: Gitlab::Template::CustomGitlabCiYmlTemplate, type: :gitlab_ci_yml2552 unlicensed2553 is expected to be empty2554 licensed2555 in a toplevel group2556 has the group names and instance as category2557 orders results from most specific to least specific2558 in a subgroup2559 with nested group templates2560 has the group names and instance as category2561 orders results from most specific to least specific2562 with templates missing for a nested group2563 when subgroup template config points to a project that has no templates2564 behaves like does not list an empty category2565 misses subgroup category2566 misses subgroup templates2567 when subgroup template config is not setup2568 behaves like does not list an empty category2569 misses subgroup category2570 misses subgroup templates2571 template_finder: Gitlab::Template::CustomLicenseTemplate, type: :license2572 unlicensed2573 is expected to be empty2574 licensed2575 in a toplevel group2576 has the group names and instance as category2577 orders results from most specific to least specific2578 in a subgroup2579 with nested group templates2580 has the group names and instance as category2581 orders results from most specific to least specific2582 with templates missing for a nested group2583 when subgroup template config points to a project that has no templates2584 behaves like does not list an empty category2585 misses subgroup category2586 misses subgroup templates2587 when subgroup template config is not setup2588 behaves like does not list an empty category2589 misses subgroup category2590 misses subgroup templates2591Ci::CompareSecurityReportsService2592 vulnerability_finding_signatures: true2593 #execute DS2594 when head pipeline has dependency scanning reports2595 reports new vulnerabilities2596 when base and head pipelines have dependency scanning reports2597 reports status as parsed2598 populates fields based on current_user2599 reports fixed vulnerability2600 reports fixed dependency scanning vulnerabilities2601 when head pipeline has corrupted dependency scanning vulnerability reports2602 returns status and error message2603 returns status and error message when pipeline is nil2604 #execute CS2605 when head pipeline has container scanning reports2606 reports new and fixed vulnerabilities2607 when base and head pipelines have container scanning reports2608 populates fields based on current_user2609 reports new vulnerability2610 reports fixed container scanning vulnerabilities2611 #execute DAST2612 when head pipeline has DAST reports containing some vulnerabilities2613 reports the new vulnerabilities, while not changing the counts of fixed vulnerabilities2614 when base and head pipelines have DAST reports containing vulnerabilities2615 populates fields based on current_user2616 reports new vulnerability2617 reports fixed DAST vulnerabilities2618 #execute SAST2619 when head pipeline has sast reports2620 reports new vulnerabilities2621 when base and head pipelines have sast reports2622 populates fields based on current_user2623 reports new vulnerability2624 reports fixed sast vulnerabilities2625 #execute SECRET DETECTION2626 when head pipeline has secret_detection reports2627 reports new vulnerabilities2628 when base and head pipelines have secret_detection reports2629 populates fields based on current_user2630 does not report any new vulnerability2631 reports fixed secret_detection vulnerabilities2632 vulnerability_finding_signatures: false2633 #execute DS2634 when head pipeline has dependency scanning reports2635 reports new vulnerabilities2636 when base and head pipelines have dependency scanning reports2637 reports status as parsed2638 populates fields based on current_user2639 reports fixed vulnerability2640 reports fixed dependency scanning vulnerabilities2641 when head pipeline has corrupted dependency scanning vulnerability reports2642 returns status and error message2643 returns status and error message when pipeline is nil2644 #execute CS2645 when head pipeline has container scanning reports2646 reports new and fixed vulnerabilities2647 when base and head pipelines have container scanning reports2648 populates fields based on current_user2649 reports new vulnerability2650 reports fixed container scanning vulnerabilities2651 #execute DAST2652 when head pipeline has DAST reports containing some vulnerabilities2653 reports the new vulnerabilities, while not changing the counts of fixed vulnerabilities2654 when base and head pipelines have DAST reports containing vulnerabilities2655 populates fields based on current_user2656 reports new vulnerability2657 reports fixed DAST vulnerabilities2658 #execute SAST2659 when head pipeline has sast reports2660 reports new vulnerabilities2661 when base and head pipelines have sast reports2662 populates fields based on current_user2663 reports new vulnerability2664 reports fixed sast vulnerabilities2665 #execute SECRET DETECTION2666 when head pipeline has secret_detection reports2667 reports new vulnerabilities2668 when base and head pipelines have secret_detection reports2669 populates fields based on current_user2670 does not report any new vulnerability2671 reports fixed secret_detection vulnerabilities2672Project2673 finds projects2674 does not update Elasticsearch if pending_delete is true2675 finds partial matches in project names2676 names elasticsearch queries2677 returns json with all needed elements2678 when limited indexing is on2679 when the project is not enabled specifically2680 #searchable?2681 returns false2682 #use_elasticsearch?2683 returns false2684 when a project is enabled specifically2685 only indexes enabled projects2686 #searchable?2687 returns true2688 #use_elasticsearch?2689 returns true2690 when a group is enabled2691 indexes only projects under the group2692 #searchable?2693 returns true2694 default_operator2695 feature flag is enabled2696 uses correct operator2697 feature flag is disabled2698 uses correct operator2699 when projects and snippets co-exist2700 when searching with a wildcard2701 only returns projects2702Dast::ProfileSchedule2703 associations2704 is expected to belong to project required: false2705 is expected to belong to dast_profile class_name => Dast::Profile required: true inverse_of => dast_profile_schedule2706 is expected to belong to owner class_name => User required: false2707 validations2708 is expected to be valid2709 is expected to validate that :timezone cannot be empty/falsy2710 is expected to validate that :timezone is either ‹"Etc/GMT+12"›, ‹"Pacific/Pago_Pago"›, ‹"Pacific/Midway"›, ‹"Pacific/Honolulu"›, ‹"America/Juneau"›, ‹"America/Los_Angeles"›, ‹"America/Tijuana"›, ‹"America/Phoenix"›, ‹"America/Chihuahua"›, ‹"America/Mazatlan"›, ‹"America/Denver"›, ‹"America/Guatemala"›, ‹"America/Chicago"›, ‹"America/Mexico_City"›, ‹"America/Mexico_City"›, ‹"America/Monterrey"›, ‹"America/Regina"›, ‹"America/Bogota"›, ‹"America/New_York"›, ‹"America/Indiana/Indianapolis"›, ‹"America/Lima"›, ‹"America/Lima"›, ‹"America/Halifax"›, ‹"America/Caracas"›, ‹"America/Guyana"›, ‹"America/La_Paz"›, ‹"America/Puerto_Rico"›, ‹"America/Santiago"›, ‹"America/St_Johns"›, ‹"America/Sao_Paulo"›, ‹"America/Argentina/Buenos_Aires"›, ‹"America/Godthab"›, ‹"America/Montevideo"›, ‹"Atlantic/South_Georgia"›, ‹"Atlantic/Azores"›, ‹"Atlantic/Cape_Verde"›, ‹"Europe/London"›, ‹"Europe/Lisbon"›, ‹"Europe/London"›, ‹"Africa/Monrovia"›, ‹"Etc/UTC"›, ‹"Europe/Amsterdam"›, ‹"Europe/Belgrade"›, ‹"Europe/Berlin"›, ‹"Europe/Zurich"›, ‹"Europe/Bratislava"›, ‹"Europe/Brussels"›, ‹"Europe/Budapest"›, ‹"Africa/Casablanca"›, ‹"Europe/Copenhagen"›, ‹"Europe/Dublin"›, ‹"Europe/Ljubljana"›, ‹"Europe/Madrid"›, ‹"Europe/Paris"›, ‹"Europe/Prague"›, ‹"Europe/Rome"›, ‹"Europe/Sarajevo"›, ‹"Europe/Skopje"›, ‹"Europe/Stockholm"›, ‹"Europe/Vienna"›, ‹"Europe/Warsaw"›, ‹"Africa/Algiers"›, ‹"Europe/Zagreb"›, ‹"Europe/Zurich"›, ‹"Europe/Athens"›, ‹"Europe/Bucharest"›, ‹"Africa/Cairo"›, ‹"Africa/Harare"›, ‹"Europe/Helsinki"›, ‹"Asia/Jerusalem"›, ‹"Europe/Kaliningrad"›, ‹"Europe/Kiev"›, ‹"Africa/Johannesburg"›, ‹"Europe/Riga"›, ‹"Europe/Sofia"›, ‹"Europe/Tallinn"›, ‹"Europe/Vilnius"›, ‹"Asia/Baghdad"›, ‹"Europe/Istanbul"›, ‹"Asia/Kuwait"›, ‹"Europe/Minsk"›, ‹"Europe/Moscow"›, ‹"Africa/Nairobi"›, ‹"Asia/Riyadh"›, ‹"Europe/Moscow"›, ‹"Europe/Volgograd"›, ‹"Asia/Tehran"›, ‹"Asia/Muscat"›, ‹"Asia/Baku"›, ‹"Asia/Muscat"›, ‹"Europe/Samara"›, ‹"Asia/Tbilisi"›, ‹"Asia/Yerevan"›, ‹"Asia/Kabul"›, ‹"Asia/Yekaterinburg"›, ‹"Asia/Karachi"›, ‹"Asia/Karachi"›, ‹"Asia/Tashkent"›, ‹"Asia/Kolkata"›, ‹"Asia/Kolkata"›, ‹"Asia/Kolkata"›, ‹"Asia/Kolkata"›, ‹"Asia/Colombo"›, ‹"Asia/Kathmandu"›, ‹"Asia/Almaty"›, ‹"Asia/Dhaka"›, ‹"Asia/Dhaka"›, ‹"Asia/Urumqi"›, ‹"Asia/Rangoon"›, ‹"Asia/Bangkok"›, ‹"Asia/Bangkok"›, ‹"Asia/Jakarta"›, ‹"Asia/Krasnoyarsk"›, ‹"Asia/Novosibirsk"›, ‹"Asia/Shanghai"›, ‹"Asia/Chongqing"›, ‹"Asia/Hong_Kong"›, ‹"Asia/Irkutsk"›, ‹"Asia/Kuala_Lumpur"›, ‹"Australia/Perth"›, ‹"Asia/Singapore"›, ‹"Asia/Taipei"›, ‹"Asia/Ulaanbaatar"›, ‹"Asia/Tokyo"›, ‹"Asia/Tokyo"›, ‹"Asia/Seoul"›, ‹"Asia/Tokyo"›, ‹"Asia/Yakutsk"›, ‹"Australia/Adelaide"›, ‹"Australia/Darwin"›, ‹"Australia/Brisbane"›, ‹"Australia/Melbourne"›, ‹"Pacific/Guam"›, ‹"Australia/Hobart"›, ‹"Australia/Melbourne"›, ‹"Pacific/Port_Moresby"›, ‹"Australia/Sydney"›, ‹"Asia/Vladivostok"›, ‹"Asia/Magadan"›, ‹"Pacific/Noumea"›, ‹"Pacific/Guadalcanal"›, ‹"Asia/Srednekolymsk"›, ‹"Pacific/Auckland"›, ‹"Pacific/Fiji"›, ‹"Asia/Kamchatka"›, ‹"Pacific/Majuro"›, ‹"Pacific/Auckland"›, ‹"Pacific/Chatham"›, ‹"Pacific/Tongatapu"›, ‹"Pacific/Apia"›, or ‹"Pacific/Fakaofo"›2711 is expected to validate that :starts_at cannot be empty/falsy2712 is expected to validate that :dast_profile_id is case-sensitively unique2713 cadence2714 when valid values2715 allows day values2716 allows week values2717 allows month values2718 allows month values2719 allows month values2720 allows year values2721 allows values2722 when invalid values2723 disallow day values2724 disallow month_foo values2725 validate2726 validate_plan_limit_not_exceeded_while_activating2727 when the plan limit has not been exceeded2728 can activate the schedule2729 when the plan limit has been exceeded2730 prevents the schedule from being activated2731 allows the schedule to be deactivated2732 scopes2733 active2734 includes the correct records2735 .runnable_schedules2736 when there are runnable schedules2737 returns the runnable schedule2738 when there are inactive schedules2739 returns an empty array2740 when there are no runnable schedules2741 returns an empty array2742 when there are runnable schedules in future2743 returns an empty array2744 before_save2745 #set_cron2746 when repeat? is true2747 sets the cron value2748 when repeat? is false2749 sets the cron value to default when non repeating2750 #set_next_run_at2751 when schedule runs every minute2752 updates next_run_at to the worker's execution time2753 when there are two different schedules in the same time zones2754 sets the sames next_run_at2755 when starts_at is updated for existing schedules2756 updates next_run_at automatically2757 #schedule_next_run!2758 when repeat? is true2759 sets active to true2760 when repeat? is false2761 sets active to false2762 limitable2763 behaves like includes Limitable concern2764 #exceeds_limits?2765 without plan limits configured2766 is expected to eq false2767 without plan limits configured2768 is expected to eq false2769 with an existing model2770 is expected to eq true2771 validations2772 is expected to be a kind of Limitable2773 without plan limits configured2774 can create new models2775 with plan limits configured2776 can create new models2777 with an existing model2778 cannot create new models exceeding the plan limits2779 #with_active_schedules2780 returns only active schedules2781 #owner_valid?2782 when the feature is enabled2783 when the scheduler owner is not null and has the ability to create_on_demand_dast_scan2784 is expected to be owner valid2785 when the user_id is nil2786 is expected not to be owner valid2787Geo::UploadRegistry2788 factory is valid2789 scopes2790 sync_timed_out2791 return correct records2792 finders2793 .find_registries_never_attempted_sync2794 returns unsynced items2795 returns items that never have an attempt to sync except some specific item ID2796 .find_registries_needs_sync_again2797 returns failed items2798 returns failed items except some specific item ID2799 orders records according to retry_at2800 .fail_sync_timeouts2801 marks started records as failed if they are expired2802 #failed!2803 sets last_sync_failure with message2804 truncates a long last_sync_failure2805 increments retry_count2806 sets retry_at to a time in the future2807 when an error is given2808 includes error.message in last_sync_failure2809 when missing_on_primary is not given2810 caps retry_at to default 1 hour2811 when missing_on_primary is falsey2812 caps retry_at to default 1 hour2813 when missing_on_primary is truthy2814 caps retry_at to 4 hours2815 state machine2816 when transitioning to synced2817 marks verification as pending2818 when the model_record cannot be verified2819 when the registry is already verification_disabled2820 changes verification to disabled2821 when the registry is verification_pending2822 changes verification to disabled2823 verification_state machine2824 when transitioning to verification_failed2825 changes state from synced to failed2826 .verification_pending_batch2827 returns IDs of rows which are synced and pending verification2828 excludes rows which are not synced or are not pending verification2829 marks verification as started2830 .verification_failed_batch2831 with a failed record with retry due2832 returns IDs of rows which are synced and have failed verification2833 excludes rows which are not synced or have not failed verification2834 marks verification as started2835 when verification_retry_at is in the future2836 does not return the row which failed verification2837 .needs_verification_count2838 returns the number of rows which are synced and pending verification2839 includes rows which are synced and failed verification and are due for retry2840 excludes rows which are synced and failed verification and have a future retry time2841 excludes rows which are not synced or are not (pending or failed) verification2842 #verification_succeeded!2843 clears checksum mismatch fields2844 #track_checksum_attempt!2845 yields to the checksum calculation2846 when verification was not yet started2847 starts verification2848 when the model record cannot be verified2849 when the registry is already verification_disabled2850 leaves verification as disabled2851 when the registry is verification_pending2852 changes verification to disabled2853 when the primary site is expected to checksum the model record2854 comparison with primary checksum2855 when the calculated checksum matches the primary checksum2856 transitions to verification_succeeded and updates the checksum2857 when the calculated checksum does not match the primary checksum2858 transitions to verification_failed and updates mismatch fields2859 when verification was started2860 does not update verification_started_at2861 when an error occurs while yielding2862 sets verification_failed2863Geo::DesignRegistry2864 behaves like a BulkInsertSafe model2865 when calling class methods directly2866 raises an error when method is not bulk-insert safe2867 does not raise an error when method is bulk-insert safe2868 .bulk_insert!2869 when all items are valid2870 inserts them all2871 returns an empty array2872 when some items are invalid2873 does not insert any of them and raises an error2874 inserts them anyway when bypassing validations2875 relationships2876 is expected to belong to project required: false2877 behaves like a Geo registry2878 #start_sync!2879 updates last_synced_at2880 #fail_sync!2881 fails registry record2882 #repository_updated!2883 resets the state of the sync2884 .find_registry_differences2885 untracked IDs2886 includes project IDs without an entry on the tracking database2887 excludes projects outside the ID range2888 excludes projects without designs2889 with selective sync by namespace2890 excludes project IDs that are not in selectively synced projects2891 with selective sync by shard2892 excludes project IDs that are not in selectively synced projects2893 unused tracked IDs2894 with an orphaned registry2895 includes tracked IDs that do not exist in the model table2896 excludes IDs outside the ID range2897 with selective sync by namespace2898 with a tracked project2899 excluded from selective sync2900 includes tracked project IDs that exist but are not in a selectively synced project2901 included in selective sync2902 excludes tracked project IDs that are in selectively synced projects2903 with selective sync by shard2904 with a tracked project2905 excluded from selective sync2906 includes tracked project IDs that exist but are not in a selectively synced project2907 included in selective sync2908 excludes tracked project IDs that are in selectively synced projects2909 #search2910 all the registries2911 finds by state2912 finds by name2913 #finish_sync!2914 finishes registry record2915 when a design sync was scheduled after the last sync began2916 does not reset state2917 resets the other sync state fields2918 #should_be_redownloaded?2919 force_to_redownload: false, retry_count: nil, expected: false2920 returns the expected boolean2921 force_to_redownload: false, retry_count: 0, expected: false2922 returns the expected boolean2923 force_to_redownload: false, retry_count: 1, expected: false2924 returns the expected boolean2925 force_to_redownload: false, retry_count: 10, expected: false2926 returns the expected boolean2927 force_to_redownload: false, retry_count: 11, expected: true2928 returns the expected boolean2929 force_to_redownload: false, retry_count: 12, expected: false2930 returns the expected boolean2931 force_to_redownload: false, retry_count: 13, expected: true2932 returns the expected boolean2933 force_to_redownload: false, retry_count: 14, expected: false2934 returns the expected boolean2935 force_to_redownload: false, retry_count: 101, expected: true2936 returns the expected boolean2937 force_to_redownload: false, retry_count: 102, expected: false2938 returns the expected boolean2939 force_to_redownload: true, retry_count: nil, expected: true2940 returns the expected boolean2941 force_to_redownload: true, retry_count: 0, expected: true2942 returns the expected boolean2943 force_to_redownload: true, retry_count: 11, expected: true2944 returns the expected boolean2945Ci::PipelineArtifact2946 #replicables_for_current_secondary2947 selective_sync_namespaces: nil, selective_sync_shards: nil, factory: [:ci_pipeline_artifact], project_factory: [:project], include_expectation: true2948 when sync object storage is enabled2949 when the pipeline artifact is locally stored2950 is expected to eq true2951 when the pipeline artifact is object stored2952 is expected to eq true2953 when sync object storage is disabled2954 when the pipeline artifact is locally stored2955 is expected to eq true2956 when the pipeline artifact is object stored2957 is expected to be falsey2958 selective_sync_namespaces: nil, selective_sync_shards: :model, factory: [:ci_pipeline_artifact], project_factory: [:project], include_expectation: true2959 when sync object storage is enabled2960 when the pipeline artifact is locally stored2961 is expected to eq true2962 when the pipeline artifact is object stored2963 is expected to eq true2964 when sync object storage is disabled2965 when the pipeline artifact is locally stored2966 is expected to eq true2967 when the pipeline artifact is object stored2968 is expected to be falsey2969 selective_sync_namespaces: nil, selective_sync_shards: :other, factory: [:ci_pipeline_artifact], project_factory: [:project], include_expectation: false2970 when sync object storage is enabled2971 when the pipeline artifact is locally stored2972 is expected to eq false2973 when the pipeline artifact is object stored2974 is expected to eq false2975 when sync object storage is disabled2976 when the pipeline artifact is locally stored2977 is expected to eq false2978 when the pipeline artifact is object stored2979 is expected to be falsey2980 selective_sync_namespaces: :model_parent, selective_sync_shards: nil, factory: [:ci_pipeline_artifact], project_factory: [:project], include_expectation: true2981 when sync object storage is enabled2982 when the pipeline artifact is locally stored2983 is expected to eq true2984 when the pipeline artifact is object stored2985 is expected to eq true2986 when sync object storage is disabled2987 when the pipeline artifact is locally stored2988 is expected to eq true2989 when the pipeline artifact is object stored2990 is expected to be falsey2991 selective_sync_namespaces: :model_parent_parent, selective_sync_shards: nil, factory: [:ci_pipeline_artifact], project_factory: [:project, :in_subgroup], include_expectation: true2992 when sync object storage is enabled2993 when the pipeline artifact is locally stored2994 is expected to eq true2995 when the pipeline artifact is object stored2996 is expected to eq true2997 when sync object storage is disabled2998 when the pipeline artifact is locally stored2999 is expected to eq true3000 when the pipeline artifact is object stored3001 is expected to be falsey3002 selective_sync_namespaces: :other, selective_sync_shards: nil, factory: [:ci_pipeline_artifact], project_factory: [:project], include_expectation: false3003 when sync object storage is enabled3004 when the pipeline artifact is locally stored3005 is expected to eq false3006 when the pipeline artifact is object stored3007 is expected to eq false3008 when sync object storage is disabled3009 when the pipeline artifact is locally stored3010 is expected to eq false3011 when the pipeline artifact is object stored3012 is expected to be falsey3013 selective_sync_namespaces: :other, selective_sync_shards: nil, factory: [:ci_pipeline_artifact], project_factory: [:project, :in_subgroup], include_expectation: false3014 when sync object storage is enabled3015 when the pipeline artifact is locally stored3016 is expected to eq false3017 when the pipeline artifact is object stored3018 is expected to eq false3019 when sync object storage is disabled3020 when the pipeline artifact is locally stored3021 is expected to eq false3022 when the pipeline artifact is object stored3023 is expected to be falsey3024 selective_sync_namespaces: nil, selective_sync_shards: nil, factory: [:ci_pipeline_artifact, :expired], project_factory: [:project], include_expectation: true3025 when sync object storage is enabled3026 when the pipeline artifact is locally stored3027 is expected to eq true3028 when the pipeline artifact is object stored3029 is expected to eq true3030 when sync object storage is disabled3031 when the pipeline artifact is locally stored3032 is expected to eq true3033 when the pipeline artifact is object stored3034 is expected to be falsey3035Dashboard::Projects::ListService3036 #execute3037 when passing a project id3038 behaves like project found3039 returns the project3040 when passing a project record3041 behaves like project found3042 returns the project3043 when passing invalid project id3044 behaves like project not found3045 returns an empty list3046 with insufficient access3047 behaves like project not found3048 returns an empty list3049 checking license3050 plan: "ultimate", trial: false, expired: false, available: true3051 behaves like project found3052 returns the project3053 plan: "ultimate", trial: false, expired: true, available: true3054 behaves like project found3055 returns the project3056 plan: "ultimate", trial: true, expired: false, available: false3057 behaves like project not found3058 returns an empty list3059 plan: "ultimate", trial: true, expired: true, available: false3060 behaves like project not found3061 returns an empty list3062 plan: "premium", trial: false, expired: false, available: true3063 behaves like project found3064 returns the project3065 plan: nil, trial: false, expired: false, available: false3066 behaves like project not found3067 returns an empty list3068 checking plans3069 check_namespace_plan: true, plan: :gold, available: true3070 behaves like project found3071 returns the project3072 if :include_unavailable option is provided3073 behaves like project found3074 returns the project3075 check_namespace_plan: true, plan: :premium, available: true3076 behaves like project found3077 returns the project3078 if :include_unavailable option is provided3079 behaves like project found3080 returns the project3081 check_namespace_plan: true, plan: :ultimate, available: true3082 behaves like project found3083 returns the project3084 if :include_unavailable option is provided3085 behaves like project found3086 returns the project3087 check_namespace_plan: true, plan: nil, available: false3088 behaves like project not found3089 returns an empty list3090 if :include_unavailable option is provided3091 behaves like project found3092 returns the project3093 check_namespace_plan: false, plan: :gold, available: true3094 behaves like project found3095 returns the project3096 if :include_unavailable option is provided3097 behaves like project found3098 returns the project3099 check_namespace_plan: false, plan: :premium, available: true3100 behaves like project found3101 returns the project3102 if :include_unavailable option is provided3103 behaves like project found3104 returns the project3105 check_namespace_plan: false, plan: :ultimate, available: true3106 behaves like project found3107 returns the project3108 if :include_unavailable option is provided3109 behaves like project found3110 returns the project3111 check_namespace_plan: false, plan: nil, available: true3112 behaves like project found3113 returns the project3114 if :include_unavailable option is provided3115 behaves like project found3116 returns the project3117 checking availability of public projects on GitLab.com3118 check_namespace_plan: true, project_visibility: 20, namespace_visibility: 20, available: true3119 behaves like project found3120 returns the project3121 check_namespace_plan: true, project_visibility: 0, namespace_visibility: 20, available: false3122 behaves like project not found3123 returns an empty list3124 check_namespace_plan: true, project_visibility: 20, namespace_visibility: 0, available: false3125 behaves like project not found3126 returns an empty list3127 check_namespace_plan: true, project_visibility: 0, namespace_visibility: 0, available: false3128 behaves like project not found3129 returns an empty list3130 check_namespace_plan: false, project_visibility: 20, namespace_visibility: 20, available: true3131 behaves like project found3132 returns the project3133 check_namespace_plan: false, project_visibility: 0, namespace_visibility: 20, available: true3134 behaves like project found3135 returns the project3136 check_namespace_plan: false, project_visibility: 20, namespace_visibility: 0, available: true3137 behaves like project found3138 returns the project3139 check_namespace_plan: false, project_visibility: 0, namespace_visibility: 0, available: true3140 behaves like project found3141 returns the project3142 when the user is an auditor3143 behaves like project found3144 returns the project3145RequirementsManagement::RequirementPolicy3146 behaves like resource with requirement permissions3147 when requirements feature is enabled3148 with admin3149 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3150 with owner3151 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3152 with maintainer3153 behaves like user with manage permissions3154 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements3155 is expected to be disallowed :destroy_requirement3156 with developer3157 behaves like user with manage permissions3158 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements3159 is expected to be disallowed :destroy_requirement3160 with reporter3161 behaves like user with manage permissions3162 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements3163 is expected to be disallowed :destroy_requirement3164 with guest3165 behaves like user with read-only permissions3166 is expected to be allowed :read_requirement3167 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3168 with non member3169 behaves like user with read-only permissions3170 is expected to be allowed :read_requirement3171 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3172 with private resource parent3173 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3174 when access level is disabled3175 with owner3176 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3177 with admin3178 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3179 when access level is private3180 with admin user3181 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3182 with admin mode enabled3183 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3184 with owner3185 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3186 with maintainer3187 behaves like user with manage permissions3188 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements3189 is expected to be disallowed :destroy_requirement3190 with developer3191 behaves like user with manage permissions3192 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements3193 is expected to be disallowed :destroy_requirement3194 with reporter3195 behaves like user with manage permissions3196 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements3197 is expected to be disallowed :destroy_requirement3198 with guest3199 behaves like user with read-only permissions3200 is expected to be allowed :read_requirement3201 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3202 with non member3203 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3204 when requirements feature is disabled3205 with owner3206 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3207 with admin3208 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements3209GroupMember3210 is expected to includes the EE::GroupMember module3211 behaves like member validations3212 validations3213 validates SSO enforcement3214 enforced SSO enabled3215 allows adding a user linked to the SAML account as member3216 does not allow adding a user not linked to the SAML account as member3217 allows adding a project bot as member3218 subgroups3219 does not allow adding a group member with SSO enforced on subgroup3220 enforced SSO disabled3221 allows adding the group member3222 validations3223 #group_domain_validations3224 behaves like member group domain validations3225 validates group domain limitations3226 when project parent has email domain feature switched on3227 users email must match at least one of the allowed domain emails3228 shows proper error message when not invited by admin3229 shows proper error message when invited by admin3230 shows proper error message for single domain limitation3231 invited email must match at least one of the allowed domain emails3232 user emails matching allowed domain must be verified3233 with project bot users3234 bot user email does not match3235 allows the project bot user3236 with group SAML users3237 user emails does not have to be verified3238 with group SCIM users3239 user emails does not have to be verified3240 when group is subgroup3241 users email must match at least one of the allowed domain emails3242 invited email must match at least one of the allowed domain emails3243 user emails matching allowed domain must be verified3244 with group SCIM users3245 user emails does not have to be verified3246 with group SAML users3247 user emails does not have to be verified3248 when project parent group has email domain feature switched off3249 users email need not match allowed domain emails3250 invited email need not match allowed domain emails3251 user emails does not have to be verified3252 access level inclusion3253 when minimal access user feature switched on3254 users can have access levels from minimal access to owner3255 when group is a subgroup3256 users cannot have minimal access level3257 when minimal access user feature switched off3258 users can have access levels from guest to owner3259 scopes3260 .by_group_ids3261 returns only members from selected groups3262 .guests3263 returns only guests members3264 .with_saml_identity3265 returns members with identity linked to given saml provider3266 .filter_by_enterprise_users3267 returns members that are provisioned by a group when the filter is `true`3268 returns members that are not provisioned by a group when the filter is `false`3269 refreshing project_authorizations3270 when the source group of the group member is destroyed3271 refreshes the authorization of user to the project in the group3272 refreshes the authorization without calling UserProjectAccessChangedService3273 when the user of the group member is destroyed3274 refreshes the authorization of user to the project in the group3275 refreshes the authorization without calling UserProjectAccessChangedService3276 #state3277 #activate!3278 refreshes the user's authorized projects3279 #wait!3280 refreshes the user's authorized projects3281 group member webhooks3282 when a member is added to the group3283 executes user_add_to_group event webhook3284 ancestor groups3285 fires two webhooks when parent group has member_events webhook enabled3286 fires one webhook when parent group has member_events webhook disabled3287 when a group member is updated3288 executes user_update_for_group event webhook when user role is updated3289 executes user_update_for_group event webhook when user expiration date is updated3290 when the group member is deleted3291 executes user_remove_from_group event webhook when group member is deleted3292 does not execute webhook3293 does not execute webhooks if group member events webhook is disabled3294 does not execute webhooks if license is disabled3295 group member welcome email3296 when user is provisioned by group3297 schedules the welcome email with confirmation3298 when user is not provisioned by group3299 schedules plain welcome to the group email3300 #provisioned_by_this_group?3301 when user is provisioned by the group3302 is expected to eq true3303 when user is not provisioned by the group3304 is expected to eq false3305 when member does not have a related user (invited member)3306 is expected to eq false3307Geo::LfsObjectReplicator3308 invokes replicator.handle_after_create_commit on create3309 behaves like a replicator3310 Geo node status3311 on a secondary node3312 .synced_count3313 returns the number of synced items on secondary3314 .failed_count3315 returns the number of failed items on secondary3316 #replicator3317 is defined and does not raise error3318 .replicables_for_current_secondary3319 when syncing object storage is enabled3320 behaves like is implemented and returns a valid relation3321 is implemented3322 when syncing object storage is disabled3323 behaves like is implemented and returns a valid relation3324 is implemented3325 with selective sync disabled3326 behaves like is implemented and returns a valid relation3327 is implemented3328 with selective sync enabled for namespaces3329 behaves like is implemented and returns a valid relation3330 is implemented3331 with selective sync enabled for shards3332 behaves like is implemented and returns a valid relation3333 is implemented3334 #handle_after_create_commit3335 creates a Geo::Event3336 calls #after_verifiable_update3337 when replication feature flag is disabled3338 does not call #after_verifiable_update3339 does not publish3340 #handle_after_destroy3341 creates a Geo::Event3342 when replication feature flag is disabled3343 does not publish3344 created event consumption3345 when the blob's project is in replicables for this geo node3346 invokes Geo::BlobDownloadService3347 when the blob's project is not in replicables for this geo node3348 does not invoke Geo::BlobDownloadService3349 deleted event consumption3350 when model_record was deleted from the DB and the replicator only has its ID3351 invokes Geo::FileRegistryRemovalService3352 backward compatibility3353 invokes Geo::FileRegistryRemovalService when delete event is in deprecated format3354 when object storage is enabled3355 deletes the file from object storage3356 #carrierwave_uploader3357 is implemented3358 #model3359 is implemented3360 is a Class3361 #blob_path3362 when the file is locally stored3363 returns a valid path to a file3364 #calculate_checksum3365 when the file is locally stored3366 when the file exists3367 returns hexdigest of the file3368 when the file does not exist3369 raises an error3370 when the file is remotely stored3371 raises an error3372 #file_exists?3373 is expected to be truthy3374 when the file does not exist3375 is expected to be falsey3376 when the file is nil3377 is expected to be falsey3378 .bulk_create_delete_events_async3379 creates events3380 raises error when model_record_id is nil3381 events3382 has checksum_succeeded event3383 .verification_enabled?3384 when replication is enabled3385 when verification_feature_flag_enabled? returns true3386 returns true3387 when verification_feature_flag_enabled? returns false3388 returns false3389 when replication is disabled3390 returns false3391 .checksummed_count3392 when verification is enabled3393 returns the number of available verifiables where verification succeeded3394 excludes non-success verification states3395 when verification is disabled3396 returns nil3397 .checksum_failed_count3398 when verification is enabled3399 returns the number of available verifiables where verification failed3400 excludes other verification states3401 when verification is disabled3402 returns nil3403 .verification_total_count3404 when verification is enabled3405 returns the number of verification_not_disabled registry rows3406 when verification is disabled3407 returns nil3408 .trigger_background_verification3409 when verification is enabled3410 enqueues VerificationBatchWorker3411 enqueues VerificationTimeoutWorker3412 enqueues VerificationStateBackfillWorker3413 for a Geo secondary3414 does not enqueue ReverificationBatchWorker3415 for a Geo primary3416 enqueues ReverificationBatchWorker3417 when verification is disabled3418 does not enqueue VerificationBatchWorker3419 does not enqueue VerificationTimeoutWorker3420 .backfill_verification_state_table3421 calls VerificationStateBackfillService3422 when on secondary3423 returns false3424 .verify_batch3425 when there are records needing verification3426 calls #verify on each replicator3427 .remaining_verification_batch_count3428 converts needs_verification_count to number of batches3429 .remaining_reverification_batch_count3430 converts needs_reverification_count to number of batches3431 .reverify_batch!3432 calls #reverify_batch3433 .replicator_batch_to_verify3434 returns usable Replicator instances3435 .model_record_id_batch_to_verify3436 when the batch is filled by pending rows3437 returns IDs of pending rows3438 does not call .verification_failed_batch3439 when that batch is not filled by pending rows3440 includes IDs of failed rows3441 .verification_pending_batch3442 when current node is a primary3443 delegates to the model class of the replicator3444 when current node is a secondary3445 delegates to the registry class of the replicator3446 .verification_failed_batch3447 when current node is a primary3448 delegates to the model class of the replicator3449 when current node is a secondary3450 delegates to the registry class of the replicator3451 .fail_verification_timeouts3452 when current node is a primary3453 delegates to the model class of the replicator3454 when current node is a secondary3455 delegates to the registry class of the replicator3456 #after_verifiable_update3457 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true3458 calls verify_async only if needed3459 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false3460 calls verify_async only if needed3461 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false3462 calls verify_async only if needed3463 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false3464 calls verify_async only if needed3465 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true3466 calls verify_async only if needed3467 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false3468 calls verify_async only if needed3469 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true3470 calls verify_async only if needed3471 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false3472 calls verify_async only if needed3473 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false3474 calls verify_async only if needed3475 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false3476 calls verify_async only if needed3477 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false3478 calls verify_async only if needed3479 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false3480 calls verify_async only if needed3481 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false3482 calls verify_async only if needed3483 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false3484 calls verify_async only if needed3485 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false3486 calls verify_async only if needed3487 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false3488 calls verify_async only if needed3489 #verify_async3490 on a Geo primary3491 calls verification_started! and enqueues VerificationWorker3492 #verify3493 wraps the checksum calculation in track_checksum_attempt!3494 #verification_state_tracker3495 on a Geo primary3496 returns model_record3497 on a Geo secondary3498 returns registry3499 #handle_after_checksum_succeeded3500 on a Geo primary3501 creates checksum_succeeded event3502 is called on verification success3503 on a Geo secondary3504 does not create an event3505 #consume_event_checksum_succeeded3506 with a persisted model_record3507 on a Geo primary3508 does nothing3509 on a Geo secondary3510 with a persisted registry3511 with a registry which is verified3512 sets state to verification_pending3513 with a registry which is pending verification3514 does not change state from verification_pending3515 with an unpersisted registry3516 does not persist the registry3517 #primary_verification_succeeded?3518 when the model record is verification_succeeded3519 returns true3520 when the model record is verification_succeeded3521 returns false3522 integration tests3523 on a primary3524 background backfill3525 verifies model records3526 triggered by events3527 verifies model records3528 on a secondary3529 background backfill3530 verifies registries3531 triggered by events3532 verifies registries3533RequirementsManagement::UpdateRequirementService3534 #execute3535 when user can update requirements3536 updates the requirement with only permitted params3537 when updating title, description or state3538 does not call the Issues::UpdateService when requirement is invalid3539 if there is an associated requirement_issue3540 updates the synced requirement_issue with title and description3541 when updating title3542 updates requirement's issue title3543 behaves like keeps requirement and its requirement_issue in sync3544 keeps title and description in sync3545 when updating description3546 updates requirement's issue description3547 behaves like keeps requirement and its requirement_issue in sync3548 keeps title and description in sync3549 when updating state3550 to archived3551 closes issue3552 to opened3553 reopens issue3554 if update fails3555 behaves like does not persist any changes3556 does not update the requirement3557 does not update the requirement issue3558 behaves like keeps requirement and its requirement_issue in sync3559 keeps title and description in sync3560 if update of requirement succeeds but update of issue fails3561 adds an informative sync error to issue3562 behaves like keeps requirement and its requirement_issue in sync3563 keeps title and description in sync3564 behaves like does not persist any changes3565 does not update the requirement3566 does not update the requirement issue3567 when updating last test report state3568 as passing3569 creates passing test report with null build_id3570 as failed3571 creates failing test report with null build_id3572 when user cannot create test reports3573 does not create test report3574 when user is not allowed to update requirements3575 raises an exception3576ProductivityAnalytics3577 metrics data3578 #histogram_data3579 metric: "days_to_merge", expected_result: {3=>2, 14=>1, 30=>1}3580 calculates correctly3581 metric: "time_to_first_comment", expected_result: {0=>3, 24=>1}3582 calculates correctly3583 metric: "time_to_last_commit", expected_result: {312=>1, 696=>1, 48=>2}3584 calculates correctly3585 metric: "time_to_merge", expected_result: {24=>3, 0=>1}3586 calculates correctly3587 metric: "commits_count", expected_result: {1=>2, 5=>1, 20=>1}3588 calculates correctly3589 metric: "loc_per_commit", expected_result: {15=>1, 16=>1, 14=>1, 5=>1}3590 calculates correctly3591 metric: "files_touched", expected_result: {15=>1, 3=>2, 1=>1}3592 calculates correctly3593 metric: "something_invalid", expected_result: nil3594 calculates correctly3595 for multiple labeled mrs3596 returns aggregated data3597 #scatterplot_data3598 returns metric values for each MR3599 for multiple labeled mrs3600 properly returns MRs with metrics calculated3601 #merge_requests_extended3602 returns MRs data with all the metrics calculated3603 with custom sorting3604 reorders MRs according to custom sorting3605 with unknown sorting3606 sorts by id desc3607 for multiple labeled mrs3608 properly returns MRs with metrics calculated3609 .start_date3610 delegates to ApplicationSetting3611Ci::JobArtifacts::DestroyAllExpiredService3612 .execute3613 when artifact is expired3614 when artifact is not locked3615 destroys job artifact and the security finding3616 publishes Ci::JobArtifactsDeletedEvent3617 when artifact is locked3618 does not destroy job artifact3619 when artifact is not expired3620 does not destroy expired job artifacts3621 when artifact is permanent3622 does not destroy expired job artifacts3623 when there are artifacts more than batch sizes3624 destroys all expired artifacts3625 when some artifacts are locked3626 destroys only unlocked artifacts3627EE::NamespacesHelper3628 #ci_minutes_progress_bar3629 shows a green bar if percent is 03630 shows a green bar if percent is lower than 703631 shows a yellow bar if percent is 703632 shows a yellow bar if percent is higher than 70 and lower than 953633 shows a red bar if percent is 953634 shows a red bar if percent is higher than 100 and caps the value to 1003635 #ci_minutes_report3636 rendering monthly minutes report3637 when ci minutes usage is not enabled3638 and the namespace is eligible for unlimited3639 returns Unlimited for the limit section3640 and the namespace is not eligible for unlimited3641 returns Not supported for the limit section3642 when it's limited3643 returns the proper values for used and limit sections3644 rendering purchased minutes report3645 when extra minutes are assigned3646 when minutes used is higher than monthly minutes limit3647 returns the proper values for used and limit sections3648 when minutes used is lower than monthly minutes limit3649 returns the proper values for used and limit sections3650 when extra minutes are not assigned3651 returns the proper values for used and limit sections3652 #temporary_storage_increase_visible?3653 when enforce_namespace_storage_limit setting enabled3654 when current_user is admin of namespace3655 is expected to eq true3656 when feature flag is disabled3657 is expected to eq false3658 when current_user is not the admin of namespace3659 is expected to eq false3660 when enforce_namespace_storage_limit setting disabled3661 when current_user is admin of namespace3662 is expected to eq false3663 #buy_additional_minutes_path3664 is expected to eq "/-/subscriptions/buy_minutes?selected_group=1001"3665 when called for a personal namespace3666 returns the default purchase3667 when called from a subgroup3668 returns the selected group id as the parent group3669 #buy_storage_path3670 is expected to eq "/-/subscriptions/buy_storage?selected_group=1004"3671 when called from a subgroup3672 returns the buy URL with the parent group id3673 when called for a personal namespace3674 returns the default purchase3675 #buy_storage_url3676 is expected to eq "http://test.host/-/subscriptions/buy_storage?selected_group=1007"3677 when called from a subgroup3678 returns the buy URL with the parent group id3679 when called for a personal namespace3680 returns the default purchase3681 #buy_addon_target_attr3682 is expected to eq "_self"3683 when called for a personal namespace3684 returns _blank3685 #show_minute_limit_banner?3686 on dot com3687 feature_flag_enabled: true, free_plan: true, user_dismissed_banner: false, should_show_banner: true3688 shows the banner if required3689 feature_flag_enabled: true, free_plan: true, user_dismissed_banner: true, should_show_banner: false3690 shows the banner if required3691 feature_flag_enabled: true, free_plan: false, user_dismissed_banner: false, should_show_banner: false3692 shows the banner if required3693 feature_flag_enabled: false, free_plan: true, user_dismissed_banner: false, should_show_banner: false3694 shows the banner if required3695 not dot com3696 when feature flag is enabled for a free project and user has not dismissed callout3697 does not show banner3698 #pipeline_usage_app_data3699 when gitlab sass3700 with reset_date present3701 behaves like returns a hash with proper SaaS data3702 matches the returned hash3703 with reset_date not present3704 behaves like returns a hash with proper SaaS data3705 matches the returned hash3706 when gitlab self managed3707 returns a hash without SaaS data3708 #storage_usage_app_data3709 when purchase_storage_link_enabled? is true3710 returns a hash with storage data3711 when purchase_storage_link_enabled? is false3712 returns a hash with storage data3713Projects::TransferService3714 when running on a primary node3715 logs an event to the Geo event log3716 audit events3717 when licensed3718 does not log audit event if operation fails3719 when operation succeeds3720 logs an audit event3721 logs the audit event info3722 when not licensed3723 does not log audit event3724 missing epics applied to issues3725 delegates transfer to Epics::TransferService3726 elasticsearch indexing3727 delegates transfer to Elastic::ProjectTransferWorker3728 updating paid features3729 project access tokens3730 with a self managed instance3731 does not revoke PATs3732 with GL.com3733 when target namespace has a premium plan3734 does not revoke PATs3735 when target namespace has a free plan3736 revoke PATs3737 pipeline subscriptions3738 when target namespace has a premium plan3739 does not schedule cleanup for upstream project subscription3740 when target namespace has a free plan3741 schedules cleanup for upstream project subscription3742 test cases3743 when target namespace has a premium plan3744 does not delete the test cases3745 when target namespace has a free plan3746 deletes the test cases3747Gitlab::ImportExport::Group::LegacyTreeSaver3748 saves the group tree into a json object3749 saves successfully3750 epics relation3751 saves top level epics3752 saves parent of epic3753 saves epic notes3754 saves epic events3755 saves epic's note events3756 saves epic's award emojis3757 saves epic's note award emojis3758 saves epic labels3759 boards relation3760 saves top level boards3761 saves board assignee3762 saves board labels3763 saves board lists3764 when there are boards with predefined milestones3765 saves the milestone data3766 when there are boards with persisted milestones3767 saves the milestone data3768Epics::EpicLinks::UpdateService3769 #execute3770 when subepics feature is not available3771 returns an error3772 when subepics feature is available3773 when params are nil3774 does not change order of child epics3775 when moving to start3776 reorders child epics3777 behaves like updating timestamps3778 does not update moved epic3779 does not update parent epic3780 when moving to end3781 reorders child epics3782 behaves like updating timestamps3783 does not update moved epic3784 does not update parent epic3785 when moving between siblings3786 reorders child epics3787 behaves like updating timestamps3788 does not update moved epic3789 does not update parent epic3790 when params are invalid3791 when move_before_id is not a child of parent epic3792 behaves like returns error3793 does not change order of child epics and returns error3794 when move_after_id is not a child of parent epic3795 behaves like returns error3796 does not change order of child epics and returns error3797RequirementsManagement::ImportCsvService3798 when user can create requirements3799 #execute3800 invalid file extension3801 behaves like invalid file3802 returns invalid file error3803 behaves like importer with email notification3804 notifies user of import result3805 empty file3806 behaves like invalid file3807 returns invalid file error3808 behaves like importer with email notification3809 notifies user of import result3810 file without headers3811 behaves like invalid file3812 returns invalid file error3813 behaves like importer with email notification3814 notifies user of import result3815 with a file generated by Gitlab CSV export3816 imports the CSV without errors3817 correctly sets the issuable attributes3818 behaves like importer with email notification3819 notifies user of import result3820 comma delimited file3821 imports CSV without errors3822 correctly sets the issuable attributes3823 behaves like importer with email notification3824 notifies user of import result3825 tab delimited file with error row3826 imports CSV with some error rows3827 correctly sets the issuable attributes3828 behaves like importer with email notification3829 notifies user of import result3830 semicolon delimited file with CRLF3831 imports CSV with a blank row3832 correctly sets the issuable attributes3833 behaves like importer with email notification3834 notifies user of import result3835 when user cannot create requirements3836 behaves like resource not available3837 raises an error3838 when requirements feature is not available3839 behaves like resource not available3840 raises an error3841Analytics::CycleAnalytics::AggregatorService3842 when invalid mode is given3843 raises error3844 when the group is not licensed3845 sets the aggregation record disabled3846 calls the DataLoaderService only once3847 when a subgroup is given3848 sets the aggregation record disabled3849 when the aggregation succeeds3850 when nothing to aggregate3851 updates the aggregation record with metadata3852 when the aggregation already contains metadata about the previous runs3853 updates the statistical columns3854 when merge requests and issues are present for the configured VSA stages3855 updates the aggregation record with record count and the last cursor3856 when running a full aggregation3857 when aggregation is not finished3858 persists the cursor attributes3859 when aggregation is finished during the second run3860 resets the cursor attributes so the aggregation starts from the beginning3861Dast::Profile3862 behaves like sanitizable3863 includes Sanitizable3864 #name3865 when input includes javascript tags3866 gets sanitized3867 #name validation3868 when input contains pre-escaped html entities3869 is not valid3870 #description3871 when input includes javascript tags3872 gets sanitized3873 #description validation3874 when input contains pre-escaped html entities3875 is not valid3876 associations3877 is expected to belong to project required: false3878 is expected to belong to dast_site_profile required: false3879 is expected to belong to dast_scanner_profile required: false3880 is expected to have many secret_variables class_name => Dast::SiteProfileSecretVariable through dast_site_profile3881 is expected to have one dast_profile_schedule class_name => Dast::ProfileSchedule inverse_of => dast_profile3882 validations3883 is expected to be valid3884 is expected to validate that the length of :name is at most 2553885 is expected to validate that the length of :description is at most 2553886 is expected to validate that the length of :branch_name is at most 2553887 is expected to validate that :name is case-sensitively unique within the scope of :project_id3888 is expected to validate that :project_id cannot be empty/falsy3889 is expected to validate that :dast_site_profile_id cannot be empty/falsy3890 is expected to validate that :dast_scanner_profile_id cannot be empty/falsy3891 is expected to validate that :name cannot be empty/falsy3892 when the project_id and dast_site_profile.project_id do not match3893 behaves like the project_id does not match3894 is not valid3895 when the project_id and dast_scanner_profile.project_id do not match3896 behaves like the project_id does not match3897 is not valid3898 when the description is nil3899 is not valid3900 when a branch_name is specified but the project does not have a respository3901 is not valid3902 when a branch_name is specified but the project does not have a respository3903 is not valid3904 scopes3905 by_project_id3906 includes the correct records3907 with_schedule3908 when has_dast_profile_schedule is true3909 includes the dast_profile with schedule3910 when has_dast_profile_schedule is false3911 includes the dast_profile without schedule3912 instance methods3913 #branch3914 when the associated project does not have a repository3915 returns nil3916 when the associated project has a repository3917 returns a Dast::Branch3918 #secret_ci_variables3919 is expected to delegate #secret_ci_variables to the #dast_site_profile object3920DastSiteProfilesFinder3921 #execute3922 returns all dast_site_profiles3923 eager loads the dast_site association3924 eager loads the dast_site_validation association3925 filtering by id3926 returns a single dast_site_profile3927 filtering by name3928 returns a single dast_site_profile3929 filtering by names3930 returns a single dast_site_profile3931 when the dast_site_profile1 does not exist3932 returns an empty relation3933Vulnerabilities::Identifier3934 associations3935 is expected to have many finding_identifiers class_name => Vulnerabilities::FindingIdentifier3936 is expected to have many findings class_name => Vulnerabilities::Finding3937 is expected to have many primary_findings class_name => Vulnerabilities::Finding3938 is expected to belong to project required: false3939 validations3940 is expected to validate that :name cannot be empty/falsy3941 is expected to validate that :project cannot be empty/falsy3942 is expected to validate that :external_type cannot be empty/falsy3943 is expected to validate that :external_id cannot be empty/falsy3944 is expected to validate that :fingerprint cannot be empty/falsy3945 .with_fingerprint3946 when identifier has the corresponding fingerprint3947 selects the identifier3948 when identifier does not have the corresponding fingerprint3949 does not select the identifier3950 .with_external_type3951 when identifier has the corresponding external_type3952 selects the identifier3953 when identifier does not have the corresponding external_type3954 does not select the identifier3955 type check methods3956 #cve?3957 behaves like type check method3958 external_type: "CVE", expected_value: true3959 is expected to equal true3960 external_type: "cve", expected_value: true3961 is expected to equal true3962 external_type: "CWE", expected_value: false3963 is expected to equal false3964 external_type: "cwe", expected_value: false3965 is expected to equal false3966 external_type: "foo", expected_value: false3967 is expected to equal false3968 #cwe?3969 behaves like type check method3970 external_type: "CWE", expected_value: true3971 is expected to equal true3972 external_type: "cwe", expected_value: true3973 is expected to equal true3974 external_type: "CVE", expected_value: false3975 is expected to equal false3976 external_type: "cve", expected_value: false3977 is expected to equal false3978 external_type: "foo", expected_value: false3979 is expected to equal false3980 #other?3981 behaves like type check method3982 external_type: "CWE", expected_value: false3983 is expected to equal false3984 external_type: "cwe", expected_value: false3985 is expected to equal false3986 external_type: "CVE", expected_value: false3987 is expected to equal false3988 external_type: "cve", expected_value: false3989 is expected to equal false3990 external_type: "foo", expected_value: true3991 is expected to equal true3992Gitlab::Ci::Parsers::Security::Formatters::DependencyList3993 #format3994 with secure dependency3995 with top-level dependency3996 formats the dependency3997 with dependency path included3998 formats the dependency3999 without dependency path4000 formats the dependency4001 with vulnerable dependency4002 merge vulnerabilities data4003 packager4004 packager: "bundler", expected: "Ruby (Bundler)"4005 substitutes with right values4006 packager: "yarn", expected: "JavaScript (Yarn)"4007 substitutes with right values4008 packager: "npm", expected: "JavaScript (npm)"4009 substitutes with right values4010 packager: "pip", expected: "Python (pip)"4011 substitutes with right values4012 packager: "maven", expected: "Java (Maven)"4013 substitutes with right values4014 packager: "composer", expected: "PHP (Composer)"4015 substitutes with right values4016 packager: "conan", expected: "C/C++ (Conan)"4017 substitutes with right values4018 packager: "sbt", expected: "Scala (Sbt)"4019 substitutes with right values4020 packager: "nuget", expected: "C# (Nuget)"4021 substitutes with right values4022 packager: "go", expected: "Go (Go modules)"4023 substitutes with right values4024 packager: "gradle", expected: "Java (Gradle)"4025 substitutes with right values4026 packager: "pipenv", expected: "Python (Pipenv)"4027 substitutes with right values4028 packager: "setuptools", expected: "Python (Setuptools)"4029 substitutes with right values4030 packager: "", expected: ""4031 substitutes with right values4032VulnerabilityNoteEntity4033 exposes vulnerability-specific elements4034 behaves like note entity4035 basic note4036 exposes correct elements4037 does not expose elements for specific notes cases4038 exposes author correctly4039 does not expose web_url for author4040 exposes permission fields on current_user4041 :can_resolve_discussion4042 discussion is resolvable4043 user can resolve4044 is true4045 user cannot resolve4046 is false4047 discussion is not resolvable4048 is false4049 :outdated_line_change_path4050 when note shows outdated changes4051 returns correct outdated_line_change_namespace_project_note_path4052 when note does not show outdated changes4053 does not expose outdated_line_change_path4054 when note was edited4055 exposes last_edited_at and last_edited_by elements4056 when note is a system note4057 exposes system_note_icon_name element4058MergeTrains::RefreshService4059 #execute4060 when merge request 1 is passed4061 executes RefreshMergeRequestService to all the following merge requests4062 when refresh service 1 returns error status4063 specifies require_recreate to refresh service 24064 when refresh service 1 returns success status and did not create a pipeline4065 does not specify require_recreate to refresh service 24066 when refresh service 1 returns success status and created a pipeline4067 specifies require_recreate to refresh service 24068 when merge request 1 is not on a merge train4069 does not refresh4070 when merge request 1 was on a merge train4071 does not refresh4072 when the other thread has already been processing the merge train4073 does not refresh4074 enqueues the merge request id to BatchPopQueueing4075 when merge request 2 is passed4076 executes RefreshMergeRequestService to all the merge requests from beginning4077Security::SecurityOrchestrationPolicies::ValidatePolicyService4078 #execute4079 when project or namespace is not provided4080 behaves like checks policy type4081 when policy type is not provided4082 is expected to eq :error4083 is expected to eq "Invalid policy type"4084 when policy type is invalid4085 is expected to eq :error4086 is expected to eq "Invalid policy type"4087 when policy type is valid4088 is expected to eq :success4089 behaves like checks if branches are provided in rule4090 when rule has agents defined4091 when branches are missing4092 is expected to eq :success4093 when branches are provided4094 is expected to eq :success4095 when rule does not have agents defined4096 when branches are missing4097 policy_type: "scan_result_policy", status: :success, message: nil4098 is expected to eq :success4099 is expected to eq nil4100 behaves like checks only if policy is enabled4101 is expected to eq :success4102 policy_type: "scan_execution_policy", status: :error, message: "Policy cannot be enabled without branch information"4103 is expected to eq :error4104 is expected to eq "Policy cannot be enabled without branch information"4105 behaves like checks only if policy is enabled4106 is expected to eq :success4107 when branches are provided4108 is expected to eq :success4109 when project is provided4110 behaves like checks policy type4111 when policy type is not provided4112 is expected to eq :error4113 is expected to eq "Invalid policy type"4114 when policy type is invalid4115 is expected to eq :error4116 is expected to eq "Invalid policy type"4117 when policy type is valid4118 is expected to eq :success4119 behaves like checks if branches are provided in rule4120 when rule has agents defined4121 when branches are missing4122 is expected to eq :success4123 when branches are provided4124 is expected to eq :success4125 when rule does not have agents defined4126 when branches are missing4127 policy_type: "scan_result_policy", status: :success, message: nil4128 is expected to eq :success4129 is expected to eq nil4130 behaves like checks only if policy is enabled4131 is expected to eq :success4132 policy_type: "scan_execution_policy", status: :error, message: "Policy cannot be enabled without branch information"4133 is expected to eq :error4134 is expected to eq "Policy cannot be enabled without branch information"4135 behaves like checks only if policy is enabled4136 is expected to eq :success4137 when branches are provided4138 is expected to eq :success4139 behaves like checks if branches are defined in the project4140 when rule has agents defined4141 when branches are defined for project4142 is expected to eq :success4143 when branches are not defined for project4144 is expected to eq :success4145 when pattern does not match any branch defined for project4146 is expected to eq :success4147 when rule does not have agents defined4148 when branches are defined for project4149 is expected to eq :success4150 when branches are not defined for project4151 is expected to eq :error4152 is expected to eq "Policy cannot be enabled for non-existing branches (non-exising-branch)"4153 behaves like checks only if policy is enabled4154 is expected to eq :success4155 when branches are defined as pattern4156 when pattern matches at least one branch defined for project4157 is expected to eq :success4158 when pattern does not match any branch defined for project4159 is expected to eq :error4160 is expected to eq "Policy cannot be enabled for non-existing branches (production-*, test-*)"4161 behaves like checks only if policy is enabled4162 is expected to eq :success4163 when namespace is provided4164 behaves like checks policy type4165 when policy type is not provided4166 is expected to eq :error4167 is expected to eq "Invalid policy type"4168 when policy type is invalid4169 is expected to eq :error4170 is expected to eq "Invalid policy type"4171 when policy type is valid4172 is expected to eq :success4173 behaves like checks if branches are provided in rule4174 when rule has agents defined4175 when branches are missing4176 is expected to eq :success4177 when branches are provided4178 is expected to eq :success4179 when rule does not have agents defined4180 when branches are missing4181 policy_type: "scan_result_policy", status: :success, message: nil4182 is expected to eq :success4183 is expected to eq nil4184 behaves like checks only if policy is enabled4185 is expected to eq :success4186 policy_type: "scan_execution_policy", status: :error, message: "Policy cannot be enabled without branch information"4187 is expected to eq :error4188 is expected to eq "Policy cannot be enabled without branch information"4189 behaves like checks only if policy is enabled4190 is expected to eq :success4191 when branches are provided4192 is expected to eq :success4193ComplianceManagement::MergeRequests::ComplianceViolationsFinder4194 #execute4195 when the user is unauthorized4196 returns nil4197 when the user is authorized4198 without any filters or sorting4199 finds all the compliance violations4200 filtering the results4201 when given an array of project IDs4202 finds the filtered compliance violations4203 when given merged at dates4204 merged_params: {:merged_before=>Sun, 26 Jun 2022 10:20:25.996469538 UTC +00:00}, result: lazy { compliance_violation }4205 finds the filtered compliance violations4206 merged_params: {:merged_after=>Sun, 26 Jun 2022 10:20:25.996740198 UTC +00:00}, result: lazy { compliance_violation2 }4207 finds the filtered compliance violations4208 merged_params: {:merged_before=>Tue, 28 Jun 2022, :merged_after=>Sun, 26 Jun 2022 10:20:25.996903778 UTC +00:00}, result: lazy { compliance_violation2 }4209 finds the filtered compliance violations4210 sorting the results4211 direction: "SEVERITY_LEVEL_ASC", result: lazy { [compliance_violation, compliance_violation2] }4212 finds the filtered compliance violations4213 direction: "SEVERITY_LEVEL_DESC", result: lazy { [compliance_violation2, compliance_violation] }4214 finds the filtered compliance violations4215 direction: "VIOLATION_REASON_ASC", result: lazy { [compliance_violation, compliance_violation2] }4216 finds the filtered compliance violations4217 direction: "VIOLATION_REASON_DESC", result: lazy { [compliance_violation2, compliance_violation] }4218 finds the filtered compliance violations4219 direction: "MERGE_REQUEST_TITLE_ASC", result: lazy { [compliance_violation, compliance_violation2] }4220 finds the filtered compliance violations4221 direction: "MERGE_REQUEST_TITLE_DESC", result: lazy { [compliance_violation2, compliance_violation] }4222 finds the filtered compliance violations4223 direction: "MERGED_AT_ASC", result: lazy { [compliance_violation, compliance_violation2] }4224 finds the filtered compliance violations4225 direction: "MERGED_AT_DESC", result: lazy { [compliance_violation2, compliance_violation] }4226 finds the filtered compliance violations4227 direction: "UNKNOWN_SORT", result: lazy { [compliance_violation, compliance_violation2] }4228 finds the filtered compliance violations4229Ci::SubscribeBridgeService4230 #execute4231 when the upstream project exists4232 when the upstream project has a pipeline4233 when the user has permissions4234 populates the pipeline project source4235 persists the bridge4236 when the pipeline already finished4237 mirrors the pipeline status to the bridge job instantly4238 when the user does not have permissions4239 drops the bridge4240 when the upstream project does not have a pipeline4241 skips the bridge4242 when the upstream project does not exist4243 drops the bridge4244Mutations::Issues::SetIteration4245 #resolve4246 behaves like permission level for issue mutation is correctly verified4247 when the user is not a project member4248 behaves like when the user does not have access to the resource4249 raises an error4250 even if assigned to the issue4251 does not modify issue4252 even if author of the issue4253 does not modify issue4254 when the user is a project member4255 with guest role4256 behaves like when the user does not have access to the resource4257 raises an error4258 even if assigned to the issue4259 does not modify issue4260 even if author of the issue4261 does not modify issue4262 when the user can update the issue4263 returns the issue with the iteration4264 returns errors issue could not be updated4265 when passing iteration_id as nil4266 removes the iteration4267 does not do anything if the issue already does not have a iteration4268Event4269 #visible_to_user?4270 epic event4271 on public group4272 behaves like visible to everybody4273 is visible to other users4274 on private group4275 behaves like visible to group members only4276 is not visible to other users4277 when admin mode enabled4278 is visible to admin4279 when admin mode disabled4280 is not visible to admin4281 epic note event4282 on public group4283 behaves like visible to everybody4284 is visible to other users4285 private group4286 behaves like visible to group members only4287 is not visible to other users4288 when admin mode enabled4289 is visible to admin4290 when admin mode disabled4291 is not visible to admin4292 #set_last_repository_updated_at4293 always updates the project_repository_state record4294Geo::ProjectSyncWorker4295 #perform4296 when project could not be found4297 logs an error and returns4298 when the shard associated to the project is unhealthy4299 logs an error and returns4300 when project repositories has never been synced4301 performs Geo::RepositorySyncService for the given project4302 performs Geo::WikiSyncService for the given project4303 when project repositories has been synced4304 does not perform Geo::RepositorySyncService for the given project4305 does not perform Geo::WikiSyncService for the given project4306 when last attempt to sync project repositories failed4307 performs Geo::RepositorySyncService for the given project4308 performs Geo::WikiSyncService for the given project4309Dashboard::Projects::CreateService4310 #execute4311 with projects4312 with integer id4313 adds a project4314 with string id4315 adds a project4316 with a project that does not exist4317 does not add a not found project4318 when feature name is provided4319 with project without provided feature enabled4320 checks if feature is available4321 does not check if user has access to the project with given ability4322 does not add a not licensed project4323 when ability name is provided4324 with project for which user has no permission4325 does not check if feature is available4326 checks if user has access to the project with given ability4327 does not add a not licensed project4328 with repeating project id4329 adds a project only once4330 with already added project4331 does not add duplicates4332WikiPages::CreateService4333 #execute4334DEPRECATION 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)4335 calls Geo::RepositoryUpdatedService when running on a Geo primary node4336DEPRECATION 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)4337 does not call Geo::RepositoryUpdatedService when not running on a Geo primary node4338 behaves like WikiPages::CreateService#execute4339 creates wiki page with valid attributes4340 executes webhooks4341 counts wiki page creation4342 does not call Geo::RepositoryUpdatedService when container is group4343 the new page is at the top level4344 creates appropriate events (PENDING: group wiki support)4345 the new page is in a subsection4346 creates appropriate events (PENDING: group wiki support)4347 when the options are bad4348 does not count a creation event4349 does not record the activity4350 reports the error4351Security::Ingestion::Tasks::IngestFindingIdentifiers4352 #execute4353 associates findings with the identifiers4354 behaves like bulk insertable task4355 when the validation fails4356 can generate error messages correctly4357Security::MergeReportsService#execute4358 ordering reports for dependency scanning analyzers4359 when reports are gathered in an unprioritized order4360 is expected to eql #<Gitlab::Ci::Reports::Security::Scanner:0x00007fe16d7e6f70 @external_id="bundler_audit", @name="bund...dor", @version="1.0.0", @sort_keys=[1, "bundler_audit", "bundler-audit", "Security Scanner Vendor"]>, #<Gitlab::Ci::Reports::Security::Scanner:0x00007fe16ec8c4e8 @external_id="retire.js", @name="Retire.j...nner Vendor", @version="1.0.0", @sort_keys=[2, "retire.js", "Retire.js", "Security Scanner Vendor"]>, and #<Gitlab::Ci::Reports::Security::Scanner:0x00007fe170452c08 @external_id="gemnasium", @name="gemnasiu...nner Vendor", @version="1.0.0", @sort_keys=[3, "gemnasium", "gemnasium", "Security Scanner Vendor"]>4361 is expected to eq 24362 is expected to contain exactly #<Gitlab::Ci::Reports::Security::Identifier:0x00007fe176ca7bf0 @external_id="CVE-2019-123", @external...="cve", @name="cve-CVE-2019-123", @url=nil, @fingerprint="6d834ff5767ac7544bef36b0e9996a9a3d6da5f1">4363 is expected to contain exactly #<Gitlab::Ci::Reports::Security::Identifier:0x00007fe182a6cd70 @external_id="NPM-13", @external_type="npm", @name="npm-NPM-13", @url=nil, @fingerprint="ca12d3bf327f69eb5ccc69dc5c164630b1f4fd36">4364 when a custom analyzer is completed before the known analyzers4365 is expected to eql #<Gitlab::Ci::Reports::Security::Scanner:0x00007fe171ffc440 @external_id="bundler_audit", @name="bund...dor", @version="1.0.0", @sort_keys=[1, "bundler_audit", "bundler-audit", "Security Scanner Vendor"]>, #<Gitlab::Ci::Reports::Security::Scanner:0x00007fe1526d4af8 @external_id="retire.js", @name="Retire.j...nner Vendor", @version="1.0.0", @sort_keys=[2, "retire.js", "Retire.js", "Security Scanner Vendor"]>, and #<Gitlab::Ci::Reports::Security::Scanner:0x00007fe1b0557f50 @external_id="scanner-2", @name="Scanner ...ndor", @version="1.0.0", @sort_keys=[Infinity, "scanner-2", "Scanner 2", "Security Scanner Vendor"]>4366 is expected to eq 34367 is expected to contain exactly #<Gitlab::Ci::Reports::Security::Identifier:0x00007fe16d6990a0 @external_id="VULN-2", @external_type=...ner-2", @name="scanner-2-VULN-2", @url=nil, @fingerprint="8e683704c05c3d223f7572623a39cdf39ecc5f15"> and #<Gitlab::Ci::Reports::Security::Identifier:0x00007fe16b8258f8 @external_id="CVE-2019-456", @external...="cve", @name="cve-CVE-2019-456", @url=nil, @fingerprint="47c8c718e4355e29c0b8e87fd62c2c7da65911dd">4368 merging reports step by step4369 keeps the finding from `retirejs` as it has higher priority4370Gitlab::CodeOwners::Entry4371 is uniq by the pattern and owner line4372 #users4373 raises an error if no users have been added4374 returns the users in an array4375 #all_users4376 raises an error if users have not been loaded for groups4377 returns users and users from groups4378 #groups4379 raises an error if no groups have been added4380 returns mentioned groups4381 #add_matching_groups_from4382 returns only mentioned groups, case-insensitively4383 #add_matching_users_from4384 does not add the same user twice4385 raises an error when adding a user without emails preloaded4386 only adds users mentioned in the owner line4387 adds users by username, case-insensitively4388 adds users by primary email, case-insensitively4389 adding users by secondary email, case-insensitively4390 finds both users when the email address is confirmed/verified4391 finds only the first user when the email address for the second is unconfirmed/unverified4392MergeRequests::RemoveApprovalService4393 #execute4394 with a user who has approved4395 removes the approval4396 creates an unapproval note4397 fires an unapproval webhook4398 does not send a notification4399 resets the cache for approvals4400Todos::Destroy::ConfidentialEpicService4401 #execute4402 removes epic todos for users who can not access the confidential epic4403 when provided epic is not confidential4404 does not remove any todos4405SystemNotes::IssuablesService4406 #change_health_status_note4407 tracks the issue event in usage ping4408 when health_status changed4409 sets the note text4410 behaves like a system note4411 has the correct attributes4412 when health_status removed4413 sets the note text4414 behaves like a system note4415 has the correct attributes4416 #publish_issue_to_status_page4417 sets the note text4418 behaves like a system note4419 has the correct attributes4420 #cross_reference4421 when noteable is an epic4422 tracks epic cross reference event in usage ping4423 behaves like a system note4424 has the correct attributes4425 when notable is not an epic4426 does not tracks epic cross reference event in usage ping4427 #relate_issuable4428 creates system notes when relating epics4429 #unrelate_issuable4430 creates system notes when epic gets unrelated4431AdminEmailsWorker4432 recipients4433 sending emails to members of a group only4434 sends email to subscribed users4435 sending emails to members of a project only4436 sends email to subscribed users4437 sending emails to users directly4438 sends email to subscribed users4439Mutations::IncidentManagement::EscalationPolicy::Create4440 #resolve4441 project does not have feature4442 behaves like raises a resource not available error4443 is expected to raise Gitlab::Graphql::Errors::ResourceNotAvailable with "Escalation policies are not supported for this project"4444 project has feature4445 user has access to project4446 returns the escalation policy with no errors4447 rules are missing4448 behaves like returns a GraphQL error4449 is expected to match {:escalation_policy=>nil, :errors=>["Escalation policies must have at least one rule"]}4450 schedule that does not belong to the project4451 behaves like raises a resource not available error4452 is expected to raise Gitlab::Graphql::Errors::ResourceNotAvailable with "The resource that you are attempting to access does not exist or you don't have permission to perform this action"4453 user does not have permission for project4454 behaves like raises a resource not available error4455 is expected to raise Gitlab::Graphql::Errors::ResourceNotAvailable with "The resource that you are attempting to access does not exist or you don't have permission to perform this action"4456 user for rule does not exist4457 behaves like raises a resource not available error4458 is expected to raise Gitlab::Graphql::Errors::ResourceNotAvailable with "The resource that you are attempting to access does not exist or you don't have permission to perform this action"4459 user does not have permission for project4460 behaves like raises a resource not available error4461 is expected to raise Gitlab::Graphql::Errors::ResourceNotAvailable with "The resource that you are attempting to access does not exist or you don't have permission to perform this action"4462 invalid project path4463 behaves like raises a resource not available error4464 is expected to raise Gitlab::Graphql::Errors::ResourceNotAvailable with "The resource that you are attempting to access does not exist or you don't have permission to perform this action"4465Mutations::DastSiteTokens::Create4466 is expected to require graphql authorizations :create_on_demand_dast_scan4467 #resolve4468 when on demand scan feature is enabled4469 when the project does not exist4470 raises an exception4471 when the user can run a dast scan4472 returns the dast_site_token id4473 returns the dast_site_token status4474 returns the dast_site_token token4475 when the associated dast_site_validation has been validated4476 returns the correct status4477Deployment4478 is expected to have many approvals4479 is expected to delegate #needs_approval? to the #environment object4480 state machine4481 when deployment succeeded4482 schedules Dora::DailyMetrics::RefreshWorker4483 #pending_approval_count4484 when Protected Environments feature is available4485 with no approvals4486 returns the number of approvals required by the environment4487 with some approvals4488 returns the number of pending approvals4489 with all approvals satisfied4490 returns zero4491 with a deployment that is not blocked4492 returns zero4493 loading approval count4494 does not perform an extra query when approvals are loaded4495 when Protected Environments feature is not available4496 returns zero4497Mutations::MergeRequests::SetAssignees4498 behaves like a multi-assignable resource4499 #resolve4500 when the user can update the resource4501 sets the assignees4502 removes assignees not in the list4503 when passing "append" as true4504 does not remove assignees not in the list4505Vulnerabilities::ExternalIssueLink4506 associations and fields4507 is expected to belong to vulnerability required: false4508 is expected to define :link_type as an enum backed by an integer with values ‹{created: 1}›4509 provides the "created" as default link_type4510 validations4511 is expected to validate that :vulnerability cannot be empty/falsy4512 is expected to validate that :external_issue_key cannot be empty/falsy4513 is expected to validate that :external_project_key cannot be empty/falsy4514 is expected to validate that :external_type cannot be empty/falsy4515 uniqueness4516 is expected to validate that :external_issue_key is case-sensitively unique within the scope of :vulnerability_id, :external_type, and :external_project_key, producing a custom validation error on failure4517 only one "created" link allowed per vulnerability4518 is expected to validate that :vulnerability_id is case-sensitively unique, producing a custom validation error on failure4519 created_for_vulnerability4520 gets external issue links for the specified vulnerability4521VulnerabilityPresenter4522 #scanner4523 returns the scanner for a finding4524 returns empty hash if scanner is missing for a vulnerabilities_finding4525 #scan4526 returns the scan for a finding4527 returns empty hash if scan is missing for a vulnerabilities_finding4528 #remediations4529 returns remediations4530 #location_link_with_raw_path4531 returns the location link in raw format4532 #location_link4533 returns the location link in blob format4534 #blob_path4535 returns the path in blob format4536 returns nil if file is missing in the finding4537 #raw_path4538 returns the path in raw format4539 returns nil if file is missing in the finding4540 #jira_issue_description4541 returns the jira description in string format4542 #description4543 when the vulnerability description field is populated4544 returns the description for the vulnerability4545 when the vulnerability description field is empty4546 returns the description for the vulnerability finding4547ElasticDeleteProjectWorker4548 deletes a project with all nested objects and clears the index_status4549VulnerabilityFeedbackModule::UpdateService#execute4550 when params are valid4551 when new comment is passed4552 adds the comments4553 second user updates the comment4554 sets second user as the comment author4555 when updated comment is passed4556 updates the comments4557 when deleting a comment4558 removes the comment data4559Resolvers::Geo::TerraformStateVersionRegistriesResolver4560 behaves like a Geo registries resolver4561 #resolve4562 when the parent object is the current node4563 when the user has permission to view Geo data4564 when admin mode is enabled4565 when the ids argument is null4566 returns registries, in order4567 when the ids argument is present4568 returns the requested registries, in order4569 when admin mode is disabled4570 returns nothing4571 when the user does not have permission to view Geo data4572 returns nothing4573 when the parent object is not the current node4574 when the user has permission to view Geo data4575 returns nothing, because we can't query other nodes' tracking databases4576Groups::RepositoryStorageMove4577 behaves like handles repository moves4578 associations4579 is expected to belong to container required: false4580 validations4581 is expected to validate that :container cannot be empty/falsy4582 is expected to validate that :state cannot be empty/falsy4583 is expected to validate that :source_storage_name cannot be empty/falsy4584 is expected to validate that :destination_storage_name cannot be empty/falsy4585 source_storage_name inclusion4586 does not allow repository storages that don't match a label in the configuration4587 destination_storage_name inclusion4588 does not allow repository storages that don't match a label in the configuration4589 container repository read-only4590 does not allow the container to be read-only on create4591 defaults4592 destination_storage_name4593 can pick new storage4594 state transitions4595 when in the default state4596 and transits to scheduled4597 triggers the corresponding repository storage worker4598 when the transition fails4599 does not trigger the corresponding repository storage worker and adds an error4600 and transits to started4601 does not allow the transition4602 when started4603 and transits to replicated4604 marks the container as writable4605 updates the updated_at column of the container4606 and transits to failed4607 marks the container as writable4608Security::Training4609 associations4610 is expected to belong to project required: true4611 is expected to belong to provider required: true4612 validations4613 one primary per project4614 when the training is primary4615 is expected to validate that :is_primary is case-sensitively unique within the scope of :project_id4616 when the training is not primary4617 is expected not to validate that :is_primary is case-sensitively unique4618 .not_including scope4619 is expected to contain exactly #<Security::Training id: 4, project_id: 1226, provider_id: 4, is_primary: false, created_at: "2022-06-28 10:42:36.011983264 +0000", updated_at: "2022-06-28 10:42:36.011983264 +0000">4620 deleting a record4621 when the record is not primary4622 is expected to be truthy4623 when the record is primary4624 when there is no other training enabled for the project4625 is expected to be truthy4626 when there is another training enabled for the project4627 is expected to be falsey4628 adds an error4629VulnerabilityIssueLinks::DeleteService4630 with an authorized user with proper permissions4631 with valid params4632 deletes the specified vulnerability-issue link4633 when security dashboard feature is disabled4634 raises an "access denied" error4635 permissions4636 is expected to be allowed for :owner4637 is expected to be allowed for :maintainer4638 is expected to be allowed for :developer4639 is expected to be denied for :auditor4640 is expected to be denied for :reporter4641 is expected to be denied for :guest4642 is expected to be denied for :anonymous4643 when admin mode is enabled4644 is expected to be allowed for :admin4645 when admin mode is disabled4646 is expected to be denied for :admin4647Security::Ingestion::Tasks::HooksExecution4648 #execute4649 executes the hooks associated with all new vulnerabilities4650 does not execute the hooks associated with existing vulnerabilities4651shared/billings/_eoa_bronze_plan_banner.html.haml4652 with group namespace4653 behaves like current time4654 displays the banner4655 behaves like past eoa date4656 does not display the banner4657 behaves like with show_billing_eoa_banner turned off4658 does not display the banner4659 behaves like with a different plan than Bronze4660 does not display the banner4661 behaves like when user dismissed the banner4662 does not display the banner4663 with personal namespace4664 behaves like current time4665 displays the banner4666 behaves like past eoa date4667 does not display the banner4668 behaves like with show_billing_eoa_banner turned off4669 does not display the banner4670 behaves like with a different plan than Bronze4671 does not display the banner4672 behaves like when user dismissed the banner4673 does not display the banner4674GroupMembersFinder4675 #not_managed4676 returns non-owners without group managed accounts4677 #execute4678 minimal access4679 when group does not allow minimal access members4680 returns only members with full access4681 when group allows minimal access members4682 also returns members with minimal access4683 filter by enterprise users4684 the group has SAML enabled4685 when requested by owner4686 direct members of the group4687 returns Enterprise members when the filter is `true`4688 returns members that are not Enterprise members when the filter is `false`4689 returns all members when the filter is not specified4690 returns all members when the filter is not either of `true` or `false`4691 inherited members of the group4692 returns all members including inherited members, that are Enterprise members, when the filter is `true`4693 returns all members including inherited members, that are not Enterprise members, when the filter is `false`4694 when requested by non-owner4695 returns all members, as non-owners do not have the ability to filter by Enterprise users4696 the group does not have SAML enabled4697 when requested by owner4698 returns all members, because `Enterprise` filter can only be applied on groups that have SAML enabled4699AllowedEmailDomain4700 relations4701 is expected to belong to group required: false4702 .domain_names4703 returns the array of domain names4704 validations4705 is expected to validate that :domain cannot be empty/falsy4706 is expected to validate that :group_id cannot be empty/falsy4707 #valid domain4708 valid domain4709 succeeds4710 invalid domain4711 fails4712 domain from excluded list4713 fails4714 #allow_root_group_only4715 top-level group4716 succeeds4717 subgroup4718 fails4719 #email_matches_domain?4720 with matching domain4721 returns true4722 with not matching domain4723 returns false4724 #email_domain4725 returns formatted domain4726IncidentManagement::PendingEscalations::Issue4727 .class_for_check_worker4728 is expected to eq IncidentManagement::PendingEscalations::IssueCheckWorker4729 #escalatable4730 is expected to eq #<IncidentManagement::IssuableEscalationStatus id: 1, created_at: "2022-06-28 10:42:52.905355247 +000...247 +0000", issue_id: 442, policy_id: nil, escalations_started_at: nil, resolved_at: nil, status: 0>4731 #type4732 is expected to eq :incident4733 shared pending escalation features4734 is expected to be valid4735 validations4736 is expected to validate that :process_at cannot be empty/falsy4737 is expected to validate that :rule_id cannot be empty/falsy4738 is expected to delegate #project to the #issue object4739 is expected to validate that :rule_id is case-sensitively unique within the scope of :issue_id4740 associations4741 is expected to belong to issue required: false4742 is expected to belong to rule required: false4743 scopes4744 .processable4745 is expected to contain exactly #<IncidentManagement::PendingEscalations::Issue id: 4, rule_id: 7, issue_id: 445, process_at: "2022-0...reated_at: "2022-06-28 10:42:53.843112471 +0000", updated_at: "2022-06-28 10:42:53.843112471 +0000"> and #<IncidentManagement::PendingEscalations::Issue id: 5, rule_id: 7, issue_id: 446, process_at: "2022-0...reated_at: "2022-06-28 10:42:53.881281357 +0000", updated_at: "2022-06-28 10:42:53.881281357 +0000">4746Boards::MilestonesFinder4747 #execute4748 when project board4749 returns milestones from board project and ancestors groups4750 when group board4751 returns milestones from board group and its ancestors4752Gitlab::Ci::Config4753 with required instance template4754 processes the required includes4755 with security orchestration policy4756 when feature is not licensed4757 does not modify the config4758 when feature is licensed4759 when policy is not applicable on branch from the pipeline4760 does not modify the config4761 when policy is applicable on branch from the pipeline4762 when DAST profiles are not found4763 adds a job with error message4764 when DAST profiles are found4765 extends config with additional jobs4766 when source is ondemand_dast_scan4767 does not modify the config4768Elastic::IndexSetting4769 validations4770 is expected to allow :number_of_shards to be ‹10›4771 is expected not to allow :number_of_shards to be ‹nil›4772 is expected not to allow :number_of_shards to be ‹0›4773 is expected not to allow :number_of_shards to be ‹1.1›4774 is expected not to allow :number_of_shards to be ‹-1›4775 is expected to allow :number_of_replicas to be ‹10›4776 is expected to allow :number_of_replicas to be ‹0›4777 is expected not to allow :number_of_replicas to be ‹nil›4778 is expected not to allow :number_of_replicas to be ‹1.1›4779 is expected not to allow :number_of_replicas to be ‹-1›4780 is expected to allow :alias_name to be ‹"a"›4781 is expected not to allow :alias_name to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›4782 .[]4783 returns existing record4784 creates a new record4785 .default4786 returns index_setting record for the default index4787 .number_of_replicas4788 returns default number of replicas4789 .number_of_shards4790 returns default number of shards4791Geo::MoveRepositoryService4792 #execute4793 renames the project repositories4794 returns false when project repository can not be renamed4795 returns false when wiki repository can not be renamed4796 when design repository exists4797 returns false when design repository can not be renamed4798 wiki disabled4799 tries to move wiki even if it is not enabled without reporting error4800DeploymentEntity4801 #pending_approval_count4802 exposes pending_approval_count4803 #approvals4804 exposes approvals4805 #can_approve_deployment4806 when user has permission to update deployment4807 returns true4808 when user does not have permission to update deployment4809 returns false4810Analytics::CycleAnalytics::ValueStreams::CreateService4811 behaves like common value stream service examples4812 when the user has no permission4813 returns error4814 when the license is missing4815 returns error4816 when the feature is available4817 when stage params are passed4818 persists the value stream record4819 persists the stages4820 calculates and sets relative_position for the stages based on the incoming stages array4821 when the stage is invalid4822 propagates validation errors4823 when creating a default stage4824 persists the stage as custom stage4825 when no stage params are passed4826 persists the value stream record4827Gitlab::DataBuilder::Vulnerability4828 .build4829 is expected to be a kind of Hash4830 is expected to eq "vulnerability"4831 contains the correct object attributes4832EE::PersonalAccessTokensHelper4833 #personal_access_token_expiration_policy_enabled?4834 with `personal_access_token_expiration_policy` licensed4835 when the current user belongs to a managed group4836 when the managed group has a PAT expiry policy4837 is expected to be truthy4838 when the managed group does not have a PAT expiry setting4839 behaves like instance level PAT expiry setting4840 the instance has an expiry setting4841 is expected to be truthy4842 the instance does not have an expiry setting4843 is expected to be falsey4844 when the current user does not belong to a managed group4845 behaves like instance level PAT expiry setting4846 the instance has an expiry setting4847 is expected to be truthy4848 the instance does not have an expiry setting4849 is expected to be falsey4850 with `personal_access_token_expiration_policy` not licensed4851 when the current user belongs to a managed group4852 when the managed group has a PAT expiry policy4853 is expected to be falsey4854 when the managed group does not have a PAT expiry setting4855 behaves like instance level PAT expiry setting4856 the instance has an expiry setting4857 is expected to be falsey4858 the instance does not have an expiry setting4859 is expected to be falsey4860 when the current user does not belong to a managed group4861 behaves like instance level PAT expiry setting4862 the instance has an expiry setting4863 is expected to be falsey4864 the instance does not have an expiry setting4865 is expected to be falsey4866 #personal_access_token_max_expiry_date4867 when the current user belongs to a managed group4868 when the managed group has a PAT expiry policy4869 is expected to within one second of 2022-07-08 10:43:13 UTC4870 when the managed group does not have a PAT expiry setting4871 behaves like instance level PAT expiry setting4872 the instance has an expiry setting4873 is expected to within one second of 2022-07-18 10:43:13 UTC4874 the instance does not have an expiry setting4875 is expected to be nil4876 when the current user does not belong to a managed group4877 behaves like instance level PAT expiry setting4878 the instance has an expiry setting4879 is expected to within one second of 2022-07-18 10:43:13 UTC4880 the instance does not have an expiry setting4881 is expected to be nil4882 #personal_access_token_expiration_policy_licensed?4883 behaves like feature availability4884 when feature is licensed4885 is expected to be truthy4886 with `personal_access_token_expiration_policy` not licensed4887 is expected to be falsey4888 #token_expiry_banner_message4889 when user has an expiring token requiring rotation4890 is expected to eq "At least one of your Personal Access Tokens will expire soon. %{generate_new}"4891 when user has an expired token requiring rotation4892 is expected to eq "At least one of your Personal Access Tokens is expired. %{generate_new}"4893AppSec::Dast::SiteValidations::RevokeService4894 execute4895 when on demand scan licensed feature is not available4896 communicates failure4897 when the feature is enabled4898 communicates success4899 deletes only dast_site_validation validations in the same project that share a common url_base4900 returns a count of the dast_site_validations that were deleted4901 when the finder does not find any dast_site_validations4902 communicates success4903 is a noop4904 when a param is missing4905 communicates failure4906Security::Ingestion::IngestReportSliceService4907 #execute4908 runs the series of tasks in correct order4909 when an exception happens4910 rollsback the recent changes to not to leave the database in an inconsistent state4911EE::Gitlab::Scim::AttributeTransform4912 #valid?4913 is true for accepted keys4914 is false for unused keys4915 #gitlab_key4916 scim_key: :id, expected: :extern_uid4917 is expected to eq :extern_uid4918 scim_key: :displayName, expected: :name4919 is expected to eq :name4920 scim_key: "name.formatted", expected: :name4921 is expected to eq :name4922 scim_key: "emails[type eq \"work\"].value", expected: :email4923 is expected to eq :email4924 scim_key: :active, expected: :active4925 is expected to eq :active4926 scim_key: :externalId, expected: :extern_uid4927 is expected to eq :extern_uid4928 scim_key: :userName, expected: :username4929 is expected to eq :username4930 #map_to4931 returns an empty hash for unknown keys4932 typecasts input4933 creates a hash from transformed key to a typecasted value4934AlertManagement::Alert4935 associations4936 is expected to have many pending_escalations class_name => IncidentManagement::PendingEscalations::Alert4937 after_create4938 attempts to trigger auto rollback4939 #trigger_auto_rollback4940 executes AutoRollbackWorker4941 when status is not triggered4942 does not execute AutoRollbackWorker4943 when severity is not critical4944 does not execute AutoRollbackWorker4945 when project does not enable auto rollback4946 does not execute AutoRollbackWorker4947 when project does not have a license for auto rollback4948 does not execute AutoRollbackWorker4949 #escalation_policy4950 is expected to eq nil4951 when escalation policy exists on the project4952 returns the projects first (only) escalation policy4953Analytics::CycleAnalytics::Stages::ListService4954 when the use_vsa_aggregated_tables feature is enabled4955 returns empty array4956 provides the default stages as non-persisted objects4957 does not persist the value stream record4958 behaves like permission check for Value Stream Analytics Stage services4959 when user has no access4960 is expected to be error4961 is expected to eq :forbidden4962 when license is missing4963 is expected to be error4964 is expected to eq :forbidden4965 when there are persisted stages4966 returns the persisted stages in order4967 when the use_vsa_aggregated_tables feature is disabled4968 returns the default stages4969Types::MutationType4970 deprecated mutations4971 field_name: "IterationCreate", reason: "Manual iteration management is deprecated. Only automatic iteration cadences will be supported in the future", milestone: "14.10"4972 is expected to be present4973 is expected to eq "Manual iteration management is deprecated. Only automatic iteration cadences will be supported in the future. Deprecated in 14.10."4974 field_name: "CreateIteration", reason: "Manual iteration management is deprecated. Only automatic iteration cadences will be supported in the future", milestone: "14.0"4975 is expected to be present4976 is expected to eq "Manual iteration management is deprecated. Only automatic iteration cadences will be supported in the future. Deprecated in 14.0."4977 field_name: "ApiFuzzingCiConfigurationCreate", reason: "The configuration snippet is now generated client-side", milestone: "15.1"4978 is expected to be present4979 is expected to eq "The configuration snippet is now generated client-side. Deprecated in 15.1."4980ProjectTeam4981 #add_users4982 when group membership is locked4983 does not add the given users to the team4984 #add_user4985 when group membership is locked4986 does not add the given user to the team4987 project bot user4988 adds the project bot user to the team4989ActiveUserCountThresholdWorker4990 #perform4991 trial?: false, threshold_reached?: false, should_send_reminder?: false4992 is expected not to receive approaching_active_user_count_limit(*(any args)) 0 times4993 trial?: false, threshold_reached?: true, should_send_reminder?: true4994 is expected to receive approaching_active_user_count_limit(*(any args)) 1 time4995 trial?: true, threshold_reached?: false, should_send_reminder?: false4996 is expected not to receive approaching_active_user_count_limit(*(any args)) 0 times4997 trial?: true, threshold_reached?: true, should_send_reminder?: false4998 is expected not to receive approaching_active_user_count_limit(*(any args)) 0 times4999 recipients5000 sends reminder to admins only5001 adds a licensee email to the recipients list5002 sends reminder to unique emails5003 sends reminder to active admins only5004 when there is no license5005 does not send a reminder5006Gitlab::Insights::Reducers::BaseReducer5007 raises NotImplementedError5008 #issuable_type5009 with issues5010 returns :issue5011 with merge requests5012 returns :merge_request5013PushRules::CreateOrUpdateService#execute5014 with existing push rule5015 updates existing push rule5016 responds with a successful service response5017 when container is a group5018 audits the changes5019 behaves like a failed update5020 responds with an error service response5021 without existing push rule5022 creates a new push rule5023 responds with a successful service response5024 behaves like a failed update5025 responds with an error service response5026EE::Namespace::RootStorageStatistics5027 #recalculate!5028 when namespace belongs to a group5029 aggregates namespace wiki statistics5030 works when there are no namespace statistics5031 when namespace belong to a user5032 does not aggregate namespace statistics5033RepositoryImportWorker5034 updates the error on custom project template Import/Export5035 when project is a mirror5036 adds mirror in front of the mirror scheduler queue5037 sidekiq options5038 disables retry5039 disables dead5040 sets default status expiration5041Geo::Batch::ProjectRegistrySchedulerWorker5042 #perform5043 when operation is :reverify_repositories5044 schedules batches of repositories for reverify5045 does nothing if exclusive lease is already acquired5046 when operation is :resync_repositories5047 schedules batches of repositories for resync5048 does nothing if exclusive lease is already acquired5049 when informed operation is unknown/invalid5050 fails with ArgumentError5051Gitlab::IncidentManagement5052 .oncall_schedules_available?5053 is expected to be truthy5054 when there is no license5055 is expected to be falsey5056 .escalation_policies_available?5057 is expected to be truthy5058 when escalation policies not avaialble5059 is expected to be falsey5060 when on-call schedules not available5061 is expected to be falsey5062 .issuable_resource_links_available?5063 is expected to be truthy5064 when feature flag is disabled5065 is expected to be falsey5066 when feature is not avaiable5067 is expected to be falsey5068ApprovalRules::GroupFinder5069 when with inaccessible groups5070 returns groups5071 when without inaccessible groups5072 returns groups5073Ci::Runners::ResetRegistrationTokenService#execute5074 with instance scope5075 behaves like a registration token reset operation5076 without user5077 does not audit and returns false5078 with unauthorized user5079 does not audit and returns false5080 with admin user5081 calls security_event on RunnersTokenAuditEventService and returns the new token5082 with group scope5083 behaves like a registration token reset operation5084 without user5085 does not audit and returns false5086 with unauthorized user5087 does not audit and returns false5088 with admin user5089 calls security_event on RunnersTokenAuditEventService and returns the new token5090 with project scope5091 behaves like a registration token reset operation5092 without user5093 does not audit and returns false5094 with unauthorized user5095 does not audit and returns false5096 with admin user5097 calls security_event on RunnersTokenAuditEventService and returns the new token5098Resolvers::Geo::PagesDeploymentRegistriesResolver5099 behaves like a Geo registries resolver5100 #resolve5101 when the parent object is the current node5102 when the user has permission to view Geo data5103 when admin mode is enabled5104 when the ids argument is null5105 returns registries, in order5106 when the ids argument is present5107 returns the requested registries, in order5108 when admin mode is disabled5109 returns nothing5110 when the user does not have permission to view Geo data5111 returns nothing5112 when the parent object is not the current node5113 when the user has permission to view Geo data5114 returns nothing, because we can't query other nodes' tracking databases5115EE::MergeRequestMetricsService5116 #merge5117 saves metrics with productivity_data5118 storing line counts5119 updates `added_lines`5120 updates `removed_lines`5121EE::Clusters::Agents::AuthorizationConfigScopes5122 .with_available_ci_access_fields5123 is expected not to include #<Clusters::Agents::ProjectAuthorization id: 6, project_id: 1299, agent_id: 6, config: {"access_as" => {"ci_job" => {}}}>5124 is expected not to include #<Clusters::Agents::ProjectAuthorization id: 5, project_id: 1299, agent_id: 5, config: {"access_as" => {"ci_user" => {}}}>5125 is expected not to include #<Clusters::Agents::ProjectAuthorization id: 4, project_id: 1299, agent_id: 4, config: {"access_as" => {"impersonate" => {}}}>5126 with :cluster_agents_ci_impersonation5127 is expected to include #<Clusters::Agents::ProjectAuthorization id: 6, project_id: 1299, agent_id: 6, config: {"access_as" => {"ci_job" => {}}}>, #<Clusters::Agents::ProjectAuthorization id: 5, project_id: 1299, agent_id: 5, config: {"access_as" => {"ci_user" => {}}}>, and #<Clusters::Agents::ProjectAuthorization id: 4, project_id: 1299, agent_id: 4, config: {"access_as" => {"impersonate" => {}}}>5128Verify/Browser-Performance.gitlab-ci.yml5129 the created pipeline5130 has no errors5131 on master5132 behaves like browser_performance job on tag or branch5133 by default5134 on another branch5135 behaves like browser_performance job on tag or branch5136 by default5137 on tag5138 behaves like browser_performance job on tag or branch5139 by default5140 on merge request5141 has no jobs5142Gitlab::Audit::Levels::Group5143 #apply5144 when audit_log_group_level feature enabled5145 finds all group and project events5146 when audit_log_group_level feature disabled5147 finds all group events5148EE::Gitlab::Auth::Ldap::Sync::AdminUsers5149 #update_permissions5150 adds user as admin5151 removes users that are not in the LDAP group5152 leaves admin users that do not have the LDAP provider5153 leaves admin users that have a different provider identity5154 when ldap connection fails5155 logs a debug message5156Geo::BlobUploadService5157 #initialize5158 initializes with valid attributes5159 #execute5160 works with valid attributes5161 errors with an invalid attributes5162 returns a file with valid attributes5163Clusters::DeploymentEntity5164 exposes id5165 exposes iid5166 exposes deployable name5167Types::VulnerabilityResponseType5168 is expected to eq "VulnerabilityResponse"5169 is expected to have graphql fields :body, :status_code, :reason_phrase, and :headers5170 checking field contents5171 evidence.response fields5172 checks the contents of the fields5173 evidence.supportingMessages[].response fields5174 checks the contents of the fields5175Ci::BuildPresenter5176 #callout_failure_message5177 returns a verbose failure reason5178 #retryable?5179 when the build exists in a pipeline for merge train5180 is expected to equal false5181 when the build does not exist in a pipeline for merge train5182 is expected to equal true5183registrations/groups/new5184 shows trial form and hides invite members5185 shows the progress bar5186 shows the trial during signup form5187 in trial onboarding5188 hides trial form5189 hides the progress bar5190 not showing trial during signup5191 shows the trial during signup form5192Users::BuildService5193 #execute5194 with an admin user5195 allowed params5196 with identity5197 sets all allowed attributes5198 with scim identity5199 passes allowed attributes to both scim and saml identity5200 marks the user as provisioned by group5201 smartcard authentication enabled5202 smartcard params5203 sets smartcard identity attributes5204 missing smartcard params5205 works as expected5206 user signup cap5207 when user signup cap is set5208 sets the user state to blocked_pending_approval5209 when user signup cap is not set5210 does not set the user state to blocked_pending_approval5211Security::TrainingProviders::KontraUrlFinder5212 #calculate_reactive_cache5213 when response is nil5214 returns nil5215 when response is not nil5216 returns content url hash5217 #full_url5218 returns full url path5219 when identifier contains CWE-{number} format5220 returns full url path with proper mapping key5221 when a language is provided5222 returns full url path with the language parameter mapped5223Ci::CompareLicenseScanningReportsCollapsedService5224 #execute5225 when base and head pipelines have test reports5226 exposes report with numbers of licenses by type5227 when license_check enabled5228 with denied licenses5229 exposes approval as required5230 without denied licenses5231 exposes approval as not required5232 when head pipeline has corrupted license scanning reports5233 exposes empty report5234 when the base pipeline is nil5235 exposes empty report5236 #serializer_class5237 is expected to equal LicenseCompliance::CollapsedComparerSerializer5238Autocomplete::ProjectInvitedGroupsFinder5239 #execute5240 raises ActiveRecord::RecordNotFound if the project does not exist5241 raises ActiveRecord::RecordNotFound if the user is not authorized to see the project5242 returns an empty relation without a project ID5243 with a project the user is authorized to see5244 returns groups invited to the project that the user can see5245ScimPaginatable5246 scim_paginate5247 paginates with offset and limit5248 translates a 1-based index to an offset of 05249 handles string input5250 defaults to offset of 05251Sidebars::Groups::Menus::PushRulesMenu5252 #render?5253 when user can change push rules5254 returns true5255 when user cannot change push rules5256 returns false5257Elastic::MetricsUpdateService5258 #execute5259 sets gauges5260Security::TrackSecureScansWorker5261 #perform5262 build is found5263 executes track service5264 build is not found5265 skips track service5266Mutations::Boards::EpicLists::Create5267 behaves like board lists create mutation5268 #ready?5269 raises an error if required arguments are missing5270 raises an error if too many required arguments are specified5271 #resolve5272 with proper permissions5273 backlog list5274 creates one and only one backlog5275 label list5276 creates a new label board list5277 when label not found5278 returns an error5279 without proper permissions5280 raises an error5281Types::SecurityOrchestration::SecurityPolicySourceType5282 returns all possible types5283 #resolve_type5284 when source is provided for namespace5285 is expected to eq Types::SecurityOrchestration::GroupSecurityPolicySourceType5286 when source is provided for project5287 is expected to eq Types::SecurityOrchestration::ProjectSecurityPolicySourceType5288layouts/header/help_dropdown/_cross_stage_fdm.html.haml5289 have_group?: true, show_cross_stage_fdm?: true, experiment_enabled?: true, variant_assigned: :candidate, examples_to_run: "renders the menu"5290 behaves like renders the menu5291 renders the menu item5292 have_group?: false, show_cross_stage_fdm?: true, experiment_enabled?: true, variant_assigned: :candidate, examples_to_run: "renders nothing"5293 behaves like renders nothing5294 does not render the menu item5295 have_group?: true, show_cross_stage_fdm?: false, experiment_enabled?: true, variant_assigned: :candidate, examples_to_run: "renders nothing"5296 behaves like renders nothing5297 does not render the menu item5298 have_group?: true, show_cross_stage_fdm?: true, experiment_enabled?: false, variant_assigned: :candidate, examples_to_run: "renders nothing"5299 behaves like renders nothing5300 does not render the menu item5301 have_group?: true, show_cross_stage_fdm?: true, experiment_enabled?: true, variant_assigned: :control, examples_to_run: "renders nothing"5302 behaves like renders nothing5303 does not render the menu item5304Approvals::ScanFindingWrappedRuleSet5305 #wrapped_rules5306 returns only one rule5307 with various orchestration_policy_idx5308 returns one rule for each orchestration_policy_idx5309 with unapproved rules5310 returns sorted based on approval5311Geo::ResetChecksumEvent5312 relationships5313 is expected to belong to project required: false5314 validations5315 is expected to validate that :project cannot be empty/falsy5316Geo::HasReplicator5317-- create_table(:dummy_models, {:force=>true})5318 -> 0.0052s5319 #replicator5320 adds replicator method to the model5321 instantiates a replicator into the model5322 when replicator is not defined in inheriting class5323 raises NotImplementedError5324-- drop_table(:dummy_models, {:force=>true})5325 -> 0.0028s5326Mutations::Boards::EpicBoards::EpicMoveList5327 arguments5328 is expected to have graphql arguments :boardId, :epicId, :fromListId, :toListId, :moveBeforeId, and :moveAfterId5329 #resolve5330 when user does not have permissions5331 does not allow the move5332 when everything is ok5333 moves the epic to another list5334Sidebars::Groups::Menus::EpicsMenu5335 Menu Items5336 when the user has access to epics5337 has all the menus5338 when the user does not have access5339 is expected to be empty5340 behaves like pill_count formatted results5341 returns all digits for count value under 10005342 returns truncated digits for count value over 10005343 returns truncated digits for count value over 100005344 returns truncated digits for count value over 1000005345Geo::SecondaryUsageDataCronWorker5346 uses a cronjob queue5347 does not run for primary nodes5348 calls SecondaryUsageData update metrics when it obtains the lease5349 does not update metrics if it does not obtain the lease5350Geo::NodeCreateService5351 #execute5352 creates a new node with valid params5353 does not create a node with invalid params5354 returns true when creation succeeds5355 returns false when creation fails5356 parses the namespace_ids when node have namespace restrictions5357EE::ProtectedRef5358 for protected branches5359 deletes all related access levels5360Resolvers::BoardListsResolver5361 #resolve5362 when project boards5363 behaves like group and project board lists resolver5364 returns a list of board lists5365 when group boards5366 behaves like group and project board lists resolver5367 returns a list of board lists5368Projects::Licenses::CreatePolicyService5369 #execute5370 when creating a policy for a software license by the software license database id5371 creates a new policy5372 when creating a policy for a software license by the software license SPDX identifier5373 creates a new policy5374 when the software license is not specified5375 returns an error5376 when the classification is invalid5377 returns an error5378Gitlab::Usage::Metrics::Instrumentations::CountExternalStatusChecksMetric5379 behaves like a correct instrumented metric value and query5380 behaves like a correct instrumented metric value5381 has correct value5382 behaves like a correct instrumented metric query5383 has correct generate query5384Geo::PipelineReplicator5385 .model5386 is a pipeline5387 #log_geo_pipeline_ref_created_event5388 without Geo enabled5389 does not publish an event5390 on a Geo primary5391 creates a Geo event5392 on a Geo secondary5393 does not publish an event5394 #consume_event_pipeline_ref_created5395 ensures a pipeline ref exists5396Gitlab::Analytics::CycleAnalytics::Summary::LeadTime5397 #links5398 returns docs link and group dashboard link5399 for project stage5400 returns project dashboard link5401MergeRequests::HandleAssigneesChangeService5402 #execute5403 schedules for analytics metric update5404 when code_review_analytics is not available5405 does not schedule for analytics metric update5406Geo::RepositoriesChangedEventStore5407 #create!5408 behaves like a Geo event store5409 when running on a secondary node5410 does not create an event5411 when running on a primary node5412 does not create an event if there are no secondary nodes5413 creates an event5414 when file subject is not on local store5415 creates an event (PENDING: No file subject defined, skipping)5416Security::Ingestion::MarkAsResolvedService5417 #execute5418 marks the missing vulnerabilities as resolved on default branch except the generic ones5419Types::AlertManagement::PayloadAlertFieldPathSegmentType5420 is expected to eq "PayloadAlertFieldPathSegment"5421 .coerce_input5422 with string5423 is expected to eq "string"5424 with integer5425 is expected to eq 165426 with non-string or integer5427 is expected to eq nil5428 .coerce_result5429 with string5430 is expected to eq "string"5431 with integer5432 is expected to eq 165433 with non-string or integer5434 is expected to eq "[1, 2, 3]"5435PreviewMarkdownService5436 preview epic text with quick action5437 explains quick actions effect5438EE::IncidentManagement::ProjectIncidentManagementSetting5439 Validations5440 validate SLA settings5441 #sla_timer_minutes5442 sla_timer is disabled5443 is expected not to validate that :sla_timer_minutes cannot be empty/falsy5444 sla_timer is enabled5445 is expected to validate that :sla_timer_minutes looks like a number greater than or equal to 155446 is expected to validate that :sla_timer_minutes looks like a number less than or equal to 5259495447BulkImports::Common::Pipelines::BoardsPipeline5448 #run5449 imports group boards into destination group and removes tmpdir5450projects/show5451 when free plan limit alert is present5452 renders the alert partial5453Boards::EpicBoardsFinder5454 #execute5455 finds all epic boards in the group ordered by case-insensitive name5456 when include_ancestor_groups parameter is set5457 finds all epic boards in the group or ancestor groups5458 when ID parameter is set5459 finds epic board by ID5460BulkImports::Common::Pipelines::WikiPipeline5461 #run5462 behaves like wiki pipeline imports a wiki for an entity5463 #run5464 when wiki exists5465 imports new wiki into destination project5466 when wiki does not exist5467 does not import wiki5468ProjectSetting5469 is expected to belong to push_rule required: false5470 .has_vulnerabilities5471 is expected to contain exactly #<ProjectSetting project_id: 1338, created_at: "2022-06-28 10:44:23.307156559 +0000", updated_at: "20...acy_open_source_license_available: true, target_platforms: [], enforce_auth_checks_on_uploads: true>5472Integrations::JiraSerializers::IssueSerializer5473 #represent5474 when an empty array is being serialized5475 returns an empty array5476 when multiple objects are being serialized5477 serializes the array of jira issues5478Geo::ContainerRepositorySync5479 #execute5480 single manifest5481 determines list of tags to sync and to remove correctly5482 when primary repository has no tags5483 removes secondary tags and does not fail5484 manifest list5485 pushes the correct blobs and manifests5486 oci manifest list5487 pushes the correct blobs and manifests5488Types::IncidentManagement::OncallRotationType5489 is expected to eq "IncidentManagementOncallRotation"5490 is expected to require graphql authorizations :read_incident_management_oncall_schedule5491 exposes the expected fields5492 returns enough records to cover 2 weeks of hour-long shifts5493Gitlab::Analytics::CycleAnalytics::Aggregated::DataForDurationChart5494 calculates the daily average stage duration5495BroadcastMessage5496 .current5497 without Geo5498 caches the output of the query for two weeks5499 with Geo5500 on the primary5501 caches the output of the query for two weeks5502 on a secondary5503 caches the output for a short time5504GitlabSubscriptions::ExtendReactivateTrialService5505 #execute5506 trial is extended/reactivated successfully5507 returns success: true5508 error while extending/reactivating the trial5509 returns success: false with errors5510Sidebars::Projects::Menus::CiCdMenu5511 Test Cases5512 when licensed feature quality_management is not enabled5513 does not include test cases menu item5514 when licensed feature quality_management is enabled5515 when user can read issues5516 includes test cases menu item5517 when user cannot read issues5518 does not include test cases menu item5519Resolvers::NetworkPolicyResolver5520 is expected to have nullable GraphQL type NetworkPolicy5521 #resolve5522 when environment_id is not provided5523 returns empty array5524 when environment_id is provided5525 returns empty array5526Session initializer for GitLab EE5527 config#session_store5528 no database connection5529 behaves like normal session cookie5530 returns the regular cookie without a suffix5531 Geo is disabled5532 behaves like normal session cookie5533 returns the regular cookie without a suffix5534 current node is a Geo primary5535 behaves like normal session cookie5536 returns the regular cookie without a suffix5537 current node is a Geo secondary5538 returns a geo specific cookie5539TwoFactor::DestroyService5540 when disabling two-factor authentication succeeds5541 creates an audit event5542 when disabling two-factor authentication fails5543 does not create an audit event5544Gitlab::Ci::Jwt5545 #payload5546 environment_protected5547 is false when environment is not protected5548 is true when environment is protected5549TestReportsComparerSerializer5550 #to_json5551 when head and base reports include two test suites5552 when the status of head report is success5553 matches the schema5554 when the status of head report is failed5555 matches the schema5556 when the status of head report is resolved5557 matches the schema5558Gitlab::ItemsCollection5559 responds to each5560 #page5561 returns paginated collection5562 #to_ary5563 returns Array5564BulkImports::Groups::Stage5565 #pipelines5566 includes EE pipelines5567 overrides the CE stage value for the EntityFinisher Pipeline5568EE::Milestoneable5569 #milestone_available?5570 for epics5571 returns true5572 #supports_milestone?5573 for epics5574 returns false5575Gitlab::Verify::LfsObjects5576 includes LFS objects in object storage5577Types::Boards::EpicListType5578 is expected to eq "EpicList"5579 has specific fields5580Gitlab::Ci::Reports::LicenseScanning::ReportsComparer5581 #new_licenses5582 is expected to contain exactly "Apache 2.0"5583 #existing_licenses5584 is expected to contain exactly "MIT" and "BSD"5585 #removed_licenses5586 is expected to contain exactly "WTFPL"5587Gitlab::GlRepository5588 .parse5589 parses a group wiki gl_repository5590Types::NetworkPolicyType5591 is expected to eq "NetworkPolicy"5592 has the expected fields5593Keys::LastUsedService5594 does not run on read-only GitLab instances5595Gitlab::VisibilityLevel5596 .levels_for_user5597 returns all levels for an auditor5598Types::VulnerabilityDetails::ListType5599 is expected to have graphql fields :name, :description, :fieldName, and :items5600Gitlab::Favicon5601 .main5602 has green favicon for development5603Analytics::CycleAnalytics::RuntimeLimiter5604 #elapsed_time5605 reports monotonic elapsed time since instantiation5606 #over_time?5607 returns true if over time5608Gitlab::Usage::Metrics::Instrumentations::AdvancedSearch::DistributionMetric5609 behaves like a correct instrumented metric value5610 has correct value5611 elasticsearch_indexing is enabled5612 behaves like a correct instrumented metric value5613 has correct value5614Types::DoraMetricTypeEnum5615 includes a value for each DORA metric type5616Types::DoraMetricBucketingIntervalEnum5617 includes a value for each DORA bucketing interval type5618Representation::VulnerabilityScannerEntry5619 .declarative_policy_class5620 is expected to eq "Vulnerabilities::ScannerPolicy"5621Types::VulnerabilityGradeEnum5622 exposes all vulnerability grades5623Knapsack report was generated. Preview:5624{5625 "ee/spec/models/epic_spec.rb": 223.0894657739991,5626 "ee/spec/models/license_spec.rb": 134.59941276000063,5627 "ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb": 98.33560958400085,5628 "ee/spec/services/vulnerabilities/revert_to_detected_service_spec.rb": 107.48636508699929,5629 "ee/spec/tasks/gitlab/elastic_rake_spec.rb": 99.81453943900124,5630 "ee/spec/models/geo_node_spec.rb": 45.69953932000135,5631 "ee/spec/lib/gitlab/custom_file_templates_spec.rb": 45.44439126799989,5632 "ee/spec/services/ci/compare_security_reports_service_spec.rb": 37.0200652099993,5633 "ee/spec/models/concerns/elastic/project_spec.rb": 41.84946797400153,5634 "ee/spec/models/dast/profile_schedule_spec.rb": 32.05564303100073,5635 "ee/spec/models/geo/upload_registry_spec.rb": 35.70990714800064,5636 "ee/spec/models/geo/design_registry_spec.rb": 24.246869571999923,5637 "ee/spec/models/ee/ci/pipeline_artifact_spec.rb": 23.191130510998846,5638 "ee/spec/services/dashboard/projects/list_service_spec.rb": 27.756840996000392,5639 "ee/spec/policies/requirements_management/requirement_policy_spec.rb": 17.049736574001145,5640 "ee/spec/models/group_member_spec.rb": 27.96320586299953,5641 "ee/spec/replicators/geo/lfs_object_replicator_spec.rb": 6.195220200001131,5642 "ee/spec/services/requirements_management/update_requirement_service_spec.rb": 17.091516149999734,5643 "ee/spec/models/productivity_analytics_spec.rb": 16.251318034999713,5644 "ee/spec/services/ee/ci/job_artifacts/destroy_all_expired_service_spec.rb": 15.126468531998398,5645 "ee/spec/helpers/ee/namespaces_helper_spec.rb": 8.676734011000008,5646 "ee/spec/services/projects/transfer_service_spec.rb": 17.240569282999786,5647 "ee/spec/lib/ee/gitlab/import_export/group/legacy_tree_saver_spec.rb": 10.85757585400097,5648 "ee/spec/services/epics/epic_links/update_service_spec.rb": 14.672496793000391,5649 "ee/spec/services/requirements_management/import_csv_service_spec.rb": 11.29871550399912,5650 "ee/spec/services/analytics/cycle_analytics/aggregator_service_spec.rb": 7.834549065999454,5651 "ee/spec/models/dast/profile_spec.rb": 6.64832633900005,5652 "ee/spec/finders/dast_site_profiles_finder_spec.rb": 9.285923731000366,5653 "ee/spec/models/vulnerabilities/identifier_spec.rb": 5.449917482999808,5654 "ee/spec/lib/gitlab/ci/parsers/security/formatters/dependency_list_spec.rb": 9.183463771998504,5655 "ee/spec/serializers/vulnerability_note_entity_spec.rb": 9.554136891998496,5656 "ee/spec/services/merge_trains/refresh_service_spec.rb": 8.716339395999967,5657 "ee/spec/services/security/security_orchestration_policies/validate_policy_service_spec.rb": 2.874792475000504,5658 "ee/spec/finders/compliance_management/merge_requests/compliance_violations_finder_spec.rb": 6.329130834999887,5659 "ee/spec/services/ci/subscribe_bridge_service_spec.rb": 8.42538839900044,5660 "ee/spec/graphql/mutations/issues/set_iteration_spec.rb": 9.609441354999944,5661 "ee/spec/models/ee/event_spec.rb": 6.191679409999779,5662 "ee/spec/workers/geo/project_sync_worker_spec.rb": 6.720793552000032,5663 "ee/spec/services/dashboard/projects/create_service_spec.rb": 6.643671849000384,5664 "ee/spec/services/wiki_pages/create_service_spec.rb": 4.771595120999336,5665 "ee/spec/services/security/ingestion/tasks/ingest_finding_identifiers_spec.rb": 7.571301604999462,5666 "ee/spec/services/security/merge_reports_service_spec.rb": 7.681549892999101,5667 "ee/spec/lib/gitlab/code_owners/entry_spec.rb": 2.9905961519998527,5668 "ee/spec/services/merge_requests/remove_approval_service_spec.rb": 5.348045505999835,5669 "ee/spec/services/todos/destroy/confidential_epic_service_spec.rb": 5.7589390899993305,5670 "ee/spec/services/ee/system_notes/issuables_service_spec.rb": 2.99106581200067,5671 "ee/spec/workers/admin_emails_worker_spec.rb": 6.6848756360013795,5672 "ee/spec/graphql/mutations/incident_management/escalation_policy/create_spec.rb": 3.344489473000067,5673 "ee/spec/graphql/mutations/dast_site_tokens/create_spec.rb": 4.4897008829993865,5674 "ee/spec/models/deployment_spec.rb": 3.794768760999432,5675 "ee/spec/graphql/mutations/merge_requests/set_assignees_spec.rb": 3.888160730999516,5676 "ee/spec/models/vulnerabilities/external_issue_link_spec.rb": 3.4224094040000637,5677 "ee/spec/presenters/vulnerability_presenter_spec.rb": 4.211038534000181,5678 "ee/spec/workers/elastic_delete_project_worker_spec.rb": 5.469200813000498,5679 "ee/spec/services/ee/vulnerability_feedback_module/update_service_spec.rb": 4.544038707999789,5680 "ee/spec/graphql/resolvers/geo/terraform_state_version_registries_resolver_spec.rb": 3.1188683480013424,5681 "ee/spec/models/groups/repository_storage_move_spec.rb": 1.1555779490008717,5682 "ee/spec/models/security/training_spec.rb": 4.335133259999566,5683 "ee/spec/services/vulnerability_issue_links/delete_service_spec.rb": 3.20439537799939,5684 "ee/spec/services/security/ingestion/tasks/hooks_execution_spec.rb": 4.028689085000224,5685 "ee/spec/views/shared/billings/_eoa_bronze_plan_banner.html.haml_spec.rb": 2.8285213810013374,5686 "ee/spec/finders/ee/group_members_finder_spec.rb": 2.995242971999687,5687 "ee/spec/models/allowed_email_domain_spec.rb": 1.2110883029999968,5688 "ee/spec/models/incident_management/pending_escalations/issue_spec.rb": 1.460676054999567,5689 "ee/spec/finders/boards/milestones_finder_spec.rb": 3.870799262998844,5690 "ee/spec/lib/ee/gitlab/ci/config_spec.rb": 2.9795536330002506,5691 "ee/spec/models/elastic/index_setting_spec.rb": 1.0226602339989768,5692 "ee/spec/services/geo/move_repository_service_spec.rb": 2.5448428920008155,5693 "ee/spec/serializers/ee/deployment_entity_spec.rb": 3.6309615900008794,5694 "ee/spec/services/analytics/cycle_analytics/value_streams/create_service_spec.rb": 2.045388119000563,5695 "ee/spec/lib/gitlab/data_builder/vulnerability_spec.rb": 2.561361860998659,5696 "ee/spec/helpers/ee/personal_access_tokens_helper_spec.rb": 0.991551797998909,5697 "ee/spec/services/app_sec/dast/site_validations/revoke_service_spec.rb": 1.3954787120001129,5698 "ee/spec/services/security/ingestion/ingest_report_slice_service_spec.rb": 3.090823442000328,5699 "ee/spec/lib/ee/gitlab/scim/attribute_transform_spec.rb": 0.5579934870002035,5700 "ee/spec/models/ee/alert_management/alert_spec.rb": 1.5880719809993025,5701 "ee/spec/services/analytics/cycle_analytics/stages/list_service_spec.rb": 1.8042654159999074,5702 "ee/spec/graphql/ee/types/mutation_type_spec.rb": 0.36943540799984476,5703 "ee/spec/models/project_team_spec.rb": 2.7638995180004713,5704 "ee/spec/workers/active_user_count_threshold_worker_spec.rb": 0.8399123249982949,5705 "ee/spec/lib/gitlab/insights/reducers/base_reducer_spec.rb": 1.3750453150005342,5706 "ee/spec/services/push_rules/create_or_update_service_spec.rb": 0.8026671999996324,5707 "ee/spec/models/ee/namespace/root_storage_statistics_spec.rb": 1.2408540899996297,5708 "ee/spec/workers/repository_import_worker_spec.rb": 1.5690567729998293,5709 "ee/spec/workers/geo/batch/project_registry_scheduler_worker_spec.rb": 1.887266986999748,5710 "ee/spec/lib/gitlab/incident_management_spec.rb": 0.5824683139999252,5711 "ee/spec/finders/approval_rules/group_finder_spec.rb": 1.3391039889993408,5712 "ee/spec/services/ci/runners/reset_registration_token_service_spec.rb": 1.420072128999891,5713 "ee/spec/graphql/resolvers/geo/pages_deployment_registries_resolver_spec.rb": 2.0732603859996743,5714 "ee/spec/services/ee/merge_request_metrics_service_spec.rb": 2.625066763999712,5715 "ee/spec/models/concerns/ee/clusters/agents/authorization_config_scopes_spec.rb": 2.9615545150008984,5716 "ee/spec/lib/gitlab/ci/templates/Verify/browser_performance_testing_gitlab_ci_yaml_spec.rb": 2.008910622998883,5717 "ee/spec/lib/gitlab/audit/levels/group_spec.rb": 1.7816475289982918,5718 "ee/spec/lib/ee/gitlab/auth/ldap/sync/admin_users_spec.rb": 1.4311829380003473,5719 "ee/spec/services/geo/blob_upload_service_spec.rb": 1.5747661429995787,5720 "ee/spec/serializers/clusters/deployment_entity_spec.rb": 2.2202931190004165,5721 "ee/spec/graphql/types/vulnerability_response_type_spec.rb": 1.9069480649995967,5722 "ee/spec/presenters/ci/build_presenter_spec.rb": 0.7016077799999039,5723 "ee/spec/views/registrations/groups/new.html.haml_spec.rb": 0.90098776800005,5724 "ee/spec/services/ee/users/build_service_spec.rb": 0.825043115999506,5725 "ee/spec/finders/security/training_providers/kontra_url_finder_spec.rb": 1.0357579530009389,5726 "ee/spec/services/ci/compare_license_scanning_reports_collapsed_service_spec.rb": 1.519092078999165,5727 "ee/spec/finders/autocomplete/project_invited_groups_finder_spec.rb": 0.9505387829995016,5728 "ee/spec/models/concerns/scim_paginatable_spec.rb": 0.1296547459987778,5729 "ee/spec/lib/sidebars/groups/menus/push_rules_menu_spec.rb": 0.36094779899940477,5730 "ee/spec/services/elastic/metrics_update_service_spec.rb": 0.5865579239998624,5731 "ee/spec/workers/security/track_secure_scans_worker_spec.rb": 0.7383570170004532,5732 "ee/spec/graphql/mutations/boards/epic_lists/create_spec.rb": 1.0922572269992088,5733 "ee/spec/graphql/types/security_orchestration/security_policy_source_type_spec.rb": 0.25664409099954355,5734 "ee/spec/views/layouts/header/help_dropdown/_cross_stage_fdm.html.haml_spec.rb": 0.9321660549994704,5735 "ee/spec/models/approvals/scan_finding_wrapped_rule_set_spec.rb": 1.3667377959991427,5736 "ee/spec/models/geo/reset_checksum_event_spec.rb": 0.2235746750011458,5737 "ee/spec/models/concerns/geo/has_replicator_spec.rb": 0.5361254489998828,5738 "ee/spec/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb": 1.2979818340008933,5739 "ee/spec/lib/sidebars/groups/menus/epics_menu_spec.rb": 0.7462622160001047,5740 "ee/spec/workers/geo/secondary_usage_data_cron_worker_spec.rb": 0.26499395099926915,5741 "ee/spec/services/geo/node_create_service_spec.rb": 1.269641536000563,5742 "ee/spec/models/ee/protected_ref_spec.rb": 1.6992437579992838,5743 "ee/spec/graphql/ee/resolvers/board_lists_resolver_spec.rb": 0.9632714719991782,5744 "ee/spec/services/projects/licenses/create_policy_service_spec.rb": 0.689106673000424,5745 "ee/spec/lib/gitlab/usage/metrics/instrumentations/count_external_status_checks_metric_spec.rb": 1.163697478999893,5746 "ee/spec/replicators/geo/pipeline_replicator_spec.rb": 0.7004362009993201,5747 "ee/spec/lib/gitlab/analytics/cycle_analytics/summary/lead_time_spec.rb": 0.1358165250003367,5748 "ee/spec/services/ee/merge_requests/handle_assignees_change_service_spec.rb": 0.8948910090002755,5749 "ee/spec/services/geo/repositories_changed_event_store_spec.rb": 0.7716189429993392,5750 "ee/spec/services/security/ingestion/mark_as_resolved_service_spec.rb": 0.7449273270012782,5751 "ee/spec/graphql/types/alert_management/payload_alert_field_path_segment_type_spec.rb": 0.20300142700034485,5752 "ee/spec/services/ee/preview_markdown_service_spec.rb": 0.503177083999617,5753 "ee/spec/models/ee/incident_management/project_incident_management_setting_spec.rb": 0.6645285649992729,5754 "ee/spec/lib/bulk_imports/common/pipelines/boards_pipeline_spec.rb": 0.9125792670001829,5755 "ee/spec/views/projects/show.html.haml_spec.rb": 1.1956113549986185,5756 "ee/spec/finders/boards/epic_boards_finder_spec.rb": 0.5691361749995849,5757 "ee/spec/lib/bulk_imports/common/pipelines/wiki_pipeline_spec.rb": 0.5953947530015284,5758 "ee/spec/models/ee/project_setting_spec.rb": 0.5593443069992645,5759 "ee/spec/serializers/integrations/jira_serializers/issue_serializer_spec.rb": 0.4433200500006933,5760 "ee/spec/services/geo/container_repository_sync_spec.rb": 0.5788356249995559,5761 "ee/spec/graphql/types/incident_management/oncall_rotation_type_spec.rb": 0.13486471500073094,5762 "ee/spec/lib/gitlab/analytics/cycle_analytics/aggregated/data_for_duration_chart_spec.rb": 0.5439256290010235,5763 "ee/spec/models/broadcast_message_spec.rb": 0.3973775359991123,5764 "ee/spec/services/gitlab_subscriptions/extend_reactivate_trial_service_spec.rb": 0.23035564400015573,5765 "ee/spec/lib/ee/sidebars/projects/menus/ci_cd_menu_spec.rb": 0.28594220699960715,5766 "ee/spec/graphql/resolvers/network_policy_resolver_spec.rb": 0.4356641510003101,5767 "ee/spec/initializers/session_store_spec.rb": 0.2783224290014914,5768 "ee/spec/services/ee/two_factor/destroy_service_spec.rb": 0.2794895390015881,5769 "ee/spec/lib/ee/gitlab/ci/jwt_spec.rb": 0.16789225100001204,5770 "ee/spec/serializers/test_reports_comparer_serializer_spec.rb": 0.13026271499984432,5771 "ee/spec/lib/gitlab/items_collection_spec.rb": 0.17376963999959116,5772 "ee/spec/lib/ee/bulk_imports/groups/stage_spec.rb": 0.13621695399888267,5773 "ee/spec/models/concerns/ee/milestoneable_spec.rb": 0.10140274900004442,5774 "ee/spec/lib/ee/gitlab/verify/lfs_objects_spec.rb": 0.14121660399905522,5775 "ee/spec/graphql/types/boards/epic_list_type_spec.rb": 0.08955152999988059,5776 "ee/spec/lib/gitlab/ci/reports/license_scanning/reports_comparer_spec.rb": 0.11880117600048834,5777 "ee/spec/lib/gitlab/gl_repository_spec.rb": 0.22950995399878593,5778 "ee/spec/graphql/types/network_policy_type_spec.rb": 0.11052205800115189,5779 "ee/spec/services/keys/last_used_service_spec.rb": 0.21597589500015602,5780 "ee/spec/lib/gitlab/visibility_level_spec.rb": 0.10664865800026746,5781 "ee/spec/graphql/types/vulnerability_details/list_type_spec.rb": 0.0717054119995737,5782 "ee/spec/lib/gitlab/favicon_spec.rb": 0.14230118399973435,5783 "ee/spec/models/analytics/cycle_analytics/runtime_limiter_spec.rb": 0.13339208500110544,5784 "ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/distribution_metric_spec.rb": 0.19271850800032553,5785 "ee/spec/graphql/types/dora_metric_type_enum_spec.rb": 0.1229334759991616,5786 "ee/spec/graphql/types/dora_metric_bucketing_interval_enum_spec.rb": 0.11089778800123895,5787 "ee/spec/graphql/representation/vulnerability_scanner_entry_spec.rb": 0.08781939999971655,5788 "ee/spec/graphql/types/vulnerability_grade_enum_spec.rb": 0.087774990000980325789}5790Knapsack global time execution for tests: 23m 59s5791Pending: (Failures listed here are expected and do not affect your suite's status)5792 1) Epic modules 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 blank5793 # No reason given5794 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:495795 2) Epic modules 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 blank5796 # No reason given5797 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:575798 3) WikiPages::CreateService behaves like WikiPages::CreateService#execute the new page is at the top level creates appropriate events5799 # group wiki support5800 Failure/Error: expect { service.execute }.to change { Event.count }.by 15801 expected `Event.count` to have changed by 1, but was changed by 05802 Shared Example Group: "correct event created" called from ./spec/support/shared_examples/services/wiki_pages/create_service_shared_examples.rb:595803 Shared Example Group: "WikiPages::CreateService#execute" called from ./ee/spec/services/wiki_pages/create_service_spec.rb:405804 # ./spec/support/shared_examples/services/wiki_pages/create_service_shared_examples.rb:47:in `block (3 levels) in <top (required)>'5805 # ./spec/spec_helper.rb:405:in `block (3 levels) in <top (required)>'5806 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'5807 # ./spec/spec_helper.rb:396:in `block (2 levels) in <top (required)>'5808 # ./spec/spec_helper.rb:392:in `block (3 levels) in <top (required)>'5809 # ./lib/gitlab/application_context.rb:52:in `with_raw_context'5810 # ./spec/spec_helper.rb:392:in `block (2 levels) in <top (required)>'5811 # ./spec/spec_helper.rb:261:in `block (2 levels) in <top (required)>'5812 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'5813 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'5814 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'5815 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'5816 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'5817 4) WikiPages::CreateService behaves like WikiPages::CreateService#execute the new page is in a subsection creates appropriate events5818 # group wiki support5819 Failure/Error: expect { service.execute }.to change { Event.count }.by 15820 expected `Event.count` to have changed by 1, but was changed by 05821 Shared Example Group: "correct event created" called from ./spec/support/shared_examples/services/wiki_pages/create_service_shared_examples.rb:655822 Shared Example Group: "WikiPages::CreateService#execute" called from ./ee/spec/services/wiki_pages/create_service_spec.rb:405823 # ./spec/support/shared_examples/services/wiki_pages/create_service_shared_examples.rb:47:in `block (3 levels) in <top (required)>'5824 # ./spec/spec_helper.rb:405:in `block (3 levels) in <top (required)>'5825 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'5826 # ./spec/spec_helper.rb:396:in `block (2 levels) in <top (required)>'5827 # ./spec/spec_helper.rb:392:in `block (3 levels) in <top (required)>'5828 # ./lib/gitlab/application_context.rb:52:in `with_raw_context'5829 # ./spec/spec_helper.rb:392:in `block (2 levels) in <top (required)>'5830 # ./spec/spec_helper.rb:261:in `block (2 levels) in <top (required)>'5831 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'5832 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'5833 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'5834 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'5835 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'5836 5) Geo::RepositoriesChangedEventStore#create! behaves like a Geo event store when running on a primary node when file subject is not on local store creates an event5837 # No file subject defined, skipping5838 # ./ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb:365839Finished in 24 minutes 2 seconds (files took 1 minute 6.28 seconds to load)58402474 examples, 0 failures, 5 pending5841RSpec exited with 0.5842No examples to retry, congrats!5844Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-10 due to policy5845Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-10 due to policy5847Uploading artifacts...5848coverage/: found 5 matching files and directories 5849crystalball/: found 2 matching files and directories 5850deprecations/: found 6 matching files and directories 5851knapsack/: found 3 matching files and directories 5852rspec/: found 8 matching files and directories 5853WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 5854log/*.log: found 19 matching files and directories 5855WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2649391929/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com5856WARNING: Retrying... context=artifacts-uploader error=request redirected5857Uploading artifacts as "archive" to coordinator... 201 Created id=2649391929 responseStatus=201 Created token=sZyYDTod5858Uploading artifacts...5859rspec/junit_rspec.xml: found 1 matching files and directories 5860WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2649391929/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com5861WARNING: Retrying... context=artifacts-uploader error=request redirected5862Uploading artifacts as "junit" to coordinator... 201 Created id=2649391929 responseStatus=201 Created token=sZyYDTod5864Job succeeded