rspec-ee unit pg12 8/12
Passed Started
by
@mikolaj_wawrzyniak

Mikołaj Wawrzyniak
1Running with gitlab-runner 14.2.0-rc1 (0ac3a46e)2 on green-2.private.runners-manager.gitlab.com/gitlab.com/gitlab-org GaSD-S1F3 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:14566088fc000f09db0a67b267f7de82a1a1a0d45d6a0a023ab580b084be62a8 for postgres:12 with digest postgres@sha256:1cb8f7fc2e6745ef577640de1c9fde04ff9498a7e0d067f1b8e6890ad4ba5073 ...10Starting service redis:5.0-alpine ...11Pulling docker image redis:5.0-alpine ...12Using docker image sha256:add8cf2f542a4bb4070fad4dd7bb73933a804a0ff57dd611f7be76ffeb4a8ae2 for redis:5.0-alpine with digest redis@sha256:5dbc2c85e636c0aea692972a2eac934ba4f04e9bb6578bc47aa35d28482b2f60 ...13Starting service elasticsearch:7.11.1 ...14Pulling docker image elasticsearch:7.11.1 ...15Using docker image sha256:bc3d45eba361de2bde57b25ada32b4de5dd5f5cb12cd3bd049212e90bdfd62a9 for elasticsearch:7.11.1 with digest elasticsearch@sha256:3a219f148b596e25c1b16bda46e1ca07db46826c0e1cde003c2d2f93f33d18e4 ...16Waiting for services to be up and running...17Authenticating with credentials from job payload (GitLab Registry)18Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...19Using docker image sha256:f3af4045688c7d321821552b2274c91037e2b5727ac63ee5f72ad30f5962c48e for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:72fa33b8058851ded8b72376ab249c48f98d1a176ad4bc8d517ca4ab62f0f7a0 ...21Running on runner-gasd-s1f-project-278964-concurrent-0 via runner-gasd-s1f-private-1629282410-11da218d...23$ eval "$CI_PRE_CLONE_SCRIPT"24Downloading archived master...25Connecting to storage.googleapis.com (172.217.193.128:443)26saving to '/tmp/gitlab.tar.gz'27gitlab.tar.gz 35% |*********** | 124M 0:00:01 ETA28gitlab.tar.gz 100% |********************************| 347M 0:00:00 ETA29'/tmp/gitlab.tar.gz' saved30Extracting tarball into /builds/gitlab-org/gitlab...31Fetching changes with git depth set to 20...32Reinitialized existing Git repository in /builds/gitlab-org/gitlab/.git/33Created fresh repository.34remote: Enumerating objects: 193, done. 35remote: Counting objects: 100% (141/141), done. 36remote: Compressing objects: 100% (55/55), done. 37remote: Total 91 (delta 78), reused 47 (delta 36), pack-reused 0 39 * [new ref] 87ccd58290a6f21a5fb92623e3970840943714e8 -> refs/pipelines/35508967240 * [new branch] master -> origin/master41Checking out 87ccd582 as master...42Skipping Git submodules setup44Checking cache for ruby-gems-v1-4...45Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-v1-4 46Successfully extracted cache47Checking cache for gitaly-ruby-gems-v1-4...48Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/gitaly-ruby-gems-v1-4 49Successfully extracted cache51Downloading artifacts for compile-test-assets (1512821856)...52Downloading artifacts from coordinator... ok id=1512821856 responseStatus=200 OK token=yv2CxeL353Downloading artifacts for retrieve-tests-metadata (1512821865)...54Downloading artifacts from coordinator... ok id=1512821865 responseStatus=200 OK token=UxJ4xnY955Downloading artifacts for setup-test-env (1512821862)...56Downloading artifacts from coordinator... ok id=1512821862 responseStatus=200 OK token=r5iGa7Zz58Using docker image sha256:f3af4045688c7d321821552b2274c91037e2b5727ac63ee5f72ad30f5962c48e for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:72fa33b8058851ded8b72376ab249c48f98d1a176ad4bc8d517ca4ab62f0f7a0 ...59$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb60$ export GOPATH=$CI_PROJECT_DIR/.go61$ mkdir -p $GOPATH62$ source scripts/utils.sh63$ source scripts/prepare_build.sh64Bundler version 2.1.465production:development66Settings are listed in order of priority. The top value will be used.67path68Set for the current user (/root/.bundle/config): "vendor"69clean70Set for the current user (/root/.bundle/config): "true"71without72Set via BUNDLE_WITHOUT: [:production, :development]73install_flags74Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"75$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check76The Gemfile's dependencies are satisfied77==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 2 seconds.78$ bundle pristine pg79Installing pg 1.2.3 with native extensions80==> 'bundle pristine pg' succeeded in 10 seconds.81$ setup_db_user_only82CREATE ROLE83GRANT84==> 'setup_db_user_only' succeeded in 0 seconds.85$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee86Dropped database 'gitlabhq_test'87Created database 'gitlabhq_test'88DEPRECATION WARNING: Using `bin/rails db:structure:load` is deprecated and will be removed in Rails 6.2. Configure the format using `config.active_record.schema_format = :sql` to use `structure.sql` and run `bin/rails db:schema:load` instead. (called from load at /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/bin/rake:23)89Dropped database 'gitlabhq_geo_test'90Created database 'gitlabhq_geo_test'91==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 31 seconds.92$ run_timed_command "gem install knapsack --no-document"93$ gem install knapsack --no-document94Successfully installed knapsack-4.0.0951 gem installed96==> 'gem install knapsack --no-document' succeeded in 1 seconds.97$ run_timed_command "scripts/gitaly-test-spawn"98$ scripts/gitaly-test-spawn99Settings are listed in order of priority. The top value will be used.100jobs101Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config): 4102retry103Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config): 3104path105Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config): "/builds/gitlab-org/gitlab/vendor/gitaly-ruby"106deployment107Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config): true108without109Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config): [:production, :development]110Set via BUNDLE_WITHOUT: [:production, :development]111app_config112Set via BUNDLE_APP_CONFIG: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle"113gemfile114Set via BUNDLE_GEMFILE: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/Gemfile"115Don't run Bundler as root. Bundler can ask for sudo if it is needed, and116installing your bundle as root will break this application for all non-root117users on this machine.118Using abstract_type 0.0.7119Using concurrent-ruby 1.1.9120Using i18n 1.8.10121Using minitest 5.14.4122Using tzinfo 2.0.4123Using zeitwerk 2.4.2124Using activesupport 6.1.3.2125Using builder 3.2.4126Using erubi 1.10.0127Using mini_portile2 2.5.1128Using racc 1.5.2129Using nokogiri 1.11.5 (x86_64-linux)130Using rails-dom-testing 2.0.3131Using crass 1.0.6132Using loofah 2.10.0133Using rails-html-sanitizer 1.3.0134Using actionview 6.1.3.2135Using rack 2.2.3136Using rack-test 1.1.0137Using actionpack 6.1.3.2138Using ice_nine 0.11.2139Using thread_safe 0.3.6140Using memoizable 0.4.2141Using adamantium 0.2.0142Using public_suffix 4.0.6143Using addressable 2.7.0144Using ast 2.4.1145Using binding_ninja 0.2.3146Using bundler 2.1.4147Using charlock_holmes 0.7.7148Using coderay 1.1.2149Using equalizer 0.0.11150Using concord 0.1.5151Using diff-lcs 1.3152Using dotenv 2.7.6153Using escape_utils 1.2.1154Using factory_bot 5.0.2155Using multipart-post 2.1.1156Using faraday 1.0.1157Using ffi 1.15.3158Using json 2.5.1159Using gemojione 3.3.0160Using mini_mime 1.0.2161Using rugged 1.1.0162Using github-linguist 7.12.1163Using github-markup 1.7.0164Using mime-types-data 3.2020.1104165Using mime-types 3.3.1166Using gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1167Using rouge 3.26.0168Using nokogumbo 1.5.0169Using sanitize 4.6.6170Using stringex 2.8.5171Using gitlab-gollum-lib 4.2.7.10.gitlab.1172Using google-protobuf 3.17.3 (x86_64-linux)173Using googleapis-common-protos-types 1.1.0174Using grpc 1.38.0 (x86_64-linux)175Using opentracing 0.5.0176Using thrift 0.14.1177Using jaeger-client 1.1.0178Using pg_query 2.1.0179Using redis 4.2.5180Using gitlab-labkit 0.20.0181Using gitlab-markup 1.7.1182Using grpc-tools 1.38.0183Using sawyer 0.8.2184Using octokit 4.20.0185Using reverse_markdown 1.4.0186Using thor 1.1.0187Using licensee 9.14.1188Using method_source 0.9.2189Using msgpack 1.3.3190Using optimist 3.0.1191Using parallel 1.19.2192Using parser 2.7.2.0193Using procto 0.0.3194Using unparser 0.4.7195Using proc_to_ast 0.1.0196Using pry 0.12.2197Using rainbow 3.0.0198Using rbtrace 0.4.14199Using rdoc 6.3.2200Using regexp_parser 1.8.1201Using rexml 3.2.4202Using rspec-support 3.8.0203Using rspec-core 3.8.0204Using rspec-expectations 3.8.3205Using rspec-mocks 3.8.0206Using rspec 3.8.0207Using rspec-parameterized 0.4.2208Using rubocop-ast 0.2.0209Using ruby-progressbar 1.10.1210Using unicode-display_width 1.7.0211Using rubocop 0.86.0212Using sentry-raven 3.0.4213Using timecop 0.9.1214Bundle complete! 21 Gemfile dependencies, 96 gems now installed.215Gems in the groups production and development were not installed.216Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`217Checking gitaly-ruby Gemfile...218Checking gitaly-ruby bundle...219The Gemfile's dependencies are satisfied220Trying to connect to gitaly: ....... OK221Trying to connect to gitaly2: ............ OK222Trying to connect to praefect: ..... OK223==> 'scripts/gitaly-test-spawn' succeeded in 4 seconds.224$ source ./scripts/rspec_helpers.sh225$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"226KNAPSACK_TEST_FILE_PATTERN: ee/spec/{bin,channels,config,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,javascripts,lib,models,policies,presenters,rack_servers,replicators,routing,rubocop,serializers,services,sidekiq,spam,support_specs,tasks,uploaders,validators,views,workers,tooling}{,/**/}*_spec.rb227Knapsack node specs:228ee/spec/lib/ee/gitlab/usage_data_spec.rb229ee/spec/models/ee/namespace_spec.rb230ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb231ee/spec/models/approval_state_spec.rb232ee/spec/services/epics/tree_reorder_service_spec.rb233ee/spec/models/epic_issue_spec.rb234ee/spec/services/vulnerability_feedback/create_service_spec.rb235ee/spec/services/epic_links/create_service_spec.rb236ee/spec/services/boards/lists/update_service_spec.rb237ee/spec/models/geo_node_spec.rb238ee/spec/lib/banzai/filter/references/iteration_reference_filter_spec.rb239ee/spec/services/vulnerabilities/dismiss_service_spec.rb240ee/spec/views/layouts/nav/sidebar/_group.html.haml_spec.rb241ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb242ee/spec/services/boards/create_service_spec.rb243ee/spec/services/merge_requests/push_options_handler_service_spec.rb244ee/spec/lib/ee/gitlab/elastic/helper_spec.rb245ee/spec/lib/gitlab/ci/parsers/license_compliance/license_scanning_spec.rb246ee/spec/models/ci/minutes/quota_spec.rb247ee/spec/finders/geo/repository_verification_finder_spec.rb248ee/spec/lib/analytics/devops_adoption/snapshot_calculator_spec.rb249ee/spec/services/ci/sync_reports_to_approval_rules_service_spec.rb250ee/spec/services/ci/minutes/update_build_minutes_service_spec.rb251ee/spec/lib/gitlab/ci/reports/license_scanning/license_spec.rb252ee/spec/workers/update_all_mirrors_worker_spec.rb253ee/spec/services/vulnerability_external_issue_links/create_service_spec.rb254ee/spec/models/dast_site_profile_spec.rb255ee/spec/services/ee/boards/lists/create_service_spec.rb256ee/spec/services/merge_trains/create_pipeline_service_spec.rb257ee/spec/services/ee/issuable/bulk_update_service_spec.rb258ee/spec/models/vulnerabilities/identifier_spec.rb259ee/spec/graphql/ee/resolvers/issues_resolver_spec.rb260ee/spec/services/ci/create_pipeline_service_spec.rb261ee/spec/services/epic_links/destroy_service_spec.rb262ee/spec/lib/gitlab/ci/templates/dast_gitlab_ci_yaml_spec.rb263ee/spec/models/software_license_spec.rb264ee/spec/services/app_sec/dast/site_profiles/create_service_spec.rb265ee/spec/graphql/resolvers/dora_metrics_resolver_spec.rb266ee/spec/presenters/epic_presenter_spec.rb267ee/spec/views/shared/_mirror_status.html.haml_spec.rb268ee/spec/models/boards/epic_list_spec.rb269ee/spec/models/namespace_statistics_spec.rb270ee/spec/graphql/mutations/issues/set_weight_spec.rb271ee/spec/models/resource_weight_event_spec.rb272ee/spec/lib/gitlab/auth/ldap/person_spec.rb273ee/spec/lib/gitlab/auth/group_saml/sso_enforcer_spec.rb274ee/spec/models/packages/package_file_spec.rb275ee/spec/lib/gitlab/auth/group_saml/session_enforcer_spec.rb276ee/spec/lib/gitlab/import_export/group/relation_factory_spec.rb277ee/spec/lib/ee/gitlab/background_migration/populate_uuids_for_security_findings_spec.rb278ee/spec/graphql/mutations/dast/profiles/update_spec.rb279ee/spec/services/groups/participants_service_spec.rb280ee/spec/serializers/vulnerabilities/finding_reports_comparer_entity_spec.rb281ee/spec/workers/geo/repository_sync_worker_spec.rb282ee/spec/workers/set_user_status_based_on_user_cap_setting_worker_spec.rb283ee/spec/graphql/mutations/incident_management/oncall_rotation/update_spec.rb284ee/spec/finders/scim_finder_spec.rb285ee/spec/serializers/status_page/incident_comment_entity_spec.rb286ee/spec/workers/admin_emails_worker_spec.rb287ee/spec/lib/gitlab/code_owners/entry_spec.rb288ee/spec/models/analytics/cycle_analytics/group_level_spec.rb289ee/spec/policies/issuable_policy_spec.rb290ee/spec/services/geo/rename_repository_service_spec.rb291ee/spec/finders/geo/merge_request_diff_registry_finder_spec.rb292ee/spec/services/vulnerability_exports/exporters/csv_service_spec.rb293ee/spec/services/incident_management/oncall_schedules/update_service_spec.rb294ee/spec/lib/analytics/group_activity_calculator_spec.rb295ee/spec/graphql/types/dast/site_profile_auth_type_spec.rb296ee/spec/helpers/ee/lock_helper_spec.rb297ee/spec/services/incident_management/pending_escalations/create_service_spec.rb298ee/spec/finders/clusters/environments_finder_spec.rb299ee/spec/graphql/resolvers/timebox_report_resolver_spec.rb300ee/spec/services/ci/process_pipeline_service_spec.rb301ee/spec/services/app_sec/dast/profiles/audit/update_service_spec.rb302ee/spec/serializers/licenses_list_entity_spec.rb303ee/spec/services/historical_user_data/csv_service_spec.rb304ee/spec/finders/geo/container_repository_registry_finder_spec.rb305ee/spec/serializers/integrations/jira_serializers/issue_entity_spec.rb306ee/spec/workers/ee/namespaces/in_product_marketing_emails_worker_spec.rb307ee/spec/services/projects/cleanup_service_spec.rb308ee/spec/services/todos/destroy/confidential_epic_service_spec.rb309ee/spec/graphql/resolvers/geo/lfs_object_registries_resolver_spec.rb310ee/spec/lib/ee/gitlab/gon_helper_spec.rb311ee/spec/finders/analytics/cycle_analytics/stage_finder_spec.rb312ee/spec/serializers/user_analytics_entity_spec.rb313ee/spec/services/app_sec/dast/site_tokens/find_or_create_service_spec.rb314ee/spec/services/app_sec/dast/site_profiles/audit/update_service_spec.rb315ee/spec/services/projects/mark_for_deletion_service_spec.rb316ee/spec/models/allowed_email_domain_spec.rb317ee/spec/services/status_page/publish_service_spec.rb318ee/spec/lib/ee/gitlab/ci/config_spec.rb319ee/spec/lib/analytics/refresh_approvals_data_spec.rb320ee/spec/lib/gitlab/cidr_spec.rb321ee/spec/models/ee/namespace/root_storage_statistics_spec.rb322ee/spec/models/ee/description_version_spec.rb323ee/spec/graphql/resolvers/geo/snippet_repository_registries_resolver_spec.rb324ee/spec/services/gitlab_subscriptions/fetch_subscription_plans_service_spec.rb325ee/spec/services/projects/operations/update_service_spec.rb326ee/spec/finders/geo/attachment_registry_finder_spec.rb327ee/spec/services/analytics/cycle_analytics/stages/delete_service_spec.rb328ee/spec/lib/bulk_imports/groups/pipelines/iterations_pipeline_spec.rb329ee/spec/services/ee/members/update_service_spec.rb330ee/spec/lib/gitlab/elastic/client_spec.rb331ee/spec/lib/gitlab/audit/events/preloader_spec.rb332ee/spec/models/boards/epic_user_preference_spec.rb333ee/spec/services/groups/schedule_bulk_repository_shard_moves_service_spec.rb334ee/spec/graphql/types/vulnerability_scanner_type_spec.rb335ee/spec/lib/gitlab/ci/templates/Verify/browser_performance_testing_gitlab_ci_yaml_spec.rb336ee/spec/graphql/resolvers/incident_management/oncall_shifts_resolver_spec.rb337ee/spec/lib/elastic/latest/custom_language_analyzers_spec.rb338ee/spec/lib/elastic/latest/git_instance_proxy_spec.rb339ee/spec/services/users_ops_dashboard_projects/destroy_service_spec.rb340ee/spec/views/projects/security/policies/index.html.haml_spec.rb341ee/spec/graphql/resolvers/vulnerabilities/issue_links_resolver_spec.rb342ee/spec/graphql/resolvers/app_sec/dast/profile_resolver_spec.rb343ee/spec/lib/gitlab/status_page/storage_spec.rb344ee/spec/models/storage_shard_spec.rb345ee/spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb346ee/spec/services/incident_management/incidents/upload_metric_service_spec.rb347ee/spec/models/issuable_sla_spec.rb348ee/spec/lib/gitlab/ci/config/entry/dast_configuration_spec.rb349ee/spec/workers/requirements_management/import_requirements_csv_worker_spec.rb350ee/spec/services/analytics/devops_adoption/enabled_namespaces/delete_service_spec.rb351ee/spec/services/analytics/devops_adoption/snapshots/create_service_spec.rb352ee/spec/workers/adjourned_project_deletion_worker_spec.rb353ee/spec/lib/gitlab/geo/replicable_model_spec.rb354ee/spec/services/security/security_orchestration_policies/on_demand_scan_pipeline_configuration_service_spec.rb355ee/spec/models/ee/system_note_metadata_spec.rb356ee/spec/policies/incident_management/oncall_schedule_policy_spec.rb357ee/spec/lib/gitlab/ci/reports/security/locations/dast_spec.rb358ee/spec/graphql/types/ci/runner_type_spec.rb359ee/spec/lib/gitlab/analytics/cycle_analytics/data_for_duration_chart_spec.rb360ee/spec/models/ci/sources/project_spec.rb361ee/spec/services/ee/issuable/destroy_service_spec.rb362ee/spec/helpers/ee/blob_helper_spec.rb363ee/spec/workers/incident_management/pending_escalations/schedule_check_cron_worker_spec.rb364ee/spec/lib/gitlab/ci/reports/license_scanning/dependency_spec.rb365ee/spec/graphql/mutations/boards/lists/update_limit_metrics_spec.rb366ee/spec/lib/system_check/geo/current_node_check_spec.rb367ee/spec/services/external_status_checks/dispatch_service_spec.rb368ee/spec/models/dast/profiles_pipeline_spec.rb369ee/spec/graphql/mutations/boards/epic_lists/create_spec.rb370ee/spec/lib/gitlab/usage_data_counters/licenses_list_spec.rb371ee/spec/lib/analytics/productivity_analytics_request_params_spec.rb372ee/spec/lib/gitlab/path_locks_finder_spec.rb373ee/spec/finders/autocomplete/project_invited_groups_finder_spec.rb374ee/spec/presenters/dast/site_profile_presenter_spec.rb375ee/spec/lib/gitlab/ci/reports/license_scanning/reports_comparer_spec.rb376ee/spec/workers/elastic_index_bulk_cron_worker_spec.rb377ee/spec/services/analytics/devops_adoption/enabled_namespaces/bulk_find_or_create_service_spec.rb378ee/spec/workers/geo/secondary_usage_data_cron_worker_spec.rb379ee/spec/serializers/fork_namespace_entity_spec.rb380ee/spec/services/ee/design_management/save_designs_service_spec.rb381ee/spec/workers/requirements_management/process_requirements_reports_worker_spec.rb382ee/spec/lib/ee/api/entities/vulnerability_spec.rb383ee/spec/services/groups/update_statistics_service_spec.rb384ee/spec/services/ee/notes/post_process_service_spec.rb385ee/spec/graphql/ee/types/issuable_type_spec.rb386ee/spec/lib/gitlab/tree_summary_spec.rb387ee/spec/helpers/incident_management/oncall_schedule_helper_spec.rb388ee/spec/models/ee/analytics/usage_trends/measurement_spec.rb389ee/spec/services/personal_access_tokens/instance/update_lifetime_service_spec.rb390ee/spec/graphql/types/incident_management/oncall_shift_type_spec.rb391ee/spec/models/integrations/github/status_notifier_spec.rb392ee/spec/lib/elastic/latest/note_config_spec.rb393ee/spec/serializers/epic_entity_spec.rb394ee/spec/views/compliance_management/compliance_framework/_compliance_framework_badge.html.haml_spec.rb395ee/spec/services/ee/resource_events/change_labels_service_spec.rb396ee/spec/lib/gitlab/favicon_spec.rb397ee/spec/graphql/types/scanned_resource_type_spec.rb398ee/spec/graphql/types/vulnerability_location/dependency_scanning_type_spec.rb399ee/spec/lib/gitlab/usage_data_counters/network_policy_counter_spec.rb400ee/spec/graphql/mutations/gitlab_subscriptions/activate_spec.rb401ee/spec/lib/gitlab/patch/draw_route_spec.rb402ee/spec/lib/gitlab/sitemaps/sitemap_file_spec.rb403ee/spec/serializers/evidences/build_artifact_entity_spec.rb404ee/spec/services/ee/issues/after_create_service_spec.rb405ee/spec/models/snippet_spec.rb406ee/spec/helpers/ee/projects/security/configuration_helper_spec.rb407ee/spec/graphql/ee/types/notes/noteable_interface_spec.rb408ee/spec/graphql/types/epic_state_enum_spec.rb409ee/spec/graphql/types/vulnerability_severities_count_type_spec.rb410ee/spec/lib/gitlab/subscription_portal/client_spec.rb411ee/spec/graphql/types/vulnerability_details/list_type_spec.rb412ee/spec/lib/gitlab/insights/serializers/chartjs/bar_time_series_serializer_spec.rb413ee/spec/lib/ee/gitlab/auth/ldap/access_levels_spec.rb414ee/spec/graphql/types/dora_type_spec.rb415ee/spec/services/group_saml/saml_provider/create_service_spec.rb416ee/spec/models/protected_branch/unprotect_access_level_spec.rb417Filter specs:418Running specs:419Running all node tests without filter420ee/spec/lib/ee/gitlab/usage_data_spec.rb421ee/spec/models/ee/namespace_spec.rb422ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb423ee/spec/models/approval_state_spec.rb424ee/spec/services/epics/tree_reorder_service_spec.rb425ee/spec/models/epic_issue_spec.rb426ee/spec/services/vulnerability_feedback/create_service_spec.rb427ee/spec/services/epic_links/create_service_spec.rb428ee/spec/services/boards/lists/update_service_spec.rb429ee/spec/models/geo_node_spec.rb430ee/spec/lib/banzai/filter/references/iteration_reference_filter_spec.rb431ee/spec/services/vulnerabilities/dismiss_service_spec.rb432ee/spec/views/layouts/nav/sidebar/_group.html.haml_spec.rb433ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb434ee/spec/services/boards/create_service_spec.rb435ee/spec/services/merge_requests/push_options_handler_service_spec.rb436ee/spec/lib/ee/gitlab/elastic/helper_spec.rb437ee/spec/lib/gitlab/ci/parsers/license_compliance/license_scanning_spec.rb438ee/spec/models/ci/minutes/quota_spec.rb439ee/spec/finders/geo/repository_verification_finder_spec.rb440ee/spec/lib/analytics/devops_adoption/snapshot_calculator_spec.rb441ee/spec/services/ci/sync_reports_to_approval_rules_service_spec.rb442ee/spec/services/ci/minutes/update_build_minutes_service_spec.rb443ee/spec/lib/gitlab/ci/reports/license_scanning/license_spec.rb444ee/spec/workers/update_all_mirrors_worker_spec.rb445ee/spec/services/vulnerability_external_issue_links/create_service_spec.rb446ee/spec/models/dast_site_profile_spec.rb447ee/spec/services/ee/boards/lists/create_service_spec.rb448ee/spec/services/merge_trains/create_pipeline_service_spec.rb449ee/spec/services/ee/issuable/bulk_update_service_spec.rb450ee/spec/models/vulnerabilities/identifier_spec.rb451ee/spec/graphql/ee/resolvers/issues_resolver_spec.rb452ee/spec/services/ci/create_pipeline_service_spec.rb453ee/spec/services/epic_links/destroy_service_spec.rb454ee/spec/lib/gitlab/ci/templates/dast_gitlab_ci_yaml_spec.rb455ee/spec/models/software_license_spec.rb456ee/spec/services/app_sec/dast/site_profiles/create_service_spec.rb457ee/spec/graphql/resolvers/dora_metrics_resolver_spec.rb458ee/spec/presenters/epic_presenter_spec.rb459ee/spec/views/shared/_mirror_status.html.haml_spec.rb460ee/spec/models/boards/epic_list_spec.rb461ee/spec/models/namespace_statistics_spec.rb462ee/spec/graphql/mutations/issues/set_weight_spec.rb463ee/spec/models/resource_weight_event_spec.rb464ee/spec/lib/gitlab/auth/ldap/person_spec.rb465ee/spec/lib/gitlab/auth/group_saml/sso_enforcer_spec.rb466ee/spec/models/packages/package_file_spec.rb467ee/spec/lib/gitlab/auth/group_saml/session_enforcer_spec.rb468ee/spec/lib/gitlab/import_export/group/relation_factory_spec.rb469ee/spec/lib/ee/gitlab/background_migration/populate_uuids_for_security_findings_spec.rb470ee/spec/graphql/mutations/dast/profiles/update_spec.rb471ee/spec/services/groups/participants_service_spec.rb472ee/spec/serializers/vulnerabilities/finding_reports_comparer_entity_spec.rb473ee/spec/workers/geo/repository_sync_worker_spec.rb474ee/spec/workers/set_user_status_based_on_user_cap_setting_worker_spec.rb475ee/spec/graphql/mutations/incident_management/oncall_rotation/update_spec.rb476ee/spec/finders/scim_finder_spec.rb477ee/spec/serializers/status_page/incident_comment_entity_spec.rb478ee/spec/workers/admin_emails_worker_spec.rb479ee/spec/lib/gitlab/code_owners/entry_spec.rb480ee/spec/models/analytics/cycle_analytics/group_level_spec.rb481ee/spec/policies/issuable_policy_spec.rb482ee/spec/services/geo/rename_repository_service_spec.rb483ee/spec/finders/geo/merge_request_diff_registry_finder_spec.rb484ee/spec/services/vulnerability_exports/exporters/csv_service_spec.rb485ee/spec/services/incident_management/oncall_schedules/update_service_spec.rb486ee/spec/lib/analytics/group_activity_calculator_spec.rb487ee/spec/graphql/types/dast/site_profile_auth_type_spec.rb488ee/spec/helpers/ee/lock_helper_spec.rb489ee/spec/services/incident_management/pending_escalations/create_service_spec.rb490ee/spec/finders/clusters/environments_finder_spec.rb491ee/spec/graphql/resolvers/timebox_report_resolver_spec.rb492ee/spec/services/ci/process_pipeline_service_spec.rb493ee/spec/services/app_sec/dast/profiles/audit/update_service_spec.rb494ee/spec/serializers/licenses_list_entity_spec.rb495ee/spec/services/historical_user_data/csv_service_spec.rb496ee/spec/finders/geo/container_repository_registry_finder_spec.rb497ee/spec/serializers/integrations/jira_serializers/issue_entity_spec.rb498ee/spec/workers/ee/namespaces/in_product_marketing_emails_worker_spec.rb499ee/spec/services/projects/cleanup_service_spec.rb500ee/spec/services/todos/destroy/confidential_epic_service_spec.rb501ee/spec/graphql/resolvers/geo/lfs_object_registries_resolver_spec.rb502ee/spec/lib/ee/gitlab/gon_helper_spec.rb503ee/spec/finders/analytics/cycle_analytics/stage_finder_spec.rb504ee/spec/serializers/user_analytics_entity_spec.rb505ee/spec/services/app_sec/dast/site_tokens/find_or_create_service_spec.rb506ee/spec/services/app_sec/dast/site_profiles/audit/update_service_spec.rb507ee/spec/services/projects/mark_for_deletion_service_spec.rb508ee/spec/models/allowed_email_domain_spec.rb509ee/spec/services/status_page/publish_service_spec.rb510ee/spec/lib/ee/gitlab/ci/config_spec.rb511ee/spec/lib/analytics/refresh_approvals_data_spec.rb512ee/spec/lib/gitlab/cidr_spec.rb513ee/spec/models/ee/namespace/root_storage_statistics_spec.rbKnapsack report generator started!514Run options: exclude {:quarantine=>true, :geo=>true, :level=>"migration"}515==> /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.05638268 seconds...516Test environment set up in 1.999506851 seconds517Gitlab::UsageData518 clears memoized values519 .data520/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH521/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here522 gathers usage data523/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH524/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here525 gathers usage counts526/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH527/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here528 gathers security products usage data529/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH530/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here531 gathers group overview preferences usage data532/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH533/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here534 includes a recording_ee_finished_at timestamp535 .features_usage_data_ee536 gathers feature usage data of EE537 .license_usage_data538 gathers license data539 .requirements_counts540 when requirements are disabled541 returns empty hash542 when requirements are enabled543 returns created requirements count544 merge requests merged using approval rules545 counts the approval rules for merged merge requests546 .operations_dashboard_usage547 gathers data on operations dashboard548 bases counts on active users549 usage_activity_by_stage_configure550 includes accurate usage_activity_by_stage data551 usage_activity_by_stage_create552 includes accurate usage_activity_by_stage data553 usage_data_by_stage_enablement554 returns empty hash if geo is not enabled555 geo enabled556 excludes data outside of the date range557 node status fields558 only includes active secondary nodes559 includes all resource status fields560 usage_activity_by_stage_manage561 includes accurate usage_activity_by_stage data562 usage_activity_by_stage_monitor563 includes accurate usage_activity_by_stage data564 usage_activity_by_stage_plan565 includes accurate usage_activity_by_stage data566 usage_activity_by_stage_release567 includes accurate usage_activity_by_stage data568 usage_activity_by_stage_secure569 includes accurate usage_activity_by_stage data570 counts pipelines that have security jobs571 counts unique users correctly across multiple scanners572 combines license_scanning into license_management573 has to resort to 0 for counting license scan574 counts users who have run scans575 usage_activity_by_stage_verify576 includes accurate usage_activity_by_stage data577Namespace578 is expected to have one namespace_statistics579 is expected to have one namespace_limit580 is expected to have one elasticsearch_indexed_namespace581 is expected to have one upcoming_reconciliation582 is expected to have many ci_minutes_additional_packs583 is expected to delegate #shared_runners_seconds to the #namespace_statistics object584 is expected to delegate #shared_runners_seconds_last_reset to the #namespace_statistics object585 is expected to delegate #trial? to the #gitlab_subscription object586 is expected to delegate #trial_ends_on to the #gitlab_subscription object587 is expected to delegate #trial_starts_on to the #gitlab_subscription object588 is expected to delegate #trial_days_remaining to the #gitlab_subscription object589 is expected to delegate #trial_percentage_complete to the #gitlab_subscription object590 is expected to delegate #upgradable? to the #gitlab_subscription object591 is expected to delegate #trial_extended_or_reactivated? to the #gitlab_subscription object592 is expected to delegate #owner_email to the #owner object as #email, allowing #owner to return nil593 is expected to delegate #additional_purchased_storage_size to the #namespace_limit object594 is expected to delegate #additional_purchased_storage_size= to the #namespace_limit object passing arguments [:args]595 is expected to delegate #additional_purchased_storage_ends_on to the #namespace_limit object596 is expected to delegate #additional_purchased_storage_ends_on= to the #namespace_limit object passing arguments [:args]597 is expected to delegate #temporary_storage_increase_ends_on to the #namespace_limit object598 is expected to delegate #temporary_storage_increase_ends_on= to the #namespace_limit object passing arguments [:args]599 is expected to delegate #temporary_storage_increase_enabled? to the #namespace_limit object600 is expected to delegate #eligible_for_temporary_storage_increase? to the #namespace_limit object601 bronze_plan?602 behaves like plan helper603 for a bronze plan604 is expected to eq true605 for a plan that isn't bronze606 plan_name: "silver"607 is expected to eq false608 plan_name: "premium"609 is expected to eq false610 plan_name: "premium_trial"611 is expected to eq false612 plan_name: "gold"613 is expected to eq false614 plan_name: "ultimate"615 is expected to eq false616 plan_name: "ultimate_trial"617 is expected to eq false618 plan_name: "free"619 is expected to eq false620 silver_plan?621 behaves like plan helper622 for a silver plan623 is expected to eq true624 for a plan that isn't silver625 plan_name: "bronze"626 is expected to eq false627 plan_name: "premium"628 is expected to eq false629 plan_name: "premium_trial"630 is expected to eq false631 plan_name: "gold"632 is expected to eq false633 plan_name: "ultimate"634 is expected to eq false635 plan_name: "ultimate_trial"636 is expected to eq false637 plan_name: "free"638 is expected to eq false639 premium_plan?640 behaves like plan helper641 for a premium plan642 is expected to eq true643 for a plan that isn't premium644 plan_name: "bronze"645 is expected to eq false646 plan_name: "silver"647 is expected to eq false648 plan_name: "premium_trial"649 is expected to eq false650 plan_name: "gold"651 is expected to eq false652 plan_name: "ultimate"653 is expected to eq false654 plan_name: "ultimate_trial"655 is expected to eq false656 plan_name: "free"657 is expected to eq false658 premium_trial_plan?659 behaves like plan helper660 for a premium_trial plan661 is expected to eq true662 for a plan that isn't premium_trial663 plan_name: "bronze"664 is expected to eq false665 plan_name: "silver"666 is expected to eq false667 plan_name: "premium"668 is expected to eq false669 plan_name: "gold"670 is expected to eq false671 plan_name: "ultimate"672 is expected to eq false673 plan_name: "ultimate_trial"674 is expected to eq false675 plan_name: "free"676 is expected to eq false677 gold_plan?678 behaves like plan helper679 for a gold plan680 is expected to eq true681 for a plan that isn't gold682 plan_name: "bronze"683 is expected to eq false684 plan_name: "silver"685 is expected to eq false686 plan_name: "premium"687 is expected to eq false688 plan_name: "premium_trial"689 is expected to eq false690 plan_name: "ultimate"691 is expected to eq false692 plan_name: "ultimate_trial"693 is expected to eq false694 plan_name: "free"695 is expected to eq false696 ultimate_plan?697 behaves like plan helper698 for a ultimate plan699 is expected to eq true700 for a plan that isn't ultimate701 plan_name: "bronze"702 is expected to eq false703 plan_name: "silver"704 is expected to eq false705 plan_name: "premium"706 is expected to eq false707 plan_name: "premium_trial"708 is expected to eq false709 plan_name: "gold"710 is expected to eq false711 plan_name: "ultimate_trial"712 is expected to eq false713 plan_name: "free"714 is expected to eq false715 ultimate_trial_plan?716 behaves like plan helper717 for a ultimate_trial plan718 is expected to eq true719 for a plan that isn't ultimate_trial720 plan_name: "bronze"721 is expected to eq false722 plan_name: "silver"723 is expected to eq false724 plan_name: "premium"725 is expected to eq false726 plan_name: "premium_trial"727 is expected to eq false728 plan_name: "gold"729 is expected to eq false730 plan_name: "ultimate"731 is expected to eq false732 plan_name: "free"733 is expected to eq false734 free_plan?735 behaves like plan helper736 for a free plan737 is expected to eq true738 for a plan that isn't free739 plan_name: "bronze"740 is expected to eq false741 plan_name: "silver"742 is expected to eq false743 plan_name: "premium"744 is expected to eq false745 plan_name: "premium_trial"746 is expected to eq false747 plan_name: "gold"748 is expected to eq false749 plan_name: "ultimate"750 is expected to eq false751 plan_name: "ultimate_trial"752 is expected to eq false753 #free_personal?754 user: true, paid: false, expected: true755 returns expected boolean value756 user: false, paid: false, expected: false757 returns expected boolean value758 user: false, paid: true, expected: false759 returns expected boolean value760 #use_elasticsearch?761 returns false if elasticsearch indexing is disabled762 returns true if elasticsearch indexing enabled but limited indexing disabled763 returns true if it is enabled specifically764 #actual_plan_name765 when DB is read-only766 returns free plan767 does not create a gitlab_subscription768 when namespace is not persisted769 returns free plan770 does not create a gitlab_subscription771 when DB is not read-only772 returns free plan773 creates a gitlab_subscription774 scopes775 .with_feature_available_in_plan776 plan is nil777 returns no namespace778 plan is set779 returns namespaces with plan780 .join_gitlab_subscription781 when there is no subscription782 returns namespace with nil subscription783 when there is a subscription784 returns namespace with subscription set785 .in_active_trial786 is consistent to trial_active? method787 .not_in_active_trial788 is consistent with !trial_active? method789 .in_default_plan790 includes namespace with no subscription791 plan_name: "free", expect_in_default_plan: true792 returns expected result793 plan_name: "default", expect_in_default_plan: true794 returns expected result795 plan_name: "bronze", expect_in_default_plan: false796 returns expected result797 plan_name: "silver", expect_in_default_plan: false798 returns expected result799 plan_name: "premium", expect_in_default_plan: false800 returns expected result801 plan_name: "gold", expect_in_default_plan: false802 returns expected result803 plan_name: "ultimate", expect_in_default_plan: false804 returns expected result805 .eligible_for_trial806 when there is no subscription807 is expected to eq #<Namespace id: 410, name: "John Doe393", path: "namespace316", owner_id: 402, created_at: "2021-08-1...runners_enabled: true, allow_descendants_override_disabled_shared_runners: false, traversal_ids: []>808 when there is a subscription809 with a plan that is eligible for a trial810 plan: "default"811 and has not yet been trialed812 is expected to eq #<Namespace id: 410, name: "John Doe393", path: "namespace316", owner_id: 402, created_at: "2021-08-1...runners_enabled: true, allow_descendants_override_disabled_shared_runners: false, traversal_ids: []>813 but has already had a trial814 is expected to be nil815 but is currently being trialed816 is expected to be nil817 plan: "free"818 and has not yet been trialed819 is expected to eq #<Namespace id: 410, name: "John Doe393", path: "namespace316", owner_id: 402, created_at: "2021-08-1...runners_enabled: true, allow_descendants_override_disabled_shared_runners: false, traversal_ids: []>820 but has already had a trial821 is expected to be nil822 but is currently being trialed823 is expected to be nil824 with a plan that is ineligible for a trial825 plan: "bronze"826 is expected to be nil827 plan: "silver"828 is expected to be nil829 plan: "premium"830 is expected to be nil831 plan: "gold"832 is expected to be nil833 plan: "ultimate"834 is expected to be nil835 plan: "ultimate_trial"836 is expected to be nil837 plan: "premium_trial"838 is expected to be nil839 validation840 ensures max_pages_size is an integer greater than 0 (or equal to 0 to indicate unlimited/maximum)841 custom validations842 #validate_shared_runner_minutes_support843 when changing :shared_runners_minutes_limit844 when group is a subgroup845 is invalid846 when group is root847 is valid848 #move_dir849 when running on a primary node850 logs the Geo::RepositoryRenamedEvent for each project inside namespace851 properly builds old_path_with_namespace852 #feature_available?853 behaves like feature available854 uses the global setting when running on premise855 only checks the plan once856 when checking namespace plan857 combines the global setting with the group setting when not running on premise858 when feature available on the plan859 when feature available for current group860 returns true861 when license is applied to parent group862 child group has feature available863 when feature not available in the plan864 returns false865 #feature_available_non_trial?866 behaves like feature available867 uses the global setting when running on premise868 only checks the plan once869 when checking namespace plan870 combines the global setting with the group setting when not running on premise871 when feature available on the plan872 when feature available for current group873 returns true874 when license is applied to parent group875 child group has feature available876 when feature not available in the plan877 returns false878 when the group has an active trial879 is expected to be falsey880 #actual_limits881 when no limits are defined in the system882 behaves like uses an implied configuration883 is a non persisted PlanLimits884 has all limits defined885 when "default" plan is defined in the system886 when no limits are set887 behaves like uses an implied configuration888 is a non persisted PlanLimits889 has all limits defined890 when limits are set for the default plan891 is expected to eq #<PlanLimits id: 1, plan_id: 515, ci_active_pipelines: 1, ci_pipeline_size: 2, ci_active_jobs: 3, pro...ct_size_cluster_image_scanning: 0, ci_jobs_trace_size_limit: [FILTERED], pages_file_entries: 200000>892 when "free" plan is defined in the system893 when no limits are set894 behaves like uses an implied configuration895 is a non persisted PlanLimits896 has all limits defined897 when limits are set for the free plan898 is expected to eq #<PlanLimits id: 2, plan_id: 530, ci_active_pipelines: 3, ci_pipeline_size: 4, ci_active_jobs: 5, pro...ct_size_cluster_image_scanning: 0, ci_jobs_trace_size_limit: [FILTERED], pages_file_entries: 200000>899 when subscription plan is defined in the system900 when limits are not set for the plan901 behaves like uses an implied configuration902 is a non persisted PlanLimits903 has all limits defined904 when limits are set for the plan905 is expected to eq #<PlanLimits id: 3, plan_id: 543, ci_active_pipelines: 5, ci_pipeline_size: 6, ci_active_jobs: 7, pro...ct_size_cluster_image_scanning: 0, ci_jobs_trace_size_limit: [FILTERED], pages_file_entries: 200000>906 #any_project_with_shared_runners_enabled?907 without projects908 is expected to be falsey909 group with shared runners enabled project910 is expected to be truthy911 subgroup with shared runners enabled project912 is expected to be truthy913 with project and disabled shared runners914 is expected to be falsey915 #shared_runners_minutes_limit_enabled?916 with project917 when no limit defined918 is expected to be falsey919 when limit is defined920 is expected to be truthy921 when is subgroup922 is expected to be falsey923 without project924 is expected to be falsey925 #actual_plan926 when namespace does not have a subscription associated927 generates a subscription and returns default plan928 when running on Gitlab.com929 for personal namespaces930 when namespace has a subscription associated931 when this subscription was purchased before EoA rollout (legacy)932 returns the legacy plan from the subscription933 when this subscription was purchase after EoA rollout (new plan)934 returns the new plan from the subscription935 when namespace does not have a subscription associated936 generates a subscription and returns free plan937 when free plan does exist938 generates a subscription939 for groups940 when the group is a subgroup with a parent941 when free plan does exist942 does not generates a subscription943 when parent group has a subscription associated944 returns the plan from the subscription945 #paid?946 returns true for a root namespace with a paid plan947 returns false for a subgroup of a group with a paid plan948 #actual_plan_name949 when namespace does not have a subscription associated950 returns default plan951 when running on Gitlab.com952 for personal namespaces953 when namespace has a subscription associated954 returns an associated plan name955 when namespace does not have subscription associated956 returns a free plan name957 for groups958 when the group is a subgroup with a parent959 when parent group has a subscription associated960 returns an associated plan name961 when parent group does not have subscription associated962 returns a free plan name963 #billed_user_ids964 with a user namespace965 returns 1966 with a group namespace967 returns a breakdown of billable user ids968 with a ultimate plan969 does not include guest users and only active users970 when group has a project and users are invited to it971 includes invited active users except guests to the group972 with project bot users973 is expected not to include 458974 is expected not to include 466975 when group is invited to the project976 when group is invited as non guest977 includes only active users except guests of the invited groups978 when group is invited as a guest to the project979 does not include any members from the invited group980 when group has been shared with another group981 includes active users from the shared group to the billed members982 when subgroup invited another group to collaborate983 when subgroup invites another group as non guest984 includes all the active and non guest users from the shared group985 when subgroup invites another group as guest986 does not includes any user from the shared group from the subgroup987 with other plans988 includes active guest users989 includes active guest users990 when group has a project and users invited to it991 includes invited active users to the group992 with project bot users993 is expected not to include 531994 is expected not to include 539995 when group is invited to the project996 includes the unique active users and guests of the invited groups997 when group has been shared with another group998 includes active users from the shared group including guests999 when group has a project and users invited to it1000 includes invited active users to the group1001 with project bot users1002 is expected not to include 5701003 is expected not to include 5781004 when group is invited to the project1005 includes the unique active users and guests of the invited groups1006 when group has been shared with another group1007 includes active users from the shared group including guests1008 #billable_members_count1009 with a user namespace1010 returns 11011 with a group namespace1012 with a ultimate plan1013 does not count guest users and counts only active users1014 when group has a project and users invited to it1015 includes invited active users except guests to the group1016 with project bot users1017 is expected to eq 21018 when group is invited to the project1019 counts the only active users except guests of the invited groups1020 when group has been shared with another group1021 includes active users from the shared group to the billed members count1022 with other plans1023 counts active guest users1024 counts active guest users1025 when group has a project and users invited to it1026 includes invited active users to the group1027 with project bot users1028 is expected to eq 41029 when group is invited to the project1030 counts the unique active users including guests of the invited groups1031 when group has been shared with another group1032 includes active users from the shared group including guests to the billed members count1033 when group has a project and users invited to it1034 includes invited active users to the group1035 with project bot users1036 is expected to eq 41037 when group is invited to the project1038 counts the unique active users including guests of the invited groups1039 when group has been shared with another group1040 includes active users from the shared group including guests to the billed members count1041 #eligible_for_trial?1042 on_dot_com: true, has_parent: true, never_had_trial: true, plan_eligible_for_trial: true1043 when on .com1044 and the namespace has a parent namespace1045 and the namespace has not yet been trialed1046 and the namespace is eligible for a trial1047 is expected to eq false1048 on_dot_com: true, has_parent: true, never_had_trial: true, plan_eligible_for_trial: false1049 when on .com1050 and the namespace has a parent namespace1051 and the namespace has not yet been trialed1052 and the namespace is not eligible for a trial1053 is expected to eq false1054 on_dot_com: true, has_parent: true, never_had_trial: false, plan_eligible_for_trial: true1055 when on .com1056 and the namespace has a parent namespace1057 and the namespace has been trialed1058 and the namespace is eligible for a trial1059 is expected to eq false1060 on_dot_com: true, has_parent: true, never_had_trial: false, plan_eligible_for_trial: false1061 when on .com1062 and the namespace has a parent namespace1063 and the namespace has been trialed1064 and the namespace is not eligible for a trial1065 is expected to eq false1066 on_dot_com: true, has_parent: false, never_had_trial: true, plan_eligible_for_trial: true1067 when on .com1068 and the namespace is a parent namespace1069 and the namespace has not yet been trialed1070 and the namespace is eligible for a trial1071 is expected to eq true1072 on_dot_com: true, has_parent: false, never_had_trial: true, plan_eligible_for_trial: false1073 when on .com1074 and the namespace is a parent namespace1075 and the namespace has not yet been trialed1076 and the namespace is not eligible for a trial1077 is expected to eq false1078 on_dot_com: true, has_parent: false, never_had_trial: false, plan_eligible_for_trial: true1079 when on .com1080 and the namespace is a parent namespace1081 and the namespace has been trialed1082 and the namespace is eligible for a trial1083 is expected to eq false1084 on_dot_com: true, has_parent: false, never_had_trial: false, plan_eligible_for_trial: false1085 when on .com1086 and the namespace is a parent namespace1087 and the namespace has been trialed1088 and the namespace is not eligible for a trial1089 is expected to eq false1090 on_dot_com: false, has_parent: true, never_had_trial: true, plan_eligible_for_trial: true1091 when not on .com1092 and the namespace has a parent namespace1093 and the namespace has not yet been trialed1094 and the namespace is eligible for a trial1095 is expected to eq false1096 on_dot_com: false, has_parent: true, never_had_trial: true, plan_eligible_for_trial: false1097 when not on .com1098 and the namespace has a parent namespace1099 and the namespace has not yet been trialed1100 and the namespace is not eligible for a trial1101 is expected to eq false1102 on_dot_com: false, has_parent: true, never_had_trial: false, plan_eligible_for_trial: true1103 when not on .com1104 and the namespace has a parent namespace1105 and the namespace has been trialed1106 and the namespace is eligible for a trial1107 is expected to eq false1108 on_dot_com: false, has_parent: true, never_had_trial: false, plan_eligible_for_trial: false1109 when not on .com1110 and the namespace has a parent namespace1111 and the namespace has been trialed1112 and the namespace is not eligible for a trial1113 is expected to eq false1114 on_dot_com: false, has_parent: false, never_had_trial: true, plan_eligible_for_trial: true1115 when not on .com1116 and the namespace is a parent namespace1117 and the namespace has not yet been trialed1118 and the namespace is eligible for a trial1119 is expected to eq false1120 on_dot_com: false, has_parent: false, never_had_trial: true, plan_eligible_for_trial: false1121 when not on .com1122 and the namespace is a parent namespace1123 and the namespace has not yet been trialed1124 and the namespace is not eligible for a trial1125 is expected to eq false1126 on_dot_com: false, has_parent: false, never_had_trial: false, plan_eligible_for_trial: true1127 when not on .com1128 and the namespace is a parent namespace1129 and the namespace has been trialed1130 and the namespace is eligible for a trial1131 is expected to eq false1132 on_dot_com: false, has_parent: false, never_had_trial: false, plan_eligible_for_trial: false1133 when not on .com1134 and the namespace is a parent namespace1135 and the namespace has been trialed1136 and the namespace is not eligible for a trial1137 is expected to eq false1138 #can_extend_trial?1139 feature flag is disabled1140 is expected to be falsey1141 trial_active: false, trial_extended_or_reactivated: false, can_extend_trial: false1142 is expected to equal false1143 trial_active: false, trial_extended_or_reactivated: true, can_extend_trial: false1144 is expected to equal false1145 trial_active: true, trial_extended_or_reactivated: false, can_extend_trial: true1146 is expected to equal true1147 trial_active: true, trial_extended_or_reactivated: true, can_extend_trial: false1148 is expected to equal false1149 #can_reactivate_trial?1150 when feature flag is disabled1151 is expected to be falsey1152 trial_active: false, never_had_trial: false, trial_extended_or_reactivated: false, free_plan: false, can_reactivate_trial: false1153 is expected to equal false1154 trial_active: false, never_had_trial: false, trial_extended_or_reactivated: false, free_plan: true, can_reactivate_trial: true1155 is expected to equal true1156 trial_active: false, never_had_trial: false, trial_extended_or_reactivated: true, free_plan: false, can_reactivate_trial: false1157 is expected to equal false1158 trial_active: false, never_had_trial: false, trial_extended_or_reactivated: true, free_plan: true, can_reactivate_trial: false1159 is expected to equal false1160 trial_active: false, never_had_trial: true, trial_extended_or_reactivated: false, free_plan: false, can_reactivate_trial: false1161 is expected to equal false1162 trial_active: false, never_had_trial: true, trial_extended_or_reactivated: false, free_plan: true, can_reactivate_trial: false1163 is expected to equal false1164 trial_active: false, never_had_trial: true, trial_extended_or_reactivated: true, free_plan: false, can_reactivate_trial: false1165 is expected to equal false1166 trial_active: false, never_had_trial: true, trial_extended_or_reactivated: true, free_plan: true, can_reactivate_trial: false1167 is expected to equal false1168 trial_active: true, never_had_trial: false, trial_extended_or_reactivated: false, free_plan: false, can_reactivate_trial: false1169 is expected to equal false1170 trial_active: true, never_had_trial: false, trial_extended_or_reactivated: false, free_plan: true, can_reactivate_trial: false1171 is expected to equal false1172 trial_active: true, never_had_trial: false, trial_extended_or_reactivated: true, free_plan: false, can_reactivate_trial: false1173 is expected to equal false1174 trial_active: true, never_had_trial: false, trial_extended_or_reactivated: true, free_plan: true, can_reactivate_trial: false1175 is expected to equal false1176 trial_active: true, never_had_trial: true, trial_extended_or_reactivated: false, free_plan: false, can_reactivate_trial: false1177 is expected to equal false1178 trial_active: true, never_had_trial: true, trial_extended_or_reactivated: false, free_plan: true, can_reactivate_trial: false1179 is expected to equal false1180 trial_active: true, never_had_trial: true, trial_extended_or_reactivated: true, free_plan: false, can_reactivate_trial: false1181 is expected to equal false1182 trial_active: true, never_had_trial: true, trial_extended_or_reactivated: true, free_plan: true, can_reactivate_trial: false1183 is expected to equal false1184 #file_template_project_id1185 is cleared before validation1186 #checked_file_template_project1187 is always nil1188 #checked_file_template_project_id1189 is always nil1190 #store_security_reports_available?1191 when at least one security report feature is enabled1192 report_type: :sast1193 is expected to equal true1194 report_type: :secret_detection1195 is expected to equal true1196 report_type: :dast1197 is expected to equal true1198 report_type: :dependency_scanning1199 is expected to equal true1200 report_type: :container_scanning1201 is expected to equal true1202 report_type: :cluster_image_scanning1203 is expected to equal true1204 when no security report feature is available1205 is expected to equal false1206 #over_storage_limit?1207 enforcement_setting_enabled: false, feature_enabled: false, above_size_limit: false, result: false1208 returns a boolean indicating whether the root namespace is over the storage limit1209 enforcement_setting_enabled: false, feature_enabled: false, above_size_limit: true, result: false1210 returns a boolean indicating whether the root namespace is over the storage limit1211 enforcement_setting_enabled: false, feature_enabled: true, above_size_limit: false, result: false1212 returns a boolean indicating whether the root namespace is over the storage limit1213 enforcement_setting_enabled: false, feature_enabled: true, above_size_limit: true, result: false1214 returns a boolean indicating whether the root namespace is over the storage limit1215 enforcement_setting_enabled: true, feature_enabled: false, above_size_limit: false, result: false1216 returns a boolean indicating whether the root namespace is over the storage limit1217 enforcement_setting_enabled: true, feature_enabled: false, above_size_limit: true, result: false1218 returns a boolean indicating whether the root namespace is over the storage limit1219 enforcement_setting_enabled: true, feature_enabled: true, above_size_limit: false, result: false1220 returns a boolean indicating whether the root namespace is over the storage limit1221 enforcement_setting_enabled: true, feature_enabled: true, above_size_limit: true, result: true1222 returns a boolean indicating whether the root namespace is over the storage limit1223 #total_repository_size_excess1224 projects with a variety of repository sizes and limits1225 when namespace-level repository_size_limit is not set1226 returns the total excess size of projects with repositories that exceed the size limit1227 when namespace-level repository_size_limit is 0 (unlimited)1228 returns the total excess size of projects with repositories that exceed the size limit1229 when namespace-level repository_size_limit is a positive number1230 returns the total excess size of projects with repositories that exceed the size limit1231 when all projects have repository_size_limit of 0 (unlimited)1232 returns zero regardless of the namespace or instance-level repository_size_limit1233 #repository_size_excess_project_count1234 projects with a variety of repository sizes and limits1235 when namespace-level repository_size_limit is not set1236 returns the count of projects with repositories that exceed the size limit1237 when namespace-level repository_size_limit is 0 (unlimited)1238 returns the count of projects with repositories that exceed the size limit1239 when namespace-level repository_size_limit is a positive number1240 returns the count of projects with repositories that exceed the size limit1241 when all projects have repository_size_limit of 0 (unlimited)1242 returns zero regardless of the namespace or instance-level repository_size_limit1243 #total_repository_size1244 returns the total size of all project repositories1245 #contains_locked_projects?1246 total_excess: 5242880, result: false1247 returns a boolean indicating whether the root namespace contains locked projects1248 total_excess: 10485760, result: false1249 returns a boolean indicating whether the root namespace contains locked projects1250 total_excess: 15728640, result: true1251 returns a boolean indicating whether the root namespace contains locked projects1252 #actual_size_limit1253 returns the correct size limit1254 #membership_lock with subgroups1255 when creating a subgroup1256 under a parent with "Membership lock" enabled1257 enables "Membership lock" on the subgroup1258 under a parent with "Membership lock" disabled1259 does not enable "Membership lock" on the subgroup1260 when enabling the parent group "Membership lock"1261 the subgroup "Membership lock" not changed1262 when disabling the parent group "Membership lock" (which was already enabled)1263 and the subgroup "Membership lock" is enabled1264 the subgroup "Membership lock" does not change1265 but the subgroup "Membership lock" is disabled1266 the subgroup "Membership lock" does not change1267 when a group is transferred into a root group1268 when the root group "Membership lock" is enabled1269 when the subgroup "Membership lock" is enabled1270 the subgroup "Membership lock" does not change1271 when the subgroup "Membership lock" is disabled1272 the subgroup "Membership lock" not changed1273 when the root group "Membership lock" is disabled1274 when the subgroup "Membership lock" is enabled1275 the subgroup "Membership lock" does not change1276 when the subgroup "Membership lock" is disabled1277 the subgroup "Membership lock" does not change1278 #closest_gitlab_subscription1279 when there is a root ancestor1280 when root has a subscription1281 is expected to be a kind of GitlabSubscription(id: integer, created_at: datetime_with_timezone, updated_at: datetime_with_timezon...ate, auto_renew: boolean, seats_in_use: integer, seats_owed: integer, trial_extension_type: integer)1282 when root has no subscription1283 is expected to be nil1284 when there is no root ancestor1285 for groups1286 has a subscription1287 is expected to be a kind of GitlabSubscription(id: integer, created_at: datetime_with_timezone, updated_at: datetime_with_timezon...ate, auto_renew: boolean, seats_in_use: integer, seats_owed: integer, trial_extension_type: integer)1288 it has no subscription1289 is expected to be nil1290 for personal namespaces1291 has a subscription1292 is expected to be a kind of GitlabSubscription(id: integer, created_at: datetime_with_timezone, updated_at: datetime_with_timezon...ate, auto_renew: boolean, seats_in_use: integer, seats_owed: integer, trial_extension_type: integer)1293 it has no subscription1294 is expected to be nil1295 #namespace_limit1296 when there is a parent namespace1297 with a namespace limit1298 returns the parent namespace limit1299 with no namespace limit1300 builds namespace limit1301 when there is no parent ancestor1302 for personal namespaces1303 with a namespace limit1304 returns the namespace limit1305 with no namespace limit1306 builds namespace limit1307 for groups1308 with a namespace limit1309 returns the namespace limit1310 with no namespace limit1311 builds namespace limit1312 #enable_temporary_storage_increase!1313 sets a date1314 is invalid when set twice1315 #additional_repo_storage_by_namespace_enabled?1316 namespace_storage_limit: false, automatic_purchased_storage_allocation: false, result: false1317 is expected to eq false1318 namespace_storage_limit: false, automatic_purchased_storage_allocation: true, result: true1319 is expected to eq true1320 namespace_storage_limit: true, automatic_purchased_storage_allocation: false, result: false1321 is expected to eq false1322 namespace_storage_limit: true, automatic_purchased_storage_allocation: true, result: false1323 is expected to eq false1324 #root_storage_size1325 when additional_repo_storage_by_namespace_enabled is false1326 initializes a new instance of EE::Namespace::RootStorageSize1327 when additional_repo_storage_by_namespace_enabled is true1328 initializes a new instance of EE::Namespace::RootExcessStorageSize1329Gitlab::Analytics::CycleAnalytics::DataCollector1330 when `Analytics::CycleAnalytics::ProjectStage` is given1331 behaves like test various start and end event combinations1332 when `Issue` based stage is given1333 between issue creation time and issue first mentioned in commit time1334 behaves like custom Value Stream Analytics Stage1335 loads serialized records1336 calculates median1337 when sorting by duration1338 returns serialized records sorted by duration DESC1339 #duration_chart_average_data1340 loads data ordered by event time1341 #count1342 is expected to eq 31343 when filtering in progress items1344 calculates median1345 loads serialized records1346 #count1347 is expected to eq 21348 between issue creation time and closing time1349 behaves like custom Value Stream Analytics Stage1350 loads serialized records1351 calculates median1352 when sorting by duration1353 returns serialized records sorted by duration DESC1354 #duration_chart_average_data1355 loads data ordered by event time1356 #count1357 is expected to eq 31358 when filtering in progress items1359 calculates median1360 loads serialized records1361 #count1362 is expected to eq 21363 between issue first mentioned in commit and first associated with milestone time1364 behaves like custom Value Stream Analytics Stage1365 loads serialized records1366 calculates median1367 when sorting by duration1368 returns serialized records sorted by duration DESC1369 #duration_chart_average_data1370 loads data ordered by event time1371 #count1372 is expected to eq 31373 when filtering in progress items1374 calculates median1375 loads serialized records1376 #count1377 is expected to eq 21378 between issue creation time and first added to board time1379 behaves like custom Value Stream Analytics Stage1380 loads serialized records1381 calculates median1382 when sorting by duration1383 returns serialized records sorted by duration DESC1384 #duration_chart_average_data1385 loads data ordered by event time1386 #count1387 is expected to eq 31388 when filtering in progress items1389 calculates median1390 loads serialized records1391 #count1392 is expected to eq 21393 between issue creation time and last edit time1394 behaves like custom Value Stream Analytics Stage1395 loads serialized records1396 calculates median1397 when sorting by duration1398 returns serialized records sorted by duration DESC1399 #duration_chart_average_data1400 loads data ordered by event time1401 #count1402 is expected to eq 31403 when filtering in progress items1404 calculates median1405 loads serialized records1406 #count1407 is expected to eq 21408 between issue label added time and label removed time1409 behaves like custom Value Stream Analytics Stage1410 loads serialized records1411 calculates median1412 when sorting by duration1413 returns serialized records sorted by duration DESC1414 #duration_chart_average_data1415 loads data ordered by event time1416 #count1417 is expected to eq 31418 when filtering in progress items1419 calculates median1420 loads serialized records1421 #count1422 is expected to eq 21423 between issue label added time and another issue label added time1424 behaves like custom Value Stream Analytics Stage1425 loads serialized records1426 calculates median1427 when sorting by duration1428 returns serialized records sorted by duration DESC1429 #duration_chart_average_data1430 loads data ordered by event time1431 #count1432 is expected to eq 31433 when filtering in progress items1434 calculates median1435 loads serialized records1436 #count1437 is expected to eq 21438 when filtering for two labels1439WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives, since literally any other error would cause the expectation to pass, including those raised by Ruby (e.g. `NoMethodError`, `NameError` and `ArgumentError`), meaning the code you are intending to test may not even get reached. Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb:314:in `block (7 levels) in <top (required)>'.1440 does not raise query syntax error1441 between issue creation time and issue label added time1442 behaves like custom Value Stream Analytics Stage1443 loads serialized records1444 calculates median1445 when sorting by duration1446 returns serialized records sorted by duration DESC1447 #duration_chart_average_data1448 loads data ordered by event time1449 #count1450 is expected to eq 31451 when filtering in progress items1452 calculates median1453 loads serialized records1454 #count1455 is expected to eq 21456 when `MergeRequest` based stage is given1457 between merge request creation time and merged at time1458 behaves like custom Value Stream Analytics Stage1459 loads serialized records1460 calculates median1461 when sorting by duration1462 returns serialized records sorted by duration DESC1463 #duration_chart_average_data1464 loads data ordered by event time1465 #count1466 is expected to eq 31467 when filtering in progress items1468 calculates median1469 loads serialized records1470 #count1471 is expected to eq 21472 between merge request merrged time and first deployed to production at time1473 behaves like custom Value Stream Analytics Stage1474 loads serialized records1475 calculates median1476 when sorting by duration1477 returns serialized records sorted by duration DESC1478 #duration_chart_average_data1479 loads data ordered by event time1480 #count1481 is expected to eq 31482 when filtering in progress items1483 calculates median1484 loads serialized records1485 #count1486 is expected to eq 21487 between first commit at and merge request merged time1488 behaves like custom Value Stream Analytics Stage1489 loads serialized records1490 calculates median1491 when sorting by duration1492 returns serialized records sorted by duration DESC1493 #duration_chart_average_data1494 loads data ordered by event time1495 #count1496 is expected to eq 31497 when filtering in progress items1498 calculates median1499 loads serialized records1500 #count1501 is expected to eq 21502 between merge request build started time and build finished time1503 behaves like custom Value Stream Analytics Stage1504 loads serialized records1505 calculates median1506 when sorting by duration1507 returns serialized records sorted by duration DESC1508 #duration_chart_average_data1509 loads data ordered by event time1510 #count1511 is expected to eq 31512 when filtering in progress items1513 calculates median1514 loads serialized records1515 #count1516 is expected to eq 21517 between merge request creation time and close time1518 behaves like custom Value Stream Analytics Stage1519 loads serialized records1520 calculates median1521 when sorting by duration1522 returns serialized records sorted by duration DESC1523 #duration_chart_average_data1524 loads data ordered by event time1525 #count1526 is expected to eq 31527 when filtering in progress items1528 calculates median1529 loads serialized records1530 #count1531 is expected to eq 21532 between merge request creation time and last edit time1533 behaves like custom Value Stream Analytics Stage1534 loads serialized records1535 calculates median1536 when sorting by duration1537 returns serialized records sorted by duration DESC1538 #duration_chart_average_data1539 loads data ordered by event time1540 #count1541 is expected to eq 31542 when filtering in progress items1543 calculates median1544 loads serialized records1545 #count1546 is expected to eq 21547 between merge request label added time and label removed time1548 behaves like custom Value Stream Analytics Stage1549 loads serialized records1550 calculates median1551 when sorting by duration1552 returns serialized records sorted by duration DESC1553 #duration_chart_average_data1554 loads data ordered by event time1555 #count1556 is expected to eq 31557 when filtering in progress items1558 calculates median1559 loads serialized records1560 #count1561 is expected to eq 21562 between code stage start time and merge request closed time1563 when issue is referenced in the commit message1564 behaves like custom Value Stream Analytics Stage1565 loads serialized records1566 calculates median1567 when sorting by duration1568 returns serialized records sorted by duration DESC1569 #duration_chart_average_data1570 loads data ordered by event time1571 #count1572 is expected to eq 31573 when filtering in progress items1574 calculates median1575 loads serialized records1576 #count1577 is expected to eq 21578 when `first_commit_at` is present1579 behaves like custom Value Stream Analytics Stage1580 loads serialized records1581 calculates median1582 when sorting by duration1583 returns serialized records sorted by duration DESC1584 #duration_chart_average_data1585 loads data ordered by event time1586 #count1587 is expected to eq 31588 when filtering in progress items1589 calculates median1590 loads serialized records1591 #count1592 is expected to eq 21593 label filter1594 behaves like custom Value Stream Analytics Stage1595 loads serialized records1596 calculates median1597 when sorting by duration1598 returns serialized records sorted by duration DESC1599 #duration_chart_average_data1600 loads data ordered by event time1601 #count1602 is expected to eq 31603 when filtering in progress items1604 calculates median1605 loads serialized records1606 #count1607 is expected to eq 21608 when `Analytics::CycleAnalytics::GroupStage` is given1609 behaves like test various start and end event combinations1610 when `Issue` based stage is given1611 between issue creation time and issue first mentioned in commit time1612 behaves like custom Value Stream Analytics Stage1613 loads serialized records1614 calculates median1615 when sorting by duration1616 returns serialized records sorted by duration DESC1617 #duration_chart_average_data1618 loads data ordered by event time1619 #count1620 is expected to eq 31621 when filtering in progress items1622 calculates median1623 loads serialized records1624 #count1625 is expected to eq 21626 between issue creation time and closing time1627 behaves like custom Value Stream Analytics Stage1628 loads serialized records1629 calculates median1630 when sorting by duration1631 returns serialized records sorted by duration DESC1632 #duration_chart_average_data1633 loads data ordered by event time1634 #count1635 is expected to eq 31636 when filtering in progress items1637 calculates median1638 loads serialized records1639 #count1640 is expected to eq 21641 between issue first mentioned in commit and first associated with milestone time1642 behaves like custom Value Stream Analytics Stage1643 loads serialized records1644 calculates median1645 when sorting by duration1646 returns serialized records sorted by duration DESC1647 #duration_chart_average_data1648 loads data ordered by event time1649 #count1650 is expected to eq 31651 when filtering in progress items1652 calculates median1653 loads serialized records1654 #count1655 is expected to eq 21656 between issue creation time and first added to board time1657 behaves like custom Value Stream Analytics Stage1658 loads serialized records1659 calculates median1660 when sorting by duration1661 returns serialized records sorted by duration DESC1662 #duration_chart_average_data1663 loads data ordered by event time1664 #count1665 is expected to eq 31666 when filtering in progress items1667 calculates median1668 loads serialized records1669 #count1670 is expected to eq 21671 between issue creation time and last edit time1672 behaves like custom Value Stream Analytics Stage1673 loads serialized records1674 calculates median1675 when sorting by duration1676 returns serialized records sorted by duration DESC1677 #duration_chart_average_data1678 loads data ordered by event time1679 #count1680 is expected to eq 31681 when filtering in progress items1682 calculates median1683 loads serialized records1684 #count1685 is expected to eq 21686 between issue label added time and label removed time1687 behaves like custom Value Stream Analytics Stage1688 loads serialized records1689 calculates median1690 when sorting by duration1691 returns serialized records sorted by duration DESC1692 #duration_chart_average_data1693 loads data ordered by event time1694 #count1695 is expected to eq 31696 when filtering in progress items1697 calculates median1698 loads serialized records1699 #count1700 is expected to eq 21701 between issue label added time and another issue label added time1702 behaves like custom Value Stream Analytics Stage1703 loads serialized records1704 calculates median1705 when sorting by duration1706 returns serialized records sorted by duration DESC1707 #duration_chart_average_data1708 loads data ordered by event time1709 #count1710 is expected to eq 31711 when filtering in progress items1712 calculates median1713 loads serialized records1714 #count1715 is expected to eq 21716 when filtering for two labels1717WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives, since literally any other error would cause the expectation to pass, including those raised by Ruby (e.g. `NoMethodError`, `NameError` and `ArgumentError`), meaning the code you are intending to test may not even get reached. Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb:314:in `block (7 levels) in <top (required)>'.1718 does not raise query syntax error1719 between issue creation time and issue label added time1720 behaves like custom Value Stream Analytics Stage1721 loads serialized records1722 calculates median1723 when sorting by duration1724 returns serialized records sorted by duration DESC1725 #duration_chart_average_data1726 loads data ordered by event time1727 #count1728 is expected to eq 31729 when filtering in progress items1730 calculates median1731 loads serialized records1732 #count1733 is expected to eq 21734 when `MergeRequest` based stage is given1735 between merge request creation time and merged at time1736 behaves like custom Value Stream Analytics Stage1737 loads serialized records1738 calculates median1739 when sorting by duration1740 returns serialized records sorted by duration DESC1741 #duration_chart_average_data1742 loads data ordered by event time1743 #count1744 is expected to eq 31745 when filtering in progress items1746 calculates median1747 loads serialized records1748 #count1749 is expected to eq 21750 between merge request merrged time and first deployed to production at time1751 behaves like custom Value Stream Analytics Stage1752 loads serialized records1753 calculates median1754 when sorting by duration1755 returns serialized records sorted by duration DESC1756 #duration_chart_average_data1757 loads data ordered by event time1758 #count1759 is expected to eq 31760 when filtering in progress items1761 calculates median1762 loads serialized records1763 #count1764 is expected to eq 21765 between first commit at and merge request merged time1766 behaves like custom Value Stream Analytics Stage1767 loads serialized records1768 calculates median1769 when sorting by duration1770 returns serialized records sorted by duration DESC1771 #duration_chart_average_data1772 loads data ordered by event time1773 #count1774 is expected to eq 31775 when filtering in progress items1776 calculates median1777 loads serialized records1778 #count1779 is expected to eq 21780 between merge request build started time and build finished time1781 behaves like custom Value Stream Analytics Stage1782 loads serialized records1783 calculates median1784 when sorting by duration1785 returns serialized records sorted by duration DESC1786 #duration_chart_average_data1787 loads data ordered by event time1788 #count1789 is expected to eq 31790 when filtering in progress items1791 calculates median1792 loads serialized records1793 #count1794 is expected to eq 21795 between merge request creation time and close time1796 behaves like custom Value Stream Analytics Stage1797 loads serialized records1798 calculates median1799 when sorting by duration1800 returns serialized records sorted by duration DESC1801 #duration_chart_average_data1802 loads data ordered by event time1803 #count1804 is expected to eq 31805 when filtering in progress items1806 calculates median1807 loads serialized records1808 #count1809 is expected to eq 21810 between merge request creation time and last edit time1811 behaves like custom Value Stream Analytics Stage1812 loads serialized records1813 calculates median1814 when sorting by duration1815 returns serialized records sorted by duration DESC1816 #duration_chart_average_data1817 loads data ordered by event time1818 #count1819 is expected to eq 31820 when filtering in progress items1821 calculates median1822 loads serialized records1823 #count1824 is expected to eq 21825 between merge request label added time and label removed time1826 behaves like custom Value Stream Analytics Stage1827 loads serialized records1828 calculates median1829 when sorting by duration1830 returns serialized records sorted by duration DESC1831 #duration_chart_average_data1832 loads data ordered by event time1833 #count1834 is expected to eq 31835 when filtering in progress items1836 calculates median1837 loads serialized records1838 #count1839 is expected to eq 21840 between code stage start time and merge request closed time1841 when issue is referenced in the commit message1842 behaves like custom Value Stream Analytics Stage1843 loads serialized records1844 calculates median1845 when sorting by duration1846 returns serialized records sorted by duration DESC1847 #duration_chart_average_data1848 loads data ordered by event time1849 #count1850 is expected to eq 31851 when filtering in progress items1852 calculates median1853 loads serialized records1854 #count1855 is expected to eq 21856 when `first_commit_at` is present1857 behaves like custom Value Stream Analytics Stage1858 loads serialized records1859 calculates median1860 when sorting by duration1861 returns serialized records sorted by duration DESC1862 #duration_chart_average_data1863 loads data ordered by event time1864 #count1865 is expected to eq 31866 when filtering in progress items1867 calculates median1868 loads serialized records1869 #count1870 is expected to eq 21871 label filter1872 behaves like custom Value Stream Analytics Stage1873 loads serialized records1874 calculates median1875 when sorting by duration1876 returns serialized records sorted by duration DESC1877 #duration_chart_average_data1878 loads data ordered by event time1879 #count1880 is expected to eq 31881 when filtering in progress items1882 calculates median1883 loads serialized records1884 #count1885 is expected to eq 21886 when filter parameters are given1887 when `project_ids` parameter is given1888 behaves like filter examples1889 provides filtered results1890 when `assignee_username` is given1891 behaves like filter examples1892 provides filtered results1893 when `author_username` is given1894 behaves like filter examples1895 provides filtered results1896 when `label_name` is given1897 behaves like filter examples1898 provides filtered results1899 when `Any` `label_name` is given1900 behaves like filter examples1901 provides filtered results1902 when two labels are given1903 behaves like filter examples1904 provides filtered results1905 when `milestone_title` is given1906 behaves like filter examples1907 provides filtered results1908 limit count1909 when limit is reached1910 shows the MAX COUNT1911 when limit is not reached1912 shows the actual count1913ApprovalState1914 #approval_rules_overwritten?1915 when approval rule on the merge request does not exist1916 returns false1917 when merge request has any approver rule1918 returns true1919 when overriding approvals is not allowed1920 returns true1921 when multiple rules are allowed1922 #wrapped_approval_rules1923 returns all rules in wrapper1924 when approval feature is unavailable1925 returns empty array1926 #approval_needed?1927 when feature not available1928 returns false1929 when overall approvals required is not zero1930 returns true1931 when any rule's approvals required is not zero1932 returns false1933 when overall approvals required and all rule's approvals_required are zero1934 returns false1935 when overall approvals required is zero, and there is no rule1936 returns false1937 when approval feature is unavailable1938 returns false1939 #approved?1940 when no rules1941 behaves like checking any_approver rule1942 when it is not met1943 returns false1944 when it is met1945 returns true1946 when only code owner rules present1947 behaves like when rules are present1948 when all rules are approved1949 returns true1950 when some rules are not approved1951 returns false1952 behaves like checking any_approver rule1953 when it is not met1954 returns false1955 when it is met1956 returns true1957 when only report approver rules present1958 behaves like when rules are present1959 when all rules are approved1960 returns true1961 when some rules are not approved1962 returns false1963 behaves like checking any_approver rule1964 when it is not met1965 returns false1966 when it is met1967 returns true1968 when regular rules present1969 behaves like when rules are present1970 when all rules are approved1971 returns true1972 when some rules are not approved1973 returns false1974 when approval feature is unavailable1975 returns true1976 #approvals_left1977 sums approvals_left from rules1978 when approval feature is unavailable1979 returns 01980 #approval_rules_left1981 counts approval_rules left1982 when approval feature is unavailable1983 returns empty array1984 #approvals_required1985 correctly sums the approvals1986 #approvers1987 includes all approvers, including code owner and group members1988 behaves like filtering author and committers1989 when self approval is disabled on project1990 excludes authors1991 when self approval is enabled on project1992 includes author1993 when committers approval is enabled on project1994 includes committers1995 when committers approval is disabled on project1996 excludes committers1997 #filtered_approvers1998 only direct users, without code owners1999 includes only rule user members2000 only unactioned2001 excludes approved approvers2002 behaves like filtering author and committers2003 when self approval is disabled on project2004 excludes authors2005 when self approval is enabled on project2006 includes author2007 when committers approval is enabled on project2008 includes committers2009 when committers approval is disabled on project2010 excludes committers2011 #unactioned_approvers2012 sums approvals_left from rules2013 behaves like filtering author and committers2014 when self approval is disabled on project2015 excludes authors2016 when self approval is enabled on project2017 includes author2018 when committers approval is enabled on project2019 includes committers2020 when committers approval is disabled on project2021 excludes committers2022 #can_approve?2023 when there are no regular approval rules2024 requires one approval2025 behaves like a MR that all members with write access can approve2026 is expected to be truthy2027 is expected to be falsey2028 is expected to be falsey2029 is expected to be falsey2030 when authors are authorized to approve their own MRs2031 allows the author to approve the MR if within the approvers list2032 allows the author to approve the MR if not within the approvers list2033 when the author has approved the MR already2034 does not allow the author to approve the MR again2035 when authors are not authorized to approve their own MRs2036 allows the author to approve the MR if within the approvers list2037 does not allow the author to approve the MR if not within the approvers list2038 when committers are authorized to approve their own MRs2039 allows the committer to approve the MR if within the approvers list2040 allows the committer to approve the MR if not within the approvers list2041 when the committer has approved the MR already2042 does not allow the committer to approve the MR again2043 when committers are not authorized to approve their own MRs2044 allows the committer to approve the MR if within the approvers list2045 does not allow the committer to approve the MR if not within the approvers list2046 when the user is both an author and a committer2047 when authors are authorized to approve their own MRs, but not committers2048 allows the user to approve the MR if within the approvers list2049 does not allow the user to approve the MR if not within the approvers list2050 when committers are authorized to approve their own MRs, but not authors2051 allows the user to approve the MR if within the approvers list2052 does not allow the user to approve the MR if not within the approvers list2053 when there is one approver required2054 when that approver is the MR author2055 does not allow a logged-out user to approve the MR2056 is not approved2057 behaves like authors self-approval authorization2058 when authors are authorized to approve their own MRs2059 allows the author to approve the MR if within the approvers list2060 when authors are not authorized to approve their own MRs2061 does not allow the author to approve the MR2062 behaves like a MR that all members with write access can approve2063 is expected to be truthy2064 is expected to be falsey2065 is expected to be falsey2066 is expected to be falsey2067 when there are multiple approvers required2068 when one of those approvers is the MR author2069 requires the original number of approvals2070 allows any other other approver to approve the MR2071 does not allow a logged-out user to approve the MR2072 behaves like authors self-approval authorization2073 when authors are authorized to approve their own MRs2074 allows the author to approve the MR if within the approvers list2075 when authors are not authorized to approve their own MRs2076 does not allow the author to approve the MR2077 when self-approval is disabled and all of the valid approvers have approved the MR2078 requires the original number of approvals2079 does not allow the author to approve the MR2080 does not allow the approvers to approve the MR again2081 behaves like a MR that all members with write access can approve2082 is expected to be truthy2083 is expected to be falsey2084 is expected to be falsey2085 is expected to be falsey2086 when self-approval is enabled and all of the valid approvers have approved the MR2087 requires the original number of approvals2088 does not allow the approvers to approve the MR again2089 allows any other project member with write access to approve the MR2090 when all approvers have approved the MR2091 is approved2092 returns sum of each rule's approvals_left2093 when the approvers do not contain the MR author2094 requires the original number of approvals2095 allows anyone with write access except for author to approve the MR2096 #any_approver_rules2097 a project with any_approver rule2098 returns project rules2099 a merge request with regular rule2100 returns merge request rules2101 when any_approver rule with 2 approvals required exist2102 requires the 2 approvals2103 behaves like a MR that all members with write access can approve2104 is expected to be truthy2105 is expected to be falsey2106 is expected to be falsey2107 is expected to be falsey2108 a user approves the MR2109 requires 1 approval2110 another user approves the MR2111 becomes approved2112 when approval feature is disabled2113 delegates the call to merge request2114 #authors_can_approve?2115 when project allows author approval2116 returns true2117 when project disallows author approval2118 returns true2119 #suggested_approvers2120 user cannot see private group2121 shows public users2122 does not show users who have already approved2123 user can see private group2124 shows private users2125 when only a single rule is allowed2126 #wrapped_approval_rules2127 returns one regular rule in wrapper2128 #approval_needed?2129 when feature not available2130 returns false2131 when overall approvals required is not zero2132 returns true2133 when any rule's approvals required is not zero2134 returns false2135 when overall approvals required and all rule's approvals_required are zero2136 returns false2137 when overall approvals required is zero, and there is no rule2138 returns false2139 #approved?2140 when no rules2141 behaves like checking any_approver rule2142 when it is not met2143 returns false2144 when it is met2145 returns true2146 when only code owner rules present2147 behaves like when rules are present2148 when all rules are approved2149 returns true2150 when some rules are not approved2151 returns false2152 behaves like checking any_approver rule2153 when it is not met2154 returns false2155 when it is met2156 returns true2157 when only report approver rules present2158 behaves like when rules are present2159 when all rules are approved2160 returns true2161 when some rules are not approved2162 returns false2163 behaves like checking any_approver rule2164 when it is not met2165 returns false2166 when it is met2167 returns true2168 when regular rules present2169 behaves like when rules are present2170 when all rules are approved2171 returns true2172 when some rules are not approved2173 returns false2174 when a single project rule is present2175 behaves like when rules are present2176 when all rules are approved2177 returns true2178 when some rules are not approved2179 returns false2180 when the project rule is overridden by a fallback but the project does not allow overriding2181 behaves like when rules are present2182 when all rules are approved2183 returns true2184 when some rules are not approved2185 returns false2186 when the project rule is overridden by a fallback2187 behaves like checking any_approver rule2188 when it is not met2189 returns false2190 when it is met2191 returns true2192 when a single project rule is present that is overridden in the merge request2193 behaves like checking any_approver rule2194 when it is not met2195 returns false2196 when it is met2197 returns true2198 #approvals_left2199 sums approvals_left from rules2200 #approval_rules_left2201 counts approval_rules left2202 #approvers2203 includes approvers from first rule, code owner rule, and report approver rule2204 behaves like filtering author and committers2205 when self approval is disabled on project2206 excludes authors2207 when self approval is enabled on project2208 includes author2209 when committers approval is enabled on project2210 includes committers2211 when committers approval is disabled on project2212 excludes committers2213 #filtered_approvers2214 only direct users, without code owners2215 excludes code owners2216 only unactioned2217 excludes approved approvers2218 behaves like filtering author and committers2219 when self approval is disabled on project2220 excludes authors2221 when self approval is enabled on project2222 includes author2223 when committers approval is enabled on project2224 includes committers2225 when committers approval is disabled on project2226 excludes committers2227 #unactioned_approvers2228 sums approvals_left from rules2229 behaves like filtering author and committers2230 when self approval is disabled on project2231 excludes authors2232 when self approval is enabled on project2233 includes author2234 when committers approval is enabled on project2235 includes committers2236 when committers approval is disabled on project2237 excludes committers2238 #can_approve?2239 when the user is the author2240 and author is an approver2241 returns true when authors can approve2242 returns false when authors cannot approve2243 and author is not an approver2244 returns true when authors can approve2245 returns false when authors cannot approve2246 when user is a committer2247 and committer is an approver2248 return true when committers can approve2249 return false when committers cannot approve2250 and committer is not an approver2251 return true when committers can approve2252 return false when committers cannot approve2253 when there is one approver required2254 when that approver is the MR author2255 requires one approval2256 does not allow a logged-out user to approve the MR2257 is not approved2258 behaves like authors self-approval authorization2259 when authors are authorized to approve their own MRs2260 allows the author to approve the MR if within the approvers list2261 when authors are not authorized to approve their own MRs2262 does not allow the author to approve the MR2263 behaves like a MR that all members with write access can approve2264 is expected to be truthy2265 is expected to be falsey2266 is expected to be falsey2267 is expected to be falsey2268 when there are multiple approvers required2269 when one of those approvers is the MR author2270 requires the original number of approvals2271 allows any other other approver to approve the MR2272 does not allow a logged-out user to approve the MR2273 behaves like authors self-approval authorization2274 when authors are authorized to approve their own MRs2275 allows the author to approve the MR if within the approvers list2276 when authors are not authorized to approve their own MRs2277 does not allow the author to approve the MR2278 when self-approval is disabled and all of the valid approvers have approved the MR2279 requires the original number of approvals2280 does not allow the author to approve the MR2281 does not allow the approvers to approve the MR again2282 behaves like a MR that all members with write access can approve2283 is expected to be truthy2284 is expected to be falsey2285 is expected to be falsey2286 is expected to be falsey2287 when self-approval is enabled and all of the valid approvers have approved the MR2288 requires the original number of approvals2289 does not allow the approvers to approve the MR again2290 allows any other project member with write access to approve the MR2291 when all approvers have approved the MR2292 is approved2293 returns sum of each rule's approvals_left2294 when the approvers do not contain the MR author2295 requires the original number of approvals2296 allows anyone with write access except for author to approve the MR2297 when an approver does not have access to the merge request2298 the user cannot approver2299 #authors_can_approve?2300 when project allows author approval2301 returns true2302 when project disallows author approval2303 returns true2304 #user_defined_rules2305 when approval rules are not overwritten2306 and multiple approval rules is disabled2307 returns the first rule2308 and multiple approval rules is enabled2309 returns the rules as is2310 and rules are scoped by protected branches2311 returns the rules that are applicable to the merge request target branch2312 and target_branch is specified2313 returns the rules that are applicable to the specified target_branch2314 when approval rules are overwritten2315 when multiple approval rules is disabled2316 returns the first rule2317 when multiple approval rules is enabled2318 returns the rules as is2319 and rules have source rules that are scoped by protected branches2320 returns the rules that are applicable to the merge request target branch2321 and target_branch is specified2322 returns the rules that are applicable to the specified target_branch2323 #total_approvals_count2324 returns the total number of approvals (required + optional)2325Epics::TreeReorderService2326 #execute2327 when epics feature is not enabled2328 behaves like error for the tree update2329 does not change relative_positions2330 does not change parent2331 returns error status2332 returns correct error2333 when epics feature is enabled2334 when user does not have permissions to admin the base epic2335 behaves like error for the tree update2336 does not change relative_positions2337 does not change parent2338 returns error status2339 returns correct error2340 when user does have permission to admin the base epic2341 when relative_position is not valid2342 behaves like error for the tree update2343 does not change relative_positions2344 does not change parent2345 returns error status2346 returns correct error2347 when moving EpicIssue2348 when object being moved is not the same type as the switched object2349 reorders the objects2350 when no object to switch is provided2351 updates the parent2352 creates system notes2353 when object being moved is from another epic2354 when the new_parent_id has not been provided2355 behaves like error for the tree update2356 does not change relative_positions2357 does not change parent2358 returns error status2359 returns correct error2360 when the new_parent_id does not match the parent of the relative positioning object2361 behaves like error for the tree update2362 does not change relative_positions2363 does not change parent2364 returns error status2365 returns correct error2366 when the new_parent_id matches the parent id of the relative positioning object2367 reorders the objects2368 when object being moved is not supported type2369 behaves like error for the tree update2370 does not change relative_positions2371 does not change parent2372 returns error status2373 returns correct error2374 when adjacent object is not supported type2375 behaves like error for the tree update2376 does not change relative_positions2377 does not change parent2378 returns error status2379 returns correct error2380 when user does not have permissions to admin the previous parent2381 behaves like error for the tree update2382 does not change relative_positions2383 does not change parent2384 returns error status2385 returns correct error2386 when user does not have permissions to admin the new parent2387 behaves like error for the tree update2388 does not change relative_positions2389 does not change parent2390 returns error status2391 returns correct error2392 when the epics of reordered epic-issue links are not subepics of the base epic2393 when new_parent_id is not provided2394 behaves like error for the tree update2395 does not change relative_positions2396 does not change parent2397 returns error status2398 returns correct error2399 when new_parent_id is provided2400 behaves like error for the tree update2401 does not change relative_positions2402 does not change parent2403 returns error status2404 returns correct error2405 when moving is successful2406 updates the links relative positions2407 when a new_parent_id of a valid parent is provided2408 updates the parent2409 updates the links relative positions2410 creates system notes2411 when moving Epic2412 when subepics feature is disabled2413 behaves like error for the tree update2414 does not change relative_positions2415 does not change parent2416 returns error status2417 returns correct error2418 when subepics feature is enabled2419 when user does not have permissions to admin the previous parent2420 behaves like error for the tree update2421 does not change relative_positions2422 does not change parent2423 returns error status2424 returns correct error2425 when user does not have permissions to admin the previous parent links2426 behaves like error for the tree update2427 does not change relative_positions2428 does not change parent2429 returns error status2430 returns correct error2431 when there is some other error with the new parent2432 behaves like error for the tree update2433DEPRECATION WARNING: ActiveModel::Errors#values is deprecated and will be removed in Rails 6.2.2434To achieve the same use:2435 errors.map { |error| error.message } (called from create_single_link at /builds/gitlab-org/gitlab/ee/app/services/epic_links/create_service.rb:30)2436 does not change relative_positions2437DEPRECATION WARNING: ActiveModel::Errors#values is deprecated and will be removed in Rails 6.2.2438To achieve the same use:2439 errors.map { |error| error.message } (called from create_single_link at /builds/gitlab-org/gitlab/ee/app/services/epic_links/create_service.rb:30)2440 does not change parent2441DEPRECATION WARNING: ActiveModel::Errors#values is deprecated and will be removed in Rails 6.2.2442To achieve the same use:2443 errors.map { |error| error.message } (called from create_single_link at /builds/gitlab-org/gitlab/ee/app/services/epic_links/create_service.rb:30)2444 returns error status2445DEPRECATION WARNING: ActiveModel::Errors#values is deprecated and will be removed in Rails 6.2.2446To achieve the same use:2447 errors.map { |error| error.message } (called from create_single_link at /builds/gitlab-org/gitlab/ee/app/services/epic_links/create_service.rb:30)2448 returns correct error2449 when user does not have permissions to admin the new parent2450 behaves like error for the tree update2451 does not change relative_positions2452 does not change parent2453 returns error status2454 returns correct error2455 when the reordered epics are not subepics of the base epic2456 behaves like error for the tree update2457 does not change relative_positions2458 does not change parent2459 returns error status2460 returns correct error2461 when moving is successful2462 updates the links relative positions2463 when new parent is current epic2464 updates the relative positions2465 does not update the parent_id2466 when object being moved is from another epic and new_parent_id matches parent of adjacent object2467 updates the relative positions2468 updates the parent2469 creates system notes2470EpicIssue2471 validations2472 is valid to add non-confidential issue to non-confidential epic2473 is valid to add confidential issue to confidential epic2474 is valid to add confidential issue to non-confidential epic2475 is not valid to add non-confidential issue to confidential epic2476 relative positioning2477 behaves like a class that supports relative positioning2478 #scoped_items2479 includes all items with the same scope2480 #relative_siblings2481 includes all items with the same scope, except self2482 .move_nulls_to_end2483 moves items with null relative_position to the end2484 preserves relative position2485 moves the item near the start position when there are no existing positions2486 does not perform any moves if all items have their relative_position set2487 manages to move nulls to the end even if there is a sequence at the end2488 manages to move nulls to the end even if there is not enough space2489 manages to move nulls to the end, stacking if we cannot create enough space2490 manages to move nulls found in the relative scope2491 can move many nulls2492 does not have an N+1 issue2493 .move_nulls_to_start2494 moves items with null relative_position to the start2495 moves the item near the start position when there are no existing positions2496 preserves relative position2497 does not perform any moves if all items have their relative_position set2498 manages to move nulls to the start even if there is not enough space2499 manages to move nulls to the end, stacking if we cannot create enough space2500 #move_before2501 moves item before2502 can move the item before an item at the start2503 can move the item before an item at MIN_POSITION2504 can move the item before an item bunched up at MIN_POSITION2505 when there is no space2506 moves items correctly2507 leap-frogging to the left2508 can leap-frog STEPS times before needing to rebalance2509 there is no space to the left after moving STEPS times2510 rebalances to the right2511 #move_after2512 moves item after2513 can move the item after an item bunched up at MAX_POSITION2514 when there is no space2515 can move the item after an item at MAX_POSITION2516 moves items correctly2517 leap-frogging2518 rebalances after STEPS jumps2519 #move_to_start2520 places items at most IDEAL_DISTANCE from the start when the range is open2521 moves item to the end2522 positions the item at MIN_POSITION when there is only one space left2523 rebalances when there is already an item at the MIN_POSITION2524 deals with a run of elements at the start2525 #move_to_end2526 places items at most IDEAL_DISTANCE from the start when the range is open2527 moves item to the end2528 positions the item at MAX_POSITION when there is only one space left2529 rebalances when there is already an item at the MAX_POSITION2530 deals with a run of elements at the end2531 #move_between2532 positions item between two other2533 positions item between on top2534 positions item between to end2535 positions items even when after and before positions are the same2536 positions item in the middle of other two if distance is big enough2537 positions item closer to the middle if we are at the very top2538 positions item closer to the middle if we are at the very bottom2539 positions item in the middle of other two2540 positions item right if we pass non-sequential parameters2541 avoids N+1 queries when rebalancing other items2542 the two items are next to each other2543 behaves like moves item between2544 moves the middle item to between left and right2545 there is no space2546 behaves like moves item between2547 moves the middle item to between left and right2548 there is a bunch of items2549 handles bunches correctly2550 behaves like moves item between2551 moves the middle item to between left and right2552 with a mixed tree level2553 can create space to the right2554 can create space to the left2555 moves nulls to the end2556VulnerabilityFeedback::CreateService#execute2557 when params are valid2558 when user is not authorized2559 raise error if permission is denied2560 when feedback_type is dismissal2561 creates the feedback with the given params2562 when pipeline was updated more than 5 minutes ago2563 touches pipeline related to feedback2564 when pipeline was updated less than 5 minutes ago2565 does not touch pipeline related to feedback2566 when feedback params has a comment2567 sets the comment attributes2568 when feedback params does not have a comment2569 does not set comment attributes2570 when the `dismiss_vulnerability` argument is true2571 when the security_dashboard is not enabled2572 does not dismiss the existing vulnerability2573 when the security_dashboard is enabled2574 dismisses the existing vulnerability2575 when the `dismiss_vulnerability` argument is false2576 when the security_dashboard is not enabled2577 does not dismiss the existing vulnerability2578 when the security_dashboard is enabled2579 dismisses the existing vulnerability2580 when feedback_type is issue2581DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: vulnerabilities/issue_description.md.erb (called from render_description at /builds/gitlab-org/gitlab/ee/app/services/issues/create_from_vulnerability_data_service.rb:37)2582 creates the feedback with the given params2583 updates the feedback when it already exists2584 creates a new issue when feedback already exists and issue has been deleted2585 delegates the Issue creation to CreateFromVulnerabilityDataService2586 when the id of the vulnerability is provided in vulnerability_data params2587 when id is missing2588 does not create new Vulnerabilities::IssueLink2589 creates the feedback2590 when id is invalid2591 raises Gitlab::Access::AccessDeniedError2592 when id belongs to other project2593 raises Gitlab::Access::AccessDeniedError2594 when id is valid2595 delegates issue link creation to VulnerabilityIssueLinks::CreateService2596 delegates work to VulnerabilityIssueLinks::CreateService2597 issue link has correctly set vulnerability and link type2598 creates the feedback2599 when issue link is already created2600 when feedback does not exist2601 does not create new issue link2602 does not create new issue2603 does not create a feedback2604 when feedback already exists2605 does not create new issue link2606 does not create new issue2607 returns the feedback2608 when a previously created issue is provided2609 does not create a new issue2610 sets the feedback issue to the created issue2611 when feedback_type is merge_request2612DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: vulnerabilities/remediation.patch.erb (called from render_template at /builds/gitlab-org/gitlab/ee/app/services/merge_requests/create_from_vulnerability_data_service.rb:88)2613DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: vulnerabilities/merge_request_description.md.erb (called from render_template at /builds/gitlab-org/gitlab/ee/app/services/merge_requests/create_from_vulnerability_data_service.rb:88)2614 creates the feedback with the given params2615 delegates the MergeRequest creation to CreateFromVulnerabilityDataService2616 destroys merge_request and branch if feedback fails to persist2617 when finding_uuid is provided2618 sets the finding_uuid2619 when feedback exists2620 returns error when params are invalid2621 when params are invalid2622 when vulnerability_data params is missing and feedback_type is issue2623 returns error with correct message2624 when feedback_type is invalid2625 returns error with correct message2626 when category is invalid2627 returns error with correct message2628EpicLinks::CreateService2629 #execute2630 when subepics feature is disabled2631 returns an error2632 no relationship is created2633 when subepics feature is enabled2634 when an error occurs2635 when a single epic is given2636 when a user does not have permissions to add an epic2637 returns an error2638 no relationship is created2639 when a user has permissions to add an epic2640 when an epic from another group is given2641DEPRECATION WARNING: ActiveModel::Errors#values is deprecated and will be removed in Rails 6.2.2642To achieve the same use:2643 errors.map { |error| error.message } (called from create_single_link at /builds/gitlab-org/gitlab/ee/app/services/epic_links/create_service.rb:30)2644 returns an error2645DEPRECATION WARNING: ActiveModel::Errors#values is deprecated and will be removed in Rails 6.2.2646To achieve the same use:2647 errors.map { |error| error.message } (called from create_single_link at /builds/gitlab-org/gitlab/ee/app/services/epic_links/create_service.rb:30)2648 no relationship is created2649 when hierarchy is cyclic2650 when given child epic is the same as given parent2651DEPRECATION WARNING: ActiveModel::Errors#values is deprecated and will be removed in Rails 6.2.2652To achieve the same use:2653 errors.map { |error| error.message } (called from create_single_link at /builds/gitlab-org/gitlab/ee/app/services/epic_links/create_service.rb:30)2654 returns an error2655DEPRECATION WARNING: ActiveModel::Errors#values is deprecated and will be removed in Rails 6.2.2656To achieve the same use:2657 errors.map { |error| error.message } (called from create_single_link at /builds/gitlab-org/gitlab/ee/app/services/epic_links/create_service.rb:30)2658 no relationship is created2659 when given child epic is parent of the given parent2660DEPRECATION WARNING: ActiveModel::Errors#values is deprecated and will be removed in Rails 6.2.2661To achieve the same use:2662 errors.map { |error| error.message } (called from create_single_link at /builds/gitlab-org/gitlab/ee/app/services/epic_links/create_service.rb:30)2663 returns an error2664DEPRECATION WARNING: ActiveModel::Errors#values is deprecated and will be removed in Rails 6.2.2665To achieve the same use:2666 errors.map { |error| error.message } (called from create_single_link at /builds/gitlab-org/gitlab/ee/app/services/epic_links/create_service.rb:30)2667 no relationship is created2668 when new child epic is an ancestor of the given parent2669DEPRECATION WARNING: ActiveModel::Errors#values is deprecated and will be removed in Rails 6.2.2670To achieve the same use:2671 errors.map { |error| error.message } (called from create_single_link at /builds/gitlab-org/gitlab/ee/app/services/epic_links/create_service.rb:30)2672 returns an error2673DEPRECATION WARNING: ActiveModel::Errors#values is deprecated and will be removed in Rails 6.2.2674To achieve the same use:2675 errors.map { |error| error.message } (called from create_single_link at /builds/gitlab-org/gitlab/ee/app/services/epic_links/create_service.rb:30)2676 no relationship is created2677 when adding an epic that is already a child of the parent epic2678DEPRECATION WARNING: ActiveModel::Errors#values is deprecated and will be removed in Rails 6.2.2679To achieve the same use:2680 errors.map { |error| error.message } (called from create_single_link at /builds/gitlab-org/gitlab/ee/app/services/epic_links/create_service.rb:30)2681 returns an error2682DEPRECATION WARNING: ActiveModel::Errors#values is deprecated and will be removed in Rails 6.2.2683To achieve the same use:2684 errors.map { |error| error.message } (called from create_single_link at /builds/gitlab-org/gitlab/ee/app/services/epic_links/create_service.rb:30)2685 no relationship is created2686 when adding to an Epic that is already at maximum depth2687 returns an error2688 no relationship is created2689 when total depth after adding would exceed depth limit2690DEPRECATION WARNING: ActiveModel::Errors#values is deprecated and will be removed in Rails 6.2.2691To achieve the same use:2692 errors.map { |error| error.message } (called from create_single_link at /builds/gitlab-org/gitlab/ee/app/services/epic_links/create_service.rb:30)2693 returns an error2694DEPRECATION WARNING: ActiveModel::Errors#values is deprecated and will be removed in Rails 6.2.2695To achieve the same use:2696 errors.map { |error| error.message } (called from create_single_link at /builds/gitlab-org/gitlab/ee/app/services/epic_links/create_service.rb:30)2697 no relationship is created2698 when multiple epics are given2699 when a user dos not have permissions to add an epic2700 returns an error2701 no relationship is created2702 when a user has permissions to add an epic2703 when adding epics that are already a child of the parent epic2704 returns an error2705 no relationship is created2706 when total depth after adding would exceed limit2707 returns an error2708 no relationship is created2709 when an epic from a another group is given2710 returns an error2711 no relationship is created2712 when hierarchy is cyclic2713 when given child epic is the same as given parent2714 returns an error2715 no relationship is created2716 when given child epic is parent of the given parent2717 returns an error2718 no relationship is created2719 when the reference list is empty2720 returns an error2721 no relationship is created2722 when there are invalid references2723 adds only valid references2724 returns error status2725 when everything is ok2726 when a correct reference is given2727 creates a new relationship and updates epic2728 moves the new child epic to the top and moves the existing ones down2729 returns success status2730 creates system notes2731 when an epic from a subgroup is given2732 creates a new relationship and updates epic2733 moves the new child epic to the top and moves the existing ones down2734 returns success status2735 creates system notes2736 when multiple valid epics are given2737 creates new relationships2738 creates system notes2739 returns success status2740 avoids un-necessary database queries2741 when at least one epic is still not assigned to the parent epic2742 creates new relationships2743 creates system notes2744 returns success status2745 when adding an Epic that has existing children2746 when Epic to add has more than 5 children2747 creates a new relationship and updates epic2748 moves the new child epic to the top and moves the existing ones down2749 returns success status2750 creates system notes2751 when an epic is already assigned to another epic2752 creates a new relationship and updates epic2753 moves the new child epic to the top and moves the existing ones down2754 returns success status2755 creates system notes2756EE::Boards::Lists::UpdateService2757 with project2758 behaves like board list update2759 with licensed wip limits2760 updates the list if max_issue_count is given2761 updates the list if max_issue_weight is given2762 does not update the list if max_issue_weight is nil2763 updates the max issue count of the list if both count and weight limits are provided2764 does not change count if weight is updated2765 does not change weight if count is updated2766 does not update max_issue_count if max_issue_count is nil2767 sets max_issue_count to 0 if requested2768 sets max_issue_weight to 0 if requested2769 sets max_issue_count to 0 if requested2770 sets max_issue_weight to 0 if requested2771 does not update count and weight when negative values for both are given2772 sets count and weight to 0 when non numerical values are given2773 does not update the list max issue count if can_admin returns false2774 does not update the list max issue weight if can_admin returns false2775 limit metric2776 updates the list if limit_metric "issue_count" is given2777 updates the list if limit_metric "issue_weights" is given2778 updates the list if "all_metrics" limit_metric is given2779 updates the list if "all_metrics" limit_metric is given2780 updates the list if no limit_metric is given2781 fails if an invalid limit_metric is given2782 without licensed wip limits2783 does not update the list even if max_issue_count is given2784 does not update the list if can_admin returns false2785 does not update the list even if max_issue_weight is given2786 does not update the list if can_admin returns false2787 with group2788 behaves like board list update2789 with licensed wip limits2790 updates the list if max_issue_count is given2791 updates the list if max_issue_weight is given2792 does not update the list if max_issue_weight is nil2793 updates the max issue count of the list if both count and weight limits are provided2794 does not change count if weight is updated2795 does not change weight if count is updated2796 does not update max_issue_count if max_issue_count is nil2797 sets max_issue_count to 0 if requested2798 sets max_issue_weight to 0 if requested2799 sets max_issue_count to 0 if requested2800 sets max_issue_weight to 0 if requested2801 does not update count and weight when negative values for both are given2802 sets count and weight to 0 when non numerical values are given2803 does not update the list max issue count if can_admin returns false2804 does not update the list max issue weight if can_admin returns false2805 limit metric2806 updates the list if limit_metric "issue_count" is given2807 updates the list if limit_metric "issue_weights" is given2808 updates the list if "all_metrics" limit_metric is given2809 updates the list if "all_metrics" limit_metric is given2810 updates the list if no limit_metric is given2811 fails if an invalid limit_metric is given2812 without licensed wip limits2813 does not update the list even if max_issue_count is given2814 does not update the list if can_admin returns false2815 does not update the list even if max_issue_weight is given2816 does not update the list if can_admin returns false2817Banzai::Filter::References::IterationReferenceFilter2818 requires project context2819 group context2820 when group iteration2821 for subgroups2822 links to a valid reference of subgroup and group iterations2823 for private subgroups2824 links to a valid reference of subgroup and group iterations2825 when iteration is open2826 group iterations2827 ignores valid references contained inside 'pre' element2828 ignores valid references contained inside 'code' element2829 ignores valid references contained inside 'a' element2830 ignores valid references contained inside 'style' element2831 includes default classes2832 includes a data-project attribute2833 includes a data-iteration attribute2834 supports an :only_path context2835 does not support references by IID2836 does not support references by link2837 does not support cross-project references2838 supports parent group references2839 behaves like String-based single-word references2840 links to a valid reference2841 links with adjacent text2842 links with adjacent html tags2843 ignores invalid iteration names2844 behaves like String-based multi-word references in quotes2845 links to a valid reference2846 links with adjacent text2847 ignores invalid iteration names2848 behaves like referencing a iteration in a link href2849 links to a valid reference2850 links with adjacent text2851 includes a data-project attribute2852 includes a data-iteration attribute2853 behaves like references with HTML entities2854 links to a valid reference2855 ignores invalid iteration names and escapes entities2856 behaves like HTML text with references2857 preserves escaped HTML text and adds valid references2858 preserves escaped HTML text if there are no valid references2859 when iteration is closed2860 group iterations2861 ignores valid references contained inside 'pre' element2862 ignores valid references contained inside 'code' element2863 ignores valid references contained inside 'a' element2864 ignores valid references contained inside 'style' element2865 includes default classes2866 includes a data-project attribute2867 includes a data-iteration attribute2868 supports an :only_path context2869 does not support references by IID2870 does not support references by link2871 does not support cross-project references2872 supports parent group references2873 behaves like String-based single-word references2874 links to a valid reference2875 links with adjacent text2876 links with adjacent html tags2877 ignores invalid iteration names2878 behaves like String-based multi-word references in quotes2879 links to a valid reference2880 links with adjacent text2881 ignores invalid iteration names2882 behaves like referencing a iteration in a link href2883 links to a valid reference2884 links with adjacent text2885 includes a data-project attribute2886 includes a data-iteration attribute2887 behaves like references with HTML entities2888 links to a valid reference2889 ignores invalid iteration names and escapes entities2890 behaves like HTML text with references2891 preserves escaped HTML text and adds valid references2892 preserves escaped HTML text if there are no valid references2893Vulnerabilities::DismissService2894 with an authorized user with proper permissions2895 creates note2896 behaves like calls vulnerability statistics utility services in order2897 calls the service classes in order2898 when the `dismiss_findings` argument is false2899 dismisses only vulnerability2900 when the `dismiss_findings` argument is not false2901 dismisses a vulnerability and its associated findings with correct attributes2902 when comment is added2903 dismisses a vulnerability and its associated findings with comment2904 when the dismissal_reason is added2905 dismisses a vulnerability and its associated findings with comment2906 when there is a finding dismissal error2907 responds with error2908 when security dashboard feature is disabled2909 raises an "access denied" error2910 permissions2911 is expected to be allowed for :owner2912 is expected to be allowed for :maintainer2913 is expected to be allowed for :developer2914 is expected to be denied for :auditor2915 is expected to be denied for :reporter2916 is expected to be denied for :guest2917 is expected to be denied for :anonymous2918 when admin mode is enabled2919 is expected to be allowed for :admin2920 when admin mode is disabled2921 is expected to be denied for :admin2922layouts/nav/sidebar/_group2923 trial status widget2924 show_widget: true, experiment_enabled: true, examples_to_include: ["does record experiment subject", "renders the widget & popover"]2925 records the group as an experiment subject2926 renders both the widget & popover component initialization elements2927 show_widget: true, experiment_enabled: false, examples_to_include: ["does record experiment subject", "does not render the widget & popover"]2928 records the group as an experiment subject2929 does not render2930 show_widget: false, experiment_enabled: true, examples_to_include: ["does not record experiment subject", "does not render the widget & popover"]2931 does not record the group as an experiment subject2932 does not render2933 show_widget: false, experiment_enabled: false, examples_to_include: ["does not record experiment subject", "does not render the widget & popover"]2934 does not record the group as an experiment subject2935 does not render2936 Epics menu2937 has a link to the epic list path2938 List2939 has a link to the epic list path2940 Boards2941 has a link to the epic boards path2942 Roadmap2943 has a link to the epic roadmap path2944 Issues menu2945 iterations link2946 with iterations licensed feature available2947 with group iterations feature flag enabled2948 is visible2949 with iterations feature flag disabled2950 is not visible2951 with iterations licensed feature disabled2952 is not visible2953 Security & Compliance menu2954 when security dashboard feature is enabled2955 is visible2956 when compliance dashboard feature is enabled2957 when the user does not have access to Compliance dashboard2958 is not visible2959 when the user has access to Compliance dashboard2960 is visible2961 when credentials inventory feature is enabled2962 when the group does not enforce managed accounts2963 behaves like Credentials tab is not visible2964 does not show the `Credentials` tab2965 when the group enforces managed accounts2966 when the user has privileges to view Credentials2967 is visible2968 when the user does not have privileges to view Credentials2969 behaves like Credentials tab is not visible2970 does not show the `Credentials` tab2971 when audit events feature is enabled2972 when the user does not have access to Audit Events2973 is not visible2974 when the user has access to Audit Events2975 is visible2976 when security dashboard feature is disabled2977 is not visible2978 Push Rules menu2979 has a link to the push rules list path2980 Analytics menu2981 CI/CD analytics2982 has a link to the CI/CD analytics page2983 feature is disabled2984 is expected not to have visible link "CI/CD"2985 DevOps2986 DevOps adoption feature is available2987 is visible2988 DevOps adoption feature is not available2989 is not visible2990 Repository analytics2991 has a link to the Repository analytics page2992 feature is not available2993 is expected not to have visible link "Repository"2994 contribution analytics tab2995 is visible2996 contribution analytics feature is available2997 is visible2998 contribution analytics feature is not available2999 we do not show promotions3000 is not visible3001 no license installed3002 is visible when there is no valid license but we show promotions3003 group issue boards link3004 when multiple issue board is disabled3005 shows link text in singular3006 when multiple issue board is enabled3007 shows link text in plural3008 Insights analytics3009 has a link to the insights analytics page3010 feature is disabled3011 is expected not to have visible link "Insights"3012 Issue analytics3013 has a link to the Issue analytics page3014 feature is disabled3015 is expected not to have visible link nil with exact text Issue3016 Productivity analytics3017 has a link to the Productivity analytics page3018 feature is disabled3019 is expected not to have visible link "Productivity" with href "/groups/group626/-/analytics/productivity_analytics"3020 Cycle analytics3021 has a link to the Cycle analytics page3022 feature is disabled3023 is expected not to have visible link "Value stream"3024 Wiki Menu3025 when wiki is available to user3026 shows the wiki tab with the wiki internal link3027 when wiki is unavailable to user3028 does not show the wiki tab3029 Settings3030 has a link to the LDAP sync settings page3031 has a link to the SAML SSO settings page3032 has a link to the SAML group links settings page3033 has a link to the Webhooks settings page3034 has a link to the Usage Quotas settings page3035 has a link to the Billing settings page3036Gitlab::Ci::Config::Entry::Need3037 with Bridge config3038 when upstream is specified3039 #valid?3040 is expected to be valid3041 #value3042 returns job needs configuration3043 when need is empty3044 #valid?3045 is expected not to be valid3046 #errors3047 is returns an error about an empty config3048 with CrossProjectDependency config3049 #artifacts3050 artifacts: {:artifacts=>true}, value: true, validity: true3051 #valid?3052 is expected to eq true3053 #value3054 returns job needs configuration3055 #type3056 is expected to eq :cross_dependency3057 artifacts: {:artifacts=>false}, value: false, validity: true3058 #valid?3059 is expected to eq true3060 #value3061 returns job needs configuration3062 #type3063 is expected to eq :cross_dependency3064 artifacts: {:artifacts=>nil}, value: true, validity: true3065 #valid?3066 is expected to eq true3067 #value3068 returns job needs configuration3069 #type3070 is expected to eq :cross_dependency3071 artifacts: {}, value: true, validity: true3072 #valid?3073 is expected to eq true3074 #value3075 returns job needs configuration3076 #type3077 is expected to eq :cross_dependency3078 artifacts: {:artifacts=>1}, value: 1, validity: false3079 #valid?3080 is expected to eq false3081 #value3082 returns job needs configuration3083 #type3084 is expected to eq :cross_dependency3085 artifacts: {:artifacts=>"str"}, value: "str", validity: false3086 #valid?3087 is expected to eq false3088 #value3089 returns job needs configuration3090 #type3091 is expected to eq :cross_dependency3092 behaves like required string attribute3093 #project3094 value: {}, validity: false, error: "can't be blank"3095 #valid?3096 is expected to eq false3097 #value3098 returns needs configuration3099 #type3100 is expected to eq :cross_dependency3101 #errors3102 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223103 is expected to include "cross project dependency project can't be blank"3104 value: {:project=>nil}, validity: false, error: "can't be blank"3105 #valid?3106 is expected to eq false3107 #value3108 returns needs configuration3109 #type3110 is expected to eq :cross_dependency3111 #errors3112 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223113 is expected to include "cross project dependency project can't be blank"3114 value: {:project=>"something"}, validity: true, error: ""3115 #valid?3116 is expected to eq true3117 #value3118 returns needs configuration3119 #type3120 is expected to eq :cross_dependency3121 #errors3122 is expected to be empty3123 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1233124 value: {:project=>:symbol}, validity: false, error: "should be a string"3125 #valid?3126 is expected to eq false3127 #value3128 returns needs configuration3129 #type3130 is expected to eq :cross_dependency3131 #errors3132 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223133 is expected to include "cross project dependency project should be a string"3134 value: {:project=>1}, validity: false, error: "should be a string"3135 #valid?3136 is expected to eq false3137 #value3138 returns needs configuration3139 #type3140 is expected to eq :cross_dependency3141 #errors3142 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223143 is expected to include "cross project dependency project should be a string"3144 behaves like required string attribute3145 #job3146 value: {}, validity: false, error: "can't be blank"3147 #valid?3148 is expected to eq false3149 #value3150 returns needs configuration3151 #type3152 is expected to eq :cross_dependency3153 #errors3154 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223155 is expected to include "cross project dependency job can't be blank"3156 value: {:job=>nil}, validity: false, error: "can't be blank"3157 #valid?3158 is expected to eq false3159 #value3160 returns needs configuration3161 #type3162 is expected to eq :cross_dependency3163 #errors3164 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223165 is expected to include "cross project dependency job can't be blank"3166 value: {:job=>"something"}, validity: true, error: ""3167 #valid?3168 is expected to eq true3169 #value3170 returns needs configuration3171 #type3172 is expected to eq :cross_dependency3173 #errors3174 is expected to be empty3175 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1233176 value: {:job=>:symbol}, validity: false, error: "should be a string"3177 #valid?3178 is expected to eq false3179 #value3180 returns needs configuration3181 #type3182 is expected to eq :cross_dependency3183 #errors3184 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223185 is expected to include "cross project dependency job should be a string"3186 value: {:job=>1}, validity: false, error: "should be a string"3187 #valid?3188 is expected to eq false3189 #value3190 returns needs configuration3191 #type3192 is expected to eq :cross_dependency3193 #errors3194 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223195 is expected to include "cross project dependency job should be a string"3196 behaves like required string attribute3197 #ref3198 value: {}, validity: false, error: "can't be blank"3199 #valid?3200 is expected to eq false3201 #value3202 returns needs configuration3203 #type3204 is expected to eq :cross_dependency3205 #errors3206 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223207 is expected to include "cross project dependency ref can't be blank"3208 value: {:ref=>nil}, validity: false, error: "can't be blank"3209 #valid?3210 is expected to eq false3211 #value3212 returns needs configuration3213 #type3214 is expected to eq :cross_dependency3215 #errors3216 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223217 is expected to include "cross project dependency ref can't be blank"3218 value: {:ref=>"something"}, validity: true, error: ""3219 #valid?3220 is expected to eq true3221 #value3222 returns needs configuration3223 #type3224 is expected to eq :cross_dependency3225 #errors3226 is expected to be empty3227 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1233228 value: {:ref=>:symbol}, validity: false, error: "should be a string"3229 #valid?3230 is expected to eq false3231 #value3232 returns needs configuration3233 #type3234 is expected to eq :cross_dependency3235 #errors3236 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223237 is expected to include "cross project dependency ref should be a string"3238 value: {:ref=>1}, validity: false, error: "should be a string"3239 #valid?3240 is expected to eq false3241 #value3242 returns needs configuration3243 #type3244 is expected to eq :cross_dependency3245 #errors3246 example at ./ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb:1223247 is expected to include "cross project dependency ref should be a string"3248Boards::CreateService3249 #execute3250 behaves like boards create service3251 With the feature available3252 behaves like create a board3253 with valid params3254 creates a new board3255 returns a successful response3256 creates the default lists3257 with invalid params3258 does not create a new parent board3259 returns an error response3260 does not create board's default lists3261 without params3262 creates a new parent board3263 returns a successful response3264 creates board's default lists3265 behaves like boards create service3266 skips creating a second board when the feature is not available3267 With the feature available3268 behaves like create a board3269 with valid params3270 creates a new board3271 returns a successful response3272 creates the default lists3273 with invalid params3274 does not create a new parent board3275 returns an error response3276 does not create board's default lists3277 without params3278 creates a new parent board3279 returns a successful response3280 creates board's default lists3281 when setting a timebox3282 behaves like setting a milestone scope3283 behaves like setting a timebox scope3284 for a group board3285 behaves like an invalid milestone3286 when milestone is from another project / group3287 is expected to be nil3288 behaves like a predefined milestone3289 None3290 is expected to eq #<struct Timebox::TimeboxStruct title="No Milestone", name="No Milestone", id=0>3291 Any3292 is expected to eq #<struct Timebox::TimeboxStruct title="Any Milestone", name="", id=-1>3293 Upcoming3294 is expected to eq #<struct Timebox::TimeboxStruct title="Upcoming", name="#upcoming", id=-2>3295 Started3296 is expected to eq #<struct Timebox::TimeboxStruct title="Started", name="#started", id=-3>3297 behaves like a group milestone3298 when milestone is in current group3299 is expected to eq #<Milestone id:5 %"My title 1288">3300 when milestone is in an ancestor group3301 is expected to eq #<Milestone id:6 %"My title 1289">3302 for a project board3303 behaves like an invalid milestone3304 when milestone is from another project / group3305 is expected to be nil3306 behaves like a predefined milestone3307 None3308 is expected to eq #<struct Timebox::TimeboxStruct title="No Milestone", name="No Milestone", id=0>3309 Any3310 is expected to eq #<struct Timebox::TimeboxStruct title="Any Milestone", name="", id=-1>3311 Upcoming3312 is expected to eq #<struct Timebox::TimeboxStruct title="Upcoming", name="#upcoming", id=-2>3313 Started3314 is expected to eq #<struct Timebox::TimeboxStruct title="Started", name="#started", id=-3>3315 behaves like a group milestone3316 when milestone is in current group3317 is expected to eq #<Milestone id:8 %"My title 1291">3318 when milestone is in an ancestor group3319 is expected to eq #<Milestone id:9 %"My title 1292">3320 when milestone is a project milestone3321 is expected to eq #<Milestone id:10 group673/group674/project1004%"My title 1293">3322 behaves like setting an iteration scope3323 behaves like setting a timebox scope3324 for a group board3325 behaves like an invalid iteration3326 when iteration is from another project / group3327 is expected to be nil3328 behaves like a predefined iteration3329 None3330 is expected to eq #<struct Timebox::TimeboxStruct title="None", name="none", id=0>3331 Any3332 is expected to eq #<struct Timebox::TimeboxStruct title="Any", name="any", id=-1>3333 Current3334 is expected to eq #<struct Timebox::TimeboxStruct title="Current", name="current", id=-4>3335 behaves like a group iteration3336 when iteration is in current group3337 is expected to eq #<Iteration id:60 *iteration:"My title 1295">3338 when iteration is in an ancestor group3339 is expected to eq #<Iteration id:61 *iteration:"My title 1296">3340 for a project board3341 behaves like an invalid iteration3342 when iteration is from another project / group3343 is expected to be nil3344 behaves like a predefined iteration3345 None3346 is expected to eq #<struct Timebox::TimeboxStruct title="None", name="none", id=0>3347 Any3348 is expected to eq #<struct Timebox::TimeboxStruct title="Any", name="any", id=-1>3349 Current3350 is expected to eq #<struct Timebox::TimeboxStruct title="Current", name="current", id=-4>3351 behaves like a group iteration3352 when iteration is in current group3353 is expected to eq #<Iteration id:63 *iteration:"My title 1298">3354 when iteration is in an ancestor group3355 is expected to eq #<Iteration id:64 *iteration:"My title 1299">3356MergeRequests::PushOptionsHandlerService3357 `assign` push option3358 behaves like with a new branch3359 adds an error to the service3360 behaves like a service that does not create a merge request3361 is expected not to change `MergeRequest.count`3362 behaves like when coupled with the `create` push option3363 behaves like a service that can create a merge request3364 creates a merge request with the correct target branch3365 when project has been forked3366 sets the correct source and target project3367 behaves like a service that can change assignees of a merge request3368 changes assignee count3369 behaves like with an existing branch but no open MR3370 adds an error to the service3371 behaves like a service that does not create a merge request3372 is expected not to change `MergeRequest.count`3373 behaves like when coupled with the `create` push option3374 behaves like a service that can create a merge request3375 creates a merge request with the correct target branch3376 when project has been forked3377 sets the correct source and target project3378 behaves like a service that can change assignees of a merge request3379 changes assignee count3380 behaves like with an existing branch that has a merge request open3381 behaves like a service that does not create a merge request3382 is expected not to change `MergeRequest.count`3383 behaves like a service that can change assignees of a merge request3384 changes assignee count3385 `unassign` push option3386 behaves like with a new branch3387 adds an error to the service3388 behaves like a service that does not create a merge request3389 is expected not to change `MergeRequest.count`3390 behaves like when coupled with the `create` push option3391 behaves like a service that can create a merge request3392 creates a merge request with the correct target branch3393 when project has been forked3394 sets the correct source and target project3395 behaves like a service that can change assignees of a merge request3396 changes assignee count3397 behaves like with an existing branch but no open MR3398 adds an error to the service3399 behaves like a service that does not create a merge request3400 is expected not to change `MergeRequest.count`3401 behaves like when coupled with the `create` push option3402 behaves like a service that can create a merge request3403 creates a merge request with the correct target branch3404 when project has been forked3405 sets the correct source and target project3406 behaves like a service that can change assignees of a merge request3407 changes assignee count3408 behaves like with an existing branch that has a merge request open3409 behaves like a service that does not create a merge request3410 is expected not to change `MergeRequest.count`3411 behaves like a service that can change assignees of a merge request3412 changes assignee count3413Gitlab::Elastic::Helper3414 .new3415 has the proper default values3416 with a custom `index_name`3417 has the proper `index_name`3418 .default3419 does not cache the value3420 #default_mappings3421 has only one type3422 custom analyzers3423 merges custom language analyzers mappings3424 #create_migrations_index3425 creates the index3426 #delete_migrations_index3427 deletes the migrations index3428 #create_empty_index3429 with an empty cluster3430 creates an index with a custom name3431 with alias and index3432 creates index and alias3433 when there is a legacy index3434 creates the index only3435 when there is an alias3436 raises an error3437 does not raise error with skip_if_exists option3438 when there is a legacy index3439 raises an error3440 #delete_index3441 without an existing index3442 fails gracefully3443 when there is an alias3444 is expected to be truthy3445 when there is a legacy index3446 is expected to be truthy3447 #index_exists?3448 without an existing index3449 is expected to be falsy3450 when there is a legacy index3451 is expected to be truthy3452 when there is an alias3453 is expected to be truthy3454 #migrations_index_exists?3455 without an existing migrations index3456 is expected to be falsy3457 when it exists3458 is expected to be truthy3459 #alias_exists?3460 without an existing index3461 is expected to be falsy3462 when there is a legacy index3463 is expected to be falsy3464 when there is an alias3465 is expected to be truthy3466 #cluster_free_size_bytes3467 returns valid cluster size3468 #switch_alias3469 switches the alias3470 #index_size3471 when there is a legacy index3472 is expected to have key "docs"3473 is expected to have key "store"3474 when there is an alias3475 is expected to have key "docs"3476 is expected to have key "store"3477 supports providing the alias name3478 #documents_count3479 when there is a legacy index3480 is expected to eq 03481 when there is an alias3482 is expected to eq 03483 supports providing the alias name3484 #delete_migration_record3485 when record exists3486 is expected to be truthy3487 when record does not exist3488 is expected to be falsey3489 #standalone_indices_proxies3490 when target_classes is not provided3491 creates proxies for each separate class3492 when target_classes is provided3493 creates proxies for only the target classes3494 #ping?3495 does not raise any exception3496Gitlab::Ci::Parsers::LicenseCompliance::LicenseScanning3497 #parse!3498 when parsing a valid v1 report3499 is expected to eql "1.0"3500 is expected to eq 43501 is expected to eql "Apache 2.0"3502 is expected to eql "http://www.apache.org/licenses/LICENSE-2.0.txt"3503 is expected to equal 13504 is expected to equal 13505 is expected to eql "thread_safe"3506 is expected to eql "MIT"3507 is expected to eql "http://opensource.org/licenses/mit-license"3508 is expected to equal 523509 is expected to equal 523510 is expected to eql "actioncable"3511 is expected to eql "New BSD"3512 is expected to eql "http://opensource.org/licenses/BSD-3-Clause"3513 is expected to equal 33514 is expected to equal 33515 is expected to contain exactly "ffi", "puma", and "sqlite3"3516 is expected to eql "unknown"3517 is expected to be nil3518 is expected to equal 13519 is expected to equal 13520 is expected to eql "ruby-bundler-rails"3521 when parsing a valid v1.1 report3522 is expected to eql "1.1"3523 is expected to eq 33524 is expected to eql "BSD-4-Clause"3525 is expected to eql "BSD"3526 is expected to eql "http://spdx.org/licenses/BSD-4-Clause.json"3527 is expected to equal 23528 is expected to equal 23529 is expected to contain exactly "b" and "c"3530 is expected to eql "MIT"3531 is expected to eql "MIT"3532 is expected to eql "http://opensource.org/licenses/mit-license"3533 is expected to equal 23534 is expected to equal 23535 is expected to contain exactly "a" and "c"3536 is expected to be nil3537 is expected to eql "unknown"3538 is expected to eql ""3539 is expected to equal 13540 is expected to equal 13541 is expected to contain exactly "d"3542 when parsing a valid v2 report3543 is expected to eql "2.0"3544 is expected to eq 33545 is expected to eql "BSD-3-Clause"3546 is expected to eql "BSD 3-Clause \"New\" or \"Revised\" License"3547 is expected to eql "http://spdx.org/licenses/BSD-3-Clause.json"3548 is expected to equal 23549 is expected to equal 23550 is expected to contain exactly "b" and "c"3551 is expected to eql "MIT"3552 is expected to eql "MIT License"3553 is expected to eql "http://spdx.org/licenses/MIT.json"3554 is expected to equal 23555 is expected to equal 23556 is expected to contain exactly "a" and "c"3557 is expected to be nil3558 is expected to eql "unknown"3559 is expected to eql ""3560 is expected to equal 13561 is expected to equal 13562 is expected to contain exactly "d"3563 when parsing a valid v2.1 report3564 is expected to eql "2.1"3565 is expected to eq 33566 parses the BSD license3567 parses the MIT license3568 parses an unknown license3569 when parsing a v2 report with a missing license definition3570 is expected to equal 13571 is expected to eql "MIT"3572 is expected to eql "unknown"3573 is expected to equal 13574 is expected to eql "saml-kit"3575 when the report version is not recognized3576 is expected to raise KeyError3577 when the report version is missing3578 is expected to eq "1.0"3579 is expected to be empty3580 when the report version is nil3581 is expected to eq "1.0"3582 is expected to be empty3583 when the report version is blank3584 is expected to eq "1.0"3585 is expected to be empty3586 when the report is structured as an array3587 is expected to be empty3588 when the report is not a valid JSON document3589 is expected to eql "1.0"3590 is expected to be empty3591Ci::Minutes::Quota3592 #enabled?3593 when namespace is root3594 when namespace has any project with shared runners enabled3595 when namespace has minutes limit3596 is expected to be truthy3597 when namespace has unlimited minutes3598 is expected to be falsey3599 when namespace does not have projects with shared runners enabled3600 is expected to be falsey3601 when namespace is not root3602 is expected to be falsey3603 #monthly_minutes_report3604 when the quota is not enabled3605 when the namespace is not eligible3606 returns not supported report with no usage3607 when the namespace is eligible3608 when minutes are not used3609 returns unlimited report with no usage3610 when minutes are used3611 returns unlimited report with usage3612 when limited3613 when minutes are not all used3614 returns report with under quota3615 when minutes are all used3616 returns report with over quota3617 #purchased_minutes_report3618 when limit enabled3619 when extra minutes have been purchased3620 when all monthly minutes are used and some puarchased minutes are used3621 returns report with under quota3622 when all monthly and all puarchased minutes have been used3623 returns report with over quota3624 when not all monthly minutes have been used3625 returns report with no usage3626 when no extra minutes have been purchased3627 when all monthly minutes have been used3628 returns report without usage3629 when not all monthly minutes have been used3630 returns report with no usage3631 #monthly_percent_used3632 limit_enabled: false, monthly_limit: 200, purchased_limit: 0, minutes_used: 40, result: 0, title: "limit not enabled"3633 returns the percentage3634 limit_enabled: true, monthly_limit: 200, purchased_limit: 0, minutes_used: 0, result: 0, title: "monthly limit set and no usage"3635 returns the percentage3636 limit_enabled: true, monthly_limit: 200, purchased_limit: 0, minutes_used: 40, result: 20, title: "monthly limit set and usage lower than 100%"3637 returns the percentage3638 limit_enabled: true, monthly_limit: 200, purchased_limit: 0, minutes_used: 200, result: 100, title: "monthly limit set and usage at 100%"3639 returns the percentage3640 limit_enabled: true, monthly_limit: 200, purchased_limit: 0, minutes_used: 210, result: 105, title: "monthly limit set and usage above 100%"3641 returns the percentage3642 limit_enabled: true, monthly_limit: 0, purchased_limit: 0, minutes_used: 0, result: 0, title: "monthly limit not set and no usage"3643 returns the percentage3644 limit_enabled: true, monthly_limit: 0, purchased_limit: 0, minutes_used: 40, result: 0, title: "monthly limit not set and some usage"3645 returns the percentage3646 limit_enabled: true, monthly_limit: 200, purchased_limit: 100, minutes_used: 0, result: 0, title: "monthly and purchased limits set and no usage"3647 returns the percentage3648 limit_enabled: true, monthly_limit: 200, purchased_limit: 100, minutes_used: 40, result: 20, title: "monthly and purchased limits set and low usage"3649 returns the percentage3650 limit_enabled: true, monthly_limit: 200, purchased_limit: 100, minutes_used: 210, result: 100, title: "usage capped to 100% and overflows into purchased minutes"3651 returns the percentage3652 #purchased_percent_used3653 limit_enabled: false, monthly_limit: 0, purchased_limit: 0, minutes_used: 40, result: 0, title: "limit not enabled"3654 returns the percentage3655 limit_enabled: true, monthly_limit: 0, purchased_limit: 200, minutes_used: 40, result: 20, title: "monthly limit not set and purchased limit set and low usage"3656 returns the percentage3657 limit_enabled: true, monthly_limit: 200, purchased_limit: 0, minutes_used: 40, result: 0, title: "monthly limit set and purchased limit not set and usage below monthly"3658 returns the percentage3659 limit_enabled: true, monthly_limit: 200, purchased_limit: 0, minutes_used: 240, result: 0, title: "monthly limit set and purchased limit not set and usage above monthly"3660 returns the percentage3661 limit_enabled: true, monthly_limit: 200, purchased_limit: 200, minutes_used: 0, result: 0, title: "monthly and purchased limits set and no usage"3662 returns the percentage3663 limit_enabled: true, monthly_limit: 200, purchased_limit: 200, minutes_used: 40, result: 0, title: "monthly and purchased limits set and usage below monthly"3664 returns the percentage3665 limit_enabled: true, monthly_limit: 200, purchased_limit: 200, minutes_used: 200, result: 0, title: "monthly and purchased limits set and monthly minutes maxed out"3666 returns the percentage3667 limit_enabled: true, monthly_limit: 200, purchased_limit: 200, minutes_used: 300, result: 50, title: "monthly and purchased limits set and some purchased minutes used"3668 returns the percentage3669 limit_enabled: true, monthly_limit: 200, purchased_limit: 200, minutes_used: 400, result: 100, title: "monthly and purchased limits set and all minutes used"3670 returns the percentage3671 limit_enabled: true, monthly_limit: 200, purchased_limit: 200, minutes_used: 430, result: 115, title: "monthly and purchased limits set and usage beyond all limits"3672 returns the percentage3673 #minutes_used_up?3674 limit_enabled: false, monthly_limit: 0, purchased_limit: 0, minutes_used: 40, result: false, title: "limit not enabled"3675 is expected to eq false3676 limit_enabled: true, monthly_limit: 0, purchased_limit: 200, minutes_used: 40, result: false, title: "monthly limit not set and purchased limit set and low usage"3677 is expected to eq false3678 limit_enabled: true, monthly_limit: 200, purchased_limit: 0, minutes_used: 40, result: false, title: "monthly limit set and purchased limit not set and usage below monthly"3679 is expected to eq false3680 limit_enabled: true, monthly_limit: 200, purchased_limit: 0, minutes_used: 240, result: true, title: "monthly limit set and purchased limit not set and usage above monthly"3681 is expected to eq true3682 limit_enabled: true, monthly_limit: 200, purchased_limit: 200, minutes_used: 0, result: false, title: "monthly and purchased limits set and no usage"3683 is expected to eq false3684 limit_enabled: true, monthly_limit: 200, purchased_limit: 200, minutes_used: 40, result: false, title: "monthly and purchased limits set and usage below monthly"3685 is expected to eq false3686 limit_enabled: true, monthly_limit: 200, purchased_limit: 200, minutes_used: 200, result: false, title: "monthly and purchased limits set and monthly minutes maxed out"3687 is expected to eq false3688 limit_enabled: true, monthly_limit: 200, purchased_limit: 200, minutes_used: 300, result: false, title: "monthly and purchased limits set and some purchased minutes used"3689 is expected to eq false3690 limit_enabled: true, monthly_limit: 200, purchased_limit: 200, minutes_used: 400, result: true, title: "monthly and purchased limits set and all minutes used"3691 is expected to eq true3692 limit_enabled: true, monthly_limit: 200, purchased_limit: 200, minutes_used: 430, result: true, title: "monthly and purchased limits set and usage beyond all limits"3693 is expected to eq true3694 #actual_minutes_used_up?3695 minutes_used: 100, minutes_limit: 0, result: false, title: "limit not enabled"3696 is expected to eq false3697 minutes_used: 99, minutes_limit: 100, result: false, title: "total minutes not used"3698 is expected to eq false3699 minutes_used: 101, minutes_limit: 100, result: true, title: "total minutes used"3700 is expected to eq true3701 #total_minutes3702 namespace_monthly_limit: 20, application_monthly_limit: 100, purchased_minutes: 30, result: 503703 is expected to eq 503704 namespace_monthly_limit: nil, application_monthly_limit: 100, purchased_minutes: 30, result: 1303705 is expected to eq 1303706 namespace_monthly_limit: 20, application_monthly_limit: 100, purchased_minutes: 0, result: 203707 is expected to eq 203708 namespace_monthly_limit: 0, application_monthly_limit: 0, purchased_minutes: 30, result: 303709 is expected to eq 303710 namespace_monthly_limit: nil, application_monthly_limit: 0, purchased_minutes: 30, result: 303711 is expected to eq 303712 #total_minutes_used3713 expected_seconds: nil, expected_minutes: 03714 is expected to eq 03715 expected_seconds: 0, expected_minutes: 03716 is expected to eq 03717 expected_seconds: 59, expected_minutes: 03718 is expected to eq 03719 expected_seconds: 60, expected_minutes: 13720 is expected to eq 13721 expected_seconds: 122, expected_minutes: 23722 is expected to eq 23723 #percent_total_minutes_remaining3724 total_minutes_used: 0, monthly_minutes: 0, purchased_minutes: 0, result: 03725 is expected to eq 03726 total_minutes_used: 10, monthly_minutes: 0, purchased_minutes: 0, result: 03727 is expected to eq 03728 total_minutes_used: 0, monthly_minutes: 70, purchased_minutes: 30, result: 1003729 is expected to eq 1003730 total_minutes_used: 60, monthly_minutes: 70, purchased_minutes: 30, result: 403731 is expected to eq 403732 total_minutes_used: 100, monthly_minutes: 70, purchased_minutes: 30, result: 03733 is expected to eq 03734 total_minutes_used: 120, monthly_minutes: 70, purchased_minutes: 30, result: 03735 is expected to eq 03736 #namespace_eligible?3737 does not trigger N+1 queries when called multiple times3738 when namespace is a subgroup3739 is false3740 when namespace is root3741 and it has a project without any shared runner enabled3742 is false3743 and it has a project with shared runner enabled3744 is true3745Analytics::DevopsAdoption::SnapshotCalculator3746 end_time3747 equals to range_end3748 issue_opened3749 is expected to eq false3750 with an issue opened within month3751 is expected to eq true3752 merge_request_opened3753 is expected to eq false3754 with a merge request opened within month3755 is expected to eq true3756 merge_request_approved3757 is expected to eq false3758 with a merge request approved within month3759 is expected to eq true3760 runner_configured3761 is expected to eq false3762 with active runner present3763 is expected to eq true3764 pipeline_succeeded3765 is expected to eq false3766 with successful pipeline within month3767 is expected to eq true3768 deploy_succeeded3769 is expected to eq false3770 with successful deployment within month3771 is expected to eq true3772 security_scan_succeeded3773 is always false3774 total_projects_count3775 is expected to eq 23776 code_owners_used_count3777 is expected to eq 13778 when feature is disabled3779 is expected to eq nil3780 when there is no default branch3781 uses HEAD as default value3782 sast_enabled_count3783 returns number of projects with at least 1 sast CI artifact created in given period3784 dast_enabled_count3785 returns number of projects with at least 1 dast CI artifact created in given period3786 dependency_scanning_enabled_count3787 returns number of projects with at least 1 dependency_scanning CI artifact created in given period3788 coverage_fuzzing_enabled_count3789 returns number of projects with at least 1 coverage_fuzzing CI artifact created in given period3790 vulnerability_management_used_count3791 returns number of projects with at least 1 vulnerability acted upon3792 when snapshot already exists3793 for boolean metrics3794 calculates metrics which are not true yet3795 doesn't change metrics which are true already3796 for numeric metrics3797 always recalculates metric3798Ci::SyncReportsToApprovalRulesService#execute3799 with security rules3800 when there are security reports3801 when pipeline passes3802 when high-severity vulnerabilities are present3803 when high-severity vulnerabilities already present in target branch pipeline3804 lowers approvals_required count to zero3805 when high-severity vulnerabilities do not present in target branch pipeline3806 won't change approvals_required count3807 without any scanners related to the security reports3808 lowers approvals_required count to zero3809 with the minimum number of vulnerabilities allowed greater than the amount from the security reports3810 lowers approvals_required count to zero3811 without any findings related to the severity levels3812 lowers approvals_required count to zero3813 when only low-severity vulnerabilities are present3814 lowers approvals_required count to zero3815 when merge_requests are merged3816 won't change approvals_required count3817 license compliance policy3818 when a license violates the license compliance policy3819 is expected not to change `license_compliance_rule.reload.approvals_required`3820 is expected to equal :success3821 when no licenses violate the license compliance policy3822 is expected to change `license_compliance_rule.reload.approvals_required` from 1 to 03823 is expected to equal :success3824 when an unexpected error occurs3825 is expected to equal :error3826 is expected to eql "Failed to update approval rules"3827 when pipeline fails3828 when high-severity vulnerabilities are present3829 when high-severity vulnerabilities already present in target branch pipeline3830 lowers approvals_required count to zero3831 when high-severity vulnerabilities do not present in target branch pipeline3832 won't change approvals_required count3833 when only low-severity vulnerabilities are present3834 lowers approvals_required count to zero3835 without security reports3836 won't change approvals_required count3837 license compliance policy3838 is expected not to change `license_compliance_rule.reload.approvals_required`3839 is expected to equal :success3840 with code coverage rules3841 when pipeline is complete3842 and head pipeline coverage is lower than base pipeline coverage3843 won't lower approvals_required count3844 and head pipeline coverage is higher than base pipeline coverage3845 lowers approvals_required count3846 when MR is merged3847 won't change approvals_required count3848 and head pipeline coverage is the same as base pipeline coverage3849 lowers approvals_required count3850 when pipeline is incomplete3851 won't lower approvals_required count3852 when base pipeline is missing3853 lowers approvals_required count3854Ci::Minutes::UpdateBuildMinutesService3855 #execute3856 with shared runner3857 creates a statistics and sets duration with applied cost factor3858 tracks the usage on a monthly basis3859 behaves like new tracking matches legacy tracking3860 stores the same information in both legacy and new tracking3861 when on .com3862 sends an email3863 when not on .com3864 does not send an email3865 when feature flag ci_minutes_monthly_tracking is disabled3866 does not track usage on a monthly basis3867 when consumption is 03868 behaves like does nothing3869 does not update legacy statistics3870 does not update namespace monthly usage3871 does not update project monthly usage3872 does not observe the difference between actual vs live consumption3873 does not send an email3874 when statistics and usage have existing amounts3875 updates statistics and adds duration with applied cost factor3876 tracks the usage on a monthly basis3877 behaves like new tracking matches legacy tracking3878 stores the same information in both legacy and new tracking3879 when feature flag ci_minutes_monthly_tracking is disabled3880 does not track usage on a monthly basis3881 when group is subgroup3882 creates a statistics in root group3883 tracks the usage on a monthly basis3884 stores the same information in both legacy and new tracking3885 when live tracking exists for the build3886 observes the difference between actual vs live consumption3887 behaves like new tracking matches legacy tracking3888 stores the same information in both legacy and new tracking3889 when live tracking does not exist for the build3890 does not observe the difference3891 for specific runner3892 behaves like does nothing3893 does not update legacy statistics3894 does not update namespace monthly usage3895 does not update project monthly usage3896 does not observe the difference between actual vs live consumption3897 does not send an email3898Gitlab::Ci::Reports::LicenseScanning::License3899 equality3900 #eql?3901 is expected to be empty3902 is expected to contain exactly #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007fbd48f6f830 @id="MIT", @name="MIT", @url="", @dependencies=#<Set: {}>>3903 is expected to be empty3904 is expected to be empty3905 is expected to be empty3906 is expected to contain exactly #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007fbd481c5f18 @id="Apache-2.0", @name="Apache 2.0", @url="", @dependencies=#<Set: {}>>3907 is expected not to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007fbd47df9290 @id="MIT", @name="MIT", @url="", @dependencies=#<Set: {}>>3908 is expected not to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007fbd47a7e2c8 @id="MIT", @name="MIT", @url="", @dependencies=#<Set: {}>>3909 is expected to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007fbd4776ca08 @id=nil, @name=nil, @url=nil, @dependencies=#<Set: {}>>3910 is expected not to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007fbd474a6990 @id=nil, @name=nil, @url=nil, @dependencies=#<Set: {}>>3911 is expected not to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007fbd471650d8 @id="Apache-2.0", @name="Apache 2.0", @url="", @dependencies=#<Set: {}>>3912 is expected not to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007fbd46dd8258 @id="Apache-2.0", @name="Apache 2.0", @url="", @dependencies=#<Set: {}>>3913 is expected to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007fbd46a6cbc8 @id="MIT", @name="MIT", @url="", @dependencies=#<Set: {}>>3914 is expected to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007fbd7a4c5ec0 @id="MIT", @name="MIT", @url="", @dependencies=#<Set: {}>>3915 is expected not to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007fbd7581a620 @id=nil, @name=nil, @url=nil, @dependencies=#<Set: {}>>3916 is expected not to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007fbd76ceb2c0 @id="Apache-2.0", @name="Apache 2.0", @url="", @dependencies=#<Set: {}>>3917 is expected not to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007fbd7790e480 @id="Apache-2.0", @name="Apache 2.0", @url="", @dependencies=#<Set: {}>>3918 is expected to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007fbd71ead298 @id="MIT", @name="MIT", @url="", @dependencies=#<Set: {}>>3919 is expected to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007fbd72fec900 @id="MIT", @name="MIT", @url="", @dependencies=#<Set: {}>>3920 is expected to eql #<Gitlab::Ci::Reports::LicenseScanning::License:0x00007fbd696b4bc0 @id="MIT", @name="", @url="", @dependencies=#<Set: {}>>3921 #hash3922 is expected to eql -31832905775633125743923 is expected to eql -19653919196000094963924 is expected to eql -19653919196000094963925 #canonical_id3926 when the license was produced from a v1 report3927 is expected to eql "mit license"3928 when the name matches a known legacy software license name3929 name: "AGPL-1.0", spdx_id: "AGPL-1.0"3930 is expected to eql "AGPL-1.0"3931 is expected to eql "AGPL-1.0"3932 name: "AGPL-3.0", spdx_id: "AGPL-3.0"3933 is expected to eql "AGPL-3.0"3934 is expected to eql "AGPL-3.0"3935 name: "Apache 2.0", spdx_id: "Apache-2.0"3936 is expected to eql "Apache-2.0"3937 is expected to eql "Apache-2.0"3938 name: "Artistic-2.0", spdx_id: "Artistic-2.0"3939 is expected to eql "Artistic-2.0"3940 is expected to eql "Artistic-2.0"3941 name: "BSD", spdx_id: "BSD-4-Clause"3942 is expected to eql "BSD-4-Clause"3943 is expected to eql "BSD-4-Clause"3944 name: "CC0 1.0 Universal", spdx_id: "CC0-1.0"3945 is expected to eql "CC0-1.0"3946 is expected to eql "CC0-1.0"3947 name: "CDDL-1.0", spdx_id: "CDDL-1.0"3948 is expected to eql "CDDL-1.0"3949 is expected to eql "CDDL-1.0"3950 name: "CDDL-1.1", spdx_id: "CDDL-1.1"3951 is expected to eql "CDDL-1.1"3952 is expected to eql "CDDL-1.1"3953 name: "EPL-1.0", spdx_id: "EPL-1.0"3954 is expected to eql "EPL-1.0"3955 is expected to eql "EPL-1.0"3956 name: "EPL-2.0", spdx_id: "EPL-2.0"3957 is expected to eql "EPL-2.0"3958 is expected to eql "EPL-2.0"3959 name: "GPLv2", spdx_id: "GPL-2.0"3960 is expected to eql "GPL-2.0"3961 is expected to eql "GPL-2.0"3962 name: "GPLv3", spdx_id: "GPL-3.0"3963 is expected to eql "GPL-3.0"3964 is expected to eql "GPL-3.0"3965 name: "ISC", spdx_id: "ISC"3966 is expected to eql "ISC"3967 is expected to eql "ISC"3968 name: "LGPL", spdx_id: "LGPL-3.0-only"3969 is expected to eql "LGPL-3.0-only"3970 is expected to eql "LGPL-3.0-only"3971 name: "LGPL-2.1", spdx_id: "LGPL-2.1"3972 is expected to eql "LGPL-2.1"3973 is expected to eql "LGPL-2.1"3974 name: "MIT", spdx_id: "MIT"3975 is expected to eql "MIT"3976 is expected to eql "MIT"3977 name: "Mozilla Public License 2.0", spdx_id: "MPL-2.0"3978 is expected to eql "MPL-2.0"3979 is expected to eql "MPL-2.0"3980 name: "MS-PL", spdx_id: "MS-PL"3981 is expected to eql "MS-PL"3982 is expected to eql "MS-PL"3983 name: "MS-RL", spdx_id: "MS-RL"3984 is expected to eql "MS-RL"3985 is expected to eql "MS-RL"3986 name: "New BSD", spdx_id: "BSD-3-Clause"3987 is expected to eql "BSD-3-Clause"3988 is expected to eql "BSD-3-Clause"3989 name: "Python Software Foundation License", spdx_id: "Python-2.0"3990 is expected to eql "Python-2.0"3991 is expected to eql "Python-2.0"3992 name: "ruby", spdx_id: "Ruby"3993 is expected to eql "Ruby"3994 is expected to eql "Ruby"3995 name: "Simplified BSD", spdx_id: "BSD-2-Clause"3996 is expected to eql "BSD-2-Clause"3997 is expected to eql "BSD-2-Clause"3998 name: "WTFPL", spdx_id: "WTFPL"3999 is expected to eql "WTFPL"4000 is expected to eql "WTFPL"4001 name: "Zlib", spdx_id: "Zlib"4002 is expected to eql "Zlib"4003 is expected to eql "Zlib"4004 when the license was produced from a v2 report4005 is expected to eql "MIT"4006UpdateAllMirrorsWorker4007 behaves like worker with data consistency4008 .get_data_consistency_feature_flag_enabled?4009 returns true4010 when feature flag :load_balancing_for_update_all_mirrors_worker is disabled4011 returns false4012 .get_data_consistency4013 returns correct data consistency4014 #perform4015 does nothing if the database is read-only4016 does not execute if cannot get the lease4017 removes metadata except correlation_id from the application context before scheduling mirrors4018 schedules mirrors4019 when updates were scheduled4020 sleeps a bit after scheduling mirrors4021 if capacity is available4022 reschedules the job4023 if no capacity is available4024 does not reschedule the job4025 when no updates were scheduled4026 does not reschedule the job4027 #schedule_mirrors!4028 when the instance is unlicensed4029 does not schedule when project does not have repository mirrors available4030 when the instance is licensed4031 when capacity is in excess4032 schedules all available mirrors4033 when the instance checks namespace plans4034 when using SQL to filter projects4035 when capacity is in excess4036 schedules all available mirrors4037 when capacity is exactly sufficient4038 does not include unlicensed non-public projects in batches4039 when checking licenses on each record individually4040 when capacity is in excess4041 schedules all available mirrors4042 requests as many batches as necessary4043 does not schedule a mirror of an archived project4044 does not schedule a mirror of an pending_delete project4045 when capacity is exactly sufficient4046 schedules all available mirrors4047 requests as many batches as necessary4048 when capacity is insufficient4049 schedules mirrors by next_execution_timestamp4050 requests as many batches as necessary4051 when capacity is insufficient and the first batch is empty4052 schedules mirrors by next_execution_timestamp4053 requests as many batches as necessary4054VulnerabilityExternalIssueLinks::CreateService4055 for jira4056 when jira service is not configured to create issues4057 is expected not to be success4058 returns response with error messages4059 when jira service is configured to create issues4060 and there is already created external issue link for given vulnerability4061 is expected not to be success4062 returns response with error messages4063 and there is no external issue link created for given vulnerability4064DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: vulnerabilities/jira_issue_description.md.erb (called from jira_issue_description at /builds/gitlab-org/gitlab/ee/app/presenters/vulnerability_presenter.rb:49)4065 creates issue using jira service4066 and issue creation fails in Jira4067 is expected not to be success4068 returns response with error messages4069 and issue creation succeeds in Jira4070 and external issue link creation fails4071 is expected not to be success4072 returns response with error messages4073 and external issue link creation succeeds4074 is expected to be success4075 creates external issue link in database4076 responds with created external issue link in payload4077DastSiteProfile4078 associations4079 is expected to belong to project required:4080 is expected to belong to dast_site required:4081 is expected to have many secret_variables class_name => Dast::SiteProfileSecretVariable4082 validations4083 is expected to be valid4084 is expected to validate that the length of :auth_password_field is at most 2554085 is expected to validate that the length of :auth_url is at most 10244086 is expected to validate that the length of :auth_username is at most 2554087 is expected to validate that the length of :auth_username_field is at most 2554088 is expected to validate that the length of :name is at most 2554089 is expected to validate that :dast_site_id cannot be empty/falsy4090 is expected to validate that :name cannot be empty/falsy4091 is expected to validate that :project_id cannot be empty/falsy4092 is expected to validate that :name is case-sensitively unique within the scope of :project_id4093 #auth_url4094 when the auth_uri is nil4095 is valid4096 when the auth_url is not a valid uri4097 is not valid4098 when the auth_url is not public4099 is valid4100 #excluded_urls4101 is expected to allow :excluded_urls to be ‹["http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test", "http://example42.test"]›4102 is expected not to allow :excluded_urls to be ‹["http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test", "http://example43.test"]›4103 when there are some urls that are invalid4104 is not valid4105 #project4106 when the project_id and dast_site.project_id do not match4107 is not valid4108 scopes4109 .with_dast_site_and_validation4110 eager loads the association4111 .with_name4112 returns the dast_site_profiles with given name4113 enums4114 is expected to define :target_type as an enum, backed by an integer, with possible values ‹{website: 0, api: 1}›4115 .names4116 returns the names for the DAST site profiles with the given IDs4117 when a profile is not found4118 rescues the error and returns an empty array4119 instance methods4120 #destroy!4121 when the associated dast_site has no dast_site_profiles4122 is also destroyed4123 when the associated dast_site has dast_site_profiles4124 is not destroyed4125 #status4126 when dast_site_validation association does not exist4127 is none4128 when dast_site_validation association does exist4129 is dast_site_validation#state4130 #referenced_in_security_policies4131 there is no security_orchestration_policy_configuration assigned to project4132 returns empty array4133 there is security_orchestration_policy_configuration assigned to project4134 calls security_orchestration_policy_configuration.active_policy_names_with_dast_site_profile with profile name4135 returns the referenced policy name4136 #ci_variables4137 returns a collection of variables4138 when target_type=api4139 returns a collection of variables with api configuration only4140 when auth is disabled4141 returns a collection of variables excluding any auth variables4142 when excluded_urls is empty4143 is removed from the collection4144 when a variable is set to nil4145 is removed from the collection4146 #secret_ci_variables4147 when user can read secrets4148 works with policy4149 checks the policy4150 when there are no secret_variables4151 returns an empty collection4152 when there are secret_variables4153 returns a collection containing that variable4154 when user cannot read secrets4155 returns an empty collection4156Boards::Lists::CreateService4157 #execute4158 when assignee_id param is sent4159 creates a new assignee list4160 when milestone_id param is sent4161 creates a milestone list when param is valid4162 when iteration_id param is sent4163 creates an iteration list when param is valid4164 returns an error when feature flag is disabled4165 returns an error when license is unavailable4166 when iteration is from another group4167 returns an error4168 max limits4169 #create_list_attributes4170 behaves like attribute provider for list creation4171 params: {:max_issue_count=>0}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil4172 contains the expected max limits4173 params: {:max_issue_count=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil4174 contains the expected max limits4175 params: {:max_issue_count=>1}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil4176 contains the expected max limits4177 params: {:max_issue_weight=>0}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil4178 contains the expected max limits4179 params: {:max_issue_weight=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil4180 contains the expected max limits4181 params: {:max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil4182 contains the expected max limits4183 params: {:max_issue_count=>1, :max_issue_weight=>0}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil4184 contains the expected max limits4185 params: {:max_issue_count=>0, :max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil4186 contains the expected max limits4187 params: {:max_issue_count=>1, :max_issue_weight=>1}, expected_max_issue_count: 1, expected_max_issue_weight: 1, expected_limit_metric: nil4188 contains the expected max limits4189 params: {:max_issue_count=>nil, :max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil4190 contains the expected max limits4191 params: {:max_issue_count=>1, :max_issue_weight=>nil}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil4192 contains the expected max limits4193 params: {:max_issue_count=>nil, :max_issue_weight=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil4194 contains the expected max limits4195 params: {:limit_metric=>"all_metrics"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "all_metrics"4196 contains the expected max limits4197 params: {:limit_metric=>"issue_count"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "issue_count"4198 contains the expected max limits4199 params: {:limit_metric=>"issue_weights"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "issue_weights"4200 contains the expected max limits4201 params: {:limit_metric=>""}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: ""4202 contains the expected max limits4203 params: {:limit_metric=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil4204 contains the expected max limits4205 behaves like attribute provider for list creation4206 params: {:max_issue_count=>0}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil4207 contains the expected max limits4208 params: {:max_issue_count=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil4209 contains the expected max limits4210 params: {:max_issue_count=>1}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil4211 contains the expected max limits4212 params: {:max_issue_weight=>0}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil4213 contains the expected max limits4214 params: {:max_issue_weight=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil4215 contains the expected max limits4216 params: {:max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil4217 contains the expected max limits4218 params: {:max_issue_count=>1, :max_issue_weight=>0}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil4219 contains the expected max limits4220 params: {:max_issue_count=>0, :max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil4221 contains the expected max limits4222 params: {:max_issue_count=>1, :max_issue_weight=>1}, expected_max_issue_count: 1, expected_max_issue_weight: 1, expected_limit_metric: nil4223 contains the expected max limits4224 params: {:max_issue_count=>nil, :max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil4225 contains the expected max limits4226 params: {:max_issue_count=>1, :max_issue_weight=>nil}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil4227 contains the expected max limits4228 params: {:max_issue_count=>nil, :max_issue_weight=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil4229 contains the expected max limits4230 params: {:limit_metric=>"all_metrics"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "all_metrics"4231 contains the expected max limits4232 params: {:limit_metric=>"issue_count"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "issue_count"4233 contains the expected max limits4234 params: {:limit_metric=>"issue_weights"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "issue_weights"4235 contains the expected max limits4236 params: {:limit_metric=>""}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: ""4237 contains the expected max limits4238 params: {:limit_metric=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil4239 contains the expected max limits4240MergeTrains::CreatePipelineService4241 #execute4242 when merge trains flag is disabled4243 behaves like returns an error4244 is expected to match /^merge trains is disabled/4245 when merge trains setting is disabled4246 behaves like returns an error4247 is expected to match /^merge trains is disabled/4248 when merge request is not on a merge train4249 behaves like returns an error4250 is expected to match /^merge request is not on a merge train/4251 when merge request is submitted from a forked project4252 when ci_disallow_to_create_merge_request_pipelines_in_target_project feature flag is enabled4253 behaves like returns an error4254 is expected to match /^this merge request cannot be added to merge train/4255 when prepared merge ref successfully4256 when .gitlab-ci.yml has only: [merge_requests] specification4257 creates train ref4258 calls Ci::CreatePipelineService for creating pipeline on train ref4259 when previous_ref is a train ref4260 when previous_ref exists4261 creates train ref with the specified ref4262 when previous_ref does not exist4263 behaves like returns an error4264 is expected to match /^3:Invalid merge source/4265 when there is a conflict on merge ref creation4266 behaves like returns an error4267 is expected to match /^Failed to create merge commit/4268 when previous_ref is nil4269 behaves like returns an error4270 is expected to match /^previous ref is not specified/4271 when .gitlab-ci.yml does not have only: [merge_requests] specification4272 behaves like returns an error4273 is expected to match /^No stages \/ jobs for this pipeline./4274 when failed to prepare merge ref4275 behaves like returns an error4276 is expected to match /^Merge ref was not found/4277Issuable::BulkUpdateService4278 with issues4279 updating health status and epic4280 when features are enabled4281 succeeds and returns the correct number of issuables updated4282 when params value is '0'4283 succeeds and remove values4284 when epic param is incorrect4285 returns error4286 when feature issuable_health_status is disabled4287 behaves like does not update issuables attribute4288 does not update attribute4289 when user can not update issues4290 behaves like does not update issuables attribute4291 does not update attribute4292 behaves like does not update issuables attribute4293 does not update attribute4294 when user can not admin epic4295 behaves like does not update issuables attribute4296 does not update attribute4297 updating iterations4298 at group level4299 when issues4300 behaves like updates iterations4301 succeeds4302 updates the issuables iteration4303 at project level4304 behaves like updates iterations4305 succeeds4306 updates the issuables iteration4307 with epics4308 updating labels4309 when epics are enabled4310 behaves like updates issuables attribute4311 succeeds and returns the correct number of issuables updated4312 when epics are disabled4313 behaves like does not update issuables attribute4314 does not update attribute4315 when issuable_ids contain external epics4316 updates epics that belong to the parent group or descendants4317Vulnerabilities::Identifier4318 associations4319 is expected to have many finding_identifiers class_name => Vulnerabilities::FindingIdentifier4320 is expected to have many findings class_name => Vulnerabilities::Finding4321 is expected to have many primary_findings class_name => Vulnerabilities::Finding4322 is expected to belong to project required:4323 validations4324 is expected to validate that :name cannot be empty/falsy4325 is expected to validate that :project cannot be empty/falsy4326 is expected to validate that :external_type cannot be empty/falsy4327 is expected to validate that :external_id cannot be empty/falsy4328 is expected to validate that :fingerprint cannot be empty/falsy4329 .with_fingerprint4330 when identifier has the corresponding fingerprint4331 selects the identifier4332 when identifier does not have the corresponding fingerprint4333 does not select the identifier4334 type check methods4335 #cve?4336 behaves like type check method4337 external_type: "CVE", expected_value: true4338 is expected to equal true4339 external_type: "cve", expected_value: true4340 is expected to equal true4341 external_type: "CWE", expected_value: false4342 is expected to equal false4343 external_type: "cwe", expected_value: false4344 is expected to equal false4345 external_type: "foo", expected_value: false4346 is expected to equal false4347 #cwe?4348 behaves like type check method4349 external_type: "CWE", expected_value: true4350 is expected to equal true4351 external_type: "cwe", expected_value: true4352 is expected to equal true4353 external_type: "CVE", expected_value: false4354 is expected to equal false4355 external_type: "cve", expected_value: false4356 is expected to equal false4357 external_type: "foo", expected_value: false4358 is expected to equal false4359 #other?4360 behaves like type check method4361 external_type: "CWE", expected_value: false4362 is expected to equal false4363 external_type: "cwe", expected_value: false4364 is expected to equal false4365 external_type: "CVE", expected_value: false4366 is expected to equal false4367 external_type: "cve", expected_value: false4368 is expected to equal false4369 external_type: "foo", expected_value: true4370 is expected to equal true4371Resolvers::IssuesResolver4372 with a project4373 #resolve4374 sorting4375 when sorting by weight4376 sorts issues ascending4377 sorts issues descending4378 when sorting by published4379 sorts issues ascending4380 sorts issues descending4381 when sorting by sla due at4382 sorts issues ascending4383 sorts issues descending4384 when sorting by blocking issues count (ties broken by id in desc order)4385 sorts issues ascending4386 sorts issues descending4387 filtering by iteration4388 returns issues with iteration using raw id4389 returns issues with iteration using global id4390 returns issues with list iterations using global id4391 returns issues with list iterations using a mix4392 filtering by iteration wildcard4393 returns issues with current iteration4394 returns issues with any iteration4395 returns issues with no iteration4396 raises a mutually exclusive filter error when wildcard and list are provided4397 filter by epic4398 returns issues without epic when epic_id is "none"4399 returns issues with any epic when epic_id is "any"4400 returns issues with any epic when epic_id is specific4401 filter by weight4402 when filtering by any weight4403 only returns issues that have a weight assigned4404 when filtering by no weight4405 only returns issues that have no weight assigned4406 when filtering by specific weight4407 only returns issues that have the specified weight assigned4408 filtering by negated params4409 filter by negated epic4410 returns issues without the specified epic_id4411 filtering by negated weight4412 only returns issues that do not have the specified weight assigned4413 filtering by negated iteration4414 returns issues without iteration using RAW id4415 works with global IDs4416 raises a mutually exclusive filter error when wildcard and list are provided4417 filtering by negated iteration wildcard4418 returns issues not in the current iteration4419Ci::CreatePipelineService#execute4420 CI/CD Quotas / Limits4421 when there are not limits enabled4422 enqueues a new pipeline4423 when pipeline activity limit is exceeded4424 drops the pipeline and does not process jobs4425 when pipeline size limit is exceeded4426 drops pipeline without creating jobs4427 cross-project pipeline triggers4428 creates bridge jobs correctly4429 when configured with rules4430 that include the bridge job4431 persists the bridge job4432 that exclude the bridge job4433 does not include the bridge job4434 job with secrets4435 persists secrets as job metadata4436 credit card requirement4437 when credit card is required4438 when project is on free plan4439 when user has credit card4440 behaves like creates a successful pipeline4441 creates a successful pipeline4442 when user does not have credit card4443 creates a pipeline with errors4444 when config is blank4445 does not create a pipeline4446 when feature flag is disabled4447 behaves like creates a successful pipeline4448 creates a successful pipeline4449 when credit card is not required4450 behaves like creates a successful pipeline4451 creates a successful pipeline4452EpicLinks::DestroyService4453 #execute4454 when epics feature is disabled4455 returns an error4456 no relationship is created4457 does not create system notes4458 when epics feature is enabled4459 when the user has no permissions to remove epic relation4460 returns an error4461 no relationship is created4462 does not create system notes4463 when user has permissions to remove epic relation4464 when the child epic is nil4465 returns an error4466 no relationship is created4467 does not create system notes4468 when a correct reference is given4469 removes epic relationship4470 returns success status4471 creates system notes4472 when epic has no parent4473 returns an error4474 no relationship is created4475 does not create system notes4476DAST.gitlab-ci.yml4477 the created pipeline4478 is expected not to be nil4479 when ci yaml is just template4480 when project has no license4481 includes no jobs4482 when stages includes dast4483 when project has no license4484 includes no jobs4485 when project has Ultimate license4486 by default4487 includes job4488 when cluster is not active4489 by default4490 includes dast job4491 when DAST_DISABLED=14492 includes no jobs4493 when DAST_DISABLED_FOR_DEFAULT_BRANCH=14494 when on default branch4495 includes no jobs4496 when on feature branch4497 includes dast job4498 when REVIEW_DISABLED=true4499 when on default branch4500 includes dast job4501 when on feature branch4502 includes no jobs4503SoftwareLicense4504 validations4505 is expected to includes the Presentable module4506 is expected to validate that :name cannot be empty/falsy4507 is expected to validate that the length of :spdx_identifier is at most 2554508 is expected to validate that :name is case-sensitively unique4509 .create_policy_for!4510 when a software license with a given name has already been created4511 is expected to be persisted4512 is expected to be allowed4513 is expected to eql #<SoftwareLicense id: 8, name: "MIT", spdx_identifier: "MIT">4514 when a software license with a given name has NOT been created4515 is expected to be persisted4516 is expected to be denied4517 is expected to be persisted4518 is expected to eql "9e4fbec3-83e4-4207-9388-c5e792eb90d2"4519 scopes4520 .by_spdx4521 is expected to contain exactly #<SoftwareLicense id: 13, name: "MIT", spdx_identifier: "MIT">4522 .spdx4523 is expected to contain exactly #<SoftwareLicense id: 13, name: "MIT", spdx_identifier: "MIT">4524 .by_spdx4525 is expected to contain exactly #<SoftwareLicense id: 13, name: "MIT", spdx_identifier: "MIT">4526 .spdx4527 is expected to contain exactly #<SoftwareLicense id: 13, name: "MIT", spdx_identifier: "MIT">4528 .by_name4529 is expected to contain exactly #<SoftwareLicense id: 13, name: "MIT", spdx_identifier: "MIT">4530 .unknown4531 is expected to contain exactly #<SoftwareLicense id: 14, name: "Apache 2.0 License", spdx_identifier: nil>4532 .grouped_by_name4533 is expected to eql {"Apache 2.0 License"=>1, "MIT"=>1}4534 .ordered4535 is expected to eql "Apache 2.0 License" and "MIT"4536 #canonical_id4537 when an SPDX identifier is available4538 is expected to eq "MIT"4539 when an SPDX identifier is not available4540 is expected to eq "mit license"4541 .unclassified_licenses_for4542 when a project has not classified licenses4543 returns each license in the SPDX catalogue ordered by name4544 when some of the licenses are classified4545 returns each license in the SPDX catalogue that has not been classified4546AppSec::Dast::SiteProfiles::CreateService4547 #execute4548 when a user does not have access to the project4549 returns an error status4550 populates message4551 when the user can run a dast scan4552 returns a success status4553 creates a dast_site_profile4554 creates a dast_site4555 sets attributes correctly4556 returns a dast_site_profile payload4557 audits the creation4558 when the dast_site already exists4559 returns a success status4560 does not create a new dast_site4561 when excluded_urls is nil4562 defaults to an empty array4563 when excluded_urls is not supplied4564 defaults to an empty array4565 when auth values are not supplied4566 uses sensible defaults4567 when request_headers are supplied4568 behaves like it handles secret variable creation4569 correctly sets the value4570 behaves like it handles secret variable creation failure4571 returns an error response4572 when auth_password is supplied4573 behaves like it handles secret variable creation4574 correctly sets the value4575 behaves like it handles secret variable creation failure4576 returns an error response4577 when an existing dast_site_validation does not exist4578 does not create a dast_site_validation association4579 when an existing dast_site_validation exists4580 gets associated with the dast_site4581 when on demand scan licensed feature is not available4582 returns an error status4583 populates message4584Resolvers::DoraMetricsResolver4585 when the user is querying for project-level metrics4586 behaves like dora metrics4587 #resolve4588 when the current users does not have access to query DORA metrics4589 returns no metrics4590 when DORA metrics are not licensed4591 returns no metrics4592 with metric: "deployment_frequency"4593 returns metrics from production for the last 3 months from the production environment, grouped by day4594 with interval: "daily"4595 returns the metrics grouped by day (the default)4596 with interval: "monthly"4597 returns the metrics grouped by month4598 with interval: "all"4599 returns the metrics grouped into a single bucket with a nil date4600 with a start_date4601 returns metrics for data on or after the provided date4602 with an end_date4603 returns metrics for data on or before the provided date4604 with both a start_date and an end_date4605 returns metrics between the provided dates (inclusive)4606 when the requested date range is too large4607 raises an error4608 when the start date equal to or later than the end date4609 raises an error4610 with no metric parameter4611 raises an error4612 with metric: "lead_time_for_changes"4613 returns lead time metrics4614 with interval: "all"4615 returns the metrics grouped into a single bucket with a nil date4616 with environment_tier: "staging"4617 returns metrics for the staging environment4618 when the user is querying for group-level metrics4619 behaves like dora metrics4620 #resolve4621 when the current users does not have access to query DORA metrics4622 returns no metrics4623 when DORA metrics are not licensed4624 returns no metrics4625 with metric: "deployment_frequency"4626 returns metrics from production for the last 3 months from the production environment, grouped by day4627 with interval: "daily"4628 returns the metrics grouped by day (the default)4629 with interval: "monthly"4630 returns the metrics grouped by month4631 with interval: "all"4632 returns the metrics grouped into a single bucket with a nil date4633 with a start_date4634 returns metrics for data on or after the provided date4635 with an end_date4636 returns metrics for data on or before the provided date4637 with both a start_date and an end_date4638 returns metrics between the provided dates (inclusive)4639 when the requested date range is too large4640 raises an error4641 when the start date equal to or later than the end date4642 raises an error4643 with no metric parameter4644 raises an error4645 with metric: "lead_time_for_changes"4646 returns lead time metrics4647 with interval: "all"4648 returns the metrics grouped into a single bucket with a nil date4649 with environment_tier: "staging"4650 returns metrics for the staging environment4651EpicPresenter4652 #show_data4653 has correct keys4654 has correct ancestors4655 returns the correct json schema for epic initial data4656 returns the correct json schema for epic meta data4657 avoids N+1 database queries4658 #group_epic_path4659 returns correct path4660 #group_epic_link_path4661 returns correct path4662 returns nothing with nil parent4663 when in subgroups4664 returns the correct path4665 #epic_reference4666 returns a reference4667 returns a full reference4668shared/_mirror_status.html.haml4669 when mirror has not updated yet4670 does not render anything4671 when mirror successful4672 renders success message4673 when mirror failed4674 renders failure message4675 renders failure message with icon4676 with a previous successful update4677 renders failure message4678 with a hard failed mirror4679 renders hard failed message4680Boards::EpicList4681 behaves like boards listable model4682 associations4683 is expected to validate that :position cannot be empty/falsy4684 is expected to validate that :position looks like an integer greater than or equal to 04685 when list_type is set to closed4686 is expected not to validate that :label cannot be empty/falsy4687 is expected not to validate that :position cannot be empty/falsy4688 scopes4689 .ordered4690 returns lists ordered by type and position4691 .without_types4692 excludes lists of given types4693 #destroyable?4694 returns true when list_type is set to label4695 returns false when list_type is set to closed4696 #movable?4697 returns true when list_type is set to label4698 returns false when list_type is set to closed4699 #title4700 returns label name when list_type is set to label4701 returns Open when list_type is set to backlog4702 returns Closed when list_type is set to closed4703 #destroy4704 can be destroyed when list_type is set to label4705 can not be destroyed when list_type is set to closed4706 behaves like list_preferences_for user4707 #preferences_for4708 when user is nil4709 returns not persisted preferences4710 when a user preference already exists4711 loads preference for user4712 when preferences for user does not exist4713 returns not persisted preferences4714 #update_preferences_for4715 when user is present4716 when there are no preferences for user4717 creates new user preferences4718 when there are preferences for user4719 updates user preferences4720 when user is nil4721 does not create user preferences4722 associations4723 is expected to belong to epic_board required: true inverse_of => epic_lists4724 is expected to belong to label required: inverse_of => epic_lists4725 is expected to have many epic_list_user_preferences inverse_of => epic_list4726 is expected to validate that :label_id is case-sensitively unique within the scope of :epic_board_id4727 validations4728 is expected to validate that :label cannot be empty/falsy4729NamespaceStatistics4730 is expected to belong to namespace required:4731 is expected to validate that :namespace cannot be empty/falsy4732 #refresh!4733 when database is read_only4734 does not save the object4735 when namespace belong to a user4736 does not save the object4737 when invalid option is passed4738 does not update any column4739 behaves like creates the namespace statistics4740 is expected to receive save!(*(any args)) 1 time4741 when no option is passed4742 updates the wiki size4743 behaves like creates the namespace statistics4744 is expected to receive save!(*(any args)) 1 time4745 when wiki_size option is passed4746 updates the wiki size4747 behaves like creates the namespace statistics4748 is expected to receive save!(*(any args)) 1 time4749 #update_storage_size4750 sets storage_size to the wiki_size4751 #update_wiki_size4752 when group_wikis feature is not enabled4753 does not update the wiki size4754 when group_wikis feature is enabled enabled4755 updates the wiki size4756 when namespace does not belong to a group4757 does not update the wiki size4758 before saving statistics4759 updates storage size4760 after saving statistics4761 when storage_size is not updated4762 does not enqueue the job to update root storage statistics4763 when storage_size is updated4764 enqueues the job to update root storage statistics4765 when namespace does not belong to a group4766 does not enqueue the job to update root storage statistics4767 when other columns are updated4768 does not enqueue the job to update root storage statistics4769 after destroy statistics4770 enqueues the job to update root storage statistics4771 when namespace belongs to a group4772 does not enqueue the job to update root storage statistics4773Mutations::Issues::SetWeight4774 #resolve4775 behaves like permission level for issue mutation is correctly verified4776 when the user is not a project member4777 behaves like when the user does not have access to the resource4778 raises an error4779 even if assigned to the issue4780 does not modify issue4781 even if author of the issue4782 raises an error4783 when the user is a project member4784 with guest role4785 behaves like when the user does not have access to the resource4786 raises an error4787 even if assigned to the issue4788 does not modify issue4789 even if author of the issue4790 raises an error4791 when the user can update the issue4792 returns the issue with correct weight4793 when the weight is nil4794 updates weight to be nil4795ResourceWeightEvent4796 behaves like a resource event4797 importable4798 is expected to respond to #importing?4799 is expected to respond to #imported?4800 validations4801 is expected not to allow :user to be ‹nil›4802 when importing4803 is expected to allow :user to be ‹nil›4804 associations4805 is expected to belong to user required:4806 .created_after4807 returns the expected events4808 returns no events if time is after last record time4809 behaves like a resource event for issues4810 associations4811 is expected to belong to issue required:4812 .by_issue4813 returns the expected records for an issue with events4814 returns the expected records for an issue with no events4815 .by_issue_ids_and_created_at_earlier_or_equal_to4816 returns the expected records for an issue with events4817 returns the expected records for an issue with no events4818 validations4819 is expected not to allow :issue to be ‹nil›4820 is expected to allow :weight to be ‹nil›4821 associations4822 is expected to belong to issue required:4823 .by_issue4824 returns the expected records for an issue with events4825 returns the expected records for an issue with no events4826 .created_after4827 returns the expected events4828 returns no events if time is after last record time4829 #discussion_id4830 returns the expected id4831Gitlab::Auth::Ldap::Person4832 includes the EE module4833 .ldap_attributes4834 appends EE-specific attributes4835 appends first and last name attributes4836 .find_by_email4837 tries finding for each configured email attribute4838 returns nil when no user was found4839 .find_by_certificate_issuer_and_serial4840 searches by certificate assertion4841 .find_by_kerberos_principal4842 when simple LDAP linking is not configured4843 LDAP server is not for kerberos realm4844 returns nil without searching4845 LDAP server is for kerberos realm4846 searches by configured uid attribute4847 when simple LDAP linking is enabled4848 principal domain matches an allowed realm4849 searches by configured uid attribute4850 principal domain does not match an allowed realm4851 returns nil without searching4852 .ldap_attributes4853 includes a real attribute name4854 excludes integers4855 excludes false values4856 excludes true values4857 #kerberos_principal4858 returns the principal combining the configured UID and DC components of the distinguishedName4859 #ssh_keys4860 when the SSH key is literal4861 includes the SSH key4862 when the SSH key is prefixed4863 includes the SSH key4864 when the SSH key is suffixed4865 includes the SSH key4866 when the SSH key is followed by a newline4867 includes the SSH key4868 when the key is not an SSH key4869 is empty4870 when there are multiple keys4871 includes both SSH keys4872 #memberof4873 returns an empty array if the field was not present4874 returns the values of `memberof` if the field was present4875 #cn_from_memberof4876 gets the group cn from the memberof value4877 doesn't break when there is no CN property4878 supports dashes in the group cn4879 #group_cns4880 returns only CNs from the memberof values4881Gitlab::Auth::GroupSaml::SsoEnforcer4882 #update_session4883 stores that a session is active for the given provider4884 stores the current time for later comparison4885 #active_session?4886 returns false if nothing has been stored4887 returns true if a sign in has been recorded4888 enforced sso expiry4889 returns true if a sign in is recently recorded4890 returns false if the sign in predates the session timeout4891 #allows_access?4892 allows access when saml_provider is nil4893 prevents access when sso enforcement active but there is no session4894 allows access when sso is enforced but a saml session is active4895 when sso enforcement is disabled4896 allows access when sso enforcement is disabled4897 when saml_provider is disabled4898 allows access when saml_provider is disabled4899 .group_access_restricted?4900 is restricted4901 for a group4902 for a subgroup4903 for group owner4904 for a root group4905 is not restricted4906 for a subgroup4907 is restricted4908 for a group without a saml_provider configured4909 is not restricted4910Packages::PackageFile4911 new file4912 calls checksum worker4913 .replicables_for_current_secondary4914 returns a package files scope4915 object storage4916 with sync object storage enabled4917 includes local stored and object stored records4918 with sync object storage disabled4919 includes local stored and excludes object stored records4920 selective sync4921 without selective sync4922 includes records owned by projects in all shards4923 includes records owned by projects in all namespaces4924 with selective sync by shard4925 includes records owned by projects on a selected shard4926 excludes records owned by projects not on a selected shard4927 with selective sync by namespace4928 with sync object storage enabled4929 includes records owned by projects on a selected namespace4930 excludes records owned by projects not on a selected namespace4931 with sync object storage disabled4932 includes locally stored records owned by projects on a selected namespace4933 excludes locally stored records owned by projects not on a selected namespace4934 excludes object stored records owned by projects on a selected namespace4935Gitlab::Auth::GroupSaml::SessionEnforcer4936 #access_restricted4937 when git check is enforced4938 with an active session4939 is expected to be falsey4940 with sub-group4941 is expected to be falsey4942 with expired session4943 is expected to be truthy4944 with two active sessions4945 is expected to be falsey4946 with two active sessions for the same provider and one pre-sso4947 is expected to be falsey4948 without enforced_sso_expiry feature flag4949 is expected to be falsey4950 without group4951 is expected to be falsey4952 without saml_provider4953 is expected to be falsey4954 with admin4955 is expected to be falsey4956 with auditor4957 is expected to be falsey4958 with group owner4959 is expected to be falsey4960 without any session4961 is expected to be truthy4962 with admin4963 is expected to be falsey4964 with auditor4965 is expected to be falsey4966 with group owner4967 is expected to be falsey4968 with project bot4969 is expected to be falsey4970 when git check is not enforced4971 with an active session4972 is expected to be falsey4973 without any session4974 is expected to be falsey4975Gitlab::ImportExport::Group::RelationFactory4976 epic object4977 does not have the original ID4978 does not have the original group_id4979 has the new group_id4980 excluded attributes4981 are removed from the imported object4982 overridden model4983 does not raise errors4984 behaves like Notes user references4985 when the importer is admin4986 and the note author is not mapped4987 is expected to eq #<User id:3056 @user1745>4988 is expected to include "*By Administrator"4989 and the note author is the importer user4990 is expected to eq #<User id:3058 @user1747>4991 is expected not to include "*By Administrator"4992 and the note author exists in the target instance4993 is expected to eq #<User id:3060 @user1749>4994 is expected not to include "*By Administrator"4995 when the importer is not admin4996 and the note author is not mapped4997 is expected to eq #<User id:3064 @user1753>4998 is expected to include "*By Administrator"4999 and the note author is the importer user5000 is expected to eq #<User id:3066 @user1755>5001 is expected to include "*By Administrator"5002 and the note author exists in the target instance5003 is expected to eq #<User id:3069 @user1758>5004 is expected to include "*By Administrator"5005Mutations::Dast::Profiles::Update5006 is expected to require graphql authorizations :create_on_demand_dast_scan5007 #resolve5008 when the feature is licensed5009 when the project does not exist5010 behaves like an unrecoverable failure5011 raises an exception5012 when the user cannot read the project5013 behaves like an unrecoverable failure5014 raises an exception5015 when the user can update a DAST profile5016 returns the profile5017 updates the profile5018 when run_after_update=true5019 behaves like it creates a DAST on-demand scan pipeline5020 creates a new ci_pipeline for the given project5021 creates a single build associated with the ci_pipeline5022 creates an association between the dast_profile and the ci_pipeline5023 returns the pipeline_url5024 behaves like it checks branch permissions before creating a DAST on-demand scan pipeline5025 when the user does not have access to the branch5026 communicates failure5027 behaves like it delegates scan creation to another service5028 calls DastOnDemandScans::CreateService5029 when the dast_profile does not exist5030 behaves like an unrecoverable failure5031 raises an exception5032 when updating fails5033 returns an error5034Groups::ParticipantsService5035 #execute5036 adds the owner to the list5037 #participants_in_noteable5038 returns all participants5039 #group_members5040 returns all members in parent groups, sub-groups, and sub-projects5041 group items5042 avatar_url5043 returns a URL for the avatar5044 returns a relative URL for the avatar5045Vulnerabilities::FindingReportsComparerEntity5046 container scanning report comparison5047 #as_json5048 contains the added and fixed vulnerabilities for container scanning5049 contains the report out of date fields5050SetUserStatusBasedOnUserCapSettingWorker5051 #perform5052 when user is not blocked_pending_approval5053 does nothing to the user state5054 when user cap is set to nil5055 does nothing to the user state5056 does not send an email to active admins5057 when the auto-creation of an omniauth user is blocked5058 when the user is an omniauth user5059 does not activate this user5060 when the user is not an omniauth user5061 activates this user5062 when current billable user count is less than user cap5063 activates the user5064 notifies the approval to the user5065 does not send an email to active admins5066 when user has not confirmed their email yet5067 sends confirmation instructions5068 when user has confirmed their email5069 does not send a confirmation email5070 when pending invitations5071 when user is unconfirmed5072 does not accept pending invites of the user5073 when user is confirmed5074 accepts pending invites of the user5075 when current billable user count is equal to user cap5076 keeps the user in blocked_pending_approval state5077 sends an email to every active admin5078 when current billable user count is greater than user cap5079 keeps the user in blocked_pending_approval state5080 sends an email to every active admin5081Mutations::IncidentManagement::OncallRotation::Update5082 #resolve5083 user has access to project5084 when OncallRotation::UpdateService responds with success5085 returns the on-call rotation with no errors5086 adds the participant to the rotation5087 removing participants5088 returns the on-call rotation with no errors5089 with endsAt arg5090 returns the on-call rotation with no errors5091 when endsAt is nil5092 returns the on-call rotation with no errors5093 when OncallRotations::UpdateService responds with an error5094 returns errors5095 with active period times given5096 returns the on-call rotation with no errors5097 saves the on-call rotation with active period times5098 hours rotation length unit5099 returns errors5100 end time is before start time5101 saves the on-call rotation with active period times5102 invalid time given5103 raises an error5104 removing active period5105 removes the active period5106 error cases5107 user cannot be found5108 raises an error5109 duplicate participants5110 raises an error5111 too many users5112 raises an error5113 when resource is not accessible to the user5114 raises an error5115ScimFinder5116 #search5117 without a SAML provider5118 returns an empty scim identity relation5119 SCIM/SAML is not enabled5120 returns an empty scim identity relation5121 with SCIM enabled5122 raises an error if the filter is unsupported5123 raises an error if the attribute path is unsupported5124 with an eq filter5125 allows identity lookup by id/externalId5126 allows lookup by userName5127 allows lookup by userName5128 finds user by an email address5129 finds user by using local part of email address as username5130 finds user by username5131 finds user by extern_uid5132 with no filter5133 returns all related scim_identities5134StatusPage::IncidentCommentEntity5135 exposes JSON fields5136 field #note5137 behaves like reference links for status page5138 with public project5139 with public issue5140 shows link anchor with HTML data attributes5141 with confidential issue5142 redacts link anchor and HTML data attributes5143 with private project5144 with public issue5145 redacts link anchor and HTML data attributes5146 mentions5147 with username5148 anonymizes mention5149 with arbitrary username5150 shows the mention5151 with @all5152 anonymizes mention5153 with groups5154 group_visibility: :public5155 anonymizes mention5156 group_visibility: :internal5157 anonymizes mention5158 group_visibility: :private5159 anonymizes mention5160 behaves like img upload tags for status page5161 converts to html5162AdminEmailsWorker5163 recipients5164 sending emails to members of a group only5165 sends email to subscribed users5166 sending emails to members of a project only5167 sends email to subscribed users5168 sending emails to users directly5169 sends email to subscribed users5170Gitlab::CodeOwners::Entry5171 is uniq by the pattern and owner line5172 #users5173 raises an error if no users have been added5174 returns the users in an array5175 #all_users5176 raises an error if users have not been loaded for groups5177 returns users and users from groups5178 #groups5179 raises an error if no groups have been added5180 returns mentioned groups5181 #add_matching_groups_from5182 returns only mentioned groups, case-insensitively5183 #add_matching_users_from5184 does not add the same user twice5185 raises an error when adding a user without emails preloaded5186 only adds users mentioned in the owner line5187 adds users by username, case-insensitively5188 adds users by primary email, case-insensitively5189 adds users by secondary email, case-insensitively5190Analytics::CycleAnalytics::GroupLevel5191 #summary5192 returns medians for each stage for a specific group5193 #time_summary5194 returns medians for lead time and cycle type5195IssuablePolicy5196 #rules5197 in a public project5198 disallows non-members from creating and deleting metric images5199 allows guests to read, create metric images, and delete them in their own issues5200 allows reporters to create and delete metric images5201 in a private project5202 disallows non-members from creating and deleting metric images5203 allows guests to read metric images, and create + delete in their own issues5204 allows reporters to create and delete metric images5205VulnerabilityExports::Exporters::CsvService5206 includes the columns required for import5207 when block is not given5208 renders csv to string5209 when block is given5210 returns handle to Tempfile5211 CSV content5212 with valid findings5213 when a project belongs to a group5214 includes proper values for each column type5215 when a project belongs to a user5216 includes proper values for each column except group name5217 when a vulnerability is missing a finding5218 includes proper values for each column except Other Identifiers5219IncidentManagement::OncallSchedules::UpdateService5220 #execute5221 when the current_user is anonymous5222 behaves like error response5223 has an informative message5224 when the current_user does not have permissions to update on-call schedules5225 behaves like error response5226 has an informative message5227 when feature is not available5228 behaves like error response5229 has an informative message5230 when an on-call schedule witht the same name already exists5231 behaves like error response5232 has an informative message5233 with valid params5234 successfully creates an on-call schedule5235 schedule has a rotation5236 behaves like updates the rotation active periods5237 updates the rotation active periods with new timezone5238 from non-overnight shifts to overnight5239 behaves like updates the rotation active periods5240 updates the rotation active periods with new timezone5241 from overnight shifts to non-overnight5242 behaves like updates the rotation active periods5243 updates the rotation active periods with new timezone5244 new timezone has non-whole-hour change5245 behaves like updates the rotation active periods5246 updates the rotation active periods with new timezone5247 new timezone but same offset5248 updates the timezone5249 does not update the active period times5250 timezone is not changed5251 does not update rotations5252 error updating5253 behaves like error response5254 has an informative message5255Analytics::GroupActivityCalculator5256 with issues5257 only returns the count of recent issues5258 when user does not have access to some issues5259 does not include those issues5260 with merge requests5261 calls RecentMergeRequestsCountService#count5262 with members5263 returns the count of recently added members5264 when there is a member who was not added recently5265 returns the count of recently added members5266 when user does not have access to some members5267 does not include those members5268Types::Dast::SiteProfileAuthType5269 is expected to eq "DastSiteProfileAuth"5270 is expected to require graphql authorizations :read_on_demand_scans5271 is expected to have graphql fields :enabled, :url, :usernameField, :passwordField, :username, and :password5272 enabled field5273 is auth_enabled5274 url field5275 is auth_url5276 usernameField field5277 is auth_username_field5278 passwordField field5279 is auth_password_field5280 username field5281 is auth_username5282 password field5283 when there is no associated secret variable5284 is nil5285 when there an associated secret variable5286 is redacted5287EE::LockHelper5288 #lock_file_link5289 there is no locks5290 returns Lock with no toltip5291 returns Lock button with tooltip5292 exact lock5293 returns Unlock with no toltip5294 returns Lock button with tooltip5295 upstream lock5296 returns Lock with no toltip5297 returns Lock button with tooltip5298 downstream lock5299 returns Lock with no toltip5300 returns Lock button with tooltip5301IncidentManagement::PendingEscalations::CreateService5302 feature not available5303 does nothing5304 feature available5305 creates an escalation for each rule for the policy5306 creates the escalations and queues the escalation process check5307 target is resolved5308 does nothing5309 when there is no escalation policy for the project5310 does nothing5311Clusters::EnvironmentsFinder#execute5312 current_user can read cluster environments5313 is expected to include #<Environment id: 9, project_id: 1284, name: "environment6", created_at: "2021-08-18 10:52:32.0752676...il, state: "available", slug: "environment6", auto_stop_at: nil, auto_delete_at: nil, tier: "other">5314 environment is not available5315 is expected not to include #<Environment id: 10, project_id: 1285, name: "environment7", created_at: "2021-08-18 10:52:32.765024... nil, state: "stopped", slug: "environment7", auto_stop_at: nil, auto_delete_at: nil, tier: "other">5316 current_user cannot read cluster environments5317 is expected to be empty5318Resolvers::TimeboxReportResolver5319 when timebox is a milestone5320 behaves like timebox time series5321 returns burnup chart data5322 when the service returns an error5323 raises a GraphQL exception5324 when timebox is an iteration5325 behaves like timebox time series5326 returns burnup chart data5327 when the service returns an error5328 raises a GraphQL exception5329Ci::ProcessPipelineService#execute5330 cross-project pipelines5331 creates a downstream cross-project pipeline5332AppSec::Dast::Profiles::Audit::UpdateService5333 #execute5334 creates audit events for the changed properties5335 uses names instead of IDs for the changed scanner and site profile messages5336 does not exceed the maximum permitted number of queries5337LicensesListEntity5338 behaves like report list5339 #as_json5340 with success build5341 with provided items5342 has array of items with status ok5343 with no items5344 has empty array of items with status no_items5345 with failed build5346 with authorized user5347 has job_path with status failed_job5348 without authorized user5349 has only status failed_job5350 with no build5351 has status job_not_set_up and no job_path5352HistoricalUserData::CsvService5353 License Information Header5354 License Key5355 shows the header title5356 shows the license key5357 Email5358 shows the header title5359 shows the license email5360 License Start Date5361 shows the header title5362 shows the license start date5363 License End Date5364 shows the header title5365 shows the license end date5366 Company5367 shows the header title5368 shows the license company5369 Generated At5370 shows the header title5371 shows the CSV generation time5372 User Count Table5373 shows the header for the user counts table5374 includes proper values for each column type5375Integrations::JiraSerializers::IssueEntity5376 returns the Jira issues attributes5377 with Jira Server configuration5378 returns the Jira Server profile URL5379 includes the Atlassian referrer on gitlab.com5380 with only url5381 returns URLs with the web url5382 with Jira Cloud configuration5383 returns the Jira Cloud profile URL5384 includes the Atlassian referrer on gitlab.com5385 without assignee5386 returns an empty array5387 without labels5388 returns an empty array5389Namespaces::InProductMarketingEmailsWorker#perform5390 in_product_marketing_emails_enabled: true, on_gitlab_dot_com: true, paid_license: true, executes_service: true5391 executes the email service5392 in_product_marketing_emails_enabled: true, on_gitlab_dot_com: true, paid_license: false, executes_service: true5393 executes the email service5394 in_product_marketing_emails_enabled: true, on_gitlab_dot_com: false, paid_license: true, executes_service: false5395 executes the email service5396 in_product_marketing_emails_enabled: true, on_gitlab_dot_com: false, paid_license: false, executes_service: true5397 executes the email service5398 in_product_marketing_emails_enabled: false, on_gitlab_dot_com: true, paid_license: true, executes_service: false5399 executes the email service5400 in_product_marketing_emails_enabled: false, on_gitlab_dot_com: true, paid_license: false, executes_service: false5401 executes the email service5402 in_product_marketing_emails_enabled: false, on_gitlab_dot_com: false, paid_license: true, executes_service: false5403 executes the email service5404 in_product_marketing_emails_enabled: false, on_gitlab_dot_com: false, paid_license: false, executes_service: false5405 executes the email service5406Projects::CleanupService5407 #execute5408 sends a Geo notification about the update on success5409 does not send a Geo notification if the update fails5410Todos::Destroy::ConfidentialEpicService5411 #execute5412 removes epic todos for users who can not access the confidential epic5413 when provided epic is not confidential5414 does not remove any todos5415EE::Gitlab::GonHelper5416 #add_gon_variables5417 includes ee exclusive settings5418 when GitLab.com5419 includes CustomersDot variables5420 #push_licensed_feature5421 no obj given5422 behaves like sets the licensed features flag5423 pushes the licensed feature flag to the frotnend5424 obj given5425 behaves like sets the licensed features flag5426 pushes the licensed feature flag to the frotnend5427Analytics::CycleAnalytics::StageFinder5428 when looking up in-memory default stage by name exists5429 is expected not to be persisted5430 is expected to eq "issue"5431 when in-memory default stage cannot be found5432 is expected to raise ActiveRecord::RecordNotFound5433 when persisted stage exists5434 is expected to be persisted5435 is expected to eq "Stage #4"5436 when persisted stage cannot be found5437 is expected to raise ActiveRecord::RecordNotFound5438UserAnalyticsEntity5439 has all the user attributes5440 fetches push events for the user from the request5441 fetches issues_created events for the user from the request5442 fetches issues_closed events for the user from the request5443 fetches merge_requests_created events for the user from the request5444 fetches merge_requests_merged events for the user from the request5445 fetches merge_requests_approved events for the user from the request5446 fetches total_events events for the user from the request5447 sets 0 as the total when there were no events for a type5448AppSec::Dast::SiteTokens::FindOrCreateService5449 execute5450 when on demand scan licensed feature is not available5451 communicates failure5452 when the feature is available5453 creates a new token5454 communicates success5455 when the token already exists5456 does not create a new token5457 includes it in the payload5458 when an existing validation exists5459 includes its status in the payload5460 when an invalid target_url is supplied5461 communicates failure5462 does not create a dast_site_validation5463AppSec::Dast::SiteProfiles::Audit::UpdateService5464 #execute5465 audits the changes in the given properties5466 omits the values for secret properties5467 omits the values for properties too long to be displayed5468 sorts properties that are arrays before comparing them5469Projects::MarkForDeletionService5470 with delayed delete feature turned on5471 marking project for deletion5472 marks project as archived and marked for deletion5473 marking project for deletion once again5474 does not change original date5475 audit events5476 saves audit event5477 with delayed delete feature turned off5478 marking project for deletion5479 does not change project attributes5480AllowedEmailDomain5481 relations5482 is expected to belong to group required:5483 .domain_names5484 returns the array of domain names5485 validations5486 is expected to validate that :domain cannot be empty/falsy5487 is expected to validate that :group_id cannot be empty/falsy5488 #valid domain5489 valid domain5490 succeeds5491 invalid domain5492 fails5493 domain from excluded list5494 fails5495 #allow_root_group_only5496 top-level group5497 succeeds5498 subgroup5499 fails5500 #email_matches_domain?5501 with matching domain5502 returns true5503 with not matching domain5504 returns false5505 #email_domain5506 returns formatted domain5507StatusPage::PublishService5508 #execute5509 publish details5510 when upload succeeds5511 uploads incident details and list5512 behaves like an incident management tracked event5513 .track_event5514 tracks the event using redis5515 when upload fails5516 propagates the exception5517 unpublish details5518 when unpublish succeeds5519 unpublishes incident details and uploads incident list5520 behaves like does not track incident management event5521 does not track the event5522 when unpublish service responses with error5523 returns the response5524 publish list5525 when upload fails5526 returns error response5527 with unrelated issue5528 returns error issue not found5529 when user cannot publish5530 returns error missing publish permission5531Gitlab::Ci::Config5532 with required instance template5533 processes the required includes5534 with security orchestration policy5535 when feature is not licensed5536 does not modify the config5537 when feature is licensed5538 when feature is not enabled5539 does not modify the config5540 when feature is enabled5541 when policy is not applicable on branch from the pipeline5542 does not modify the config5543 when policy is not applicable on branch from the pipeline5544 when DAST profiles are not found5545 adds a job with error message5546 when DAST profiles are found5547 extends config with additional jobs5548 when source is ondemand_dast_scan5549 does not modify the config5550Analytics::RefreshApprovalsData5551 #execute5552 updates first_approved_at5553 when first_approved_at is already present5554 does not change first_approved_at5555 updates first_approved_at if forced5556 when no merge request metric is present5557 creates one5558Gitlab::CIDR5559 validation5560 raises an exception when an octet is invalid5561 raises an exception when a bitmask is invalid5562 raises an exception when one IP from a set is invalid5563 matching5564 values: "192.1.1.1", ip: "192.1.1.1", match: true5565 is expected to eq true5566 values: "192.1.1.1, 192.1.2.1", ip: "192.1.2.1", match: true5567 is expected to eq true5568 values: "192.1.1.0/24", ip: "192.1.1.223", match: true5569 is expected to eq true5570 values: "192.1.0.0/16", ip: "192.1.223.223", match: true5571 is expected to eq true5572 values: "192.1.0.0/16, 192.1.2.0/24", ip: "192.1.2.223", match: true5573 is expected to eq true5574 values: "192.1.0.0/16", ip: "192.2.1.1", match: false5575 is expected to eq false5576 values: "192.1.0.1", ip: "192.2.1.1", match: false5577 is expected to eq false5578EE::Namespace::RootStorageStatistics5579 #recalculate!5580 when namespace belongs to a group5581 aggregates namespace statistics5582 works when there are no namespace statistics5583 when namespace belong to a user5584 does not aggregate namespace statistics5585DescriptionVersion5586 associations5587 is expected to belong to epic required:5588 validations5589 is valid when epic_id is set5590 #previous_version5591 returns the previous version for the same issuable5592 #delete!5593 expires issuable etag cache5594 when start_id is not present5595 only delayed deletes description_version5596 when start_id is present5597 delayed deletes description versions of same issuable up to start_id5598GitlabSubscriptions::FetchSubscriptionPlansService5599 #execute5600 when successfully fetching plans data5601 returns parsed JSON5602 uses only the plan within the cache key name5603 with pnp_subscription_plan_cache_key flag disabled5604 returns a new cache key so the cache is busted5605 with given namespace_id5606 returns parsed JSON5607 uses the namespace id within the cache key name5608 when failing to fetch plans data5609 logs failure5610 returns nil5611 does not cache the result5612Projects::Operations::UpdateService5613 #execute5614 status page setting5615 with valid params5616 with an existing setting5617 updates the setting5618 with aws key and secret blank5619 destroys the status_page_setting entry in DB5620 with not all keys blank5621 returns a validation error5622 without an existing setting5623 creates a setting5624Analytics::CycleAnalytics::Stages::DeleteService5625 behaves like permission check for Value Stream Analytics Stage services5626 when user has no access5627 is expected to be error5628 is expected to eq :forbidden5629 when license is missing5630 is expected to be error5631 is expected to eq :forbidden5632 when persisted stage is given5633 is expected to be success5634 deletes the stage5635 disallows deletion when default stage is given5636 is expected not to be success5637 is expected to eq :forbidden5638BulkImports::Groups::Pipelines::IterationsPipeline5639 #run5640 imports group iterations5641 #load5642 creates the iteration5643 when user is not authorized to create the milestone5644 raises NotAllowedError5645 pipeline parts5646 is expected to includes the BulkImports::Pipeline module5647 is expected to includes the BulkImports::Pipeline::Runner module5648 has extractors5649 has transformers5650Members::UpdateService5651 when current user can update the given member5652 behaves like logs an audit event5653 is expected to change `AuditEvent.count` by 15654 behaves like logs an audit event5655 is expected to change `AuditEvent.count` by 15656Gitlab::Elastic::Client5657 .build5658 without credentials5659 makes unsigned requests5660 does not set request timeout in transport5661 with client_request_timeout in config5662 sets request timeout in transport5663 with retry_on_failure5664 retry_on_failure: nil, client_retry: 05665 sets retry in transport5666 retry_on_failure: false, client_retry: 05667 sets retry in transport5668 retry_on_failure: true, client_retry: true5669 sets retry in transport5670 retry_on_failure: 10, client_retry: 105671 sets retry in transport5672 with AWS IAM static credentials5673 signs_requests5674 .resolve_aws_credentials5675 when the AWS IAM static credentials are valid5676 returns credentials from static credentials without making an HTTP request5677 when the AWS IAM static credentials are invalid5678 when aws sdk provides credentials5679 return the credentials5680 when aws sdk does not provide credentials5681 return the credentials5682 when Aws::CredentialProviderChain returns unset credentials5683 returns nil5684 .aws_credential_provider5685 when Aws::CredentialProviderChain returns set credentials5686 returns credentials5687 when Aws::CredentialProviderChain returns nil5688 returns nil5689Gitlab::Audit::Events::Preloader5690 .preload!5691 returns an ActiveRecord::Relation5692 preloads associated records5693 #find_each5694 yields a list audit events5695 loads audit events in batches with preloaded associated records5696Boards::EpicUserPreference5697 associations5698 is expected to belong to user required:5699 is expected to belong to board required:5700 is expected to belong to epic required:5701 validations5702 is expected to validate that :user is case-sensitively unique within the scope of :board_id and :epic_id5703 scopes5704 .for_boards_and_epics5705 returns user board epic preferences for the given boards and epics5706Groups::ScheduleBulkRepositoryShardMovesService5707 behaves like moves repository shard in bulk5708 #execute5709 schedules container repository storage moves5710 read-only repository5711 does not get scheduled5712 .enqueue5713 defers to the worker5714Types::VulnerabilityScannerType5715 is expected to have graphql fields :id, :name, :external_id, :vendor, and :report_type5716 is expected to require graphql authorizations :read_vulnerability_scanner5717Verify/Browser-Performance.gitlab-ci.yml5718 the created pipeline5719 has no errors5720 on master5721 behaves like browser_performance job on tag or branch5722 by default5723 on another branch5724 behaves like browser_performance job on tag or branch5725 by default5726 on tag5727 behaves like browser_performance job on tag or branch5728 by default5729 on merge request5730 has no jobs5731Resolvers::IncidentManagement::OncallShiftsResolver5732 is expected to have nullable GraphQL type IncidentManagementOncallShiftConnection5733 returns on-call schedules5734 when an error occurs while finding shifts5735 raises ResourceNotAvailable error5736Elastic::Latest::CustomLanguageAnalyzers5737 .custom_analyzers_mappings5738 returns correct structure5739 .custom_analyzers_fields5740 smartcn_enabled: false, kuromoji_enabled: false, expected_result: {}5741 returns correct config5742 smartcn_enabled: true, kuromoji_enabled: false, expected_result: {:smartcn=>{:analyzer=>"smartcn", :type=>:text}}5743 returns correct config5744 smartcn_enabled: false, kuromoji_enabled: true, expected_result: {:kuromoji=>{:analyzer=>"kuromoji", :type=>:text}}5745 returns correct config5746 smartcn_enabled: true, kuromoji_enabled: true, expected_result: {:smartcn=>{:analyzer=>"smartcn", :type=>:text}, :kuromoji=>{:analyzer=>"kuromoji", :type=>:text}}5747 returns correct config5748 .add_custom_analyzers_fields5749 smartcn_enabled: false, kuromoji_enabled: false, smartcn_search: false, kuromoji_search: false, expected_additional_fields: []5750 returns correct fields5751 smartcn_enabled: false, kuromoji_enabled: false, smartcn_search: true, kuromoji_search: true, expected_additional_fields: []5752 returns correct fields5753 smartcn_enabled: true, kuromoji_enabled: true, smartcn_search: false, kuromoji_search: false, expected_additional_fields: []5754 returns correct fields5755 smartcn_enabled: true, kuromoji_enabled: true, smartcn_search: true, kuromoji_search: false, expected_additional_fields: ["title.smartcn"]5756 returns correct fields5757 smartcn_enabled: true, kuromoji_enabled: true, smartcn_search: false, kuromoji_search: true, expected_additional_fields: ["title.kuromoji"]5758 returns correct fields5759 smartcn_enabled: true, kuromoji_enabled: true, smartcn_search: true, kuromoji_search: true, expected_additional_fields: ["title.smartcn", "title.kuromoji"]5760 returns correct fields5761Elastic::Latest::GitInstanceProxy5762 .methods_for_all_write_targets5763 contains extra method5764 #es_parent5765 contains project id5766 #elastic_search5767 provides repository_id if not provided5768 uses provided repository_id5769 #elastic_search_as_found_blob5770 provides repository_id if not provided5771 uses provided repository_id5772 #delete_index_for_commits_and_blobs5773 is forwarded to all write targets5774UsersOpsDashboardProjects::DestroyService5775 #execute5776 with an added project5777 removes the project5778 returns the removed project5779 without projects added5780 does not remove the project5781 returns nil5782projects/security/policies/index5783 renders Vue app root5784 passes project's full path5785 passes documentation URL5786Resolvers::Vulnerabilities::IssueLinksResolver5787 #ready?5788 when the link_type filter is given but is not `CREATED` or `RELATED`5789 when the filter is a string5790 is expected to raise Gitlab::Graphql::Errors::ArgumentError with "Provide a valid vulnerability issue link type"5791 when the filter is a number5792 is expected to raise Gitlab::Graphql::Errors::ArgumentError5793 when the filter is a symbol5794 is expected to raise Gitlab::Graphql::Errors::ArgumentError5795 #resolve5796 when there is no filter given5797 is expected to contain exactly #<Vulnerabilities::IssueLink id: 11, vulnerability_id: 58, issue_id: 489, link_type: "related", created_at: "2021-08-18 10:53:28.194164016 +0000", updated_at: "2021-08-18 10:53:28.194164016 +0000"> and #<Vulnerabilities::IssueLink id: 12, vulnerability_id: 58, issue_id: 490, link_type: "created", created_at: "2021-08-18 10:53:28.541758168 +0000", updated_at: "2021-08-18 10:53:28.541758168 +0000">5798 is expected not to raise Exception5799 when the link_type filter is given5800 when the filter is `CREATED`5801 is expected to contain exactly #<Vulnerabilities::IssueLink id: 12, vulnerability_id: 58, issue_id: 490, link_type: "created", created_at: "2021-08-18 10:53:28.541758168 +0000", updated_at: "2021-08-18 10:53:28.541758168 +0000">5802 is expected not to raise Exception5803 when the filter is `RELATED`5804 is expected to contain exactly #<Vulnerabilities::IssueLink id: 11, vulnerability_id: 58, issue_id: 489, link_type: "related", created_at: "2021-08-18 10:53:28.194164016 +0000", updated_at: "2021-08-18 10:53:28.194164016 +0000">5805 is expected not to raise Exception5806Resolvers::AppSec::Dast::ProfileResolver5807 is expected to have nullable GraphQL type DastProfileConnection5808 when resolving a single DAST profile5809 when the DAST profile exists5810 is expected to eq #<Dast::Profile id: 3, project_id: 1371, dast_site_profile_id: 61, dast_scanner_profile_id: 9, create...8 10:53:29.314269099 +0000", name: "Tag Transmitter - 3", description: [FILTERED], branch_name: nil>5811 when the DAST profile does not exist5812 is expected to be nil5813 when resolving multiple DAST profiles5814 is expected to contain exactly #<Dast::Profile id: 3, project_id: 1371, dast_site_profile_id: 61, dast_scanner_profile_id: 9, create...8 10:53:29.314269099 +0000", name: "Tag Transmitter - 3", description: [FILTERED], branch_name: nil> and #<Dast::Profile id: 4, project_id: 1371, dast_site_profile_id: 62, dast_scanner_profile_id: 10, creat...1-08-18 10:53:29.394245496 +0000", name: "HD Bridge - 4", description: [FILTERED], branch_name: nil>5815 when the feature is disabled5816 is expected to be empty5817 when the user does not have access5818 is expected to be empty5819Gitlab::StatusPage::Storage5820 MAX_KEYS_PER_PAGE times MAX_PAGES establishes upload limit5821 .details_path5822 is expected to eq "data/incident/123.json"5823 .details_url5824 when issue is not published5825 is expected to be nil5826 with a published incident5827 without a status page setting5828 is expected to be nil5829 when status page setting is disabled5830 is expected to be nil5831 when status page setting is enabled5832 is expected to eq "https://status.gitlab.com/#/data%2Fincident%2F1.json"5833 when status page setting does not include a url5834 is expected to be nil5835 .list_path5836 is expected to eq "data/list.json"5837 .upload_path5838 is expected to eq "data/incident/2/50b7a196557cf72a98e86a7ab4b1ac3b/screenshot.png"5839 .uploads_path5840 is expected to eq "data/incident/2/"5841StorageShard5842 .all5843 returns an array of StorageShard objects5844 .build_digest5845 returns SHA1 digest for the current configuration5846Gitlab::Prometheus::Queries::AdditionalMetricsDeploymentQuery5847 queries using specific time5848 with custom metrics5849 without common metrics5850 return group data for custom metric5851 with common metrics5852 return group data for custom metric5853IncidentManagement::Incidents::UploadMetricService5854 #execute5855 user does not have permissions5856 behaves like no metric saved, an error given5857 returns an error and does not upload5858 user has permissions5859 behaves like no metric saved, an error given5860 returns an error and does not upload5861 with license5862 behaves like uploads the metric5863 uploads the metric and returns a success5864 no url given5865 behaves like uploads the metric5866 uploads the metric and returns a success5867 record invalid5868 behaves like no metric saved, an error given5869 returns an error and does not upload5870 user is guest5871 behaves like no metric saved, an error given5872 returns an error and does not upload5873 guest is author of issuable5874 behaves like uploads the metric5875 uploads the metric and returns a success5876IssuableSla5877 associations5878 is expected to belong to issue required: true5879 validations5880 is expected to validate that :due_at cannot be empty/falsy5881 scopes5882 .exceeded5883 is expected to contain exactly #<IssuableSla id: 5, issue_id: 494, due_at: "2021-08-18 09:53:34.071857370 +0000", label_applied: false, issuable_closed: false>5884 marked as issuable closed5885 is expected to be empty5886 due_at has not passed5887 is expected to be empty5888 label applied5889 is expected to be empty5890Gitlab::Ci::Config::Entry::DastConfiguration5891 validation5892 when both site and scanner configuration are present5893 behaves like a valid entry5894 #value5895 returns configuration5896 #valid?5897 is valid5898 when only the site profile is present5899 behaves like a valid entry5900 #value5901 returns configuration5902 #valid?5903 is valid5904 when only the scanner profile is present5905 behaves like a valid entry5906 #value5907 returns configuration5908 #valid?5909 is valid5910 when no keys are present5911 behaves like a valid entry5912 #value5913 returns configuration5914 #valid?5915 is valid5916 when entry value is not correct5917 #errors5918 when there is an unknown key present5919 reports error5920RequirementsManagement::ImportRequirementsCsvWorker5921 #perform5922 calls #execute on Requirements::ImportCsvService and destroys upload5923 behaves like an idempotent worker5924 is labeled as idempotent5925 performs multiple times sequentially without raising an exception5926Analytics::DevopsAdoption::EnabledNamespaces::DeleteService5927 deletes the enabled_namespace5928 authorizes for manage_devops_adoption5929 when deletion fails5930 returns error response5931 when user cannot manage enabled_namespaces for the namespace5932 returns forbidden error5933Analytics::DevopsAdoption::Snapshots::CreateService5934 persists the snapshot5935 when params are invalid5936 does not persist the snapshot5937AdjournedProjectDeletionWorker5938 #perform5939 executes destroying project5940 stops execution if user was deleted5941Security::SecurityOrchestrationPolicies::OnDemandScanPipelineConfigurationService5942 #execute5943 uses DastSiteProfilesFinder and DastScannerProfilesFinder to find DAST profiles within the project5944 delegates params creation to DastOnDemandScans::ParamsCreateService5945 fetches template content using ::TemplateFinder5946 returns prepared CI configuration with DAST On-Demand scans defined5947EE::SystemNoteMetadata5948 when action type is valid5949 is expected to be valid5950 when action type is valid5951 is expected to be valid5952 when action type is valid5953 is expected to be valid5954 when action type is valid5955 is expected to be valid5956IncidentManagement::OncallSchedulePolicy5957 rules5958 is expected to be disallowed :read_incident_management_oncall_schedule5959 when reporter5960 is expected to be allowed :read_incident_management_oncall_schedule5961 licensed feature disabled5962 is expected to be disallowed :read_incident_management_oncall_schedule5963Gitlab::Ci::Reports::Security::Locations::Dast5964 behaves like vulnerability location5965 #initialize5966 when all params are given5967 initializes an instance5968 param: :path5969 when param path is missing5970 raises an error5971 param: :method_name5972 when param method_name is missing5973 raises an error5974 #fingerprint5975 generates expected fingerprint5976 #fingerprint_path5977 generates expected fingerprint5978 #==5979 returns true when fingerprints are equal5980 returns false when fingerprints are different5981Types::Ci::RunnerType5982 is expected to eq "CiRunner"5983 includes the ee specific fields5984Gitlab::Analytics::CycleAnalytics::DataForDurationChart5985 #average_by_day5986DEPRECATION 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 block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/lib/gitlab/analytics/cycle_analytics/data_for_duration_chart_spec.rb:30)5987 returns average duration by day5988Ci::Sources::Project5989 Relations5990 is expected to belong to pipeline required: true5991 is expected to belong to source_project required: true5992 Validations5993 is expected to validate that :pipeline_id is case-sensitively unique within the scope of :source_project_id5994Issuable::DestroyService5995 #execute5996 when destroying an epic5997 records usage ping epic destroy event5998 behaves like service deleting todos5999 destroys associated todos asynchronously6000 behaves like service deleting label links6001 destroys associated label links asynchronously6002 when destroying other issuable type6003 does not track usage ping epic destroy event6004BlobHelper6005 #licenses_for_select6006 returns Group licenses when enabled6007 returns Instance licenses when enabled6008 returns no Group or Instance licenses when disabled6009IncidentManagement::PendingEscalations::ScheduleCheckCronWorker6010 #perform6011 schedules a job for each processable escalation6012Gitlab::Ci::Reports::LicenseScanning::Dependency6013 value equality6014 cannot add the same dependency to a set twice6015 is expected to eql #<Gitlab::Ci::Reports::LicenseScanning::Dependency:0x00007fbd49297ee0 @name="bundler", @package_manager=nil, @path=nil, @version=nil>6016 #blob_path_for6017 when a project, sha and path are provided6018 is expected to eql "/namespace1485/project1427/-/blob/b83d6e391c22777fca1ed3012fce84f633d7fed0/Gemfile.lock"6019 when a path is not available6020 is expected to be nil6021 when a project is not provided6022 is expected to eql "Gemfile.lock"6023 when a sha is not provided6024 is expected to eql "/namespace1487/project1429/-/blob/master/Gemfile.lock"6025Mutations::Boards::Lists::UpdateLimitMetrics6026 #ready?6027 raises an error if required arguments are missing6028 #resolve6029 with admin rights6030 updates the list as expected6031 returns the correct response6032 without admin rights6033 fails6034ExternalStatusChecks::DispatchService6035 #execute6036 service responds with success6037 is successful6038 passes back the http status code6039 service responds with error6040 is unsuccessful6041 passes back the http status code6042Dast::ProfilesPipeline6043 associations6044 is expected to belong to ci_pipeline class_name => Ci::Pipeline required: true6045 is expected to belong to dast_profile class_name => Dast::Profile required: true6046Mutations::Boards::EpicLists::Create6047 behaves like board lists create mutation6048 #ready?6049 raises an error if required arguments are missing6050 raises an error if too many required arguments are specified6051 #resolve6052 with proper permissions6053 backlog list6054 creates one and only one backlog6055 label list6056 creates a new label board list6057 when label not found6058 returns an error6059 without proper permissions6060 raises an error6061Gitlab::UsageDataCounters::LicensesList6062 behaves like a redis usage counter6063 .count(views)6064 increments the LicensesList views counter by 16065 .read(views)6066 returns the total number of views events6067 behaves like a redis usage counter with totals6068 totals6069 can report all totals6070 unknown events6071 cannot increment6072 cannot read6073Analytics::ProductivityAnalyticsRequestParams6074 validations6075 is valid6076 `merged_at` params6077 when `merged_before` is earlier than `merged_after`6078 is invalid6079 when `merged_after` is earlier than `productivity_analytics_start_date`6080 is invalid6081 when `merged_before` is earlier than `productivity_analytics_start_date`6082 is invalid6083 default values6084 `merged_before`6085 defaults to today date6086 `merged_after`6087 when `productivity_analytics_start_date` is within the last 30 days6088 defaults to `productivity_analytics_start_date`6089 when `productivity_analytics_start_date` older than 30 days6090 defaults to 30 days ago6091Gitlab::PathLocksFinder6092 returns correct lock information6093 #preload_for_paths6094 does not perform N + 1 requests6095Autocomplete::ProjectInvitedGroupsFinder6096 #execute6097 without a project ID6098 returns an empty relation6099 with a project ID6100 returns the groups invited to the project6101Dast::SiteProfilePresenter6102 #password6103 behaves like a DAST on-demand secret variable6104 when there is no associated secret variable6105 is expected to be nil6106 when there an associated secret variable6107 is redacted6108 #request_headers6109 behaves like a DAST on-demand secret variable6110 when there is no associated secret variable6111 is expected to be nil6112 when there an associated secret variable6113 is redacted6114Gitlab::Ci::Reports::LicenseScanning::ReportsComparer6115 #new_licenses6116 is expected to contain exactly "Apache 2.0"6117 #existing_licenses6118 is expected to contain exactly "MIT" and "BSD"6119 #removed_licenses6120 is expected to contain exactly "WTFPL"6121ElasticIndexBulkCronWorker6122 .perform6123 adds the elastic_bulk_count to the done log6124 indexing is not paused6125 executes the service under an exclusive lease6126 indexing is paused6127 does nothing if indexing is paused6128 behaves like worker with data consistency6129 .get_data_consistency_feature_flag_enabled?6130 returns true6131 .get_data_consistency6132 returns correct data consistency6133Analytics::DevopsAdoption::EnabledNamespaces::BulkFindOrCreateService6134 authorizes for manage_devops_adoption6135 returns existing enabled_namespaces for namespaces and creates new one if none exists6136 when the user cannot manage enabled_namespaces at least for one namespace6137 returns forbidden error6138ForkNamespaceEntity6139 exposes marked_for_deletion state6140DesignManagement::SaveDesignsService6141 #execute6142 when service is successful6143 calls repository#log_geo_updated_event6144 when service errors6145 does not call repository#log_geo_updated_event6146RequirementsManagement::ProcessRequirementsReportsWorker6147 #perform6148 build exists6149 processes requirements reports6150 build does not exist6151 does not store requirements reports6152EE::API::Entities::Vulnerability6153 contains vulnerability properties6154Groups::UpdateStatisticsService6155 #execute6156 when group is nil6157 does nothing6158 with an existing group6159 when namespace statistics exists for the group6160 uses the existing statistics and refreshes them6161 when namespace statistics does not exist for the group6162 creates the statistics and refreshes them6163Notes::PostProcessService6164 #execute6165 analytics6166 invokes Analytics::RefreshCommentsData6167Types::IssuableType6168 returns possible types6169 .resolve_type6170 resolves epics6171Gitlab::TreeSummary6172 #summarize (entries)6173 includes path locks in entries6174 when file_locks feature is unavailable6175 does not fill lock labels6176IncidentManagement::OncallScheduleHelper6177 #oncall_schedule_data6178 returns on-call schedule data6179Analytics::UsageTrends::Measurement6180 .identifier_query_mapping6181 is expected to include 116182 .identifier_min_max_queries6183 is expected to include 116184PersonalAccessTokens::Instance::UpdateLifetimeService6185 #execute6186 when we can obtain the lease6187 schedules the worker6188 when we can't obtain the lease6189 does not schedule the worker6190Types::IncidentManagement::OncallShiftType6191 is expected to eq "IncidentManagementOncallShift"6192 exposes the expected fields6193Integrations::Github::StatusNotifier6194 #notify6195 uses GitHub API to update status6196 passes optional params6197 uses access token6198 with blank api_endpoint6199 defaults to using GitHub.com API6200 with custom api_endpoint6201 uses provided API for requests6202Elastic::Latest::NoteConfig6203 .document_type6204 returns config6205 .settings6206 behaves like config settings return correct values6207 returns config6208 sets correct shard/replica settings6209 .mappings6210 returns config6211EpicEntity6212 has Issuable attributes6213 has epic specific attributes6214compliance_management/compliance_framework/_compliance_framework_badge.html.haml6215 when show6216 renders a badge6217 when not show6218 does not render any badge6219ResourceEvents::ChangeLabelsService6220 .execute6221 when adding a label6222 tracks the label change6223 when removing a label6224 tracks the label change6225 when both adding and removing labels6226 tracks the label change6227Gitlab::Favicon6228 .main6229 has green favicon for development6230Types::ScannedResourceType6231 is expected to eq "ScannedResource"6232 has specific fields6233Types::VulnerabilityLocation::DependencyScanningType6234 is expected to have graphql fields :dependency, :file, and :blob_path6235Gitlab::UsageDataCounters::NetworkPolicyCounter6236 .add6237 increases drops and forwards counters6238Mutations::GitlabSubscriptions::Activate6239 #resolve6240 when successful6241 adds the issue to the epic6242 when failure6243 returns errors6244 when non-admin6245 raises errors6246Gitlab::Patch::DrawRoute6247 evaluates EE only routes6248 evaluates CE and EE routes6249 raises an error when nothing is drawn6250Gitlab::Sitemaps::SitemapFile6251 #render6252 returns if no elements has been provided6253 generates a valid sitemap file6254 #save6255 returns if no elements has been provided6256 stores the content in the public root folder6257Evidences::BuildArtifactEntity6258 exposes the artifacts url6259Issues::AfterCreateService6260 #execute6261 when issue sla is available6262 calls IncidentManagement::Incidents::CreateSlaService6263 when issue sla is not available6264 does not call IncidentManagement::Incidents::CreateSlaService6265Snippet6266 #repository_size_checker6267 when snippet belongs to a project6268 sets up size checker6269 when snippet without a project6270 sets up size checker6271EE::Projects::Security::ConfigurationHelper6272 when user can access discover security6273 is expected to eq "/namespace1511/project1452/-/security/discover"6274 when user can not access discover security6275 is expected to eq "https://about.gitlab.com/pricing/"6276EE::Types::Notes::NoteableInterface6277 .resolve_type6278 knows the correct type for objects6279Types::EpicStateEnum6280 is expected to eq "EpicState"6281 exposes all the existing epic states6282Types::VulnerabilitySeveritiesCountType6283 is expected to have graphql fields "info", "unknown", "low", "medium", "high", and "critical"6284Gitlab::SubscriptionPortal::Client6285 is expected to includes the Gitlab::SubscriptionPortal::Clients::Graphql module6286 is expected to includes the Gitlab::SubscriptionPortal::Clients::Rest module6287Types::VulnerabilityDetails::ListType6288 is expected to have graphql fields :name, :description, :fieldName, and :items6289Gitlab::Insights::Serializers::Chartjs::BarTimeSeriesSerializer6290 returns the correct format6291EE::Gitlab::Auth::Ldap::AccessLevels6292 #set6293 when access_levels is empty6294 is expected to eq {"uid=janedoe,ou=users,dc=example,dc=com"=>30, "uid=johndoe,ou=users,dc=example,dc=com"=>30}6295 when access_hash has existing entries6296 keeps the higher of all access values6297Types::DoraType6298 has the expected fields6299 metrics field6300 is expected to have graphql resolver Resolvers::DoraMetricsResolver6301GroupSaml::SamlProvider::CreateService6302 updates SAML provider with given params6303ProtectedBranch::UnprotectAccessLevel6304 is expected to validate that :access_level is either ‹40›, ‹30›, or ‹0›6305Knapsack report was generated. Preview:6306{6307 "ee/spec/lib/ee/gitlab/usage_data_spec.rb": 215.170296432,6308 "ee/spec/models/ee/namespace_spec.rb": 107.48086434799995,6309 "ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb": 77.82279534700001,6310 "ee/spec/models/approval_state_spec.rb": 39.10846093100008,6311 "ee/spec/services/epics/tree_reorder_service_spec.rb": 69.10373423700003,6312 "ee/spec/models/epic_issue_spec.rb": 77.27700796800002,6313 "ee/spec/services/vulnerability_feedback/create_service_spec.rb": 57.380521387000044,6314 "ee/spec/services/epic_links/create_service_spec.rb": 49.580635863,6315 "ee/spec/services/boards/lists/update_service_spec.rb": 44.12471146900009,6316 "ee/spec/lib/banzai/filter/references/iteration_reference_filter_spec.rb": 32.266227714000024,6317 "ee/spec/services/vulnerabilities/dismiss_service_spec.rb": 39.03415761899987,6318 "ee/spec/views/layouts/nav/sidebar/_group.html.haml_spec.rb": 28.704154575999837,6319 "ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb": 12.386996367999927,6320 "ee/spec/services/boards/create_service_spec.rb": 25.61722720900002,6321 "ee/spec/services/merge_requests/push_options_handler_service_spec.rb": 22.583476305999966,6322 "ee/spec/lib/ee/gitlab/elastic/helper_spec.rb": 24.017675528999916,6323 "ee/spec/lib/gitlab/ci/parsers/license_compliance/license_scanning_spec.rb": 10.012652727999921,6324 "ee/spec/models/ci/minutes/quota_spec.rb": 10.854143415999943,6325 "ee/spec/lib/analytics/devops_adoption/snapshot_calculator_spec.rb": 15.482011922000083,6326 "ee/spec/services/ci/sync_reports_to_approval_rules_service_spec.rb": 15.07823375099997,6327 "ee/spec/services/ci/minutes/update_build_minutes_service_spec.rb": 14.623717353000075,6328 "ee/spec/lib/gitlab/ci/reports/license_scanning/license_spec.rb": 9.71354908100011,6329 "ee/spec/workers/update_all_mirrors_worker_spec.rb": 9.880432163999785,6330 "ee/spec/services/vulnerability_external_issue_links/create_service_spec.rb": 14.717447794000009,6331 "ee/spec/models/dast_site_profile_spec.rb": 7.9358296699999755,6332 "ee/spec/services/ee/boards/lists/create_service_spec.rb": 5.85195880099991,6333 "ee/spec/services/merge_trains/create_pipeline_service_spec.rb": 13.105967245000102,6334 "ee/spec/services/ee/issuable/bulk_update_service_spec.rb": 10.23532861600006,6335 "ee/spec/models/vulnerabilities/identifier_spec.rb": 5.869581847000063,6336 "ee/spec/graphql/ee/resolvers/issues_resolver_spec.rb": 8.793606956000076,6337 "ee/spec/services/ci/create_pipeline_service_spec.rb": 10.950422305999837,6338 "ee/spec/services/epic_links/destroy_service_spec.rb": 8.00863842700005,6339 "ee/spec/lib/gitlab/ci/templates/dast_gitlab_ci_yaml_spec.rb": 8.672088506999899,6340 "ee/spec/models/software_license_spec.rb": 4.335009320000154,6341 "ee/spec/services/app_sec/dast/site_profiles/create_service_spec.rb": 5.65901900200015,6342 "ee/spec/graphql/resolvers/dora_metrics_resolver_spec.rb": 5.522409814000184,6343 "ee/spec/presenters/epic_presenter_spec.rb": 7.535768814999983,6344 "ee/spec/views/shared/_mirror_status.html.haml_spec.rb": 4.71354750699993,6345 "ee/spec/models/boards/epic_list_spec.rb": 5.000552491999997,6346 "ee/spec/models/namespace_statistics_spec.rb": 4.484373753999989,6347 "ee/spec/graphql/mutations/issues/set_weight_spec.rb": 5.177111988999968,6348 "ee/spec/models/resource_weight_event_spec.rb": 4.87421469700007,6349 "ee/spec/lib/gitlab/auth/ldap/person_spec.rb": 3.8693486690001464,6350 "ee/spec/lib/gitlab/auth/group_saml/sso_enforcer_spec.rb": 3.8339302330000464,6351 "ee/spec/models/packages/package_file_spec.rb": 5.74020238099979,6352 "ee/spec/lib/gitlab/auth/group_saml/session_enforcer_spec.rb": 1.7198709200001758,6353 "ee/spec/lib/gitlab/import_export/group/relation_factory_spec.rb": 3.704356639000025,6354 "ee/spec/graphql/mutations/dast/profiles/update_spec.rb": 6.287951784000143,6355 "ee/spec/services/groups/participants_service_spec.rb": 4.5996670800000174,6356 "ee/spec/serializers/vulnerabilities/finding_reports_comparer_entity_spec.rb": 5.153998683000054,6357 "ee/spec/workers/set_user_status_based_on_user_cap_setting_worker_spec.rb": 3.238390815999992,6358 "ee/spec/graphql/mutations/incident_management/oncall_rotation/update_spec.rb": 3.942371390000062,6359 "ee/spec/finders/scim_finder_spec.rb": 1.0037382079999588,6360 "ee/spec/serializers/status_page/incident_comment_entity_spec.rb": 2.8240649859999394,6361 "ee/spec/workers/admin_emails_worker_spec.rb": 4.251270409999961,6362 "ee/spec/lib/gitlab/code_owners/entry_spec.rb": 2.1012695080000867,6363 "ee/spec/models/analytics/cycle_analytics/group_level_spec.rb": 4.626417947000164,6364 "ee/spec/policies/issuable_policy_spec.rb": 3.1149310519999744,6365 "ee/spec/services/vulnerability_exports/exporters/csv_service_spec.rb": 5.379992801000071,6366 "ee/spec/services/incident_management/oncall_schedules/update_service_spec.rb": 2.7213778770001227,6367 "ee/spec/lib/analytics/group_activity_calculator_spec.rb": 2.9089479860001575,6368 "ee/spec/graphql/types/dast/site_profile_auth_type_spec.rb": 1.425600945000042,6369 "ee/spec/helpers/ee/lock_helper_spec.rb": 3.136259318999919,6370 "ee/spec/services/incident_management/pending_escalations/create_service_spec.rb": 0.988729985999953,6371 "ee/spec/finders/clusters/environments_finder_spec.rb": 2.1897090679999565,6372 "ee/spec/graphql/resolvers/timebox_report_resolver_spec.rb": 0.7421413740000844,6373 "ee/spec/services/ci/process_pipeline_service_spec.rb": 3.810419172000138,6374 "ee/spec/services/app_sec/dast/profiles/audit/update_service_spec.rb": 2.787099699999999,6375 "ee/spec/serializers/licenses_list_entity_spec.rb": 2.824780475000125,6376 "ee/spec/services/historical_user_data/csv_service_spec.rb": 0.7503107640000053,6377 "ee/spec/serializers/integrations/jira_serializers/issue_entity_spec.rb": 0.7276563959999294,6378 "ee/spec/workers/ee/namespaces/in_product_marketing_emails_worker_spec.rb": 0.46559712599992054,6379 "ee/spec/services/projects/cleanup_service_spec.rb": 2.600682769999821,6380 "ee/spec/services/todos/destroy/confidential_epic_service_spec.rb": 4.2860707370000455,6381 "ee/spec/lib/ee/gitlab/gon_helper_spec.rb": 0.5857817319999867,6382 "ee/spec/finders/analytics/cycle_analytics/stage_finder_spec.rb": 0.42774697099980585,6383 "ee/spec/serializers/user_analytics_entity_spec.rb": 0.6635317330001271,6384 "ee/spec/services/app_sec/dast/site_tokens/find_or_create_service_spec.rb": 0.9131536849999975,6385 "ee/spec/services/app_sec/dast/site_profiles/audit/update_service_spec.rb": 0.99078317600015,6386 "ee/spec/services/projects/mark_for_deletion_service_spec.rb": 1.5162977449999744,6387 "ee/spec/models/allowed_email_domain_spec.rb": 1.1778857339998012,6388 "ee/spec/services/status_page/publish_service_spec.rb": 1.3897891500000696,6389 "ee/spec/lib/ee/gitlab/ci/config_spec.rb": 2.340914460000022,6390 "ee/spec/lib/analytics/refresh_approvals_data_spec.rb": 2.3692715370000315,6391 "ee/spec/lib/gitlab/cidr_spec.rb": 0.3911318850000498,6392 "ee/spec/models/ee/namespace/root_storage_statistics_spec.rb": 1.0820959049999601,6393 "ee/spec/models/ee/description_version_spec.rb": 1.9283279379999385,6394 "ee/spec/services/gitlab_subscriptions/fetch_subscription_plans_service_spec.rb": 0.3232195620000766,6395 "ee/spec/services/projects/operations/update_service_spec.rb": 1.2469779279999784,6396 "ee/spec/services/analytics/cycle_analytics/stages/delete_service_spec.rb": 0.9482236229998762,6397 "ee/spec/lib/bulk_imports/groups/pipelines/iterations_pipeline_spec.rb": 1.4660553559999698,6398 "ee/spec/services/ee/members/update_service_spec.rb": 1.934777302999919,6399 "ee/spec/lib/gitlab/elastic/client_spec.rb": 0.7213390440001604,6400 "ee/spec/lib/gitlab/audit/events/preloader_spec.rb": 0.5077985739999349,6401 "ee/spec/models/boards/epic_user_preference_spec.rb": 2.430998337000119,6402 "ee/spec/services/groups/schedule_bulk_repository_shard_moves_service_spec.rb": 0.5978471900000386,6403 "ee/spec/graphql/types/vulnerability_scanner_type_spec.rb": 0.6803243059998749,6404 "ee/spec/lib/gitlab/ci/templates/Verify/browser_performance_testing_gitlab_ci_yaml_spec.rb": 2.253698326000176,6405 "ee/spec/graphql/resolvers/incident_management/oncall_shifts_resolver_spec.rb": 0.9633029419999275,6406 "ee/spec/lib/elastic/latest/custom_language_analyzers_spec.rb": 0.4714585660001376,6407 "ee/spec/lib/elastic/latest/git_instance_proxy_spec.rb": 1.7714017610001065,6408 "ee/spec/services/users_ops_dashboard_projects/destroy_service_spec.rb": 1.409086200000047,6409 "ee/spec/views/projects/security/policies/index.html.haml_spec.rb": 0.9818332810000356,6410 "ee/spec/graphql/resolvers/vulnerabilities/issue_links_resolver_spec.rb": 1.4191047189999608,6411 "ee/spec/graphql/resolvers/app_sec/dast/profile_resolver_spec.rb": 0.9700987399999121,6412 "ee/spec/lib/gitlab/status_page/storage_spec.rb": 0.8578519870000036,6413 "ee/spec/models/storage_shard_spec.rb": 0.15005354300001272,6414 "ee/spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb": 1.4828905950000717,6415 "ee/spec/services/incident_management/incidents/upload_metric_service_spec.rb": 1.2276637380000466,6416 "ee/spec/models/issuable_sla_spec.rb": 0.7760846909998236,6417 "ee/spec/lib/gitlab/ci/config/entry/dast_configuration_spec.rb": 0.3800330209999174,6418 "ee/spec/workers/requirements_management/import_requirements_csv_worker_spec.rb": 1.0434693869999592,6419 "ee/spec/services/analytics/devops_adoption/enabled_namespaces/delete_service_spec.rb": 0.7633026119999613,6420 "ee/spec/services/analytics/devops_adoption/snapshots/create_service_spec.rb": 0.31157621400006974,6421 "ee/spec/workers/adjourned_project_deletion_worker_spec.rb": 0.7867924709998988,6422 "ee/spec/services/security/security_orchestration_policies/on_demand_scan_pipeline_configuration_service_spec.rb": 0.5809431909999603,6423 "ee/spec/models/ee/system_note_metadata_spec.rb": 0.29873584500001016,6424 "ee/spec/policies/incident_management/oncall_schedule_policy_spec.rb": 0.6865513660000033,6425 "ee/spec/lib/gitlab/ci/reports/security/locations/dast_spec.rb": 0.35249096200004715,6426 "ee/spec/graphql/types/ci/runner_type_spec.rb": 0.24257289799993487,6427 "ee/spec/lib/gitlab/analytics/cycle_analytics/data_for_duration_chart_spec.rb": 0.8107535789999929,6428 "ee/spec/models/ci/sources/project_spec.rb": 0.7552722220000305,6429 "ee/spec/services/ee/issuable/destroy_service_spec.rb": 0.8672413659999165,6430 "ee/spec/helpers/ee/blob_helper_spec.rb": 0.8043112389998441,6431 "ee/spec/workers/incident_management/pending_escalations/schedule_check_cron_worker_spec.rb": 0.9657295320000685,6432 "ee/spec/lib/gitlab/ci/reports/license_scanning/dependency_spec.rb": 0.5955112209999243,6433 "ee/spec/graphql/mutations/boards/lists/update_limit_metrics_spec.rb": 1.0475958479999008,6434 "ee/spec/services/external_status_checks/dispatch_service_spec.rb": 0.3568765820000408,6435 "ee/spec/models/dast/profiles_pipeline_spec.rb": 0.7746783610000421,6436 "ee/spec/graphql/mutations/boards/epic_lists/create_spec.rb": 0.8099023390000184,6437 "ee/spec/lib/gitlab/usage_data_counters/licenses_list_spec.rb": 0.2591925470001115,6438 "ee/spec/lib/analytics/productivity_analytics_request_params_spec.rb": 0.48030446600000687,6439 "ee/spec/lib/gitlab/path_locks_finder_spec.rb": 0.570477191000009,6440 "ee/spec/finders/autocomplete/project_invited_groups_finder_spec.rb": 0.5871225299999878,6441 "ee/spec/presenters/dast/site_profile_presenter_spec.rb": 0.6270137690000865,6442 "ee/spec/lib/gitlab/ci/reports/license_scanning/reports_comparer_spec.rb": 0.22307431900003394,6443 "ee/spec/workers/elastic_index_bulk_cron_worker_spec.rb": 0.37466495200010286,6444 "ee/spec/services/analytics/devops_adoption/enabled_namespaces/bulk_find_or_create_service_spec.rb": 1.1017509040000277,6445 "ee/spec/serializers/fork_namespace_entity_spec.rb": 0.5549045319999095,6446 "ee/spec/services/ee/design_management/save_designs_service_spec.rb": 0.9006601450000744,6447 "ee/spec/workers/requirements_management/process_requirements_reports_worker_spec.rb": 0.5047194940000281,6448 "ee/spec/lib/ee/api/entities/vulnerability_spec.rb": 1.1835406010000042,6449 "ee/spec/services/groups/update_statistics_service_spec.rb": 0.5424816530000953,6450 "ee/spec/services/ee/notes/post_process_service_spec.rb": 0.5077837250000812,6451 "ee/spec/graphql/ee/types/issuable_type_spec.rb": 0.23407092799993734,6452 "ee/spec/lib/gitlab/tree_summary_spec.rb": 0.773582991000012,6453 "ee/spec/helpers/incident_management/oncall_schedule_helper_spec.rb": 0.41516809899985674,6454 "ee/spec/models/ee/analytics/usage_trends/measurement_spec.rb": 0.1855403209999622,6455 "ee/spec/services/personal_access_tokens/instance/update_lifetime_service_spec.rb": 0.2221017279998705,6456 "ee/spec/graphql/types/incident_management/oncall_shift_type_spec.rb": 0.20779225000001134,6457 "ee/spec/models/integrations/github/status_notifier_spec.rb": 0.3445790619998661,6458 "ee/spec/lib/elastic/latest/note_config_spec.rb": 0.28687442600016766,6459 "ee/spec/serializers/epic_entity_spec.rb": 0.724344493000217,6460 "ee/spec/views/compliance_management/compliance_framework/_compliance_framework_badge.html.haml_spec.rb": 0.5629301310000301,6461 "ee/spec/services/ee/resource_events/change_labels_service_spec.rb": 0.6770960159999504,6462 "ee/spec/lib/gitlab/favicon_spec.rb": 0.1413047529999858,6463 "ee/spec/graphql/types/scanned_resource_type_spec.rb": 0.14297159300008389,6464 "ee/spec/graphql/types/vulnerability_location/dependency_scanning_type_spec.rb": 0.18800856000007116,6465 "ee/spec/lib/gitlab/usage_data_counters/network_policy_counter_spec.rb": 0.12568298399992273,6466 "ee/spec/graphql/mutations/gitlab_subscriptions/activate_spec.rb": 0.3890733900000214,6467 "ee/spec/lib/gitlab/patch/draw_route_spec.rb": 0.2465596380000079,6468 "ee/spec/lib/gitlab/sitemaps/sitemap_file_spec.rb": 0.23585653800000728,6469 "ee/spec/serializers/evidences/build_artifact_entity_spec.rb": 0.6502040369998667,6470 "ee/spec/services/ee/issues/after_create_service_spec.rb": 0.5168992639999033,6471 "ee/spec/models/snippet_spec.rb": 0.19656707999979517,6472 "ee/spec/helpers/ee/projects/security/configuration_helper_spec.rb": 0.4391877680000107,6473 "ee/spec/graphql/ee/types/notes/noteable_interface_spec.rb": 0.33742388299992854,6474 "ee/spec/graphql/types/epic_state_enum_spec.rb": 0.1616906320000453,6475 "ee/spec/graphql/types/vulnerability_severities_count_type_spec.rb": 0.18174095099993792,6476 "ee/spec/lib/gitlab/subscription_portal/client_spec.rb": 0.17265222199989694,6477 "ee/spec/graphql/types/vulnerability_details/list_type_spec.rb": 0.1677034619999631,6478 "ee/spec/lib/gitlab/insights/serializers/chartjs/bar_time_series_serializer_spec.rb": 0.2547296870000082,6479 "ee/spec/lib/ee/gitlab/auth/ldap/access_levels_spec.rb": 0.1341669630000979,6480 "ee/spec/graphql/types/dora_type_spec.rb": 0.15011115199990854,6481 "ee/spec/services/group_saml/saml_provider/create_service_spec.rb": 0.15734906199986654,6482 "ee/spec/models/protected_branch/unprotect_access_level_spec.rb": 0.190407871000161326483}6484Knapsack global time execution for tests: 21m 59s6485Finished in 22 minutes 2 seconds (files took 57.49 seconds to load)64862851 examples, 0 failures6487Wed 18 Aug 2021 10:54:19 AM UTC6489Not uploading cache ruby-gems-v1-4 due to policy6490Not uploading cache gitaly-ruby-gems-v1-4 due to policy6492Uploading artifacts...6493coverage/: found 5 matching files and directories 6494WARNING: crystalball/: no matching files 6495deprecations/: found 17 matching files and directories 6496knapsack/: found 3 matching files and directories 6497rspec_flaky/: found 4 matching files and directories 6498rspec_profiling/: found 1 matching files and directories 6499WARNING: tmp/capybara/: no matching files 6500tmp/memory_test/: found 2 matching files and directories 6501log/*.log: found 16 matching files and directories 6502Uploading artifacts as "archive" to coordinator... ok id=1512822022 responseStatus=201 Created token=pkjaLesB6503Uploading artifacts...6504junit_rspec.xml: found 1 matching files and directories 6505Uploading artifacts as "junit" to coordinator... ok id=1512822022 responseStatus=201 Created token=pkjaLesB6507Job succeeded